@sherwoodagent/cli 0.59.6 → 0.59.7
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-6WBNN4S6.js → abis-ITHGPHGM.js} +2 -2
- package/dist/{addresses-YADHNQJF.js → addresses-PYRHQSVZ.js} +2 -2
- package/dist/{agent-GKHZEPOT.js → agent-4XQOMAEM.js} +2 -2
- package/dist/{chat-CIMWJUXB.js → chat-AH36PC43.js} +6 -6
- package/dist/{chunk-3LKVNG6G.js → chunk-HP5AJE2G.js} +3 -3
- package/dist/{chunk-RZQ5BF2U.js → chunk-JH5YGXZC.js} +3 -3
- package/dist/{chunk-RZQ5BF2U.js.map → chunk-JH5YGXZC.js.map} +1 -1
- package/dist/{chunk-OH4U2VBU.js → chunk-JW7WMYDW.js} +3 -3
- package/dist/{chunk-JAJCRYNH.js → chunk-NLGMVZMW.js} +3 -3
- package/dist/{chunk-QWX2COXX.js → chunk-SKOVJ7XM.js} +19 -1
- package/dist/{chunk-QWX2COXX.js.map → chunk-SKOVJ7XM.js.map} +1 -1
- package/dist/{chunk-XXGZB6S3.js → chunk-XDEHIZKT.js} +3 -3
- package/dist/{chunk-P7AUSI6R.js → chunk-YW6MGRMQ.js} +3 -3
- package/dist/{eas-NEAAOTP3.js → eas-ZX2YIJG7.js} +4 -4
- package/dist/{governor-PX5GCCCT.js → governor-IOMICY6I.js} +4 -4
- package/dist/index.js +34 -38
- package/dist/index.js.map +1 -1
- package/dist/{price-PPOVTQL4.js → price-ZCWGU2OM.js} +3 -3
- package/dist/{research-P6AJVTVE.js → research-PPZIWXSM.js} +3 -3
- package/dist/{session-B77JKCGZ.js → session-OTI3BWIQ.js} +6 -6
- package/dist/{trade-WB2LKYKT.js → trade-3OVB2VX5.js} +7 -7
- package/dist/{xmtp-HC774TEI.js → xmtp-54ISDDT4.js} +4 -4
- package/package.json +1 -1
- /package/dist/{abis-6WBNN4S6.js.map → abis-ITHGPHGM.js.map} +0 -0
- /package/dist/{addresses-YADHNQJF.js.map → addresses-PYRHQSVZ.js.map} +0 -0
- /package/dist/{agent-GKHZEPOT.js.map → agent-4XQOMAEM.js.map} +0 -0
- /package/dist/{chat-CIMWJUXB.js.map → chat-AH36PC43.js.map} +0 -0
- /package/dist/{chunk-3LKVNG6G.js.map → chunk-HP5AJE2G.js.map} +0 -0
- /package/dist/{chunk-OH4U2VBU.js.map → chunk-JW7WMYDW.js.map} +0 -0
- /package/dist/{chunk-JAJCRYNH.js.map → chunk-NLGMVZMW.js.map} +0 -0
- /package/dist/{chunk-XXGZB6S3.js.map → chunk-XDEHIZKT.js.map} +0 -0
- /package/dist/{chunk-P7AUSI6R.js.map → chunk-YW6MGRMQ.js.map} +0 -0
- /package/dist/{eas-NEAAOTP3.js.map → eas-ZX2YIJG7.js.map} +0 -0
- /package/dist/{governor-PX5GCCCT.js.map → governor-IOMICY6I.js.map} +0 -0
- /package/dist/{price-PPOVTQL4.js.map → price-ZCWGU2OM.js.map} +0 -0
- /package/dist/{research-P6AJVTVE.js.map → research-PPZIWXSM.js.map} +0 -0
- /package/dist/{session-B77JKCGZ.js.map → session-OTI3BWIQ.js.map} +0 -0
- /package/dist/{trade-WB2LKYKT.js.map → trade-3OVB2VX5.js.map} +0 -0
- /package/dist/{xmtp-HC774TEI.js.map → xmtp-54ISDDT4.js.map} +0 -0
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-YW6MGRMQ.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-XDEHIZKT.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-NLGMVZMW.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-HP5AJE2G.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-JW7WMYDW.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-JH5YGXZC.js";
|
|
111
111
|
import {
|
|
112
112
|
formatContractError,
|
|
113
113
|
getAccount,
|
|
@@ -155,12 +155,13 @@ import {
|
|
|
155
155
|
import {
|
|
156
156
|
BASE_STRATEGY_ABI,
|
|
157
157
|
ERC20_ABI,
|
|
158
|
+
HYPERLIQUID_PERP_STRATEGY_ABI,
|
|
158
159
|
PORTFOLIO_STRATEGY_ABI,
|
|
159
160
|
SWAP_ROUTER_ABI,
|
|
160
161
|
SWAP_ROUTER_EXACT_INPUT_SINGLE_ABI,
|
|
161
162
|
SYNDICATE_VAULT_ABI,
|
|
162
163
|
VENICE_STAKING_ABI
|
|
163
|
-
} from "./chunk-
|
|
164
|
+
} from "./chunk-SKOVJ7XM.js";
|
|
164
165
|
import {
|
|
165
166
|
fetchMetadata,
|
|
166
167
|
uploadMetadata
|
|
@@ -226,8 +227,6 @@ async function cloneTemplate(template) {
|
|
|
226
227
|
]);
|
|
227
228
|
const account = getAccount();
|
|
228
229
|
const chain = getChain();
|
|
229
|
-
const publicClient = getPublicClient();
|
|
230
|
-
const creationNonce = await publicClient.getTransactionCount({ address: account.address });
|
|
231
230
|
const hash = await sendTxWithRetry({
|
|
232
231
|
account,
|
|
233
232
|
chain,
|
|
@@ -238,7 +237,7 @@ async function cloneTemplate(template) {
|
|
|
238
237
|
if (!receipt.contractAddress) {
|
|
239
238
|
throw new Error(`Clone deployment failed \u2014 no contract address in receipt (tx: ${hash})`);
|
|
240
239
|
}
|
|
241
|
-
return { clone: receipt.contractAddress, hash
|
|
240
|
+
return { clone: receipt.contractAddress, hash };
|
|
242
241
|
}
|
|
243
242
|
|
|
244
243
|
// src/grid/strategy-abi.ts
|
|
@@ -259,8 +258,9 @@ var HYPERLIQUID_GRID_STRATEGY_ABI = [
|
|
|
259
258
|
},
|
|
260
259
|
{
|
|
261
260
|
// Registers the clone with HyperCore so ERC-20 USDC transfers auto-credit
|
|
262
|
-
// HC spot. Call post-init with variant=
|
|
263
|
-
//
|
|
261
|
+
// HC spot. Call post-init with variant=1 (FirstStorageSlot) and nonce=0.
|
|
262
|
+
// _initialize() already wrote address(this) to slot 0 (_hcSelf); HC reads
|
|
263
|
+
// it post-block to confirm the contract address.
|
|
264
264
|
type: "function",
|
|
265
265
|
name: "finalizeForHyperCore",
|
|
266
266
|
inputs: [
|
|
@@ -1362,12 +1362,10 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1362
1362
|
const cloneSpinner = ora(`Cloning ${def.name} template...`).start();
|
|
1363
1363
|
let clone;
|
|
1364
1364
|
let cloneHash;
|
|
1365
|
-
let creationNonce;
|
|
1366
1365
|
try {
|
|
1367
1366
|
const result = await cloneTemplate(templateAddr);
|
|
1368
1367
|
clone = result.clone;
|
|
1369
1368
|
cloneHash = result.hash;
|
|
1370
|
-
creationNonce = result.creationNonce;
|
|
1371
1369
|
cloneSpinner.succeed(`Cloned: ${chalk.green(clone)}`);
|
|
1372
1370
|
console.log(chalk.dim(` Tx: ${getExplorerUrl(cloneHash)}`));
|
|
1373
1371
|
} catch (err) {
|
|
@@ -1397,7 +1395,7 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1397
1395
|
console.error(chalk.red(formatContractError(err)));
|
|
1398
1396
|
process.exit(1);
|
|
1399
1397
|
}
|
|
1400
|
-
if (templateKey === "hyperliquid-grid") {
|
|
1398
|
+
if (templateKey === "hyperliquid-grid" || templateKey === "hyperliquid-perp") {
|
|
1401
1399
|
const hcSpinner = ora("Registering clone with HyperCore...").start();
|
|
1402
1400
|
try {
|
|
1403
1401
|
const account = getAccount();
|
|
@@ -1405,14 +1403,13 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1405
1403
|
account,
|
|
1406
1404
|
chain: getChain(),
|
|
1407
1405
|
address: clone,
|
|
1408
|
-
abi: HYPERLIQUID_GRID_STRATEGY_ABI,
|
|
1406
|
+
abi: templateKey === "hyperliquid-grid" ? HYPERLIQUID_GRID_STRATEGY_ABI : HYPERLIQUID_PERP_STRATEGY_ABI,
|
|
1409
1407
|
functionName: "finalizeForHyperCore",
|
|
1410
|
-
args: [0n,
|
|
1411
|
-
// token=USDC, variant=
|
|
1408
|
+
args: [0n, 1, 0n]
|
|
1409
|
+
// token=USDC, variant=FirstStorageSlot(1), nonce unused
|
|
1412
1410
|
});
|
|
1413
1411
|
await waitForReceipt(hcHash);
|
|
1414
1412
|
hcSpinner.succeed("HyperCore registration sent (active after next block)");
|
|
1415
|
-
console.log(chalk.dim(` Creation nonce: ${creationNonce}`));
|
|
1416
1413
|
} catch (err) {
|
|
1417
1414
|
hcSpinner.warn("HyperCore registration failed \u2014 run finalizeForHyperCore manually");
|
|
1418
1415
|
console.error(chalk.yellow(formatContractError(err)));
|
|
@@ -1524,11 +1521,9 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1524
1521
|
}
|
|
1525
1522
|
const cloneSpinner = ora(`Cloning ${def.name} template...`).start();
|
|
1526
1523
|
let clone;
|
|
1527
|
-
let proposeCreationNonce;
|
|
1528
1524
|
try {
|
|
1529
1525
|
const result = await cloneTemplate(templateAddr);
|
|
1530
1526
|
clone = result.clone;
|
|
1531
|
-
proposeCreationNonce = result.creationNonce;
|
|
1532
1527
|
cloneSpinner.succeed(`Cloned: ${chalk.green(clone)}`);
|
|
1533
1528
|
console.log(chalk.dim(` Tx: ${getExplorerUrl(result.hash)}`));
|
|
1534
1529
|
} catch (err) {
|
|
@@ -1563,16 +1558,17 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1563
1558
|
console.error(chalk.red(formatContractError(err)));
|
|
1564
1559
|
process.exit(1);
|
|
1565
1560
|
}
|
|
1566
|
-
if (templateKey === "hyperliquid-grid") {
|
|
1561
|
+
if (templateKey === "hyperliquid-grid" || templateKey === "hyperliquid-perp") {
|
|
1567
1562
|
const hcSpinner = ora("Registering clone with HyperCore...").start();
|
|
1568
1563
|
try {
|
|
1569
1564
|
const hcHash = await writeContractWithRetry({
|
|
1570
1565
|
account,
|
|
1571
1566
|
chain: getChain(),
|
|
1572
1567
|
address: clone,
|
|
1573
|
-
abi: HYPERLIQUID_GRID_STRATEGY_ABI,
|
|
1568
|
+
abi: templateKey === "hyperliquid-grid" ? HYPERLIQUID_GRID_STRATEGY_ABI : HYPERLIQUID_PERP_STRATEGY_ABI,
|
|
1574
1569
|
functionName: "finalizeForHyperCore",
|
|
1575
|
-
args: [0n,
|
|
1570
|
+
args: [0n, 1, 0n]
|
|
1571
|
+
// token=USDC, variant=FirstStorageSlot(1), nonce unused
|
|
1576
1572
|
});
|
|
1577
1573
|
await waitForReceipt(hcHash);
|
|
1578
1574
|
hcSpinner.succeed("HyperCore registration sent (active after next block)");
|
|
@@ -1581,7 +1577,7 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1581
1577
|
console.error(chalk.red(formatContractError(err)));
|
|
1582
1578
|
console.error(
|
|
1583
1579
|
chalk.yellow(
|
|
1584
|
-
`Retry by calling finalizeForHyperCore(0,
|
|
1580
|
+
`Retry by calling finalizeForHyperCore(0, 1, 0) on ${clone}, then re-run propose.`
|
|
1585
1581
|
)
|
|
1586
1582
|
);
|
|
1587
1583
|
process.exit(1);
|
|
@@ -1631,9 +1627,9 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1631
1627
|
console.error(chalk.red("Missing --name, --performance-fee, or --duration. Use --write-calls to skip proposal submission."));
|
|
1632
1628
|
process.exit(1);
|
|
1633
1629
|
}
|
|
1634
|
-
const { propose: propose2 } = await import("./governor-
|
|
1630
|
+
const { propose: propose2 } = await import("./governor-IOMICY6I.js");
|
|
1635
1631
|
const { pinJSON } = await import("./ipfs-IGXLLJCF.js");
|
|
1636
|
-
const { parseDuration: parseDuration2 } = await import("./governor-
|
|
1632
|
+
const { parseDuration: parseDuration2 } = await import("./governor-IOMICY6I.js");
|
|
1637
1633
|
const performanceFeeBps = BigInt(opts.performanceFee);
|
|
1638
1634
|
if (performanceFeeBps < 0n || performanceFeeBps > 10000n) {
|
|
1639
1635
|
console.error(chalk.red("--performance-fee must be 0-10000 (basis points)"));
|
|
@@ -1741,7 +1737,7 @@ function registerStrategyTemplateCommands(strategy2) {
|
|
|
1741
1737
|
let prices = [];
|
|
1742
1738
|
let priceSource = null;
|
|
1743
1739
|
try {
|
|
1744
|
-
const { getTokenPricesInAsset } = await import("./price-
|
|
1740
|
+
const { getTokenPricesInAsset } = await import("./price-ZCWGU2OM.js");
|
|
1745
1741
|
prices = await getTokenPricesInAsset({
|
|
1746
1742
|
tokens: allocations.map((a, i) => ({
|
|
1747
1743
|
token: a.token,
|
|
@@ -2171,7 +2167,7 @@ function registerVeniceCommands(program2) {
|
|
|
2171
2167
|
console.log(chalk2.dim(` Key: ${apiKey.slice(0, 8)}...${apiKey.slice(-4)}`));
|
|
2172
2168
|
console.log(chalk2.dim(" Saved to ~/.sherwood/config.json"));
|
|
2173
2169
|
try {
|
|
2174
|
-
const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-
|
|
2170
|
+
const { createVeniceProvisionAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-ZX2YIJG7.js");
|
|
2175
2171
|
const { uid } = await createVeniceProvisionAttestation(account.address);
|
|
2176
2172
|
if (uid !== "0x0000000000000000000000000000000000000000000000000000000000000000") {
|
|
2177
2173
|
console.log(chalk2.dim(` Attested: ${getEasScanUrl2(uid)}`));
|
|
@@ -2527,7 +2523,7 @@ ${opts.prompt}`;
|
|
|
2527
2523
|
console.log(chalk2.dim(`Model: ${result.model} | Tokens: ${result.usage.promptTokens} in, ${result.usage.completionTokens} out, ${result.usage.totalTokens} total`));
|
|
2528
2524
|
}
|
|
2529
2525
|
try {
|
|
2530
|
-
const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-
|
|
2526
|
+
const { createVeniceInferenceAttestation, getEasScanUrl: getEasScanUrl2 } = await import("./eas-ZX2YIJG7.js");
|
|
2531
2527
|
const { keccak256: keccak2562, toHex, isAddress: isAddr } = await import("viem");
|
|
2532
2528
|
const { getChainContracts: getChainContracts2 } = await import("./config-REASKDIK.js");
|
|
2533
2529
|
const { getChain: getActiveChain } = await import("./network-3ZU7UBDU.js");
|
|
@@ -3742,7 +3738,7 @@ function printSimulationResult(result, callType) {
|
|
|
3742
3738
|
}
|
|
3743
3739
|
async function sendSimulationAlert(subdomain, proposalId, vault, execResult, settleResult) {
|
|
3744
3740
|
try {
|
|
3745
|
-
const xmtp = await import("./xmtp-
|
|
3741
|
+
const xmtp = await import("./xmtp-54ISDDT4.js");
|
|
3746
3742
|
const { getAccount: getAccount2 } = await import("./client-UHHCB6EZ.js");
|
|
3747
3743
|
const group = await xmtp.getGroup("", subdomain);
|
|
3748
3744
|
const allRisks = [...execResult.risks, ...settleResult?.risks ?? []];
|
|
@@ -7194,7 +7190,7 @@ try {
|
|
|
7194
7190
|
var require2 = createRequire(import.meta.url);
|
|
7195
7191
|
var { version: CLI_VERSION } = require2("../package.json");
|
|
7196
7192
|
async function loadXmtp() {
|
|
7197
|
-
return import("./xmtp-
|
|
7193
|
+
return import("./xmtp-54ISDDT4.js");
|
|
7198
7194
|
}
|
|
7199
7195
|
async function loadCron() {
|
|
7200
7196
|
return import("./cron-EOULYO3R.js");
|
|
@@ -7719,7 +7715,7 @@ syndicate.command("add").description("Register an agent on a syndicate vault (cr
|
|
|
7719
7715
|
if (opts.agentId) {
|
|
7720
7716
|
agentId = BigInt(opts.agentId);
|
|
7721
7717
|
} else {
|
|
7722
|
-
const { AGENT_REGISTRY: AGENT_REGISTRY2 } = await import("./addresses-
|
|
7718
|
+
const { AGENT_REGISTRY: AGENT_REGISTRY2 } = await import("./addresses-PYRHQSVZ.js");
|
|
7723
7719
|
const registry2 = AGENT_REGISTRY2().IDENTITY_REGISTRY;
|
|
7724
7720
|
if (registry2 === "0x0000000000000000000000000000000000000000") {
|
|
7725
7721
|
agentId = 0n;
|
|
@@ -8344,7 +8340,7 @@ ${info.name} (${info.type})`);
|
|
|
8344
8340
|
}
|
|
8345
8341
|
});
|
|
8346
8342
|
try {
|
|
8347
|
-
const { registerChatCommands } = await import("./chat-
|
|
8343
|
+
const { registerChatCommands } = await import("./chat-AH36PC43.js");
|
|
8348
8344
|
registerChatCommands(program);
|
|
8349
8345
|
} catch {
|
|
8350
8346
|
program.command("chat <name> [action] [actionArgs...]").description("Syndicate chat (XMTP) \u2014 requires @xmtp/cli").action(() => {
|
|
@@ -8354,7 +8350,7 @@ try {
|
|
|
8354
8350
|
process.exit(1);
|
|
8355
8351
|
});
|
|
8356
8352
|
}
|
|
8357
|
-
var { registerSessionCommands } = await import("./session-
|
|
8353
|
+
var { registerSessionCommands } = await import("./session-OTI3BWIQ.js");
|
|
8358
8354
|
registerSessionCommands(program);
|
|
8359
8355
|
registerVeniceCommands(program);
|
|
8360
8356
|
registerAllowanceCommands(program);
|
|
@@ -8362,11 +8358,11 @@ registerIdentityCommands(program);
|
|
|
8362
8358
|
registerProposalCommands(program);
|
|
8363
8359
|
registerGovernorCommands(program);
|
|
8364
8360
|
registerGuardianCommands(program);
|
|
8365
|
-
var { registerResearchCommands } = await import("./research-
|
|
8361
|
+
var { registerResearchCommands } = await import("./research-PPZIWXSM.js");
|
|
8366
8362
|
registerResearchCommands(program);
|
|
8367
|
-
var { registerAgentCommands } = await import("./agent-
|
|
8363
|
+
var { registerAgentCommands } = await import("./agent-4XQOMAEM.js");
|
|
8368
8364
|
registerAgentCommands(program);
|
|
8369
|
-
var { registerTradeCommands } = await import("./trade-
|
|
8365
|
+
var { registerTradeCommands } = await import("./trade-3OVB2VX5.js");
|
|
8370
8366
|
registerTradeCommands(program);
|
|
8371
8367
|
registerGridCommand(program);
|
|
8372
8368
|
var configCmd = program.command("config");
|