@sherwoodagent/cli 0.58.4 → 0.58.6
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/{addresses-NX3SHRBT.js → addresses-4UI26LWU.js} +2 -2
- package/dist/{chat-UNDF6HZA.js → chat-SQCWYIKG.js} +5 -5
- package/dist/{chunk-HKOPANVM.js → chunk-3OAGUA2S.js} +2 -2
- package/dist/{chunk-3M6K2MNV.js → chunk-3UETTXXU.js} +3 -3
- package/dist/{chunk-3M6K2MNV.js.map → chunk-3UETTXXU.js.map} +1 -1
- package/dist/{chunk-TMPH4P63.js → chunk-TPDRDOCF.js} +2 -2
- package/dist/{chunk-EWKFWF3G.js → chunk-V5DYFQCQ.js} +2 -2
- package/dist/{chunk-XHNSF4NV.js → chunk-XFVLEE5S.js} +2 -2
- package/dist/{chunk-KG7BGVBR.js → chunk-ZORVNIGX.js} +2 -2
- package/dist/{eas-6HFFZZ52.js → eas-OEBIB5RW.js} +3 -3
- package/dist/{governor-GVDZOYJQ.js → governor-UWI3QYHV.js} +3 -3
- package/dist/index.js +18 -18
- package/dist/{price-H4X2AAAQ.js → price-MUILXUC4.js} +2 -2
- package/dist/{research-PYUIY4VC.js → research-AR4TABCF.js} +3 -3
- package/dist/{session-AZKLV2T7.js → session-ISY5VAUS.js} +5 -5
- package/dist/{trade-P2LBGWVY.js → trade-VTRYXGP4.js} +6 -6
- package/dist/{xmtp-SQIOIRCX.js → xmtp-IVDHDORA.js} +3 -3
- package/package.json +1 -1
- package/scripts/pin-xmtp-bindings.cjs +120 -18
- /package/dist/{addresses-NX3SHRBT.js.map → addresses-4UI26LWU.js.map} +0 -0
- /package/dist/{chat-UNDF6HZA.js.map → chat-SQCWYIKG.js.map} +0 -0
- /package/dist/{chunk-HKOPANVM.js.map → chunk-3OAGUA2S.js.map} +0 -0
- /package/dist/{chunk-TMPH4P63.js.map → chunk-TPDRDOCF.js.map} +0 -0
- /package/dist/{chunk-EWKFWF3G.js.map → chunk-V5DYFQCQ.js.map} +0 -0
- /package/dist/{chunk-XHNSF4NV.js.map → chunk-XFVLEE5S.js.map} +0 -0
- /package/dist/{chunk-KG7BGVBR.js.map → chunk-ZORVNIGX.js.map} +0 -0
- /package/dist/{eas-6HFFZZ52.js.map → eas-OEBIB5RW.js.map} +0 -0
- /package/dist/{governor-GVDZOYJQ.js.map → governor-UWI3QYHV.js.map} +0 -0
- /package/dist/{price-H4X2AAAQ.js.map → price-MUILXUC4.js.map} +0 -0
- /package/dist/{research-PYUIY4VC.js.map → research-AR4TABCF.js.map} +0 -0
- /package/dist/{session-AZKLV2T7.js.map → session-ISY5VAUS.js.map} +0 -0
- /package/dist/{trade-P2LBGWVY.js.map → trade-VTRYXGP4.js.map} +0 -0
- /package/dist/{xmtp-SQIOIRCX.js.map → xmtp-IVDHDORA.js.map} +0 -0
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
TOKENS,
|
|
14
14
|
UNISWAP,
|
|
15
15
|
VENICE
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-3UETTXXU.js";
|
|
17
17
|
import "./chunk-2LRC7I33.js";
|
|
18
18
|
import "./chunk-2W4KGGPU.js";
|
|
19
19
|
export {
|
|
@@ -32,4 +32,4 @@ export {
|
|
|
32
32
|
UNISWAP,
|
|
33
33
|
VENICE
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=addresses-
|
|
35
|
+
//# sourceMappingURL=addresses-4UI26LWU.js.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getSyndicate,
|
|
3
3
|
updateMetadata
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-TPDRDOCF.js";
|
|
5
5
|
import {
|
|
6
6
|
getTextRecord,
|
|
7
7
|
resolveSyndicate,
|
|
8
8
|
setTextRecord
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-V5DYFQCQ.js";
|
|
10
10
|
import {
|
|
11
11
|
ENS
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-3UETTXXU.js";
|
|
13
13
|
import {
|
|
14
14
|
formatContractError,
|
|
15
15
|
getAccount
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
import chalk from "chalk";
|
|
30
30
|
import ora from "ora";
|
|
31
31
|
async function loadXmtp() {
|
|
32
|
-
return import("./xmtp-
|
|
32
|
+
return import("./xmtp-IVDHDORA.js");
|
|
33
33
|
}
|
|
34
34
|
function formatTimestamp(date) {
|
|
35
35
|
return `${date.getHours().toString().padStart(2, "0")}:${date.getMinutes().toString().padStart(2, "0")}`;
|
|
@@ -428,4 +428,4 @@ function registerChatCommands(program) {
|
|
|
428
428
|
export {
|
|
429
429
|
registerChatCommands
|
|
430
430
|
};
|
|
431
|
-
//# sourceMappingURL=chat-
|
|
431
|
+
//# sourceMappingURL=chat-SQCWYIKG.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EAS_CONTRACTS,
|
|
3
3
|
EAS_SCHEMAS
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3UETTXXU.js";
|
|
5
5
|
import {
|
|
6
6
|
getAccount,
|
|
7
7
|
getPublicClient,
|
|
@@ -453,4 +453,4 @@ export {
|
|
|
453
453
|
queryApprovals,
|
|
454
454
|
queryJoinRequests
|
|
455
455
|
};
|
|
456
|
-
//# sourceMappingURL=chunk-
|
|
456
|
+
//# sourceMappingURL=chunk-3OAGUA2S.js.map
|
|
@@ -263,8 +263,8 @@ var HYPEREVM_STRATEGY_TEMPLATES = {
|
|
|
263
263
|
VENICE_INFERENCE: ZERO,
|
|
264
264
|
WSTETH_MOONWELL: ZERO,
|
|
265
265
|
MAMO_YIELD: ZERO,
|
|
266
|
-
HYPERLIQUID_PERP: "
|
|
267
|
-
HYPERLIQUID_GRID: "
|
|
266
|
+
HYPERLIQUID_PERP: "0x4435Aae199907f60588902Bcd7c4363a13Bb2951",
|
|
267
|
+
HYPERLIQUID_GRID: "0x20348e428050031647d671F0e24752C01D4b7379",
|
|
268
268
|
PORTFOLIO: ZERO
|
|
269
269
|
};
|
|
270
270
|
var BASE_EAS = {
|
|
@@ -471,4 +471,4 @@ export {
|
|
|
471
471
|
SYNTHRA,
|
|
472
472
|
CHAINLINK
|
|
473
473
|
};
|
|
474
|
-
//# sourceMappingURL=chunk-
|
|
474
|
+
//# sourceMappingURL=chunk-3UETTXXU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/addresses.ts"],"sourcesContent":["/**\n * Contract addresses by network.\n *\n * All exports are functions — they resolve at call time based on the\n * current network set via setNetwork(). This ensures --chain works\n * even when modules are imported before the flag is parsed.\n *\n * Zero addresses = protocol not deployed on that chain. Strategies that\n * need them will fail at execution time with a clear allowlist error.\n */\n\nimport type { Address } from \"viem\";\nimport { type Network, getNetwork } from \"./network.js\";\n\nconst ZERO: Address = \"0x0000000000000000000000000000000000000000\";\nconst ZERO_BYTES32 =\n \"0x0000000000000000000000000000000000000000000000000000000000000000\" as `0x${string}`;\n\n// ── Base Mainnet ──\n\nconst BASE_TOKENS = {\n USDC: \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\" as Address,\n WETH: \"0x4200000000000000000000000000000000000006\" as Address,\n cbETH: \"0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22\" as Address,\n wstETH: \"0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452\" as Address,\n cbBTC: \"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf\" as Address,\n DAI: \"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb\" as Address,\n AERO: \"0x940181a94A35A4569E4529A3CDfB74e38FD98631\" as Address,\n} as const;\n\nconst BASE_MOONWELL = {\n COMPTROLLER: \"0xfBb21d0380beE3312B33c4353c8936a0F13EF26C\" as Address,\n mUSDC: \"0xEdc817A28E8B93B03976FBd4a3dDBc9f7D176c22\" as Address,\n mWETH: \"0x628ff693426583D9a7FB391E54366292F509D457\" as Address,\n mCbETH: \"0x3bf93770f2d4a794c3d9EBEfBAeBAE2a8f09A5E5\" as Address,\n mWstETH: \"0x627Fe393Bc6EdDA28e99AE648fD6fF362514304b\" as Address,\n mCbBTC: \"0xF877ACaFA28c19b96727966690b2f44d35aD5976\" as Address,\n mDAI: \"0x73b06D8d18De422E269645eaCe15400DE7462417\" as Address,\n mAERO: \"0x73902f619CEB9B31FD8EFecf435CbDf89E369Ba6\" as Address,\n} as const;\n\nconst BASE_UNISWAP = {\n SWAP_ROUTER: \"0x2626664c2603336E57B271c5C0b26F421741e481\" as Address,\n QUOTER_V2: \"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a\" as Address,\n SWAP_ADAPTER: \"0x121AaC2B96Ec365e457fcCc1C2ED5a6142064069\" as Address,\n} as const;\n\nconst BASE_INFRA = {\n MULTICALL3: \"0xcA11bde05977b3631167028862bE2a173976CA11\" as Address,\n} as const;\n\n// ── Base Sepolia ──\n\nconst BASE_SEPOLIA_TOKENS = {\n USDC: \"0x036CbD53842c5426634e7929541eC2318f3dCF7e\" as Address, // Circle test USDC\n WETH: \"0x4200000000000000000000000000000000000006\" as Address, // Canonical bridged WETH\n cbETH: ZERO,\n wstETH: ZERO,\n cbBTC: ZERO,\n DAI: ZERO,\n AERO: ZERO,\n} as const;\n\nconst BASE_SEPOLIA_MOONWELL = {\n COMPTROLLER: ZERO,\n mUSDC: ZERO,\n mWETH: ZERO,\n mCbETH: ZERO,\n mWstETH: ZERO,\n mCbBTC: ZERO,\n mDAI: ZERO,\n mAERO: ZERO,\n} as const;\n\nconst BASE_SEPOLIA_UNISWAP = {\n SWAP_ROUTER: \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\" as Address, // Uniswap V3 SwapRouter02\n QUOTER_V2: \"0xC5290058841028F1614F3A6F0F5816cAd0df5E27\" as Address, // Uniswap V3 QuoterV2\n SWAP_ADAPTER: ZERO as Address,\n} as const;\n\nconst BASE_SEPOLIA_INFRA = {\n MULTICALL3: \"0xcA11bde05977b3631167028862bE2a173976CA11\" as Address, // Deterministic, same everywhere\n} as const;\n\n// ── Robinhood L2 Testnet (Arbitrum Orbit, chain 46630) ──\n// Synthra DEX for swaps. Stock tokens available.\n\nconst ROBINHOOD_TESTNET_TOKENS = {\n USDC: ZERO,\n WETH: \"0x7943e237c7F95DA44E0301572D358911207852Fa\" as Address,\n cbETH: ZERO,\n wstETH: ZERO,\n cbBTC: ZERO,\n DAI: ZERO,\n AERO: ZERO,\n TSLA: \"0xC9f9c86933092BbbfFF3CCb4b105A4A94bf3Bd4E\" as Address,\n AMZN: \"0x5884aD2f920c162CFBbACc88C9C51AA75eC09E02\" as Address,\n PLTR: \"0x1FBE1a0e43594b3455993B5dE5Fd0A7A266298d0\" as Address,\n NFLX: \"0x3b8262A63d25f0477c4DDE23F83cfe22Cb768C93\" as Address,\n AMD: \"0x71178BAc73cBeb415514eB542a8995b82669778d\" as Address,\n} as const;\n\nconst ROBINHOOD_TESTNET_MOONWELL = {\n COMPTROLLER: ZERO,\n mUSDC: ZERO,\n mWETH: ZERO,\n mCbETH: ZERO,\n mWstETH: ZERO,\n mCbBTC: ZERO,\n mDAI: ZERO,\n mAERO: ZERO,\n} as const;\n\nconst ROBINHOOD_TESTNET_UNISWAP = {\n SWAP_ROUTER: ZERO,\n QUOTER_V2: ZERO,\n SWAP_ADAPTER: ZERO as Address,\n} as const;\n\n// ── Synthra DEX (Robinhood L2 — Uniswap V3-compatible concentrated liquidity) ──\n\nconst BASE_SYNTHRA = { ROUTER: ZERO, QUOTER: ZERO, FACTORY: ZERO } as const;\nconst BASE_SEPOLIA_SYNTHRA = { ROUTER: ZERO, QUOTER: ZERO, FACTORY: ZERO } as const;\nconst ROBINHOOD_TESTNET_SYNTHRA = {\n ROUTER: \"0x3Ce954107b1A675826B33bF23060Dd655e3758fE\" as Address,\n QUOTER: \"0x231606c321A99DE81e28fE48B07a93F1ba49e713\" as Address,\n FACTORY: \"0x911b4000D3422F482F4062a913885f7b035382Df\" as Address,\n} as const;\n\n// ── Chainlink (Data Streams verifier proxy) ──\n\nconst BASE_CHAINLINK = { VERIFIER_PROXY: \"0xDE1A28D87Afd0f546505B28AB50410A5c3a7387a\" as Address } as const;\nconst BASE_SEPOLIA_CHAINLINK = { VERIFIER_PROXY: ZERO } as const;\nconst ROBINHOOD_TESTNET_CHAINLINK = {\n VERIFIER_PROXY: \"0x72790f9eB82db492a7DDb6d2af22A270Dcc3Db64\" as Address,\n} as const;\n\nconst ROBINHOOD_TESTNET_INFRA = {\n MULTICALL3: \"0xcA11bde05977b3631167028862bE2a173976CA11\" as Address, // Deterministic, same everywhere\n} as const;\n\n// ── HyperEVM (chain 999) ──\n// No Moonwell, no Uniswap, no Venice, no ENS/Durin, no ERC-8004, no EAS.\n// USDC: native USDC on HyperEVM.\n\nconst HYPEREVM_TOKENS = {\n USDC: \"0xb88339CB7199b77E23DB6E890353E22632Ba630f\" as Address,\n WETH: ZERO,\n cbETH: ZERO,\n wstETH: ZERO,\n cbBTC: ZERO,\n DAI: ZERO,\n AERO: ZERO,\n} as const;\n\nconst HYPEREVM_TESTNET_TOKENS = {\n USDC: ZERO,\n WETH: ZERO,\n cbETH: ZERO,\n wstETH: ZERO,\n cbBTC: ZERO,\n DAI: ZERO,\n AERO: ZERO,\n} as const;\n\nconst HYPEREVM_MOONWELL = {\n COMPTROLLER: ZERO, mUSDC: ZERO, mWETH: ZERO, mCbETH: ZERO,\n mWstETH: ZERO, mCbBTC: ZERO, mDAI: ZERO, mAERO: ZERO,\n} as const;\n\nconst HYPEREVM_UNISWAP = { SWAP_ROUTER: ZERO, QUOTER_V2: ZERO, SWAP_ADAPTER: ZERO as Address } as const;\n\nconst HYPEREVM_INFRA = {\n MULTICALL3: \"0xcA11bde05977b3631167028862bE2a173976CA11\" as Address,\n} as const;\n\n// ── ENS / Durin ──\n\nconst BASE_ENS = {\n L2_REGISTRAR: \"0x866996c808E6244216a3d0df15464FCF5d495394\" as Address,\n L2_REGISTRY: \"0x7a019ce699e27b0ad1e5b51344a58116b9f3b9b1\" as Address,\n} as const;\n\nconst BASE_SEPOLIA_ENS = {\n L2_REGISTRAR: \"0x1fCbe9dFC25e3fa3F7C55b26c7992684A4758b47\" as Address,\n L2_REGISTRY: \"0x06eb7b85b59bc3e50fe4837be776cdd26de602cf\" as Address,\n} as const;\n\nconst ROBINHOOD_TESTNET_ENS = {\n L2_REGISTRAR: ZERO,\n L2_REGISTRY: ZERO,\n} as const;\n\nconst HYPEREVM_ENS = { L2_REGISTRAR: ZERO, L2_REGISTRY: ZERO } as const;\n\n// ── ERC-8004 Agent Identity ──\n\nconst BASE_AGENT_REGISTRY = {\n IDENTITY_REGISTRY: \"0x8004A169FB4a3325136EB29fA0ceB6D2e539a432\" as Address,\n REPUTATION_REGISTRY:\n \"0x8004BAa17C55a88189AE136b182e5fdA19dE9b63\" as Address,\n} as const;\n\nconst BASE_SEPOLIA_AGENT_REGISTRY = {\n IDENTITY_REGISTRY: \"0x8004A818BFB912233c491871b3d84c89A494BD9e\" as Address,\n REPUTATION_REGISTRY:\n \"0x8004B663056A597Dffe9eCcC1965A193B7388713\" as Address,\n} as const;\n\nconst ROBINHOOD_TESTNET_AGENT_REGISTRY = {\n IDENTITY_REGISTRY: ZERO,\n REPUTATION_REGISTRY: ZERO,\n} as const;\n\nconst HYPEREVM_AGENT_REGISTRY = { IDENTITY_REGISTRY: ZERO, REPUTATION_REGISTRY: ZERO } as const;\n\n// ── Sherwood Protocol (our deployed contracts) ──\n\n// V1.5: per-network Sherwood entries now include GUARDIAN_REGISTRY + WOOD_TOKEN +\n// MERKL_DISTRIBUTOR. ZERO == not-yet-deployed on that network.\n// V1.5 Base redeploy: fresh factory/governor/registry/vault-impl/executor.\n// Old proxies (factory 0x4a76…6C29, governor 0x2F7C…186a, vault impl\n// 0x2523…cFE, executor 0x4DB1…664a) remain on-chain for historical /\n// settle-out access until ops decommission them.\nconst BASE_SHERWOOD = {\n FACTORY: \"0xAC74EC56858d7F1f7618c8e77F65Fc26aDf33c82\" as Address,\n GOVERNOR: \"0x9Fd3c87B34F254e3c5652A0394B9780c2F05d367\" as Address,\n GUARDIAN_REGISTRY: \"0x49E4163b5e4b23F8f3d469Cf6fa197FB6b06A26E\" as Address,\n WOOD_TOKEN: ZERO,\n // Merkl mainnet distributor — Angle Labs:\n // https://docs.merkl.xyz/merkl-for-providers/merkl-technical-documentation/addresses\n MERKL_DISTRIBUTOR: \"0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae\" as Address,\n} as const;\n\nconst BASE_SEPOLIA_SHERWOOD = {\n FACTORY: \"0x121AaC2B96Ec365e457fcCc1C2ED5a6142064069\" as Address,\n GOVERNOR: \"0xE5ecf2B06E3f3e298B632C0cf6575f9d9422F55E\" as Address,\n GUARDIAN_REGISTRY: ZERO,\n WOOD_TOKEN: ZERO,\n MERKL_DISTRIBUTOR: ZERO,\n} as const;\n\nconst ROBINHOOD_TESTNET_SHERWOOD = {\n FACTORY: \"0x6d026e2f5Ff0C34A01690EC46Cb601B8fF391985\" as Address,\n GOVERNOR: \"0xd882056ba6b0aEd8908c541884B327121E2f2C9C\" as Address,\n GUARDIAN_REGISTRY: ZERO,\n WOOD_TOKEN: ZERO,\n MERKL_DISTRIBUTOR: ZERO,\n} as const;\n\n// V1.5 beta redeploy on HyperEVM (PR #282 / chore/redeploy-beta-v1.5):\n// CREATE3 salts bumped .2/.1 → .3/.2 to deploy fresh V1.5 contracts at\n// new addresses. Old proxies (factory 0x7e7F…48d3, governor 0x915F…7C21,\n// vault impl 0xB454…ECba, registry 0x121A…4069) remain on-chain for\n// historical access until ops decommission them.\nconst HYPEREVM_SHERWOOD = {\n FACTORY: \"0xd05Ae0E8bcf13075C29817c805d6Cc14F214393a\" as Address,\n GOVERNOR: \"0x67AD3D5F3d127Ef923Fd6f67b178633c408D3fd3\" as Address,\n GUARDIAN_REGISTRY: \"0x8b5710EB4e2fA639F364Dcc3F3B30c8f12F460b9\" as Address,\n WOOD_TOKEN: ZERO,\n MERKL_DISTRIBUTOR: ZERO,\n} as const;\n\n// ── Venice (VVV governance + sVVV staking + DIEM compute) ──\n\nconst BASE_VENICE = {\n VVV: \"0xacfe6019ed1a7dc6f7b508c02d1b04ec88cc21bf\" as Address,\n STAKING: \"0x321b7ff75154472b18edb199033ff4d116f340ff\" as Address, // also the sVVV ERC-20\n DIEM: \"0xF4d97F2da56e8c3098f3a8D538DB630A2606a024\" as Address,\n} as const;\n\nconst BASE_SEPOLIA_VENICE = {\n VVV: ZERO,\n STAKING: ZERO,\n DIEM: ZERO,\n} as const;\n\nconst ROBINHOOD_TESTNET_VENICE = {\n VVV: ZERO,\n STAKING: ZERO,\n DIEM: ZERO,\n} as const;\n\nconst HYPEREVM_VENICE = { VVV: ZERO, STAKING: ZERO, DIEM: ZERO } as const;\n\n// ── Aerodrome (Base ve(3,3) DEX) ──\n\nconst BASE_AERODROME = {\n ROUTER: \"0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43\" as Address,\n FACTORY: \"0x420DD381b31aEf6683db6B902084cB0FFECe40Da\" as Address,\n} as const;\n\nconst BASE_SEPOLIA_AERODROME = {\n ROUTER: ZERO,\n FACTORY: ZERO,\n} as const;\n\nconst ROBINHOOD_TESTNET_AERODROME = {\n ROUTER: ZERO,\n FACTORY: ZERO,\n} as const;\n\nconst HYPEREVM_AERODROME = { ROUTER: ZERO, FACTORY: ZERO } as const;\n\n// ── Strategy Templates (ERC-1167 clonable singletons) ──\n// Populated after running script/DeployTemplates.s.sol\n\n// V1.5 Base redeploy: the new factory at 0xAC74…3c82 only accepts strategies\n// that implement IStrategy.onLiveDeposit (added in V1.5). The V1 templates\n// listed below for reference do NOT implement that hook — cloning them against\n// the new factory would revert on the first live deposit. Zeroed pending the\n// V1.5 template redeploy (separate PR) so `sherwood --chain base strategy\n// clone <key>` fails fast with \"Template not deployed on this network\" rather\n// than producing broken clones.\n//\n// Old V1 addresses (kept on-chain for in-flight settle-out only):\n// MOONWELL_SUPPLY 0x649f8d24096a5eb17b8C73ee5113825AcA259F00\n// AERODROME_LP 0x6ccdD48C6A83cCdD6712DEB02E85FbEA8CF426CE\n// VENICE_INFERENCE 0x49BFDae8353ba15954924274573D427211CCe41b\n// WSTETH_MOONWELL 0xA31851Ab35F9992b0411749ec02Df053e904D1e6\n// MAMO_YIELD 0x9ca8A9B75a46261F107B610b634ecE69D7E6DF42\n// PORTFOLIO 0x7865eEA4063c22d0F55FdD412D345495c7b73f64\nconst BASE_STRATEGY_TEMPLATES = {\n MOONWELL_SUPPLY: ZERO as Address,\n AERODROME_LP: ZERO as Address,\n VENICE_INFERENCE: ZERO as Address,\n WSTETH_MOONWELL: ZERO as Address,\n MAMO_YIELD: ZERO as Address,\n HYPERLIQUID_PERP: ZERO as Address,\n HYPERLIQUID_GRID: ZERO as Address,\n PORTFOLIO: ZERO as Address,\n} as const;\n\nconst BASE_SEPOLIA_STRATEGY_TEMPLATES = {\n MOONWELL_SUPPLY: \"0xf67107afd786b6CB8829e55634b1686B8Bb7937a\" as Address,\n AERODROME_LP: \"0xDf45018C64f5d6fd254B5d5437e96A27D5F01D09\" as Address,\n VENICE_INFERENCE: \"0xB3E20A505D6e086eaEE02a58C264D41cb746E76E\" as Address,\n WSTETH_MOONWELL: \"0x8F75B609519cEC5a9B9DF3cb74BcF095be5Ee2fD\" as Address,\n MAMO_YIELD: \"0x49ea76685D79ff41bF7F60e22d9D367d0981bD58\" as Address,\n HYPERLIQUID_PERP: ZERO as Address,\n HYPERLIQUID_GRID: ZERO as Address,\n PORTFOLIO: ZERO as Address,\n} as const;\n\nconst ROBINHOOD_TESTNET_STRATEGY_TEMPLATES = {\n MOONWELL_SUPPLY: ZERO as Address,\n AERODROME_LP: ZERO as Address,\n VENICE_INFERENCE: ZERO as Address,\n WSTETH_MOONWELL: ZERO as Address,\n MAMO_YIELD: ZERO as Address,\n HYPERLIQUID_PERP: ZERO as Address,\n HYPERLIQUID_GRID: ZERO as Address,\n PORTFOLIO: \"0xAe981882923E0C76A7F10E7cAa3782023c0abd9B\" as Address,\n} as const;\n\nconst HYPEREVM_STRATEGY_TEMPLATES = {\n MOONWELL_SUPPLY: ZERO as Address,\n AERODROME_LP: ZERO as Address,\n VENICE_INFERENCE: ZERO as Address,\n WSTETH_MOONWELL: ZERO as Address,\n MAMO_YIELD: ZERO as Address,\n HYPERLIQUID_PERP: \"0x2C128810F881055AE186EBBE5bcF33031D325dA1\" as Address,\n HYPERLIQUID_GRID: \"0x0D62944862996791a9BCE992872F9Fa8E3162B49\" as Address,\n PORTFOLIO: ZERO as Address,\n} as const;\n\n// ── EAS (Ethereum Attestation Service) — Base predeploys ──\n\nconst BASE_EAS = {\n EAS: \"0x4200000000000000000000000000000000000021\" as Address,\n SCHEMA_REGISTRY: \"0x4200000000000000000000000000000000000020\" as Address,\n} as const;\n\nconst BASE_SEPOLIA_EAS = {\n EAS: \"0x4200000000000000000000000000000000000021\" as Address,\n SCHEMA_REGISTRY: \"0x4200000000000000000000000000000000000020\" as Address,\n} as const;\n\nconst ROBINHOOD_TESTNET_EAS = {\n EAS: ZERO,\n SCHEMA_REGISTRY: ZERO,\n} as const;\n\nconst HYPEREVM_EAS = { EAS: ZERO, SCHEMA_REGISTRY: ZERO } as const;\n\n// ── EAS Schema UIDs (populated after running scripts/register-eas-schemas.ts) ──\n\nconst BASE_EAS_SCHEMAS = {\n SYNDICATE_JOIN_REQUEST:\n \"0x1e7ce17b16233977ba913b156033e98f52029f4bee273a4abefe6c15ce11d5ef\" as `0x${string}`,\n AGENT_APPROVED:\n \"0x1013f7b38f433b2a93fc5ac162482813081c64edd67cea9b5a90698531ddb607\" as `0x${string}`,\n X402_RESEARCH:\n \"0x86c67f0a59acb3093ecbeb6c4d1d4352e4a48143672e92ef9dd2fdfc8a9ca708\" as `0x${string}`,\n VENICE_PROVISION:\n \"0x76d4d6baa72307826cd2fd4ce069bb42ee54cdda6ed6ab208c8d233c893fb7f1\" as `0x${string}`,\n VENICE_INFERENCE:\n \"0xf9b4e530f3016c19439b67372a1c213c9339857627fb817032614b97433a2a14\" as `0x${string}`,\n TRADE_EXECUTED:\n \"0x06bb488363a468f7f857ddc8cfffe918d048b8746a0d59eca9cd7f58dbdb4af6\" as `0x${string}`,\n} as const;\n\nconst BASE_SEPOLIA_EAS_SCHEMAS = {\n SYNDICATE_JOIN_REQUEST:\n \"0x1e7ce17b16233977ba913b156033e98f52029f4bee273a4abefe6c15ce11d5ef\" as `0x${string}`,\n AGENT_APPROVED:\n \"0x1013f7b38f433b2a93fc5ac162482813081c64edd67cea9b5a90698531ddb607\" as `0x${string}`,\n X402_RESEARCH:\n \"0x86c67f0a59acb3093ecbeb6c4d1d4352e4a48143672e92ef9dd2fdfc8a9ca708\" as `0x${string}`,\n VENICE_PROVISION:\n \"0x76d4d6baa72307826cd2fd4ce069bb42ee54cdda6ed6ab208c8d233c893fb7f1\" as `0x${string}`,\n VENICE_INFERENCE:\n \"0xf9b4e530f3016c19439b67372a1c213c9339857627fb817032614b97433a2a14\" as `0x${string}`,\n TRADE_EXECUTED:\n \"0x06bb488363a468f7f857ddc8cfffe918d048b8746a0d59eca9cd7f58dbdb4af6\" as `0x${string}`,\n} as const;\n\nconst ROBINHOOD_TESTNET_EAS_SCHEMAS = {\n SYNDICATE_JOIN_REQUEST: ZERO_BYTES32,\n AGENT_APPROVED: ZERO_BYTES32,\n X402_RESEARCH: ZERO_BYTES32,\n VENICE_PROVISION: ZERO_BYTES32,\n VENICE_INFERENCE: ZERO_BYTES32,\n TRADE_EXECUTED: ZERO_BYTES32,\n} as const;\n\nconst HYPEREVM_EAS_SCHEMAS = {\n SYNDICATE_JOIN_REQUEST: ZERO_BYTES32, AGENT_APPROVED: ZERO_BYTES32,\n X402_RESEARCH: ZERO_BYTES32, VENICE_PROVISION: ZERO_BYTES32,\n VENICE_INFERENCE: ZERO_BYTES32, TRADE_EXECUTED: ZERO_BYTES32,\n} as const;\n\n// ── Registries (map-based lookup) ──\n\nconst TOKEN_REGISTRY: Record<Network, typeof BASE_TOKENS> = {\n base: BASE_TOKENS,\n \"base-sepolia\": BASE_SEPOLIA_TOKENS,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_TOKENS,\n hyperevm: HYPEREVM_TOKENS,\n \"hyperevm-testnet\": HYPEREVM_TESTNET_TOKENS,\n};\n\nconst MOONWELL_REGISTRY: Record<Network, typeof BASE_MOONWELL> = {\n base: BASE_MOONWELL,\n \"base-sepolia\": BASE_SEPOLIA_MOONWELL,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_MOONWELL,\n hyperevm: HYPEREVM_MOONWELL,\n \"hyperevm-testnet\": HYPEREVM_MOONWELL,\n};\n\nconst UNISWAP_REGISTRY: Record<Network, typeof BASE_UNISWAP> = {\n base: BASE_UNISWAP,\n \"base-sepolia\": BASE_SEPOLIA_UNISWAP,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_UNISWAP,\n hyperevm: HYPEREVM_UNISWAP,\n \"hyperevm-testnet\": HYPEREVM_UNISWAP,\n};\n\nconst INFRA_REGISTRY: Record<Network, typeof BASE_INFRA> = {\n base: BASE_INFRA,\n \"base-sepolia\": BASE_SEPOLIA_INFRA,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_INFRA,\n hyperevm: HYPEREVM_INFRA,\n \"hyperevm-testnet\": HYPEREVM_INFRA,\n};\n\nconst ENS_REGISTRY: Record<Network, typeof BASE_ENS> = {\n base: BASE_ENS,\n \"base-sepolia\": BASE_SEPOLIA_ENS,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_ENS,\n hyperevm: HYPEREVM_ENS,\n \"hyperevm-testnet\": HYPEREVM_ENS,\n};\n\nconst AGENT_REGISTRY_MAP: Record<Network, typeof BASE_AGENT_REGISTRY> = {\n base: BASE_AGENT_REGISTRY,\n \"base-sepolia\": BASE_SEPOLIA_AGENT_REGISTRY,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_AGENT_REGISTRY,\n hyperevm: HYPEREVM_AGENT_REGISTRY,\n \"hyperevm-testnet\": HYPEREVM_AGENT_REGISTRY,\n};\n\nconst SHERWOOD_REGISTRY: Record<Network, typeof BASE_SHERWOOD> = {\n base: BASE_SHERWOOD,\n \"base-sepolia\": BASE_SEPOLIA_SHERWOOD,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_SHERWOOD,\n hyperevm: HYPEREVM_SHERWOOD,\n \"hyperevm-testnet\": HYPEREVM_SHERWOOD,\n};\n\nconst VENICE_REGISTRY: Record<Network, typeof BASE_VENICE> = {\n base: BASE_VENICE,\n \"base-sepolia\": BASE_SEPOLIA_VENICE,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_VENICE,\n hyperevm: HYPEREVM_VENICE,\n \"hyperevm-testnet\": HYPEREVM_VENICE,\n};\n\nconst AERODROME_REGISTRY: Record<Network, typeof BASE_AERODROME> = {\n base: BASE_AERODROME,\n \"base-sepolia\": BASE_SEPOLIA_AERODROME,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_AERODROME,\n hyperevm: HYPEREVM_AERODROME,\n \"hyperevm-testnet\": HYPEREVM_AERODROME,\n};\n\nconst STRATEGY_TEMPLATE_REGISTRY: Record<Network, typeof BASE_STRATEGY_TEMPLATES> = {\n base: BASE_STRATEGY_TEMPLATES,\n \"base-sepolia\": BASE_SEPOLIA_STRATEGY_TEMPLATES,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_STRATEGY_TEMPLATES,\n hyperevm: HYPEREVM_STRATEGY_TEMPLATES,\n \"hyperevm-testnet\": HYPEREVM_STRATEGY_TEMPLATES,\n};\n\nconst HYPEREVM_SYNTHRA = { ROUTER: ZERO, QUOTER: ZERO, FACTORY: ZERO } as const;\nconst HYPEREVM_CHAINLINK = { VERIFIER_PROXY: ZERO } as const;\n\nconst SYNTHRA_REGISTRY: Record<Network, typeof BASE_SYNTHRA> = {\n base: BASE_SYNTHRA,\n \"base-sepolia\": BASE_SEPOLIA_SYNTHRA,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_SYNTHRA,\n hyperevm: HYPEREVM_SYNTHRA,\n \"hyperevm-testnet\": HYPEREVM_SYNTHRA,\n};\n\nconst CHAINLINK_REGISTRY: Record<Network, typeof BASE_CHAINLINK> = {\n base: BASE_CHAINLINK,\n \"base-sepolia\": BASE_SEPOLIA_CHAINLINK,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_CHAINLINK,\n hyperevm: HYPEREVM_CHAINLINK,\n \"hyperevm-testnet\": HYPEREVM_CHAINLINK,\n};\n\nconst EAS_CONTRACT_REGISTRY: Record<Network, typeof BASE_EAS> = {\n base: BASE_EAS,\n \"base-sepolia\": BASE_SEPOLIA_EAS,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_EAS,\n hyperevm: HYPEREVM_EAS,\n \"hyperevm-testnet\": HYPEREVM_EAS,\n};\n\nconst EAS_SCHEMA_REGISTRY: Record<Network, typeof BASE_EAS_SCHEMAS> = {\n base: BASE_EAS_SCHEMAS,\n \"base-sepolia\": BASE_SEPOLIA_EAS_SCHEMAS,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_EAS_SCHEMAS,\n hyperevm: HYPEREVM_EAS_SCHEMAS,\n \"hyperevm-testnet\": HYPEREVM_EAS_SCHEMAS,\n};\n\n// ── Exports (functions, resolved at call time) ──\n\nexport function TOKENS() {\n return TOKEN_REGISTRY[getNetwork()];\n}\n\nexport function MOONWELL() {\n return MOONWELL_REGISTRY[getNetwork()];\n}\n\nexport function UNISWAP() {\n return UNISWAP_REGISTRY[getNetwork()];\n}\n\nexport function INFRA() {\n return INFRA_REGISTRY[getNetwork()];\n}\n\nexport function ENS() {\n return ENS_REGISTRY[getNetwork()];\n}\n\nexport function AGENT_REGISTRY() {\n return AGENT_REGISTRY_MAP[getNetwork()];\n}\n\nexport function VENICE() {\n return VENICE_REGISTRY[getNetwork()];\n}\n\nexport function SHERWOOD() {\n return SHERWOOD_REGISTRY[getNetwork()];\n}\n\nexport function AERODROME() {\n return AERODROME_REGISTRY[getNetwork()];\n}\n\nexport function STRATEGY_TEMPLATES() {\n return STRATEGY_TEMPLATE_REGISTRY[getNetwork()];\n}\n\nexport function EAS_CONTRACTS() {\n return EAS_CONTRACT_REGISTRY[getNetwork()];\n}\n\nexport function EAS_SCHEMAS() {\n return EAS_SCHEMA_REGISTRY[getNetwork()];\n}\n\nexport function SYNTHRA() {\n return SYNTHRA_REGISTRY[getNetwork()];\n}\n\nexport function CHAINLINK() {\n return CHAINLINK_REGISTRY[getNetwork()];\n}\n"],"mappings":";;;;;AAcA,IAAM,OAAgB;AACtB,IAAM,eACJ;AAIF,IAAM,cAAc;AAAA,EAClB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AACR;AAEA,IAAM,gBAAgB;AAAA,EACpB,aAAa;AAAA,EACb,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AACT;AAEA,IAAM,eAAe;AAAA,EACnB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,cAAc;AAChB;AAEA,IAAM,aAAa;AAAA,EACjB,YAAY;AACd;AAIA,IAAM,sBAAsB;AAAA,EAC1B,MAAM;AAAA;AAAA,EACN,MAAM;AAAA;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AACR;AAEA,IAAM,wBAAwB;AAAA,EAC5B,aAAa;AAAA,EACb,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AACT;AAEA,IAAM,uBAAuB;AAAA,EAC3B,aAAa;AAAA;AAAA,EACb,WAAW;AAAA;AAAA,EACX,cAAc;AAChB;AAEA,IAAM,qBAAqB;AAAA,EACzB,YAAY;AAAA;AACd;AAKA,IAAM,2BAA2B;AAAA,EAC/B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AACP;AAEA,IAAM,6BAA6B;AAAA,EACjC,aAAa;AAAA,EACb,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AACT;AAEA,IAAM,4BAA4B;AAAA,EAChC,aAAa;AAAA,EACb,WAAW;AAAA,EACX,cAAc;AAChB;AAIA,IAAM,eAAe,EAAE,QAAQ,MAAM,QAAQ,MAAM,SAAS,KAAK;AACjE,IAAM,uBAAuB,EAAE,QAAQ,MAAM,QAAQ,MAAM,SAAS,KAAK;AACzE,IAAM,4BAA4B;AAAA,EAChC,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AACX;AAIA,IAAM,iBAAiB,EAAE,gBAAgB,6CAAwD;AACjG,IAAM,yBAAyB,EAAE,gBAAgB,KAAK;AACtD,IAAM,8BAA8B;AAAA,EAClC,gBAAgB;AAClB;AAEA,IAAM,0BAA0B;AAAA,EAC9B,YAAY;AAAA;AACd;AAMA,IAAM,kBAAkB;AAAA,EACtB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AACR;AAEA,IAAM,0BAA0B;AAAA,EAC9B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA,EACL,MAAM;AACR;AAEA,IAAM,oBAAoB;AAAA,EACxB,aAAa;AAAA,EAAM,OAAO;AAAA,EAAM,OAAO;AAAA,EAAM,QAAQ;AAAA,EACrD,SAAS;AAAA,EAAM,QAAQ;AAAA,EAAM,MAAM;AAAA,EAAM,OAAO;AAClD;AAEA,IAAM,mBAAmB,EAAE,aAAa,MAAM,WAAW,MAAM,cAAc,KAAgB;AAE7F,IAAM,iBAAiB;AAAA,EACrB,YAAY;AACd;AAIA,IAAM,WAAW;AAAA,EACf,cAAc;AAAA,EACd,aAAa;AACf;AAEA,IAAM,mBAAmB;AAAA,EACvB,cAAc;AAAA,EACd,aAAa;AACf;AAEA,IAAM,wBAAwB;AAAA,EAC5B,cAAc;AAAA,EACd,aAAa;AACf;AAEA,IAAM,eAAe,EAAE,cAAc,MAAM,aAAa,KAAK;AAI7D,IAAM,sBAAsB;AAAA,EAC1B,mBAAmB;AAAA,EACnB,qBACE;AACJ;AAEA,IAAM,8BAA8B;AAAA,EAClC,mBAAmB;AAAA,EACnB,qBACE;AACJ;AAEA,IAAM,mCAAmC;AAAA,EACvC,mBAAmB;AAAA,EACnB,qBAAqB;AACvB;AAEA,IAAM,0BAA0B,EAAE,mBAAmB,MAAM,qBAAqB,KAAK;AAUrF,IAAM,gBAAgB;AAAA,EACpB,SAAS;AAAA,EACT,UAAU;AAAA,EACV,mBAAmB;AAAA,EACnB,YAAY;AAAA;AAAA;AAAA,EAGZ,mBAAmB;AACrB;AAEA,IAAM,wBAAwB;AAAA,EAC5B,SAAS;AAAA,EACT,UAAU;AAAA,EACV,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,mBAAmB;AACrB;AAEA,IAAM,6BAA6B;AAAA,EACjC,SAAS;AAAA,EACT,UAAU;AAAA,EACV,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,mBAAmB;AACrB;AAOA,IAAM,oBAAoB;AAAA,EACxB,SAAS;AAAA,EACT,UAAU;AAAA,EACV,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,mBAAmB;AACrB;AAIA,IAAM,cAAc;AAAA,EAClB,KAAK;AAAA,EACL,SAAS;AAAA;AAAA,EACT,MAAM;AACR;AAEA,IAAM,sBAAsB;AAAA,EAC1B,KAAK;AAAA,EACL,SAAS;AAAA,EACT,MAAM;AACR;AAEA,IAAM,2BAA2B;AAAA,EAC/B,KAAK;AAAA,EACL,SAAS;AAAA,EACT,MAAM;AACR;AAEA,IAAM,kBAAkB,EAAE,KAAK,MAAM,SAAS,MAAM,MAAM,KAAK;AAI/D,IAAM,iBAAiB;AAAA,EACrB,QAAQ;AAAA,EACR,SAAS;AACX;AAEA,IAAM,yBAAyB;AAAA,EAC7B,QAAQ;AAAA,EACR,SAAS;AACX;AAEA,IAAM,8BAA8B;AAAA,EAClC,QAAQ;AAAA,EACR,SAAS;AACX;AAEA,IAAM,qBAAqB,EAAE,QAAQ,MAAM,SAAS,KAAK;AAoBzD,IAAM,0BAA0B;AAAA,EAC9B,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,WAAW;AACb;AAEA,IAAM,kCAAkC;AAAA,EACtC,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,WAAW;AACb;AAEA,IAAM,uCAAuC;AAAA,EAC3C,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,WAAW;AACb;AAEA,IAAM,8BAA8B;AAAA,EAClC,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,WAAW;AACb;AAIA,IAAM,WAAW;AAAA,EACf,KAAK;AAAA,EACL,iBAAiB;AACnB;AAEA,IAAM,mBAAmB;AAAA,EACvB,KAAK;AAAA,EACL,iBAAiB;AACnB;AAEA,IAAM,wBAAwB;AAAA,EAC5B,KAAK;AAAA,EACL,iBAAiB;AACnB;AAEA,IAAM,eAAe,EAAE,KAAK,MAAM,iBAAiB,KAAK;AAIxD,IAAM,mBAAmB;AAAA,EACvB,wBACE;AAAA,EACF,gBACE;AAAA,EACF,eACE;AAAA,EACF,kBACE;AAAA,EACF,kBACE;AAAA,EACF,gBACE;AACJ;AAEA,IAAM,2BAA2B;AAAA,EAC/B,wBACE;AAAA,EACF,gBACE;AAAA,EACF,eACE;AAAA,EACF,kBACE;AAAA,EACF,kBACE;AAAA,EACF,gBACE;AACJ;AAEA,IAAM,gCAAgC;AAAA,EACpC,wBAAwB;AAAA,EACxB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,gBAAgB;AAClB;AAEA,IAAM,uBAAuB;AAAA,EAC3B,wBAAwB;AAAA,EAAc,gBAAgB;AAAA,EACtD,eAAe;AAAA,EAAc,kBAAkB;AAAA,EAC/C,kBAAkB;AAAA,EAAc,gBAAgB;AAClD;AAIA,IAAM,iBAAsD;AAAA,EAC1D,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,oBAA2D;AAAA,EAC/D,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,mBAAyD;AAAA,EAC7D,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,iBAAqD;AAAA,EACzD,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,eAAiD;AAAA,EACrD,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,qBAAkE;AAAA,EACtE,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,oBAA2D;AAAA,EAC/D,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,kBAAuD;AAAA,EAC3D,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,qBAA6D;AAAA,EACjE,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,6BAA8E;AAAA,EAClF,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,mBAAmB,EAAE,QAAQ,MAAM,QAAQ,MAAM,SAAS,KAAK;AACrE,IAAM,qBAAqB,EAAE,gBAAgB,KAAK;AAElD,IAAM,mBAAyD;AAAA,EAC7D,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,qBAA6D;AAAA,EACjE,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,wBAA0D;AAAA,EAC9D,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAEA,IAAM,sBAAgE;AAAA,EACpE,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,oBAAoB;AACtB;AAIO,SAAS,SAAS;AACvB,SAAO,eAAe,WAAW,CAAC;AACpC;AAEO,SAAS,WAAW;AACzB,SAAO,kBAAkB,WAAW,CAAC;AACvC;AAEO,SAAS,UAAU;AACxB,SAAO,iBAAiB,WAAW,CAAC;AACtC;AAEO,SAAS,QAAQ;AACtB,SAAO,eAAe,WAAW,CAAC;AACpC;AAEO,SAAS,MAAM;AACpB,SAAO,aAAa,WAAW,CAAC;AAClC;AAEO,SAAS,iBAAiB;AAC/B,SAAO,mBAAmB,WAAW,CAAC;AACxC;AAEO,SAAS,SAAS;AACvB,SAAO,gBAAgB,WAAW,CAAC;AACrC;AAEO,SAAS,WAAW;AACzB,SAAO,kBAAkB,WAAW,CAAC;AACvC;AAEO,SAAS,YAAY;AAC1B,SAAO,mBAAmB,WAAW,CAAC;AACxC;AAEO,SAAS,qBAAqB;AACnC,SAAO,2BAA2B,WAAW,CAAC;AAChD;AAEO,SAAS,gBAAgB;AAC9B,SAAO,sBAAsB,WAAW,CAAC;AAC3C;AAEO,SAAS,cAAc;AAC5B,SAAO,oBAAoB,WAAW,CAAC;AACzC;AAEO,SAAS,UAAU;AACxB,SAAO,iBAAiB,WAAW,CAAC;AACtC;AAEO,SAAS,YAAY;AAC1B,SAAO,mBAAmB,WAAW,CAAC;AACxC;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/addresses.ts"],"sourcesContent":["/**\n * Contract addresses by network.\n *\n * All exports are functions — they resolve at call time based on the\n * current network set via setNetwork(). This ensures --chain works\n * even when modules are imported before the flag is parsed.\n *\n * Zero addresses = protocol not deployed on that chain. Strategies that\n * need them will fail at execution time with a clear allowlist error.\n */\n\nimport type { Address } from \"viem\";\nimport { type Network, getNetwork } from \"./network.js\";\n\nconst ZERO: Address = \"0x0000000000000000000000000000000000000000\";\nconst ZERO_BYTES32 =\n \"0x0000000000000000000000000000000000000000000000000000000000000000\" as `0x${string}`;\n\n// ── Base Mainnet ──\n\nconst BASE_TOKENS = {\n USDC: \"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\" as Address,\n WETH: \"0x4200000000000000000000000000000000000006\" as Address,\n cbETH: \"0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22\" as Address,\n wstETH: \"0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452\" as Address,\n cbBTC: \"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf\" as Address,\n DAI: \"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb\" as Address,\n AERO: \"0x940181a94A35A4569E4529A3CDfB74e38FD98631\" as Address,\n} as const;\n\nconst BASE_MOONWELL = {\n COMPTROLLER: \"0xfBb21d0380beE3312B33c4353c8936a0F13EF26C\" as Address,\n mUSDC: \"0xEdc817A28E8B93B03976FBd4a3dDBc9f7D176c22\" as Address,\n mWETH: \"0x628ff693426583D9a7FB391E54366292F509D457\" as Address,\n mCbETH: \"0x3bf93770f2d4a794c3d9EBEfBAeBAE2a8f09A5E5\" as Address,\n mWstETH: \"0x627Fe393Bc6EdDA28e99AE648fD6fF362514304b\" as Address,\n mCbBTC: \"0xF877ACaFA28c19b96727966690b2f44d35aD5976\" as Address,\n mDAI: \"0x73b06D8d18De422E269645eaCe15400DE7462417\" as Address,\n mAERO: \"0x73902f619CEB9B31FD8EFecf435CbDf89E369Ba6\" as Address,\n} as const;\n\nconst BASE_UNISWAP = {\n SWAP_ROUTER: \"0x2626664c2603336E57B271c5C0b26F421741e481\" as Address,\n QUOTER_V2: \"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a\" as Address,\n SWAP_ADAPTER: \"0x121AaC2B96Ec365e457fcCc1C2ED5a6142064069\" as Address,\n} as const;\n\nconst BASE_INFRA = {\n MULTICALL3: \"0xcA11bde05977b3631167028862bE2a173976CA11\" as Address,\n} as const;\n\n// ── Base Sepolia ──\n\nconst BASE_SEPOLIA_TOKENS = {\n USDC: \"0x036CbD53842c5426634e7929541eC2318f3dCF7e\" as Address, // Circle test USDC\n WETH: \"0x4200000000000000000000000000000000000006\" as Address, // Canonical bridged WETH\n cbETH: ZERO,\n wstETH: ZERO,\n cbBTC: ZERO,\n DAI: ZERO,\n AERO: ZERO,\n} as const;\n\nconst BASE_SEPOLIA_MOONWELL = {\n COMPTROLLER: ZERO,\n mUSDC: ZERO,\n mWETH: ZERO,\n mCbETH: ZERO,\n mWstETH: ZERO,\n mCbBTC: ZERO,\n mDAI: ZERO,\n mAERO: ZERO,\n} as const;\n\nconst BASE_SEPOLIA_UNISWAP = {\n SWAP_ROUTER: \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\" as Address, // Uniswap V3 SwapRouter02\n QUOTER_V2: \"0xC5290058841028F1614F3A6F0F5816cAd0df5E27\" as Address, // Uniswap V3 QuoterV2\n SWAP_ADAPTER: ZERO as Address,\n} as const;\n\nconst BASE_SEPOLIA_INFRA = {\n MULTICALL3: \"0xcA11bde05977b3631167028862bE2a173976CA11\" as Address, // Deterministic, same everywhere\n} as const;\n\n// ── Robinhood L2 Testnet (Arbitrum Orbit, chain 46630) ──\n// Synthra DEX for swaps. Stock tokens available.\n\nconst ROBINHOOD_TESTNET_TOKENS = {\n USDC: ZERO,\n WETH: \"0x7943e237c7F95DA44E0301572D358911207852Fa\" as Address,\n cbETH: ZERO,\n wstETH: ZERO,\n cbBTC: ZERO,\n DAI: ZERO,\n AERO: ZERO,\n TSLA: \"0xC9f9c86933092BbbfFF3CCb4b105A4A94bf3Bd4E\" as Address,\n AMZN: \"0x5884aD2f920c162CFBbACc88C9C51AA75eC09E02\" as Address,\n PLTR: \"0x1FBE1a0e43594b3455993B5dE5Fd0A7A266298d0\" as Address,\n NFLX: \"0x3b8262A63d25f0477c4DDE23F83cfe22Cb768C93\" as Address,\n AMD: \"0x71178BAc73cBeb415514eB542a8995b82669778d\" as Address,\n} as const;\n\nconst ROBINHOOD_TESTNET_MOONWELL = {\n COMPTROLLER: ZERO,\n mUSDC: ZERO,\n mWETH: ZERO,\n mCbETH: ZERO,\n mWstETH: ZERO,\n mCbBTC: ZERO,\n mDAI: ZERO,\n mAERO: ZERO,\n} as const;\n\nconst ROBINHOOD_TESTNET_UNISWAP = {\n SWAP_ROUTER: ZERO,\n QUOTER_V2: ZERO,\n SWAP_ADAPTER: ZERO as Address,\n} as const;\n\n// ── Synthra DEX (Robinhood L2 — Uniswap V3-compatible concentrated liquidity) ──\n\nconst BASE_SYNTHRA = { ROUTER: ZERO, QUOTER: ZERO, FACTORY: ZERO } as const;\nconst BASE_SEPOLIA_SYNTHRA = { ROUTER: ZERO, QUOTER: ZERO, FACTORY: ZERO } as const;\nconst ROBINHOOD_TESTNET_SYNTHRA = {\n ROUTER: \"0x3Ce954107b1A675826B33bF23060Dd655e3758fE\" as Address,\n QUOTER: \"0x231606c321A99DE81e28fE48B07a93F1ba49e713\" as Address,\n FACTORY: \"0x911b4000D3422F482F4062a913885f7b035382Df\" as Address,\n} as const;\n\n// ── Chainlink (Data Streams verifier proxy) ──\n\nconst BASE_CHAINLINK = { VERIFIER_PROXY: \"0xDE1A28D87Afd0f546505B28AB50410A5c3a7387a\" as Address } as const;\nconst BASE_SEPOLIA_CHAINLINK = { VERIFIER_PROXY: ZERO } as const;\nconst ROBINHOOD_TESTNET_CHAINLINK = {\n VERIFIER_PROXY: \"0x72790f9eB82db492a7DDb6d2af22A270Dcc3Db64\" as Address,\n} as const;\n\nconst ROBINHOOD_TESTNET_INFRA = {\n MULTICALL3: \"0xcA11bde05977b3631167028862bE2a173976CA11\" as Address, // Deterministic, same everywhere\n} as const;\n\n// ── HyperEVM (chain 999) ──\n// No Moonwell, no Uniswap, no Venice, no ENS/Durin, no ERC-8004, no EAS.\n// USDC: native USDC on HyperEVM.\n\nconst HYPEREVM_TOKENS = {\n USDC: \"0xb88339CB7199b77E23DB6E890353E22632Ba630f\" as Address,\n WETH: ZERO,\n cbETH: ZERO,\n wstETH: ZERO,\n cbBTC: ZERO,\n DAI: ZERO,\n AERO: ZERO,\n} as const;\n\nconst HYPEREVM_TESTNET_TOKENS = {\n USDC: ZERO,\n WETH: ZERO,\n cbETH: ZERO,\n wstETH: ZERO,\n cbBTC: ZERO,\n DAI: ZERO,\n AERO: ZERO,\n} as const;\n\nconst HYPEREVM_MOONWELL = {\n COMPTROLLER: ZERO, mUSDC: ZERO, mWETH: ZERO, mCbETH: ZERO,\n mWstETH: ZERO, mCbBTC: ZERO, mDAI: ZERO, mAERO: ZERO,\n} as const;\n\nconst HYPEREVM_UNISWAP = { SWAP_ROUTER: ZERO, QUOTER_V2: ZERO, SWAP_ADAPTER: ZERO as Address } as const;\n\nconst HYPEREVM_INFRA = {\n MULTICALL3: \"0xcA11bde05977b3631167028862bE2a173976CA11\" as Address,\n} as const;\n\n// ── ENS / Durin ──\n\nconst BASE_ENS = {\n L2_REGISTRAR: \"0x866996c808E6244216a3d0df15464FCF5d495394\" as Address,\n L2_REGISTRY: \"0x7a019ce699e27b0ad1e5b51344a58116b9f3b9b1\" as Address,\n} as const;\n\nconst BASE_SEPOLIA_ENS = {\n L2_REGISTRAR: \"0x1fCbe9dFC25e3fa3F7C55b26c7992684A4758b47\" as Address,\n L2_REGISTRY: \"0x06eb7b85b59bc3e50fe4837be776cdd26de602cf\" as Address,\n} as const;\n\nconst ROBINHOOD_TESTNET_ENS = {\n L2_REGISTRAR: ZERO,\n L2_REGISTRY: ZERO,\n} as const;\n\nconst HYPEREVM_ENS = { L2_REGISTRAR: ZERO, L2_REGISTRY: ZERO } as const;\n\n// ── ERC-8004 Agent Identity ──\n\nconst BASE_AGENT_REGISTRY = {\n IDENTITY_REGISTRY: \"0x8004A169FB4a3325136EB29fA0ceB6D2e539a432\" as Address,\n REPUTATION_REGISTRY:\n \"0x8004BAa17C55a88189AE136b182e5fdA19dE9b63\" as Address,\n} as const;\n\nconst BASE_SEPOLIA_AGENT_REGISTRY = {\n IDENTITY_REGISTRY: \"0x8004A818BFB912233c491871b3d84c89A494BD9e\" as Address,\n REPUTATION_REGISTRY:\n \"0x8004B663056A597Dffe9eCcC1965A193B7388713\" as Address,\n} as const;\n\nconst ROBINHOOD_TESTNET_AGENT_REGISTRY = {\n IDENTITY_REGISTRY: ZERO,\n REPUTATION_REGISTRY: ZERO,\n} as const;\n\nconst HYPEREVM_AGENT_REGISTRY = { IDENTITY_REGISTRY: ZERO, REPUTATION_REGISTRY: ZERO } as const;\n\n// ── Sherwood Protocol (our deployed contracts) ──\n\n// V1.5: per-network Sherwood entries now include GUARDIAN_REGISTRY + WOOD_TOKEN +\n// MERKL_DISTRIBUTOR. ZERO == not-yet-deployed on that network.\n// V1.5 Base redeploy: fresh factory/governor/registry/vault-impl/executor.\n// Old proxies (factory 0x4a76…6C29, governor 0x2F7C…186a, vault impl\n// 0x2523…cFE, executor 0x4DB1…664a) remain on-chain for historical /\n// settle-out access until ops decommission them.\nconst BASE_SHERWOOD = {\n FACTORY: \"0xAC74EC56858d7F1f7618c8e77F65Fc26aDf33c82\" as Address,\n GOVERNOR: \"0x9Fd3c87B34F254e3c5652A0394B9780c2F05d367\" as Address,\n GUARDIAN_REGISTRY: \"0x49E4163b5e4b23F8f3d469Cf6fa197FB6b06A26E\" as Address,\n WOOD_TOKEN: ZERO,\n // Merkl mainnet distributor — Angle Labs:\n // https://docs.merkl.xyz/merkl-for-providers/merkl-technical-documentation/addresses\n MERKL_DISTRIBUTOR: \"0x3Ef3D8bA38EBe18DB133cEc108f4D14CE00Dd9Ae\" as Address,\n} as const;\n\nconst BASE_SEPOLIA_SHERWOOD = {\n FACTORY: \"0x121AaC2B96Ec365e457fcCc1C2ED5a6142064069\" as Address,\n GOVERNOR: \"0xE5ecf2B06E3f3e298B632C0cf6575f9d9422F55E\" as Address,\n GUARDIAN_REGISTRY: ZERO,\n WOOD_TOKEN: ZERO,\n MERKL_DISTRIBUTOR: ZERO,\n} as const;\n\nconst ROBINHOOD_TESTNET_SHERWOOD = {\n FACTORY: \"0x6d026e2f5Ff0C34A01690EC46Cb601B8fF391985\" as Address,\n GOVERNOR: \"0xd882056ba6b0aEd8908c541884B327121E2f2C9C\" as Address,\n GUARDIAN_REGISTRY: ZERO,\n WOOD_TOKEN: ZERO,\n MERKL_DISTRIBUTOR: ZERO,\n} as const;\n\n// V1.5 beta redeploy on HyperEVM (PR #282 / chore/redeploy-beta-v1.5):\n// CREATE3 salts bumped .2/.1 → .3/.2 to deploy fresh V1.5 contracts at\n// new addresses. Old proxies (factory 0x7e7F…48d3, governor 0x915F…7C21,\n// vault impl 0xB454…ECba, registry 0x121A…4069) remain on-chain for\n// historical access until ops decommission them.\nconst HYPEREVM_SHERWOOD = {\n FACTORY: \"0xd05Ae0E8bcf13075C29817c805d6Cc14F214393a\" as Address,\n GOVERNOR: \"0x67AD3D5F3d127Ef923Fd6f67b178633c408D3fd3\" as Address,\n GUARDIAN_REGISTRY: \"0x8b5710EB4e2fA639F364Dcc3F3B30c8f12F460b9\" as Address,\n WOOD_TOKEN: ZERO,\n MERKL_DISTRIBUTOR: ZERO,\n} as const;\n\n// ── Venice (VVV governance + sVVV staking + DIEM compute) ──\n\nconst BASE_VENICE = {\n VVV: \"0xacfe6019ed1a7dc6f7b508c02d1b04ec88cc21bf\" as Address,\n STAKING: \"0x321b7ff75154472b18edb199033ff4d116f340ff\" as Address, // also the sVVV ERC-20\n DIEM: \"0xF4d97F2da56e8c3098f3a8D538DB630A2606a024\" as Address,\n} as const;\n\nconst BASE_SEPOLIA_VENICE = {\n VVV: ZERO,\n STAKING: ZERO,\n DIEM: ZERO,\n} as const;\n\nconst ROBINHOOD_TESTNET_VENICE = {\n VVV: ZERO,\n STAKING: ZERO,\n DIEM: ZERO,\n} as const;\n\nconst HYPEREVM_VENICE = { VVV: ZERO, STAKING: ZERO, DIEM: ZERO } as const;\n\n// ── Aerodrome (Base ve(3,3) DEX) ──\n\nconst BASE_AERODROME = {\n ROUTER: \"0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43\" as Address,\n FACTORY: \"0x420DD381b31aEf6683db6B902084cB0FFECe40Da\" as Address,\n} as const;\n\nconst BASE_SEPOLIA_AERODROME = {\n ROUTER: ZERO,\n FACTORY: ZERO,\n} as const;\n\nconst ROBINHOOD_TESTNET_AERODROME = {\n ROUTER: ZERO,\n FACTORY: ZERO,\n} as const;\n\nconst HYPEREVM_AERODROME = { ROUTER: ZERO, FACTORY: ZERO } as const;\n\n// ── Strategy Templates (ERC-1167 clonable singletons) ──\n// Populated after running script/DeployTemplates.s.sol\n\n// V1.5 Base redeploy: the new factory at 0xAC74…3c82 only accepts strategies\n// that implement IStrategy.onLiveDeposit (added in V1.5). The V1 templates\n// listed below for reference do NOT implement that hook — cloning them against\n// the new factory would revert on the first live deposit. Zeroed pending the\n// V1.5 template redeploy (separate PR) so `sherwood --chain base strategy\n// clone <key>` fails fast with \"Template not deployed on this network\" rather\n// than producing broken clones.\n//\n// Old V1 addresses (kept on-chain for in-flight settle-out only):\n// MOONWELL_SUPPLY 0x649f8d24096a5eb17b8C73ee5113825AcA259F00\n// AERODROME_LP 0x6ccdD48C6A83cCdD6712DEB02E85FbEA8CF426CE\n// VENICE_INFERENCE 0x49BFDae8353ba15954924274573D427211CCe41b\n// WSTETH_MOONWELL 0xA31851Ab35F9992b0411749ec02Df053e904D1e6\n// MAMO_YIELD 0x9ca8A9B75a46261F107B610b634ecE69D7E6DF42\n// PORTFOLIO 0x7865eEA4063c22d0F55FdD412D345495c7b73f64\nconst BASE_STRATEGY_TEMPLATES = {\n MOONWELL_SUPPLY: ZERO as Address,\n AERODROME_LP: ZERO as Address,\n VENICE_INFERENCE: ZERO as Address,\n WSTETH_MOONWELL: ZERO as Address,\n MAMO_YIELD: ZERO as Address,\n HYPERLIQUID_PERP: ZERO as Address,\n HYPERLIQUID_GRID: ZERO as Address,\n PORTFOLIO: ZERO as Address,\n} as const;\n\nconst BASE_SEPOLIA_STRATEGY_TEMPLATES = {\n MOONWELL_SUPPLY: \"0xf67107afd786b6CB8829e55634b1686B8Bb7937a\" as Address,\n AERODROME_LP: \"0xDf45018C64f5d6fd254B5d5437e96A27D5F01D09\" as Address,\n VENICE_INFERENCE: \"0xB3E20A505D6e086eaEE02a58C264D41cb746E76E\" as Address,\n WSTETH_MOONWELL: \"0x8F75B609519cEC5a9B9DF3cb74BcF095be5Ee2fD\" as Address,\n MAMO_YIELD: \"0x49ea76685D79ff41bF7F60e22d9D367d0981bD58\" as Address,\n HYPERLIQUID_PERP: ZERO as Address,\n HYPERLIQUID_GRID: ZERO as Address,\n PORTFOLIO: ZERO as Address,\n} as const;\n\nconst ROBINHOOD_TESTNET_STRATEGY_TEMPLATES = {\n MOONWELL_SUPPLY: ZERO as Address,\n AERODROME_LP: ZERO as Address,\n VENICE_INFERENCE: ZERO as Address,\n WSTETH_MOONWELL: ZERO as Address,\n MAMO_YIELD: ZERO as Address,\n HYPERLIQUID_PERP: ZERO as Address,\n HYPERLIQUID_GRID: ZERO as Address,\n PORTFOLIO: \"0xAe981882923E0C76A7F10E7cAa3782023c0abd9B\" as Address,\n} as const;\n\nconst HYPEREVM_STRATEGY_TEMPLATES = {\n MOONWELL_SUPPLY: ZERO as Address,\n AERODROME_LP: ZERO as Address,\n VENICE_INFERENCE: ZERO as Address,\n WSTETH_MOONWELL: ZERO as Address,\n MAMO_YIELD: ZERO as Address,\n HYPERLIQUID_PERP: \"0x4435Aae199907f60588902Bcd7c4363a13Bb2951\" as Address,\n HYPERLIQUID_GRID: \"0x20348e428050031647d671F0e24752C01D4b7379\" as Address,\n PORTFOLIO: ZERO as Address,\n} as const;\n\n// ── EAS (Ethereum Attestation Service) — Base predeploys ──\n\nconst BASE_EAS = {\n EAS: \"0x4200000000000000000000000000000000000021\" as Address,\n SCHEMA_REGISTRY: \"0x4200000000000000000000000000000000000020\" as Address,\n} as const;\n\nconst BASE_SEPOLIA_EAS = {\n EAS: \"0x4200000000000000000000000000000000000021\" as Address,\n SCHEMA_REGISTRY: \"0x4200000000000000000000000000000000000020\" as Address,\n} as const;\n\nconst ROBINHOOD_TESTNET_EAS = {\n EAS: ZERO,\n SCHEMA_REGISTRY: ZERO,\n} as const;\n\nconst HYPEREVM_EAS = { EAS: ZERO, SCHEMA_REGISTRY: ZERO } as const;\n\n// ── EAS Schema UIDs (populated after running scripts/register-eas-schemas.ts) ──\n\nconst BASE_EAS_SCHEMAS = {\n SYNDICATE_JOIN_REQUEST:\n \"0x1e7ce17b16233977ba913b156033e98f52029f4bee273a4abefe6c15ce11d5ef\" as `0x${string}`,\n AGENT_APPROVED:\n \"0x1013f7b38f433b2a93fc5ac162482813081c64edd67cea9b5a90698531ddb607\" as `0x${string}`,\n X402_RESEARCH:\n \"0x86c67f0a59acb3093ecbeb6c4d1d4352e4a48143672e92ef9dd2fdfc8a9ca708\" as `0x${string}`,\n VENICE_PROVISION:\n \"0x76d4d6baa72307826cd2fd4ce069bb42ee54cdda6ed6ab208c8d233c893fb7f1\" as `0x${string}`,\n VENICE_INFERENCE:\n \"0xf9b4e530f3016c19439b67372a1c213c9339857627fb817032614b97433a2a14\" as `0x${string}`,\n TRADE_EXECUTED:\n \"0x06bb488363a468f7f857ddc8cfffe918d048b8746a0d59eca9cd7f58dbdb4af6\" as `0x${string}`,\n} as const;\n\nconst BASE_SEPOLIA_EAS_SCHEMAS = {\n SYNDICATE_JOIN_REQUEST:\n \"0x1e7ce17b16233977ba913b156033e98f52029f4bee273a4abefe6c15ce11d5ef\" as `0x${string}`,\n AGENT_APPROVED:\n \"0x1013f7b38f433b2a93fc5ac162482813081c64edd67cea9b5a90698531ddb607\" as `0x${string}`,\n X402_RESEARCH:\n \"0x86c67f0a59acb3093ecbeb6c4d1d4352e4a48143672e92ef9dd2fdfc8a9ca708\" as `0x${string}`,\n VENICE_PROVISION:\n \"0x76d4d6baa72307826cd2fd4ce069bb42ee54cdda6ed6ab208c8d233c893fb7f1\" as `0x${string}`,\n VENICE_INFERENCE:\n \"0xf9b4e530f3016c19439b67372a1c213c9339857627fb817032614b97433a2a14\" as `0x${string}`,\n TRADE_EXECUTED:\n \"0x06bb488363a468f7f857ddc8cfffe918d048b8746a0d59eca9cd7f58dbdb4af6\" as `0x${string}`,\n} as const;\n\nconst ROBINHOOD_TESTNET_EAS_SCHEMAS = {\n SYNDICATE_JOIN_REQUEST: ZERO_BYTES32,\n AGENT_APPROVED: ZERO_BYTES32,\n X402_RESEARCH: ZERO_BYTES32,\n VENICE_PROVISION: ZERO_BYTES32,\n VENICE_INFERENCE: ZERO_BYTES32,\n TRADE_EXECUTED: ZERO_BYTES32,\n} as const;\n\nconst HYPEREVM_EAS_SCHEMAS = {\n SYNDICATE_JOIN_REQUEST: ZERO_BYTES32, AGENT_APPROVED: ZERO_BYTES32,\n X402_RESEARCH: ZERO_BYTES32, VENICE_PROVISION: ZERO_BYTES32,\n VENICE_INFERENCE: ZERO_BYTES32, TRADE_EXECUTED: ZERO_BYTES32,\n} as const;\n\n// ── Registries (map-based lookup) ──\n\nconst TOKEN_REGISTRY: Record<Network, typeof BASE_TOKENS> = {\n base: BASE_TOKENS,\n \"base-sepolia\": BASE_SEPOLIA_TOKENS,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_TOKENS,\n hyperevm: HYPEREVM_TOKENS,\n \"hyperevm-testnet\": HYPEREVM_TESTNET_TOKENS,\n};\n\nconst MOONWELL_REGISTRY: Record<Network, typeof BASE_MOONWELL> = {\n base: BASE_MOONWELL,\n \"base-sepolia\": BASE_SEPOLIA_MOONWELL,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_MOONWELL,\n hyperevm: HYPEREVM_MOONWELL,\n \"hyperevm-testnet\": HYPEREVM_MOONWELL,\n};\n\nconst UNISWAP_REGISTRY: Record<Network, typeof BASE_UNISWAP> = {\n base: BASE_UNISWAP,\n \"base-sepolia\": BASE_SEPOLIA_UNISWAP,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_UNISWAP,\n hyperevm: HYPEREVM_UNISWAP,\n \"hyperevm-testnet\": HYPEREVM_UNISWAP,\n};\n\nconst INFRA_REGISTRY: Record<Network, typeof BASE_INFRA> = {\n base: BASE_INFRA,\n \"base-sepolia\": BASE_SEPOLIA_INFRA,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_INFRA,\n hyperevm: HYPEREVM_INFRA,\n \"hyperevm-testnet\": HYPEREVM_INFRA,\n};\n\nconst ENS_REGISTRY: Record<Network, typeof BASE_ENS> = {\n base: BASE_ENS,\n \"base-sepolia\": BASE_SEPOLIA_ENS,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_ENS,\n hyperevm: HYPEREVM_ENS,\n \"hyperevm-testnet\": HYPEREVM_ENS,\n};\n\nconst AGENT_REGISTRY_MAP: Record<Network, typeof BASE_AGENT_REGISTRY> = {\n base: BASE_AGENT_REGISTRY,\n \"base-sepolia\": BASE_SEPOLIA_AGENT_REGISTRY,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_AGENT_REGISTRY,\n hyperevm: HYPEREVM_AGENT_REGISTRY,\n \"hyperevm-testnet\": HYPEREVM_AGENT_REGISTRY,\n};\n\nconst SHERWOOD_REGISTRY: Record<Network, typeof BASE_SHERWOOD> = {\n base: BASE_SHERWOOD,\n \"base-sepolia\": BASE_SEPOLIA_SHERWOOD,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_SHERWOOD,\n hyperevm: HYPEREVM_SHERWOOD,\n \"hyperevm-testnet\": HYPEREVM_SHERWOOD,\n};\n\nconst VENICE_REGISTRY: Record<Network, typeof BASE_VENICE> = {\n base: BASE_VENICE,\n \"base-sepolia\": BASE_SEPOLIA_VENICE,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_VENICE,\n hyperevm: HYPEREVM_VENICE,\n \"hyperevm-testnet\": HYPEREVM_VENICE,\n};\n\nconst AERODROME_REGISTRY: Record<Network, typeof BASE_AERODROME> = {\n base: BASE_AERODROME,\n \"base-sepolia\": BASE_SEPOLIA_AERODROME,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_AERODROME,\n hyperevm: HYPEREVM_AERODROME,\n \"hyperevm-testnet\": HYPEREVM_AERODROME,\n};\n\nconst STRATEGY_TEMPLATE_REGISTRY: Record<Network, typeof BASE_STRATEGY_TEMPLATES> = {\n base: BASE_STRATEGY_TEMPLATES,\n \"base-sepolia\": BASE_SEPOLIA_STRATEGY_TEMPLATES,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_STRATEGY_TEMPLATES,\n hyperevm: HYPEREVM_STRATEGY_TEMPLATES,\n \"hyperevm-testnet\": HYPEREVM_STRATEGY_TEMPLATES,\n};\n\nconst HYPEREVM_SYNTHRA = { ROUTER: ZERO, QUOTER: ZERO, FACTORY: ZERO } as const;\nconst HYPEREVM_CHAINLINK = { VERIFIER_PROXY: ZERO } as const;\n\nconst SYNTHRA_REGISTRY: Record<Network, typeof BASE_SYNTHRA> = {\n base: BASE_SYNTHRA,\n \"base-sepolia\": BASE_SEPOLIA_SYNTHRA,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_SYNTHRA,\n hyperevm: HYPEREVM_SYNTHRA,\n \"hyperevm-testnet\": HYPEREVM_SYNTHRA,\n};\n\nconst CHAINLINK_REGISTRY: Record<Network, typeof BASE_CHAINLINK> = {\n base: BASE_CHAINLINK,\n \"base-sepolia\": BASE_SEPOLIA_CHAINLINK,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_CHAINLINK,\n hyperevm: HYPEREVM_CHAINLINK,\n \"hyperevm-testnet\": HYPEREVM_CHAINLINK,\n};\n\nconst EAS_CONTRACT_REGISTRY: Record<Network, typeof BASE_EAS> = {\n base: BASE_EAS,\n \"base-sepolia\": BASE_SEPOLIA_EAS,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_EAS,\n hyperevm: HYPEREVM_EAS,\n \"hyperevm-testnet\": HYPEREVM_EAS,\n};\n\nconst EAS_SCHEMA_REGISTRY: Record<Network, typeof BASE_EAS_SCHEMAS> = {\n base: BASE_EAS_SCHEMAS,\n \"base-sepolia\": BASE_SEPOLIA_EAS_SCHEMAS,\n \"robinhood-testnet\": ROBINHOOD_TESTNET_EAS_SCHEMAS,\n hyperevm: HYPEREVM_EAS_SCHEMAS,\n \"hyperevm-testnet\": HYPEREVM_EAS_SCHEMAS,\n};\n\n// ── Exports (functions, resolved at call time) ──\n\nexport function TOKENS() {\n return TOKEN_REGISTRY[getNetwork()];\n}\n\nexport function MOONWELL() {\n return MOONWELL_REGISTRY[getNetwork()];\n}\n\nexport function UNISWAP() {\n return UNISWAP_REGISTRY[getNetwork()];\n}\n\nexport function INFRA() {\n return INFRA_REGISTRY[getNetwork()];\n}\n\nexport function ENS() {\n return ENS_REGISTRY[getNetwork()];\n}\n\nexport function AGENT_REGISTRY() {\n return AGENT_REGISTRY_MAP[getNetwork()];\n}\n\nexport function VENICE() {\n return VENICE_REGISTRY[getNetwork()];\n}\n\nexport function SHERWOOD() {\n return SHERWOOD_REGISTRY[getNetwork()];\n}\n\nexport function AERODROME() {\n return AERODROME_REGISTRY[getNetwork()];\n}\n\nexport function STRATEGY_TEMPLATES() {\n return STRATEGY_TEMPLATE_REGISTRY[getNetwork()];\n}\n\nexport function EAS_CONTRACTS() {\n return EAS_CONTRACT_REGISTRY[getNetwork()];\n}\n\nexport function EAS_SCHEMAS() {\n return EAS_SCHEMA_REGISTRY[getNetwork()];\n}\n\nexport function SYNTHRA() {\n return SYNTHRA_REGISTRY[getNetwork()];\n}\n\nexport function CHAINLINK() {\n return CHAINLINK_REGISTRY[getNetwork()];\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SHERWOOD
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3UETTXXU.js";
|
|
4
4
|
import {
|
|
5
5
|
getAccount,
|
|
6
6
|
getPublicClient,
|
|
@@ -139,4 +139,4 @@ export {
|
|
|
139
139
|
getActiveSyndicates,
|
|
140
140
|
updateMetadata
|
|
141
141
|
};
|
|
142
|
-
//# sourceMappingURL=chunk-
|
|
142
|
+
//# sourceMappingURL=chunk-TPDRDOCF.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
ENS,
|
|
3
3
|
SHERWOOD,
|
|
4
4
|
TOKENS
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3UETTXXU.js";
|
|
6
6
|
import {
|
|
7
7
|
getAccount,
|
|
8
8
|
getPublicClient,
|
|
@@ -543,4 +543,4 @@ export {
|
|
|
543
543
|
setTextRecord,
|
|
544
544
|
getTextRecord
|
|
545
545
|
};
|
|
546
|
-
//# sourceMappingURL=chunk-
|
|
546
|
+
//# sourceMappingURL=chunk-V5DYFQCQ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
UNISWAP
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3UETTXXU.js";
|
|
4
4
|
import {
|
|
5
5
|
getAccount,
|
|
6
6
|
getPublicClient,
|
|
@@ -322,4 +322,4 @@ export {
|
|
|
322
322
|
encodeSwapPath,
|
|
323
323
|
getMultiHopQuote
|
|
324
324
|
};
|
|
325
|
-
//# sourceMappingURL=chunk-
|
|
325
|
+
//# sourceMappingURL=chunk-XFVLEE5S.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SHERWOOD
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3UETTXXU.js";
|
|
4
4
|
import {
|
|
5
5
|
getAccount,
|
|
6
6
|
getPublicClient,
|
|
@@ -429,4 +429,4 @@ export {
|
|
|
429
429
|
vetoProposal,
|
|
430
430
|
setProtocolFeeBps
|
|
431
431
|
};
|
|
432
|
-
//# sourceMappingURL=chunk-
|
|
432
|
+
//# sourceMappingURL=chunk-ZORVNIGX.js.map
|
|
@@ -17,8 +17,8 @@ import {
|
|
|
17
17
|
revokeAttestation,
|
|
18
18
|
revokeJoinRequest,
|
|
19
19
|
stripReferrerPrefix
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import "./chunk-
|
|
20
|
+
} from "./chunk-3OAGUA2S.js";
|
|
21
|
+
import "./chunk-3UETTXXU.js";
|
|
22
22
|
import "./chunk-XDBRKW7I.js";
|
|
23
23
|
import "./chunk-2LRC7I33.js";
|
|
24
24
|
import "./chunk-2W4KGGPU.js";
|
|
@@ -43,4 +43,4 @@ export {
|
|
|
43
43
|
revokeJoinRequest,
|
|
44
44
|
stripReferrerPrefix
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=eas-
|
|
46
|
+
//# sourceMappingURL=eas-OEBIB5RW.js.map
|
|
@@ -34,8 +34,8 @@ import {
|
|
|
34
34
|
settleProposal,
|
|
35
35
|
vetoProposal,
|
|
36
36
|
vote
|
|
37
|
-
} from "./chunk-
|
|
38
|
-
import "./chunk-
|
|
37
|
+
} from "./chunk-ZORVNIGX.js";
|
|
38
|
+
import "./chunk-3UETTXXU.js";
|
|
39
39
|
import "./chunk-XDBRKW7I.js";
|
|
40
40
|
import "./chunk-2LRC7I33.js";
|
|
41
41
|
import "./chunk-2W4KGGPU.js";
|
|
@@ -77,4 +77,4 @@ export {
|
|
|
77
77
|
vetoProposal,
|
|
78
78
|
vote
|
|
79
79
|
};
|
|
80
|
-
//# sourceMappingURL=governor-
|
|
80
|
+
//# sourceMappingURL=governor-UWI3QYHV.js.map
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
encodeSwapPath,
|
|
16
16
|
getMultiHopQuote,
|
|
17
17
|
getQuote
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-XFVLEE5S.js";
|
|
19
19
|
import {
|
|
20
20
|
chatCompletion,
|
|
21
21
|
checkApiKeyValid,
|
|
@@ -32,14 +32,14 @@ import {
|
|
|
32
32
|
queryJoinRequests,
|
|
33
33
|
revokeJoinRequest,
|
|
34
34
|
stripReferrerPrefix
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-3OAGUA2S.js";
|
|
36
36
|
import {
|
|
37
37
|
createSyndicate,
|
|
38
38
|
getActiveSyndicates,
|
|
39
39
|
getSyndicate,
|
|
40
40
|
subdomainExists,
|
|
41
41
|
updateMetadata
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-TPDRDOCF.js";
|
|
43
43
|
import {
|
|
44
44
|
approveDepositor,
|
|
45
45
|
deposit,
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
searchSyndicateAcrossChains,
|
|
64
64
|
setTextRecord,
|
|
65
65
|
setVaultAddress
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-V5DYFQCQ.js";
|
|
67
67
|
import {
|
|
68
68
|
PROPOSAL_STATE,
|
|
69
69
|
PROPOSAL_STATES,
|
|
@@ -95,7 +95,7 @@ import {
|
|
|
95
95
|
setVotingPeriod,
|
|
96
96
|
settleProposal,
|
|
97
97
|
vote
|
|
98
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-ZORVNIGX.js";
|
|
99
99
|
import {
|
|
100
100
|
AERODROME,
|
|
101
101
|
AGENT_REGISTRY,
|
|
@@ -107,7 +107,7 @@ import {
|
|
|
107
107
|
TOKENS,
|
|
108
108
|
UNISWAP,
|
|
109
109
|
VENICE
|
|
110
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-3UETTXXU.js";
|
|
111
111
|
import {
|
|
112
112
|
formatContractError,
|
|
113
113
|
getAccount,
|
|
@@ -1621,9 +1621,9 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1621
1621
|
console.error(chalk.red("Missing --name, --performance-fee, or --duration. Use --write-calls to skip proposal submission."));
|
|
1622
1622
|
process.exit(1);
|
|
1623
1623
|
}
|
|
1624
|
-
const { propose: propose2 } = await import("./governor-
|
|
1624
|
+
const { propose: propose2 } = await import("./governor-UWI3QYHV.js");
|
|
1625
1625
|
const { pinJSON } = await import("./ipfs-IGXLLJCF.js");
|
|
1626
|
-
const { parseDuration: parseDuration2 } = await import("./governor-
|
|
1626
|
+
const { parseDuration: parseDuration2 } = await import("./governor-UWI3QYHV.js");
|
|
1627
1627
|
const performanceFeeBps = BigInt(opts.performanceFee);
|
|
1628
1628
|
if (performanceFeeBps < 0n || performanceFeeBps > 10000n) {
|
|
1629
1629
|
console.error(chalk.red("--performance-fee must be 0-10000 (basis points)"));
|
|
@@ -1731,7 +1731,7 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1731
1731
|
let prices = [];
|
|
1732
1732
|
let priceSource = null;
|
|
1733
1733
|
try {
|
|
1734
|
-
const { getTokenPricesInAsset } = await import("./price-
|
|
1734
|
+
const { getTokenPricesInAsset } = await import("./price-MUILXUC4.js");
|
|
1735
1735
|
prices = await getTokenPricesInAsset({
|
|
1736
1736
|
tokens: allocations.map((a, i) => ({
|
|
1737
1737
|
token: a.token,
|
|
@@ -2161,7 +2161,7 @@ function registerVeniceCommands(program2) {
|
|
|
2161
2161
|
console.log(chalk2.dim(` Key: ${apiKey.slice(0, 8)}...${apiKey.slice(-4)}`));
|
|
2162
2162
|
console.log(chalk2.dim(" Saved to ~/.sherwood/config.json"));
|
|
2163
2163
|
try {
|
|
2164
|
-
const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-
|
|
2164
|
+
const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-OEBIB5RW.js");
|
|
2165
2165
|
const { uid } = await createVeniceProvisionAttestation(account.address);
|
|
2166
2166
|
if (uid !== "0x0000000000000000000000000000000000000000000000000000000000000000") {
|
|
2167
2167
|
console.log(chalk2.dim(` Attested: ${getEasScanUrl2(uid)}`));
|
|
@@ -2517,7 +2517,7 @@ ${opts.prompt}`;
|
|
|
2517
2517
|
console.log(chalk2.dim(`Model: ${result.model} | Tokens: ${result.usage.promptTokens} in, ${result.usage.completionTokens} out, ${result.usage.totalTokens} total`));
|
|
2518
2518
|
}
|
|
2519
2519
|
try {
|
|
2520
|
-
const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-
|
|
2520
|
+
const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-OEBIB5RW.js");
|
|
2521
2521
|
const { keccak256: keccak2562, toHex, isAddress: isAddr } = await import("viem");
|
|
2522
2522
|
const { getChainContracts: getChainContracts2 } = await import("./config-REASKDIK.js");
|
|
2523
2523
|
const { getChain: getActiveChain } = await import("./network-3ZU7UBDU.js");
|
|
@@ -3732,7 +3732,7 @@ function printSimulationResult(result, callType) {
|
|
|
3732
3732
|
}
|
|
3733
3733
|
async function sendSimulationAlert(subdomain, proposalId, vault, execResult, settleResult) {
|
|
3734
3734
|
try {
|
|
3735
|
-
const xmtp = await import("./xmtp-
|
|
3735
|
+
const xmtp = await import("./xmtp-IVDHDORA.js");
|
|
3736
3736
|
const { getAccount: getAccount2 } = await import("./client-UHHCB6EZ.js");
|
|
3737
3737
|
const group = await xmtp.getGroup("", subdomain);
|
|
3738
3738
|
const allRisks = [...execResult.risks, ...settleResult?.risks ?? []];
|
|
@@ -7184,7 +7184,7 @@ try {
|
|
|
7184
7184
|
var require2 = createRequire(import.meta.url);
|
|
7185
7185
|
var { version: CLI_VERSION } = require2("../package.json");
|
|
7186
7186
|
async function loadXmtp() {
|
|
7187
|
-
return import("./xmtp-
|
|
7187
|
+
return import("./xmtp-IVDHDORA.js");
|
|
7188
7188
|
}
|
|
7189
7189
|
async function loadCron() {
|
|
7190
7190
|
return import("./cron-EOULYO3R.js");
|
|
@@ -7709,7 +7709,7 @@ syndicate.command("add").description("Register an agent on a syndicate vault (cr
|
|
|
7709
7709
|
if (opts.agentId) {
|
|
7710
7710
|
agentId = BigInt(opts.agentId);
|
|
7711
7711
|
} else {
|
|
7712
|
-
const { AGENT_REGISTRY: AGENT_REGISTRY2 } = await import("./addresses-
|
|
7712
|
+
const { AGENT_REGISTRY: AGENT_REGISTRY2 } = await import("./addresses-4UI26LWU.js");
|
|
7713
7713
|
const registry2 = AGENT_REGISTRY2().IDENTITY_REGISTRY;
|
|
7714
7714
|
if (registry2 === "0x0000000000000000000000000000000000000000") {
|
|
7715
7715
|
agentId = 0n;
|
|
@@ -8334,7 +8334,7 @@ ${info.name} (${info.type})`);
|
|
|
8334
8334
|
}
|
|
8335
8335
|
});
|
|
8336
8336
|
try {
|
|
8337
|
-
const { registerChatCommands } = await import("./chat-
|
|
8337
|
+
const { registerChatCommands } = await import("./chat-SQCWYIKG.js");
|
|
8338
8338
|
registerChatCommands(program);
|
|
8339
8339
|
} catch {
|
|
8340
8340
|
program.command("chat <name> [action] [actionArgs...]").description("Syndicate chat (XMTP) \u2014 requires @xmtp/cli").action(() => {
|
|
@@ -8344,7 +8344,7 @@ try {
|
|
|
8344
8344
|
process.exit(1);
|
|
8345
8345
|
});
|
|
8346
8346
|
}
|
|
8347
|
-
var { registerSessionCommands } = await import("./session-
|
|
8347
|
+
var { registerSessionCommands } = await import("./session-ISY5VAUS.js");
|
|
8348
8348
|
registerSessionCommands(program);
|
|
8349
8349
|
registerVeniceCommands(program);
|
|
8350
8350
|
registerAllowanceCommands(program);
|
|
@@ -8352,11 +8352,11 @@ registerIdentityCommands(program);
|
|
|
8352
8352
|
registerProposalCommands(program);
|
|
8353
8353
|
registerGovernorCommands(program);
|
|
8354
8354
|
registerGuardianCommands(program);
|
|
8355
|
-
var { registerResearchCommands } = await import("./research-
|
|
8355
|
+
var { registerResearchCommands } = await import("./research-AR4TABCF.js");
|
|
8356
8356
|
registerResearchCommands(program);
|
|
8357
8357
|
var { registerAgentCommands } = await import("./agent-GKHZEPOT.js");
|
|
8358
8358
|
registerAgentCommands(program);
|
|
8359
|
-
var { registerTradeCommands } = await import("./trade-
|
|
8359
|
+
var { registerTradeCommands } = await import("./trade-VTRYXGP4.js");
|
|
8360
8360
|
registerTradeCommands(program);
|
|
8361
8361
|
registerGridCommand(program);
|
|
8362
8362
|
var configCmd = program.command("config");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SYNTHRA,
|
|
3
3
|
UNISWAP
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3UETTXXU.js";
|
|
5
5
|
import {
|
|
6
6
|
getPublicClient
|
|
7
7
|
} from "./chunk-XDBRKW7I.js";
|
|
@@ -155,4 +155,4 @@ export {
|
|
|
155
155
|
getTokenPriceInAsset,
|
|
156
156
|
getTokenPricesInAsset
|
|
157
157
|
};
|
|
158
|
-
//# sourceMappingURL=price-
|
|
158
|
+
//# sourceMappingURL=price-MUILXUC4.js.map
|
|
@@ -16,7 +16,7 @@ import ora from "ora";
|
|
|
16
16
|
import { confirm } from "@inquirer/prompts";
|
|
17
17
|
import { isAddress } from "viem";
|
|
18
18
|
async function loadXmtp() {
|
|
19
|
-
return import("./xmtp-
|
|
19
|
+
return import("./xmtp-IVDHDORA.js");
|
|
20
20
|
}
|
|
21
21
|
var COST_ESTIMATES = {
|
|
22
22
|
messari: MESSARI_COST_ESTIMATE,
|
|
@@ -83,7 +83,7 @@ function formatValue(value) {
|
|
|
83
83
|
}
|
|
84
84
|
async function postResearch(syndicateName, result, prompt) {
|
|
85
85
|
const { pinJSON } = await import("./ipfs-IGXLLJCF.js");
|
|
86
|
-
const { createResearchAttestation, getEasScanUrl } = await import("./eas-
|
|
86
|
+
const { createResearchAttestation, getEasScanUrl } = await import("./eas-OEBIB5RW.js");
|
|
87
87
|
const xmtp = await loadXmtp();
|
|
88
88
|
const pinSpinner = ora("Pinning research result to IPFS...").start();
|
|
89
89
|
let resultUri;
|
|
@@ -312,4 +312,4 @@ function registerResearchCommands(program) {
|
|
|
312
312
|
export {
|
|
313
313
|
registerResearchCommands
|
|
314
314
|
};
|
|
315
|
-
//# sourceMappingURL=research-
|
|
315
|
+
//# sourceMappingURL=research-AR4TABCF.js.map
|
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
} from "./chunk-W2ZUPR3W.js";
|
|
7
7
|
import {
|
|
8
8
|
resolveSyndicate
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-V5DYFQCQ.js";
|
|
10
10
|
import {
|
|
11
11
|
PROPOSAL_STATES,
|
|
12
12
|
getProposal
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ZORVNIGX.js";
|
|
14
14
|
import {
|
|
15
15
|
SHERWOOD
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-3UETTXXU.js";
|
|
17
17
|
import {
|
|
18
18
|
getPublicClient
|
|
19
19
|
} from "./chunk-XDBRKW7I.js";
|
|
@@ -187,7 +187,7 @@ async function enrichProposalEvents(events, metadataCache) {
|
|
|
187
187
|
|
|
188
188
|
// src/commands/session.ts
|
|
189
189
|
async function loadXmtp() {
|
|
190
|
-
return import("./xmtp-
|
|
190
|
+
return import("./xmtp-IVDHDORA.js");
|
|
191
191
|
}
|
|
192
192
|
async function resolveGovernor(vaultAddress) {
|
|
193
193
|
const client = getPublicClient();
|
|
@@ -477,4 +477,4 @@ function registerSessionCommands(program) {
|
|
|
477
477
|
export {
|
|
478
478
|
registerSessionCommands
|
|
479
479
|
};
|
|
480
|
-
//# sourceMappingURL=session-
|
|
480
|
+
//# sourceMappingURL=session-ISY5VAUS.js.map
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
UniswapProvider,
|
|
6
6
|
getQuote
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-XFVLEE5S.js";
|
|
8
8
|
import {
|
|
9
9
|
chatCompletion
|
|
10
10
|
} from "./chunk-7HJXZ4NM.js";
|
|
11
11
|
import {
|
|
12
12
|
TOKENS
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-3UETTXXU.js";
|
|
14
14
|
import {
|
|
15
15
|
formatContractError,
|
|
16
16
|
getAccount,
|
|
@@ -334,7 +334,7 @@ async function getCurrentPrice(tokenAddress, tokenDecimals, feeTier) {
|
|
|
334
334
|
// src/commands/trade.ts
|
|
335
335
|
var uniswap = new UniswapProvider();
|
|
336
336
|
async function loadXmtp() {
|
|
337
|
-
return import("./xmtp-
|
|
337
|
+
return import("./xmtp-IVDHDORA.js");
|
|
338
338
|
}
|
|
339
339
|
var ETH_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
340
340
|
var KNOWN_MEMECOINS = {
|
|
@@ -641,7 +641,7 @@ function registerTradeCommands(program) {
|
|
|
641
641
|
}
|
|
642
642
|
console.log(` Tx: ${chalk.dim(getExplorerUrl(txHash))}`);
|
|
643
643
|
try {
|
|
644
|
-
const { createTradeAttestation, getEasScanUrl } = await import("./eas-
|
|
644
|
+
const { createTradeAttestation, getEasScanUrl } = await import("./eas-OEBIB5RW.js");
|
|
645
645
|
const { getChainContracts } = await import("./config-REASKDIK.js");
|
|
646
646
|
const { getChain: getActiveChain } = await import("./network-3ZU7UBDU.js");
|
|
647
647
|
const vaultRecipient = getChainContracts(getActiveChain().id).vault;
|
|
@@ -769,7 +769,7 @@ function registerTradeCommands(program) {
|
|
|
769
769
|
}
|
|
770
770
|
console.log(` Tx: ${chalk.dim(getExplorerUrl(txHash))}`);
|
|
771
771
|
try {
|
|
772
|
-
const { createTradeAttestation, getEasScanUrl } = await import("./eas-
|
|
772
|
+
const { createTradeAttestation, getEasScanUrl } = await import("./eas-OEBIB5RW.js");
|
|
773
773
|
const { getChainContracts } = await import("./config-REASKDIK.js");
|
|
774
774
|
const { getChain: getActiveChain } = await import("./network-3ZU7UBDU.js");
|
|
775
775
|
const vaultRecipient = getChainContracts(getActiveChain().id).vault;
|
|
@@ -946,4 +946,4 @@ function sleep(ms) {
|
|
|
946
946
|
export {
|
|
947
947
|
registerTradeCommands
|
|
948
948
|
};
|
|
949
|
-
//# sourceMappingURL=trade-
|
|
949
|
+
//# sourceMappingURL=trade-VTRYXGP4.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getTextRecord
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-V5DYFQCQ.js";
|
|
4
|
+
import "./chunk-3UETTXXU.js";
|
|
5
5
|
import {
|
|
6
6
|
getAccount
|
|
7
7
|
} from "./chunk-XDBRKW7I.js";
|
|
@@ -281,4 +281,4 @@ export {
|
|
|
281
281
|
sendReaction,
|
|
282
282
|
streamMessages
|
|
283
283
|
};
|
|
284
|
-
//# sourceMappingURL=xmtp-
|
|
284
|
+
//# sourceMappingURL=xmtp-IVDHDORA.js.map
|
package/package.json
CHANGED
|
@@ -17,10 +17,20 @@
|
|
|
17
17
|
*
|
|
18
18
|
* This postinstall forcibly replaces the installed binding with the dev
|
|
19
19
|
* version. --no-save keeps package.json unchanged. --force tells npm to
|
|
20
|
-
* ignore the semver conflict with @xmtp/node-sdk's own dep
|
|
21
|
-
* dev pre-release doesn't satisfy
|
|
22
|
-
*
|
|
23
|
-
*
|
|
20
|
+
* ignore the semver conflict with @xmtp/node-sdk's own dep declaration
|
|
21
|
+
* (the dev pre-release doesn't satisfy `1.10.0` under npm's strict
|
|
22
|
+
* semver — pre-releases only match an explicitly named version).
|
|
23
|
+
*
|
|
24
|
+
* The force-install hoists the dev binding to <cli>/node_modules/@xmtp/
|
|
25
|
+
* node-bindings, but @xmtp/node-sdk's own nested copy at <cli>/
|
|
26
|
+
* node_modules/@xmtp/node-sdk/node_modules/@xmtp/node-bindings persists
|
|
27
|
+
* — `npm dedupe` won't collapse it because the pre-release fails the
|
|
28
|
+
* SDK's strict `1.10.0` dep check. Node's `require()` from inside
|
|
29
|
+
* @xmtp/node-sdk then resolves the nested glibc-2.38 binding before
|
|
30
|
+
* walking up to the hoisted dev one.
|
|
31
|
+
*
|
|
32
|
+
* To force resolution back to the hoisted dev binding we recursively
|
|
33
|
+
* delete every nested @xmtp/node-bindings copy in the install tree.
|
|
24
34
|
*
|
|
25
35
|
* If npm isn't available or the network is unreachable at postinstall
|
|
26
36
|
* time, this script exits quietly with status 0. Runtime XMTP calls
|
|
@@ -36,10 +46,14 @@
|
|
|
36
46
|
"use strict";
|
|
37
47
|
|
|
38
48
|
const { execSync } = require("node:child_process");
|
|
39
|
-
const
|
|
49
|
+
const fs = require("node:fs");
|
|
40
50
|
const path = require("node:path");
|
|
41
51
|
|
|
42
|
-
const
|
|
52
|
+
const PINNED_VERSION = "1.10.0-dev.97e86c6";
|
|
53
|
+
const PINNED = `@xmtp/node-bindings@${PINNED_VERSION}`;
|
|
54
|
+
const MANUAL_RECOVERY =
|
|
55
|
+
`cd $(dirname $(readlink -f $(which sherwood)))/../lib/node_modules/@sherwoodagent/cli && ` +
|
|
56
|
+
`npm install --no-save --force ${PINNED}`;
|
|
43
57
|
|
|
44
58
|
// Skip in CI / test / sandbox envs where network is unavailable or unwanted.
|
|
45
59
|
if (process.env.SHERWOOD_SKIP_XMTP_BINDING_PIN === "1") {
|
|
@@ -51,8 +65,12 @@ if (process.env.SHERWOOD_SKIP_XMTP_BINDING_PIN === "1") {
|
|
|
51
65
|
|
|
52
66
|
// Skip when running from the monorepo (cli/ is itself the root during dev;
|
|
53
67
|
// overrides work and this would create a redundant nested copy).
|
|
68
|
+
const cliRoot = path.resolve(__dirname, "..");
|
|
54
69
|
const parentDir = path.resolve(__dirname, "..", "..");
|
|
55
|
-
if (
|
|
70
|
+
if (
|
|
71
|
+
fs.existsSync(path.join(parentDir, "contracts")) &&
|
|
72
|
+
fs.existsSync(path.join(parentDir, "cli"))
|
|
73
|
+
) {
|
|
56
74
|
process.stderr.write(
|
|
57
75
|
"[sherwood-cli] postinstall: monorepo dev install detected — skipping binding pin\n",
|
|
58
76
|
);
|
|
@@ -65,18 +83,55 @@ try {
|
|
|
65
83
|
);
|
|
66
84
|
execSync(`npm install --no-save --force ${PINNED}`, {
|
|
67
85
|
stdio: ["ignore", "pipe", "pipe"],
|
|
68
|
-
cwd:
|
|
86
|
+
cwd: cliRoot,
|
|
69
87
|
});
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
88
|
+
|
|
89
|
+
const rootNodeModules = path.join(cliRoot, "node_modules");
|
|
90
|
+
const hoistedBinding = path.join(rootNodeModules, "@xmtp", "node-bindings");
|
|
91
|
+
|
|
92
|
+
const allBindings = findBindingDirs(rootNodeModules);
|
|
93
|
+
const nested = allBindings.filter(
|
|
94
|
+
(p) => path.resolve(p) !== path.resolve(hoistedBinding),
|
|
95
|
+
);
|
|
96
|
+
for (const p of nested) {
|
|
97
|
+
try {
|
|
98
|
+
fs.rmSync(p, { recursive: true, force: true });
|
|
99
|
+
process.stderr.write(
|
|
100
|
+
`[sherwood-cli] postinstall: removed nested binding ${p}\n`,
|
|
101
|
+
);
|
|
102
|
+
} catch (rmErr) {
|
|
103
|
+
process.stderr.write(
|
|
104
|
+
`[sherwood-cli] postinstall: WARN failed to remove nested binding ${p} ` +
|
|
105
|
+
`(${rmErr && rmErr.message ? rmErr.message : rmErr}). ` +
|
|
106
|
+
"XMTP features may load the nested glibc-2.38 binding instead. To retry manually:\n" +
|
|
107
|
+
` ${MANUAL_RECOVERY}\n`,
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const hoistedPkgJson = path.join(hoistedBinding, "package.json");
|
|
113
|
+
if (fs.existsSync(hoistedPkgJson)) {
|
|
114
|
+
let installed;
|
|
115
|
+
try {
|
|
116
|
+
installed = JSON.parse(fs.readFileSync(hoistedPkgJson, "utf8")).version;
|
|
117
|
+
} catch {
|
|
118
|
+
installed = "<unparseable>";
|
|
119
|
+
}
|
|
120
|
+
if (installed !== PINNED_VERSION) {
|
|
121
|
+
process.stderr.write(
|
|
122
|
+
`[sherwood-cli] postinstall: WARN @xmtp/node-bindings is ${installed}, expected ${PINNED_VERSION}. ` +
|
|
123
|
+
"XMTP features may fail with GLIBC_2.38 errors. To retry manually:\n" +
|
|
124
|
+
` ${MANUAL_RECOVERY}\n`,
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
} else {
|
|
128
|
+
process.stderr.write(
|
|
129
|
+
`[sherwood-cli] postinstall: WARN hoisted @xmtp/node-bindings missing at ${hoistedBinding}. ` +
|
|
130
|
+
"XMTP features may fail. To retry manually:\n" +
|
|
131
|
+
` ${MANUAL_RECOVERY}\n`,
|
|
132
|
+
);
|
|
79
133
|
}
|
|
134
|
+
|
|
80
135
|
process.stderr.write("[sherwood-cli] postinstall: binding pin applied\n");
|
|
81
136
|
} catch (err) {
|
|
82
137
|
// Don't fail the install — non-XMTP commands still work. The error
|
|
@@ -85,7 +140,54 @@ try {
|
|
|
85
140
|
process.stderr.write(
|
|
86
141
|
`[sherwood-cli] postinstall: binding pin failed (${err && err.message ? err.message : err}). ` +
|
|
87
142
|
"XMTP features may fail at runtime. To retry manually:\n" +
|
|
88
|
-
`
|
|
143
|
+
` ${MANUAL_RECOVERY}\n`,
|
|
89
144
|
);
|
|
90
145
|
process.exit(0);
|
|
91
146
|
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Walk a node_modules tree and return absolute paths of every directory
|
|
150
|
+
* that is an installed @xmtp/node-bindings package. Includes the hoisted
|
|
151
|
+
* copy at the root — caller filters that one out.
|
|
152
|
+
*/
|
|
153
|
+
function findBindingDirs(rootNodeModules) {
|
|
154
|
+
const found = [];
|
|
155
|
+
walkNodeModules(rootNodeModules);
|
|
156
|
+
return found;
|
|
157
|
+
|
|
158
|
+
function walkNodeModules(nm) {
|
|
159
|
+
let entries;
|
|
160
|
+
try {
|
|
161
|
+
entries = fs.readdirSync(nm, { withFileTypes: true });
|
|
162
|
+
} catch {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
for (const entry of entries) {
|
|
166
|
+
if (!entry.isDirectory()) continue;
|
|
167
|
+
const entryPath = path.join(nm, entry.name);
|
|
168
|
+
if (entry.name.startsWith("@")) {
|
|
169
|
+
let scoped;
|
|
170
|
+
try {
|
|
171
|
+
scoped = fs.readdirSync(entryPath, { withFileTypes: true });
|
|
172
|
+
} catch {
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
for (const pkg of scoped) {
|
|
176
|
+
if (!pkg.isDirectory()) continue;
|
|
177
|
+
const pkgPath = path.join(entryPath, pkg.name);
|
|
178
|
+
if (entry.name === "@xmtp" && pkg.name === "node-bindings") {
|
|
179
|
+
found.push(pkgPath);
|
|
180
|
+
}
|
|
181
|
+
recurseInto(pkgPath);
|
|
182
|
+
}
|
|
183
|
+
} else {
|
|
184
|
+
recurseInto(entryPath);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
function recurseInto(pkgPath) {
|
|
190
|
+
const nested = path.join(pkgPath, "node_modules");
|
|
191
|
+
if (fs.existsSync(nested)) walkNodeModules(nested);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|