@sherwoodagent/cli 0.22.8 → 0.24.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/dist/{chat-JYAJMP4D.js → chat-3SAX4VRO.js} +7 -7
- package/dist/{chunk-LVPBJ7MI.js → chunk-35536GNW.js} +2 -2
- package/dist/{chunk-4Y6Y4SVH.js → chunk-5NN424VN.js} +4 -4
- package/dist/{chunk-B42ZCCZ7.js → chunk-5S2TBADL.js} +4 -2
- package/dist/chunk-5S2TBADL.js.map +1 -0
- package/dist/{chunk-VO6DCRWV.js → chunk-LMDHM36X.js} +4 -4
- package/dist/{chunk-4YIE7GHL.js → chunk-NGET2RWT.js} +2 -2
- package/dist/{chunk-Y7LS6DEF.js → chunk-PEJPTKLK.js} +5 -5
- package/dist/{chunk-JR5K5WVR.js → chunk-R75DM3VL.js} +163 -10
- package/dist/chunk-R75DM3VL.js.map +1 -0
- package/dist/{chunk-ASJTFFZH.js → chunk-R7Q2L6VV.js} +3 -3
- package/dist/{chunk-G7JQRLQE.js → chunk-ZIH3SCFJ.js} +5 -5
- package/dist/{client-SCIY6SUP.js → client-XG6LL6TS.js} +4 -4
- package/dist/{config-BGS5MX4D.js → config-EHCEKT2B.js} +2 -2
- package/dist/{eas-X5UIEM6D.js → eas-ZMTIOZH6.js} +6 -6
- package/dist/{governor-ZKRSAHG4.js → governor-JIXAG6WU.js} +6 -6
- package/dist/index.js +609 -74
- package/dist/index.js.map +1 -1
- package/dist/{network-UTSOP7EF.js → network-UVMYTKQX.js} +3 -3
- package/dist/price-AGCWXLZ6.js +156 -0
- package/dist/price-AGCWXLZ6.js.map +1 -0
- package/dist/research-2I6AA3BI.js +14 -0
- package/dist/{research-EWH43HFN.js → research-KUIZM6AK.js} +9 -9
- package/dist/{session-XZNKLK3I.js → session-2FIR4LJP.js} +12 -12
- package/dist/{trade-VKSXEHWW.js → trade-UTM3DSO3.js} +16 -16
- package/dist/{xmtp-XKHXATPQ.js → xmtp-B2XFVPIV.js} +6 -6
- package/package.json +1 -1
- package/dist/chunk-B42ZCCZ7.js.map +0 -1
- package/dist/chunk-JR5K5WVR.js.map +0 -1
- package/dist/research-W3M3VZBD.js +0 -14
- /package/dist/{chat-JYAJMP4D.js.map → chat-3SAX4VRO.js.map} +0 -0
- /package/dist/{chunk-LVPBJ7MI.js.map → chunk-35536GNW.js.map} +0 -0
- /package/dist/{chunk-4Y6Y4SVH.js.map → chunk-5NN424VN.js.map} +0 -0
- /package/dist/{chunk-VO6DCRWV.js.map → chunk-LMDHM36X.js.map} +0 -0
- /package/dist/{chunk-4YIE7GHL.js.map → chunk-NGET2RWT.js.map} +0 -0
- /package/dist/{chunk-Y7LS6DEF.js.map → chunk-PEJPTKLK.js.map} +0 -0
- /package/dist/{chunk-ASJTFFZH.js.map → chunk-R7Q2L6VV.js.map} +0 -0
- /package/dist/{chunk-G7JQRLQE.js.map → chunk-ZIH3SCFJ.js.map} +0 -0
- /package/dist/{client-SCIY6SUP.js.map → client-XG6LL6TS.js.map} +0 -0
- /package/dist/{config-BGS5MX4D.js.map → config-EHCEKT2B.js.map} +0 -0
- /package/dist/{eas-X5UIEM6D.js.map → eas-ZMTIOZH6.js.map} +0 -0
- /package/dist/{governor-ZKRSAHG4.js.map → governor-JIXAG6WU.js.map} +0 -0
- /package/dist/{network-UTSOP7EF.js.map → network-UVMYTKQX.js.map} +0 -0
- /package/dist/{research-W3M3VZBD.js.map → research-2I6AA3BI.js.map} +0 -0
- /package/dist/{research-EWH43HFN.js.map → research-KUIZM6AK.js.map} +0 -0
- /package/dist/{session-XZNKLK3I.js.map → session-2FIR4LJP.js.map} +0 -0
- /package/dist/{trade-VKSXEHWW.js.map → trade-UTM3DSO3.js.map} +0 -0
- /package/dist/{xmtp-XKHXATPQ.js.map → xmtp-B2XFVPIV.js.map} +0 -0
|
@@ -2,23 +2,23 @@ import {
|
|
|
2
2
|
getTextRecord,
|
|
3
3
|
resolveSyndicate,
|
|
4
4
|
setTextRecord
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-ZIH3SCFJ.js";
|
|
6
|
+
import "./chunk-R75DM3VL.js";
|
|
7
7
|
import {
|
|
8
8
|
formatContractError,
|
|
9
9
|
getAccount
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-R7Q2L6VV.js";
|
|
11
|
+
import "./chunk-35536GNW.js";
|
|
12
12
|
import {
|
|
13
13
|
cacheGroupId,
|
|
14
14
|
getCachedGroupId
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-5S2TBADL.js";
|
|
16
16
|
|
|
17
17
|
// src/commands/chat.ts
|
|
18
18
|
import chalk from "chalk";
|
|
19
19
|
import ora from "ora";
|
|
20
20
|
async function loadXmtp() {
|
|
21
|
-
return import("./xmtp-
|
|
21
|
+
return import("./xmtp-B2XFVPIV.js");
|
|
22
22
|
}
|
|
23
23
|
function formatTimestamp(date) {
|
|
24
24
|
return `${date.getHours().toString().padStart(2, "0")}:${date.getMinutes().toString().padStart(2, "0")}`;
|
|
@@ -378,4 +378,4 @@ function registerChatCommands(program) {
|
|
|
378
378
|
export {
|
|
379
379
|
registerChatCommands
|
|
380
380
|
};
|
|
381
|
-
//# sourceMappingURL=chat-
|
|
381
|
+
//# sourceMappingURL=chat-3SAX4VRO.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getConfigRpcUrl
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5S2TBADL.js";
|
|
4
4
|
|
|
5
5
|
// src/lib/network.ts
|
|
6
6
|
import { defineChain } from "viem";
|
|
@@ -104,4 +104,4 @@ export {
|
|
|
104
104
|
getExplorerUrl,
|
|
105
105
|
isTestnet
|
|
106
106
|
};
|
|
107
|
-
//# sourceMappingURL=chunk-
|
|
107
|
+
//# sourceMappingURL=chunk-35536GNW.js.map
|
|
@@ -2,18 +2,18 @@ import {
|
|
|
2
2
|
EAS_ABI,
|
|
3
3
|
EAS_CONTRACTS,
|
|
4
4
|
EAS_SCHEMAS
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-R75DM3VL.js";
|
|
6
6
|
import {
|
|
7
7
|
getAccount,
|
|
8
8
|
getPublicClient,
|
|
9
9
|
waitForReceipt,
|
|
10
10
|
writeContractWithRetry
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-R7Q2L6VV.js";
|
|
12
12
|
import {
|
|
13
13
|
getChain,
|
|
14
14
|
getChainConfig,
|
|
15
15
|
getNetwork
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-35536GNW.js";
|
|
17
17
|
|
|
18
18
|
// src/lib/eas.ts
|
|
19
19
|
import { encodeAbiParameters, parseAbiParameters, decodeAbiParameters } from "viem";
|
|
@@ -409,4 +409,4 @@ export {
|
|
|
409
409
|
queryApprovals,
|
|
410
410
|
queryJoinRequests
|
|
411
411
|
};
|
|
412
|
-
//# sourceMappingURL=chunk-
|
|
412
|
+
//# sourceMappingURL=chunk-5NN424VN.js.map
|
|
@@ -6,7 +6,9 @@ var CONFIG_DIR = path.join(os.homedir(), ".sherwood");
|
|
|
6
6
|
var CONFIG_PATH = path.join(CONFIG_DIR, "config.json");
|
|
7
7
|
function loadConfig() {
|
|
8
8
|
if (fs.existsSync(CONFIG_PATH)) {
|
|
9
|
-
|
|
9
|
+
const config = JSON.parse(fs.readFileSync(CONFIG_PATH, "utf-8"));
|
|
10
|
+
if (!config.groupCache) config.groupCache = {};
|
|
11
|
+
return config;
|
|
10
12
|
}
|
|
11
13
|
return { groupCache: {} };
|
|
12
14
|
}
|
|
@@ -157,4 +159,4 @@ export {
|
|
|
157
159
|
setPrimarySyndicate,
|
|
158
160
|
getPrimarySyndicate
|
|
159
161
|
};
|
|
160
|
-
//# sourceMappingURL=chunk-
|
|
162
|
+
//# sourceMappingURL=chunk-5S2TBADL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/config.ts"],"sourcesContent":["/**\n * Local config management — ~/.sherwood/config.json\n *\n * Stores group ID cache, per-chain contract addresses, and wallet config.\n */\n\nimport fs from \"node:fs\";\nimport os from \"node:os\";\nimport path from \"node:path\";\n\nconst CONFIG_DIR = path.join(os.homedir(), \".sherwood\");\nconst CONFIG_PATH = path.join(CONFIG_DIR, \"config.json\");\n\n/** Per-chain user-specific addresses (stored by chainId). */\nexport interface ChainContracts {\n vault?: string; // user's default vault address\n}\n\n/** A syndicate the agent belongs to (creator or member). */\nexport interface SyndicateMembership {\n subdomain: string;\n vault: string;\n role: \"creator\" | \"agent\";\n}\n\nexport interface SherwoodConfig {\n dbEncryptionKey?: string; // legacy — no longer used, XMTP CLI manages its own DB\n privateKey?: string; // wallet private key (0x-prefixed)\n xmtpInboxId?: string;\n groupCache: Record<string, string>; // subdomain → XMTP group ID\n veniceApiKey?: string; // Venice AI inference API key\n agentId?: number; // ERC-8004 identity token ID\n contracts?: Record<string, ChainContracts>; // chainId → user addresses\n syndicates?: Record<string, SyndicateMembership[]>; // chainId → syndicate memberships\n primarySyndicate?: Record<string, string>; // chainId → subdomain of the active syndicate\n rpc?: Record<string, string>; // network name → custom RPC URL\n notifyTo?: string; // destination for cron summaries (Telegram chat ID, phone, etc.)\n uniswapApiKey?: string; // Uniswap Trading API key (from developers.uniswap.org)\n positions?: unknown[]; // open trade positions (typed in positions.ts)\n closedPositions?: unknown[]; // historical closed positions\n _xmtpMigrated?: boolean; // one-time flag: revoked stale installations from ~/.xmtp/ era\n}\n\nexport function loadConfig(): SherwoodConfig {\n if (fs.existsSync(CONFIG_PATH)) {\n const config = JSON.parse(fs.readFileSync(CONFIG_PATH, \"utf-8\"));\n if (!config.groupCache) config.groupCache = {};\n return config;\n }\n\n return { groupCache: {} };\n}\n\nexport function saveConfig(config: SherwoodConfig): void {\n fs.mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });\n fs.writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2), { mode: 0o600 });\n}\n\nexport function cacheGroupId(subdomain: string, groupId: string): void {\n const config = loadConfig();\n config.groupCache[subdomain] = groupId;\n saveConfig(config);\n}\n\nexport function getCachedGroupId(subdomain: string): string | undefined {\n const config = loadConfig();\n return config.groupCache[subdomain];\n}\n\nexport function setVeniceApiKey(apiKey: string): void {\n const config = loadConfig();\n config.veniceApiKey = apiKey;\n saveConfig(config);\n}\n\nexport function getVeniceApiKey(): string | undefined {\n return loadConfig().veniceApiKey ?? process.env.VENICE_API_KEY;\n}\n\nexport function setAgentId(agentId: number): void {\n const config = loadConfig();\n config.agentId = agentId;\n saveConfig(config);\n}\n\nexport function getAgentId(): number | undefined {\n return loadConfig().agentId;\n}\n\nexport function setPrivateKey(key: string): void {\n const config = loadConfig();\n config.privateKey = key.startsWith(\"0x\") ? key : `0x${key}`;\n saveConfig(config);\n}\n\nexport function getPrivateKey(): string | undefined {\n return loadConfig().privateKey;\n}\n\n// ── Uniswap Trading API Key ──\n\nexport function setUniswapApiKey(apiKey: string): void {\n const config = loadConfig();\n config.uniswapApiKey = apiKey;\n saveConfig(config);\n}\n\nexport function getUniswapApiKey(): string | undefined {\n return loadConfig().uniswapApiKey ?? process.env.UNISWAP_API_KEY;\n}\n\n// ── Per-network RPC URLs ──\n\nexport function getConfigRpcUrl(network: string): string | undefined {\n return loadConfig().rpc?.[network];\n}\n\nexport function setConfigRpcUrl(network: string, url: string): void {\n const config = loadConfig();\n if (!config.rpc) config.rpc = {};\n config.rpc[network] = url;\n saveConfig(config);\n}\n\n// ── Per-chain contract addresses ──\n\nexport function getChainContracts(chainId: number): ChainContracts {\n const config = loadConfig();\n return config.contracts?.[String(chainId)] ?? {};\n}\n\nexport function getNotifyTo(): string | undefined {\n return loadConfig().notifyTo;\n}\n\nexport function setNotifyTo(id: string): void {\n const config = loadConfig();\n config.notifyTo = id;\n saveConfig(config);\n}\n\nexport function setChainContract(\n chainId: number,\n key: keyof ChainContracts,\n value: string,\n): void {\n const config = loadConfig();\n if (!config.contracts) config.contracts = {};\n const cid = String(chainId);\n if (!config.contracts[cid]) config.contracts[cid] = {};\n config.contracts[cid][key] = value;\n saveConfig(config);\n}\n\n// ── Syndicate Membership ──\n\n/**\n * Add (or update) a syndicate membership. Deduplicates by subdomain.\n * Automatically sets it as primary if it's the first syndicate on this chain.\n */\nexport function addSyndicate(\n chainId: number,\n membership: SyndicateMembership,\n): void {\n const config = loadConfig();\n const cid = String(chainId);\n if (!config.syndicates) config.syndicates = {};\n if (!config.syndicates[cid]) config.syndicates[cid] = [];\n\n // Upsert — replace existing entry with same subdomain\n const idx = config.syndicates[cid].findIndex(\n (s) => s.subdomain === membership.subdomain,\n );\n if (idx >= 0) {\n config.syndicates[cid][idx] = membership;\n } else {\n config.syndicates[cid].push(membership);\n }\n\n // Auto-set as primary if it's the first syndicate (or no primary set)\n if (!config.primarySyndicate) config.primarySyndicate = {};\n if (!config.primarySyndicate[cid]) {\n config.primarySyndicate[cid] = membership.subdomain;\n }\n\n saveConfig(config);\n}\n\n/** Get all syndicate memberships for a chain. */\nexport function getSyndicates(chainId: number): SyndicateMembership[] {\n const config = loadConfig();\n return config.syndicates?.[String(chainId)] ?? [];\n}\n\n/** Set which syndicate is the active/primary one for CLI commands. */\nexport function setPrimarySyndicate(\n chainId: number,\n subdomain: string,\n): void {\n const config = loadConfig();\n if (!config.primarySyndicate) config.primarySyndicate = {};\n config.primarySyndicate[String(chainId)] = subdomain;\n saveConfig(config);\n}\n\n/**\n * Get the primary syndicate for this chain.\n * Falls back to ChainContracts.vault for backwards compat with older configs.\n */\nexport function getPrimarySyndicate(\n chainId: number,\n): SyndicateMembership | undefined {\n const config = loadConfig();\n const cid = String(chainId);\n\n // Check new syndicates store first\n const primarySubdomain = config.primarySyndicate?.[cid];\n if (primarySubdomain && config.syndicates?.[cid]) {\n const found = config.syndicates[cid].find(\n (s) => s.subdomain === primarySubdomain,\n );\n if (found) return found;\n }\n\n // Backwards compat: if syndicates list has entries but no primary, use the first one\n if (config.syndicates?.[cid]?.length) {\n return config.syndicates[cid][0];\n }\n\n // Legacy fallback: config only has a vault address, no subdomain\n const vault = config.contracts?.[cid]?.vault;\n if (vault) {\n return { subdomain: \"\", vault, role: \"creator\" };\n }\n\n return undefined;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SHERWOOD,
|
|
3
3
|
SYNDICATE_GOVERNOR_ABI
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-R75DM3VL.js";
|
|
5
5
|
import {
|
|
6
6
|
getAccount,
|
|
7
7
|
getPublicClient,
|
|
8
8
|
waitForReceipt,
|
|
9
9
|
writeContractWithRetry
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-R7Q2L6VV.js";
|
|
11
11
|
import {
|
|
12
12
|
getChain
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-35536GNW.js";
|
|
14
14
|
|
|
15
15
|
// src/lib/governor.ts
|
|
16
16
|
import { parseEventLogs } from "viem";
|
|
@@ -427,4 +427,4 @@ export {
|
|
|
427
427
|
vetoProposal,
|
|
428
428
|
setProtocolFeeBps
|
|
429
429
|
};
|
|
430
|
-
//# sourceMappingURL=chunk-
|
|
430
|
+
//# sourceMappingURL=chunk-LMDHM36X.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getAccount
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-R7Q2L6VV.js";
|
|
4
4
|
|
|
5
5
|
// src/providers/research/messari.ts
|
|
6
6
|
import { base, baseSepolia } from "viem/chains";
|
|
@@ -445,4 +445,4 @@ export {
|
|
|
445
445
|
NansenProvider,
|
|
446
446
|
getResearchProvider
|
|
447
447
|
};
|
|
448
|
-
//# sourceMappingURL=chunk-
|
|
448
|
+
//# sourceMappingURL=chunk-NGET2RWT.js.map
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
UNISWAP,
|
|
3
3
|
UNISWAP_QUOTER_V2_ABI
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-R75DM3VL.js";
|
|
5
5
|
import {
|
|
6
6
|
getAccount,
|
|
7
7
|
getPublicClient,
|
|
8
8
|
sendTxWithRetry,
|
|
9
9
|
waitForReceipt
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-R7Q2L6VV.js";
|
|
11
11
|
import {
|
|
12
12
|
getChain
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-35536GNW.js";
|
|
14
14
|
import {
|
|
15
15
|
getUniswapApiKey,
|
|
16
16
|
getVeniceApiKey,
|
|
17
17
|
setVeniceApiKey
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-5S2TBADL.js";
|
|
19
19
|
|
|
20
20
|
// src/providers/uniswap.ts
|
|
21
21
|
import { isAddress } from "viem";
|
|
@@ -449,4 +449,4 @@ export {
|
|
|
449
449
|
encodeSwapPath,
|
|
450
450
|
getMultiHopQuote
|
|
451
451
|
};
|
|
452
|
-
//# sourceMappingURL=chunk-
|
|
452
|
+
//# sourceMappingURL=chunk-PEJPTKLK.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getNetwork
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-35536GNW.js";
|
|
4
4
|
|
|
5
5
|
// src/lib/addresses.ts
|
|
6
6
|
var ZERO = "0x0000000000000000000000000000000000000000";
|
|
@@ -57,13 +57,17 @@ var BASE_SEPOLIA_UNISWAP = {
|
|
|
57
57
|
};
|
|
58
58
|
var ROBINHOOD_TESTNET_TOKENS = {
|
|
59
59
|
USDC: ZERO,
|
|
60
|
-
// no Circle USDC on Robinhood L2
|
|
61
60
|
WETH: "0x7943e237c7F95DA44E0301572D358911207852Fa",
|
|
62
61
|
cbETH: ZERO,
|
|
63
62
|
wstETH: ZERO,
|
|
64
63
|
cbBTC: ZERO,
|
|
65
64
|
DAI: ZERO,
|
|
66
|
-
AERO: ZERO
|
|
65
|
+
AERO: ZERO,
|
|
66
|
+
TSLA: "0xC9f9c86933092BbbfFF3CCb4b105A4A94bf3Bd4E",
|
|
67
|
+
AMZN: "0x5884aD2f920c162CFBbACc88C9C51AA75eC09E02",
|
|
68
|
+
PLTR: "0x1FBE1a0e43594b3455993B5dE5Fd0A7A266298d0",
|
|
69
|
+
NFLX: "0x3b8262A63d25f0477c4DDE23F83cfe22Cb768C93",
|
|
70
|
+
AMD: "0x71178BAc73cBeb415514eB542a8995b82669778d"
|
|
67
71
|
};
|
|
68
72
|
var ROBINHOOD_TESTNET_MOONWELL = {
|
|
69
73
|
COMPTROLLER: ZERO,
|
|
@@ -79,6 +83,18 @@ var ROBINHOOD_TESTNET_UNISWAP = {
|
|
|
79
83
|
SWAP_ROUTER: ZERO,
|
|
80
84
|
QUOTER_V2: ZERO
|
|
81
85
|
};
|
|
86
|
+
var BASE_SYNTHRA = { ROUTER: ZERO, QUOTER: ZERO, FACTORY: ZERO };
|
|
87
|
+
var BASE_SEPOLIA_SYNTHRA = { ROUTER: ZERO, QUOTER: ZERO, FACTORY: ZERO };
|
|
88
|
+
var ROBINHOOD_TESTNET_SYNTHRA = {
|
|
89
|
+
ROUTER: "0x3Ce954107b1A675826B33bF23060Dd655e3758fE",
|
|
90
|
+
QUOTER: "0x231606c321A99DE81e28fE48B07a93F1ba49e713",
|
|
91
|
+
FACTORY: "0x911b4000D3422F482F4062a913885f7b035382Df"
|
|
92
|
+
};
|
|
93
|
+
var BASE_CHAINLINK = { VERIFIER_PROXY: ZERO };
|
|
94
|
+
var BASE_SEPOLIA_CHAINLINK = { VERIFIER_PROXY: ZERO };
|
|
95
|
+
var ROBINHOOD_TESTNET_CHAINLINK = {
|
|
96
|
+
VERIFIER_PROXY: "0x72790f9eB82db492a7DDb6d2af22A270Dcc3Db64"
|
|
97
|
+
};
|
|
82
98
|
var BASE_ENS = {
|
|
83
99
|
L2_REGISTRAR: "0x866996c808E6244216a3d0df15464FCF5d495394",
|
|
84
100
|
L2_REGISTRY: "0x7a019ce699e27b0ad1e5b51344a58116b9f3b9b1"
|
|
@@ -112,8 +128,8 @@ var BASE_SEPOLIA_SHERWOOD = {
|
|
|
112
128
|
GOVERNOR: "0xE5ecf2B06E3f3e298B632C0cf6575f9d9422F55E"
|
|
113
129
|
};
|
|
114
130
|
var ROBINHOOD_TESTNET_SHERWOOD = {
|
|
115
|
-
FACTORY: "
|
|
116
|
-
GOVERNOR: "
|
|
131
|
+
FACTORY: "0x6d026e2f5Ff0C34A01690EC46Cb601B8fF391985",
|
|
132
|
+
GOVERNOR: "0xd882056ba6b0aEd8908c541884B327121E2f2C9C"
|
|
117
133
|
};
|
|
118
134
|
var BASE_VENICE = {
|
|
119
135
|
VVV: "0xacfe6019ed1a7dc6f7b508c02d1b04ec88cc21bf",
|
|
@@ -148,21 +164,24 @@ var BASE_STRATEGY_TEMPLATES = {
|
|
|
148
164
|
AERODROME_LP: "0x1c61c740702690B86b874ab929A6F04A4Ec56C1c",
|
|
149
165
|
VENICE_INFERENCE: "0xd882056ba6b0aEd8908c541884B327121E2f2C9C",
|
|
150
166
|
WSTETH_MOONWELL: "0x6d026e2f5Ff0C34A01690EC46Cb601B8fF391985",
|
|
151
|
-
MAMO_YIELD: "0x5c98808Ce5e51767ba2d969F75312eEFF0b14a6A"
|
|
167
|
+
MAMO_YIELD: "0x5c98808Ce5e51767ba2d969F75312eEFF0b14a6A",
|
|
168
|
+
PORTFOLIO: ZERO
|
|
152
169
|
};
|
|
153
170
|
var BASE_SEPOLIA_STRATEGY_TEMPLATES = {
|
|
154
171
|
MOONWELL_SUPPLY: ZERO,
|
|
155
172
|
AERODROME_LP: ZERO,
|
|
156
173
|
VENICE_INFERENCE: ZERO,
|
|
157
174
|
WSTETH_MOONWELL: ZERO,
|
|
158
|
-
MAMO_YIELD: ZERO
|
|
175
|
+
MAMO_YIELD: ZERO,
|
|
176
|
+
PORTFOLIO: ZERO
|
|
159
177
|
};
|
|
160
178
|
var ROBINHOOD_TESTNET_STRATEGY_TEMPLATES = {
|
|
161
179
|
MOONWELL_SUPPLY: ZERO,
|
|
162
180
|
AERODROME_LP: ZERO,
|
|
163
181
|
VENICE_INFERENCE: ZERO,
|
|
164
182
|
WSTETH_MOONWELL: ZERO,
|
|
165
|
-
MAMO_YIELD: ZERO
|
|
183
|
+
MAMO_YIELD: ZERO,
|
|
184
|
+
PORTFOLIO: "0xAe981882923E0C76A7F10E7cAa3782023c0abd9B"
|
|
166
185
|
};
|
|
167
186
|
var BASE_EAS = {
|
|
168
187
|
EAS: "0x4200000000000000000000000000000000000021",
|
|
@@ -245,6 +264,16 @@ var STRATEGY_TEMPLATE_REGISTRY = {
|
|
|
245
264
|
"base-sepolia": BASE_SEPOLIA_STRATEGY_TEMPLATES,
|
|
246
265
|
"robinhood-testnet": ROBINHOOD_TESTNET_STRATEGY_TEMPLATES
|
|
247
266
|
};
|
|
267
|
+
var SYNTHRA_REGISTRY = {
|
|
268
|
+
base: BASE_SYNTHRA,
|
|
269
|
+
"base-sepolia": BASE_SEPOLIA_SYNTHRA,
|
|
270
|
+
"robinhood-testnet": ROBINHOOD_TESTNET_SYNTHRA
|
|
271
|
+
};
|
|
272
|
+
var CHAINLINK_REGISTRY = {
|
|
273
|
+
base: BASE_CHAINLINK,
|
|
274
|
+
"base-sepolia": BASE_SEPOLIA_CHAINLINK,
|
|
275
|
+
"robinhood-testnet": ROBINHOOD_TESTNET_CHAINLINK
|
|
276
|
+
};
|
|
248
277
|
var EAS_CONTRACT_REGISTRY = {
|
|
249
278
|
base: BASE_EAS,
|
|
250
279
|
"base-sepolia": BASE_SEPOLIA_EAS,
|
|
@@ -288,6 +317,12 @@ function EAS_CONTRACTS() {
|
|
|
288
317
|
function EAS_SCHEMAS() {
|
|
289
318
|
return EAS_SCHEMA_REGISTRY[getNetwork()];
|
|
290
319
|
}
|
|
320
|
+
function SYNTHRA() {
|
|
321
|
+
return SYNTHRA_REGISTRY[getNetwork()];
|
|
322
|
+
}
|
|
323
|
+
function CHAINLINK() {
|
|
324
|
+
return CHAINLINK_REGISTRY[getNetwork()];
|
|
325
|
+
}
|
|
291
326
|
|
|
292
327
|
// src/lib/abis.ts
|
|
293
328
|
var SYNDICATE_VAULT_ABI = [
|
|
@@ -1477,6 +1512,121 @@ var BASE_STRATEGY_ABI = [
|
|
|
1477
1512
|
outputs: [{ name: "", type: "uint8" }]
|
|
1478
1513
|
}
|
|
1479
1514
|
];
|
|
1515
|
+
var PORTFOLIO_STRATEGY_ABI = [
|
|
1516
|
+
// Inherited from BaseStrategy
|
|
1517
|
+
...BASE_STRATEGY_ABI,
|
|
1518
|
+
// Rebalancing
|
|
1519
|
+
{
|
|
1520
|
+
name: "rebalance",
|
|
1521
|
+
type: "function",
|
|
1522
|
+
stateMutability: "nonpayable",
|
|
1523
|
+
inputs: [],
|
|
1524
|
+
outputs: []
|
|
1525
|
+
},
|
|
1526
|
+
{
|
|
1527
|
+
name: "rebalanceDelta",
|
|
1528
|
+
type: "function",
|
|
1529
|
+
stateMutability: "nonpayable",
|
|
1530
|
+
inputs: [{ name: "priceReports", type: "bytes[]" }],
|
|
1531
|
+
outputs: []
|
|
1532
|
+
},
|
|
1533
|
+
// View functions
|
|
1534
|
+
{
|
|
1535
|
+
name: "getAllocations",
|
|
1536
|
+
type: "function",
|
|
1537
|
+
stateMutability: "view",
|
|
1538
|
+
inputs: [],
|
|
1539
|
+
outputs: [
|
|
1540
|
+
{
|
|
1541
|
+
name: "",
|
|
1542
|
+
type: "tuple[]",
|
|
1543
|
+
components: [
|
|
1544
|
+
{ name: "token", type: "address" },
|
|
1545
|
+
{ name: "targetWeightBps", type: "uint256" },
|
|
1546
|
+
{ name: "tokenAmount", type: "uint256" },
|
|
1547
|
+
{ name: "investedAmount", type: "uint256" }
|
|
1548
|
+
]
|
|
1549
|
+
}
|
|
1550
|
+
]
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
name: "allocationCount",
|
|
1554
|
+
type: "function",
|
|
1555
|
+
stateMutability: "view",
|
|
1556
|
+
inputs: [],
|
|
1557
|
+
outputs: [{ name: "", type: "uint256" }]
|
|
1558
|
+
},
|
|
1559
|
+
{
|
|
1560
|
+
name: "asset",
|
|
1561
|
+
type: "function",
|
|
1562
|
+
stateMutability: "view",
|
|
1563
|
+
inputs: [],
|
|
1564
|
+
outputs: [{ name: "", type: "address" }]
|
|
1565
|
+
},
|
|
1566
|
+
{
|
|
1567
|
+
name: "totalAmount",
|
|
1568
|
+
type: "function",
|
|
1569
|
+
stateMutability: "view",
|
|
1570
|
+
inputs: [],
|
|
1571
|
+
outputs: [{ name: "", type: "uint256" }]
|
|
1572
|
+
},
|
|
1573
|
+
{
|
|
1574
|
+
name: "maxSlippageBps",
|
|
1575
|
+
type: "function",
|
|
1576
|
+
stateMutability: "view",
|
|
1577
|
+
inputs: [],
|
|
1578
|
+
outputs: [{ name: "", type: "uint256" }]
|
|
1579
|
+
},
|
|
1580
|
+
{
|
|
1581
|
+
name: "swapAdapter",
|
|
1582
|
+
type: "function",
|
|
1583
|
+
stateMutability: "view",
|
|
1584
|
+
inputs: [],
|
|
1585
|
+
outputs: [{ name: "", type: "address" }]
|
|
1586
|
+
},
|
|
1587
|
+
{
|
|
1588
|
+
name: "getSwapExtraData",
|
|
1589
|
+
type: "function",
|
|
1590
|
+
stateMutability: "view",
|
|
1591
|
+
inputs: [],
|
|
1592
|
+
outputs: [{ name: "", type: "bytes[]" }]
|
|
1593
|
+
},
|
|
1594
|
+
// Events
|
|
1595
|
+
{
|
|
1596
|
+
name: "WeightsUpdated",
|
|
1597
|
+
type: "event",
|
|
1598
|
+
inputs: [
|
|
1599
|
+
{ name: "tokens", type: "address[]", indexed: false },
|
|
1600
|
+
{ name: "oldWeights", type: "uint256[]", indexed: false },
|
|
1601
|
+
{ name: "newWeights", type: "uint256[]", indexed: false }
|
|
1602
|
+
]
|
|
1603
|
+
},
|
|
1604
|
+
{
|
|
1605
|
+
name: "Rebalanced",
|
|
1606
|
+
type: "event",
|
|
1607
|
+
inputs: [
|
|
1608
|
+
{ name: "tokens", type: "address[]", indexed: false },
|
|
1609
|
+
{ name: "oldWeights", type: "uint256[]", indexed: false },
|
|
1610
|
+
{ name: "newWeights", type: "uint256[]", indexed: false },
|
|
1611
|
+
{ name: "oldBalances", type: "uint256[]", indexed: false },
|
|
1612
|
+
{ name: "newBalances", type: "uint256[]", indexed: false },
|
|
1613
|
+
{ name: "totalAssetValue", type: "uint256", indexed: false }
|
|
1614
|
+
]
|
|
1615
|
+
},
|
|
1616
|
+
{
|
|
1617
|
+
name: "RebalancedDelta",
|
|
1618
|
+
type: "event",
|
|
1619
|
+
inputs: [
|
|
1620
|
+
{ name: "tokens", type: "address[]", indexed: false },
|
|
1621
|
+
{ name: "oldWeights", type: "uint256[]", indexed: false },
|
|
1622
|
+
{ name: "newWeights", type: "uint256[]", indexed: false },
|
|
1623
|
+
{ name: "oldBalances", type: "uint256[]", indexed: false },
|
|
1624
|
+
{ name: "newBalances", type: "uint256[]", indexed: false },
|
|
1625
|
+
{ name: "totalAssetValue", type: "uint256", indexed: false },
|
|
1626
|
+
{ name: "swapsExecuted", type: "uint256", indexed: false }
|
|
1627
|
+
]
|
|
1628
|
+
}
|
|
1629
|
+
];
|
|
1480
1630
|
|
|
1481
1631
|
export {
|
|
1482
1632
|
TOKENS,
|
|
@@ -1490,6 +1640,8 @@ export {
|
|
|
1490
1640
|
STRATEGY_TEMPLATES,
|
|
1491
1641
|
EAS_CONTRACTS,
|
|
1492
1642
|
EAS_SCHEMAS,
|
|
1643
|
+
SYNTHRA,
|
|
1644
|
+
CHAINLINK,
|
|
1493
1645
|
SYNDICATE_VAULT_ABI,
|
|
1494
1646
|
UNISWAP_QUOTER_V2_ABI,
|
|
1495
1647
|
SWAP_ROUTER_ABI,
|
|
@@ -1500,6 +1652,7 @@ export {
|
|
|
1500
1652
|
VENICE_STAKING_ABI,
|
|
1501
1653
|
EAS_ABI,
|
|
1502
1654
|
SYNDICATE_GOVERNOR_ABI,
|
|
1503
|
-
BASE_STRATEGY_ABI
|
|
1655
|
+
BASE_STRATEGY_ABI,
|
|
1656
|
+
PORTFOLIO_STRATEGY_ABI
|
|
1504
1657
|
};
|
|
1505
|
-
//# sourceMappingURL=chunk-
|
|
1658
|
+
//# sourceMappingURL=chunk-R75DM3VL.js.map
|