@coinbase/cdp-sdk 1.6.0 → 1.7.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/CHANGELOG.md +13 -0
- package/README.md +62 -0
- package/_cjs/accounts/evm/toEvmSmartAccount.js +7 -0
- package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
- package/_cjs/accounts/{types.js.map → evm/types.js.map} +1 -1
- package/_cjs/accounts/solana/toSolanaAccount.js +41 -0
- package/_cjs/accounts/solana/toSolanaAccount.js.map +1 -0
- package/_cjs/accounts/solana/types.js +3 -0
- package/_cjs/accounts/solana/types.js.map +1 -0
- package/_cjs/actions/evm/getUserOperation.js +36 -0
- package/_cjs/actions/evm/getUserOperation.js.map +1 -0
- package/_cjs/actions/evm/transfer/accountTransferStrategy.js +11 -7
- package/_cjs/actions/evm/transfer/accountTransferStrategy.js.map +1 -1
- package/_cjs/actions/evm/transfer/smartAccountTransferStrategy.js +9 -6
- package/_cjs/actions/evm/transfer/smartAccountTransferStrategy.js.map +1 -1
- package/_cjs/actions/evm/transfer/transfer.js +7 -3
- package/_cjs/actions/evm/transfer/transfer.js.map +1 -1
- package/_cjs/actions/solana/requestFaucet.js +29 -0
- package/_cjs/actions/solana/requestFaucet.js.map +1 -0
- package/_cjs/actions/solana/signMessage.js +29 -0
- package/_cjs/actions/solana/signMessage.js.map +1 -0
- package/_cjs/actions/solana/signTransaction.js +46 -0
- package/_cjs/actions/solana/signTransaction.js.map +1 -0
- package/_cjs/actions/solana/types.js +3 -0
- package/_cjs/actions/solana/types.js.map +1 -0
- package/_cjs/client/evm/evm.js +2 -12
- package/_cjs/client/evm/evm.js.map +1 -1
- package/_cjs/client/solana/solana.js +22 -17
- package/_cjs/client/solana/solana.js.map +1 -1
- package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +59 -1
- package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
- package/_cjs/openapi-client/generated/index.msw.js +3 -2
- package/_cjs/openapi-client/generated/index.msw.js.map +1 -1
- package/_cjs/openapi-client/generated/policy-engine/policy-engine.js +56 -0
- package/_cjs/openapi-client/generated/policy-engine/policy-engine.js.map +1 -0
- package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js +284 -0
- package/_cjs/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -0
- package/_cjs/openapi-client/index.js +1 -0
- package/_cjs/openapi-client/index.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/accounts/evm/toEvmSmartAccount.js +7 -0
- package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
- package/_esm/accounts/{types.js.map → evm/types.js.map} +1 -1
- package/_esm/accounts/solana/toSolanaAccount.js +38 -0
- package/_esm/accounts/solana/toSolanaAccount.js.map +1 -0
- package/_esm/accounts/solana/types.js +2 -0
- package/_esm/accounts/solana/types.js.map +1 -0
- package/_esm/actions/evm/getUserOperation.js +33 -0
- package/_esm/actions/evm/getUserOperation.js.map +1 -0
- package/_esm/actions/evm/transfer/accountTransferStrategy.js +11 -7
- package/_esm/actions/evm/transfer/accountTransferStrategy.js.map +1 -1
- package/_esm/actions/evm/transfer/smartAccountTransferStrategy.js +9 -6
- package/_esm/actions/evm/transfer/smartAccountTransferStrategy.js.map +1 -1
- package/_esm/actions/evm/transfer/transfer.js +7 -3
- package/_esm/actions/evm/transfer/transfer.js.map +1 -1
- package/_esm/actions/solana/requestFaucet.js +26 -0
- package/_esm/actions/solana/requestFaucet.js.map +1 -0
- package/_esm/actions/solana/signMessage.js +26 -0
- package/_esm/actions/solana/signMessage.js.map +1 -0
- package/_esm/actions/solana/signTransaction.js +43 -0
- package/_esm/actions/solana/signTransaction.js.map +1 -0
- package/_esm/actions/solana/types.js +2 -0
- package/_esm/actions/solana/types.js.map +1 -0
- package/_esm/client/evm/evm.js +2 -12
- package/_esm/client/evm/evm.js.map +1 -1
- package/_esm/client/solana/solana.js +22 -17
- package/_esm/client/solana/solana.js.map +1 -1
- package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +58 -0
- package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
- package/_esm/openapi-client/generated/index.msw.js +3 -2
- package/_esm/openapi-client/generated/index.msw.js.map +1 -1
- package/_esm/openapi-client/generated/policy-engine/policy-engine.js +48 -0
- package/_esm/openapi-client/generated/policy-engine/policy-engine.js.map +1 -0
- package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js +259 -0
- package/_esm/openapi-client/generated/policy-engine/policy-engine.msw.js.map +1 -0
- package/_esm/openapi-client/index.js +1 -0
- package/_esm/openapi-client/index.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/accounts/evm/toEvmServerAccount.d.ts +1 -1
- package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
- package/_types/accounts/evm/toEvmSmartAccount.d.ts +1 -1
- package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
- package/_types/accounts/{types.d.ts → evm/types.d.ts} +5 -5
- package/_types/accounts/evm/types.d.ts.map +1 -0
- package/_types/accounts/solana/toSolanaAccount.d.ts +20 -0
- package/_types/accounts/solana/toSolanaAccount.d.ts.map +1 -0
- package/_types/accounts/solana/types.d.ts +12 -0
- package/_types/accounts/solana/types.d.ts.map +1 -0
- package/_types/actions/evm/getUserOperation.d.ts +22 -0
- package/_types/actions/evm/getUserOperation.d.ts.map +1 -0
- package/_types/actions/evm/sendUserOperation.d.ts +1 -1
- package/_types/actions/evm/sendUserOperation.d.ts.map +1 -1
- package/_types/actions/evm/transfer/accountTransferStrategy.d.ts +1 -1
- package/_types/actions/evm/transfer/accountTransferStrategy.d.ts.map +1 -1
- package/_types/actions/evm/transfer/smartAccountTransferStrategy.d.ts +1 -1
- package/_types/actions/evm/transfer/smartAccountTransferStrategy.d.ts.map +1 -1
- package/_types/actions/evm/transfer/transfer.d.ts +3 -3
- package/_types/actions/evm/transfer/transfer.d.ts.map +1 -1
- package/_types/actions/evm/transfer/types.d.ts +41 -7
- package/_types/actions/evm/transfer/types.d.ts.map +1 -1
- package/_types/actions/evm/types.d.ts +28 -5
- package/_types/actions/evm/types.d.ts.map +1 -1
- package/_types/actions/solana/requestFaucet.d.ts +23 -0
- package/_types/actions/solana/requestFaucet.d.ts.map +1 -0
- package/_types/actions/solana/signMessage.d.ts +23 -0
- package/_types/actions/solana/signMessage.d.ts.map +1 -0
- package/_types/actions/solana/signTransaction.d.ts +38 -0
- package/_types/actions/solana/signTransaction.d.ts.map +1 -0
- package/_types/actions/solana/types.d.ts +80 -0
- package/_types/actions/solana/types.d.ts.map +1 -0
- package/_types/client/evm/evm.d.ts.map +1 -1
- package/_types/client/evm/evm.types.d.ts +3 -3
- package/_types/client/evm/evm.types.d.ts.map +1 -1
- package/_types/client/solana/solana.d.ts +5 -4
- package/_types/client/solana/solana.d.ts.map +1 -1
- package/_types/client/solana/solana.types.d.ts +8 -11
- package/_types/client/solana/solana.types.d.ts.map +1 -1
- package/_types/index.d.ts +1 -1
- package/_types/index.d.ts.map +1 -1
- package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +218 -0
- package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
- package/_types/openapi-client/generated/index.msw.d.ts +3 -2
- package/_types/openapi-client/generated/index.msw.d.ts.map +1 -1
- package/_types/openapi-client/generated/policy-engine/policy-engine.d.ts +43 -0
- package/_types/openapi-client/generated/policy-engine/policy-engine.d.ts.map +1 -0
- package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts +25 -0
- package/_types/openapi-client/generated/policy-engine/policy-engine.msw.d.ts.map +1 -0
- package/_types/openapi-client/index.d.ts +1 -0
- package/_types/openapi-client/index.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/accounts/evm/toEvmServerAccount.ts +1 -1
- package/accounts/evm/toEvmSmartAccount.ts +11 -1
- package/accounts/{types.ts → evm/types.ts} +5 -5
- package/accounts/solana/toSolanaAccount.ts +59 -0
- package/accounts/solana/types.ts +13 -0
- package/actions/evm/getUserOperation.ts +40 -0
- package/actions/evm/sendUserOperation.ts +1 -1
- package/actions/evm/transfer/accountTransferStrategy.ts +12 -8
- package/actions/evm/transfer/smartAccountTransferStrategy.ts +10 -7
- package/actions/evm/transfer/transfer.ts +17 -6
- package/actions/evm/transfer/types.ts +55 -12
- package/actions/evm/types.ts +37 -5
- package/actions/solana/requestFaucet.ts +35 -0
- package/actions/solana/signMessage.ts +36 -0
- package/actions/solana/signTransaction.ts +53 -0
- package/actions/solana/types.ts +87 -0
- package/client/evm/evm.ts +3 -16
- package/client/evm/evm.types.ts +4 -3
- package/client/solana/solana.ts +32 -37
- package/client/solana/solana.types.ts +10 -15
- package/index.ts +1 -1
- package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +274 -0
- package/openapi-client/generated/index.msw.ts +3 -2
- package/openapi-client/generated/policy-engine/policy-engine.msw.ts +404 -0
- package/openapi-client/generated/policy-engine/policy-engine.ts +95 -0
- package/openapi-client/index.ts +1 -0
- package/package.json +1 -1
- package/version.ts +1 -1
- package/_types/accounts/types.d.ts.map +0 -1
- /package/_cjs/accounts/{types.js → evm/types.js} +0 -0
- /package/_esm/accounts/{types.js → evm/types.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# CDP SDK Changelog
|
|
2
2
|
|
|
3
|
+
## 1.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#116](https://github.com/coinbase/cdp-sdk/pull/116) [`97678d6`](https://github.com/coinbase/cdp-sdk/commit/97678d675358bb8d0b6195fd31933a32926cdd44) Thanks [@sddioulde](https://github.com/sddioulde)! - Added getUserOperation smart account action
|
|
8
|
+
|
|
9
|
+
- [#122](https://github.com/coinbase/cdp-sdk/pull/122) [`ee41d98`](https://github.com/coinbase/cdp-sdk/commit/ee41d986406e3e8666d1d1a1b1525e7ff7435a2b) Thanks [@sddioulde](https://github.com/sddioulde)! - Added account actions to Solana
|
|
10
|
+
|
|
11
|
+
- [#103](https://github.com/coinbase/cdp-sdk/pull/103) [`2777cde`](https://github.com/coinbase/cdp-sdk/commit/2777cde93e4f10579a4ca31e140720067799cf66) Thanks [@0xRAG](https://github.com/0xRAG)! - Added additional options to transfer methods:
|
|
12
|
+
|
|
13
|
+
- Added `paymasterUrl` and `waitOptions` to EvmSmartAccount.transfer
|
|
14
|
+
- Added `waitOptions` to EvmAccount.transfer
|
|
15
|
+
|
|
3
16
|
## 1.6.0
|
|
4
17
|
|
|
5
18
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -320,6 +320,22 @@ const { status } = await sender.transfer({
|
|
|
320
320
|
});
|
|
321
321
|
```
|
|
322
322
|
|
|
323
|
+
Using Smart Accounts, you can also specify a paymaster URL and wait options:
|
|
324
|
+
|
|
325
|
+
```typescript
|
|
326
|
+
const { status } = await sender.transfer({
|
|
327
|
+
to: "0x9F663335Cd6Ad02a37B633602E98866CF944124d",
|
|
328
|
+
amount: "0.01",
|
|
329
|
+
token: "usdc",
|
|
330
|
+
network: "base-sepolia",
|
|
331
|
+
paymasterUrl: "https://some-paymaster-url.com",
|
|
332
|
+
waitOptions: {
|
|
333
|
+
timeout: 30,
|
|
334
|
+
interval: 2,
|
|
335
|
+
},
|
|
336
|
+
});
|
|
337
|
+
```
|
|
338
|
+
|
|
323
339
|
If you pass a decimal amount in a string, the SDK will parse it into a bigint based on the token's decimals. You can also pass a bigint directly:
|
|
324
340
|
|
|
325
341
|
```typescript
|
|
@@ -356,10 +372,29 @@ const { status } = await sender.transfer({
|
|
|
356
372
|
});
|
|
357
373
|
```
|
|
358
374
|
|
|
375
|
+
You can also pass wait options to the `transfer` function:
|
|
376
|
+
|
|
377
|
+
```typescript
|
|
378
|
+
const { status } = await sender.transfer({
|
|
379
|
+
to: receiver,
|
|
380
|
+
amount: "0.01",
|
|
381
|
+
token: "usdc",
|
|
382
|
+
network: "base-sepolia",
|
|
383
|
+
waitOptions: {
|
|
384
|
+
timeout: 30,
|
|
385
|
+
interval: 2,
|
|
386
|
+
},
|
|
387
|
+
});
|
|
388
|
+
```
|
|
389
|
+
|
|
359
390
|
## Account Actions
|
|
360
391
|
|
|
361
392
|
Account objects have actions that can be used to interact with the account. These can be used in place of the `cdp` client.
|
|
362
393
|
|
|
394
|
+
### EVM account actions
|
|
395
|
+
|
|
396
|
+
Here are some examples for actions on EVM accounts.
|
|
397
|
+
|
|
363
398
|
For example, instead of:
|
|
364
399
|
|
|
365
400
|
```typescript
|
|
@@ -390,8 +425,35 @@ EvmSmartAccount supports the following actions:
|
|
|
390
425
|
- `requestFaucet`
|
|
391
426
|
- `sendUserOperation`
|
|
392
427
|
- `waitForUserOperation`
|
|
428
|
+
- `getUserOperation`
|
|
393
429
|
- `transfer`
|
|
394
430
|
|
|
431
|
+
### Solana account actions
|
|
432
|
+
|
|
433
|
+
Here are some examples for actions on Solana accounts.
|
|
434
|
+
|
|
435
|
+
```typescript
|
|
436
|
+
const balances = await cdp.solana.signMessage({
|
|
437
|
+
address: account.address,
|
|
438
|
+
message: "Hello, world!",
|
|
439
|
+
});
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
You can use the `signMessage` action:
|
|
443
|
+
|
|
444
|
+
```typescript
|
|
445
|
+
const account = await cdp.solana.createAccount();
|
|
446
|
+
const { signature } = await account.signMessage({
|
|
447
|
+
message: "Hello, world!"
|
|
448
|
+
});
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
SolanaAccount supports the following actions:
|
|
452
|
+
|
|
453
|
+
- `requestFaucet`
|
|
454
|
+
- `signMessage`
|
|
455
|
+
- `signTransaction`
|
|
456
|
+
|
|
395
457
|
## Authentication tools
|
|
396
458
|
|
|
397
459
|
This SDK also contains simple tools for authenticating REST API requests to the [Coinbase Developer Platform (CDP)](https://docs.cdp.coinbase.com/). See the [Auth README](src/auth/README.md) for more details.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.toEvmSmartAccount = toEvmSmartAccount;
|
|
4
|
+
const getUserOperation_js_1 = require("../../actions/evm/getUserOperation.js");
|
|
4
5
|
const listTokenBalances_js_1 = require("../../actions/evm/listTokenBalances.js");
|
|
5
6
|
const requestFaucet_js_1 = require("../../actions/evm/requestFaucet.js");
|
|
6
7
|
const sendUserOperation_js_1 = require("../../actions/evm/sendUserOperation.js");
|
|
@@ -44,6 +45,12 @@ function toEvmSmartAccount(apiClient, options) {
|
|
|
44
45
|
smartAccountAddress: account.address,
|
|
45
46
|
});
|
|
46
47
|
},
|
|
48
|
+
async getUserOperation(options) {
|
|
49
|
+
return (0, getUserOperation_js_1.getUserOperation)(apiClient, {
|
|
50
|
+
...options,
|
|
51
|
+
smartAccount: account,
|
|
52
|
+
});
|
|
53
|
+
},
|
|
47
54
|
async requestFaucet(options) {
|
|
48
55
|
return (0, requestFaucet_js_1.requestFaucet)(apiClient, {
|
|
49
56
|
...options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toEvmSmartAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toEvmSmartAccount.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"toEvmSmartAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toEvmSmartAccount.ts"],"names":[],"mappings":";;AAuDA,8CAuDC;AA9GD,+EAAyE;AACzE,iFAIgD;AAChD,yEAI4C;AAC5C,iFAIgD;AAChD,gHAA0G;AAC1G,wEAAkE;AAClE,uFAImD;AAqBnD;;;;;;;;;;;GAWG;AACH,SAAgB,iBAAiB,CAC/B,SAA+B,EAC/B,OAAiC;IAEjC,MAAM,OAAO,GAAoB;QAC/B,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,OAAkB;QAChD,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACvB,KAAK,CAAC,QAAQ,CAAC,YAAY;YACzB,OAAO,IAAA,sBAAQ,EAAC,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,8DAA4B,CAAC,CAAC;QAClF,CAAC;QACD,KAAK,CAAC,iBAAiB,CACrB,OAAkD;YAElD,OAAO,IAAA,wCAAiB,EAAC,SAAS,EAAE;gBAClC,GAAG,OAAO;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,iBAAiB,CACrB,OAAkE;YAElE,OAAO,IAAA,wCAAiB,EAAC,SAAS,EAAE;gBAClC,GAAG,OAAO;gBACV,YAAY,EAAE,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,oBAAoB,CACxB,OAAiE;YAEjE,OAAO,IAAA,8CAAoB,EAAC,SAAS,EAAE;gBACrC,GAAG,OAAO;gBACV,mBAAmB,EAAE,OAAO,CAAC,OAAO;aACrC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,gBAAgB,CACpB,OAAsD;YAEtD,OAAO,IAAA,sCAAgB,EAAC,SAAS,EAAE;gBACjC,GAAG,OAAO;gBACV,YAAY,EAAE,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,aAAa,CACjB,OAA8C;YAE9C,OAAO,IAAA,gCAAa,EAAC,SAAS,EAAE;gBAC9B,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI;QAC/B,IAAI,EAAE,WAAW;KAClB,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../accounts/evm/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toSolanaAccount = toSolanaAccount;
|
|
4
|
+
const requestFaucet_js_1 = require("../../actions/solana/requestFaucet.js");
|
|
5
|
+
const signMessage_js_1 = require("../../actions/solana/signMessage.js");
|
|
6
|
+
const signTransaction_js_1 = require("../../actions/solana/signTransaction.js");
|
|
7
|
+
/**
|
|
8
|
+
* Creates a Solana account instance with actions from an existing Solana account.
|
|
9
|
+
* Use this to interact with previously deployed Solana accounts, rather than creating new ones.
|
|
10
|
+
*
|
|
11
|
+
* @param {CdpOpenApiClientType} apiClient - The API client.
|
|
12
|
+
* @param {ToSolanaAccountOptions} options - Configuration options.
|
|
13
|
+
* @param {Account} options.account - The Solana account that was previously created.
|
|
14
|
+
* @returns {SolanaAccount} A configured SolanaAccount instance ready for signing.
|
|
15
|
+
*/
|
|
16
|
+
function toSolanaAccount(apiClient, options) {
|
|
17
|
+
const account = {
|
|
18
|
+
address: options.account.address,
|
|
19
|
+
name: options.account.name,
|
|
20
|
+
async requestFaucet(options) {
|
|
21
|
+
return (0, requestFaucet_js_1.requestFaucet)(apiClient, {
|
|
22
|
+
...options,
|
|
23
|
+
address: account.address,
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
async signMessage(options) {
|
|
27
|
+
return (0, signMessage_js_1.signMessage)(apiClient, {
|
|
28
|
+
...options,
|
|
29
|
+
address: account.address,
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
async signTransaction(options) {
|
|
33
|
+
return (0, signTransaction_js_1.signTransaction)(apiClient, {
|
|
34
|
+
...options,
|
|
35
|
+
address: account.address,
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
return account;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=toSolanaAccount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toSolanaAccount.js","sourceRoot":"","sources":["../../../accounts/solana/toSolanaAccount.ts"],"names":[],"mappings":";;AA4BA,0CA8BC;AAzDD,4EAAsE;AACtE,wEAAkE;AAClE,gFAA0E;AAgB1E;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAC7B,SAA+B,EAC/B,OAA+B;IAE/B,MAAM,OAAO,GAAkB;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;QAChC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;QAC1B,KAAK,CAAC,aAAa,CAAC,OAA8C;YAChE,OAAO,IAAA,gCAAa,EAAC,SAAS,EAAE;gBAC9B,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,OAA4C;YAC5D,OAAO,IAAA,4BAAW,EAAC,SAAS,EAAE;gBAC5B,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,eAAe,CACnB,OAAgD;YAEhD,OAAO,IAAA,oCAAe,EAAC,SAAS,EAAE;gBAChC,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../accounts/solana/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUserOperation = getUserOperation;
|
|
4
|
+
/**
|
|
5
|
+
* Gets a user operation for a smart account by user operation hash.
|
|
6
|
+
*
|
|
7
|
+
* @param {CdpOpenApiClientType} client - The client to use to get the user operation.
|
|
8
|
+
* @param {GetUserOperationOptions} options - Parameters for getting the user operation.
|
|
9
|
+
* @param {SmartAccount} options.smartAccount - The smart account signing the user operation.
|
|
10
|
+
* @param {string} options.userOpHash - The user operation hash.
|
|
11
|
+
*
|
|
12
|
+
* @returns A promise that resolves to the user operation.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* const userOp = await getUserOperation(client, {
|
|
17
|
+
* smartAccount,
|
|
18
|
+
* userOpHash: "0x1234567890123456789012345678901234567890123456789012345678901234",
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
async function getUserOperation(client, options) {
|
|
23
|
+
const userOp = await client.getUserOperation(options.smartAccount.address, options.userOpHash);
|
|
24
|
+
return {
|
|
25
|
+
calls: userOp.calls.map(call => ({
|
|
26
|
+
to: call.to,
|
|
27
|
+
value: BigInt(call.value),
|
|
28
|
+
data: call.data,
|
|
29
|
+
})),
|
|
30
|
+
network: userOp.network,
|
|
31
|
+
status: userOp.status,
|
|
32
|
+
transactionHash: userOp.transactionHash,
|
|
33
|
+
userOpHash: userOp.userOpHash,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=getUserOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserOperation.js","sourceRoot":"","sources":["../../../actions/evm/getUserOperation.ts"],"names":[],"mappings":";;AAsBA,4CAiBC;AAnCD;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAA4B,EAC5B,OAAgC;IAEhC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/F,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/B,EAAE,EAAE,IAAI,CAAC,EAAa;YACtB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,EAAE,IAAI,CAAC,IAAW;SACvB,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,eAAe,EAAE,MAAM,CAAC,eAAkC;QAC1D,UAAU,EAAE,MAAM,CAAC,UAAiB;KACrC,CAAC;AACJ,CAAC"}
|
|
@@ -5,20 +5,20 @@ const viem_1 = require("viem");
|
|
|
5
5
|
const utils_js_1 = require("./utils.js");
|
|
6
6
|
const serializeTransaction_js_1 = require("../../../utils/serializeTransaction.js");
|
|
7
7
|
exports.accountTransferStrategy = {
|
|
8
|
-
executeTransfer: async ({ apiClient, from,
|
|
8
|
+
executeTransfer: async ({ apiClient, from, to, value, token, network }) => {
|
|
9
9
|
const transactionHash = await (async () => {
|
|
10
|
-
if (
|
|
10
|
+
if (token === "eth") {
|
|
11
11
|
const result = await apiClient.sendEvmTransaction(from.address, {
|
|
12
12
|
transaction: (0, serializeTransaction_js_1.serializeEIP1559Transaction)({
|
|
13
13
|
value,
|
|
14
14
|
to,
|
|
15
15
|
}),
|
|
16
|
-
network
|
|
16
|
+
network,
|
|
17
17
|
});
|
|
18
18
|
return result.transactionHash;
|
|
19
19
|
}
|
|
20
20
|
else {
|
|
21
|
-
const erc20Address = (0, utils_js_1.getErc20Address)(
|
|
21
|
+
const erc20Address = (0, utils_js_1.getErc20Address)(token, network);
|
|
22
22
|
await apiClient.sendEvmTransaction(from.address, {
|
|
23
23
|
transaction: (0, serializeTransaction_js_1.serializeEIP1559Transaction)({
|
|
24
24
|
to: erc20Address,
|
|
@@ -28,7 +28,7 @@ exports.accountTransferStrategy = {
|
|
|
28
28
|
args: [to, value],
|
|
29
29
|
}),
|
|
30
30
|
}),
|
|
31
|
-
network
|
|
31
|
+
network,
|
|
32
32
|
});
|
|
33
33
|
const result = await apiClient.sendEvmTransaction(from.address, {
|
|
34
34
|
transaction: (0, serializeTransaction_js_1.serializeEIP1559Transaction)({
|
|
@@ -39,18 +39,22 @@ exports.accountTransferStrategy = {
|
|
|
39
39
|
args: [to, value],
|
|
40
40
|
}),
|
|
41
41
|
}),
|
|
42
|
-
network
|
|
42
|
+
network,
|
|
43
43
|
});
|
|
44
44
|
return result.transactionHash;
|
|
45
45
|
}
|
|
46
46
|
})();
|
|
47
47
|
return transactionHash;
|
|
48
48
|
},
|
|
49
|
-
waitForResult: async ({ publicClient, hash }) => {
|
|
49
|
+
waitForResult: async ({ publicClient, hash, waitOptions }) => {
|
|
50
50
|
let receipt;
|
|
51
51
|
try {
|
|
52
52
|
receipt = await publicClient.waitForTransactionReceipt({
|
|
53
53
|
hash,
|
|
54
|
+
pollingInterval: waitOptions?.intervalSeconds
|
|
55
|
+
? waitOptions.intervalSeconds * 1000
|
|
56
|
+
: undefined,
|
|
57
|
+
timeout: waitOptions?.timeoutSeconds ? waitOptions.timeoutSeconds * 1000 : undefined,
|
|
54
58
|
});
|
|
55
59
|
}
|
|
56
60
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountTransferStrategy.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/accountTransferStrategy.ts"],"names":[],"mappings":";;;AAAA,+BAMc;AAGd,yCAA6C;AAE7C,oFAAqF;AAExE,QAAA,uBAAuB,GAA0C;IAC5E,eAAe,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"accountTransferStrategy.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/accountTransferStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,13 @@ const utils_js_1 = require("./utils.js");
|
|
|
6
6
|
const sendUserOperation_js_1 = require("../sendUserOperation.js");
|
|
7
7
|
const waitForUserOperation_js_1 = require("../waitForUserOperation.js");
|
|
8
8
|
exports.smartAccountTransferStrategy = {
|
|
9
|
-
executeTransfer: async ({ apiClient, from,
|
|
9
|
+
executeTransfer: async ({ apiClient, from, to, value, token, network, paymasterUrl }) => {
|
|
10
10
|
const userOpHash = await (async () => {
|
|
11
|
-
if (
|
|
11
|
+
if (token === "eth") {
|
|
12
12
|
const result = await (0, sendUserOperation_js_1.sendUserOperation)(apiClient, {
|
|
13
13
|
smartAccount: from,
|
|
14
|
-
|
|
14
|
+
paymasterUrl,
|
|
15
|
+
network,
|
|
15
16
|
calls: [
|
|
16
17
|
{
|
|
17
18
|
to,
|
|
@@ -23,10 +24,11 @@ exports.smartAccountTransferStrategy = {
|
|
|
23
24
|
return result.userOpHash;
|
|
24
25
|
}
|
|
25
26
|
else {
|
|
26
|
-
const erc20Address = (0, utils_js_1.getErc20Address)(
|
|
27
|
+
const erc20Address = (0, utils_js_1.getErc20Address)(token, network);
|
|
27
28
|
const result = await (0, sendUserOperation_js_1.sendUserOperation)(apiClient, {
|
|
28
29
|
smartAccount: from,
|
|
29
|
-
|
|
30
|
+
paymasterUrl,
|
|
31
|
+
network,
|
|
30
32
|
calls: [
|
|
31
33
|
{
|
|
32
34
|
to: erc20Address,
|
|
@@ -51,10 +53,11 @@ exports.smartAccountTransferStrategy = {
|
|
|
51
53
|
})();
|
|
52
54
|
return userOpHash;
|
|
53
55
|
},
|
|
54
|
-
waitForResult: async ({ apiClient, publicClient, from, hash }) => {
|
|
56
|
+
waitForResult: async ({ apiClient, publicClient, from, hash, waitOptions }) => {
|
|
55
57
|
const result = await (0, waitForUserOperation_js_1.waitForUserOperation)(apiClient, {
|
|
56
58
|
smartAccountAddress: from.address,
|
|
57
59
|
userOpHash: hash,
|
|
60
|
+
waitOptions,
|
|
58
61
|
});
|
|
59
62
|
if (result.status === "complete") {
|
|
60
63
|
return { status: "success", transactionHash: hash };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartAccountTransferStrategy.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/smartAccountTransferStrategy.ts"],"names":[],"mappings":";;;AAAA,+BAAoD;AAGpD,yCAA6C;AAE7C,kEAA4D;AAC5D,wEAAkE;AAErD,QAAA,4BAA4B,GAA+C;IACtF,eAAe,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"smartAccountTransferStrategy.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/smartAccountTransferStrategy.ts"],"names":[],"mappings":";;;AAAA,+BAAoD;AAGpD,yCAA6C;AAE7C,kEAA4D;AAC5D,wEAAkE;AAErD,QAAA,4BAA4B,GAA+C;IACtF,eAAe,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;QACtF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAiB,EAAC,SAAS,EAAE;oBAChD,YAAY,EAAE,IAAI;oBAClB,YAAY;oBACZ,OAAO;oBACP,KAAK,EAAE;wBACL;4BACE,EAAE;4BACF,KAAK;4BACL,IAAI,EAAE,IAAI;yBACX;qBACF;iBACF,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,UAAU,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,IAAA,0BAAe,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAErD,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAiB,EAAC,SAAS,EAAE;oBAChD,YAAY,EAAE,IAAI;oBAClB,YAAY;oBACZ,OAAO;oBACP,KAAK,EAAE;wBACL;4BACE,EAAE,EAAE,YAAY;4BAChB,IAAI,EAAE,IAAA,yBAAkB,EAAC;gCACvB,GAAG,EAAE,eAAQ;gCACb,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC;6BAClB,CAAC;yBACH;wBACD;4BACE,EAAE,EAAE,YAAY;4BAChB,IAAI,EAAE,IAAA,yBAAkB,EAAC;gCACvB,GAAG,EAAE,eAAQ;gCACb,YAAY,EAAE,UAAU;gCACxB,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC;6BAClB,CAAC;yBACH;qBACF;iBACF,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC,UAAU,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,aAAa,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAA,8CAAoB,EAAC,SAAS,EAAE;YACnD,mBAAmB,EAAE,IAAI,CAAC,OAAO;YACjC,UAAU,EAAE,IAAI;YAChB,WAAW;SACZ,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,8DAA8D,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,OAAO,IAAI,EAAE,CAC1H,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -41,18 +41,22 @@ async function transfer(apiClient, from, transferArgs, transferStrategy) {
|
|
|
41
41
|
})();
|
|
42
42
|
return (0, viem_1.parseUnits)(transferArgs.amount, decimals);
|
|
43
43
|
})();
|
|
44
|
-
const
|
|
44
|
+
const transfer = {
|
|
45
45
|
apiClient,
|
|
46
46
|
from,
|
|
47
|
-
transferArgs,
|
|
48
47
|
to,
|
|
49
48
|
value,
|
|
50
|
-
|
|
49
|
+
token: transferArgs.token,
|
|
50
|
+
network: transferArgs.network,
|
|
51
|
+
paymasterUrl: "paymasterUrl" in transferArgs ? transferArgs.paymasterUrl : undefined,
|
|
52
|
+
};
|
|
53
|
+
const hash = await transferStrategy.executeTransfer(transfer);
|
|
51
54
|
const result = await transferStrategy.waitForResult({
|
|
52
55
|
apiClient,
|
|
53
56
|
publicClient,
|
|
54
57
|
from,
|
|
55
58
|
hash,
|
|
59
|
+
waitOptions: transferArgs.waitOptions,
|
|
56
60
|
});
|
|
57
61
|
return result;
|
|
58
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/transfer.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../../actions/evm/transfer/transfer.ts"],"names":[],"mappings":";;AAsBA,4BA2DC;AAjFD,+BAAiG;AAEjG,yCAA+C;AAW/C;;;;;;;;GAQG;AACI,KAAK,UAAU,QAAQ,CAC5B,SAA+B,EAC/B,IAAO,EACP,YAA8F,EAC9F,gBAA8C;IAE9C,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAmB;QACxD,KAAK,EAAE,IAAA,4BAAiB,EAAC,YAAY,CAAC,OAAO,CAAC;QAC9C,SAAS,EAAE,IAAA,WAAI,GAAE;KAClB,CAAC,CAAC;IAEH,MAAM,EAAE,GACN,OAAO,YAAY,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAE,YAAY,CAAC,EAAE,CAAC,OAAmB,CAAC;IAE/F,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QAC9B,+EAA+E;QAC/E,IAAI,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,YAAY,CAAC,MAAM,CAAC;QAC7B,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;YACjC,IAAI,YAAY,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACjC,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,YAAY,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBACzC,OAAO,CAAC,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,OAAO,YAAY,CAAC,YAAY,CAAC;oBAC/B,OAAO,EAAE,YAAY,CAAC,KAAK;oBAC3B,GAAG,EAAE,eAAQ;oBACb,YAAY,EAAE,UAAU;oBACxB,IAAI,EAAE,EAAE;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,IAAA,iBAAU,EAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,QAAQ,GAAG;QACf,SAAS;QACT,IAAI;QACJ,EAAE;QACF,KAAK;QACL,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,YAAY,EAAE,cAAc,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;KACrF,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC;QAClD,SAAS;QACT,YAAY;QACZ,IAAI;QACJ,IAAI;QACJ,WAAW,EAAE,YAAY,CAAC,WAAW;KACtC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.requestFaucet = requestFaucet;
|
|
4
|
+
/**
|
|
5
|
+
* Requests funds from a Solana faucet.
|
|
6
|
+
*
|
|
7
|
+
* @param apiClient - The API client.
|
|
8
|
+
* @param {RequestFaucetOptions} options - Parameters for requesting funds from the Solana faucet.
|
|
9
|
+
* @param {string} options.address - The address to request funds for.
|
|
10
|
+
* @param {string} options.token - The token to request funds for.
|
|
11
|
+
* @param {string} [options.idempotencyKey] - An idempotency key.
|
|
12
|
+
*
|
|
13
|
+
* @returns A promise that resolves to the transaction signature.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* const signature = await requestFaucet(cdp.solana, {
|
|
18
|
+
* address: "1234567890123456789012345678901234567890",
|
|
19
|
+
* token: "sol",
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
async function requestFaucet(apiClient, options) {
|
|
24
|
+
const signature = await apiClient.requestSolanaFaucet({ address: options.address, token: options.token }, options.idempotencyKey);
|
|
25
|
+
return {
|
|
26
|
+
signature: signature.transactionSignature,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=requestFaucet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestFaucet.js","sourceRoot":"","sources":["../../../actions/solana/requestFaucet.ts"],"names":[],"mappings":";;AAsBA,sCAYC;AA/BD;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,aAAa,CACjC,SAA+B,EAC/B,OAA6B;IAE7B,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,mBAAmB,CACnD,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAClD,OAAO,CAAC,cAAc,CACvB,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,oBAAoB;KAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.signMessage = signMessage;
|
|
4
|
+
/**
|
|
5
|
+
* Sign a message.
|
|
6
|
+
*
|
|
7
|
+
* @param apiClient - The API client.
|
|
8
|
+
* @param {SignMessageOptions} options - Parameters for signing the message.
|
|
9
|
+
* @param {string} options.address - The address to sign the message for.
|
|
10
|
+
* @param {string} options.message - The message to sign.
|
|
11
|
+
* @param {string} [options.idempotencyKey] - An idempotency key.
|
|
12
|
+
*
|
|
13
|
+
* @returns A promise that resolves to the transaction signature.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* const signature = await signMessage(cdp.solana, {
|
|
18
|
+
* address: "1234567890123456789012345678901234567890",
|
|
19
|
+
* message: "Hello, world!",
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
async function signMessage(apiClient, options) {
|
|
24
|
+
const signature = await apiClient.signSolanaMessage(options.address, { message: options.message }, options.idempotencyKey);
|
|
25
|
+
return {
|
|
26
|
+
signature: signature.signature,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=signMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../actions/solana/signMessage.ts"],"names":[],"mappings":";;AAsBA,kCAaC;AAhCD;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,WAAW,CAC/B,SAA+B,EAC/B,OAA2B;IAE3B,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,iBAAiB,CACjD,OAAO,CAAC,OAAO,EACf,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAC5B,OAAO,CAAC,cAAc,CACvB,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,SAAS;KAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.signTransaction = signTransaction;
|
|
4
|
+
/**
|
|
5
|
+
* Signs a transaction.
|
|
6
|
+
*
|
|
7
|
+
* @param apiClient - The API client.
|
|
8
|
+
* @param {SignTransactionOptions} options - Parameters for signing the transaction.
|
|
9
|
+
* @param {string} options.address - The address to sign the transaction for.
|
|
10
|
+
* @param {string} options.transaction - The transaction to sign.
|
|
11
|
+
* @param {string} [options.idempotencyKey] - An idempotency key.
|
|
12
|
+
*
|
|
13
|
+
* @returns A promise that resolves to the signature.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* // Create a Solana account
|
|
18
|
+
* const account = await cdp.solana.createAccount();
|
|
19
|
+
*
|
|
20
|
+
* // Add your transaction instructions here
|
|
21
|
+
* const transaction = new Transaction()
|
|
22
|
+
*
|
|
23
|
+
* // Make sure to set requireAllSignatures to false, since signing will be done through the API
|
|
24
|
+
* const serializedTransaction = transaction.serialize({
|
|
25
|
+
* requireAllSignatures: false,
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* // Base64 encode the serialized transaction
|
|
29
|
+
* const transaction = Buffer.from(serializedTransaction).toString("base64");
|
|
30
|
+
*
|
|
31
|
+
* // When you want to sign a transaction, you can do so by address and base64 encoded transaction
|
|
32
|
+
* const signature = await signTransaction(cdp.solana, {
|
|
33
|
+
* address: account.address,
|
|
34
|
+
* transaction,
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
async function signTransaction(apiClient, options) {
|
|
39
|
+
const signature = await apiClient.signSolanaTransaction(options.address, {
|
|
40
|
+
transaction: options.transaction,
|
|
41
|
+
}, options.idempotencyKey);
|
|
42
|
+
return {
|
|
43
|
+
signature: signature.signedTransaction,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=signTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signTransaction.js","sourceRoot":"","sources":["../../../actions/solana/signTransaction.ts"],"names":[],"mappings":";;AAqCA,0CAeC;AAjDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACI,KAAK,UAAU,eAAe,CACnC,SAA+B,EAC/B,OAA+B;IAE/B,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,qBAAqB,CACrD,OAAO,CAAC,OAAO,EACf;QACE,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,EACD,OAAO,CAAC,cAAc,CACvB,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,iBAAiB;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../actions/solana/types.ts"],"names":[],"mappings":""}
|
package/_cjs/client/evm/evm.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EvmClient = void 0;
|
|
4
4
|
const toEvmServerAccount_js_1 = require("../../accounts/evm/toEvmServerAccount.js");
|
|
5
5
|
const toEvmSmartAccount_js_1 = require("../../accounts/evm/toEvmSmartAccount.js");
|
|
6
|
+
const getUserOperation_js_1 = require("../../actions/evm/getUserOperation.js");
|
|
6
7
|
const listTokenBalances_js_1 = require("../../actions/evm/listTokenBalances.js");
|
|
7
8
|
const requestFaucet_js_1 = require("../../actions/evm/requestFaucet.js");
|
|
8
9
|
const sendTransaction_js_1 = require("../../actions/evm/sendTransaction.js");
|
|
@@ -234,18 +235,7 @@ class EvmClient {
|
|
|
234
235
|
* ```
|
|
235
236
|
*/
|
|
236
237
|
async getUserOperation(options) {
|
|
237
|
-
|
|
238
|
-
return {
|
|
239
|
-
calls: userOp.calls.map(call => ({
|
|
240
|
-
to: call.to,
|
|
241
|
-
value: BigInt(call.value),
|
|
242
|
-
data: call.data,
|
|
243
|
-
})),
|
|
244
|
-
network: userOp.network,
|
|
245
|
-
status: userOp.status,
|
|
246
|
-
transactionHash: userOp.transactionHash,
|
|
247
|
-
userOpHash: userOp.userOpHash,
|
|
248
|
-
};
|
|
238
|
+
return (0, getUserOperation_js_1.getUserOperation)(index_js_1.CdpOpenApiClient, options);
|
|
249
239
|
}
|
|
250
240
|
/**
|
|
251
241
|
* Lists CDP EVM accounts.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../client/evm/evm.ts"],"names":[],"mappings":";;;AAwBA,oFAA8E;AAC9E,kFAA4E;AAC5E,iFAIgD;AAChD,yEAI4C;AAC5C,6EAAuE;AACvE,iFAIgD;AAChD,uFAGmD;AACnD,8DAA0D;AAC1D,4DAAiE;
|
|
1
|
+
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../client/evm/evm.ts"],"names":[],"mappings":"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"}
|