@sherwoodagent/cli 0.8.0 → 0.10.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/{chat-O34BTHII.js → chat-4Q7G3DFO.js} +4 -4
- package/dist/{chunk-ARZIQ7YZ.js → chunk-3EBFJLQR.js} +6 -6
- package/dist/chunk-3EBFJLQR.js.map +1 -0
- package/dist/{chunk-VQP4XR67.js → chunk-DTSTJUZH.js} +2 -2
- package/dist/chunk-DTSTJUZH.js.map +1 -0
- package/dist/{chunk-BXUNWV52.js → chunk-SGYOOHML.js} +26 -17
- package/dist/chunk-SGYOOHML.js.map +1 -0
- package/dist/{eas-TI4XI5VU.js → eas-NZ7GCLPA.js} +3 -3
- package/dist/index.js +59 -40
- package/dist/index.js.map +1 -1
- package/dist/{research-GX32VMP7.js → research-3XEIOMDP.js} +3 -3
- package/dist/{session-QEIVURQO.js → session-FVFIACYW.js} +6 -6
- package/dist/{session-QEIVURQO.js.map → session-FVFIACYW.js.map} +1 -1
- package/dist/{xmtp-A6F63GZH.js → xmtp-JC5AUYRG.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-ARZIQ7YZ.js.map +0 -1
- package/dist/chunk-BXUNWV52.js.map +0 -1
- package/dist/chunk-VQP4XR67.js.map +0 -1
- /package/dist/{chat-O34BTHII.js.map → chat-4Q7G3DFO.js.map} +0 -0
- /package/dist/{eas-TI4XI5VU.js.map → eas-NZ7GCLPA.js.map} +0 -0
- /package/dist/{research-GX32VMP7.js.map → research-3XEIOMDP.js.map} +0 -0
- /package/dist/{xmtp-A6F63GZH.js.map → xmtp-JC5AUYRG.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
queryApprovals,
|
|
11
11
|
queryJoinRequests,
|
|
12
12
|
revokeAttestation
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-DTSTJUZH.js";
|
|
14
14
|
import {
|
|
15
15
|
approveDepositor,
|
|
16
16
|
deposit,
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
setTextRecord,
|
|
29
29
|
setVaultAddress,
|
|
30
30
|
simulateBatch
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-3EBFJLQR.js";
|
|
32
32
|
import {
|
|
33
33
|
AGENT_REGISTRY,
|
|
34
34
|
EAS_SCHEMAS,
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
UNISWAP_QUOTER_V2_ABI,
|
|
45
45
|
VENICE,
|
|
46
46
|
VENICE_STAKING_ABI
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-SGYOOHML.js";
|
|
48
48
|
import {
|
|
49
49
|
VALID_NETWORKS,
|
|
50
50
|
cacheGroupId,
|
|
@@ -934,7 +934,7 @@ function registerVeniceCommands(program2) {
|
|
|
934
934
|
[assetAddress, totalDeposited, agents] = await Promise.all([
|
|
935
935
|
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "asset" }),
|
|
936
936
|
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "totalDeposited" }),
|
|
937
|
-
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "
|
|
937
|
+
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "getAgentAddresses" })
|
|
938
938
|
]);
|
|
939
939
|
[assetDecimals, assetSymbol, assetBalance] = await Promise.all([
|
|
940
940
|
client.readContract({ address: assetAddress, abi: ERC20_ABI, functionName: "decimals" }),
|
|
@@ -1101,7 +1101,7 @@ function registerVeniceCommands(program2) {
|
|
|
1101
1101
|
const [assetAddress, totalDeposited, agents] = await Promise.all([
|
|
1102
1102
|
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "asset" }),
|
|
1103
1103
|
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "totalDeposited" }),
|
|
1104
|
-
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "
|
|
1104
|
+
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "getAgentAddresses" })
|
|
1105
1105
|
]);
|
|
1106
1106
|
const [assetDecimals, assetSymbol, assetBalance] = await Promise.all([
|
|
1107
1107
|
client.readContract({ address: assetAddress, abi: ERC20_ABI, functionName: "decimals" }),
|
|
@@ -1335,7 +1335,7 @@ function registerAllowanceCommands(program2) {
|
|
|
1335
1335
|
[assetAddress, totalDeposited, agents] = await Promise.all([
|
|
1336
1336
|
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "asset" }),
|
|
1337
1337
|
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "totalDeposited" }),
|
|
1338
|
-
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "
|
|
1338
|
+
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "getAgentAddresses" })
|
|
1339
1339
|
]);
|
|
1340
1340
|
[assetDecimals, assetSymbol, assetBalance] = await Promise.all([
|
|
1341
1341
|
client.readContract({ address: assetAddress, abi: ERC20_ABI, functionName: "decimals" }),
|
|
@@ -1478,7 +1478,7 @@ function registerAllowanceCommands(program2) {
|
|
|
1478
1478
|
const [assetAddress, totalDeposited, agents] = await Promise.all([
|
|
1479
1479
|
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "asset" }),
|
|
1480
1480
|
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "totalDeposited" }),
|
|
1481
|
-
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "
|
|
1481
|
+
client.readContract({ address: vaultAddress, abi: SYNDICATE_VAULT_ABI, functionName: "getAgentAddresses" })
|
|
1482
1482
|
]);
|
|
1483
1483
|
const [assetDecimals, assetSymbol, assetBalance] = await Promise.all([
|
|
1484
1484
|
client.readContract({ address: assetAddress, abi: ERC20_ABI, functionName: "decimals" }),
|
|
@@ -1687,6 +1687,7 @@ import { readFileSync } from "fs";
|
|
|
1687
1687
|
|
|
1688
1688
|
// src/lib/governor.ts
|
|
1689
1689
|
var PROPOSAL_STATES = [
|
|
1690
|
+
"Draft",
|
|
1690
1691
|
"Pending",
|
|
1691
1692
|
"Approved",
|
|
1692
1693
|
"Rejected",
|
|
@@ -1695,6 +1696,21 @@ var PROPOSAL_STATES = [
|
|
|
1695
1696
|
"Settled",
|
|
1696
1697
|
"Cancelled"
|
|
1697
1698
|
];
|
|
1699
|
+
var PROPOSAL_STATE = {
|
|
1700
|
+
Draft: 0,
|
|
1701
|
+
Pending: 1,
|
|
1702
|
+
Approved: 2,
|
|
1703
|
+
Rejected: 3,
|
|
1704
|
+
Expired: 4,
|
|
1705
|
+
Executed: 5,
|
|
1706
|
+
Settled: 6,
|
|
1707
|
+
Cancelled: 7
|
|
1708
|
+
};
|
|
1709
|
+
var VOTE_TYPE = {
|
|
1710
|
+
For: 0,
|
|
1711
|
+
Against: 1,
|
|
1712
|
+
Abstain: 2
|
|
1713
|
+
};
|
|
1698
1714
|
function parseDuration(input2) {
|
|
1699
1715
|
const match = input2.match(/^(\d+)(d|h|m|s)?$/);
|
|
1700
1716
|
if (!match) throw new Error(`Invalid duration: ${input2}`);
|
|
@@ -1797,7 +1813,7 @@ async function getCapitalSnapshot(proposalId) {
|
|
|
1797
1813
|
args: [proposalId]
|
|
1798
1814
|
});
|
|
1799
1815
|
}
|
|
1800
|
-
async function propose(vault, metadataURI, performanceFeeBps, strategyDuration, calls, splitIndex) {
|
|
1816
|
+
async function propose(vault, metadataURI, performanceFeeBps, strategyDuration, calls, splitIndex, coProposers = []) {
|
|
1801
1817
|
const wallet = getWalletClient();
|
|
1802
1818
|
const client = getPublicClient();
|
|
1803
1819
|
const hash = await wallet.writeContract({
|
|
@@ -1806,7 +1822,7 @@ async function propose(vault, metadataURI, performanceFeeBps, strategyDuration,
|
|
|
1806
1822
|
address: getGovernorAddress(),
|
|
1807
1823
|
abi: SYNDICATE_GOVERNOR_ABI,
|
|
1808
1824
|
functionName: "propose",
|
|
1809
|
-
args: [vault, metadataURI, performanceFeeBps, strategyDuration, calls, splitIndex]
|
|
1825
|
+
args: [vault, metadataURI, performanceFeeBps, strategyDuration, calls, splitIndex, coProposers]
|
|
1810
1826
|
});
|
|
1811
1827
|
const receipt = await client.waitForTransactionReceipt({ hash });
|
|
1812
1828
|
let proposalId;
|
|
@@ -2119,7 +2135,7 @@ function registerProposalCommands(program2) {
|
|
|
2119
2135
|
process.exit(1);
|
|
2120
2136
|
}
|
|
2121
2137
|
});
|
|
2122
|
-
proposal.command("list").description("List proposals").option("--vault <address>", "Filter by vault").option("--state <filter>", "Filter by state: pending, approved, executed, settled, all", "all").action(async (opts) => {
|
|
2138
|
+
proposal.command("list").description("List proposals").option("--vault <address>", "Filter by vault").option("--state <filter>", "Filter by state: draft, pending, approved, executed, settled, all", "all").action(async (opts) => {
|
|
2123
2139
|
const spinner = ora5("Loading proposals...").start();
|
|
2124
2140
|
try {
|
|
2125
2141
|
const count = await proposalCount();
|
|
@@ -2214,8 +2230,9 @@ function registerProposalCommands(program2) {
|
|
|
2214
2230
|
console.log(LABEL(" Votes"));
|
|
2215
2231
|
console.log(W(` For: ${formatShares(p.votesFor)}`));
|
|
2216
2232
|
console.log(W(` Against: ${formatShares(p.votesAgainst)}`));
|
|
2233
|
+
console.log(W(` Abstain: ${formatShares(p.votesAbstain)}`));
|
|
2217
2234
|
console.log(W(` Quorum: ${quorumNeeded}`));
|
|
2218
|
-
if (state ===
|
|
2235
|
+
if (state === PROPOSAL_STATE.Executed || state === PROPOSAL_STATE.Settled) {
|
|
2219
2236
|
try {
|
|
2220
2237
|
const cap = await getCapitalSnapshot(id);
|
|
2221
2238
|
console.log();
|
|
@@ -2239,15 +2256,20 @@ function registerProposalCommands(program2) {
|
|
|
2239
2256
|
process.exit(1);
|
|
2240
2257
|
}
|
|
2241
2258
|
});
|
|
2242
|
-
proposal.command("vote").description("Cast a vote on a pending proposal").requiredOption("--id <proposalId>", "Proposal ID").requiredOption("--support <
|
|
2259
|
+
proposal.command("vote").description("Cast a vote on a pending proposal").requiredOption("--id <proposalId>", "Proposal ID").requiredOption("--support <for|against|abstain>", "Vote direction: for, against, or abstain").action(async (opts) => {
|
|
2243
2260
|
try {
|
|
2244
2261
|
const proposalId = parseBigIntArg(opts.id, "proposal ID");
|
|
2245
|
-
const
|
|
2262
|
+
const supportRaw = String(opts.support).toLowerCase();
|
|
2263
|
+
const support = supportRaw === "yes" || supportRaw === "for" ? VOTE_TYPE.For : supportRaw === "no" || supportRaw === "against" ? VOTE_TYPE.Against : supportRaw === "abstain" ? VOTE_TYPE.Abstain : null;
|
|
2264
|
+
if (support === null) {
|
|
2265
|
+
console.error(chalk5.red(`Invalid support value "${opts.support}". Use for|against|abstain.`));
|
|
2266
|
+
process.exit(1);
|
|
2267
|
+
}
|
|
2246
2268
|
const account = getAccount();
|
|
2247
2269
|
const spinner = ora5("Loading proposal...").start();
|
|
2248
2270
|
const p = await getProposal(proposalId);
|
|
2249
2271
|
const state = await getProposalState(proposalId);
|
|
2250
|
-
if (state !==
|
|
2272
|
+
if (state !== PROPOSAL_STATE.Pending) {
|
|
2251
2273
|
spinner.fail(`Proposal is ${PROPOSAL_STATES[state] || "Unknown"}, not Pending`);
|
|
2252
2274
|
process.exit(1);
|
|
2253
2275
|
}
|
|
@@ -2263,7 +2285,9 @@ function registerProposalCommands(program2) {
|
|
|
2263
2285
|
SEP();
|
|
2264
2286
|
console.log(W(` Proposal: #${proposalId}`));
|
|
2265
2287
|
console.log(W(` Vault: ${G(p.vault)}`));
|
|
2266
|
-
console.log(W(
|
|
2288
|
+
console.log(W(
|
|
2289
|
+
` Support: ${support === VOTE_TYPE.For ? G("FOR") : support === VOTE_TYPE.Against ? chalk5.red("AGAINST") : DIM("ABSTAIN")}`
|
|
2290
|
+
));
|
|
2267
2291
|
console.log(W(` Weight: ${formatShares(weight)} shares`));
|
|
2268
2292
|
SEP();
|
|
2269
2293
|
const voteSpinner = ora5({ text: W("Submitting vote..."), color: "green" }).start();
|
|
@@ -2282,7 +2306,7 @@ function registerProposalCommands(program2) {
|
|
|
2282
2306
|
const proposalId = parseBigIntArg(opts.id, "proposal ID");
|
|
2283
2307
|
const spinner = ora5("Loading proposal...").start();
|
|
2284
2308
|
const state = await getProposalState(proposalId);
|
|
2285
|
-
if (state !==
|
|
2309
|
+
if (state !== PROPOSAL_STATE.Approved) {
|
|
2286
2310
|
spinner.fail(`Proposal is ${PROPOSAL_STATES[state] || "Unknown"}, not Approved`);
|
|
2287
2311
|
process.exit(1);
|
|
2288
2312
|
}
|
|
@@ -2309,7 +2333,7 @@ function registerProposalCommands(program2) {
|
|
|
2309
2333
|
const spinner = ora5("Loading proposal...").start();
|
|
2310
2334
|
const p = await getProposal(proposalId);
|
|
2311
2335
|
const state = await getProposalState(proposalId);
|
|
2312
|
-
if (state !==
|
|
2336
|
+
if (state !== PROPOSAL_STATE.Executed) {
|
|
2313
2337
|
spinner.fail(`Proposal is ${PROPOSAL_STATES[state] || "Unknown"}, not Executed`);
|
|
2314
2338
|
process.exit(1);
|
|
2315
2339
|
}
|
|
@@ -2348,7 +2372,7 @@ function registerProposalCommands(program2) {
|
|
|
2348
2372
|
const proposalId = parseBigIntArg(opts.id, "proposal ID");
|
|
2349
2373
|
const spinner = ora5("Loading proposal...").start();
|
|
2350
2374
|
const state = await getProposalState(proposalId);
|
|
2351
|
-
if (state ===
|
|
2375
|
+
if (state === PROPOSAL_STATE.Settled || state === PROPOSAL_STATE.Cancelled) {
|
|
2352
2376
|
spinner.fail(`Proposal is already ${PROPOSAL_STATES[state]}`);
|
|
2353
2377
|
process.exit(1);
|
|
2354
2378
|
}
|
|
@@ -2358,7 +2382,7 @@ function registerProposalCommands(program2) {
|
|
|
2358
2382
|
hash = await emergencyCancel(proposalId);
|
|
2359
2383
|
spinner.succeed(G("Emergency cancelled"));
|
|
2360
2384
|
} else {
|
|
2361
|
-
if (state !==
|
|
2385
|
+
if (state !== PROPOSAL_STATE.Draft && state !== PROPOSAL_STATE.Pending) {
|
|
2362
2386
|
spinner.fail(`Proposal is ${PROPOSAL_STATES[state] || "Unknown"} \u2014 use --emergency for non-pending/approved`);
|
|
2363
2387
|
process.exit(1);
|
|
2364
2388
|
}
|
|
@@ -2502,7 +2526,7 @@ try {
|
|
|
2502
2526
|
} catch {
|
|
2503
2527
|
}
|
|
2504
2528
|
async function loadXmtp() {
|
|
2505
|
-
return import("./xmtp-
|
|
2529
|
+
return import("./xmtp-JC5AUYRG.js");
|
|
2506
2530
|
}
|
|
2507
2531
|
var G3 = chalk7.green;
|
|
2508
2532
|
var W3 = chalk7.white;
|
|
@@ -2660,10 +2684,8 @@ syndicate.command("create").description("Create a new syndicate via the factory
|
|
|
2660
2684
|
const creatorAddress = getAccount().address;
|
|
2661
2685
|
await registerAgent(
|
|
2662
2686
|
BigInt(agentIdStr),
|
|
2663
|
-
creatorAddress,
|
|
2664
|
-
// pkp = creator EOA (direct execution)
|
|
2665
2687
|
creatorAddress
|
|
2666
|
-
//
|
|
2688
|
+
// agentAddress = creator EOA (direct execution)
|
|
2667
2689
|
);
|
|
2668
2690
|
} catch (regErr) {
|
|
2669
2691
|
console.warn(chalk7.yellow("\n \u26A0 Could not auto-register creator as agent \u2014 register manually with `syndicate add`"));
|
|
@@ -2850,7 +2872,7 @@ syndicate.command("remove-depositor").description("Remove an address from the de
|
|
|
2850
2872
|
process.exit(1);
|
|
2851
2873
|
}
|
|
2852
2874
|
});
|
|
2853
|
-
syndicate.command("add").description("Register an agent on a syndicate vault (creator only)").option("--vault <address>", "Vault address (default: from config)").requiredOption("--agent-id <id>", "Agent's ERC-8004 identity token ID").requiredOption("--
|
|
2875
|
+
syndicate.command("add").description("Register an agent on a syndicate vault (creator only)").option("--vault <address>", "Vault address (default: from config)").requiredOption("--agent-id <id>", "Agent's ERC-8004 identity token ID").requiredOption("--wallet <address>", "Agent wallet address").action(async (opts) => {
|
|
2854
2876
|
const spinner = ora7("Verifying creator...").start();
|
|
2855
2877
|
try {
|
|
2856
2878
|
resolveVault(opts);
|
|
@@ -2864,8 +2886,7 @@ syndicate.command("add").description("Register an agent on a syndicate vault (cr
|
|
|
2864
2886
|
spinner.text = "Registering agent...";
|
|
2865
2887
|
const hash = await registerAgent(
|
|
2866
2888
|
BigInt(opts.agentId),
|
|
2867
|
-
opts.
|
|
2868
|
-
opts.eoa
|
|
2889
|
+
opts.wallet
|
|
2869
2890
|
);
|
|
2870
2891
|
spinner.succeed(`Agent registered: ${hash}`);
|
|
2871
2892
|
console.log(chalk7.dim(` ${getExplorerUrl(hash)}`));
|
|
@@ -2873,10 +2894,10 @@ syndicate.command("add").description("Register an agent on a syndicate vault (cr
|
|
|
2873
2894
|
const xmtp = await loadXmtp();
|
|
2874
2895
|
const xmtpClient = await xmtp.getXmtpClient();
|
|
2875
2896
|
const group = await xmtp.getGroup(xmtpClient, subdomain);
|
|
2876
|
-
await xmtp.addMember(group, opts.
|
|
2897
|
+
await xmtp.addMember(group, opts.wallet);
|
|
2877
2898
|
await xmtp.sendEnvelope(group, {
|
|
2878
2899
|
type: "AGENT_REGISTERED",
|
|
2879
|
-
agent: { erc8004Id: Number(opts.agentId), address: opts.
|
|
2900
|
+
agent: { erc8004Id: Number(opts.agentId), address: opts.wallet },
|
|
2880
2901
|
syndicate: subdomain,
|
|
2881
2902
|
timestamp: Math.floor(Date.now() / 1e3)
|
|
2882
2903
|
});
|
|
@@ -3017,7 +3038,7 @@ syndicate.command("requests").description("View pending join requests for a synd
|
|
|
3017
3038
|
console.log();
|
|
3018
3039
|
}
|
|
3019
3040
|
console.log(G3(" To approve:"));
|
|
3020
|
-
console.log(DIM3(` sherwood syndicate approve --agent-id <id> --
|
|
3041
|
+
console.log(DIM3(` sherwood syndicate approve --agent-id <id> --wallet <addr>`));
|
|
3021
3042
|
console.log(G3(" To reject:"));
|
|
3022
3043
|
console.log(DIM3(` sherwood syndicate reject --attestation <uid>`));
|
|
3023
3044
|
console.log();
|
|
@@ -3027,7 +3048,7 @@ syndicate.command("requests").description("View pending join requests for a synd
|
|
|
3027
3048
|
process.exit(1);
|
|
3028
3049
|
}
|
|
3029
3050
|
});
|
|
3030
|
-
syndicate.command("approve").description("Approve an agent join request (registers agent + creates EAS approval)").option("--vault <address>", "Vault address (default: from config)").option("--subdomain <name>", "Syndicate subdomain (alternative to --vault)").requiredOption("--agent-id <id>", "Agent's ERC-8004 identity token ID").requiredOption("--
|
|
3051
|
+
syndicate.command("approve").description("Approve an agent join request (registers agent + creates EAS approval)").option("--vault <address>", "Vault address (default: from config)").option("--subdomain <name>", "Syndicate subdomain (alternative to --vault)").requiredOption("--agent-id <id>", "Agent's ERC-8004 identity token ID").requiredOption("--wallet <address>", "Agent wallet address").action(async (opts) => {
|
|
3031
3052
|
const spinner = ora7("Verifying creator...").start();
|
|
3032
3053
|
try {
|
|
3033
3054
|
if (opts.subdomain && !opts.vault) {
|
|
@@ -3047,8 +3068,7 @@ syndicate.command("approve").description("Approve an agent join request (registe
|
|
|
3047
3068
|
try {
|
|
3048
3069
|
const regHash = await registerAgent(
|
|
3049
3070
|
BigInt(opts.agentId),
|
|
3050
|
-
opts.
|
|
3051
|
-
opts.eoa
|
|
3071
|
+
opts.wallet
|
|
3052
3072
|
);
|
|
3053
3073
|
console.log(DIM3(` Agent registered: ${getExplorerUrl(regHash)}`));
|
|
3054
3074
|
} catch (regErr) {
|
|
@@ -3074,7 +3094,7 @@ syndicate.command("approve").description("Approve an agent join request (registe
|
|
|
3074
3094
|
syndicateId,
|
|
3075
3095
|
BigInt(opts.agentId),
|
|
3076
3096
|
vaultAddress,
|
|
3077
|
-
opts.
|
|
3097
|
+
opts.wallet
|
|
3078
3098
|
);
|
|
3079
3099
|
approvalUid = result.uid;
|
|
3080
3100
|
}
|
|
@@ -3083,10 +3103,10 @@ syndicate.command("approve").description("Approve an agent join request (registe
|
|
|
3083
3103
|
const xmtp = await loadXmtp();
|
|
3084
3104
|
const xmtpClient = await xmtp.getXmtpClient();
|
|
3085
3105
|
const group = await xmtp.getGroup(xmtpClient, subdomain);
|
|
3086
|
-
await xmtp.addMember(group, opts.
|
|
3106
|
+
await xmtp.addMember(group, opts.wallet);
|
|
3087
3107
|
await xmtp.sendEnvelope(group, {
|
|
3088
3108
|
type: "AGENT_REGISTERED",
|
|
3089
|
-
agent: { erc8004Id: Number(opts.agentId), address: opts.
|
|
3109
|
+
agent: { erc8004Id: Number(opts.agentId), address: opts.wallet },
|
|
3090
3110
|
syndicate: subdomain,
|
|
3091
3111
|
timestamp: Math.floor(Date.now() / 1e3)
|
|
3092
3112
|
});
|
|
@@ -3100,8 +3120,7 @@ syndicate.command("approve").description("Approve an agent join request (registe
|
|
|
3100
3120
|
console.log(LABEL3(" \u25C6 Agent Approved"));
|
|
3101
3121
|
SEP3();
|
|
3102
3122
|
console.log(W3(` Agent ID: #${opts.agentId}`));
|
|
3103
|
-
console.log(W3(`
|
|
3104
|
-
console.log(W3(` EOA: ${G3(opts.eoa)}`));
|
|
3123
|
+
console.log(W3(` Wallet: ${G3(opts.wallet)}`));
|
|
3105
3124
|
console.log(W3(` Approval: ${DIM3(approvalUid)}`));
|
|
3106
3125
|
console.log(W3(` EAS Scan: ${DIM3(getEasScanUrl(approvalUid))}`));
|
|
3107
3126
|
SEP3();
|
|
@@ -3282,7 +3301,7 @@ ${info.name} (${info.type})`);
|
|
|
3282
3301
|
}
|
|
3283
3302
|
});
|
|
3284
3303
|
try {
|
|
3285
|
-
const { registerChatCommands } = await import("./chat-
|
|
3304
|
+
const { registerChatCommands } = await import("./chat-4Q7G3DFO.js");
|
|
3286
3305
|
registerChatCommands(program);
|
|
3287
3306
|
} catch {
|
|
3288
3307
|
program.command("chat <name> [action] [actionArgs...]").description("Syndicate chat (XMTP) \u2014 requires @xmtp/cli").action(() => {
|
|
@@ -3292,14 +3311,14 @@ try {
|
|
|
3292
3311
|
process.exit(1);
|
|
3293
3312
|
});
|
|
3294
3313
|
}
|
|
3295
|
-
var { registerSessionCommands } = await import("./session-
|
|
3314
|
+
var { registerSessionCommands } = await import("./session-FVFIACYW.js");
|
|
3296
3315
|
registerSessionCommands(program);
|
|
3297
3316
|
registerVeniceCommands(program);
|
|
3298
3317
|
registerAllowanceCommands(program);
|
|
3299
3318
|
registerIdentityCommands(program);
|
|
3300
3319
|
registerProposalCommands(program);
|
|
3301
3320
|
registerGovernorCommands(program);
|
|
3302
|
-
var { registerResearchCommands } = await import("./research-
|
|
3321
|
+
var { registerResearchCommands } = await import("./research-3XEIOMDP.js");
|
|
3303
3322
|
registerResearchCommands(program);
|
|
3304
3323
|
var configCmd = program.command("config");
|
|
3305
3324
|
configCmd.command("set").description("Save settings to ~/.sherwood/config.json (persists across sessions)").option("--private-key <key>", "Wallet private key (0x-prefixed)").option("--vault <address>", "Default SyndicateVault address").option("--rpc <url>", "Custom RPC URL for the active --chain network").action((opts) => {
|