@exagent/agent 0.1.12 → 0.1.13
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-BSNYL2DK.mjs +3005 -0
- package/dist/cli.js +37 -55
- package/dist/cli.mjs +3 -3
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +36 -54
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
- package/templates/.env.template +3 -4
- package/templates/docker-compose.yml +1 -1
- package/templates/strategy.template.ts +1 -1
package/dist/cli.js
CHANGED
|
@@ -779,7 +779,7 @@ export const generateSignals: StrategyFunction = async (marketData, llm, config)
|
|
|
779
779
|
riskWarnings: [
|
|
780
780
|
"Custom strategies have no guardrails - you are fully responsible",
|
|
781
781
|
"LLMs can hallucinate or make errors - always validate outputs",
|
|
782
|
-
"
|
|
782
|
+
"Start with small amounts before scaling up",
|
|
783
783
|
"Consider edge cases: what happens if the LLM returns invalid JSON?",
|
|
784
784
|
"Your prompts and strategy logic are your competitive advantage - protect them",
|
|
785
785
|
"Agents may not behave exactly as expected based on your prompts"
|
|
@@ -947,11 +947,8 @@ var TOKEN_DECIMALS = {
|
|
|
947
947
|
// cbBTC
|
|
948
948
|
"0x2416092f143378750bb29b79ed961ab195cceea5": 18,
|
|
949
949
|
// ezETH (Renzo)
|
|
950
|
-
"0xc1cba3fcea344f92d9239c08c0568f6f2f0ee452": 18
|
|
950
|
+
"0xc1cba3fcea344f92d9239c08c0568f6f2f0ee452": 18
|
|
951
951
|
// wstETH (Lido)
|
|
952
|
-
// Base Sepolia
|
|
953
|
-
"0x036cbd53842c5426634e7929541ec2318f3dcf7e": 6
|
|
954
|
-
// USDC testnet
|
|
955
952
|
};
|
|
956
953
|
function getTokenDecimals(address) {
|
|
957
954
|
const decimals = TOKEN_DECIMALS[address.toLowerCase()];
|
|
@@ -1319,16 +1316,10 @@ var import_viem2 = require("viem");
|
|
|
1319
1316
|
var import_accounts = require("viem/accounts");
|
|
1320
1317
|
var import_chains = require("viem/chains");
|
|
1321
1318
|
var ADDRESSES = {
|
|
1322
|
-
testnet: {
|
|
1323
|
-
vaultFactory: "0x5c099daaE33801a907Bb57011c6749655b55dc75",
|
|
1324
|
-
registry: "0xCF48C341e3FebeCA5ECB7eb2535f61A2Ba855d9C",
|
|
1325
|
-
usdc: "0x036CbD53842c5426634e7929541eC2318f3dCF7e"
|
|
1326
|
-
},
|
|
1327
1319
|
mainnet: {
|
|
1328
1320
|
vaultFactory: process.env.EXAGENT_VAULT_FACTORY_ADDRESS || "0x0000000000000000000000000000000000000000",
|
|
1329
1321
|
registry: process.env.EXAGENT_REGISTRY_ADDRESS || "0x0000000000000000000000000000000000000000",
|
|
1330
1322
|
usdc: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
|
|
1331
|
-
// Base mainnet USDC
|
|
1332
1323
|
}
|
|
1333
1324
|
};
|
|
1334
1325
|
var VAULT_FACTORY_ABI = [
|
|
@@ -1410,8 +1401,8 @@ var VaultManager = class {
|
|
|
1410
1401
|
this.config = config;
|
|
1411
1402
|
this.addresses = ADDRESSES[config.network];
|
|
1412
1403
|
this.account = (0, import_accounts.privateKeyToAccount)(config.walletKey);
|
|
1413
|
-
this.chain =
|
|
1414
|
-
const rpcUrl =
|
|
1404
|
+
this.chain = import_chains.base;
|
|
1405
|
+
const rpcUrl = "https://mainnet.base.org";
|
|
1415
1406
|
this.publicClient = (0, import_viem2.createPublicClient)({
|
|
1416
1407
|
chain: this.chain,
|
|
1417
1408
|
transport: (0, import_viem2.http)(rpcUrl)
|
|
@@ -2119,7 +2110,7 @@ var AgentRuntime = class {
|
|
|
2119
2110
|
const message = error instanceof Error ? error.message : String(error);
|
|
2120
2111
|
if (message.includes("insufficient funds") || message.includes("gas") || message.includes("intrinsic gas too low") || message.includes("exceeds the balance")) {
|
|
2121
2112
|
const ccUrl = `https://exagent.io/agents/${encodeURIComponent(this.config.name)}/command-center`;
|
|
2122
|
-
const chain =
|
|
2113
|
+
const chain = import_chains2.base;
|
|
2123
2114
|
const publicClientInstance = (0, import_viem3.createPublicClient)({
|
|
2124
2115
|
chain,
|
|
2125
2116
|
transport: (0, import_viem3.http)(this.getRpcUrl())
|
|
@@ -2542,10 +2533,7 @@ var AgentRuntime = class {
|
|
|
2542
2533
|
* Get RPC URL based on network
|
|
2543
2534
|
*/
|
|
2544
2535
|
getRpcUrl() {
|
|
2545
|
-
|
|
2546
|
-
return "https://mainnet.base.org";
|
|
2547
|
-
}
|
|
2548
|
-
return "https://sepolia.base.org";
|
|
2536
|
+
return "https://mainnet.base.org";
|
|
2549
2537
|
}
|
|
2550
2538
|
/**
|
|
2551
2539
|
* Default tokens to track.
|
|
@@ -2553,42 +2541,36 @@ var AgentRuntime = class {
|
|
|
2553
2541
|
* agents in restricted risk universes will have ineligible tokens filtered out.
|
|
2554
2542
|
*/
|
|
2555
2543
|
getDefaultTokens() {
|
|
2556
|
-
if (this.config.network === "mainnet") {
|
|
2557
|
-
return [
|
|
2558
|
-
// Core
|
|
2559
|
-
"0x4200000000000000000000000000000000000006",
|
|
2560
|
-
// WETH
|
|
2561
|
-
"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
2562
|
-
// USDC
|
|
2563
|
-
"0x2Ae3F1Ec7F1F5012CFEab0185bFC7aa3cf0DEC22",
|
|
2564
|
-
// cbETH
|
|
2565
|
-
"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
2566
|
-
// USDbC
|
|
2567
|
-
"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
|
|
2568
|
-
// DAI
|
|
2569
|
-
// Established
|
|
2570
|
-
"0x940181a94A35A4569E4529A3CDfB74e38FD98631",
|
|
2571
|
-
// AERO
|
|
2572
|
-
"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
|
|
2573
|
-
// cbBTC
|
|
2574
|
-
"0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452",
|
|
2575
|
-
// wstETH
|
|
2576
|
-
"0x2416092f143378750bb29b79eD961ab195CcEea5",
|
|
2577
|
-
// ezETH
|
|
2578
|
-
// Emerging (filtered by risk universe at init)
|
|
2579
|
-
"0x532f27101965dd16442E59d40670FaF5eBB142E4",
|
|
2580
|
-
// BRETT
|
|
2581
|
-
"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed",
|
|
2582
|
-
// DEGEN
|
|
2583
|
-
"0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b",
|
|
2584
|
-
// VIRTUAL
|
|
2585
|
-
"0xAC1Bd2486Aaf3B5C0fc3Fd868558b082a531B2B4"
|
|
2586
|
-
// TOSHI
|
|
2587
|
-
];
|
|
2588
|
-
}
|
|
2589
2544
|
return [
|
|
2590
|
-
|
|
2545
|
+
// Core
|
|
2546
|
+
"0x4200000000000000000000000000000000000006",
|
|
2591
2547
|
// WETH
|
|
2548
|
+
"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
2549
|
+
// USDC
|
|
2550
|
+
"0x2Ae3F1Ec7F1F5012CFEab0185bFC7aa3cf0DEC22",
|
|
2551
|
+
// cbETH
|
|
2552
|
+
"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
2553
|
+
// USDbC
|
|
2554
|
+
"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
|
|
2555
|
+
// DAI
|
|
2556
|
+
// Established
|
|
2557
|
+
"0x940181a94A35A4569E4529A3CDfB74e38FD98631",
|
|
2558
|
+
// AERO
|
|
2559
|
+
"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
|
|
2560
|
+
// cbBTC
|
|
2561
|
+
"0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452",
|
|
2562
|
+
// wstETH
|
|
2563
|
+
"0x2416092f143378750bb29b79eD961ab195CcEea5",
|
|
2564
|
+
// ezETH
|
|
2565
|
+
// Emerging (filtered by risk universe at init)
|
|
2566
|
+
"0x532f27101965dd16442E59d40670FaF5eBB142E4",
|
|
2567
|
+
// BRETT
|
|
2568
|
+
"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed",
|
|
2569
|
+
// DEGEN
|
|
2570
|
+
"0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b",
|
|
2571
|
+
// VIRTUAL
|
|
2572
|
+
"0xAC1Bd2486Aaf3B5C0fc3Fd868558b082a531B2B4"
|
|
2573
|
+
// TOSHI
|
|
2592
2574
|
];
|
|
2593
2575
|
}
|
|
2594
2576
|
sleep(ms) {
|
|
@@ -2710,7 +2692,7 @@ var AgentConfigSchema = import_zod.z.object({
|
|
|
2710
2692
|
agentId: import_zod.z.union([import_zod.z.number().positive(), import_zod.z.string()]),
|
|
2711
2693
|
name: import_zod.z.string().min(3).max(32),
|
|
2712
2694
|
// Network
|
|
2713
|
-
network: import_zod.z.
|
|
2695
|
+
network: import_zod.z.literal("mainnet").default("mainnet"),
|
|
2714
2696
|
// Wallet setup preference
|
|
2715
2697
|
wallet: WalletConfigSchema,
|
|
2716
2698
|
// LLM
|
|
@@ -3151,7 +3133,7 @@ async function checkFirstRunSetup(configPath) {
|
|
|
3151
3133
|
EXAGENT_PRIVATE_KEY=${privateKey}
|
|
3152
3134
|
|
|
3153
3135
|
# Network
|
|
3154
|
-
EXAGENT_NETWORK=${config.network || "
|
|
3136
|
+
EXAGENT_NETWORK=${config.network || "mainnet"}
|
|
3155
3137
|
|
|
3156
3138
|
# LLM (${llmProvider})
|
|
3157
3139
|
${llmEnvVar}EXAGENT_LLM_MODEL=${config.llm?.model || ""}
|
|
@@ -3202,7 +3184,7 @@ ${llmEnvVar}EXAGENT_LLM_MODEL=${config.llm?.model || ""}
|
|
|
3202
3184
|
console.log("");
|
|
3203
3185
|
if (walletSetup === "generate") {
|
|
3204
3186
|
console.log(" NEXT: Fund your wallet before starting to trade.");
|
|
3205
|
-
console.log(` Send
|
|
3187
|
+
console.log(` Send ETH to: ${walletAddress}`);
|
|
3206
3188
|
}
|
|
3207
3189
|
console.log("");
|
|
3208
3190
|
console.log(" The agent will now start...");
|
package/dist/cli.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
loadConfig,
|
|
7
7
|
loadSecureEnv,
|
|
8
8
|
validateConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-BSNYL2DK.mjs";
|
|
10
10
|
|
|
11
11
|
// src/cli.ts
|
|
12
12
|
import { Command } from "commander";
|
|
@@ -184,7 +184,7 @@ async function checkFirstRunSetup(configPath) {
|
|
|
184
184
|
EXAGENT_PRIVATE_KEY=${privateKey}
|
|
185
185
|
|
|
186
186
|
# Network
|
|
187
|
-
EXAGENT_NETWORK=${config.network || "
|
|
187
|
+
EXAGENT_NETWORK=${config.network || "mainnet"}
|
|
188
188
|
|
|
189
189
|
# LLM (${llmProvider})
|
|
190
190
|
${llmEnvVar}EXAGENT_LLM_MODEL=${config.llm?.model || ""}
|
|
@@ -235,7 +235,7 @@ ${llmEnvVar}EXAGENT_LLM_MODEL=${config.llm?.model || ""}
|
|
|
235
235
|
console.log("");
|
|
236
236
|
if (walletSetup === "generate") {
|
|
237
237
|
console.log(" NEXT: Fund your wallet before starting to trade.");
|
|
238
|
-
console.log(` Send
|
|
238
|
+
console.log(` Send ETH to: ${walletAddress}`);
|
|
239
239
|
}
|
|
240
240
|
console.log("");
|
|
241
241
|
console.log(" The agent will now start...");
|
package/dist/index.d.mts
CHANGED
|
@@ -94,7 +94,7 @@ type RelayConfig$1 = z.infer<typeof RelayConfigSchema>;
|
|
|
94
94
|
declare const AgentConfigSchema: z.ZodObject<{
|
|
95
95
|
agentId: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
96
96
|
name: z.ZodString;
|
|
97
|
-
network: z.ZodDefault<z.
|
|
97
|
+
network: z.ZodDefault<z.ZodLiteral<"mainnet">>;
|
|
98
98
|
wallet: z.ZodOptional<z.ZodObject<{
|
|
99
99
|
setup: z.ZodDefault<z.ZodEnum<["generate", "provide"]>>;
|
|
100
100
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -186,7 +186,7 @@ declare const AgentConfigSchema: z.ZodObject<{
|
|
|
186
186
|
}, "strip", z.ZodTypeAny, {
|
|
187
187
|
agentId: string | number;
|
|
188
188
|
name: string;
|
|
189
|
-
network: "mainnet"
|
|
189
|
+
network: "mainnet";
|
|
190
190
|
llm: {
|
|
191
191
|
provider: "custom" | "openai" | "anthropic" | "google" | "deepseek" | "mistral" | "groq" | "together" | "ollama";
|
|
192
192
|
temperature: number;
|
|
@@ -232,7 +232,7 @@ declare const AgentConfigSchema: z.ZodObject<{
|
|
|
232
232
|
temperature?: number | undefined;
|
|
233
233
|
maxTokens?: number | undefined;
|
|
234
234
|
};
|
|
235
|
-
network?: "mainnet" |
|
|
235
|
+
network?: "mainnet" | undefined;
|
|
236
236
|
wallet?: {
|
|
237
237
|
setup?: "generate" | "provide" | undefined;
|
|
238
238
|
} | undefined;
|
|
@@ -334,7 +334,7 @@ interface VaultStatus {
|
|
|
334
334
|
interface VaultManagerConfig {
|
|
335
335
|
agentId: bigint;
|
|
336
336
|
agentName: string;
|
|
337
|
-
network: 'mainnet'
|
|
337
|
+
network: 'mainnet';
|
|
338
338
|
walletKey: `0x${string}`;
|
|
339
339
|
vaultConfig: VaultConfig;
|
|
340
340
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -94,7 +94,7 @@ type RelayConfig$1 = z.infer<typeof RelayConfigSchema>;
|
|
|
94
94
|
declare const AgentConfigSchema: z.ZodObject<{
|
|
95
95
|
agentId: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
96
96
|
name: z.ZodString;
|
|
97
|
-
network: z.ZodDefault<z.
|
|
97
|
+
network: z.ZodDefault<z.ZodLiteral<"mainnet">>;
|
|
98
98
|
wallet: z.ZodOptional<z.ZodObject<{
|
|
99
99
|
setup: z.ZodDefault<z.ZodEnum<["generate", "provide"]>>;
|
|
100
100
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -186,7 +186,7 @@ declare const AgentConfigSchema: z.ZodObject<{
|
|
|
186
186
|
}, "strip", z.ZodTypeAny, {
|
|
187
187
|
agentId: string | number;
|
|
188
188
|
name: string;
|
|
189
|
-
network: "mainnet"
|
|
189
|
+
network: "mainnet";
|
|
190
190
|
llm: {
|
|
191
191
|
provider: "custom" | "openai" | "anthropic" | "google" | "deepseek" | "mistral" | "groq" | "together" | "ollama";
|
|
192
192
|
temperature: number;
|
|
@@ -232,7 +232,7 @@ declare const AgentConfigSchema: z.ZodObject<{
|
|
|
232
232
|
temperature?: number | undefined;
|
|
233
233
|
maxTokens?: number | undefined;
|
|
234
234
|
};
|
|
235
|
-
network?: "mainnet" |
|
|
235
|
+
network?: "mainnet" | undefined;
|
|
236
236
|
wallet?: {
|
|
237
237
|
setup?: "generate" | "provide" | undefined;
|
|
238
238
|
} | undefined;
|
|
@@ -334,7 +334,7 @@ interface VaultStatus {
|
|
|
334
334
|
interface VaultManagerConfig {
|
|
335
335
|
agentId: bigint;
|
|
336
336
|
agentName: string;
|
|
337
|
-
network: 'mainnet'
|
|
337
|
+
network: 'mainnet';
|
|
338
338
|
walletKey: `0x${string}`;
|
|
339
339
|
vaultConfig: VaultConfig;
|
|
340
340
|
}
|
package/dist/index.js
CHANGED
|
@@ -820,7 +820,7 @@ export const generateSignals: StrategyFunction = async (marketData, llm, config)
|
|
|
820
820
|
riskWarnings: [
|
|
821
821
|
"Custom strategies have no guardrails - you are fully responsible",
|
|
822
822
|
"LLMs can hallucinate or make errors - always validate outputs",
|
|
823
|
-
"
|
|
823
|
+
"Start with small amounts before scaling up",
|
|
824
824
|
"Consider edge cases: what happens if the LLM returns invalid JSON?",
|
|
825
825
|
"Your prompts and strategy logic are your competitive advantage - protect them",
|
|
826
826
|
"Agents may not behave exactly as expected based on your prompts"
|
|
@@ -991,11 +991,8 @@ var TOKEN_DECIMALS = {
|
|
|
991
991
|
// cbBTC
|
|
992
992
|
"0x2416092f143378750bb29b79ed961ab195cceea5": 18,
|
|
993
993
|
// ezETH (Renzo)
|
|
994
|
-
"0xc1cba3fcea344f92d9239c08c0568f6f2f0ee452": 18
|
|
994
|
+
"0xc1cba3fcea344f92d9239c08c0568f6f2f0ee452": 18
|
|
995
995
|
// wstETH (Lido)
|
|
996
|
-
// Base Sepolia
|
|
997
|
-
"0x036cbd53842c5426634e7929541ec2318f3dcf7e": 6
|
|
998
|
-
// USDC testnet
|
|
999
996
|
};
|
|
1000
997
|
function getTokenDecimals(address) {
|
|
1001
998
|
const decimals = TOKEN_DECIMALS[address.toLowerCase()];
|
|
@@ -1363,16 +1360,10 @@ var import_viem2 = require("viem");
|
|
|
1363
1360
|
var import_accounts = require("viem/accounts");
|
|
1364
1361
|
var import_chains = require("viem/chains");
|
|
1365
1362
|
var ADDRESSES = {
|
|
1366
|
-
testnet: {
|
|
1367
|
-
vaultFactory: "0x5c099daaE33801a907Bb57011c6749655b55dc75",
|
|
1368
|
-
registry: "0xCF48C341e3FebeCA5ECB7eb2535f61A2Ba855d9C",
|
|
1369
|
-
usdc: "0x036CbD53842c5426634e7929541eC2318f3dCF7e"
|
|
1370
|
-
},
|
|
1371
1363
|
mainnet: {
|
|
1372
1364
|
vaultFactory: process.env.EXAGENT_VAULT_FACTORY_ADDRESS || "0x0000000000000000000000000000000000000000",
|
|
1373
1365
|
registry: process.env.EXAGENT_REGISTRY_ADDRESS || "0x0000000000000000000000000000000000000000",
|
|
1374
1366
|
usdc: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
|
|
1375
|
-
// Base mainnet USDC
|
|
1376
1367
|
}
|
|
1377
1368
|
};
|
|
1378
1369
|
var VAULT_FACTORY_ABI = [
|
|
@@ -1454,8 +1445,8 @@ var VaultManager = class {
|
|
|
1454
1445
|
this.config = config;
|
|
1455
1446
|
this.addresses = ADDRESSES[config.network];
|
|
1456
1447
|
this.account = (0, import_accounts.privateKeyToAccount)(config.walletKey);
|
|
1457
|
-
this.chain =
|
|
1458
|
-
const rpcUrl =
|
|
1448
|
+
this.chain = import_chains.base;
|
|
1449
|
+
const rpcUrl = "https://mainnet.base.org";
|
|
1459
1450
|
this.publicClient = (0, import_viem2.createPublicClient)({
|
|
1460
1451
|
chain: this.chain,
|
|
1461
1452
|
transport: (0, import_viem2.http)(rpcUrl)
|
|
@@ -2163,7 +2154,7 @@ var AgentRuntime = class {
|
|
|
2163
2154
|
const message = error instanceof Error ? error.message : String(error);
|
|
2164
2155
|
if (message.includes("insufficient funds") || message.includes("gas") || message.includes("intrinsic gas too low") || message.includes("exceeds the balance")) {
|
|
2165
2156
|
const ccUrl = `https://exagent.io/agents/${encodeURIComponent(this.config.name)}/command-center`;
|
|
2166
|
-
const chain =
|
|
2157
|
+
const chain = import_chains2.base;
|
|
2167
2158
|
const publicClientInstance = (0, import_viem3.createPublicClient)({
|
|
2168
2159
|
chain,
|
|
2169
2160
|
transport: (0, import_viem3.http)(this.getRpcUrl())
|
|
@@ -2586,10 +2577,7 @@ var AgentRuntime = class {
|
|
|
2586
2577
|
* Get RPC URL based on network
|
|
2587
2578
|
*/
|
|
2588
2579
|
getRpcUrl() {
|
|
2589
|
-
|
|
2590
|
-
return "https://mainnet.base.org";
|
|
2591
|
-
}
|
|
2592
|
-
return "https://sepolia.base.org";
|
|
2580
|
+
return "https://mainnet.base.org";
|
|
2593
2581
|
}
|
|
2594
2582
|
/**
|
|
2595
2583
|
* Default tokens to track.
|
|
@@ -2597,42 +2585,36 @@ var AgentRuntime = class {
|
|
|
2597
2585
|
* agents in restricted risk universes will have ineligible tokens filtered out.
|
|
2598
2586
|
*/
|
|
2599
2587
|
getDefaultTokens() {
|
|
2600
|
-
if (this.config.network === "mainnet") {
|
|
2601
|
-
return [
|
|
2602
|
-
// Core
|
|
2603
|
-
"0x4200000000000000000000000000000000000006",
|
|
2604
|
-
// WETH
|
|
2605
|
-
"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
2606
|
-
// USDC
|
|
2607
|
-
"0x2Ae3F1Ec7F1F5012CFEab0185bFC7aa3cf0DEC22",
|
|
2608
|
-
// cbETH
|
|
2609
|
-
"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
2610
|
-
// USDbC
|
|
2611
|
-
"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
|
|
2612
|
-
// DAI
|
|
2613
|
-
// Established
|
|
2614
|
-
"0x940181a94A35A4569E4529A3CDfB74e38FD98631",
|
|
2615
|
-
// AERO
|
|
2616
|
-
"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
|
|
2617
|
-
// cbBTC
|
|
2618
|
-
"0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452",
|
|
2619
|
-
// wstETH
|
|
2620
|
-
"0x2416092f143378750bb29b79eD961ab195CcEea5",
|
|
2621
|
-
// ezETH
|
|
2622
|
-
// Emerging (filtered by risk universe at init)
|
|
2623
|
-
"0x532f27101965dd16442E59d40670FaF5eBB142E4",
|
|
2624
|
-
// BRETT
|
|
2625
|
-
"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed",
|
|
2626
|
-
// DEGEN
|
|
2627
|
-
"0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b",
|
|
2628
|
-
// VIRTUAL
|
|
2629
|
-
"0xAC1Bd2486Aaf3B5C0fc3Fd868558b082a531B2B4"
|
|
2630
|
-
// TOSHI
|
|
2631
|
-
];
|
|
2632
|
-
}
|
|
2633
2588
|
return [
|
|
2634
|
-
|
|
2589
|
+
// Core
|
|
2590
|
+
"0x4200000000000000000000000000000000000006",
|
|
2635
2591
|
// WETH
|
|
2592
|
+
"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
2593
|
+
// USDC
|
|
2594
|
+
"0x2Ae3F1Ec7F1F5012CFEab0185bFC7aa3cf0DEC22",
|
|
2595
|
+
// cbETH
|
|
2596
|
+
"0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
2597
|
+
// USDbC
|
|
2598
|
+
"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
|
|
2599
|
+
// DAI
|
|
2600
|
+
// Established
|
|
2601
|
+
"0x940181a94A35A4569E4529A3CDfB74e38FD98631",
|
|
2602
|
+
// AERO
|
|
2603
|
+
"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",
|
|
2604
|
+
// cbBTC
|
|
2605
|
+
"0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452",
|
|
2606
|
+
// wstETH
|
|
2607
|
+
"0x2416092f143378750bb29b79eD961ab195CcEea5",
|
|
2608
|
+
// ezETH
|
|
2609
|
+
// Emerging (filtered by risk universe at init)
|
|
2610
|
+
"0x532f27101965dd16442E59d40670FaF5eBB142E4",
|
|
2611
|
+
// BRETT
|
|
2612
|
+
"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed",
|
|
2613
|
+
// DEGEN
|
|
2614
|
+
"0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b",
|
|
2615
|
+
// VIRTUAL
|
|
2616
|
+
"0xAC1Bd2486Aaf3B5C0fc3Fd868558b082a531B2B4"
|
|
2617
|
+
// TOSHI
|
|
2636
2618
|
];
|
|
2637
2619
|
}
|
|
2638
2620
|
sleep(ms) {
|
|
@@ -2754,7 +2736,7 @@ var AgentConfigSchema = import_zod.z.object({
|
|
|
2754
2736
|
agentId: import_zod.z.union([import_zod.z.number().positive(), import_zod.z.string()]),
|
|
2755
2737
|
name: import_zod.z.string().min(3).max(32),
|
|
2756
2738
|
// Network
|
|
2757
|
-
network: import_zod.z.
|
|
2739
|
+
network: import_zod.z.literal("mainnet").default("mainnet"),
|
|
2758
2740
|
// Wallet setup preference
|
|
2759
2741
|
wallet: WalletConfigSchema,
|
|
2760
2742
|
// LLM
|
|
@@ -2841,7 +2823,7 @@ function createSampleConfig(agentId, name) {
|
|
|
2841
2823
|
return {
|
|
2842
2824
|
agentId,
|
|
2843
2825
|
name,
|
|
2844
|
-
network: "
|
|
2826
|
+
network: "mainnet",
|
|
2845
2827
|
llm: {
|
|
2846
2828
|
provider: "openai",
|
|
2847
2829
|
model: "gpt-4.1",
|
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.13",
|
|
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.5",
|
|
33
33
|
"chalk": "^5.3.0",
|
|
34
34
|
"commander": "^12.0.0",
|
|
35
35
|
"dotenv": "^16.4.0",
|
package/templates/.env.template
CHANGED
|
@@ -15,11 +15,10 @@
|
|
|
15
15
|
EXAGENT_PRIVATE_KEY=
|
|
16
16
|
|
|
17
17
|
# ============================================
|
|
18
|
-
#
|
|
18
|
+
# Network
|
|
19
19
|
# ============================================
|
|
20
|
-
#
|
|
21
|
-
|
|
22
|
-
EXAGENT_NETWORK=testnet
|
|
20
|
+
# Base mainnet
|
|
21
|
+
EXAGENT_NETWORK=mainnet
|
|
23
22
|
|
|
24
23
|
# ============================================
|
|
25
24
|
# LLM API Keys (choose one based on your config)
|
|
@@ -19,7 +19,7 @@ services:
|
|
|
19
19
|
environment:
|
|
20
20
|
- NODE_ENV=production
|
|
21
21
|
- EXAGENT_PRIVATE_KEY=${EXAGENT_PRIVATE_KEY}
|
|
22
|
-
- EXAGENT_NETWORK=${EXAGENT_NETWORK:-
|
|
22
|
+
- EXAGENT_NETWORK=${EXAGENT_NETWORK:-mainnet}
|
|
23
23
|
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
|
24
24
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
|
25
25
|
- EXAGENT_LLM_URL=${EXAGENT_LLM_URL:-}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* IMPORTANT WARNINGS:
|
|
9
9
|
* - LLMs can hallucinate or make errors. Always validate outputs.
|
|
10
|
-
* -
|
|
10
|
+
* - Start with small amounts before scaling up.
|
|
11
11
|
* - Agents may not behave exactly as expected based on your prompts.
|
|
12
12
|
* - You are fully responsible for your trading decisions.
|
|
13
13
|
*/
|