@coinbase/agentkit 0.8.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +373 -234
- package/dist/action-providers/cdp/cdpApiActionProvider.d.ts +15 -15
- package/dist/action-providers/cdp/cdpApiActionProvider.js +110 -63
- package/dist/action-providers/cdp/cdpApiActionProvider.test.js +205 -124
- package/dist/action-providers/cdp/index.d.ts +0 -1
- package/dist/action-providers/cdp/index.js +0 -1
- package/dist/action-providers/cdp/schemas.d.ts +9 -70
- package/dist/action-providers/cdp/schemas.js +12 -61
- package/dist/action-providers/cdp-legacy/index.d.ts +3 -0
- package/dist/action-providers/{cdp-v2 → cdp-legacy}/index.js +2 -1
- package/dist/action-providers/cdp-legacy/legacyCdpApiActionProvider.d.ts +45 -0
- package/dist/action-providers/cdp-legacy/legacyCdpApiActionProvider.js +130 -0
- package/dist/action-providers/cdp-legacy/legacyCdpApiActionProvider.test.js +146 -0
- package/dist/action-providers/{cdp/cdpWalletActionProvider.d.ts → cdp-legacy/legacyCdpWalletActionProvider.d.ts} +8 -8
- package/dist/action-providers/{cdp/cdpWalletActionProvider.js → cdp-legacy/legacyCdpWalletActionProvider.js} +14 -14
- package/dist/action-providers/{cdp/cdpWalletActionProvider.test.js → cdp-legacy/legacyCdpWalletActionProvider.test.js} +3 -3
- package/dist/action-providers/cdp-legacy/schemas.d.ts +91 -0
- package/dist/action-providers/cdp-legacy/schemas.js +77 -0
- package/dist/action-providers/erc20/erc20ActionProvider.js +1 -1
- package/dist/action-providers/index.d.ts +1 -1
- package/dist/action-providers/index.js +1 -1
- package/dist/action-providers/jupiter/jupiterActionProvider.test.js +2 -4
- package/dist/action-providers/x402/schemas.d.ts +58 -11
- package/dist/action-providers/x402/schemas.js +60 -8
- package/dist/action-providers/x402/x402ActionProvider.d.ts +33 -16
- package/dist/action-providers/x402/x402ActionProvider.js +203 -153
- package/dist/action-providers/x402/x402ActionProvider.test.js +78 -225
- package/dist/agentkit.d.ts +1 -0
- package/dist/agentkit.js +3 -2
- package/dist/wallet-providers/{cdpV2EvmWalletProvider.d.ts → cdpEvmWalletProvider.d.ts} +16 -7
- package/dist/wallet-providers/{cdpV2EvmWalletProvider.js → cdpEvmWalletProvider.js} +50 -39
- package/dist/wallet-providers/{cdpV2EvmWalletProvider.test.js → cdpEvmWalletProvider.test.js} +7 -7
- package/dist/wallet-providers/{cdpV2Shared.d.ts → cdpShared.d.ts} +15 -4
- package/dist/wallet-providers/cdpSmartWalletProvider.d.ts +115 -0
- package/dist/wallet-providers/cdpSmartWalletProvider.js +263 -0
- package/dist/wallet-providers/cdpSmartWalletProvider.test.js +287 -0
- package/dist/wallet-providers/{cdpV2SolanaWalletProvider.d.ts → cdpSolanaWalletProvider.d.ts} +16 -7
- package/dist/wallet-providers/{cdpV2SolanaWalletProvider.js → cdpSolanaWalletProvider.js} +43 -32
- package/dist/wallet-providers/{cdpV2SolanaWalletProvider.test.js → cdpSolanaWalletProvider.test.js} +7 -7
- package/dist/wallet-providers/index.d.ts +6 -6
- package/dist/wallet-providers/index.js +6 -6
- package/dist/wallet-providers/{smartWalletProvider.d.ts → legacyCdpSmartWalletProvider.d.ts} +3 -3
- package/dist/wallet-providers/{smartWalletProvider.js → legacyCdpSmartWalletProvider.js} +21 -21
- package/dist/wallet-providers/legacyCdpSmartWalletProvider.test.d.ts +1 -0
- package/dist/wallet-providers/{smartWalletProvider.test.js → legacyCdpSmartWalletProvider.test.js} +2 -2
- package/dist/wallet-providers/{cdpWalletProvider.d.ts → legacyCdpWalletProvider.d.ts} +15 -11
- package/dist/wallet-providers/{cdpWalletProvider.js → legacyCdpWalletProvider.js} +72 -70
- package/dist/wallet-providers/legacyCdpWalletProvider.test.d.ts +1 -0
- package/dist/wallet-providers/{cdpWalletProvider.test.js → legacyCdpWalletProvider.test.js} +10 -10
- package/package.json +3 -2
- package/dist/action-providers/cdp-v2/cdpApiV2ActionProvider.d.ts +0 -34
- package/dist/action-providers/cdp-v2/cdpApiV2ActionProvider.js +0 -98
- package/dist/action-providers/cdp-v2/index.d.ts +0 -2
- package/dist/action-providers/cdp-v2/schemas.d.ts +0 -11
- package/dist/action-providers/cdp-v2/schemas.js +0 -13
- package/dist/wallet-providers/cdpV2WalletProvider.d.ts +0 -35
- package/dist/wallet-providers/cdpV2WalletProvider.js +0 -42
- /package/dist/action-providers/{cdp → cdp-legacy}/constants.d.ts +0 -0
- /package/dist/action-providers/{cdp → cdp-legacy}/constants.js +0 -0
- /package/dist/action-providers/{cdp/cdpWalletActionProvider.test.d.ts → cdp-legacy/legacyCdpApiActionProvider.test.d.ts} +0 -0
- /package/dist/{wallet-providers/cdpV2EvmWalletProvider.test.d.ts → action-providers/cdp-legacy/legacyCdpWalletActionProvider.test.d.ts} +0 -0
- /package/dist/wallet-providers/{cdpV2SolanaWalletProvider.test.d.ts → cdpEvmWalletProvider.test.d.ts} +0 -0
- /package/dist/wallet-providers/{cdpV2Shared.js → cdpShared.js} +0 -0
- /package/dist/wallet-providers/{cdpWalletProvider.test.d.ts → cdpSmartWalletProvider.test.d.ts} +0 -0
- /package/dist/wallet-providers/{smartWalletProvider.test.d.ts → cdpSolanaWalletProvider.test.d.ts} +0 -0
|
@@ -10,9 +10,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var
|
|
13
|
+
var _CdpSolanaWalletProvider_connection, _CdpSolanaWalletProvider_serverAccount, _CdpSolanaWalletProvider_cdp, _CdpSolanaWalletProvider_network;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
15
|
+
exports.CdpSolanaWalletProvider = void 0;
|
|
16
16
|
const cdp_sdk_1 = require("@coinbase/cdp-sdk");
|
|
17
17
|
const web3_js_1 = require("@solana/web3.js");
|
|
18
18
|
const svm_1 = require("../network/svm");
|
|
@@ -20,28 +20,28 @@ const svmWalletProvider_1 = require("./svmWalletProvider");
|
|
|
20
20
|
/**
|
|
21
21
|
* A wallet provider that uses the Coinbase SDK.
|
|
22
22
|
*/
|
|
23
|
-
class
|
|
23
|
+
class CdpSolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
24
24
|
/**
|
|
25
|
-
* Constructs a new
|
|
25
|
+
* Constructs a new CdpSolanaWalletProvider.
|
|
26
26
|
*
|
|
27
|
-
* @param config - The configuration options for the
|
|
27
|
+
* @param config - The configuration options for the CdpSolanaWalletProvider.
|
|
28
28
|
*/
|
|
29
29
|
constructor(config) {
|
|
30
30
|
super();
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
__classPrivateFieldSet(this,
|
|
36
|
-
__classPrivateFieldSet(this,
|
|
37
|
-
__classPrivateFieldSet(this,
|
|
38
|
-
__classPrivateFieldSet(this,
|
|
31
|
+
_CdpSolanaWalletProvider_connection.set(this, void 0);
|
|
32
|
+
_CdpSolanaWalletProvider_serverAccount.set(this, void 0);
|
|
33
|
+
_CdpSolanaWalletProvider_cdp.set(this, void 0);
|
|
34
|
+
_CdpSolanaWalletProvider_network.set(this, void 0);
|
|
35
|
+
__classPrivateFieldSet(this, _CdpSolanaWalletProvider_serverAccount, config.serverAccount, "f");
|
|
36
|
+
__classPrivateFieldSet(this, _CdpSolanaWalletProvider_cdp, config.cdp, "f");
|
|
37
|
+
__classPrivateFieldSet(this, _CdpSolanaWalletProvider_connection, config.connection, "f");
|
|
38
|
+
__classPrivateFieldSet(this, _CdpSolanaWalletProvider_network, config.network, "f");
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
* Configures a new
|
|
41
|
+
* Configures a new CdpSolanaWalletProvider with a wallet.
|
|
42
42
|
*
|
|
43
43
|
* @param config - Optional configuration parameters
|
|
44
|
-
* @returns A Promise that resolves to a new
|
|
44
|
+
* @returns A Promise that resolves to a new CdpSolanaWalletProvider instance
|
|
45
45
|
* @throws Error if required environment variables are missing or wallet initialization fails
|
|
46
46
|
*/
|
|
47
47
|
static async configureWithWallet(config = {}) {
|
|
@@ -80,20 +80,31 @@ class CdpV2SolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
|
80
80
|
const serverAccount = await (config.address
|
|
81
81
|
? cdpClient.solana.getAccount({ address: config.address })
|
|
82
82
|
: cdpClient.solana.createAccount({ idempotencyKey }));
|
|
83
|
-
return new
|
|
83
|
+
return new CdpSolanaWalletProvider({
|
|
84
84
|
connection,
|
|
85
85
|
cdp: cdpClient,
|
|
86
86
|
serverAccount,
|
|
87
87
|
network,
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Exports the wallet.
|
|
92
|
+
*
|
|
93
|
+
* @returns The wallet's data.
|
|
94
|
+
*/
|
|
95
|
+
async exportWallet() {
|
|
96
|
+
return {
|
|
97
|
+
name: __classPrivateFieldGet(this, _CdpSolanaWalletProvider_serverAccount, "f").name,
|
|
98
|
+
address: __classPrivateFieldGet(this, _CdpSolanaWalletProvider_serverAccount, "f").address,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
90
101
|
/**
|
|
91
102
|
* Get the connection instance
|
|
92
103
|
*
|
|
93
104
|
* @returns The Solana connection instance
|
|
94
105
|
*/
|
|
95
106
|
getConnection() {
|
|
96
|
-
return __classPrivateFieldGet(this,
|
|
107
|
+
return __classPrivateFieldGet(this, _CdpSolanaWalletProvider_connection, "f");
|
|
97
108
|
}
|
|
98
109
|
/**
|
|
99
110
|
* Get the public key of the wallet
|
|
@@ -101,7 +112,7 @@ class CdpV2SolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
|
101
112
|
* @returns The wallet's public key
|
|
102
113
|
*/
|
|
103
114
|
getPublicKey() {
|
|
104
|
-
return new web3_js_1.PublicKey(__classPrivateFieldGet(this,
|
|
115
|
+
return new web3_js_1.PublicKey(__classPrivateFieldGet(this, _CdpSolanaWalletProvider_serverAccount, "f").address);
|
|
105
116
|
}
|
|
106
117
|
/**
|
|
107
118
|
* Get the address of the wallet
|
|
@@ -109,7 +120,7 @@ class CdpV2SolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
|
109
120
|
* @returns The base58 encoded address of the wallet
|
|
110
121
|
*/
|
|
111
122
|
getAddress() {
|
|
112
|
-
return __classPrivateFieldGet(this,
|
|
123
|
+
return __classPrivateFieldGet(this, _CdpSolanaWalletProvider_serverAccount, "f").address;
|
|
113
124
|
}
|
|
114
125
|
/**
|
|
115
126
|
* Get the network
|
|
@@ -117,7 +128,7 @@ class CdpV2SolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
|
117
128
|
* @returns The network
|
|
118
129
|
*/
|
|
119
130
|
getNetwork() {
|
|
120
|
-
return __classPrivateFieldGet(this,
|
|
131
|
+
return __classPrivateFieldGet(this, _CdpSolanaWalletProvider_network, "f");
|
|
121
132
|
}
|
|
122
133
|
/**
|
|
123
134
|
* Gets the name of the wallet provider.
|
|
@@ -125,7 +136,7 @@ class CdpV2SolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
|
125
136
|
* @returns The name of the wallet provider.
|
|
126
137
|
*/
|
|
127
138
|
getName() {
|
|
128
|
-
return "
|
|
139
|
+
return "cdp_solana_wallet_provider";
|
|
129
140
|
}
|
|
130
141
|
/**
|
|
131
142
|
* Sign a transaction
|
|
@@ -136,9 +147,9 @@ class CdpV2SolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
|
136
147
|
async signTransaction(transaction) {
|
|
137
148
|
const serializedTransaction = transaction.serialize();
|
|
138
149
|
const encodedSerializedTransaction = Buffer.from(serializedTransaction).toString("base64");
|
|
139
|
-
const signedTransaction = await __classPrivateFieldGet(this,
|
|
150
|
+
const signedTransaction = await __classPrivateFieldGet(this, _CdpSolanaWalletProvider_cdp, "f").solana.signTransaction({
|
|
140
151
|
transaction: encodedSerializedTransaction,
|
|
141
|
-
address: __classPrivateFieldGet(this,
|
|
152
|
+
address: __classPrivateFieldGet(this, _CdpSolanaWalletProvider_serverAccount, "f").address,
|
|
142
153
|
});
|
|
143
154
|
transaction.addSignature(this.getPublicKey(), Buffer.from(signedTransaction.signature, "base64"));
|
|
144
155
|
return transaction;
|
|
@@ -150,7 +161,7 @@ class CdpV2SolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
|
150
161
|
* @returns The signature
|
|
151
162
|
*/
|
|
152
163
|
async sendTransaction(transaction) {
|
|
153
|
-
const signature = await __classPrivateFieldGet(this,
|
|
164
|
+
const signature = await __classPrivateFieldGet(this, _CdpSolanaWalletProvider_connection, "f").sendTransaction(transaction);
|
|
154
165
|
await this.waitForSignatureResult(signature);
|
|
155
166
|
return signature;
|
|
156
167
|
}
|
|
@@ -172,7 +183,7 @@ class CdpV2SolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
|
172
183
|
* @returns The status
|
|
173
184
|
*/
|
|
174
185
|
async getSignatureStatus(signature, options) {
|
|
175
|
-
return __classPrivateFieldGet(this,
|
|
186
|
+
return __classPrivateFieldGet(this, _CdpSolanaWalletProvider_connection, "f").getSignatureStatus(signature, options);
|
|
176
187
|
}
|
|
177
188
|
/**
|
|
178
189
|
* Wait for signature receipt
|
|
@@ -181,8 +192,8 @@ class CdpV2SolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
|
181
192
|
* @returns The confirmation response
|
|
182
193
|
*/
|
|
183
194
|
async waitForSignatureResult(signature) {
|
|
184
|
-
const { blockhash, lastValidBlockHeight } = await __classPrivateFieldGet(this,
|
|
185
|
-
return __classPrivateFieldGet(this,
|
|
195
|
+
const { blockhash, lastValidBlockHeight } = await __classPrivateFieldGet(this, _CdpSolanaWalletProvider_connection, "f").getLatestBlockhash();
|
|
196
|
+
return __classPrivateFieldGet(this, _CdpSolanaWalletProvider_connection, "f").confirmTransaction({
|
|
186
197
|
signature: signature,
|
|
187
198
|
lastValidBlockHeight,
|
|
188
199
|
blockhash,
|
|
@@ -194,7 +205,7 @@ class CdpV2SolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
|
194
205
|
* @returns The balance of the wallet
|
|
195
206
|
*/
|
|
196
207
|
getBalance() {
|
|
197
|
-
return __classPrivateFieldGet(this,
|
|
208
|
+
return __classPrivateFieldGet(this, _CdpSolanaWalletProvider_connection, "f").getBalance(this.getPublicKey()).then(balance => BigInt(balance));
|
|
198
209
|
}
|
|
199
210
|
/**
|
|
200
211
|
* Gets the CDP client.
|
|
@@ -202,7 +213,7 @@ class CdpV2SolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
|
202
213
|
* @returns The CDP client.
|
|
203
214
|
*/
|
|
204
215
|
getClient() {
|
|
205
|
-
return __classPrivateFieldGet(this,
|
|
216
|
+
return __classPrivateFieldGet(this, _CdpSolanaWalletProvider_cdp, "f");
|
|
206
217
|
}
|
|
207
218
|
/**
|
|
208
219
|
* Transfer SOL from the wallet to another address
|
|
@@ -236,12 +247,12 @@ class CdpV2SolanaWalletProvider extends svmWalletProvider_1.SvmWalletProvider {
|
|
|
236
247
|
const tx = new web3_js_1.VersionedTransaction(web3_js_1.MessageV0.compile({
|
|
237
248
|
payerKey: this.getPublicKey(),
|
|
238
249
|
instructions: instructions,
|
|
239
|
-
recentBlockhash: (await __classPrivateFieldGet(this,
|
|
250
|
+
recentBlockhash: (await __classPrivateFieldGet(this, _CdpSolanaWalletProvider_connection, "f").getLatestBlockhash()).blockhash,
|
|
240
251
|
}));
|
|
241
252
|
const signature = await this.signAndSendTransaction(tx);
|
|
242
253
|
await this.waitForSignatureResult(signature);
|
|
243
254
|
return signature;
|
|
244
255
|
}
|
|
245
256
|
}
|
|
246
|
-
exports.
|
|
247
|
-
|
|
257
|
+
exports.CdpSolanaWalletProvider = CdpSolanaWalletProvider;
|
|
258
|
+
_CdpSolanaWalletProvider_connection = new WeakMap(), _CdpSolanaWalletProvider_serverAccount = new WeakMap(), _CdpSolanaWalletProvider_cdp = new WeakMap(), _CdpSolanaWalletProvider_network = new WeakMap();
|
package/dist/wallet-providers/{cdpV2SolanaWalletProvider.test.js → cdpSolanaWalletProvider.test.js}
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const cdp_sdk_1 = require("@coinbase/cdp-sdk");
|
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
-
const
|
|
5
|
+
const cdpSolanaWalletProvider_1 = require("./cdpSolanaWalletProvider");
|
|
6
6
|
// =========================================================
|
|
7
7
|
// consts
|
|
8
8
|
// =========================================================
|
|
@@ -105,7 +105,7 @@ const MOCK_SIGNATURE_RESULT = {
|
|
|
105
105
|
slot: 123456,
|
|
106
106
|
},
|
|
107
107
|
};
|
|
108
|
-
describe("
|
|
108
|
+
describe("CdpSolanaWalletProvider", () => {
|
|
109
109
|
let provider;
|
|
110
110
|
let mockCdpClient;
|
|
111
111
|
let mockServerAccount;
|
|
@@ -132,7 +132,7 @@ describe("CdpV2SolanaWalletProvider", () => {
|
|
|
132
132
|
});
|
|
133
133
|
mockConnection.confirmTransaction.mockResolvedValue(MOCK_SIGNATURE_RESULT);
|
|
134
134
|
mockConnection.sendTransaction.mockResolvedValue(MOCK_SIGNATURE);
|
|
135
|
-
provider = await
|
|
135
|
+
provider = await cdpSolanaWalletProvider_1.CdpSolanaWalletProvider.configureWithWallet({
|
|
136
136
|
apiKeyId: "test-key-id",
|
|
137
137
|
apiKeySecret: "test-key-secret",
|
|
138
138
|
walletSecret: "test-wallet-secret",
|
|
@@ -144,7 +144,7 @@ describe("CdpV2SolanaWalletProvider", () => {
|
|
|
144
144
|
// =========================================================
|
|
145
145
|
describe("initialization", () => {
|
|
146
146
|
it("should initialize with API keys", async () => {
|
|
147
|
-
const provider = await
|
|
147
|
+
const provider = await cdpSolanaWalletProvider_1.CdpSolanaWalletProvider.configureWithWallet({
|
|
148
148
|
apiKeyId: "test-key-id",
|
|
149
149
|
apiKeySecret: "test-key-secret",
|
|
150
150
|
walletSecret: "test-wallet-secret",
|
|
@@ -154,7 +154,7 @@ describe("CdpV2SolanaWalletProvider", () => {
|
|
|
154
154
|
expect(provider.getNetwork()).toEqual(MOCK_NETWORK);
|
|
155
155
|
});
|
|
156
156
|
it("should default to solana-devnet if network not provided", async () => {
|
|
157
|
-
const provider = await
|
|
157
|
+
const provider = await cdpSolanaWalletProvider_1.CdpSolanaWalletProvider.configureWithWallet({
|
|
158
158
|
apiKeyId: "test-key-id",
|
|
159
159
|
apiKeySecret: "test-key-secret",
|
|
160
160
|
walletSecret: "test-wallet-secret",
|
|
@@ -175,7 +175,7 @@ describe("CdpV2SolanaWalletProvider", () => {
|
|
|
175
175
|
});
|
|
176
176
|
mockCdpClient.solana = mockSolanaClient;
|
|
177
177
|
cdp_sdk_1.CdpClient.mockImplementation(() => mockCdpClient);
|
|
178
|
-
await expect(
|
|
178
|
+
await expect(cdpSolanaWalletProvider_1.CdpSolanaWalletProvider.configureWithWallet({
|
|
179
179
|
apiKeyId: "test-key-id",
|
|
180
180
|
apiKeySecret: "test-key-secret",
|
|
181
181
|
walletSecret: "test-wallet-secret",
|
|
@@ -194,7 +194,7 @@ describe("CdpV2SolanaWalletProvider", () => {
|
|
|
194
194
|
expect(provider.getNetwork()).toEqual(MOCK_NETWORK);
|
|
195
195
|
});
|
|
196
196
|
it("should get the name", () => {
|
|
197
|
-
expect(provider.getName()).toBe("
|
|
197
|
+
expect(provider.getName()).toBe("cdp_solana_wallet_provider");
|
|
198
198
|
});
|
|
199
199
|
it("should get the balance", async () => {
|
|
200
200
|
const balance = await provider.getBalance();
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export * from "./walletProvider";
|
|
2
2
|
export * from "./evmWalletProvider";
|
|
3
3
|
export * from "./viemWalletProvider";
|
|
4
|
-
export * from "./
|
|
5
|
-
export * from "./
|
|
6
|
-
export * from "./
|
|
7
|
-
export * from "./
|
|
8
|
-
export * from "./
|
|
4
|
+
export * from "./cdpShared";
|
|
5
|
+
export * from "./cdpEvmWalletProvider";
|
|
6
|
+
export * from "./cdpSmartWalletProvider";
|
|
7
|
+
export * from "./cdpSolanaWalletProvider";
|
|
8
|
+
export * from "./legacyCdpWalletProvider";
|
|
9
9
|
export * from "./svmWalletProvider";
|
|
10
|
-
export * from "./
|
|
10
|
+
export * from "./legacyCdpSmartWalletProvider";
|
|
11
11
|
export * from "./solanaKeypairWalletProvider";
|
|
12
12
|
export * from "./privyWalletProvider";
|
|
13
13
|
export * from "./privyEvmWalletProvider";
|
|
@@ -17,13 +17,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./walletProvider"), exports);
|
|
18
18
|
__exportStar(require("./evmWalletProvider"), exports);
|
|
19
19
|
__exportStar(require("./viemWalletProvider"), exports);
|
|
20
|
-
__exportStar(require("./
|
|
21
|
-
__exportStar(require("./
|
|
22
|
-
__exportStar(require("./
|
|
23
|
-
__exportStar(require("./
|
|
24
|
-
__exportStar(require("./
|
|
20
|
+
__exportStar(require("./cdpShared"), exports);
|
|
21
|
+
__exportStar(require("./cdpEvmWalletProvider"), exports);
|
|
22
|
+
__exportStar(require("./cdpSmartWalletProvider"), exports);
|
|
23
|
+
__exportStar(require("./cdpSolanaWalletProvider"), exports);
|
|
24
|
+
__exportStar(require("./legacyCdpWalletProvider"), exports);
|
|
25
25
|
__exportStar(require("./svmWalletProvider"), exports);
|
|
26
|
-
__exportStar(require("./
|
|
26
|
+
__exportStar(require("./legacyCdpSmartWalletProvider"), exports);
|
|
27
27
|
__exportStar(require("./solanaKeypairWalletProvider"), exports);
|
|
28
28
|
__exportStar(require("./privyWalletProvider"), exports);
|
|
29
29
|
__exportStar(require("./privyEvmWalletProvider"), exports);
|
package/dist/wallet-providers/{smartWalletProvider.d.ts → legacyCdpSmartWalletProvider.d.ts}
RENAMED
|
@@ -2,7 +2,7 @@ import { SendUserOperationOptions, Signer } from "@coinbase/coinbase-sdk";
|
|
|
2
2
|
import { Abi, Address, ContractFunctionArgs, ContractFunctionName, Hex, ReadContractParameters, ReadContractReturnType, TransactionRequest } from "viem";
|
|
3
3
|
import { Network } from "../network";
|
|
4
4
|
import { EvmWalletProvider } from "./evmWalletProvider";
|
|
5
|
-
export interface
|
|
5
|
+
export interface ConfigureLegacyCdpSmartWalletOptions {
|
|
6
6
|
cdpApiKeyId?: string;
|
|
7
7
|
cdpApiKeySecret?: string;
|
|
8
8
|
networkId?: string;
|
|
@@ -13,7 +13,7 @@ export interface ConfigureSmartWalletOptions {
|
|
|
13
13
|
/**
|
|
14
14
|
* A wallet provider that uses Smart Wallets from the Coinbase SDK.
|
|
15
15
|
*/
|
|
16
|
-
export declare class
|
|
16
|
+
export declare class LegacyCdpSmartWalletProvider extends EvmWalletProvider {
|
|
17
17
|
#private;
|
|
18
18
|
/**
|
|
19
19
|
* Constructs a new CdpWalletProvider.
|
|
@@ -45,7 +45,7 @@ export declare class SmartWalletProvider extends EvmWalletProvider {
|
|
|
45
45
|
* });
|
|
46
46
|
* ```
|
|
47
47
|
*/
|
|
48
|
-
static configureWithWallet(config:
|
|
48
|
+
static configureWithWallet(config: ConfigureLegacyCdpSmartWalletOptions): Promise<LegacyCdpSmartWalletProvider>;
|
|
49
49
|
/**
|
|
50
50
|
* Stub for message signing
|
|
51
51
|
*
|
|
@@ -10,9 +10,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var
|
|
13
|
+
var _LegacyCdpSmartWalletProvider_smartWallet, _LegacyCdpSmartWalletProvider_network, _LegacyCdpSmartWalletProvider_publicClient;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
15
|
+
exports.LegacyCdpSmartWalletProvider = void 0;
|
|
16
16
|
const coinbase_sdk_1 = require("@coinbase/coinbase-sdk");
|
|
17
17
|
const viem_1 = require("viem");
|
|
18
18
|
const network_1 = require("../network");
|
|
@@ -21,7 +21,7 @@ const package_json_1 = require("../../package.json");
|
|
|
21
21
|
/**
|
|
22
22
|
* A wallet provider that uses Smart Wallets from the Coinbase SDK.
|
|
23
23
|
*/
|
|
24
|
-
class
|
|
24
|
+
class LegacyCdpSmartWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
|
|
25
25
|
/**
|
|
26
26
|
* Constructs a new CdpWalletProvider.
|
|
27
27
|
*
|
|
@@ -29,12 +29,12 @@ class SmartWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
|
|
|
29
29
|
*/
|
|
30
30
|
constructor(config) {
|
|
31
31
|
super();
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
__classPrivateFieldSet(this,
|
|
36
|
-
__classPrivateFieldSet(this,
|
|
37
|
-
__classPrivateFieldSet(this,
|
|
32
|
+
_LegacyCdpSmartWalletProvider_smartWallet.set(this, void 0);
|
|
33
|
+
_LegacyCdpSmartWalletProvider_network.set(this, void 0);
|
|
34
|
+
_LegacyCdpSmartWalletProvider_publicClient.set(this, void 0);
|
|
35
|
+
__classPrivateFieldSet(this, _LegacyCdpSmartWalletProvider_network, config.network, "f");
|
|
36
|
+
__classPrivateFieldSet(this, _LegacyCdpSmartWalletProvider_smartWallet, config.smartWallet, "f");
|
|
37
|
+
__classPrivateFieldSet(this, _LegacyCdpSmartWalletProvider_publicClient, (0, viem_1.createPublicClient)({
|
|
38
38
|
chain: network_1.NETWORK_ID_TO_VIEM_CHAIN[config.network.networkId],
|
|
39
39
|
transport: (0, viem_1.http)(),
|
|
40
40
|
}), "f");
|
|
@@ -102,12 +102,12 @@ class SmartWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
|
|
|
102
102
|
chainId: Number(network.chainId),
|
|
103
103
|
paymasterUrl: config.paymasterUrl,
|
|
104
104
|
});
|
|
105
|
-
const
|
|
105
|
+
const legacyCdpSmartWalletProvider = new LegacyCdpSmartWalletProvider({
|
|
106
106
|
smartWallet: networkScopedSmartWallet,
|
|
107
107
|
network,
|
|
108
108
|
chainId: network.chainId,
|
|
109
109
|
});
|
|
110
|
-
return
|
|
110
|
+
return legacyCdpSmartWalletProvider;
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
113
|
* Stub for message signing
|
|
@@ -209,7 +209,7 @@ class SmartWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
|
|
|
209
209
|
* ```
|
|
210
210
|
*/
|
|
211
211
|
async sendUserOperation(operation) {
|
|
212
|
-
const sendUserOperationResult = await __classPrivateFieldGet(this,
|
|
212
|
+
const sendUserOperationResult = await __classPrivateFieldGet(this, _LegacyCdpSmartWalletProvider_smartWallet, "f").sendUserOperation(operation);
|
|
213
213
|
const result = await (0, coinbase_sdk_1.waitForUserOperation)(sendUserOperationResult);
|
|
214
214
|
if (result.status === "complete") {
|
|
215
215
|
return result.transactionHash;
|
|
@@ -224,7 +224,7 @@ class SmartWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
|
|
|
224
224
|
* @returns The address of the smart wallet.
|
|
225
225
|
*/
|
|
226
226
|
getAddress() {
|
|
227
|
-
return __classPrivateFieldGet(this,
|
|
227
|
+
return __classPrivateFieldGet(this, _LegacyCdpSmartWalletProvider_smartWallet, "f").address;
|
|
228
228
|
}
|
|
229
229
|
/**
|
|
230
230
|
* Gets the network of the wallet.
|
|
@@ -232,7 +232,7 @@ class SmartWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
|
|
|
232
232
|
* @returns The network of the wallet.
|
|
233
233
|
*/
|
|
234
234
|
getNetwork() {
|
|
235
|
-
return __classPrivateFieldGet(this,
|
|
235
|
+
return __classPrivateFieldGet(this, _LegacyCdpSmartWalletProvider_network, "f");
|
|
236
236
|
}
|
|
237
237
|
/**
|
|
238
238
|
* Gets the name of the wallet provider.
|
|
@@ -240,7 +240,7 @@ class SmartWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
|
|
|
240
240
|
* @returns The name of the wallet provider.
|
|
241
241
|
*/
|
|
242
242
|
getName() {
|
|
243
|
-
return "
|
|
243
|
+
return "legacy_cdp_smart_wallet_provider";
|
|
244
244
|
}
|
|
245
245
|
/**
|
|
246
246
|
* Gets the balance of the wallet.
|
|
@@ -248,7 +248,7 @@ class SmartWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
|
|
|
248
248
|
* @returns The balance of the wallet in wei
|
|
249
249
|
*/
|
|
250
250
|
async getBalance() {
|
|
251
|
-
const balance = await __classPrivateFieldGet(this,
|
|
251
|
+
const balance = await __classPrivateFieldGet(this, _LegacyCdpSmartWalletProvider_publicClient, "f").getBalance({
|
|
252
252
|
address: this.getAddress(),
|
|
253
253
|
});
|
|
254
254
|
return balance;
|
|
@@ -261,7 +261,7 @@ class SmartWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
|
|
|
261
261
|
*/
|
|
262
262
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
263
263
|
waitForTransactionReceipt(txHash) {
|
|
264
|
-
return __classPrivateFieldGet(this,
|
|
264
|
+
return __classPrivateFieldGet(this, _LegacyCdpSmartWalletProvider_publicClient, "f").waitForTransactionReceipt({
|
|
265
265
|
hash: txHash,
|
|
266
266
|
});
|
|
267
267
|
}
|
|
@@ -272,7 +272,7 @@ class SmartWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
|
|
|
272
272
|
* @returns The response from the contract.
|
|
273
273
|
*/
|
|
274
274
|
async readContract(params) {
|
|
275
|
-
return __classPrivateFieldGet(this,
|
|
275
|
+
return __classPrivateFieldGet(this, _LegacyCdpSmartWalletProvider_publicClient, "f").readContract(params);
|
|
276
276
|
}
|
|
277
277
|
/**
|
|
278
278
|
* Transfer the native asset of the network.
|
|
@@ -282,7 +282,7 @@ class SmartWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
|
|
|
282
282
|
* @returns The transaction hash.
|
|
283
283
|
*/
|
|
284
284
|
async nativeTransfer(to, value) {
|
|
285
|
-
const sendUserOperationResult = await __classPrivateFieldGet(this,
|
|
285
|
+
const sendUserOperationResult = await __classPrivateFieldGet(this, _LegacyCdpSmartWalletProvider_smartWallet, "f").sendUserOperation({
|
|
286
286
|
calls: [
|
|
287
287
|
{
|
|
288
288
|
to,
|
|
@@ -299,5 +299,5 @@ class SmartWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
|
|
|
299
299
|
}
|
|
300
300
|
}
|
|
301
301
|
}
|
|
302
|
-
exports.
|
|
303
|
-
|
|
302
|
+
exports.LegacyCdpSmartWalletProvider = LegacyCdpSmartWalletProvider;
|
|
303
|
+
_LegacyCdpSmartWalletProvider_smartWallet = new WeakMap(), _LegacyCdpSmartWalletProvider_network = new WeakMap(), _LegacyCdpSmartWalletProvider_publicClient = new WeakMap();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/wallet-providers/{smartWalletProvider.test.js → legacyCdpSmartWalletProvider.test.js}
RENAMED
|
@@ -109,7 +109,7 @@ jest.mock("@coinbase/coinbase-sdk", () => {
|
|
|
109
109
|
// =========================================================
|
|
110
110
|
// tests
|
|
111
111
|
// =========================================================
|
|
112
|
-
describe("
|
|
112
|
+
describe("LegacyCdpSmartWalletProvider", () => {
|
|
113
113
|
let provider;
|
|
114
114
|
let mockNetworkScopedWallet;
|
|
115
115
|
let mockWaitForUserOperation;
|
|
@@ -161,7 +161,7 @@ describe("SmartWalletProvider", () => {
|
|
|
161
161
|
networkId: MOCK_NETWORK_ID,
|
|
162
162
|
chainId: MOCK_CHAIN_ID,
|
|
163
163
|
});
|
|
164
|
-
provider.getName.mockReturnValue("
|
|
164
|
+
provider.getName.mockReturnValue("legacy_cdp_smart_wallet_provider");
|
|
165
165
|
provider.getBalance.mockResolvedValue(MOCK_BALANCE);
|
|
166
166
|
provider.sendTransaction.mockImplementation(async (tx) => {
|
|
167
167
|
const _result = await mockNetworkScopedWallet.sendUserOperation({ calls: [tx] });
|
|
@@ -5,7 +5,7 @@ import { Coinbase, CreateERC20Options, CreateTradeOptions, SmartContract, Trade,
|
|
|
5
5
|
/**
|
|
6
6
|
* Configuration options for the CDP Providers.
|
|
7
7
|
*/
|
|
8
|
-
export interface
|
|
8
|
+
export interface LegacyCdpProviderConfig {
|
|
9
9
|
/**
|
|
10
10
|
* The CDP API Key Name.
|
|
11
11
|
*/
|
|
@@ -16,9 +16,11 @@ export interface CdpProviderConfig {
|
|
|
16
16
|
apiKeySecret?: string;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Configuration options for the
|
|
19
|
+
* Configuration options for the LegacyCdpActionProvider.
|
|
20
|
+
*
|
|
21
|
+
* @deprecated Use CdpV2WalletProviderConfig instead
|
|
20
22
|
*/
|
|
21
|
-
export interface
|
|
23
|
+
export interface LegacyCdpWalletProviderConfig extends LegacyCdpProviderConfig {
|
|
22
24
|
/**
|
|
23
25
|
* The CDP Wallet.
|
|
24
26
|
*/
|
|
@@ -52,7 +54,7 @@ export interface CdpWalletProviderConfig extends CdpProviderConfig {
|
|
|
52
54
|
/**
|
|
53
55
|
* Configuration options for the CDP Agentkit with a Wallet.
|
|
54
56
|
*/
|
|
55
|
-
interface
|
|
57
|
+
interface ConfigureLegacyCdpAgentkitWithWalletOptions extends LegacyCdpWalletProviderConfig {
|
|
56
58
|
/**
|
|
57
59
|
* The data of the CDP Wallet as a JSON string.
|
|
58
60
|
*/
|
|
@@ -63,24 +65,26 @@ interface ConfigureCdpAgentkitWithWalletOptions extends CdpWalletProviderConfig
|
|
|
63
65
|
mnemonicPhrase?: string;
|
|
64
66
|
}
|
|
65
67
|
/**
|
|
66
|
-
* A wallet provider that uses the Coinbase SDK.
|
|
68
|
+
* A legacy wallet provider that uses the old Coinbase SDK.
|
|
69
|
+
*
|
|
70
|
+
* @deprecated Use CdpEvmWalletProvider or CdpSmartWalletProvider instead
|
|
67
71
|
*/
|
|
68
|
-
export declare class
|
|
72
|
+
export declare class LegacyCdpWalletProvider extends EvmWalletProvider {
|
|
69
73
|
#private;
|
|
70
74
|
/**
|
|
71
|
-
* Constructs a new
|
|
75
|
+
* Constructs a new LegacyCdpWalletProvider.
|
|
72
76
|
*
|
|
73
|
-
* @param config - The configuration options for the
|
|
77
|
+
* @param config - The configuration options for the LegacyCdpWalletProvider.
|
|
74
78
|
*/
|
|
75
79
|
private constructor();
|
|
76
80
|
/**
|
|
77
|
-
* Configures a new
|
|
81
|
+
* Configures a new LegacyCdpWalletProvider with a wallet.
|
|
78
82
|
*
|
|
79
83
|
* @param config - Optional configuration parameters
|
|
80
|
-
* @returns A Promise that resolves to a new
|
|
84
|
+
* @returns A Promise that resolves to a new LegacyCdpWalletProvider instance
|
|
81
85
|
* @throws Error if required environment variables are missing or wallet initialization fails
|
|
82
86
|
*/
|
|
83
|
-
static configureWithWallet(config?:
|
|
87
|
+
static configureWithWallet(config?: ConfigureLegacyCdpAgentkitWithWalletOptions): Promise<LegacyCdpWalletProvider>;
|
|
84
88
|
/**
|
|
85
89
|
* Signs a message.
|
|
86
90
|
*
|