@sherwoodagent/cli 0.51.0 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{abis-RGCO5GHC.js → abis-Z6M6SRPX.js} +2 -2
- package/dist/{addresses-DOWLGXGE.js → addresses-CKPOWDDV.js} +2 -2
- package/dist/{agent-ZPAZTJG3.js → agent-E5GHURKJ.js} +2 -2
- package/dist/{chat-MRTPUZ3X.js → chat-3IW4XDZJ.js} +6 -6
- package/dist/{chunk-IS2CLLUT.js → chunk-D2D6BPBM.js} +3 -3
- package/dist/{chunk-R7X33D2S.js → chunk-ENIUCMDV.js} +3 -3
- package/dist/{chunk-D77JGXIV.js → chunk-J2FOCXF2.js} +1 -8
- package/dist/{chunk-D77JGXIV.js.map → chunk-J2FOCXF2.js.map} +1 -1
- package/dist/{chunk-E6LH2FJ6.js → chunk-JEKXXHI5.js} +3 -3
- package/dist/{chunk-KJ35EF7N.js → chunk-JY46LEIS.js} +3 -3
- package/dist/{chunk-FWC57PT7.js → chunk-LXUNJSB6.js} +9 -5
- package/dist/chunk-LXUNJSB6.js.map +1 -0
- package/dist/{chunk-WMZEOR5W.js → chunk-ZRU43SUB.js} +3 -3
- package/dist/{eas-PEEWGSAO.js → eas-PFIAGWAB.js} +4 -4
- package/dist/{governor-MG5VVSU4.js → governor-CQG4LA43.js} +4 -4
- package/dist/index.js +132 -54
- package/dist/index.js.map +1 -1
- package/dist/{price-WCCXWPDM.js → price-UC2W6HYQ.js} +3 -3
- package/dist/{research-QBKISW2M.js → research-2GOILSS7.js} +3 -3
- package/dist/{session-FPCPCVQX.js → session-ZMEKZRWL.js} +6 -6
- package/dist/{trade-NO6CNWCA.js → trade-UXQOCNLJ.js} +7 -7
- package/dist/{xmtp-ACB2W573.js → xmtp-KEFA7F24.js} +4 -4
- package/package.json +1 -1
- package/dist/chunk-FWC57PT7.js.map +0 -1
- /package/dist/{abis-RGCO5GHC.js.map → abis-Z6M6SRPX.js.map} +0 -0
- /package/dist/{addresses-DOWLGXGE.js.map → addresses-CKPOWDDV.js.map} +0 -0
- /package/dist/{agent-ZPAZTJG3.js.map → agent-E5GHURKJ.js.map} +0 -0
- /package/dist/{chat-MRTPUZ3X.js.map → chat-3IW4XDZJ.js.map} +0 -0
- /package/dist/{chunk-IS2CLLUT.js.map → chunk-D2D6BPBM.js.map} +0 -0
- /package/dist/{chunk-R7X33D2S.js.map → chunk-ENIUCMDV.js.map} +0 -0
- /package/dist/{chunk-E6LH2FJ6.js.map → chunk-JEKXXHI5.js.map} +0 -0
- /package/dist/{chunk-KJ35EF7N.js.map → chunk-JY46LEIS.js.map} +0 -0
- /package/dist/{chunk-WMZEOR5W.js.map → chunk-ZRU43SUB.js.map} +0 -0
- /package/dist/{eas-PEEWGSAO.js.map → eas-PFIAGWAB.js.map} +0 -0
- /package/dist/{governor-MG5VVSU4.js.map → governor-CQG4LA43.js.map} +0 -0
- /package/dist/{price-WCCXWPDM.js.map → price-UC2W6HYQ.js.map} +0 -0
- /package/dist/{research-QBKISW2M.js.map → research-2GOILSS7.js.map} +0 -0
- /package/dist/{session-FPCPCVQX.js.map → session-ZMEKZRWL.js.map} +0 -0
- /package/dist/{trade-NO6CNWCA.js.map → trade-UXQOCNLJ.js.map} +0 -0
- /package/dist/{xmtp-ACB2W573.js.map → xmtp-KEFA7F24.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
encodeSwapPath,
|
|
14
14
|
getMultiHopQuote,
|
|
15
15
|
getQuote
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-ZRU43SUB.js";
|
|
17
17
|
import {
|
|
18
18
|
chatCompletion,
|
|
19
19
|
checkApiKeyValid,
|
|
@@ -30,14 +30,14 @@ import {
|
|
|
30
30
|
queryJoinRequests,
|
|
31
31
|
revokeJoinRequest,
|
|
32
32
|
stripReferrerPrefix
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-JEKXXHI5.js";
|
|
34
34
|
import {
|
|
35
35
|
createSyndicate,
|
|
36
36
|
getActiveSyndicates,
|
|
37
37
|
getSyndicate,
|
|
38
38
|
subdomainExists,
|
|
39
39
|
updateMetadata
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-D2D6BPBM.js";
|
|
41
41
|
import {
|
|
42
42
|
approveDepositor,
|
|
43
43
|
deposit,
|
|
@@ -61,7 +61,7 @@ import {
|
|
|
61
61
|
searchSyndicateAcrossChains,
|
|
62
62
|
setTextRecord,
|
|
63
63
|
setVaultAddress
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-ENIUCMDV.js";
|
|
65
65
|
import {
|
|
66
66
|
PROPOSAL_STATE,
|
|
67
67
|
PROPOSAL_STATES,
|
|
@@ -93,7 +93,7 @@ import {
|
|
|
93
93
|
setVotingPeriod,
|
|
94
94
|
settleProposal,
|
|
95
95
|
vote
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-JY46LEIS.js";
|
|
97
97
|
import {
|
|
98
98
|
AERODROME,
|
|
99
99
|
AGENT_REGISTRY,
|
|
@@ -105,7 +105,7 @@ import {
|
|
|
105
105
|
TOKENS,
|
|
106
106
|
UNISWAP,
|
|
107
107
|
VENICE
|
|
108
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-LXUNJSB6.js";
|
|
109
109
|
import {
|
|
110
110
|
formatContractError,
|
|
111
111
|
getAccount,
|
|
@@ -158,7 +158,7 @@ import {
|
|
|
158
158
|
SWAP_ROUTER_EXACT_INPUT_SINGLE_ABI,
|
|
159
159
|
SYNDICATE_VAULT_ABI,
|
|
160
160
|
VENICE_STAKING_ABI
|
|
161
|
-
} from "./chunk-
|
|
161
|
+
} from "./chunk-J2FOCXF2.js";
|
|
162
162
|
import {
|
|
163
163
|
fetchMetadata,
|
|
164
164
|
uploadMetadata
|
|
@@ -208,7 +208,7 @@ var MoonwellProvider = class {
|
|
|
208
208
|
};
|
|
209
209
|
|
|
210
210
|
// src/commands/strategy-template.ts
|
|
211
|
-
import { parseUnits, formatUnits, isAddress, erc20Abi, encodeAbiParameters as
|
|
211
|
+
import { parseUnits, formatUnits, isAddress, erc20Abi, encodeAbiParameters as encodeAbiParameters9, decodeAbiParameters } from "viem";
|
|
212
212
|
import chalk from "chalk";
|
|
213
213
|
import ora from "ora";
|
|
214
214
|
import { writeFileSync, mkdirSync } from "fs";
|
|
@@ -593,18 +593,17 @@ function buildSettleCalls6(clone) {
|
|
|
593
593
|
|
|
594
594
|
// src/strategies/hyperliquid-perp-template.ts
|
|
595
595
|
import { encodeAbiParameters as encodeAbiParameters7, encodeFunctionData as encodeFunctionData7, maxUint256 as maxUint2562 } from "viem";
|
|
596
|
-
function buildInitData7(asset, depositAmount,
|
|
596
|
+
function buildInitData7(asset, depositAmount, perpAssetIndex, leverage, maxPositionSize, maxTradesPerDay) {
|
|
597
597
|
return encodeAbiParameters7(
|
|
598
598
|
[
|
|
599
599
|
{ type: "address" },
|
|
600
600
|
{ type: "uint256" },
|
|
601
|
-
{ type: "uint256" },
|
|
602
601
|
{ type: "uint32" },
|
|
603
602
|
{ type: "uint32" },
|
|
604
603
|
{ type: "uint256" },
|
|
605
604
|
{ type: "uint32" }
|
|
606
605
|
],
|
|
607
|
-
[asset, depositAmount,
|
|
606
|
+
[asset, depositAmount, perpAssetIndex, leverage, maxPositionSize, maxTradesPerDay]
|
|
608
607
|
);
|
|
609
608
|
}
|
|
610
609
|
function buildExecuteCalls7(clone, asset, amount) {
|
|
@@ -651,6 +650,65 @@ function buildSettleCalls7(clone) {
|
|
|
651
650
|
];
|
|
652
651
|
}
|
|
653
652
|
|
|
653
|
+
// src/strategies/hyperliquid-grid-template.ts
|
|
654
|
+
import { encodeAbiParameters as encodeAbiParameters8, encodeFunctionData as encodeFunctionData8, maxUint256 as maxUint2563 } from "viem";
|
|
655
|
+
function buildInitData8(asset, depositAmount, leverage, maxOrderSize, maxOrdersPerTick, assetIndices) {
|
|
656
|
+
return encodeAbiParameters8(
|
|
657
|
+
[
|
|
658
|
+
{ type: "address" },
|
|
659
|
+
{ type: "uint256" },
|
|
660
|
+
{ type: "uint32" },
|
|
661
|
+
{ type: "uint256" },
|
|
662
|
+
{ type: "uint32" },
|
|
663
|
+
{ type: "uint32[]" }
|
|
664
|
+
],
|
|
665
|
+
[asset, depositAmount, leverage, maxOrderSize, maxOrdersPerTick, assetIndices]
|
|
666
|
+
);
|
|
667
|
+
}
|
|
668
|
+
function buildExecuteCalls8(clone, asset, amount) {
|
|
669
|
+
const approveAmount = amount === 0n ? maxUint2563 : amount;
|
|
670
|
+
return [
|
|
671
|
+
{
|
|
672
|
+
target: asset,
|
|
673
|
+
data: encodeFunctionData8({
|
|
674
|
+
abi: ERC20_ABI,
|
|
675
|
+
functionName: "approve",
|
|
676
|
+
args: [clone, approveAmount]
|
|
677
|
+
}),
|
|
678
|
+
value: 0n
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
target: clone,
|
|
682
|
+
data: encodeFunctionData8({
|
|
683
|
+
abi: BASE_STRATEGY_ABI,
|
|
684
|
+
functionName: "execute"
|
|
685
|
+
}),
|
|
686
|
+
value: 0n
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
target: asset,
|
|
690
|
+
data: encodeFunctionData8({
|
|
691
|
+
abi: ERC20_ABI,
|
|
692
|
+
functionName: "approve",
|
|
693
|
+
args: [clone, 0n]
|
|
694
|
+
}),
|
|
695
|
+
value: 0n
|
|
696
|
+
}
|
|
697
|
+
];
|
|
698
|
+
}
|
|
699
|
+
function buildSettleCalls8(clone) {
|
|
700
|
+
return [
|
|
701
|
+
{
|
|
702
|
+
target: clone,
|
|
703
|
+
data: encodeFunctionData8({
|
|
704
|
+
abi: BASE_STRATEGY_ABI,
|
|
705
|
+
functionName: "settle"
|
|
706
|
+
}),
|
|
707
|
+
value: 0n
|
|
708
|
+
}
|
|
709
|
+
];
|
|
710
|
+
}
|
|
711
|
+
|
|
654
712
|
// src/commands/strategy-template.ts
|
|
655
713
|
import { concat as concat2, numberToHex } from "viem";
|
|
656
714
|
var ZERO = "0x0000000000000000000000000000000000000000";
|
|
@@ -667,14 +725,14 @@ function encodeV3Path(tokens, fees) {
|
|
|
667
725
|
}
|
|
668
726
|
function buildSwapExtraData(network, tokenIn, tokenOut, feeTier, hop) {
|
|
669
727
|
if (network === "robinhood-testnet") {
|
|
670
|
-
return
|
|
728
|
+
return encodeAbiParameters9([{ type: "uint24" }], [feeTier]);
|
|
671
729
|
}
|
|
672
730
|
if (hop) {
|
|
673
731
|
const path = encodeV3Path([tokenIn, hop.via, tokenOut], [hop.feeIn, hop.feeOut]);
|
|
674
|
-
const encoded2 =
|
|
732
|
+
const encoded2 = encodeAbiParameters9([{ type: "bytes" }], [path]);
|
|
675
733
|
return `0x01${encoded2.slice(2)}`;
|
|
676
734
|
}
|
|
677
|
-
const encoded =
|
|
735
|
+
const encoded = encodeAbiParameters9([{ type: "uint24" }], [feeTier]);
|
|
678
736
|
return `0x00${encoded.slice(2)}`;
|
|
679
737
|
}
|
|
680
738
|
async function detectSwapRoute(asset, token, preferredFeeTier) {
|
|
@@ -813,6 +871,12 @@ var TEMPLATES = [
|
|
|
813
871
|
key: "hyperliquid-perp",
|
|
814
872
|
description: "Leveraged perp trading on Hyperliquid via HyperEVM precompiles",
|
|
815
873
|
addressKey: "HYPERLIQUID_PERP"
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
name: "Hyperliquid Grid",
|
|
877
|
+
key: "hyperliquid-grid",
|
|
878
|
+
description: "ATR-based grid trading on Hyperliquid via HyperEVM precompiles",
|
|
879
|
+
addressKey: "HYPERLIQUID_GRID"
|
|
816
880
|
}
|
|
817
881
|
];
|
|
818
882
|
function resolveTemplate(key) {
|
|
@@ -1070,19 +1134,27 @@ async function buildInitDataForTemplate(templateKey, opts, vault) {
|
|
|
1070
1134
|
const asset = resolveToken(token);
|
|
1071
1135
|
const decimals = token.toUpperCase() === "USDC" ? 6 : 18;
|
|
1072
1136
|
const depositAmount = opts.amount ? parseUnits(opts.amount, decimals) : 0n;
|
|
1073
|
-
if (depositAmount === 0n && !opts.minReturn) {
|
|
1074
|
-
console.error(chalk.red(
|
|
1075
|
-
"--min-return is required when --amount is omitted (dynamic-all mode).\n The settlement floor can't be derived without a reference deposit \u2014 set it explicitly to the minimum USDC you'll accept back from HyperCore."
|
|
1076
|
-
));
|
|
1077
|
-
process.exit(1);
|
|
1078
|
-
}
|
|
1079
|
-
const minReturn = opts.minReturn ? parseUnits(opts.minReturn, decimals) : opts.amount ? parseUnits(opts.amount, decimals) : 0n;
|
|
1080
1137
|
const leverage = Number(opts.leverage || "10");
|
|
1081
1138
|
const assetIndex = Number(opts.assetIndex || "0");
|
|
1082
1139
|
const maxPosition = parseUnits(opts.maxPosition || "100000", decimals);
|
|
1083
1140
|
const maxTradesDay = Number(opts.maxTradesPerDay || "50");
|
|
1084
1141
|
return {
|
|
1085
|
-
initData: buildInitData7(asset, depositAmount,
|
|
1142
|
+
initData: buildInitData7(asset, depositAmount, assetIndex, leverage, maxPosition, maxTradesDay),
|
|
1143
|
+
asset,
|
|
1144
|
+
assetAmount: depositAmount
|
|
1145
|
+
};
|
|
1146
|
+
}
|
|
1147
|
+
if (templateKey === "hyperliquid-grid") {
|
|
1148
|
+
const token = opts.token || "USDC";
|
|
1149
|
+
const asset = resolveToken(token);
|
|
1150
|
+
const decimals = token.toUpperCase() === "USDC" ? 6 : 18;
|
|
1151
|
+
const depositAmount = opts.amount ? parseUnits(opts.amount, decimals) : 0n;
|
|
1152
|
+
const leverage = Number(opts.leverage || "5");
|
|
1153
|
+
const maxOrderSize = parseUnits(opts.maxOrderSize || "10000", decimals);
|
|
1154
|
+
const maxOrdersPerTick = Number(opts.maxOrdersPerTick || "20");
|
|
1155
|
+
const assetIndices = (opts.assetIndices || "0").split(",").map((s) => Number(s.trim())).filter((n) => !Number.isNaN(n));
|
|
1156
|
+
return {
|
|
1157
|
+
initData: buildInitData8(asset, depositAmount, leverage, maxOrderSize, maxOrdersPerTick, assetIndices),
|
|
1086
1158
|
asset,
|
|
1087
1159
|
assetAmount: depositAmount
|
|
1088
1160
|
};
|
|
@@ -1134,6 +1206,12 @@ function buildCallsForTemplate(templateKey, clone, asset, assetAmount, extraAppr
|
|
|
1134
1206
|
settleCalls: buildSettleCalls7(clone)
|
|
1135
1207
|
};
|
|
1136
1208
|
}
|
|
1209
|
+
if (templateKey === "hyperliquid-grid") {
|
|
1210
|
+
return {
|
|
1211
|
+
executeCalls: buildExecuteCalls8(clone, asset, assetAmount),
|
|
1212
|
+
settleCalls: buildSettleCalls8(clone)
|
|
1213
|
+
};
|
|
1214
|
+
}
|
|
1137
1215
|
throw new Error(`No call builder for template: ${templateKey}`);
|
|
1138
1216
|
}
|
|
1139
1217
|
function resolveSwapAdapter() {
|
|
@@ -1228,7 +1306,7 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1228
1306
|
console.log(chalk.dim("Full proposal: sherwood strategy propose <template> --vault <addr> ..."));
|
|
1229
1307
|
console.log();
|
|
1230
1308
|
});
|
|
1231
|
-
strategy2.command("clone").description("Clone a strategy template and initialize it").argument("<template>", "Template: moonwell-supply, aerodrome-lp, venice-inference, wsteth-moonwell, mamo-yield, portfolio, hyperliquid-perp").requiredOption("--vault <address>", "Vault address").option("--amount <n>", "Asset amount to deploy").option("--min-redeem <n>", "Min asset on settlement (Moonwell)").option("--token <symbol>", "Asset token symbol (default: USDC)").option("--asset <symbol>", "Asset token (USDC, VVV, or address)").option("--agent <address>", "Agent wallet (Venice, default: your wallet)").option("--min-vvv <n>", "Min VVV from swap (Venice)").option("--single-hop", "Single-hop Aerodrome swap (Venice)").option("--token-a <address>", "Token A (Aerodrome)").option("--token-b <address>", "Token B (Aerodrome)").option("--amount-a <n>", "Token A amount (Aerodrome)").option("--amount-b <n>", "Token B amount (Aerodrome)").option("--stable", "Stable pool (Aerodrome)").option("--gauge <address>", "Gauge address (Aerodrome)").option("--lp-token <address>", "LP token address (Aerodrome)").option("--min-a-out <n>", "Min token A on settle (Aerodrome)").option("--min-b-out <n>", "Min token B on settle (Aerodrome)").option("--slippage <bps>", "Slippage tolerance in bps (wstETH, default: 500 = 5%)").option("--mamo-factory <address>", "Mamo StrategyFactory address (Mamo)").option("--tokens <list>", "Comma-separated token addresses or symbols (Portfolio)").option("--weights <list>", "Comma-separated weights in bps, must sum to 10000 (Portfolio)").option("--max-slippage <bps>", "Max slippage bps (Portfolio, default: 500)").option("--fee-tier <n>", "Pool fee tier (Portfolio, default: 3000)").option("--swap-adapter <address>", "Swap adapter address (Portfolio)").option("--leverage <number>", "Leverage multiplier (Hyperliquid Perp, default: 10)").option("--asset-index <number>", "Perp asset index (Hyperliquid Perp, default: 0 for BTC)").option("--
|
|
1309
|
+
strategy2.command("clone").description("Clone a strategy template and initialize it").argument("<template>", "Template: moonwell-supply, aerodrome-lp, venice-inference, wsteth-moonwell, mamo-yield, portfolio, hyperliquid-perp, hyperliquid-grid").requiredOption("--vault <address>", "Vault address").option("--amount <n>", "Asset amount to deploy").option("--min-redeem <n>", "Min asset on settlement (Moonwell)").option("--token <symbol>", "Asset token symbol (default: USDC)").option("--asset <symbol>", "Asset token (USDC, VVV, or address)").option("--agent <address>", "Agent wallet (Venice, default: your wallet)").option("--min-vvv <n>", "Min VVV from swap (Venice)").option("--single-hop", "Single-hop Aerodrome swap (Venice)").option("--token-a <address>", "Token A (Aerodrome)").option("--token-b <address>", "Token B (Aerodrome)").option("--amount-a <n>", "Token A amount (Aerodrome)").option("--amount-b <n>", "Token B amount (Aerodrome)").option("--stable", "Stable pool (Aerodrome)").option("--gauge <address>", "Gauge address (Aerodrome)").option("--lp-token <address>", "LP token address (Aerodrome)").option("--min-a-out <n>", "Min token A on settle (Aerodrome)").option("--min-b-out <n>", "Min token B on settle (Aerodrome)").option("--slippage <bps>", "Slippage tolerance in bps (wstETH, default: 500 = 5%)").option("--mamo-factory <address>", "Mamo StrategyFactory address (Mamo)").option("--tokens <list>", "Comma-separated token addresses or symbols (Portfolio)").option("--weights <list>", "Comma-separated weights in bps, must sum to 10000 (Portfolio)").option("--max-slippage <bps>", "Max slippage bps (Portfolio, default: 500)").option("--fee-tier <n>", "Pool fee tier (Portfolio, default: 3000)").option("--swap-adapter <address>", "Swap adapter address (Portfolio)").option("--leverage <number>", "Leverage multiplier (Hyperliquid Perp, default: 10)").option("--asset-index <number>", "Perp asset index (Hyperliquid Perp, default: 0 for BTC)").option("--max-position <amount>", "Max position size in USD (Hyperliquid Perp, default: 100000)").option("--max-trades-per-day <n>", "Max trades per day (Hyperliquid Perp, default: 50)").option("--max-order-size <amount>", "Max single-order size in asset units (Hyperliquid Grid, default: 10000)").option("--max-orders-per-tick <n>", "Max orders per tick (Hyperliquid Grid, default: 20)").option("--asset-indices <list>", "Comma-separated perp asset indices (Hyperliquid Grid, default: 0)").action(async (templateKey, opts) => {
|
|
1232
1310
|
const vault = opts.vault;
|
|
1233
1311
|
if (!isAddress(vault)) {
|
|
1234
1312
|
console.error(chalk.red("Invalid vault address"));
|
|
@@ -1276,7 +1354,7 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1276
1354
|
console.log(chalk.dim("Use this address in your proposal batch calls."));
|
|
1277
1355
|
console.log();
|
|
1278
1356
|
});
|
|
1279
|
-
strategy2.command("init").description("Initialize an already-deployed but uninitialized strategy clone").argument("<template>", "Template: moonwell-supply, aerodrome-lp, venice-inference, wsteth-moonwell, mamo-yield, portfolio, hyperliquid-perp").requiredOption("--clone <address>", "Clone address to initialize").requiredOption("--vault <address>", "Vault address").option("--amount <n>", "Asset amount to deploy").option("--min-redeem <n>", "Min asset on settlement (Moonwell)").option("--token <symbol>", "Asset token symbol (default: USDC)").option("--asset <symbol>", "Asset token (USDC, VVV, or address)").option("--agent <address>", "Agent wallet (Venice, default: your wallet)").option("--min-vvv <n>", "Min VVV from swap (Venice)").option("--single-hop", "Single-hop Aerodrome swap (Venice)").option("--token-a <address>", "Token A (Aerodrome)").option("--token-b <address>", "Token B (Aerodrome)").option("--amount-a <n>", "Token A amount (Aerodrome)").option("--amount-b <n>", "Token B amount (Aerodrome)").option("--stable", "Stable pool (Aerodrome)").option("--gauge <address>", "Gauge address (Aerodrome)").option("--lp-token <address>", "LP token address (Aerodrome)").option("--min-a-out <n>", "Min token A on settle (Aerodrome)").option("--min-b-out <n>", "Min token B on settle (Aerodrome)").option("--slippage <bps>", "Slippage tolerance in bps (wstETH, default: 500 = 5%)").option("--mamo-factory <address>", "Mamo StrategyFactory address (Mamo)").option("--tokens <list>", "Comma-separated token addresses or symbols (Portfolio)").option("--weights <list>", "Comma-separated weights in bps, must sum to 10000 (Portfolio)").option("--max-slippage <bps>", "Max slippage bps (Portfolio, default: 500)").option("--fee-tier <n>", "Pool fee tier (Portfolio, default: 3000)").option("--swap-adapter <address>", "Swap adapter address (Portfolio)").option("--leverage <number>", "Leverage multiplier (Hyperliquid Perp, default: 10)").option("--asset-index <number>", "Perp asset index (Hyperliquid Perp, default: 0 for BTC)").option("--
|
|
1357
|
+
strategy2.command("init").description("Initialize an already-deployed but uninitialized strategy clone").argument("<template>", "Template: moonwell-supply, aerodrome-lp, venice-inference, wsteth-moonwell, mamo-yield, portfolio, hyperliquid-perp, hyperliquid-grid").requiredOption("--clone <address>", "Clone address to initialize").requiredOption("--vault <address>", "Vault address").option("--amount <n>", "Asset amount to deploy").option("--min-redeem <n>", "Min asset on settlement (Moonwell)").option("--token <symbol>", "Asset token symbol (default: USDC)").option("--asset <symbol>", "Asset token (USDC, VVV, or address)").option("--agent <address>", "Agent wallet (Venice, default: your wallet)").option("--min-vvv <n>", "Min VVV from swap (Venice)").option("--single-hop", "Single-hop Aerodrome swap (Venice)").option("--token-a <address>", "Token A (Aerodrome)").option("--token-b <address>", "Token B (Aerodrome)").option("--amount-a <n>", "Token A amount (Aerodrome)").option("--amount-b <n>", "Token B amount (Aerodrome)").option("--stable", "Stable pool (Aerodrome)").option("--gauge <address>", "Gauge address (Aerodrome)").option("--lp-token <address>", "LP token address (Aerodrome)").option("--min-a-out <n>", "Min token A on settle (Aerodrome)").option("--min-b-out <n>", "Min token B on settle (Aerodrome)").option("--slippage <bps>", "Slippage tolerance in bps (wstETH, default: 500 = 5%)").option("--mamo-factory <address>", "Mamo StrategyFactory address (Mamo)").option("--tokens <list>", "Comma-separated token addresses or symbols (Portfolio)").option("--weights <list>", "Comma-separated weights in bps, must sum to 10000 (Portfolio)").option("--max-slippage <bps>", "Max slippage bps (Portfolio, default: 500)").option("--fee-tier <n>", "Pool fee tier (Portfolio, default: 3000)").option("--swap-adapter <address>", "Swap adapter address (Portfolio)").option("--leverage <number>", "Leverage multiplier (Hyperliquid Perp, default: 10)").option("--asset-index <number>", "Perp asset index (Hyperliquid Perp, default: 0 for BTC)").option("--max-position <amount>", "Max position size in USD (Hyperliquid Perp, default: 100000)").option("--max-trades-per-day <n>", "Max trades per day (Hyperliquid Perp, default: 50)").option("--max-order-size <amount>", "Max single-order size in asset units (Hyperliquid Grid, default: 10000)").option("--max-orders-per-tick <n>", "Max orders per tick (Hyperliquid Grid, default: 20)").option("--asset-indices <list>", "Comma-separated perp asset indices (Hyperliquid Grid, default: 0)").action(async (templateKey, opts) => {
|
|
1280
1358
|
const clone = opts.clone;
|
|
1281
1359
|
const vault = opts.vault;
|
|
1282
1360
|
if (!isAddress(clone)) {
|
|
@@ -1332,7 +1410,7 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1332
1410
|
console.log(` Proposer: ${chalk.green(getAccount().address)}`);
|
|
1333
1411
|
console.log();
|
|
1334
1412
|
});
|
|
1335
|
-
strategy2.command("propose").description("Clone + init + build calls + submit governance proposal (all-in-one)").argument("<template>", "Template: moonwell-supply, aerodrome-lp, venice-inference, wsteth-moonwell, mamo-yield, portfolio, hyperliquid-perp").requiredOption("--vault <address>", "Vault address").option("--write-calls <dir>", "Write execute/settle JSON to directory (skip proposal submission)").option("--name <name>", "Proposal name").option("--description <text>", "Proposal description").option("--performance-fee <bps>", "Agent fee in bps").option("--duration <duration>", "Strategy duration (7d, 24h, etc.)").option("--amount <n>", "Asset amount to deploy").option("--min-redeem <n>", "Min asset on settlement (Moonwell)").option("--token <symbol>", "Asset token symbol (default: USDC)").option("--asset <symbol>", "Asset token (USDC, VVV, or address)").option("--agent <address>", "Agent wallet (Venice, default: your wallet)").option("--min-vvv <n>", "Min VVV from swap (Venice)").option("--single-hop", "Single-hop Aerodrome swap (Venice)").option("--token-a <address>", "Token A (Aerodrome)").option("--token-b <address>", "Token B (Aerodrome)").option("--amount-a <n>", "Token A amount (Aerodrome)").option("--amount-b <n>", "Token B amount (Aerodrome)").option("--stable", "Stable pool (Aerodrome)").option("--gauge <address>", "Gauge address (Aerodrome)").option("--lp-token <address>", "LP token address (Aerodrome)").option("--min-a-out <n>", "Min token A on settle (Aerodrome)").option("--min-b-out <n>", "Min token B on settle (Aerodrome)").option("--slippage <bps>", "Slippage tolerance in bps (wstETH, default: 500 = 5%)").option("--mamo-factory <address>", "Mamo StrategyFactory address (Mamo)").option("--tokens <list>", "Comma-separated token addresses or symbols (Portfolio)").option("--weights <list>", "Comma-separated weights in bps, must sum to 10000 (Portfolio)").option("--max-slippage <bps>", "Max slippage bps (Portfolio, default: 500)").option("--fee-tier <n>", "Pool fee tier (Portfolio, default: 3000)").option("--swap-adapter <address>", "Swap adapter address (Portfolio)").option("--leverage <number>", "Leverage multiplier (Hyperliquid Perp, default: 10)").option("--asset-index <number>", "Perp asset index (Hyperliquid Perp, default: 0 for BTC)").option("--
|
|
1413
|
+
strategy2.command("propose").description("Clone + init + build calls + submit governance proposal (all-in-one)").argument("<template>", "Template: moonwell-supply, aerodrome-lp, venice-inference, wsteth-moonwell, mamo-yield, portfolio, hyperliquid-perp, hyperliquid-grid").requiredOption("--vault <address>", "Vault address").option("--write-calls <dir>", "Write execute/settle JSON to directory (skip proposal submission)").option("--name <name>", "Proposal name").option("--description <text>", "Proposal description").option("--performance-fee <bps>", "Agent fee in bps").option("--duration <duration>", "Strategy duration (7d, 24h, etc.)").option("--amount <n>", "Asset amount to deploy").option("--min-redeem <n>", "Min asset on settlement (Moonwell)").option("--token <symbol>", "Asset token symbol (default: USDC)").option("--asset <symbol>", "Asset token (USDC, VVV, or address)").option("--agent <address>", "Agent wallet (Venice, default: your wallet)").option("--min-vvv <n>", "Min VVV from swap (Venice)").option("--single-hop", "Single-hop Aerodrome swap (Venice)").option("--token-a <address>", "Token A (Aerodrome)").option("--token-b <address>", "Token B (Aerodrome)").option("--amount-a <n>", "Token A amount (Aerodrome)").option("--amount-b <n>", "Token B amount (Aerodrome)").option("--stable", "Stable pool (Aerodrome)").option("--gauge <address>", "Gauge address (Aerodrome)").option("--lp-token <address>", "LP token address (Aerodrome)").option("--min-a-out <n>", "Min token A on settle (Aerodrome)").option("--min-b-out <n>", "Min token B on settle (Aerodrome)").option("--slippage <bps>", "Slippage tolerance in bps (wstETH, default: 500 = 5%)").option("--mamo-factory <address>", "Mamo StrategyFactory address (Mamo)").option("--tokens <list>", "Comma-separated token addresses or symbols (Portfolio)").option("--weights <list>", "Comma-separated weights in bps, must sum to 10000 (Portfolio)").option("--max-slippage <bps>", "Max slippage bps (Portfolio, default: 500)").option("--fee-tier <n>", "Pool fee tier (Portfolio, default: 3000)").option("--swap-adapter <address>", "Swap adapter address (Portfolio)").option("--leverage <number>", "Leverage multiplier (Hyperliquid Perp, default: 10)").option("--asset-index <number>", "Perp asset index (Hyperliquid Perp, default: 0 for BTC)").option("--max-position <amount>", "Max position size in USD (Hyperliquid Perp, default: 100000)").option("--max-trades-per-day <n>", "Max trades per day (Hyperliquid Perp, default: 50)").option("--max-order-size <amount>", "Max single-order size in asset units (Hyperliquid Grid, default: 10000)").option("--max-orders-per-tick <n>", "Max orders per tick (Hyperliquid Grid, default: 20)").option("--asset-indices <list>", "Comma-separated perp asset indices (Hyperliquid Grid, default: 0)").action(async (templateKey, opts) => {
|
|
1336
1414
|
const vault = opts.vault;
|
|
1337
1415
|
if (!isAddress(vault)) {
|
|
1338
1416
|
console.error(chalk.red("Invalid vault address"));
|
|
@@ -1458,9 +1536,9 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1458
1536
|
console.error(chalk.red("Missing --name, --performance-fee, or --duration. Use --write-calls to skip proposal submission."));
|
|
1459
1537
|
process.exit(1);
|
|
1460
1538
|
}
|
|
1461
|
-
const { propose: propose2 } = await import("./governor-
|
|
1539
|
+
const { propose: propose2 } = await import("./governor-CQG4LA43.js");
|
|
1462
1540
|
const { pinJSON } = await import("./ipfs-IGXLLJCF.js");
|
|
1463
|
-
const { parseDuration: parseDuration2 } = await import("./governor-
|
|
1541
|
+
const { parseDuration: parseDuration2 } = await import("./governor-CQG4LA43.js");
|
|
1464
1542
|
const performanceFeeBps = BigInt(opts.performanceFee);
|
|
1465
1543
|
if (performanceFeeBps < 0n || performanceFeeBps > 10000n) {
|
|
1466
1544
|
console.error(chalk.red("--performance-fee must be 0-10000 (basis points)"));
|
|
@@ -1567,7 +1645,7 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1567
1645
|
let prices = [];
|
|
1568
1646
|
let priceSource = null;
|
|
1569
1647
|
try {
|
|
1570
|
-
const { getTokenPricesInAsset } = await import("./price-
|
|
1648
|
+
const { getTokenPricesInAsset } = await import("./price-UC2W6HYQ.js");
|
|
1571
1649
|
prices = await getTokenPricesInAsset({
|
|
1572
1650
|
tokens: allocations.map((a, i) => ({
|
|
1573
1651
|
token: a.token,
|
|
@@ -1816,7 +1894,7 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1816
1894
|
});
|
|
1817
1895
|
const updateSpinner = ora("Updating target weights...").start();
|
|
1818
1896
|
try {
|
|
1819
|
-
const innerData =
|
|
1897
|
+
const innerData = encodeAbiParameters9(
|
|
1820
1898
|
[{ type: "uint256[]" }, { type: "uint256" }, { type: "bytes[]" }],
|
|
1821
1899
|
[newWeightsBps.map((w) => BigInt(w)), BigInt(maxSlip), swapData]
|
|
1822
1900
|
);
|
|
@@ -1997,7 +2075,7 @@ function registerVeniceCommands(program2) {
|
|
|
1997
2075
|
console.log(chalk2.dim(` Key: ${apiKey.slice(0, 8)}...${apiKey.slice(-4)}`));
|
|
1998
2076
|
console.log(chalk2.dim(" Saved to ~/.sherwood/config.json"));
|
|
1999
2077
|
try {
|
|
2000
|
-
const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-
|
|
2078
|
+
const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-PFIAGWAB.js");
|
|
2001
2079
|
const { uid } = await createVeniceProvisionAttestation(account.address);
|
|
2002
2080
|
if (uid !== "0x0000000000000000000000000000000000000000000000000000000000000000") {
|
|
2003
2081
|
console.log(chalk2.dim(` Attested: ${getEasScanUrl2(uid)}`));
|
|
@@ -2353,7 +2431,7 @@ ${opts.prompt}`;
|
|
|
2353
2431
|
console.log(chalk2.dim(`Model: ${result.model} | Tokens: ${result.usage.promptTokens} in, ${result.usage.completionTokens} out, ${result.usage.totalTokens} total`));
|
|
2354
2432
|
}
|
|
2355
2433
|
try {
|
|
2356
|
-
const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-
|
|
2434
|
+
const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-PFIAGWAB.js");
|
|
2357
2435
|
const { keccak256: keccak2562, toHex, isAddress: isAddr } = await import("viem");
|
|
2358
2436
|
const { getChainContracts: getChainContracts2 } = await import("./config-REASKDIK.js");
|
|
2359
2437
|
const { getChain: getActiveChain } = await import("./network-3ZU7UBDU.js");
|
|
@@ -2385,7 +2463,7 @@ import chalk3 from "chalk";
|
|
|
2385
2463
|
import ora3 from "ora";
|
|
2386
2464
|
|
|
2387
2465
|
// src/strategies/allowance-disburse.ts
|
|
2388
|
-
import { encodeFunctionData as
|
|
2466
|
+
import { encodeFunctionData as encodeFunctionData9, parseUnits as parseUnits3 } from "viem";
|
|
2389
2467
|
function buildDisburseBatch(config, vaultAddress, agents, assetAddress, assetDecimals, minUsdc, swapPath) {
|
|
2390
2468
|
const assetAmount = parseUnits3(config.amount, assetDecimals);
|
|
2391
2469
|
const isUsdc = assetAddress.toLowerCase() === TOKENS().USDC.toLowerCase();
|
|
@@ -2394,7 +2472,7 @@ function buildDisburseBatch(config, vaultAddress, agents, assetAddress, assetDec
|
|
|
2394
2472
|
if (!isUsdc) {
|
|
2395
2473
|
calls.push({
|
|
2396
2474
|
target: assetAddress,
|
|
2397
|
-
data:
|
|
2475
|
+
data: encodeFunctionData9({
|
|
2398
2476
|
abi: ERC20_ABI,
|
|
2399
2477
|
functionName: "approve",
|
|
2400
2478
|
args: [UNISWAP().SWAP_ROUTER, assetAmount]
|
|
@@ -2404,7 +2482,7 @@ function buildDisburseBatch(config, vaultAddress, agents, assetAddress, assetDec
|
|
|
2404
2482
|
if (isWeth) {
|
|
2405
2483
|
calls.push({
|
|
2406
2484
|
target: UNISWAP().SWAP_ROUTER,
|
|
2407
|
-
data:
|
|
2485
|
+
data: encodeFunctionData9({
|
|
2408
2486
|
abi: SWAP_ROUTER_EXACT_INPUT_SINGLE_ABI,
|
|
2409
2487
|
functionName: "exactInputSingle",
|
|
2410
2488
|
args: [
|
|
@@ -2424,7 +2502,7 @@ function buildDisburseBatch(config, vaultAddress, agents, assetAddress, assetDec
|
|
|
2424
2502
|
} else {
|
|
2425
2503
|
calls.push({
|
|
2426
2504
|
target: UNISWAP().SWAP_ROUTER,
|
|
2427
|
-
data:
|
|
2505
|
+
data: encodeFunctionData9({
|
|
2428
2506
|
abi: SWAP_ROUTER_ABI,
|
|
2429
2507
|
functionName: "exactInput",
|
|
2430
2508
|
args: [
|
|
@@ -2444,7 +2522,7 @@ function buildDisburseBatch(config, vaultAddress, agents, assetAddress, assetDec
|
|
|
2444
2522
|
for (const agent of agents) {
|
|
2445
2523
|
calls.push({
|
|
2446
2524
|
target: TOKENS().USDC,
|
|
2447
|
-
data:
|
|
2525
|
+
data: encodeFunctionData9({
|
|
2448
2526
|
abi: ERC20_ABI,
|
|
2449
2527
|
functionName: "transfer",
|
|
2450
2528
|
args: [agent, perAgent]
|
|
@@ -2851,7 +2929,7 @@ function registerIdentityCommands(program2) {
|
|
|
2851
2929
|
}
|
|
2852
2930
|
|
|
2853
2931
|
// src/commands/proposal.ts
|
|
2854
|
-
import { isAddress as isAddress4, encodeFunctionData as
|
|
2932
|
+
import { isAddress as isAddress4, encodeFunctionData as encodeFunctionData11 } from "viem";
|
|
2855
2933
|
import chalk6 from "chalk";
|
|
2856
2934
|
import ora5 from "ora";
|
|
2857
2935
|
import { readFileSync as readFileSync2 } from "fs";
|
|
@@ -2887,7 +2965,7 @@ function parseBigIntArg(value, name) {
|
|
|
2887
2965
|
}
|
|
2888
2966
|
|
|
2889
2967
|
// src/lib/simulate.ts
|
|
2890
|
-
import { decodeFunctionData, encodeFunctionData as
|
|
2968
|
+
import { decodeFunctionData, encodeFunctionData as encodeFunctionData10 } from "viem";
|
|
2891
2969
|
import chalk5 from "chalk";
|
|
2892
2970
|
var G = chalk5.green;
|
|
2893
2971
|
var W = chalk5.white;
|
|
@@ -3406,7 +3484,7 @@ async function simulateViaApi(vault, calls) {
|
|
|
3406
3484
|
async function simulateViaEthCall(vault, calls) {
|
|
3407
3485
|
const governor = getGovernorAddress();
|
|
3408
3486
|
const client = getPublicClient();
|
|
3409
|
-
const input2 =
|
|
3487
|
+
const input2 = encodeFunctionData10({
|
|
3410
3488
|
abi: SYNDICATE_VAULT_ABI,
|
|
3411
3489
|
functionName: "executeGovernorBatch",
|
|
3412
3490
|
args: [calls.map((c) => ({ target: c.target, data: c.data, value: c.value }))]
|
|
@@ -3529,7 +3607,7 @@ function printSimulationResult(result, callType) {
|
|
|
3529
3607
|
}
|
|
3530
3608
|
async function sendSimulationAlert(subdomain, proposalId, vault, execResult, settleResult) {
|
|
3531
3609
|
try {
|
|
3532
|
-
const xmtp = await import("./xmtp-
|
|
3610
|
+
const xmtp = await import("./xmtp-KEFA7F24.js");
|
|
3533
3611
|
const { getAccount: getAccount2 } = await import("./client-UHHCB6EZ.js");
|
|
3534
3612
|
const group = await xmtp.getGroup("", subdomain);
|
|
3535
3613
|
const allRisks = [...execResult.risks, ...settleResult?.risks ?? []];
|
|
@@ -4038,7 +4116,7 @@ function registerProposalCommands(program2) {
|
|
|
4038
4116
|
process.exit(1);
|
|
4039
4117
|
}
|
|
4040
4118
|
const asset = await getAssetAddress();
|
|
4041
|
-
const noopCalldata =
|
|
4119
|
+
const noopCalldata = encodeFunctionData11({
|
|
4042
4120
|
abi: ERC20_ABI,
|
|
4043
4121
|
functionName: "balanceOf",
|
|
4044
4122
|
args: [vault]
|
|
@@ -5250,13 +5328,13 @@ import chalk12 from "chalk";
|
|
|
5250
5328
|
import { mkdir as mkdir3, readFile as readFile3, rename as rename2, writeFile as writeFile3 } from "fs/promises";
|
|
5251
5329
|
import { dirname as dirname3, join as join3 } from "path";
|
|
5252
5330
|
import { homedir as homedir3 } from "os";
|
|
5253
|
-
import { encodeAbiParameters as
|
|
5331
|
+
import { encodeAbiParameters as encodeAbiParameters11, parseUnits as parseUnits6 } from "viem";
|
|
5254
5332
|
|
|
5255
5333
|
// src/grid/cloid.ts
|
|
5256
|
-
import { keccak256, encodeAbiParameters as
|
|
5334
|
+
import { keccak256, encodeAbiParameters as encodeAbiParameters10 } from "viem";
|
|
5257
5335
|
function gridCloid(strategy2, assetIndex, isBuy, levelIndex, nonce) {
|
|
5258
5336
|
const hash = keccak256(
|
|
5259
|
-
|
|
5337
|
+
encodeAbiParameters10(
|
|
5260
5338
|
[
|
|
5261
5339
|
{ type: "address" },
|
|
5262
5340
|
{ type: "uint32" },
|
|
@@ -5448,7 +5526,7 @@ var OnchainGridExecutor = class {
|
|
|
5448
5526
|
async placeGrid(token, assetIndex, orders, meta) {
|
|
5449
5527
|
const nonce = this.bumpNonce(token);
|
|
5450
5528
|
const { encoded, cloids } = this.encodeOrders(assetIndex, orders, meta, nonce);
|
|
5451
|
-
const data =
|
|
5529
|
+
const data = encodeAbiParameters11(
|
|
5452
5530
|
[{ type: "uint8" }, { type: "tuple[]", components: [...GRID_ORDER_COMPONENTS] }],
|
|
5453
5531
|
[ACTION_PLACE_GRID, encoded]
|
|
5454
5532
|
);
|
|
@@ -5462,7 +5540,7 @@ var OnchainGridExecutor = class {
|
|
|
5462
5540
|
this.bumpNonce(token);
|
|
5463
5541
|
return "0x";
|
|
5464
5542
|
}
|
|
5465
|
-
const data =
|
|
5543
|
+
const data = encodeAbiParameters11(
|
|
5466
5544
|
[{ type: "uint8" }, { type: "uint32" }, { type: "uint128[]" }],
|
|
5467
5545
|
[ACTION_CANCEL_ALL, assetIndex, cloids]
|
|
5468
5546
|
);
|
|
@@ -5475,7 +5553,7 @@ var OnchainGridExecutor = class {
|
|
|
5475
5553
|
const oldCloids = this.placedCloids.get(token) ?? [];
|
|
5476
5554
|
const newNonce = this.bumpNonce(token);
|
|
5477
5555
|
const { encoded, cloids: newCloids } = this.encodeOrders(assetIndex, orders, meta, newNonce);
|
|
5478
|
-
const data =
|
|
5556
|
+
const data = encodeAbiParameters11(
|
|
5479
5557
|
[
|
|
5480
5558
|
{ type: "uint8" },
|
|
5481
5559
|
{ type: "uint32" },
|
|
@@ -5766,7 +5844,7 @@ try {
|
|
|
5766
5844
|
var require2 = createRequire(import.meta.url);
|
|
5767
5845
|
var { version: CLI_VERSION } = require2("../package.json");
|
|
5768
5846
|
async function loadXmtp() {
|
|
5769
|
-
return import("./xmtp-
|
|
5847
|
+
return import("./xmtp-KEFA7F24.js");
|
|
5770
5848
|
}
|
|
5771
5849
|
async function loadCron() {
|
|
5772
5850
|
return import("./cron-EOULYO3R.js");
|
|
@@ -6291,7 +6369,7 @@ syndicate.command("add").description("Register an agent on a syndicate vault (cr
|
|
|
6291
6369
|
if (opts.agentId) {
|
|
6292
6370
|
agentId = BigInt(opts.agentId);
|
|
6293
6371
|
} else {
|
|
6294
|
-
const { AGENT_REGISTRY: AGENT_REGISTRY2 } = await import("./addresses-
|
|
6372
|
+
const { AGENT_REGISTRY: AGENT_REGISTRY2 } = await import("./addresses-CKPOWDDV.js");
|
|
6295
6373
|
const registry2 = AGENT_REGISTRY2().IDENTITY_REGISTRY;
|
|
6296
6374
|
if (registry2 === "0x0000000000000000000000000000000000000000") {
|
|
6297
6375
|
agentId = 0n;
|
|
@@ -6916,7 +6994,7 @@ ${info.name} (${info.type})`);
|
|
|
6916
6994
|
}
|
|
6917
6995
|
});
|
|
6918
6996
|
try {
|
|
6919
|
-
const { registerChatCommands } = await import("./chat-
|
|
6997
|
+
const { registerChatCommands } = await import("./chat-3IW4XDZJ.js");
|
|
6920
6998
|
registerChatCommands(program);
|
|
6921
6999
|
} catch {
|
|
6922
7000
|
program.command("chat <name> [action] [actionArgs...]").description("Syndicate chat (XMTP) \u2014 requires @xmtp/cli").action(() => {
|
|
@@ -6926,7 +7004,7 @@ try {
|
|
|
6926
7004
|
process.exit(1);
|
|
6927
7005
|
});
|
|
6928
7006
|
}
|
|
6929
|
-
var { registerSessionCommands } = await import("./session-
|
|
7007
|
+
var { registerSessionCommands } = await import("./session-ZMEKZRWL.js");
|
|
6930
7008
|
registerSessionCommands(program);
|
|
6931
7009
|
registerVeniceCommands(program);
|
|
6932
7010
|
registerAllowanceCommands(program);
|
|
@@ -6934,11 +7012,11 @@ registerIdentityCommands(program);
|
|
|
6934
7012
|
registerProposalCommands(program);
|
|
6935
7013
|
registerGovernorCommands(program);
|
|
6936
7014
|
registerGuardianCommands(program);
|
|
6937
|
-
var { registerResearchCommands } = await import("./research-
|
|
7015
|
+
var { registerResearchCommands } = await import("./research-2GOILSS7.js");
|
|
6938
7016
|
registerResearchCommands(program);
|
|
6939
|
-
var { registerAgentCommands } = await import("./agent-
|
|
7017
|
+
var { registerAgentCommands } = await import("./agent-E5GHURKJ.js");
|
|
6940
7018
|
registerAgentCommands(program);
|
|
6941
|
-
var { registerTradeCommands } = await import("./trade-
|
|
7019
|
+
var { registerTradeCommands } = await import("./trade-UXQOCNLJ.js");
|
|
6942
7020
|
registerTradeCommands(program);
|
|
6943
7021
|
registerGridCommand(program);
|
|
6944
7022
|
var configCmd = program.command("config");
|