@exagent/agent 0.1.14 → 0.1.15
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/dist/chunk-W2FU5T46.mjs +3058 -0
- package/dist/cli.js +66 -17
- package/dist/cli.mjs +1 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +66 -17
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -991,9 +991,11 @@ var TradeExecutor = class {
|
|
|
991
991
|
client;
|
|
992
992
|
config;
|
|
993
993
|
allowedTokens;
|
|
994
|
-
|
|
994
|
+
configHashFn;
|
|
995
|
+
constructor(client, config, configHashFn) {
|
|
995
996
|
this.client = client;
|
|
996
997
|
this.config = config;
|
|
998
|
+
this.configHashFn = configHashFn;
|
|
997
999
|
this.allowedTokens = new Set(
|
|
998
1000
|
(config.allowedTokens || []).map((t) => t.toLowerCase())
|
|
999
1001
|
);
|
|
@@ -1011,11 +1013,13 @@ var TradeExecutor = class {
|
|
|
1011
1013
|
if (!this.validateSignal(signal)) {
|
|
1012
1014
|
return { success: false, error: "Signal exceeds position limits" };
|
|
1013
1015
|
}
|
|
1016
|
+
const configHash = this.configHashFn?.();
|
|
1014
1017
|
const result = await this.client.trade({
|
|
1015
1018
|
tokenIn: signal.tokenIn,
|
|
1016
1019
|
tokenOut: signal.tokenOut,
|
|
1017
1020
|
amountIn: signal.amountIn,
|
|
1018
|
-
maxSlippageBps: this.config.trading?.maxSlippageBps ?? 100
|
|
1021
|
+
maxSlippageBps: this.config.trading?.maxSlippageBps ?? 100,
|
|
1022
|
+
...configHash && { configHash }
|
|
1019
1023
|
});
|
|
1020
1024
|
console.log(`Trade executed: ${result.hash}`);
|
|
1021
1025
|
return { success: true, txHash: result.hash };
|
|
@@ -2077,7 +2081,7 @@ var AgentRuntime = class {
|
|
|
2077
2081
|
console.log(`LLM ready: ${llmMeta.provider} (${llmMeta.model})`);
|
|
2078
2082
|
await this.syncConfigHash();
|
|
2079
2083
|
this.strategy = await loadStrategy();
|
|
2080
|
-
this.executor = new TradeExecutor(this.client, this.config);
|
|
2084
|
+
this.executor = new TradeExecutor(this.client, this.config, () => this.getConfigHash());
|
|
2081
2085
|
this.riskManager = new RiskManager(this.config.trading);
|
|
2082
2086
|
this.marketData = new MarketDataService(this.getRpcUrl());
|
|
2083
2087
|
await this.initializeVaultManager();
|
|
@@ -2694,35 +2698,80 @@ var AgentRuntime = class {
|
|
|
2694
2698
|
*/
|
|
2695
2699
|
getDefaultTokens() {
|
|
2696
2700
|
return [
|
|
2697
|
-
// Core
|
|
2701
|
+
// Core (0)
|
|
2698
2702
|
"0x4200000000000000000000000000000000000006",
|
|
2699
2703
|
// WETH
|
|
2700
2704
|
"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
2701
2705
|
// USDC
|
|
2702
2706
|
"0x2Ae3F1Ec7F1F5012CFEab0185bFC7aa3cf0DEC22",
|
|
2703
2707
|
// cbETH
|
|
2704
|
-
"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
2705
|
-
// USDbC
|
|
2706
|
-
"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
|
|
2707
|
-
// DAI
|
|
2708
|
-
// Established
|
|
2709
|
-
"0x940181a94A35A4569E4529A3CDfB74e38FD98631",
|
|
2710
|
-
// AERO
|
|
2711
2708
|
"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
|
|
2712
2709
|
// cbBTC
|
|
2713
2710
|
"0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452",
|
|
2714
2711
|
// wstETH
|
|
2712
|
+
"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
|
|
2713
|
+
// DAI
|
|
2714
|
+
"0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
|
|
2715
|
+
// USDT
|
|
2716
|
+
"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
2717
|
+
// USDbC
|
|
2718
|
+
"0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
|
|
2719
|
+
// EURC
|
|
2720
|
+
"0xB6fe221Fe9EeF5aBa221c348bA20A1Bf5e73624c",
|
|
2721
|
+
// rETH
|
|
2722
|
+
"0x0555E30da8f98308EdB960aa94C0Db47230d2B9c",
|
|
2723
|
+
// WBTC
|
|
2724
|
+
// Established (1) - filtered by risk universe at init
|
|
2725
|
+
"0x940181a94A35A4569E4529A3CDfB74e38FD98631",
|
|
2726
|
+
// AERO
|
|
2727
|
+
"0x04C0599Ae5A44757c0af6F9eC3b93da8976c150A",
|
|
2728
|
+
// weETH
|
|
2715
2729
|
"0x2416092f143378750bb29b79eD961ab195CcEea5",
|
|
2716
2730
|
// ezETH
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2731
|
+
"0xA88594D404727625A9437C3f886C7643872296AE",
|
|
2732
|
+
// WELL
|
|
2733
|
+
"0xBAa5CC21fd487B8Fcc2F632f3F4E8D37262a0842",
|
|
2734
|
+
// MORPHO
|
|
2735
|
+
"0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196",
|
|
2736
|
+
// LINK
|
|
2737
|
+
"0xc3De830EA07524a0761646a6a4e4be0e114a3C83",
|
|
2738
|
+
// UNI
|
|
2739
|
+
"0x63706e401c06ac8513145b7687A14804d17f814b",
|
|
2740
|
+
// AAVE
|
|
2741
|
+
"0x9e1028F5F1D5eDE59748FFceE5532509976840E0",
|
|
2742
|
+
// COMP
|
|
2743
|
+
"0x4158734D47Fc9692176B5085E0F52ee0Da5d47F1",
|
|
2744
|
+
// BAL
|
|
2745
|
+
"0x8Ee73c484A26e0A5df2Ee2a4960B789967dd0415",
|
|
2746
|
+
// CRV
|
|
2747
|
+
"0x22e6966B799c4D5B13BE962E1D117b56327FDa66",
|
|
2748
|
+
// SNX
|
|
2749
|
+
// Derivatives (2) - filtered by risk universe at init
|
|
2722
2750
|
"0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b",
|
|
2723
2751
|
// VIRTUAL
|
|
2724
|
-
"
|
|
2752
|
+
"0x4F9Fd6Be4a90f2620860d680c0d4d5Fb53d1A825",
|
|
2753
|
+
// AIXBT
|
|
2754
|
+
"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed",
|
|
2755
|
+
// DEGEN
|
|
2756
|
+
"0x0578d8A44db98B23BF096A382e016e29a5Ce0ffe",
|
|
2757
|
+
// HIGHER
|
|
2758
|
+
"0x1bc0c42215582d5A085795f4baDbaC3ff36d1Bcb",
|
|
2759
|
+
// CLANKER
|
|
2760
|
+
// Emerging (3) - filtered by risk universe at init
|
|
2761
|
+
"0x532f27101965dd16442E59d40670FaF5eBB142E4",
|
|
2762
|
+
// BRETT
|
|
2763
|
+
"0xAC1Bd2486aAf3B5C0fc3Fd868558b082a531B2B4",
|
|
2725
2764
|
// TOSHI
|
|
2765
|
+
"0x6921B130D297cc43754afba22e5EAc0FBf8Db75b",
|
|
2766
|
+
// DOGINME
|
|
2767
|
+
"0xB1a03EdA10342529bBF8EB700a06C60441fEf25d",
|
|
2768
|
+
// MIGGLES
|
|
2769
|
+
"0x7F12d13B34F5F4f0a9449c16Bcd42f0da47AF200",
|
|
2770
|
+
// NORMIE
|
|
2771
|
+
"0x27D2DECb4bFC9C76F0309b8E88dec3a601Fe25a8",
|
|
2772
|
+
// BALD
|
|
2773
|
+
"0x768BE13e1680b5ebE0024C42c896E3dB59ec0149"
|
|
2774
|
+
// SKI
|
|
2726
2775
|
];
|
|
2727
2776
|
}
|
|
2728
2777
|
sleep(ms) {
|
package/dist/cli.mjs
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -769,7 +769,8 @@ declare class TradeExecutor {
|
|
|
769
769
|
private client;
|
|
770
770
|
private config;
|
|
771
771
|
private allowedTokens;
|
|
772
|
-
|
|
772
|
+
private configHashFn?;
|
|
773
|
+
constructor(client: ExagentClient, config: RuntimeConfig, configHashFn?: () => string);
|
|
773
774
|
/**
|
|
774
775
|
* Execute a single trade signal
|
|
775
776
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -769,7 +769,8 @@ declare class TradeExecutor {
|
|
|
769
769
|
private client;
|
|
770
770
|
private config;
|
|
771
771
|
private allowedTokens;
|
|
772
|
-
|
|
772
|
+
private configHashFn?;
|
|
773
|
+
constructor(client: ExagentClient, config: RuntimeConfig, configHashFn?: () => string);
|
|
773
774
|
/**
|
|
774
775
|
* Execute a single trade signal
|
|
775
776
|
*/
|
package/dist/index.js
CHANGED
|
@@ -1064,9 +1064,11 @@ var TradeExecutor = class {
|
|
|
1064
1064
|
client;
|
|
1065
1065
|
config;
|
|
1066
1066
|
allowedTokens;
|
|
1067
|
-
|
|
1067
|
+
configHashFn;
|
|
1068
|
+
constructor(client, config, configHashFn) {
|
|
1068
1069
|
this.client = client;
|
|
1069
1070
|
this.config = config;
|
|
1071
|
+
this.configHashFn = configHashFn;
|
|
1070
1072
|
this.allowedTokens = new Set(
|
|
1071
1073
|
(config.allowedTokens || []).map((t) => t.toLowerCase())
|
|
1072
1074
|
);
|
|
@@ -1084,11 +1086,13 @@ var TradeExecutor = class {
|
|
|
1084
1086
|
if (!this.validateSignal(signal)) {
|
|
1085
1087
|
return { success: false, error: "Signal exceeds position limits" };
|
|
1086
1088
|
}
|
|
1089
|
+
const configHash = this.configHashFn?.();
|
|
1087
1090
|
const result = await this.client.trade({
|
|
1088
1091
|
tokenIn: signal.tokenIn,
|
|
1089
1092
|
tokenOut: signal.tokenOut,
|
|
1090
1093
|
amountIn: signal.amountIn,
|
|
1091
|
-
maxSlippageBps: this.config.trading?.maxSlippageBps ?? 100
|
|
1094
|
+
maxSlippageBps: this.config.trading?.maxSlippageBps ?? 100,
|
|
1095
|
+
...configHash && { configHash }
|
|
1092
1096
|
});
|
|
1093
1097
|
console.log(`Trade executed: ${result.hash}`);
|
|
1094
1098
|
return { success: true, txHash: result.hash };
|
|
@@ -2150,7 +2154,7 @@ var AgentRuntime = class {
|
|
|
2150
2154
|
console.log(`LLM ready: ${llmMeta.provider} (${llmMeta.model})`);
|
|
2151
2155
|
await this.syncConfigHash();
|
|
2152
2156
|
this.strategy = await loadStrategy();
|
|
2153
|
-
this.executor = new TradeExecutor(this.client, this.config);
|
|
2157
|
+
this.executor = new TradeExecutor(this.client, this.config, () => this.getConfigHash());
|
|
2154
2158
|
this.riskManager = new RiskManager(this.config.trading);
|
|
2155
2159
|
this.marketData = new MarketDataService(this.getRpcUrl());
|
|
2156
2160
|
await this.initializeVaultManager();
|
|
@@ -2767,35 +2771,80 @@ var AgentRuntime = class {
|
|
|
2767
2771
|
*/
|
|
2768
2772
|
getDefaultTokens() {
|
|
2769
2773
|
return [
|
|
2770
|
-
// Core
|
|
2774
|
+
// Core (0)
|
|
2771
2775
|
"0x4200000000000000000000000000000000000006",
|
|
2772
2776
|
// WETH
|
|
2773
2777
|
"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
2774
2778
|
// USDC
|
|
2775
2779
|
"0x2Ae3F1Ec7F1F5012CFEab0185bFC7aa3cf0DEC22",
|
|
2776
2780
|
// cbETH
|
|
2777
|
-
"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
2778
|
-
// USDbC
|
|
2779
|
-
"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
|
|
2780
|
-
// DAI
|
|
2781
|
-
// Established
|
|
2782
|
-
"0x940181a94A35A4569E4529A3CDfB74e38FD98631",
|
|
2783
|
-
// AERO
|
|
2784
2781
|
"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
|
|
2785
2782
|
// cbBTC
|
|
2786
2783
|
"0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452",
|
|
2787
2784
|
// wstETH
|
|
2785
|
+
"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
|
|
2786
|
+
// DAI
|
|
2787
|
+
"0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
|
|
2788
|
+
// USDT
|
|
2789
|
+
"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
2790
|
+
// USDbC
|
|
2791
|
+
"0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
|
|
2792
|
+
// EURC
|
|
2793
|
+
"0xB6fe221Fe9EeF5aBa221c348bA20A1Bf5e73624c",
|
|
2794
|
+
// rETH
|
|
2795
|
+
"0x0555E30da8f98308EdB960aa94C0Db47230d2B9c",
|
|
2796
|
+
// WBTC
|
|
2797
|
+
// Established (1) - filtered by risk universe at init
|
|
2798
|
+
"0x940181a94A35A4569E4529A3CDfB74e38FD98631",
|
|
2799
|
+
// AERO
|
|
2800
|
+
"0x04C0599Ae5A44757c0af6F9eC3b93da8976c150A",
|
|
2801
|
+
// weETH
|
|
2788
2802
|
"0x2416092f143378750bb29b79eD961ab195CcEea5",
|
|
2789
2803
|
// ezETH
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2804
|
+
"0xA88594D404727625A9437C3f886C7643872296AE",
|
|
2805
|
+
// WELL
|
|
2806
|
+
"0xBAa5CC21fd487B8Fcc2F632f3F4E8D37262a0842",
|
|
2807
|
+
// MORPHO
|
|
2808
|
+
"0x88Fb150BDc53A65fe94Dea0c9BA0a6dAf8C6e196",
|
|
2809
|
+
// LINK
|
|
2810
|
+
"0xc3De830EA07524a0761646a6a4e4be0e114a3C83",
|
|
2811
|
+
// UNI
|
|
2812
|
+
"0x63706e401c06ac8513145b7687A14804d17f814b",
|
|
2813
|
+
// AAVE
|
|
2814
|
+
"0x9e1028F5F1D5eDE59748FFceE5532509976840E0",
|
|
2815
|
+
// COMP
|
|
2816
|
+
"0x4158734D47Fc9692176B5085E0F52ee0Da5d47F1",
|
|
2817
|
+
// BAL
|
|
2818
|
+
"0x8Ee73c484A26e0A5df2Ee2a4960B789967dd0415",
|
|
2819
|
+
// CRV
|
|
2820
|
+
"0x22e6966B799c4D5B13BE962E1D117b56327FDa66",
|
|
2821
|
+
// SNX
|
|
2822
|
+
// Derivatives (2) - filtered by risk universe at init
|
|
2795
2823
|
"0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b",
|
|
2796
2824
|
// VIRTUAL
|
|
2797
|
-
"
|
|
2825
|
+
"0x4F9Fd6Be4a90f2620860d680c0d4d5Fb53d1A825",
|
|
2826
|
+
// AIXBT
|
|
2827
|
+
"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed",
|
|
2828
|
+
// DEGEN
|
|
2829
|
+
"0x0578d8A44db98B23BF096A382e016e29a5Ce0ffe",
|
|
2830
|
+
// HIGHER
|
|
2831
|
+
"0x1bc0c42215582d5A085795f4baDbaC3ff36d1Bcb",
|
|
2832
|
+
// CLANKER
|
|
2833
|
+
// Emerging (3) - filtered by risk universe at init
|
|
2834
|
+
"0x532f27101965dd16442E59d40670FaF5eBB142E4",
|
|
2835
|
+
// BRETT
|
|
2836
|
+
"0xAC1Bd2486aAf3B5C0fc3Fd868558b082a531B2B4",
|
|
2798
2837
|
// TOSHI
|
|
2838
|
+
"0x6921B130D297cc43754afba22e5EAc0FBf8Db75b",
|
|
2839
|
+
// DOGINME
|
|
2840
|
+
"0xB1a03EdA10342529bBF8EB700a06C60441fEf25d",
|
|
2841
|
+
// MIGGLES
|
|
2842
|
+
"0x7F12d13B34F5F4f0a9449c16Bcd42f0da47AF200",
|
|
2843
|
+
// NORMIE
|
|
2844
|
+
"0x27D2DECb4bFC9C76F0309b8E88dec3a601Fe25a8",
|
|
2845
|
+
// BALD
|
|
2846
|
+
"0x768BE13e1680b5ebE0024C42c896E3dB59ec0149"
|
|
2847
|
+
// SKI
|
|
2799
2848
|
];
|
|
2800
2849
|
}
|
|
2801
2850
|
sleep(ms) {
|
package/dist/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exagent/agent",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "Autonomous trading agent runtime for Exagent",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"clean": "rm -rf dist"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@exagent/sdk": "^0.1.
|
|
32
|
+
"@exagent/sdk": "^0.1.8",
|
|
33
33
|
"chalk": "^5.3.0",
|
|
34
34
|
"commander": "^12.0.0",
|
|
35
35
|
"dotenv": "^16.4.0",
|