@varun-ai07/covenant-mcp 2.0.6 → 2.1.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/auto-verifier.d.ts +73 -0
- package/dist/auto-verifier.d.ts.map +1 -0
- package/dist/auto-verifier.js +452 -0
- package/dist/auto-verifier.js.map +1 -0
- package/dist/handlers/wallet.d.ts.map +1 -1
- package/dist/handlers/wallet.js +60 -2
- package/dist/handlers/wallet.js.map +1 -1
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/tools/corven-agent.d.ts.map +1 -1
- package/dist/tools/corven-agent.js +10 -0
- package/dist/tools/corven-agent.js.map +1 -1
- package/dist/tools/corven-attest.d.ts.map +1 -1
- package/dist/tools/corven-attest.js +10 -0
- package/dist/tools/corven-attest.js.map +1 -1
- package/dist/tools/corven-batch.d.ts.map +1 -1
- package/dist/tools/corven-batch.js +10 -0
- package/dist/tools/corven-batch.js.map +1 -1
- package/dist/tools/corven-bounty.d.ts.map +1 -1
- package/dist/tools/corven-bounty.js +21 -1
- package/dist/tools/corven-bounty.js.map +1 -1
- package/dist/tools/corven-collective.d.ts.map +1 -1
- package/dist/tools/corven-collective.js +28 -0
- package/dist/tools/corven-collective.js.map +1 -1
- package/dist/tools/corven-govern.d.ts.map +1 -1
- package/dist/tools/corven-govern.js +19 -0
- package/dist/tools/corven-govern.js.map +1 -1
- package/dist/tools/corven-grants.d.ts.map +1 -1
- package/dist/tools/corven-grants.js +21 -1
- package/dist/tools/corven-grants.js.map +1 -1
- package/dist/tools/corven-insurance.d.ts.map +1 -1
- package/dist/tools/corven-insurance.js +37 -0
- package/dist/tools/corven-insurance.js.map +1 -1
- package/dist/tools/corven-market.d.ts.map +1 -1
- package/dist/tools/corven-market.js +11 -1
- package/dist/tools/corven-market.js.map +1 -1
- package/dist/tools/corven-message.js +1 -1
- package/dist/tools/corven-message.js.map +1 -1
- package/dist/tools/corven-multi.d.ts.map +1 -1
- package/dist/tools/corven-multi.js +20 -0
- package/dist/tools/corven-multi.js.map +1 -1
- package/dist/tools/corven-revision.d.ts.map +1 -1
- package/dist/tools/corven-revision.js +19 -0
- package/dist/tools/corven-revision.js.map +1 -1
- package/dist/tools/corven-router.d.ts.map +1 -1
- package/dist/tools/corven-router.js +24 -4
- package/dist/tools/corven-router.js.map +1 -1
- package/dist/tools/corven-stream.d.ts.map +1 -1
- package/dist/tools/corven-stream.js +34 -6
- package/dist/tools/corven-stream.js.map +1 -1
- package/dist/tools/corven-task.d.ts.map +1 -1
- package/dist/tools/corven-task.js +39 -1
- package/dist/tools/corven-task.js.map +1 -1
- package/dist/tools/corven-training.d.ts.map +1 -1
- package/dist/tools/corven-training.js +23 -2
- package/dist/tools/corven-training.js.map +1 -1
- package/dist/tools/corven-verify.d.ts.map +1 -1
- package/dist/tools/corven-verify.js +40 -18
- package/dist/tools/corven-verify.js.map +1 -1
- package/dist/tools/corven-wallet.d.ts.map +1 -1
- package/dist/tools/corven-wallet.js +40 -3
- package/dist/tools/corven-wallet.js.map +1 -1
- package/dist/tools/disputes.d.ts.map +1 -1
- package/dist/tools/disputes.js +22 -2
- package/dist/tools/disputes.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,6 +14,7 @@ const schema = z.object({
|
|
|
14
14
|
amount: z.string().optional(),
|
|
15
15
|
grantId: z.number().optional(),
|
|
16
16
|
support: z.boolean().optional(),
|
|
17
|
+
confirm: z.boolean().optional().default(false).describe('Set to true to execute. Without this, shows what will happen.'),
|
|
17
18
|
});
|
|
18
19
|
export function registerGrantTools(server) {
|
|
19
20
|
server.registerTool("corven_grants", {
|
|
@@ -31,10 +32,29 @@ export function registerGrantTools(server) {
|
|
|
31
32
|
try {
|
|
32
33
|
const { action } = args;
|
|
33
34
|
if (action === "apply") {
|
|
34
|
-
const
|
|
35
|
+
const amountWei = parseEther(args.amount || "1");
|
|
36
|
+
if (!args.confirm) {
|
|
37
|
+
return formatReadResult({
|
|
38
|
+
confirmationRequired: true,
|
|
39
|
+
action: "Submit grant application",
|
|
40
|
+
cost: "Gas only",
|
|
41
|
+
reason: "Requests " + (args.amount || "1") + " ETH from DAO treasury",
|
|
42
|
+
toProceed: "Call corven_grants again with confirm: true",
|
|
43
|
+
}, "CONFIRMATION REQUIRED");
|
|
44
|
+
}
|
|
45
|
+
const result = await executeOrPrepare(CONTRACTS.GrantProgram, ABI, "applyGrant", [args.title, args.description, args.category, amountWei], 0n);
|
|
35
46
|
return formatTxResult(result);
|
|
36
47
|
}
|
|
37
48
|
if (action === "vote") {
|
|
49
|
+
if (!args.confirm) {
|
|
50
|
+
return formatReadResult({
|
|
51
|
+
confirmationRequired: true,
|
|
52
|
+
action: "Vote on grant #" + args.grantId,
|
|
53
|
+
cost: "Gas only",
|
|
54
|
+
reason: args.support ? "Supporting the grant application" : "Opposing the grant application",
|
|
55
|
+
toProceed: "Call corven_grants again with confirm: true",
|
|
56
|
+
}, "CONFIRMATION REQUIRED");
|
|
57
|
+
}
|
|
38
58
|
const result = await executeOrPrepare(CONTRACTS.GrantProgram, ABI, "voteGrant", [BigInt(args.grantId), args.support], 0n);
|
|
39
59
|
return formatTxResult(result);
|
|
40
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-grants.js","sourceRoot":"","sources":["../../src/tools/corven-grants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAgB,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAc,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGrF,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAEpC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAE9D,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"corven-grants.js","sourceRoot":"","sources":["../../src/tools/corven-grants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-insurance.d.ts","sourceRoot":"","sources":["../../src/tools/corven-insurance.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"corven-insurance.d.ts","sourceRoot":"","sources":["../../src/tools/corven-insurance.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsI9D"}
|
|
@@ -24,6 +24,7 @@ const schema = z.object({
|
|
|
24
24
|
inFavor: z.boolean().optional(),
|
|
25
25
|
agent: z.string().optional(),
|
|
26
26
|
contribution: z.string().optional(),
|
|
27
|
+
confirm: z.boolean().optional().default(false).describe('Set to true to execute. Without this, shows what will happen.'),
|
|
27
28
|
});
|
|
28
29
|
export function registerInsuranceTools(server) {
|
|
29
30
|
server.registerTool("corven_insurance", {
|
|
@@ -46,6 +47,15 @@ export function registerInsuranceTools(server) {
|
|
|
46
47
|
return formatStructuredError("Missing required field.", "join requires contribution.", "Provide contribution in ETH (min 0.01).", false);
|
|
47
48
|
}
|
|
48
49
|
const contribWei = parseEther(args.contribution);
|
|
50
|
+
if (!args.confirm) {
|
|
51
|
+
return formatReadResult({
|
|
52
|
+
confirmationRequired: true,
|
|
53
|
+
action: "Join insurance pool",
|
|
54
|
+
cost: formatEther(contribWei) + " ETH contribution",
|
|
55
|
+
reason: "Contribution joins the shared insurance pool",
|
|
56
|
+
toProceed: "Call corven_insurance again with confirm: true",
|
|
57
|
+
}, "CONFIRMATION REQUIRED");
|
|
58
|
+
}
|
|
49
59
|
const result = await executeOrPrepare(CONTRACTS.AgentInsurance, ABI, "joinPool", [], contribWei);
|
|
50
60
|
return formatTxResult(result);
|
|
51
61
|
}
|
|
@@ -54,6 +64,15 @@ export function registerInsuranceTools(server) {
|
|
|
54
64
|
return formatStructuredError("Missing required fields.", "premium requires taskId and premium.", "Provide both parameters.", false);
|
|
55
65
|
}
|
|
56
66
|
const premiumWei = parseEther(args.premium);
|
|
67
|
+
if (!args.confirm) {
|
|
68
|
+
return formatReadResult({
|
|
69
|
+
confirmationRequired: true,
|
|
70
|
+
action: "Pay insurance premium for task #" + args.taskId,
|
|
71
|
+
cost: formatEther(premiumWei) + " ETH premium",
|
|
72
|
+
reason: "Premium provides coverage against task failure",
|
|
73
|
+
toProceed: "Call corven_insurance again with confirm: true",
|
|
74
|
+
}, "CONFIRMATION REQUIRED");
|
|
75
|
+
}
|
|
57
76
|
const result = await executeOrPrepare(CONTRACTS.AgentInsurance, ABI, "payPremium", [BigInt(args.taskId)], premiumWei);
|
|
58
77
|
return formatTxResult(result);
|
|
59
78
|
}
|
|
@@ -61,6 +80,15 @@ export function registerInsuranceTools(server) {
|
|
|
61
80
|
if (args.taskId === undefined) {
|
|
62
81
|
return formatStructuredError("Missing required field.", "claim requires taskId.", "Provide taskId.", false);
|
|
63
82
|
}
|
|
83
|
+
if (!args.confirm) {
|
|
84
|
+
return formatReadResult({
|
|
85
|
+
confirmationRequired: true,
|
|
86
|
+
action: "File insurance claim for failed task #" + args.taskId,
|
|
87
|
+
cost: "0 ETH (gas only)",
|
|
88
|
+
reason: "Claim triggers payout evaluation from pool",
|
|
89
|
+
toProceed: "Call corven_insurance again with confirm: true",
|
|
90
|
+
}, "CONFIRMATION REQUIRED");
|
|
91
|
+
}
|
|
64
92
|
const result = await executeOrPrepare(CONTRACTS.AgentInsurance, ABI, "claimInsurance", [BigInt(args.taskId)], 0n);
|
|
65
93
|
return formatTxResult(result);
|
|
66
94
|
}
|
|
@@ -68,6 +96,15 @@ export function registerInsuranceTools(server) {
|
|
|
68
96
|
if (args.claimId === undefined || args.inFavor === undefined) {
|
|
69
97
|
return formatStructuredError("Missing required fields.", "vote requires claimId and inFavor.", "Provide both parameters.", false);
|
|
70
98
|
}
|
|
99
|
+
if (!args.confirm) {
|
|
100
|
+
return formatReadResult({
|
|
101
|
+
confirmationRequired: true,
|
|
102
|
+
action: "Vote on insurance claim #" + args.claimId,
|
|
103
|
+
cost: "0 ETH (gas only)",
|
|
104
|
+
reason: "Vote records your position on the claim",
|
|
105
|
+
toProceed: "Call corven_insurance again with confirm: true",
|
|
106
|
+
}, "CONFIRMATION REQUIRED");
|
|
107
|
+
}
|
|
71
108
|
const result = await executeOrPrepare(CONTRACTS.AgentInsurance, ABI, "voteOnClaim", [BigInt(args.claimId), args.inFavor], 0n);
|
|
72
109
|
return formatTxResult(result);
|
|
73
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-insurance.js","sourceRoot":"","sources":["../../src/tools/corven-insurance.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAgB,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAc,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGrF,MAAM,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAEtC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;IAC1B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;CAC1C,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"corven-insurance.js","sourceRoot":"","sources":["../../src/tools/corven-insurance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-market.d.ts","sourceRoot":"","sources":["../../src/tools/corven-market.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"corven-market.d.ts","sourceRoot":"","sources":["../../src/tools/corven-market.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoBzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsE3D"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* corven_market — Market operations via CovenantSDK
|
|
3
3
|
*/
|
|
4
4
|
import { z } from "zod";
|
|
5
|
-
import { parseEther, keccak256, toBytes } from "viem";
|
|
5
|
+
import { parseEther, formatEther, keccak256, toBytes } from "viem";
|
|
6
6
|
import { getSDK, getPublicClient } from "../config.js";
|
|
7
7
|
import { formatTxResult, formatReadResult } from "../handlers/transactions.js";
|
|
8
8
|
import { formatStructuredError, parseContractError } from "../lib/formatResponse.js";
|
|
@@ -20,6 +20,7 @@ const schema = z.object({
|
|
|
20
20
|
price: z.string().optional(),
|
|
21
21
|
timeEstimate: z.string().optional(),
|
|
22
22
|
proposalHash: z.string().optional(),
|
|
23
|
+
confirm: z.boolean().optional().default(false).describe('Set to true to execute. Without this, shows what will happen.'),
|
|
23
24
|
});
|
|
24
25
|
export function registerMarketTools(server) {
|
|
25
26
|
server.registerTool("corven_market", {
|
|
@@ -40,6 +41,15 @@ export function registerMarketTools(server) {
|
|
|
40
41
|
const { action } = args;
|
|
41
42
|
if (action === "post") {
|
|
42
43
|
const payment = parseEther(args.maxPayment || "0.05");
|
|
44
|
+
if (!args.confirm) {
|
|
45
|
+
return formatReadResult({
|
|
46
|
+
confirmationRequired: true,
|
|
47
|
+
action: "Post open task to marketplace",
|
|
48
|
+
cost: formatEther(payment) + " ETH",
|
|
49
|
+
reason: "Maximum payment locked in escrow for winning bidder",
|
|
50
|
+
toProceed: "Call corven_market again with confirm: true",
|
|
51
|
+
}, "CONFIRMATION REQUIRED");
|
|
52
|
+
}
|
|
43
53
|
const deadline = Math.floor(Date.now() / 1000) + 86400;
|
|
44
54
|
const metaHash = keccak256(toBytes(args.descriptionHash || "QmDefault"));
|
|
45
55
|
const hash = await sdk.createTask("0x0000000000000000000000000000000000000000", payment, deadline, metaHash);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-market.js","sourceRoot":"","sources":["../../src/tools/corven-market.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"corven-market.js","sourceRoot":"","sources":["../../src/tools/corven-market.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ export function registerMessageTools(server) {
|
|
|
28
28
|
const { action } = args;
|
|
29
29
|
const account = getAccount();
|
|
30
30
|
if (!account) {
|
|
31
|
-
return formatStructuredError("No private key configured.", "
|
|
31
|
+
return formatStructuredError("No private key configured.", "Wallet not configured.", "Set up a wallet to perform write operations.", false);
|
|
32
32
|
}
|
|
33
33
|
const sender = typeof account === "string" ? account : account.address;
|
|
34
34
|
if (action === "send") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-message.js","sourceRoot":"","sources":["../../src/tools/corven-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGrF,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAExD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,MAAM,EAAE,YAAY;IACpB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAaH,MAAM,QAAQ,GAAc,EAAE,CAAC;AAC/B,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,2DAA2D;YAC3D,YAAY;YACZ,0DAA0D;YAC1D,uDAAuD;YACvD,yCAAyC;YACzC,0CAA0C;YAC1C,qEAAqE;QACvE,WAAW,EAAE,MAAM,CAAC,KAAK;KAC1B,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YACxB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,qBAAqB,CAAC,4BAA4B,EAAE,
|
|
1
|
+
{"version":3,"file":"corven-message.js","sourceRoot":"","sources":["../../src/tools/corven-message.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-multi.d.ts","sourceRoot":"","sources":["../../src/tools/corven-multi.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkDzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"corven-multi.d.ts","sourceRoot":"","sources":["../../src/tools/corven-multi.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkDzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqP1D"}
|
|
@@ -74,6 +74,7 @@ export function registerMultiTools(server) {
|
|
|
74
74
|
taskId: z.number().optional().describe("Task ID (for submit/verify/get)"),
|
|
75
75
|
deliverableHash: z.string().optional().describe("IPFS CID (for submit)"),
|
|
76
76
|
success: z.boolean().optional().describe("Approve or reject (for verify)"),
|
|
77
|
+
confirm: z.boolean().optional().default(false).describe('Set to true to execute. Without this, shows what will happen.'),
|
|
77
78
|
},
|
|
78
79
|
}, async (params) => {
|
|
79
80
|
try {
|
|
@@ -94,6 +95,16 @@ export function registerMultiTools(server) {
|
|
|
94
95
|
}
|
|
95
96
|
const { worker, payment, deadline, descriptionHash, tokenAddress, decimals } = parsed.data;
|
|
96
97
|
const paymentWei = parseUnits(payment, decimals);
|
|
98
|
+
const tokenInfo = KNOWN_TOKENS[tokenAddress];
|
|
99
|
+
if (!params.confirm) {
|
|
100
|
+
return formatReadResult({
|
|
101
|
+
confirmationRequired: true,
|
|
102
|
+
action: "Create ERC-20 escrow task",
|
|
103
|
+
cost: payment + " " + (tokenInfo?.symbol || "tokens"),
|
|
104
|
+
reason: "Payment locked in MultiTokenEscrow for worker",
|
|
105
|
+
toProceed: "Call corven_multi again with confirm: true",
|
|
106
|
+
}, "CONFIRMATION REQUIRED");
|
|
107
|
+
}
|
|
97
108
|
const result = await executeOrPrepare(contractAddress, ABI, "createAndFundTaskERC20", [
|
|
98
109
|
worker,
|
|
99
110
|
paymentWei,
|
|
@@ -124,6 +135,15 @@ export function registerMultiTools(server) {
|
|
|
124
135
|
return formatStructuredError("Invalid input for verify.", parsed.error.issues.map((e) => e.message).join("; "), "Provide taskId and success (boolean).", true);
|
|
125
136
|
}
|
|
126
137
|
const { taskId, success } = parsed.data;
|
|
138
|
+
if (!params.confirm) {
|
|
139
|
+
return formatReadResult({
|
|
140
|
+
confirmationRequired: true,
|
|
141
|
+
action: success ? "Approve and release payment for task #" + taskId : "Reject task #" + taskId,
|
|
142
|
+
cost: success ? "ERC-20 payment released to worker" : "No cost (payment refunded)",
|
|
143
|
+
reason: success ? "Approving releases escrowed tokens" : "Rejection refunds tokens to client",
|
|
144
|
+
toProceed: "Call corven_multi again with confirm: true",
|
|
145
|
+
}, "CONFIRMATION REQUIRED");
|
|
146
|
+
}
|
|
127
147
|
const result = await executeOrPrepare(contractAddress, ABI, "verifyTask", [BigInt(taskId), success]);
|
|
128
148
|
return formatTxResult(result);
|
|
129
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-multi.js","sourceRoot":"","sources":["../../src/tools/corven-multi.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"corven-multi.js","sourceRoot":"","sources":["../../src/tools/corven-multi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-revision.d.ts","sourceRoot":"","sources":["../../src/tools/corven-revision.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"corven-revision.d.ts","sourceRoot":"","sources":["../../src/tools/corven-revision.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsBzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsF7D"}
|
|
@@ -10,6 +10,7 @@ const schema = z.object({
|
|
|
10
10
|
taskId: z.number().optional(),
|
|
11
11
|
feedbackHash: z.string().optional(),
|
|
12
12
|
deliverableHash: z.string().optional(),
|
|
13
|
+
confirm: z.boolean().optional().default(false).describe('Set to true to execute. Without this, shows what will happen.'),
|
|
13
14
|
});
|
|
14
15
|
function getRevisionManagerAddress() {
|
|
15
16
|
const addr = CONTRACTS.RevisionManager;
|
|
@@ -34,11 +35,29 @@ export function registerRevisionTools(server) {
|
|
|
34
35
|
try {
|
|
35
36
|
const { action } = args;
|
|
36
37
|
if (action === "request") {
|
|
38
|
+
if (!args.confirm) {
|
|
39
|
+
return formatReadResult({
|
|
40
|
+
confirmationRequired: true,
|
|
41
|
+
action: "Request revision for task #" + args.taskId,
|
|
42
|
+
cost: "0 ETH (free)",
|
|
43
|
+
reason: "Revisions are free — only disputes cost ETH",
|
|
44
|
+
toProceed: "Call corven_revision again with confirm: true",
|
|
45
|
+
}, "CONFIRMATION REQUIRED");
|
|
46
|
+
}
|
|
37
47
|
const addr = getRevisionManagerAddress();
|
|
38
48
|
const result = await executeOrPrepare(addr, ABI, "requestRevision", [BigInt(args.taskId), args.feedbackHash], 0n);
|
|
39
49
|
return formatTxResult(result);
|
|
40
50
|
}
|
|
41
51
|
if (action === "submit") {
|
|
52
|
+
if (!args.confirm) {
|
|
53
|
+
return formatReadResult({
|
|
54
|
+
confirmationRequired: true,
|
|
55
|
+
action: "Submit revised work for task #" + args.taskId,
|
|
56
|
+
cost: "0 ETH (free)",
|
|
57
|
+
reason: "Revisions are free — only disputes cost ETH",
|
|
58
|
+
toProceed: "Call corven_revision again with confirm: true",
|
|
59
|
+
}, "CONFIRMATION REQUIRED");
|
|
60
|
+
}
|
|
42
61
|
const addr = getRevisionManagerAddress();
|
|
43
62
|
const result = await executeOrPrepare(addr, ABI, "submitRevision", [BigInt(args.taskId), args.deliverableHash], 0n);
|
|
44
63
|
return formatTxResult(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-revision.js","sourceRoot":"","sources":["../../src/tools/corven-revision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAc,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGrF,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"corven-revision.js","sourceRoot":"","sources":["../../src/tools/corven-revision.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-router.d.ts","sourceRoot":"","sources":["../../src/tools/corven-router.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+BzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"corven-router.d.ts","sourceRoot":"","sources":["../../src/tools/corven-router.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+BzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0I3D"}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* Batch multiple operations in one transaction. Save gas.
|
|
5
5
|
*/
|
|
6
6
|
import { z } from "zod";
|
|
7
|
-
import { parseEther } from "viem";
|
|
7
|
+
import { parseEther, formatEther } from "viem";
|
|
8
8
|
import { loadAbi, CONTRACTS, getAccount } from "../config.js";
|
|
9
9
|
import { executeOrPrepare } from "../handlers/wallet.js";
|
|
10
|
-
import { formatTxResult } from "../handlers/transactions.js";
|
|
10
|
+
import { formatTxResult, formatReadResult } from "../handlers/transactions.js";
|
|
11
11
|
import { parseContractError, formatStructuredError } from "../lib/formatResponse.js";
|
|
12
12
|
const ROUTER_ABI = loadAbi("COVENANTRouter");
|
|
13
13
|
// ─── Input Schemas ───────────────────────────────────────────
|
|
@@ -56,13 +56,14 @@ export function registerRouterTools(server) {
|
|
|
56
56
|
payment: z.string().optional().describe("Payment in ETH (for quickstart)"),
|
|
57
57
|
deadline: z.number().optional().describe("Unix timestamp deadline (for quickstart)"),
|
|
58
58
|
descriptionHash: z.string().optional().describe("IPFS CID (for quickstart)"),
|
|
59
|
+
confirm: z.boolean().optional().default(false).describe('Set to true to execute. Without this, shows what will happen.'),
|
|
59
60
|
},
|
|
60
61
|
}, async (params) => {
|
|
61
62
|
try {
|
|
62
63
|
const { action } = params;
|
|
63
64
|
const account = getAccount();
|
|
64
65
|
if (!account)
|
|
65
|
-
return formatStructuredError("No wallet configured.", "Set
|
|
66
|
+
return formatStructuredError("No wallet configured.", "Set up a wallet to perform write operations.", "Set up wallet configuration", false);
|
|
66
67
|
switch (action) {
|
|
67
68
|
case "multicall": {
|
|
68
69
|
const parsed = multicallSchema.safeParse({ calls: params.calls });
|
|
@@ -71,6 +72,15 @@ export function registerRouterTools(server) {
|
|
|
71
72
|
}
|
|
72
73
|
const { calls } = parsed.data;
|
|
73
74
|
const totalValue = calls.reduce((sum, c) => sum + parseFloat(c.value || "0"), 0);
|
|
75
|
+
if (!params.confirm) {
|
|
76
|
+
return formatReadResult({
|
|
77
|
+
confirmationRequired: true,
|
|
78
|
+
action: "Execute batch of " + calls.length + " contract calls",
|
|
79
|
+
cost: totalValue > 0 ? totalValue + " ETH total value" : "Gas only",
|
|
80
|
+
reason: "Atomic execution of multiple contract operations",
|
|
81
|
+
toProceed: "Call corven_router again with confirm: true",
|
|
82
|
+
}, "CONFIRMATION REQUIRED");
|
|
83
|
+
}
|
|
74
84
|
const result = await executeOrPrepare(CONTRACTS.COVENANTRouter, ROUTER_ABI, "multicall", [
|
|
75
85
|
calls.map((c) => ({
|
|
76
86
|
target: c.target,
|
|
@@ -93,6 +103,16 @@ export function registerRouterTools(server) {
|
|
|
93
103
|
return formatStructuredError("Invalid input for quickstart.", parsed.error.issues.map((e) => e.message).join("; "), "Provide name, capabilities, worker, payment, deadline, descriptionHash.", true);
|
|
94
104
|
}
|
|
95
105
|
const { name, capabilities, worker, payment, deadline, descriptionHash } = parsed.data;
|
|
106
|
+
const paymentWei = parseEther(payment);
|
|
107
|
+
if (!params.confirm) {
|
|
108
|
+
return formatReadResult({
|
|
109
|
+
confirmationRequired: true,
|
|
110
|
+
action: "Register agent AND create task in one transaction",
|
|
111
|
+
cost: formatEther(paymentWei) + " ETH task payment",
|
|
112
|
+
reason: "Registers agent and locks payment in escrow",
|
|
113
|
+
toProceed: "Call corven_router again with confirm: true",
|
|
114
|
+
}, "CONFIRMATION REQUIRED");
|
|
115
|
+
}
|
|
96
116
|
const result = await executeOrPrepare(CONTRACTS.COVENANTRouter, ROUTER_ABI, "registerAndCreateTask", [
|
|
97
117
|
name,
|
|
98
118
|
capabilities,
|
|
@@ -100,7 +120,7 @@ export function registerRouterTools(server) {
|
|
|
100
120
|
BigInt(payment),
|
|
101
121
|
BigInt(deadline),
|
|
102
122
|
descriptionHash,
|
|
103
|
-
],
|
|
123
|
+
], paymentWei);
|
|
104
124
|
return formatTxResult(result);
|
|
105
125
|
}
|
|
106
126
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-router.js","sourceRoot":"","sources":["../../src/tools/corven-router.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAa,UAAU,EAAgB,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"corven-router.js","sourceRoot":"","sources":["../../src/tools/corven-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-stream.d.ts","sourceRoot":"","sources":["../../src/tools/corven-stream.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"corven-stream.d.ts","sourceRoot":"","sources":["../../src/tools/corven-stream.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8GzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwK3D"}
|
|
@@ -77,6 +77,7 @@ const schema = z.object({
|
|
|
77
77
|
payment: z.string().optional(),
|
|
78
78
|
startTime: z.number().optional(),
|
|
79
79
|
endTime: z.number().optional(),
|
|
80
|
+
confirm: z.boolean().optional().default(false).describe('Set to true to execute. Without this, shows what will happen.'),
|
|
80
81
|
});
|
|
81
82
|
export function registerStreamTools(server) {
|
|
82
83
|
server.registerTool("corven_stream", {
|
|
@@ -105,9 +106,18 @@ export function registerStreamTools(server) {
|
|
|
105
106
|
}
|
|
106
107
|
const account = getAccount();
|
|
107
108
|
if (!account) {
|
|
108
|
-
return formatStructuredError("No private key configured.", "
|
|
109
|
+
return formatStructuredError("No private key configured.", "Wallet not configured.", "Set up a wallet to perform write operations.", false);
|
|
109
110
|
}
|
|
110
111
|
const totalPayment = parseEther(args.payment);
|
|
112
|
+
if (!args.confirm) {
|
|
113
|
+
return formatReadResult({
|
|
114
|
+
confirmationRequired: true,
|
|
115
|
+
action: "Create streaming payment to worker",
|
|
116
|
+
cost: formatEther(totalPayment) + " ETH over " + (args.endTime - args.startTime) + "s",
|
|
117
|
+
reason: "Payment accrues linearly to worker address",
|
|
118
|
+
toProceed: "Call corven_stream again with confirm: true",
|
|
119
|
+
}, "CONFIRMATION REQUIRED");
|
|
120
|
+
}
|
|
111
121
|
const duration = BigInt(args.endTime - args.startTime);
|
|
112
122
|
const ratePerSecond = totalPayment / duration;
|
|
113
123
|
const streamId = nextStreamId++;
|
|
@@ -126,7 +136,7 @@ export function registerStreamTools(server) {
|
|
|
126
136
|
}
|
|
127
137
|
const account = getAccount();
|
|
128
138
|
if (!account) {
|
|
129
|
-
return formatStructuredError("No private key configured.", "
|
|
139
|
+
return formatStructuredError("No private key configured.", "Wallet not configured.", "Set up a wallet to perform write operations.", false);
|
|
130
140
|
}
|
|
131
141
|
const stream = streams.get(args.streamId);
|
|
132
142
|
if (!stream) {
|
|
@@ -136,12 +146,21 @@ export function registerStreamTools(server) {
|
|
|
136
146
|
return formatStructuredError("Stream is cancelled.", `Stream #${args.streamId} has been cancelled.`, "No further withdrawals possible.", false);
|
|
137
147
|
}
|
|
138
148
|
if (account.address.toLowerCase() !== stream.worker.toLowerCase()) {
|
|
139
|
-
return formatStructuredError("Not authorized.", "Only the assigned worker can withdraw.", "Ensure
|
|
149
|
+
return formatStructuredError("Not authorized.", "Only the assigned worker can withdraw.", "Ensure your wallet address matches the worker address.", false);
|
|
140
150
|
}
|
|
141
151
|
const withdrawable = calcWithdrawable(stream);
|
|
142
152
|
if (withdrawable === 0n) {
|
|
143
153
|
return formatStructuredError("Nothing to withdraw.", "No new funds have accrued since last withdrawal.", "Wait for more time to pass, then try again.", false);
|
|
144
154
|
}
|
|
155
|
+
if (!args.confirm) {
|
|
156
|
+
return formatReadResult({
|
|
157
|
+
confirmationRequired: true,
|
|
158
|
+
action: "Withdraw accrued funds from stream #" + args.streamId,
|
|
159
|
+
cost: formatEther(withdrawable) + " ETH",
|
|
160
|
+
reason: "Withdrawing accrued payment from escrow",
|
|
161
|
+
toProceed: "Call corven_stream again with confirm: true",
|
|
162
|
+
}, "CONFIRMATION REQUIRED");
|
|
163
|
+
}
|
|
145
164
|
stream.withdrawn += withdrawable;
|
|
146
165
|
streams.set(args.streamId, stream);
|
|
147
166
|
persistStreams();
|
|
@@ -153,7 +172,7 @@ export function registerStreamTools(server) {
|
|
|
153
172
|
}
|
|
154
173
|
const account = getAccount();
|
|
155
174
|
if (!account) {
|
|
156
|
-
return formatStructuredError("No private key configured.", "
|
|
175
|
+
return formatStructuredError("No private key configured.", "Wallet not configured.", "Set up a wallet to perform write operations.", false);
|
|
157
176
|
}
|
|
158
177
|
const stream = streams.get(args.streamId);
|
|
159
178
|
if (!stream) {
|
|
@@ -164,12 +183,21 @@ export function registerStreamTools(server) {
|
|
|
164
183
|
}
|
|
165
184
|
const caller = account.address.toLowerCase();
|
|
166
185
|
if (caller !== stream.client.toLowerCase() && caller !== stream.worker.toLowerCase()) {
|
|
167
|
-
return formatStructuredError("Not authorized.", "Only the stream client or worker can cancel.", "Ensure
|
|
186
|
+
return formatStructuredError("Not authorized.", "Only the stream client or worker can cancel.", "Ensure your wallet address matches either address.", false);
|
|
168
187
|
}
|
|
169
188
|
const finalAccrued = calcAccrued(stream);
|
|
170
189
|
const finalWithdrawal = finalAccrued > stream.withdrawn ? finalAccrued - stream.withdrawn : 0n;
|
|
190
|
+
const refund = stream.totalPayment - (stream.withdrawn + finalWithdrawal);
|
|
191
|
+
if (!args.confirm) {
|
|
192
|
+
return formatReadResult({
|
|
193
|
+
confirmationRequired: true,
|
|
194
|
+
action: "Cancel stream #" + args.streamId,
|
|
195
|
+
cost: "Worker gets " + formatEther(finalWithdrawal) + " ETH, refund " + formatEther(refund) + " ETH",
|
|
196
|
+
reason: "Cancelling stops accrual and refunds remaining",
|
|
197
|
+
toProceed: "Call corven_stream again with confirm: true",
|
|
198
|
+
}, "CONFIRMATION REQUIRED");
|
|
199
|
+
}
|
|
171
200
|
stream.withdrawn += finalWithdrawal;
|
|
172
|
-
const refund = stream.totalPayment - stream.withdrawn;
|
|
173
201
|
stream.cancelled = true;
|
|
174
202
|
stream.endTime = Math.floor(Date.now() / 1000);
|
|
175
203
|
streams.set(args.streamId, stream);
|