@sherwoodagent/cli 0.57.0 → 0.58.4
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-CVCUB3OK.js → addresses-NX3SHRBT.js} +2 -2
- package/dist/{chat-VNO7DEAW.js → chat-UNDF6HZA.js} +5 -5
- package/dist/{chunk-JEGA2IRX.js → chunk-3M6K2MNV.js} +15 -15
- package/dist/chunk-3M6K2MNV.js.map +1 -0
- package/dist/{chunk-UNDR57AG.js → chunk-EWKFWF3G.js} +2 -2
- package/dist/{chunk-SWFKOMIQ.js → chunk-HKOPANVM.js} +2 -2
- package/dist/{chunk-OUJGZM46.js → chunk-KG7BGVBR.js} +2 -2
- package/dist/{chunk-WGKOO4AO.js → chunk-TMPH4P63.js} +2 -2
- package/dist/{chunk-5GMVY7I7.js → chunk-XHNSF4NV.js} +2 -2
- package/dist/{eas-GYJRAPRP.js → eas-6HFFZZ52.js} +3 -3
- package/dist/{governor-XXSQZAB5.js → governor-GVDZOYJQ.js} +3 -3
- package/dist/index.js +102 -37
- package/dist/index.js.map +1 -1
- package/dist/{price-RMYO6EB5.js → price-H4X2AAAQ.js} +2 -2
- package/dist/{research-UFXKZGOG.js → research-PYUIY4VC.js} +3 -3
- package/dist/{session-7V3HX72A.js → session-AZKLV2T7.js} +5 -5
- package/dist/{trade-ZXB3UAMH.js → trade-P2LBGWVY.js} +6 -6
- package/dist/{xmtp-DYJ4M7DA.js → xmtp-SQIOIRCX.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-JEGA2IRX.js.map +0 -1
- /package/dist/{addresses-CVCUB3OK.js.map → addresses-NX3SHRBT.js.map} +0 -0
- /package/dist/{chat-VNO7DEAW.js.map → chat-UNDF6HZA.js.map} +0 -0
- /package/dist/{chunk-UNDR57AG.js.map → chunk-EWKFWF3G.js.map} +0 -0
- /package/dist/{chunk-SWFKOMIQ.js.map → chunk-HKOPANVM.js.map} +0 -0
- /package/dist/{chunk-OUJGZM46.js.map → chunk-KG7BGVBR.js.map} +0 -0
- /package/dist/{chunk-WGKOO4AO.js.map → chunk-TMPH4P63.js.map} +0 -0
- /package/dist/{chunk-5GMVY7I7.js.map → chunk-XHNSF4NV.js.map} +0 -0
- /package/dist/{eas-GYJRAPRP.js.map → eas-6HFFZZ52.js.map} +0 -0
- /package/dist/{governor-XXSQZAB5.js.map → governor-GVDZOYJQ.js.map} +0 -0
- /package/dist/{price-RMYO6EB5.js.map → price-H4X2AAAQ.js.map} +0 -0
- /package/dist/{research-UFXKZGOG.js.map → research-PYUIY4VC.js.map} +0 -0
- /package/dist/{session-7V3HX72A.js.map → session-AZKLV2T7.js.map} +0 -0
- /package/dist/{trade-ZXB3UAMH.js.map → trade-P2LBGWVY.js.map} +0 -0
- /package/dist/{xmtp-DYJ4M7DA.js.map → xmtp-SQIOIRCX.js.map} +0 -0
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
TOKENS,
|
|
14
14
|
UNISWAP,
|
|
15
15
|
VENICE
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-3M6K2MNV.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-NX3SHRBT.js.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getSyndicate,
|
|
3
3
|
updateMetadata
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-TMPH4P63.js";
|
|
5
5
|
import {
|
|
6
6
|
getTextRecord,
|
|
7
7
|
resolveSyndicate,
|
|
8
8
|
setTextRecord
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-EWKFWF3G.js";
|
|
10
10
|
import {
|
|
11
11
|
ENS
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-3M6K2MNV.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-SQIOIRCX.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-UNDF6HZA.js.map
|
|
@@ -168,9 +168,9 @@ var ROBINHOOD_TESTNET_AGENT_REGISTRY = {
|
|
|
168
168
|
};
|
|
169
169
|
var HYPEREVM_AGENT_REGISTRY = { IDENTITY_REGISTRY: ZERO, REPUTATION_REGISTRY: ZERO };
|
|
170
170
|
var BASE_SHERWOOD = {
|
|
171
|
-
FACTORY: "
|
|
172
|
-
GOVERNOR: "
|
|
173
|
-
GUARDIAN_REGISTRY:
|
|
171
|
+
FACTORY: "0xAC74EC56858d7F1f7618c8e77F65Fc26aDf33c82",
|
|
172
|
+
GOVERNOR: "0x9Fd3c87B34F254e3c5652A0394B9780c2F05d367",
|
|
173
|
+
GUARDIAN_REGISTRY: "0x49E4163b5e4b23F8f3d469Cf6fa197FB6b06A26E",
|
|
174
174
|
WOOD_TOKEN: ZERO,
|
|
175
175
|
// Merkl mainnet distributor — Angle Labs:
|
|
176
176
|
// https://docs.merkl.xyz/merkl-for-providers/merkl-technical-documentation/addresses
|
|
@@ -191,9 +191,9 @@ var ROBINHOOD_TESTNET_SHERWOOD = {
|
|
|
191
191
|
MERKL_DISTRIBUTOR: ZERO
|
|
192
192
|
};
|
|
193
193
|
var HYPEREVM_SHERWOOD = {
|
|
194
|
-
FACTORY: "
|
|
195
|
-
GOVERNOR: "
|
|
196
|
-
GUARDIAN_REGISTRY: "
|
|
194
|
+
FACTORY: "0xd05Ae0E8bcf13075C29817c805d6Cc14F214393a",
|
|
195
|
+
GOVERNOR: "0x67AD3D5F3d127Ef923Fd6f67b178633c408D3fd3",
|
|
196
|
+
GUARDIAN_REGISTRY: "0x8b5710EB4e2fA639F364Dcc3F3B30c8f12F460b9",
|
|
197
197
|
WOOD_TOKEN: ZERO,
|
|
198
198
|
MERKL_DISTRIBUTOR: ZERO
|
|
199
199
|
};
|
|
@@ -228,14 +228,14 @@ var ROBINHOOD_TESTNET_AERODROME = {
|
|
|
228
228
|
};
|
|
229
229
|
var HYPEREVM_AERODROME = { ROUTER: ZERO, FACTORY: ZERO };
|
|
230
230
|
var BASE_STRATEGY_TEMPLATES = {
|
|
231
|
-
MOONWELL_SUPPLY:
|
|
232
|
-
AERODROME_LP:
|
|
233
|
-
VENICE_INFERENCE:
|
|
234
|
-
WSTETH_MOONWELL:
|
|
235
|
-
MAMO_YIELD:
|
|
231
|
+
MOONWELL_SUPPLY: ZERO,
|
|
232
|
+
AERODROME_LP: ZERO,
|
|
233
|
+
VENICE_INFERENCE: ZERO,
|
|
234
|
+
WSTETH_MOONWELL: ZERO,
|
|
235
|
+
MAMO_YIELD: ZERO,
|
|
236
236
|
HYPERLIQUID_PERP: ZERO,
|
|
237
237
|
HYPERLIQUID_GRID: ZERO,
|
|
238
|
-
PORTFOLIO:
|
|
238
|
+
PORTFOLIO: ZERO
|
|
239
239
|
};
|
|
240
240
|
var BASE_SEPOLIA_STRATEGY_TEMPLATES = {
|
|
241
241
|
MOONWELL_SUPPLY: "0xf67107afd786b6CB8829e55634b1686B8Bb7937a",
|
|
@@ -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: "0x2C128810F881055AE186EBBE5bcF33031D325dA1",
|
|
267
|
+
HYPERLIQUID_GRID: "0x0D62944862996791a9BCE992872F9Fa8E3162B49",
|
|
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-3M6K2MNV.js.map
|
|
@@ -0,0 +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":"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","names":[]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
ENS,
|
|
3
3
|
SHERWOOD,
|
|
4
4
|
TOKENS
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3M6K2MNV.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-EWKFWF3G.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EAS_CONTRACTS,
|
|
3
3
|
EAS_SCHEMAS
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3M6K2MNV.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-HKOPANVM.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SHERWOOD
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3M6K2MNV.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-KG7BGVBR.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SHERWOOD
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3M6K2MNV.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-TMPH4P63.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
UNISWAP
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3M6K2MNV.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-XHNSF4NV.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-HKOPANVM.js";
|
|
21
|
+
import "./chunk-3M6K2MNV.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-6HFFZZ52.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-KG7BGVBR.js";
|
|
38
|
+
import "./chunk-3M6K2MNV.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-GVDZOYJQ.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-XHNSF4NV.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-HKOPANVM.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-TMPH4P63.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-EWKFWF3G.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-KG7BGVBR.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-3M6K2MNV.js";
|
|
111
111
|
import {
|
|
112
112
|
formatContractError,
|
|
113
113
|
getAccount,
|
|
@@ -226,6 +226,8 @@ async function cloneTemplate(template) {
|
|
|
226
226
|
]);
|
|
227
227
|
const account = getAccount();
|
|
228
228
|
const chain = getChain();
|
|
229
|
+
const publicClient = getPublicClient();
|
|
230
|
+
const creationNonce = await publicClient.getTransactionCount({ address: account.address });
|
|
229
231
|
const hash = await sendTxWithRetry({
|
|
230
232
|
account,
|
|
231
233
|
chain,
|
|
@@ -236,9 +238,41 @@ async function cloneTemplate(template) {
|
|
|
236
238
|
if (!receipt.contractAddress) {
|
|
237
239
|
throw new Error(`Clone deployment failed \u2014 no contract address in receipt (tx: ${hash})`);
|
|
238
240
|
}
|
|
239
|
-
return { clone: receipt.contractAddress, hash };
|
|
241
|
+
return { clone: receipt.contractAddress, hash, creationNonce };
|
|
240
242
|
}
|
|
241
243
|
|
|
244
|
+
// src/grid/strategy-abi.ts
|
|
245
|
+
var HYPERLIQUID_GRID_STRATEGY_ABI = [
|
|
246
|
+
{
|
|
247
|
+
type: "function",
|
|
248
|
+
name: "updateParams",
|
|
249
|
+
inputs: [{ name: "data", type: "bytes" }],
|
|
250
|
+
outputs: [],
|
|
251
|
+
stateMutability: "nonpayable"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
type: "function",
|
|
255
|
+
name: "maxOrdersPerTick",
|
|
256
|
+
inputs: [],
|
|
257
|
+
outputs: [{ type: "uint32" }],
|
|
258
|
+
stateMutability: "view"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
// Registers the clone with HyperCore so ERC-20 USDC transfers auto-credit
|
|
262
|
+
// HC spot. Call post-init with variant=0 (Create) and the deployer's nonce
|
|
263
|
+
// at clone creation time. Required before _execute() will pass the spot check.
|
|
264
|
+
type: "function",
|
|
265
|
+
name: "finalizeForHyperCore",
|
|
266
|
+
inputs: [
|
|
267
|
+
{ name: "token", type: "uint64" },
|
|
268
|
+
{ name: "variant", type: "uint8" },
|
|
269
|
+
{ name: "createNonce", type: "uint64" }
|
|
270
|
+
],
|
|
271
|
+
outputs: [],
|
|
272
|
+
stateMutability: "nonpayable"
|
|
273
|
+
}
|
|
274
|
+
];
|
|
275
|
+
|
|
242
276
|
// src/lib/batch.ts
|
|
243
277
|
function formatBatch(calls) {
|
|
244
278
|
return calls.map((call, i) => {
|
|
@@ -1318,10 +1352,12 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1318
1352
|
const cloneSpinner = ora(`Cloning ${def.name} template...`).start();
|
|
1319
1353
|
let clone;
|
|
1320
1354
|
let cloneHash;
|
|
1355
|
+
let creationNonce;
|
|
1321
1356
|
try {
|
|
1322
1357
|
const result = await cloneTemplate(templateAddr);
|
|
1323
1358
|
clone = result.clone;
|
|
1324
1359
|
cloneHash = result.hash;
|
|
1360
|
+
creationNonce = result.creationNonce;
|
|
1325
1361
|
cloneSpinner.succeed(`Cloned: ${chalk.green(clone)}`);
|
|
1326
1362
|
console.log(chalk.dim(` Tx: ${getExplorerUrl(cloneHash)}`));
|
|
1327
1363
|
} catch (err) {
|
|
@@ -1351,6 +1387,27 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1351
1387
|
console.error(chalk.red(formatContractError(err)));
|
|
1352
1388
|
process.exit(1);
|
|
1353
1389
|
}
|
|
1390
|
+
if (templateKey === "hyperliquid-grid") {
|
|
1391
|
+
const hcSpinner = ora("Registering clone with HyperCore...").start();
|
|
1392
|
+
try {
|
|
1393
|
+
const account = getAccount();
|
|
1394
|
+
const hcHash = await writeContractWithRetry({
|
|
1395
|
+
account,
|
|
1396
|
+
chain: getChain(),
|
|
1397
|
+
address: clone,
|
|
1398
|
+
abi: HYPERLIQUID_GRID_STRATEGY_ABI,
|
|
1399
|
+
functionName: "finalizeForHyperCore",
|
|
1400
|
+
args: [0n, 0, BigInt(creationNonce)]
|
|
1401
|
+
// token=USDC, variant=Create(0), nonce
|
|
1402
|
+
});
|
|
1403
|
+
await waitForReceipt(hcHash);
|
|
1404
|
+
hcSpinner.succeed("HyperCore registration sent (active after next block)");
|
|
1405
|
+
console.log(chalk.dim(` Creation nonce: ${creationNonce}`));
|
|
1406
|
+
} catch (err) {
|
|
1407
|
+
hcSpinner.warn("HyperCore registration failed \u2014 run finalizeForHyperCore manually");
|
|
1408
|
+
console.error(chalk.yellow(formatContractError(err)));
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1354
1411
|
console.log();
|
|
1355
1412
|
console.log(chalk.bold("Strategy clone ready:"), chalk.green(clone));
|
|
1356
1413
|
console.log(chalk.dim("Use this address in your proposal batch calls."));
|
|
@@ -1457,9 +1514,11 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1457
1514
|
}
|
|
1458
1515
|
const cloneSpinner = ora(`Cloning ${def.name} template...`).start();
|
|
1459
1516
|
let clone;
|
|
1517
|
+
let proposeCreationNonce;
|
|
1460
1518
|
try {
|
|
1461
1519
|
const result = await cloneTemplate(templateAddr);
|
|
1462
1520
|
clone = result.clone;
|
|
1521
|
+
proposeCreationNonce = result.creationNonce;
|
|
1463
1522
|
cloneSpinner.succeed(`Cloned: ${chalk.green(clone)}`);
|
|
1464
1523
|
console.log(chalk.dim(` Tx: ${getExplorerUrl(result.hash)}`));
|
|
1465
1524
|
} catch (err) {
|
|
@@ -1494,6 +1553,30 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1494
1553
|
console.error(chalk.red(formatContractError(err)));
|
|
1495
1554
|
process.exit(1);
|
|
1496
1555
|
}
|
|
1556
|
+
if (templateKey === "hyperliquid-grid") {
|
|
1557
|
+
const hcSpinner = ora("Registering clone with HyperCore...").start();
|
|
1558
|
+
try {
|
|
1559
|
+
const hcHash = await writeContractWithRetry({
|
|
1560
|
+
account,
|
|
1561
|
+
chain: getChain(),
|
|
1562
|
+
address: clone,
|
|
1563
|
+
abi: HYPERLIQUID_GRID_STRATEGY_ABI,
|
|
1564
|
+
functionName: "finalizeForHyperCore",
|
|
1565
|
+
args: [0n, 0, BigInt(proposeCreationNonce)]
|
|
1566
|
+
});
|
|
1567
|
+
await waitForReceipt(hcHash);
|
|
1568
|
+
hcSpinner.succeed("HyperCore registration sent (active after next block)");
|
|
1569
|
+
} catch (err) {
|
|
1570
|
+
hcSpinner.fail("HyperCore registration failed \u2014 aborting proposal submission");
|
|
1571
|
+
console.error(chalk.red(formatContractError(err)));
|
|
1572
|
+
console.error(
|
|
1573
|
+
chalk.yellow(
|
|
1574
|
+
`Retry by calling finalizeForHyperCore(0, 0, ${proposeCreationNonce}) on ${clone}, then re-run propose.`
|
|
1575
|
+
)
|
|
1576
|
+
);
|
|
1577
|
+
process.exit(1);
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1497
1580
|
const { executeCalls, settleCalls } = buildCallsForTemplate(
|
|
1498
1581
|
templateKey,
|
|
1499
1582
|
clone,
|
|
@@ -1538,9 +1621,9 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1538
1621
|
console.error(chalk.red("Missing --name, --performance-fee, or --duration. Use --write-calls to skip proposal submission."));
|
|
1539
1622
|
process.exit(1);
|
|
1540
1623
|
}
|
|
1541
|
-
const { propose: propose2 } = await import("./governor-
|
|
1624
|
+
const { propose: propose2 } = await import("./governor-GVDZOYJQ.js");
|
|
1542
1625
|
const { pinJSON } = await import("./ipfs-IGXLLJCF.js");
|
|
1543
|
-
const { parseDuration: parseDuration2 } = await import("./governor-
|
|
1626
|
+
const { parseDuration: parseDuration2 } = await import("./governor-GVDZOYJQ.js");
|
|
1544
1627
|
const performanceFeeBps = BigInt(opts.performanceFee);
|
|
1545
1628
|
if (performanceFeeBps < 0n || performanceFeeBps > 10000n) {
|
|
1546
1629
|
console.error(chalk.red("--performance-fee must be 0-10000 (basis points)"));
|
|
@@ -1648,7 +1731,7 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1648
1731
|
let prices = [];
|
|
1649
1732
|
let priceSource = null;
|
|
1650
1733
|
try {
|
|
1651
|
-
const { getTokenPricesInAsset } = await import("./price-
|
|
1734
|
+
const { getTokenPricesInAsset } = await import("./price-H4X2AAAQ.js");
|
|
1652
1735
|
prices = await getTokenPricesInAsset({
|
|
1653
1736
|
tokens: allocations.map((a, i) => ({
|
|
1654
1737
|
token: a.token,
|
|
@@ -2078,7 +2161,7 @@ function registerVeniceCommands(program2) {
|
|
|
2078
2161
|
console.log(chalk2.dim(` Key: ${apiKey.slice(0, 8)}...${apiKey.slice(-4)}`));
|
|
2079
2162
|
console.log(chalk2.dim(" Saved to ~/.sherwood/config.json"));
|
|
2080
2163
|
try {
|
|
2081
|
-
const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-
|
|
2164
|
+
const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-6HFFZZ52.js");
|
|
2082
2165
|
const { uid } = await createVeniceProvisionAttestation(account.address);
|
|
2083
2166
|
if (uid !== "0x0000000000000000000000000000000000000000000000000000000000000000") {
|
|
2084
2167
|
console.log(chalk2.dim(` Attested: ${getEasScanUrl2(uid)}`));
|
|
@@ -2434,7 +2517,7 @@ ${opts.prompt}`;
|
|
|
2434
2517
|
console.log(chalk2.dim(`Model: ${result.model} | Tokens: ${result.usage.promptTokens} in, ${result.usage.completionTokens} out, ${result.usage.totalTokens} total`));
|
|
2435
2518
|
}
|
|
2436
2519
|
try {
|
|
2437
|
-
const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-
|
|
2520
|
+
const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-6HFFZZ52.js");
|
|
2438
2521
|
const { keccak256: keccak2562, toHex, isAddress: isAddr } = await import("viem");
|
|
2439
2522
|
const { getChainContracts: getChainContracts2 } = await import("./config-REASKDIK.js");
|
|
2440
2523
|
const { getChain: getActiveChain } = await import("./network-3ZU7UBDU.js");
|
|
@@ -3649,7 +3732,7 @@ function printSimulationResult(result, callType) {
|
|
|
3649
3732
|
}
|
|
3650
3733
|
async function sendSimulationAlert(subdomain, proposalId, vault, execResult, settleResult) {
|
|
3651
3734
|
try {
|
|
3652
|
-
const xmtp = await import("./xmtp-
|
|
3735
|
+
const xmtp = await import("./xmtp-SQIOIRCX.js");
|
|
3653
3736
|
const { getAccount: getAccount2 } = await import("./client-UHHCB6EZ.js");
|
|
3654
3737
|
const group = await xmtp.getGroup("", subdomain);
|
|
3655
3738
|
const allRisks = [...execResult.risks, ...settleResult?.risks ?? []];
|
|
@@ -5555,24 +5638,6 @@ function gridCloid(strategy2, assetIndex, isBuy, levelIndex, nonce) {
|
|
|
5555
5638
|
return BigInt(top16);
|
|
5556
5639
|
}
|
|
5557
5640
|
|
|
5558
|
-
// src/grid/strategy-abi.ts
|
|
5559
|
-
var HYPERLIQUID_GRID_STRATEGY_ABI = [
|
|
5560
|
-
{
|
|
5561
|
-
type: "function",
|
|
5562
|
-
name: "updateParams",
|
|
5563
|
-
inputs: [{ name: "data", type: "bytes" }],
|
|
5564
|
-
outputs: [],
|
|
5565
|
-
stateMutability: "nonpayable"
|
|
5566
|
-
},
|
|
5567
|
-
{
|
|
5568
|
-
type: "function",
|
|
5569
|
-
name: "maxOrdersPerTick",
|
|
5570
|
-
inputs: [],
|
|
5571
|
-
outputs: [{ type: "uint32" }],
|
|
5572
|
-
stateMutability: "view"
|
|
5573
|
-
}
|
|
5574
|
-
];
|
|
5575
|
-
|
|
5576
5641
|
// src/grid/onchain-executor.ts
|
|
5577
5642
|
var UINT64_MAX = 18446744073709551615n;
|
|
5578
5643
|
var ACTION_PLACE_GRID = 1;
|
|
@@ -7119,7 +7184,7 @@ try {
|
|
|
7119
7184
|
var require2 = createRequire(import.meta.url);
|
|
7120
7185
|
var { version: CLI_VERSION } = require2("../package.json");
|
|
7121
7186
|
async function loadXmtp() {
|
|
7122
|
-
return import("./xmtp-
|
|
7187
|
+
return import("./xmtp-SQIOIRCX.js");
|
|
7123
7188
|
}
|
|
7124
7189
|
async function loadCron() {
|
|
7125
7190
|
return import("./cron-EOULYO3R.js");
|
|
@@ -7644,7 +7709,7 @@ syndicate.command("add").description("Register an agent on a syndicate vault (cr
|
|
|
7644
7709
|
if (opts.agentId) {
|
|
7645
7710
|
agentId = BigInt(opts.agentId);
|
|
7646
7711
|
} else {
|
|
7647
|
-
const { AGENT_REGISTRY: AGENT_REGISTRY2 } = await import("./addresses-
|
|
7712
|
+
const { AGENT_REGISTRY: AGENT_REGISTRY2 } = await import("./addresses-NX3SHRBT.js");
|
|
7648
7713
|
const registry2 = AGENT_REGISTRY2().IDENTITY_REGISTRY;
|
|
7649
7714
|
if (registry2 === "0x0000000000000000000000000000000000000000") {
|
|
7650
7715
|
agentId = 0n;
|
|
@@ -8269,7 +8334,7 @@ ${info.name} (${info.type})`);
|
|
|
8269
8334
|
}
|
|
8270
8335
|
});
|
|
8271
8336
|
try {
|
|
8272
|
-
const { registerChatCommands } = await import("./chat-
|
|
8337
|
+
const { registerChatCommands } = await import("./chat-UNDF6HZA.js");
|
|
8273
8338
|
registerChatCommands(program);
|
|
8274
8339
|
} catch {
|
|
8275
8340
|
program.command("chat <name> [action] [actionArgs...]").description("Syndicate chat (XMTP) \u2014 requires @xmtp/cli").action(() => {
|
|
@@ -8279,7 +8344,7 @@ try {
|
|
|
8279
8344
|
process.exit(1);
|
|
8280
8345
|
});
|
|
8281
8346
|
}
|
|
8282
|
-
var { registerSessionCommands } = await import("./session-
|
|
8347
|
+
var { registerSessionCommands } = await import("./session-AZKLV2T7.js");
|
|
8283
8348
|
registerSessionCommands(program);
|
|
8284
8349
|
registerVeniceCommands(program);
|
|
8285
8350
|
registerAllowanceCommands(program);
|
|
@@ -8287,11 +8352,11 @@ registerIdentityCommands(program);
|
|
|
8287
8352
|
registerProposalCommands(program);
|
|
8288
8353
|
registerGovernorCommands(program);
|
|
8289
8354
|
registerGuardianCommands(program);
|
|
8290
|
-
var { registerResearchCommands } = await import("./research-
|
|
8355
|
+
var { registerResearchCommands } = await import("./research-PYUIY4VC.js");
|
|
8291
8356
|
registerResearchCommands(program);
|
|
8292
8357
|
var { registerAgentCommands } = await import("./agent-GKHZEPOT.js");
|
|
8293
8358
|
registerAgentCommands(program);
|
|
8294
|
-
var { registerTradeCommands } = await import("./trade-
|
|
8359
|
+
var { registerTradeCommands } = await import("./trade-P2LBGWVY.js");
|
|
8295
8360
|
registerTradeCommands(program);
|
|
8296
8361
|
registerGridCommand(program);
|
|
8297
8362
|
var configCmd = program.command("config");
|