@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.
Files changed (34) hide show
  1. package/dist/{addresses-CVCUB3OK.js → addresses-NX3SHRBT.js} +2 -2
  2. package/dist/{chat-VNO7DEAW.js → chat-UNDF6HZA.js} +5 -5
  3. package/dist/{chunk-JEGA2IRX.js → chunk-3M6K2MNV.js} +15 -15
  4. package/dist/chunk-3M6K2MNV.js.map +1 -0
  5. package/dist/{chunk-UNDR57AG.js → chunk-EWKFWF3G.js} +2 -2
  6. package/dist/{chunk-SWFKOMIQ.js → chunk-HKOPANVM.js} +2 -2
  7. package/dist/{chunk-OUJGZM46.js → chunk-KG7BGVBR.js} +2 -2
  8. package/dist/{chunk-WGKOO4AO.js → chunk-TMPH4P63.js} +2 -2
  9. package/dist/{chunk-5GMVY7I7.js → chunk-XHNSF4NV.js} +2 -2
  10. package/dist/{eas-GYJRAPRP.js → eas-6HFFZZ52.js} +3 -3
  11. package/dist/{governor-XXSQZAB5.js → governor-GVDZOYJQ.js} +3 -3
  12. package/dist/index.js +102 -37
  13. package/dist/index.js.map +1 -1
  14. package/dist/{price-RMYO6EB5.js → price-H4X2AAAQ.js} +2 -2
  15. package/dist/{research-UFXKZGOG.js → research-PYUIY4VC.js} +3 -3
  16. package/dist/{session-7V3HX72A.js → session-AZKLV2T7.js} +5 -5
  17. package/dist/{trade-ZXB3UAMH.js → trade-P2LBGWVY.js} +6 -6
  18. package/dist/{xmtp-DYJ4M7DA.js → xmtp-SQIOIRCX.js} +3 -3
  19. package/package.json +1 -1
  20. package/dist/chunk-JEGA2IRX.js.map +0 -1
  21. /package/dist/{addresses-CVCUB3OK.js.map → addresses-NX3SHRBT.js.map} +0 -0
  22. /package/dist/{chat-VNO7DEAW.js.map → chat-UNDF6HZA.js.map} +0 -0
  23. /package/dist/{chunk-UNDR57AG.js.map → chunk-EWKFWF3G.js.map} +0 -0
  24. /package/dist/{chunk-SWFKOMIQ.js.map → chunk-HKOPANVM.js.map} +0 -0
  25. /package/dist/{chunk-OUJGZM46.js.map → chunk-KG7BGVBR.js.map} +0 -0
  26. /package/dist/{chunk-WGKOO4AO.js.map → chunk-TMPH4P63.js.map} +0 -0
  27. /package/dist/{chunk-5GMVY7I7.js.map → chunk-XHNSF4NV.js.map} +0 -0
  28. /package/dist/{eas-GYJRAPRP.js.map → eas-6HFFZZ52.js.map} +0 -0
  29. /package/dist/{governor-XXSQZAB5.js.map → governor-GVDZOYJQ.js.map} +0 -0
  30. /package/dist/{price-RMYO6EB5.js.map → price-H4X2AAAQ.js.map} +0 -0
  31. /package/dist/{research-UFXKZGOG.js.map → research-PYUIY4VC.js.map} +0 -0
  32. /package/dist/{session-7V3HX72A.js.map → session-AZKLV2T7.js.map} +0 -0
  33. /package/dist/{trade-ZXB3UAMH.js.map → trade-P2LBGWVY.js.map} +0 -0
  34. /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-JEGA2IRX.js";
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-CVCUB3OK.js.map
35
+ //# sourceMappingURL=addresses-NX3SHRBT.js.map
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  getSyndicate,
3
3
  updateMetadata
4
- } from "./chunk-WGKOO4AO.js";
4
+ } from "./chunk-TMPH4P63.js";
5
5
  import {
6
6
  getTextRecord,
7
7
  resolveSyndicate,
8
8
  setTextRecord
9
- } from "./chunk-UNDR57AG.js";
9
+ } from "./chunk-EWKFWF3G.js";
10
10
  import {
11
11
  ENS
12
- } from "./chunk-JEGA2IRX.js";
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-DYJ4M7DA.js");
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-VNO7DEAW.js.map
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: "0x4a761D4C101a3aaDE53C7aA2b5c3278b217B6C29",
172
- GOVERNOR: "0x2F7C27007AC5Bad8400EaDBcdaa767597cfE186a",
173
- GUARDIAN_REGISTRY: ZERO,
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: "0x7e7F8Ee0f451aA70be3dda66D9eeecbfc7FA48d3",
195
- GOVERNOR: "0x915Fc671F4b96420266200ec21Af8dD69Ec97C21",
196
- GUARDIAN_REGISTRY: "0x121AaC2B96Ec365e457fcCc1C2ED5a6142064069",
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: "0x649f8d24096a5eb17b8C73ee5113825AcA259F00",
232
- AERODROME_LP: "0x6ccdD48C6A83cCdD6712DEB02E85FbEA8CF426CE",
233
- VENICE_INFERENCE: "0x49BFDae8353ba15954924274573D427211CCe41b",
234
- WSTETH_MOONWELL: "0xA31851Ab35F9992b0411749ec02Df053e904D1e6",
235
- MAMO_YIELD: "0x9ca8A9B75a46261F107B610b634ecE69D7E6DF42",
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: "0x7865eEA4063c22d0F55FdD412D345495c7b73f64"
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: "0xa2B8Ad8695FdE05bf1DA4aBaef1608045A53Ba4E",
267
- HYPERLIQUID_GRID: "0x49BFDae8353ba15954924274573D427211CCe41b",
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-JEGA2IRX.js.map
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-JEGA2IRX.js";
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-UNDR57AG.js.map
546
+ //# sourceMappingURL=chunk-EWKFWF3G.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  EAS_CONTRACTS,
3
3
  EAS_SCHEMAS
4
- } from "./chunk-JEGA2IRX.js";
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-SWFKOMIQ.js.map
456
+ //# sourceMappingURL=chunk-HKOPANVM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SHERWOOD
3
- } from "./chunk-JEGA2IRX.js";
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-OUJGZM46.js.map
432
+ //# sourceMappingURL=chunk-KG7BGVBR.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SHERWOOD
3
- } from "./chunk-JEGA2IRX.js";
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-WGKOO4AO.js.map
142
+ //# sourceMappingURL=chunk-TMPH4P63.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  UNISWAP
3
- } from "./chunk-JEGA2IRX.js";
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-5GMVY7I7.js.map
325
+ //# sourceMappingURL=chunk-XHNSF4NV.js.map
@@ -17,8 +17,8 @@ import {
17
17
  revokeAttestation,
18
18
  revokeJoinRequest,
19
19
  stripReferrerPrefix
20
- } from "./chunk-SWFKOMIQ.js";
21
- import "./chunk-JEGA2IRX.js";
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-GYJRAPRP.js.map
46
+ //# sourceMappingURL=eas-6HFFZZ52.js.map
@@ -34,8 +34,8 @@ import {
34
34
  settleProposal,
35
35
  vetoProposal,
36
36
  vote
37
- } from "./chunk-OUJGZM46.js";
38
- import "./chunk-JEGA2IRX.js";
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-XXSQZAB5.js.map
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-5GMVY7I7.js";
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-SWFKOMIQ.js";
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-WGKOO4AO.js";
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-UNDR57AG.js";
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-OUJGZM46.js";
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-JEGA2IRX.js";
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-XXSQZAB5.js");
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-XXSQZAB5.js");
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-RMYO6EB5.js");
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-GYJRAPRP.js");
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-GYJRAPRP.js");
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-DYJ4M7DA.js");
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-DYJ4M7DA.js");
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-CVCUB3OK.js");
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-VNO7DEAW.js");
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-7V3HX72A.js");
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-UFXKZGOG.js");
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-ZXB3UAMH.js");
8359
+ var { registerTradeCommands } = await import("./trade-P2LBGWVY.js");
8295
8360
  registerTradeCommands(program);
8296
8361
  registerGridCommand(program);
8297
8362
  var configCmd = program.command("config");