@coinbase/cdp-sdk 1.25.0 → 1.27.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 +20 -0
- package/README.md +58 -2
- package/_cjs/accounts/evm/networkToChainResolver.js +68 -0
- package/_cjs/accounts/evm/networkToChainResolver.js.map +1 -0
- package/_cjs/accounts/evm/resolveViemClients.js +6 -32
- package/_cjs/accounts/evm/resolveViemClients.js.map +1 -1
- package/_cjs/accounts/evm/toEvmServerAccount.js +84 -0
- package/_cjs/accounts/evm/toEvmServerAccount.js.map +1 -1
- package/_cjs/accounts/evm/toEvmSmartAccount.js +93 -0
- package/_cjs/accounts/evm/toEvmSmartAccount.js.map +1 -1
- package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js +19 -7
- package/_cjs/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -1
- package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js +65 -0
- package/_cjs/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
- package/_cjs/accounts/solana/toSolanaAccount.js +20 -0
- package/_cjs/accounts/solana/toSolanaAccount.js.map +1 -1
- package/_cjs/actions/evm/fund/fund.js +3 -2
- package/_cjs/actions/evm/fund/fund.js.map +1 -1
- package/_cjs/actions/evm/fund/quoteFund.js +3 -2
- package/_cjs/actions/evm/fund/quoteFund.js.map +1 -1
- package/_cjs/actions/solana/sendTransaction.js +32 -0
- package/_cjs/actions/solana/sendTransaction.js.map +1 -0
- package/_cjs/analytics.js +39 -3
- package/_cjs/analytics.js.map +1 -1
- package/_cjs/auth/utils/jwt.js +6 -5
- package/_cjs/auth/utils/jwt.js.map +1 -1
- package/_cjs/client/cdp.js +4 -1
- package/_cjs/client/cdp.js.map +1 -1
- package/_cjs/client/evm/evm.js +116 -10
- package/_cjs/client/evm/evm.js.map +1 -1
- package/_cjs/client/policies/policies.js +22 -0
- package/_cjs/client/policies/policies.js.map +1 -1
- package/_cjs/client/solana/solana.js +85 -8
- package/_cjs/client/solana/solana.js.map +1 -1
- package/_cjs/constants.js +1 -1
- package/_cjs/constants.js.map +1 -1
- package/_cjs/errors.js +19 -1
- package/_cjs/errors.js.map +1 -1
- package/_cjs/index.js +3 -1
- package/_cjs/index.js.map +1 -1
- package/_cjs/openapi-client/cdpApiClient.js +46 -6
- package/_cjs/openapi-client/cdpApiClient.js.map +1 -1
- package/_cjs/openapi-client/errors.js +38 -9
- package/_cjs/openapi-client/errors.js.map +1 -1
- package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +6 -1
- package/_cjs/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
- package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js +34 -1
- package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
- package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js +18 -1
- package/_cjs/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
- package/_cjs/version.js +1 -1
- package/_esm/accounts/evm/networkToChainResolver.js +31 -0
- package/_esm/accounts/evm/networkToChainResolver.js.map +1 -0
- package/_esm/accounts/evm/resolveViemClients.js +4 -30
- package/_esm/accounts/evm/resolveViemClients.js.map +1 -1
- package/_esm/accounts/evm/toEvmServerAccount.js +84 -0
- package/_esm/accounts/evm/toEvmServerAccount.js.map +1 -1
- package/_esm/accounts/evm/toEvmSmartAccount.js +93 -0
- package/_esm/accounts/evm/toEvmSmartAccount.js.map +1 -1
- package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js +19 -7
- package/_esm/accounts/evm/toNetworkScopedEvmServerAccount.js.map +1 -1
- package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js +65 -0
- package/_esm/accounts/evm/toNetworkScopedEvmSmartAccount.js.map +1 -1
- package/_esm/accounts/solana/toSolanaAccount.js +20 -0
- package/_esm/accounts/solana/toSolanaAccount.js.map +1 -1
- package/_esm/actions/evm/fund/fund.js +3 -2
- package/_esm/actions/evm/fund/fund.js.map +1 -1
- package/_esm/actions/evm/fund/quoteFund.js +3 -2
- package/_esm/actions/evm/fund/quoteFund.js.map +1 -1
- package/_esm/actions/solana/sendTransaction.js +29 -0
- package/_esm/actions/solana/sendTransaction.js.map +1 -0
- package/_esm/analytics.js +39 -3
- package/_esm/analytics.js.map +1 -1
- package/_esm/auth/utils/jwt.js +3 -2
- package/_esm/auth/utils/jwt.js.map +1 -1
- package/_esm/client/cdp.js +4 -1
- package/_esm/client/cdp.js.map +1 -1
- package/_esm/client/evm/evm.js +110 -4
- package/_esm/client/evm/evm.js.map +1 -1
- package/_esm/client/policies/policies.js +22 -0
- package/_esm/client/policies/policies.js.map +1 -1
- package/_esm/client/solana/solana.js +82 -5
- package/_esm/client/solana/solana.js.map +1 -1
- package/_esm/constants.js +1 -1
- package/_esm/constants.js.map +1 -1
- package/_esm/errors.js +17 -0
- package/_esm/errors.js.map +1 -1
- package/_esm/index.js +1 -0
- package/_esm/index.js.map +1 -1
- package/_esm/openapi-client/cdpApiClient.js +47 -7
- package/_esm/openapi-client/cdpApiClient.js.map +1 -1
- package/_esm/openapi-client/errors.js +36 -8
- package/_esm/openapi-client/errors.js.map +1 -1
- package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js +5 -0
- package/_esm/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.js.map +1 -1
- package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js +32 -0
- package/_esm/openapi-client/generated/solana-accounts/solana-accounts.js.map +1 -1
- package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js +15 -0
- package/_esm/openapi-client/generated/solana-accounts/solana-accounts.msw.js.map +1 -1
- package/_esm/version.js +1 -1
- package/_types/accounts/evm/networkToChainResolver.d.ts +14 -0
- package/_types/accounts/evm/networkToChainResolver.d.ts.map +1 -0
- package/_types/accounts/evm/resolveViemClients.d.ts.map +1 -1
- package/_types/accounts/evm/toEvmServerAccount.d.ts.map +1 -1
- package/_types/accounts/evm/toEvmSmartAccount.d.ts.map +1 -1
- package/_types/accounts/evm/toNetworkScopedEvmServerAccount.d.ts.map +1 -1
- package/_types/accounts/evm/toNetworkScopedEvmSmartAccount.d.ts.map +1 -1
- package/_types/accounts/evm/types.d.ts +3 -3
- package/_types/accounts/evm/types.d.ts.map +1 -1
- package/_types/accounts/solana/toSolanaAccount.d.ts.map +1 -1
- package/_types/actions/evm/fund/fund.d.ts.map +1 -1
- package/_types/actions/evm/fund/quoteFund.d.ts.map +1 -1
- package/_types/actions/evm/types.d.ts +36 -3
- package/_types/actions/evm/types.d.ts.map +1 -1
- package/_types/actions/solana/sendTransaction.d.ts +23 -0
- package/_types/actions/solana/sendTransaction.d.ts.map +1 -0
- package/_types/analytics.d.ts +36 -1
- package/_types/analytics.d.ts.map +1 -1
- package/_types/auth/utils/jwt.d.ts.map +1 -1
- package/_types/client/cdp.d.ts.map +1 -1
- package/_types/client/evm/evm.d.ts +1 -0
- package/_types/client/evm/evm.d.ts.map +1 -1
- package/_types/client/policies/policies.d.ts.map +1 -1
- package/_types/client/solana/solana.d.ts +21 -2
- package/_types/client/solana/solana.d.ts.map +1 -1
- package/_types/client/solana/solana.types.d.ts +22 -3
- package/_types/client/solana/solana.types.d.ts.map +1 -1
- package/_types/constants.d.ts +1 -1
- package/_types/constants.d.ts.map +1 -1
- package/_types/errors.d.ts +11 -0
- package/_types/errors.d.ts.map +1 -1
- package/_types/index.d.ts +1 -0
- package/_types/index.d.ts.map +1 -1
- package/_types/openapi-client/cdpApiClient.d.ts.map +1 -1
- package/_types/openapi-client/errors.d.ts +46 -9
- package/_types/openapi-client/errors.d.ts.map +1 -1
- package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts +18 -0
- package/_types/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.d.ts.map +1 -1
- package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts +27 -1
- package/_types/openapi-client/generated/solana-accounts/solana-accounts.d.ts.map +1 -1
- package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts +3 -1
- package/_types/openapi-client/generated/solana-accounts/solana-accounts.msw.d.ts.map +1 -1
- package/_types/openapi-client/index.d.ts +2 -0
- package/_types/openapi-client/index.d.ts.map +1 -1
- package/_types/version.d.ts +1 -1
- package/accounts/evm/networkToChainResolver.ts +34 -0
- package/accounts/evm/resolveViemClients.ts +6 -32
- package/accounts/evm/toEvmServerAccount.ts +98 -0
- package/accounts/evm/toEvmSmartAccount.ts +114 -2
- package/accounts/evm/toNetworkScopedEvmServerAccount.ts +22 -8
- package/accounts/evm/toNetworkScopedEvmSmartAccount.ts +75 -0
- package/accounts/evm/types.ts +3 -3
- package/accounts/solana/toSolanaAccount.ts +24 -0
- package/actions/evm/fund/fund.ts +3 -2
- package/actions/evm/fund/quoteFund.ts +3 -2
- package/actions/evm/types.ts +41 -2
- package/actions/solana/sendTransaction.ts +38 -0
- package/analytics.ts +73 -4
- package/auth/utils/jwt.ts +5 -2
- package/client/cdp.ts +7 -1
- package/client/evm/evm.ts +135 -6
- package/client/policies/policies.ts +28 -0
- package/client/solana/solana.ts +97 -5
- package/client/solana/solana.types.ts +25 -1
- package/constants.ts +1 -1
- package/errors.ts +18 -0
- package/index.ts +1 -0
- package/openapi-client/cdpApiClient.ts +87 -17
- package/openapi-client/errors.ts +65 -10
- package/openapi-client/generated/coinbaseDeveloperPlatformAPIs.schemas.ts +24 -0
- package/openapi-client/generated/solana-accounts/solana-accounts.msw.ts +32 -0
- package/openapi-client/generated/solana-accounts/solana-accounts.ts +43 -0
- package/package.json +1 -1
- package/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# CDP SDK Changelog
|
|
2
2
|
|
|
3
|
+
## 1.27.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#291](https://github.com/coinbase/cdp-sdk/pull/291) [`2f91319`](https://github.com/coinbase/cdp-sdk/commit/2f91319c3e74a4d5a437222e16b4b891cda74a97) Thanks [@marcin-cb](https://github.com/marcin-cb)! - Added SendTransaction method to the Solana client
|
|
8
|
+
|
|
9
|
+
- [#293](https://github.com/coinbase/cdp-sdk/pull/293) [`da89fd1`](https://github.com/coinbase/cdp-sdk/commit/da89fd120f37788d9f917d0cc0969396fba98d78) Thanks [@0xRAG](https://github.com/0xRAG)! - Improved network error handling
|
|
10
|
+
|
|
11
|
+
## 1.26.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [#284](https://github.com/coinbase/cdp-sdk/pull/284) [`8f62c03`](https://github.com/coinbase/cdp-sdk/commit/8f62c039acebdee3bc2d40abe9fcb02f301d4b8d) Thanks [@0xRAG](https://github.com/0xRAG)! - Added signTypedData on EvmSmartAccount
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [#282](https://github.com/coinbase/cdp-sdk/pull/282) [`d125258`](https://github.com/coinbase/cdp-sdk/commit/d125258c2dcf3fe6104cf9df0290d9904c2019fb) Thanks [@sddioulde](https://github.com/sddioulde)! - Made solana mainnet default network for listTokenBalances
|
|
20
|
+
|
|
21
|
+
- [#281](https://github.com/coinbase/cdp-sdk/pull/281) [`8a8d687`](https://github.com/coinbase/cdp-sdk/commit/8a8d687e4410abe277f932afd19f0e19cc5a5bf6) Thanks [@0xRAG](https://github.com/0xRAG)! - Fixed network scoped server account transfer
|
|
22
|
+
|
|
3
23
|
## 1.25.0
|
|
4
24
|
|
|
5
25
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
- [Policy Management](#policy-management)
|
|
20
20
|
- [Authentication tools](#authentication-tools)
|
|
21
21
|
- [Error Reporting](#error-reporting)
|
|
22
|
+
- [Usage Tracking](#usage-tracking)
|
|
22
23
|
- [License](#license)
|
|
23
24
|
- [Support](#support)
|
|
24
25
|
- [Security](#security)
|
|
@@ -351,7 +352,58 @@ console.log(`Transaction confirmed! Explorer link: https://sepolia.basescan.org/
|
|
|
351
352
|
|
|
352
353
|
#### Solana
|
|
353
354
|
|
|
354
|
-
|
|
355
|
+
You can use CDP SDK to send transactions on Solana.
|
|
356
|
+
|
|
357
|
+
For complete examples, check out [sendTransaction.ts](https://github.com/coinbase/cdp-sdk/blob/main/examples/typescript/solana/sendTransaction.ts), [sendManyTransactions.ts](https://github.com/coinbase/cdp-sdk/blob/main/examples/typescript/solana/sendManyTransactions.ts), and [sendManyBatchedTransactions.ts](https://github.com/coinbase/cdp-sdk/blob/main/examples/typescript/solana/sendManyBatchedTransactions.ts).
|
|
358
|
+
|
|
359
|
+
```typescript
|
|
360
|
+
import { CdpClient } from "@coinbase/cdp-sdk";
|
|
361
|
+
import "dotenv/config";
|
|
362
|
+
|
|
363
|
+
import {
|
|
364
|
+
PublicKey,
|
|
365
|
+
SystemProgram,
|
|
366
|
+
SYSVAR_RECENT_BLOCKHASHES_PUBKEY,
|
|
367
|
+
Transaction,
|
|
368
|
+
} from "@solana/web3.js";
|
|
369
|
+
|
|
370
|
+
const cdp = new CdpClient();
|
|
371
|
+
|
|
372
|
+
const account = await cdp.solana.createAccount();
|
|
373
|
+
|
|
374
|
+
const faucetResp = await cdp.solana.requestFaucet({
|
|
375
|
+
address: account.address,
|
|
376
|
+
token: "sol",
|
|
377
|
+
});
|
|
378
|
+
|
|
379
|
+
const transaction = new Transaction();
|
|
380
|
+
transaction.add(
|
|
381
|
+
SystemProgram.transfer({
|
|
382
|
+
fromPubkey: new PublicKey(account.address),
|
|
383
|
+
toPubkey: new PublicKey("3KzDtddx4i53FBkvCzuDmRbaMozTZoJBb1TToWhz3JfE"),
|
|
384
|
+
lamports: 10000,
|
|
385
|
+
})
|
|
386
|
+
);
|
|
387
|
+
|
|
388
|
+
// A more recent blockhash is set in the backend by CDP
|
|
389
|
+
transaction.recentBlockhash = SYSVAR_RECENT_BLOCKHASHES_PUBKEY.toBase58();
|
|
390
|
+
transaction.feePayer = new PublicKey(account.address);
|
|
391
|
+
|
|
392
|
+
const serializedTx = Buffer.from(
|
|
393
|
+
transaction.serialize({ requireAllSignatures: false })
|
|
394
|
+
).toString("base64");
|
|
395
|
+
|
|
396
|
+
console.log("Transaction serialized successfully");
|
|
397
|
+
|
|
398
|
+
const txResult = await cdp.solana.sendTransaction({
|
|
399
|
+
network: "solana-devnet",
|
|
400
|
+
transaction: serializedTx,
|
|
401
|
+
});
|
|
402
|
+
|
|
403
|
+
console.log(
|
|
404
|
+
`Transaction confirmed! Explorer link: https://explorer.solana.com/tx/${txResult.signature}?cluster=devnet`
|
|
405
|
+
);
|
|
406
|
+
```
|
|
355
407
|
|
|
356
408
|
### EVM Smart Accounts
|
|
357
409
|
|
|
@@ -1024,12 +1076,16 @@ This SDK also contains simple tools for authenticating REST API requests to the
|
|
|
1024
1076
|
|
|
1025
1077
|
## Error Reporting
|
|
1026
1078
|
|
|
1027
|
-
This SDK contains error reporting functionality that sends error events to
|
|
1079
|
+
This SDK contains error reporting functionality that sends error events to CDP. If you would like to disable this behavior, you can set the `DISABLE_CDP_ERROR_REPORTING` environment variable to `true`.
|
|
1028
1080
|
|
|
1029
1081
|
```bash
|
|
1030
1082
|
DISABLE_CDP_ERROR_REPORTING=true
|
|
1031
1083
|
```
|
|
1032
1084
|
|
|
1085
|
+
## Usage Tracking
|
|
1086
|
+
|
|
1087
|
+
This SDK contains usage tracking functionality that sends usage events to CDP. If you would like to disable this behavior, you can set the `DISABLE_CDP_USAGE_TRACKING` environment variable to `true`.
|
|
1088
|
+
|
|
1033
1089
|
## License
|
|
1034
1090
|
|
|
1035
1091
|
This project is licensed under the MIT License - see the [LICENSE](https://github.com/coinbase/cdp-sdk/tree/main/LICENSE.md) file for details.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.NETWORK_TO_CHAIN_MAP = void 0;
|
|
37
|
+
exports.resolveNetworkToChain = resolveNetworkToChain;
|
|
38
|
+
const chains = __importStar(require("viem/chains"));
|
|
39
|
+
/**
|
|
40
|
+
* Network identifier to viem chain mapping
|
|
41
|
+
*/
|
|
42
|
+
exports.NETWORK_TO_CHAIN_MAP = {
|
|
43
|
+
base: chains.base,
|
|
44
|
+
"base-sepolia": chains.baseSepolia,
|
|
45
|
+
ethereum: chains.mainnet,
|
|
46
|
+
"ethereum-sepolia": chains.sepolia,
|
|
47
|
+
polygon: chains.polygon,
|
|
48
|
+
"polygon-mumbai": chains.polygonMumbai,
|
|
49
|
+
arbitrum: chains.arbitrum,
|
|
50
|
+
"arbitrum-sepolia": chains.arbitrumSepolia,
|
|
51
|
+
optimism: chains.optimism,
|
|
52
|
+
"optimism-sepolia": chains.optimismSepolia,
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Resolves a network identifier to a viem chain
|
|
56
|
+
*
|
|
57
|
+
* @param network - The network identifier to resolve
|
|
58
|
+
* @returns The resolved viem chain
|
|
59
|
+
* @throws Error if the network identifier is not supported
|
|
60
|
+
*/
|
|
61
|
+
function resolveNetworkToChain(network) {
|
|
62
|
+
const chain = exports.NETWORK_TO_CHAIN_MAP[network.toLowerCase()];
|
|
63
|
+
if (!chain) {
|
|
64
|
+
throw new Error(`Unsupported network identifier: ${network}`);
|
|
65
|
+
}
|
|
66
|
+
return chain;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=networkToChainResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkToChainResolver.js","sourceRoot":"","sources":["../../../accounts/evm/networkToChainResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,sDAMC;AAjCD,oDAAsC;AAItC;;GAEG;AACU,QAAA,oBAAoB,GAA0B;IACzD,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,cAAc,EAAE,MAAM,CAAC,WAAW;IAClC,QAAQ,EAAE,MAAM,CAAC,OAAO;IACxB,kBAAkB,EAAE,MAAM,CAAC,OAAO;IAClC,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,gBAAgB,EAAE,MAAM,CAAC,aAAa;IACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ;IACzB,kBAAkB,EAAE,MAAM,CAAC,eAAe;IAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;IACzB,kBAAkB,EAAE,MAAM,CAAC,eAAe;CAC3C,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,OAAe;IACnD,MAAM,KAAK,GAAG,4BAAoB,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -38,21 +38,8 @@ const viem_1 = require("viem");
|
|
|
38
38
|
const accounts_1 = require("viem/accounts");
|
|
39
39
|
const chains = __importStar(require("viem/chains"));
|
|
40
40
|
const getBaseNodeRpcUrl_js_1 = require("./getBaseNodeRpcUrl.js");
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
*/
|
|
44
|
-
const NETWORK_TO_CHAIN_MAP = {
|
|
45
|
-
base: chains.base,
|
|
46
|
-
"base-sepolia": chains.baseSepolia,
|
|
47
|
-
ethereum: chains.mainnet,
|
|
48
|
-
"ethereum-sepolia": chains.sepolia,
|
|
49
|
-
polygon: chains.polygon,
|
|
50
|
-
"polygon-mumbai": chains.polygonMumbai,
|
|
51
|
-
arbitrum: chains.arbitrum,
|
|
52
|
-
"arbitrum-sepolia": chains.arbitrumSepolia,
|
|
53
|
-
optimism: chains.optimism,
|
|
54
|
-
"optimism-sepolia": chains.optimismSepolia,
|
|
55
|
-
};
|
|
41
|
+
const networkToChainResolver_js_1 = require("./networkToChainResolver.js");
|
|
42
|
+
const errors_js_1 = require("../../errors.js");
|
|
56
43
|
/**
|
|
57
44
|
* Get a chain from the viem chains object
|
|
58
45
|
*
|
|
@@ -74,20 +61,7 @@ function getChain(id) {
|
|
|
74
61
|
*/
|
|
75
62
|
function isNetworkIdentifier(input) {
|
|
76
63
|
const normalizedInput = input.toLowerCase();
|
|
77
|
-
return NETWORK_TO_CHAIN_MAP[normalizedInput] !== undefined;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Resolves a network identifier to a viem chain
|
|
81
|
-
*
|
|
82
|
-
* @param network - The network identifier to resolve
|
|
83
|
-
* @returns The resolved viem chain
|
|
84
|
-
*/
|
|
85
|
-
function resolveNetworkToChain(network) {
|
|
86
|
-
const chain = NETWORK_TO_CHAIN_MAP[network.toLowerCase()];
|
|
87
|
-
if (!chain) {
|
|
88
|
-
throw new Error(`Unsupported network identifier: ${network}`);
|
|
89
|
-
}
|
|
90
|
-
return chain;
|
|
64
|
+
return networkToChainResolver_js_1.NETWORK_TO_CHAIN_MAP[normalizedInput] !== undefined;
|
|
91
65
|
}
|
|
92
66
|
/**
|
|
93
67
|
* Resolves a Node URL to a viem chain by making a getChainId call
|
|
@@ -98,7 +72,7 @@ function resolveNetworkToChain(network) {
|
|
|
98
72
|
async function resolveNodeUrlToChain(nodeUrl) {
|
|
99
73
|
// First validate that it's a proper URL
|
|
100
74
|
if (!isValidUrl(nodeUrl)) {
|
|
101
|
-
throw new
|
|
75
|
+
throw new errors_js_1.UserInputValidationError(`Invalid URL format: ${nodeUrl}`);
|
|
102
76
|
}
|
|
103
77
|
// Create a temporary public client to get the chain ID
|
|
104
78
|
const tempPublicClient = (0, viem_1.createPublicClient)({
|
|
@@ -159,7 +133,7 @@ async function resolveViemClients(options) {
|
|
|
159
133
|
const rpcUrl = networkOrNodeUrl === "base" || networkOrNodeUrl === "base-sepolia"
|
|
160
134
|
? await (0, getBaseNodeRpcUrl_js_1.getBaseNodeRpcUrl)(networkOrNodeUrl)
|
|
161
135
|
: undefined;
|
|
162
|
-
chain = resolveNetworkToChain(networkOrNodeUrl);
|
|
136
|
+
chain = (0, networkToChainResolver_js_1.resolveNetworkToChain)(networkOrNodeUrl);
|
|
163
137
|
const publicClient = (0, viem_1.createPublicClient)({
|
|
164
138
|
chain,
|
|
165
139
|
transport: (0, viem_1.http)(rpcUrl),
|
|
@@ -202,7 +176,7 @@ async function resolveViemClients(options) {
|
|
|
202
176
|
throw error;
|
|
203
177
|
}
|
|
204
178
|
// Otherwise, throw a generic error about unsupported input
|
|
205
|
-
throw new
|
|
179
|
+
throw new errors_js_1.UserInputValidationError(`Unsupported network identifier or invalid Node URL: ${networkOrNodeUrl}`);
|
|
206
180
|
}
|
|
207
181
|
}
|
|
208
182
|
//# sourceMappingURL=resolveViemClients.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveViemClients.js","sourceRoot":"","sources":["../../../accounts/evm/resolveViemClients.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"resolveViemClients.js","sourceRoot":"","sources":["../../../accounts/evm/resolveViemClients.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ const createSwapQuote_js_1 = require("../../actions/evm/swap/createSwapQuote.js"
|
|
|
13
13
|
const sendSwapTransaction_js_1 = require("../../actions/evm/swap/sendSwapTransaction.js");
|
|
14
14
|
const accountTransferStrategy_js_1 = require("../../actions/evm/transfer/accountTransferStrategy.js");
|
|
15
15
|
const transfer_js_1 = require("../../actions/evm/transfer/transfer.js");
|
|
16
|
+
const analytics_js_1 = require("../../analytics.js");
|
|
16
17
|
/**
|
|
17
18
|
* Creates a Server-managed EvmAccount instance from an existing EvmAccount.
|
|
18
19
|
* Use this to interact with previously deployed EvmAccounts, rather than creating new ones.
|
|
@@ -26,24 +27,40 @@ function toEvmServerAccount(apiClient, options) {
|
|
|
26
27
|
const account = {
|
|
27
28
|
address: options.account.address,
|
|
28
29
|
async signMessage({ message }) {
|
|
30
|
+
analytics_js_1.Analytics.trackAction({
|
|
31
|
+
action: "sign_message",
|
|
32
|
+
accountType: "evm_server",
|
|
33
|
+
});
|
|
29
34
|
const result = await apiClient.signEvmMessage(options.account.address, {
|
|
30
35
|
message: message.toString(),
|
|
31
36
|
});
|
|
32
37
|
return result.signature;
|
|
33
38
|
},
|
|
34
39
|
async sign(parameters) {
|
|
40
|
+
analytics_js_1.Analytics.trackAction({
|
|
41
|
+
action: "sign",
|
|
42
|
+
accountType: "evm_server",
|
|
43
|
+
});
|
|
35
44
|
const result = await apiClient.signEvmHash(options.account.address, {
|
|
36
45
|
hash: parameters.hash,
|
|
37
46
|
});
|
|
38
47
|
return result.signature;
|
|
39
48
|
},
|
|
40
49
|
async signTransaction(transaction) {
|
|
50
|
+
analytics_js_1.Analytics.trackAction({
|
|
51
|
+
action: "sign_transaction",
|
|
52
|
+
accountType: "evm_server",
|
|
53
|
+
});
|
|
41
54
|
const result = await apiClient.signEvmTransaction(options.account.address, {
|
|
42
55
|
transaction: (0, viem_1.serializeTransaction)(transaction),
|
|
43
56
|
});
|
|
44
57
|
return result.signedTransaction;
|
|
45
58
|
},
|
|
46
59
|
async signTypedData(parameters) {
|
|
60
|
+
analytics_js_1.Analytics.trackAction({
|
|
61
|
+
action: "sign_typed_data",
|
|
62
|
+
accountType: "evm_server",
|
|
63
|
+
});
|
|
47
64
|
const { domain = {}, message, primaryType } = parameters;
|
|
48
65
|
const types = {
|
|
49
66
|
EIP712Domain: (0, viem_1.getTypesForEIP712Domain)({ domain }),
|
|
@@ -59,48 +76,108 @@ function toEvmServerAccount(apiClient, options) {
|
|
|
59
76
|
return result.signature;
|
|
60
77
|
},
|
|
61
78
|
async transfer(transferArgs) {
|
|
79
|
+
analytics_js_1.Analytics.trackAction({
|
|
80
|
+
action: "transfer",
|
|
81
|
+
accountType: "evm_server",
|
|
82
|
+
properties: {
|
|
83
|
+
network: transferArgs.network,
|
|
84
|
+
},
|
|
85
|
+
});
|
|
62
86
|
return (0, transfer_js_1.transfer)(apiClient, account, transferArgs, accountTransferStrategy_js_1.accountTransferStrategy);
|
|
63
87
|
},
|
|
64
88
|
async listTokenBalances(options) {
|
|
89
|
+
analytics_js_1.Analytics.trackAction({
|
|
90
|
+
action: "list_token_balances",
|
|
91
|
+
accountType: "evm_server",
|
|
92
|
+
properties: {
|
|
93
|
+
network: options.network,
|
|
94
|
+
},
|
|
95
|
+
});
|
|
65
96
|
return (0, listTokenBalances_js_1.listTokenBalances)(apiClient, {
|
|
66
97
|
...options,
|
|
67
98
|
address: this.address,
|
|
68
99
|
});
|
|
69
100
|
},
|
|
70
101
|
async requestFaucet(options) {
|
|
102
|
+
analytics_js_1.Analytics.trackAction({
|
|
103
|
+
action: "request_faucet",
|
|
104
|
+
accountType: "evm_server",
|
|
105
|
+
properties: {
|
|
106
|
+
network: options.network,
|
|
107
|
+
},
|
|
108
|
+
});
|
|
71
109
|
return (0, requestFaucet_js_1.requestFaucet)(apiClient, {
|
|
72
110
|
...options,
|
|
73
111
|
address: this.address,
|
|
74
112
|
});
|
|
75
113
|
},
|
|
76
114
|
async sendTransaction(options) {
|
|
115
|
+
analytics_js_1.Analytics.trackAction({
|
|
116
|
+
action: "send_transaction",
|
|
117
|
+
accountType: "evm_server",
|
|
118
|
+
properties: {
|
|
119
|
+
network: options.network,
|
|
120
|
+
},
|
|
121
|
+
});
|
|
77
122
|
return (0, sendTransaction_js_1.sendTransaction)(apiClient, {
|
|
78
123
|
...options,
|
|
79
124
|
address: this.address,
|
|
80
125
|
});
|
|
81
126
|
},
|
|
82
127
|
async quoteFund(options) {
|
|
128
|
+
analytics_js_1.Analytics.trackAction({
|
|
129
|
+
action: "quote_fund",
|
|
130
|
+
accountType: "evm_server",
|
|
131
|
+
properties: {
|
|
132
|
+
network: options.network,
|
|
133
|
+
},
|
|
134
|
+
});
|
|
83
135
|
return (0, quoteFund_js_1.quoteFund)(apiClient, {
|
|
84
136
|
...options,
|
|
85
137
|
address: this.address,
|
|
86
138
|
});
|
|
87
139
|
},
|
|
88
140
|
async fund(options) {
|
|
141
|
+
analytics_js_1.Analytics.trackAction({
|
|
142
|
+
action: "fund",
|
|
143
|
+
accountType: "evm_server",
|
|
144
|
+
properties: {
|
|
145
|
+
network: options.network,
|
|
146
|
+
},
|
|
147
|
+
});
|
|
89
148
|
return (0, fund_js_1.fund)(apiClient, {
|
|
90
149
|
...options,
|
|
91
150
|
address: this.address,
|
|
92
151
|
});
|
|
93
152
|
},
|
|
94
153
|
async waitForFundOperationReceipt(options) {
|
|
154
|
+
analytics_js_1.Analytics.trackAction({
|
|
155
|
+
action: "wait_for_fund_operation_receipt",
|
|
156
|
+
accountType: "evm_server",
|
|
157
|
+
});
|
|
95
158
|
return (0, waitForFundOperationReceipt_js_1.waitForFundOperationReceipt)(apiClient, options);
|
|
96
159
|
},
|
|
97
160
|
async quoteSwap(options) {
|
|
161
|
+
analytics_js_1.Analytics.trackAction({
|
|
162
|
+
action: "quote_swap",
|
|
163
|
+
accountType: "evm_server",
|
|
164
|
+
properties: {
|
|
165
|
+
network: options.network,
|
|
166
|
+
},
|
|
167
|
+
});
|
|
98
168
|
return (0, createSwapQuote_js_1.createSwapQuote)(apiClient, {
|
|
99
169
|
...options,
|
|
100
170
|
taker: this.address,
|
|
101
171
|
});
|
|
102
172
|
},
|
|
103
173
|
async swap(options) {
|
|
174
|
+
analytics_js_1.Analytics.trackAction({
|
|
175
|
+
action: "swap",
|
|
176
|
+
accountType: "evm_server",
|
|
177
|
+
properties: {
|
|
178
|
+
network: "network" in options ? options.network : undefined,
|
|
179
|
+
},
|
|
180
|
+
});
|
|
104
181
|
return (0, sendSwapTransaction_js_1.sendSwapTransaction)(apiClient, {
|
|
105
182
|
...options,
|
|
106
183
|
address: this.address,
|
|
@@ -111,6 +188,13 @@ function toEvmServerAccount(apiClient, options) {
|
|
|
111
188
|
type: "evm-server",
|
|
112
189
|
policies: options.account.policies,
|
|
113
190
|
useNetwork: async (networkOrRpcUrl) => {
|
|
191
|
+
analytics_js_1.Analytics.trackAction({
|
|
192
|
+
action: "use_network",
|
|
193
|
+
accountType: "evm_server",
|
|
194
|
+
properties: {
|
|
195
|
+
network: networkOrRpcUrl,
|
|
196
|
+
},
|
|
197
|
+
});
|
|
114
198
|
return (0, toNetworkScopedEvmServerAccount_js_1.toNetworkScopedEvmServerAccount)({
|
|
115
199
|
account,
|
|
116
200
|
network: networkOrRpcUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toEvmServerAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toEvmServerAccount.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"toEvmServerAccount.js","sourceRoot":"","sources":["../../../accounts/evm/toEvmServerAccount.ts"],"names":[],"mappings":";;AAmEA,gDAmNC;AAtRD,+BAOc;AAEd,6FAAuF;AACvF,4DAAmE;AAEnE,sEAAkF;AAElF,0GAI+D;AAC/D,iFAIgD;AAChD,yEAI4C;AAC5C,6EAAuE;AACvE,kFAA4E;AAC5E,0FAAoF;AACpF,sGAAgG;AAChG,wEAAkE;AAClE,qDAA+C;AAwB/C;;;;;;;;GAQG;AACH,SAAgB,kBAAkB,CAChC,SAA+B,EAC/B,OAAkC;IAElC,MAAM,OAAO,GAAqB;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAkB;QAC3C,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;YAC3B,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,YAAY;aAC1B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;gBACrE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;aAC5B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,SAAgB,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,UAA0B;YACnC,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,YAAY;aAC1B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;gBAClE,IAAI,EAAE,UAAU,CAAC,IAAI;aACtB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,SAAgB,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,WAAoC;YACxD,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,kBAAkB;gBAC1B,WAAW,EAAE,YAAY;aAC1B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;gBACzE,WAAW,EAAE,IAAA,2BAAoB,EAAC,WAAW,CAAC;aAC/C,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,iBAAwB,CAAC;QACzC,CAAC;QAED,KAAK,CAAC,aAAa,CAGjB,UAAuD;YACvD,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,iBAAiB;gBACzB,WAAW,EAAE,YAAY;aAC1B,CAAC,CAAC;YAEH,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAqC,CAAC;YACpF,MAAM,KAAK,GAAG;gBACZ,YAAY,EAAE,IAAA,8BAAuB,EAAC,EAAE,MAAM,EAAE,CAAC;gBACjD,GAAG,UAAU,CAAC,KAAK;aACpB,CAAC;YAEF,MAAM,cAAc,GAAG;gBACrB,MAAM,EAAE,MAAsB;gBAC9B,KAAK;gBACL,WAAW;gBACX,OAAO;aACR,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACzF,OAAO,MAAM,CAAC,SAAgB,CAAC;QACjC,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,YAAY;YACzB,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE;oBACV,OAAO,EAAE,YAAY,CAAC,OAAO;iBAC9B;aACF,CAAC,CAAC;YAEH,OAAO,IAAA,sBAAQ,EAAC,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,oDAAuB,CAAC,CAAC;QAC7E,CAAC;QACD,KAAK,CAAC,iBAAiB,CACrB,OAAkD;YAElD,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,qBAAqB;gBAC7B,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE;oBACV,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF,CAAC,CAAC;YAEH,OAAO,IAAA,wCAAiB,EAAC,SAAS,EAAE;gBAClC,GAAG,OAAO;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,aAAa,CACjB,OAA8C;YAE9C,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,gBAAgB;gBACxB,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE;oBACV,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF,CAAC,CAAC;YAEH,OAAO,IAAA,gCAAa,EAAC,SAAS,EAAE;gBAC9B,GAAG,OAAO;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,OAAgD;YACpE,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,kBAAkB;gBAC1B,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE;oBACV,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF,CAAC,CAAC;YAEH,OAAO,IAAA,oCAAe,EAAC,SAAS,EAAE;gBAChC,GAAG,OAAO;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,OAA0C;YACxD,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,YAAY;gBACpB,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE;oBACV,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF,CAAC,CAAC;YAEH,OAAO,IAAA,wBAAS,EAAC,SAAS,EAAE;gBAC1B,GAAG,OAAO;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAqC;YAC9C,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE;oBACV,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF,CAAC,CAAC;YAEH,OAAO,IAAA,cAAI,EAAC,SAAS,EAAE;gBACrB,GAAG,OAAO;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,2BAA2B,CAC/B,OAAoC;YAEpC,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,iCAAiC;gBACzC,WAAW,EAAE,YAAY;aAC1B,CAAC,CAAC;YAEH,OAAO,IAAA,4DAA2B,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,OAAgC;YAC9C,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,YAAY;gBACpB,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE;oBACV,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF,CAAC,CAAC;YAEH,OAAO,IAAA,oCAAe,EAAC,SAAS,EAAE;gBAChC,GAAG,OAAO;gBACV,KAAK,EAAE,IAAI,CAAC,OAAO;aACpB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAA2B;YACpC,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE;oBACV,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;iBAC5D;aACF,CAAC,CAAC;YAEH,OAAO,IAAA,4CAAmB,EAAC,SAAS,EAAE;gBACpC,GAAG,OAAO;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,wCAAwC;aAC9D,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;QAC1B,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ;QAClC,UAAU,EAAE,KAAK,EAAmC,eAAwB,EAAE,EAAE;YAC9E,wBAAS,CAAC,WAAW,CAAC;gBACpB,MAAM,EAAE,aAAa;gBACrB,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE;oBACV,OAAO,EAAE,eAAe;iBACzB;aACF,CAAC,CAAC;YAEH,OAAO,IAAA,oEAA+B,EAAC;gBACrC,OAAO;gBACP,OAAO,EAAE,eAAe;aACzB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.toEvmSmartAccount = toEvmSmartAccount;
|
|
4
|
+
const networkToChainResolver_js_1 = require("./networkToChainResolver.js");
|
|
4
5
|
const toNetworkScopedEvmSmartAccount_js_1 = require("./toNetworkScopedEvmSmartAccount.js");
|
|
5
6
|
const fund_js_1 = require("../../actions/evm/fund/fund.js");
|
|
6
7
|
const quoteFund_js_1 = require("../../actions/evm/fund/quoteFund.js");
|
|
@@ -9,11 +10,13 @@ const getUserOperation_js_1 = require("../../actions/evm/getUserOperation.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 sendUserOperation_js_1 = require("../../actions/evm/sendUserOperation.js");
|
|
13
|
+
const signAndWrapTypedDataForSmartAccount_js_1 = require("../../actions/evm/signAndWrapTypedDataForSmartAccount.js");
|
|
12
14
|
const createSwapQuote_js_1 = require("../../actions/evm/swap/createSwapQuote.js");
|
|
13
15
|
const sendSwapOperation_js_1 = require("../../actions/evm/swap/sendSwapOperation.js");
|
|
14
16
|
const smartAccountTransferStrategy_js_1 = require("../../actions/evm/transfer/smartAccountTransferStrategy.js");
|
|
15
17
|
const transfer_js_1 = require("../../actions/evm/transfer/transfer.js");
|
|
16
18
|
const waitForUserOperation_js_1 = require("../../actions/evm/waitForUserOperation.js");
|
|
19
|
+
const analytics_js_1 = require("../../analytics.js");
|
|
17
20
|
/**
|
|
18
21
|
* Creates a EvmSmartAccount instance from an existing EvmSmartAccount and owner.
|
|
19
22
|
* Use this to interact with previously deployed EvmSmartAccounts, rather than creating new ones.
|
|
@@ -32,54 +35,115 @@ function toEvmSmartAccount(apiClient, options) {
|
|
|
32
35
|
owners: [options.owner],
|
|
33
36
|
policies: options.smartAccount.policies,
|
|
34
37
|
async transfer(transferArgs) {
|
|
38
|
+
analytics_js_1.Analytics.trackAction({
|
|
39
|
+
action: "transfer",
|
|
40
|
+
accountType: "evm_smart",
|
|
41
|
+
properties: {
|
|
42
|
+
network: transferArgs.network,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
35
45
|
return (0, transfer_js_1.transfer)(apiClient, account, transferArgs, smartAccountTransferStrategy_js_1.smartAccountTransferStrategy);
|
|
36
46
|
},
|
|
37
47
|
async listTokenBalances(options) {
|
|
48
|
+
analytics_js_1.Analytics.trackAction({
|
|
49
|
+
action: "list_token_balances",
|
|
50
|
+
accountType: "evm_smart",
|
|
51
|
+
properties: {
|
|
52
|
+
network: options.network,
|
|
53
|
+
},
|
|
54
|
+
});
|
|
38
55
|
return (0, listTokenBalances_js_1.listTokenBalances)(apiClient, {
|
|
39
56
|
...options,
|
|
40
57
|
address: this.address,
|
|
41
58
|
});
|
|
42
59
|
},
|
|
43
60
|
async sendUserOperation(options) {
|
|
61
|
+
analytics_js_1.Analytics.trackAction({
|
|
62
|
+
action: "send_user_operation",
|
|
63
|
+
accountType: "evm_smart",
|
|
64
|
+
properties: {
|
|
65
|
+
network: options.network,
|
|
66
|
+
},
|
|
67
|
+
});
|
|
44
68
|
return (0, sendUserOperation_js_1.sendUserOperation)(apiClient, {
|
|
45
69
|
...options,
|
|
46
70
|
smartAccount: account,
|
|
47
71
|
});
|
|
48
72
|
},
|
|
49
73
|
async waitForUserOperation(options) {
|
|
74
|
+
analytics_js_1.Analytics.trackAction({
|
|
75
|
+
action: "wait_for_user_operation",
|
|
76
|
+
accountType: "evm_smart",
|
|
77
|
+
});
|
|
50
78
|
return (0, waitForUserOperation_js_1.waitForUserOperation)(apiClient, {
|
|
51
79
|
...options,
|
|
52
80
|
smartAccountAddress: account.address,
|
|
53
81
|
});
|
|
54
82
|
},
|
|
55
83
|
async getUserOperation(options) {
|
|
84
|
+
analytics_js_1.Analytics.trackAction({
|
|
85
|
+
action: "get_user_operation",
|
|
86
|
+
accountType: "evm_smart",
|
|
87
|
+
});
|
|
56
88
|
return (0, getUserOperation_js_1.getUserOperation)(apiClient, {
|
|
57
89
|
...options,
|
|
58
90
|
smartAccount: account,
|
|
59
91
|
});
|
|
60
92
|
},
|
|
61
93
|
async requestFaucet(options) {
|
|
94
|
+
analytics_js_1.Analytics.trackAction({
|
|
95
|
+
action: "request_faucet",
|
|
96
|
+
accountType: "evm_smart",
|
|
97
|
+
properties: {
|
|
98
|
+
network: options.network,
|
|
99
|
+
},
|
|
100
|
+
});
|
|
62
101
|
return (0, requestFaucet_js_1.requestFaucet)(apiClient, {
|
|
63
102
|
...options,
|
|
64
103
|
address: account.address,
|
|
65
104
|
});
|
|
66
105
|
},
|
|
67
106
|
async quoteFund(options) {
|
|
107
|
+
analytics_js_1.Analytics.trackAction({
|
|
108
|
+
action: "quote_fund",
|
|
109
|
+
accountType: "evm_smart",
|
|
110
|
+
properties: {
|
|
111
|
+
network: options.network,
|
|
112
|
+
},
|
|
113
|
+
});
|
|
68
114
|
return (0, quoteFund_js_1.quoteFund)(apiClient, {
|
|
69
115
|
...options,
|
|
70
116
|
address: this.address,
|
|
71
117
|
});
|
|
72
118
|
},
|
|
73
119
|
async fund(options) {
|
|
120
|
+
analytics_js_1.Analytics.trackAction({
|
|
121
|
+
action: "fund",
|
|
122
|
+
accountType: "evm_smart",
|
|
123
|
+
properties: {
|
|
124
|
+
network: options.network,
|
|
125
|
+
},
|
|
126
|
+
});
|
|
74
127
|
return (0, fund_js_1.fund)(apiClient, {
|
|
75
128
|
...options,
|
|
76
129
|
address: this.address,
|
|
77
130
|
});
|
|
78
131
|
},
|
|
79
132
|
async waitForFundOperationReceipt(options) {
|
|
133
|
+
analytics_js_1.Analytics.trackAction({
|
|
134
|
+
action: "wait_for_fund_operation_receipt",
|
|
135
|
+
accountType: "evm_smart",
|
|
136
|
+
});
|
|
80
137
|
return (0, waitForFundOperationReceipt_js_1.waitForFundOperationReceipt)(apiClient, options);
|
|
81
138
|
},
|
|
82
139
|
async quoteSwap(options) {
|
|
140
|
+
analytics_js_1.Analytics.trackAction({
|
|
141
|
+
action: "quote_swap",
|
|
142
|
+
accountType: "evm_smart",
|
|
143
|
+
properties: {
|
|
144
|
+
network: options.network,
|
|
145
|
+
},
|
|
146
|
+
});
|
|
83
147
|
return (0, createSwapQuote_js_1.createSwapQuote)(apiClient, {
|
|
84
148
|
...options,
|
|
85
149
|
taker: this.address, // Always use smart account's address as taker
|
|
@@ -88,6 +152,13 @@ function toEvmSmartAccount(apiClient, options) {
|
|
|
88
152
|
});
|
|
89
153
|
},
|
|
90
154
|
async swap(options) {
|
|
155
|
+
analytics_js_1.Analytics.trackAction({
|
|
156
|
+
action: "swap",
|
|
157
|
+
accountType: "evm_smart",
|
|
158
|
+
properties: {
|
|
159
|
+
network: "network" in options ? options.network : undefined,
|
|
160
|
+
},
|
|
161
|
+
});
|
|
91
162
|
return (0, sendSwapOperation_js_1.sendSwapOperation)(apiClient, {
|
|
92
163
|
...options,
|
|
93
164
|
smartAccount: account,
|
|
@@ -95,9 +166,31 @@ function toEvmSmartAccount(apiClient, options) {
|
|
|
95
166
|
signerAddress: this.owners[0].address, // Always use owner's address as signer
|
|
96
167
|
});
|
|
97
168
|
},
|
|
169
|
+
async signTypedData(options) {
|
|
170
|
+
analytics_js_1.Analytics.trackAction({
|
|
171
|
+
action: "sign_typed_data",
|
|
172
|
+
accountType: "evm_smart",
|
|
173
|
+
properties: {
|
|
174
|
+
network: options.network,
|
|
175
|
+
},
|
|
176
|
+
});
|
|
177
|
+
const result = await (0, signAndWrapTypedDataForSmartAccount_js_1.signAndWrapTypedDataForSmartAccount)(apiClient, {
|
|
178
|
+
chainId: BigInt((0, networkToChainResolver_js_1.resolveNetworkToChain)(options.network).id),
|
|
179
|
+
smartAccount: account,
|
|
180
|
+
typedData: options,
|
|
181
|
+
});
|
|
182
|
+
return result.signature;
|
|
183
|
+
},
|
|
98
184
|
name: options.smartAccount.name,
|
|
99
185
|
type: "evm-smart",
|
|
100
186
|
useNetwork: async (network) => {
|
|
187
|
+
analytics_js_1.Analytics.trackAction({
|
|
188
|
+
action: "use_network",
|
|
189
|
+
accountType: "evm_smart",
|
|
190
|
+
properties: {
|
|
191
|
+
network,
|
|
192
|
+
},
|
|
193
|
+
});
|
|
101
194
|
return (0, toNetworkScopedEvmSmartAccount_js_1.toNetworkScopedEvmSmartAccount)(apiClient, {
|
|
102
195
|
smartAccount: account,
|
|
103
196
|
owner: options.owner,
|