@varun-ai07/covenant-mcp 1.2.2 → 1.3.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/README.md +128 -12
- package/dist/abis/MultiTokenEscrow.json +836 -0
- package/dist/abis/v2/AgentRegistry.json +872 -0
- package/dist/abis/v2/DisputeResolution.json +493 -0
- package/dist/abis/v2/InsurancePool.json +645 -0
- package/dist/abis/v2/ReceiptVerifier.json +394 -0
- package/dist/abis/v2/RevisionManager.json +544 -0
- package/dist/abis/v2/TaskEscrow.json +1018 -0
- package/dist/cli.js +0 -0
- package/dist/config.d.ts +13 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +84 -25
- package/dist/config.js.map +1 -1
- package/dist/handlers/wallet.d.ts.map +1 -1
- package/dist/handlers/wallet.js +1 -1
- package/dist/handlers/wallet.js.map +1 -1
- package/dist/lib/did.d.ts +72 -0
- package/dist/lib/did.d.ts.map +1 -0
- package/dist/lib/did.js +115 -0
- package/dist/lib/did.js.map +1 -0
- package/dist/lib/events.d.ts.map +1 -1
- package/dist/lib/events.js +2 -2
- package/dist/lib/events.js.map +1 -1
- package/dist/lib/formatResponse.d.ts +33 -0
- package/dist/lib/formatResponse.d.ts.map +1 -0
- package/dist/lib/formatResponse.js +92 -0
- package/dist/lib/formatResponse.js.map +1 -0
- package/dist/lib/schemaHelpers.d.ts +11 -0
- package/dist/lib/schemaHelpers.d.ts.map +1 -0
- package/dist/lib/schemaHelpers.js +11 -0
- package/dist/lib/schemaHelpers.js.map +1 -0
- package/dist/lib/store.d.ts +10 -0
- package/dist/lib/store.d.ts.map +1 -0
- package/dist/lib/store.js +39 -0
- package/dist/lib/store.js.map +1 -0
- package/dist/lib/verify.d.ts +21 -0
- package/dist/lib/verify.d.ts.map +1 -0
- package/dist/lib/verify.js +568 -0
- package/dist/lib/verify.js.map +1 -0
- package/dist/schemas.d.ts +5 -5
- package/dist/schemas.d.ts.map +1 -1
- package/dist/server.d.ts +1 -25
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +53 -37
- package/dist/server.js.map +1 -1
- package/dist/tools/account-abstraction.d.ts +3 -0
- package/dist/tools/account-abstraction.d.ts.map +1 -0
- package/dist/tools/account-abstraction.js +364 -0
- package/dist/tools/account-abstraction.js.map +1 -0
- package/dist/tools/batches.d.ts.map +1 -1
- package/dist/tools/batches.js +68 -37
- package/dist/tools/batches.js.map +1 -1
- package/dist/tools/bounties.d.ts +3 -0
- package/dist/tools/bounties.d.ts.map +1 -0
- package/dist/tools/bounties.js +304 -0
- package/dist/tools/bounties.js.map +1 -0
- package/dist/tools/bridge.d.ts +3 -0
- package/dist/tools/bridge.d.ts.map +1 -0
- package/dist/tools/bridge.js +190 -0
- package/dist/tools/bridge.js.map +1 -0
- package/dist/tools/collectives.d.ts.map +1 -1
- package/dist/tools/collectives.js +75 -48
- package/dist/tools/collectives.js.map +1 -1
- package/dist/tools/covenant-help.d.ts +3 -0
- package/dist/tools/covenant-help.d.ts.map +1 -0
- package/dist/tools/covenant-help.js +321 -0
- package/dist/tools/covenant-help.js.map +1 -0
- package/dist/tools/cross-chain.d.ts +3 -0
- package/dist/tools/cross-chain.d.ts.map +1 -0
- package/dist/tools/cross-chain.js +77 -0
- package/dist/tools/cross-chain.js.map +1 -0
- package/dist/tools/disputes.d.ts.map +1 -1
- package/dist/tools/disputes.js +39 -33
- package/dist/tools/disputes.js.map +1 -1
- package/dist/tools/escrow.d.ts.map +1 -1
- package/dist/tools/escrow.js +277 -202
- package/dist/tools/escrow.js.map +1 -1
- package/dist/tools/fiat-onramp.d.ts +3 -0
- package/dist/tools/fiat-onramp.d.ts.map +1 -0
- package/dist/tools/fiat-onramp.js +108 -0
- package/dist/tools/fiat-onramp.js.map +1 -0
- package/dist/tools/governance.d.ts +3 -0
- package/dist/tools/governance.d.ts.map +1 -0
- package/dist/tools/governance.js +271 -0
- package/dist/tools/governance.js.map +1 -0
- package/dist/tools/grants.d.ts +3 -0
- package/dist/tools/grants.d.ts.map +1 -0
- package/dist/tools/grants.js +269 -0
- package/dist/tools/grants.js.map +1 -0
- package/dist/tools/insurance.d.ts.map +1 -1
- package/dist/tools/insurance.js +92 -45
- package/dist/tools/insurance.js.map +1 -1
- package/dist/tools/market.d.ts.map +1 -1
- package/dist/tools/market.js +122 -103
- package/dist/tools/market.js.map +1 -1
- package/dist/tools/matching.d.ts +3 -0
- package/dist/tools/matching.d.ts.map +1 -0
- package/dist/tools/matching.js +233 -0
- package/dist/tools/matching.js.map +1 -0
- package/dist/tools/messaging.d.ts +3 -0
- package/dist/tools/messaging.d.ts.map +1 -0
- package/dist/tools/messaging.js +159 -0
- package/dist/tools/messaging.js.map +1 -0
- package/dist/tools/multi-token.d.ts +3 -0
- package/dist/tools/multi-token.d.ts.map +1 -0
- package/dist/tools/multi-token.js +274 -0
- package/dist/tools/multi-token.js.map +1 -0
- package/dist/tools/offchain-coordinator.d.ts +3 -0
- package/dist/tools/offchain-coordinator.d.ts.map +1 -0
- package/dist/tools/offchain-coordinator.js +436 -0
- package/dist/tools/offchain-coordinator.js.map +1 -0
- package/dist/tools/protocol.d.ts.map +1 -1
- package/dist/tools/protocol.js +19 -6
- package/dist/tools/protocol.js.map +1 -1
- package/dist/tools/receipts.d.ts.map +1 -1
- package/dist/tools/receipts.js +45 -22
- package/dist/tools/receipts.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +90 -43
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/reputation-vc.d.ts +3 -0
- package/dist/tools/reputation-vc.d.ts.map +1 -0
- package/dist/tools/reputation-vc.js +438 -0
- package/dist/tools/reputation-vc.js.map +1 -0
- package/dist/tools/revisions.d.ts +3 -0
- package/dist/tools/revisions.d.ts.map +1 -0
- package/dist/tools/revisions.js +108 -0
- package/dist/tools/revisions.js.map +1 -0
- package/dist/tools/router.d.ts +3 -0
- package/dist/tools/router.d.ts.map +1 -0
- package/dist/tools/router.js +104 -0
- package/dist/tools/router.js.map +1 -0
- package/dist/tools/streaming.d.ts +3 -0
- package/dist/tools/streaming.d.ts.map +1 -0
- package/dist/tools/streaming.js +350 -0
- package/dist/tools/streaming.js.map +1 -0
- package/dist/tools/templates.d.ts +3 -0
- package/dist/tools/templates.d.ts.map +1 -0
- package/dist/tools/templates.js +392 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/training.d.ts +3 -0
- package/dist/tools/training.d.ts.map +1 -0
- package/dist/tools/training.js +304 -0
- package/dist/tools/training.js.map +1 -0
- package/dist/tools/v2-settlement.d.ts +3 -0
- package/dist/tools/v2-settlement.d.ts.map +1 -0
- package/dist/tools/v2-settlement.js +226 -0
- package/dist/tools/v2-settlement.js.map +1 -0
- package/dist/tools/verification.d.ts +3 -0
- package/dist/tools/verification.d.ts.map +1 -0
- package/dist/tools/verification.js +215 -0
- package/dist/tools/verification.js.map +1 -0
- package/dist/tools/verify-deep.d.ts +3 -0
- package/dist/tools/verify-deep.d.ts.map +1 -0
- package/dist/tools/verify-deep.js +125 -0
- package/dist/tools/verify-deep.js.map +1 -0
- package/dist/types.d.ts +16 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -23
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +2 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +8 -34
- package/dist/utils.js.map +1 -1
- package/package.json +3 -1
package/dist/server.js
CHANGED
|
@@ -1,31 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* COVENANT MCP Server — tool registration hub.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* AgentRegistry (6): corven_register_agent, corven_get_agent, corven_find_workers,
|
|
6
|
-
* corven_add_stake, corven_deactivate_agent, corven_get_all_agents
|
|
7
|
-
* TaskEscrow (19): corven_create_task, corven_get_task, corven_submit_work, corven_verify_task,
|
|
8
|
-
* corven_dispute_task, corven_create_task_with_priority, corven_create_milestone_task,
|
|
9
|
-
* corven_submit_milestone, corven_verify_milestone, corven_get_milestone,
|
|
10
|
-
* corven_get_milestone_count, corven_create_subtask, corven_get_child_tasks,
|
|
11
|
-
* corven_submit_query, corven_respond_to_query, corven_get_query,
|
|
12
|
-
* corven_get_query_count, corven_get_client_tasks, corven_get_worker_tasks
|
|
13
|
-
* ReceiptVerifier (4): corven_get_receipts, corven_verify_receipt, corven_create_receipt, corven_get_receipt_count
|
|
14
|
-
* Protocol (2): corven_get_stats, corven_get_leaderboard
|
|
15
|
-
* OpenTaskMarket (11): corven_post_open_task, corven_get_open_task, corven_submit_bid, corven_get_bid,
|
|
16
|
-
* corven_select_worker, corven_make_counter_offer, corven_accept_counter_offer,
|
|
17
|
-
* corven_withdraw_bid, corven_cancel_open_task, corven_complete_open_task,
|
|
18
|
-
* corven_reject_counter_offer
|
|
19
|
-
* ParallelTaskBatch (7):corven_create_batch, corven_get_batch, corven_get_batch_status,
|
|
20
|
-
* corven_aggregate_results, corven_get_batch_counter, corven_check_batch_submitted,
|
|
21
|
-
* corven_get_aggregated_result
|
|
22
|
-
* AgentCollective (7): corven_create_collective, corven_join_collective, corven_launch_collective_task,
|
|
23
|
-
* corven_get_collective, corven_get_collective_counter, corven_submit_deliverable,
|
|
24
|
-
* corven_claim_deliverable
|
|
25
|
-
* DisputeArbitration (4):corven_file_dispute, corven_cast_vote, corven_get_dispute, corven_get_dispute_counter
|
|
26
|
-
* AgentInsurance (10): corven_claim_insurance, corven_get_claim, corven_get_claim_counter,
|
|
27
|
-
* corven_get_coverage_percent, corven_join_insurance_pool, corven_pay_premium,
|
|
28
|
-
* corven_vote_on_claim, corven_pay_claim, corven_get_pool_balance, corven_get_member_info
|
|
4
|
+
* 12 files, ~70 tools. Settlement onchain, coordination offchain.
|
|
29
5
|
*/
|
|
30
6
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
31
7
|
import { registerAgentTools } from "./tools/registry.js";
|
|
@@ -37,24 +13,64 @@ import { registerBatchTools } from "./tools/batches.js";
|
|
|
37
13
|
import { registerCollectiveTools } from "./tools/collectives.js";
|
|
38
14
|
import { registerDisputeTools } from "./tools/disputes.js";
|
|
39
15
|
import { registerInsuranceTools } from "./tools/insurance.js";
|
|
16
|
+
import { registerVerificationTools } from "./tools/verification.js";
|
|
17
|
+
import { registerRouterTools } from "./tools/router.js";
|
|
18
|
+
import { registerOffchainCoordinatorTools } from "./tools/offchain-coordinator.js";
|
|
19
|
+
import { registerMultiTokenTools } from "./tools/multi-token.js";
|
|
20
|
+
import { registerReputationVCTools } from "./tools/reputation-vc.js";
|
|
21
|
+
import { registerCovenantHelpTools } from "./tools/covenant-help.js";
|
|
22
|
+
import { registerAATools } from "./tools/account-abstraction.js";
|
|
23
|
+
import { registerFiatOnrampTools } from "./tools/fiat-onramp.js";
|
|
24
|
+
import { registerTemplateTools } from "./tools/templates.js";
|
|
25
|
+
import { registerMatchingTools } from "./tools/matching.js";
|
|
26
|
+
import { registerMessagingTools } from "./tools/messaging.js";
|
|
27
|
+
import { registerCrossChainTools } from "./tools/cross-chain.js";
|
|
28
|
+
import { registerStreamingTools } from "./tools/streaming.js";
|
|
29
|
+
import { registerGovernanceTools } from "./tools/governance.js";
|
|
30
|
+
import { registerBountyTools } from "./tools/bounties.js";
|
|
31
|
+
import { registerBridgeTools } from "./tools/bridge.js";
|
|
32
|
+
import { registerGrantTools } from "./tools/grants.js";
|
|
33
|
+
import { registerTrainingTools } from "./tools/training.js";
|
|
34
|
+
import { registerVerifyDeepTools } from "./tools/verify-deep.js";
|
|
35
|
+
import { registerRevisionTools } from "./tools/revisions.js";
|
|
40
36
|
import { info } from "./logger.js";
|
|
41
37
|
export function createServer() {
|
|
42
38
|
const server = new McpServer({
|
|
43
39
|
name: "covenant-mcp",
|
|
44
40
|
version: "1.0.0",
|
|
45
41
|
});
|
|
46
|
-
//
|
|
47
|
-
registerAgentTools(server);
|
|
48
|
-
registerEscrowTools(server);
|
|
49
|
-
registerReceiptTools(server);
|
|
50
|
-
registerProtocolTools(server);
|
|
51
|
-
//
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
42
|
+
// Settlement layer (onchain)
|
|
43
|
+
registerAgentTools(server); // AgentRegistry
|
|
44
|
+
registerEscrowTools(server); // TaskEscrow
|
|
45
|
+
registerReceiptTools(server); // ReceiptVerifier
|
|
46
|
+
registerProtocolTools(server); // Protocol stats
|
|
47
|
+
registerMarketTools(server); // OpenTaskMarket
|
|
48
|
+
registerBatchTools(server); // ParallelTaskBatch
|
|
49
|
+
registerCollectiveTools(server); // AgentCollective
|
|
50
|
+
registerDisputeTools(server); // DisputeArbitration
|
|
51
|
+
registerInsuranceTools(server); // AgentInsurance
|
|
52
|
+
registerVerificationTools(server); // ZK + ERC-8004
|
|
53
|
+
registerRouterTools(server); // COVENANTRouter
|
|
54
|
+
registerMultiTokenTools(server); // MultiTokenEscrow
|
|
55
|
+
registerReputationVCTools(server); // Reputation VCs + DID
|
|
56
|
+
registerAATools(server); // Account Abstraction (Smart Wallet + Paymaster)
|
|
57
|
+
// Meta & coordination tools (offchain)
|
|
58
|
+
registerCovenantHelpTools(server); // Protocol guide + workflow sequences
|
|
59
|
+
registerTemplateTools(server); // Task templates with auto-pricing
|
|
60
|
+
registerMatchingTools(server); // Smart worker matching (multi-factor scoring)
|
|
61
|
+
registerOffchainCoordinatorTools(server); // Profiles, matching, templates, marketplace
|
|
62
|
+
registerMessagingTools(server); // Agent messaging (in-memory MVP)
|
|
63
|
+
registerFiatOnrampTools(server); // Fiat on-ramp URLs (MoonPay/Transak)
|
|
64
|
+
registerCrossChainTools(server); // Cross-chain config & supported chains
|
|
65
|
+
registerStreamingTools(server); // Streaming pay-per-second payments
|
|
66
|
+
registerGovernanceTools(server); // Governance DAO (in-memory MVP)
|
|
67
|
+
registerBountyTools(server); // Bounty Board (in-memory MVP)
|
|
68
|
+
registerBridgeTools(server); // Cross-chain bridge estimates & status
|
|
69
|
+
registerGrantTools(server); // Grant Program (in-memory MVP)
|
|
70
|
+
registerTrainingTools(server); // Training Marketplace (in-memory MVP)
|
|
71
|
+
registerVerifyDeepTools(server); // Deep project verification (off-chain analysis)
|
|
72
|
+
registerRevisionTools(server); // RevisionManager — revision tracking
|
|
73
|
+
info("[SERVER] corven_ MCP tools registered");
|
|
58
74
|
return server;
|
|
59
75
|
}
|
|
60
76
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-abstraction.d.ts","sourceRoot":"","sources":["../../src/tools/account-abstraction.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwKzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0SvD"}
|
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Account Abstraction MCP Tools
|
|
3
|
+
*
|
|
4
|
+
* corven_create_smart_wallet — Deploy a new AgentSmartWallet
|
|
5
|
+
* corven_get_smart_wallet — Get wallet details (limits, pause, balance)
|
|
6
|
+
* corven_set_spending_limit — Controller sets daily/tx limits
|
|
7
|
+
* corven_set_recipient — Controller manages whitelist
|
|
8
|
+
* corven_emergency_pause — Controller pauses/unpauses
|
|
9
|
+
*/
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
import { parseEther, formatEther } from "viem";
|
|
12
|
+
import { getAccount, getWalletClient, getPublicClient, getExplorerTxUrl } from "../config.js";
|
|
13
|
+
import { formatReadResult } from "../handlers/transactions.js";
|
|
14
|
+
import { formatSuccess, formatStructuredError, parseContractError } from "../lib/formatResponse.js";
|
|
15
|
+
import { ethAddress, ethAmount } from "../lib/schemaHelpers.js";
|
|
16
|
+
import fs from "node:fs";
|
|
17
|
+
import path from "node:path";
|
|
18
|
+
// ─── Inline ABI for AgentSmartWallet ──────────────────────────
|
|
19
|
+
// Matches the Solidity contract at contracts/v2/core/AgentSmartWallet.sol
|
|
20
|
+
const AgentSmartWalletAbi = [
|
|
21
|
+
{ type: "constructor", inputs: [
|
|
22
|
+
{ name: "_controller", type: "address" },
|
|
23
|
+
{ name: "_dailyLimit", type: "uint256" },
|
|
24
|
+
{ name: "_perTxLimit", type: "uint256" },
|
|
25
|
+
], stateMutability: "nonpayable" },
|
|
26
|
+
{ type: "receive", stateMutability: "payable" },
|
|
27
|
+
{ type: "function", name: "controller", inputs: [], outputs: [{ type: "address" }], stateMutability: "view" },
|
|
28
|
+
{ type: "function", name: "dailyLimit", inputs: [], outputs: [{ type: "uint256" }], stateMutability: "view" },
|
|
29
|
+
{ type: "function", name: "perTxLimit", inputs: [], outputs: [{ type: "uint256" }], stateMutability: "view" },
|
|
30
|
+
{ type: "function", name: "dailySpent", inputs: [], outputs: [{ type: "uint256" }], stateMutability: "view" },
|
|
31
|
+
{ type: "function", name: "lastResetDay", inputs: [], outputs: [{ type: "uint256" }], stateMutability: "view" },
|
|
32
|
+
{ type: "function", name: "paused", inputs: [], outputs: [{ type: "bool" }], stateMutability: "view" },
|
|
33
|
+
{ type: "function", name: "allowedRecipients", inputs: [{ name: "", type: "address" }], outputs: [{ type: "bool" }], stateMutability: "view" },
|
|
34
|
+
{ type: "function", name: "owner", inputs: [], outputs: [{ type: "address" }], stateMutability: "view" },
|
|
35
|
+
{ type: "function", name: "getRemainingDailyAllowance", inputs: [], outputs: [{ type: "uint256" }], stateMutability: "view" },
|
|
36
|
+
{ type: "function", name: "getBalance", inputs: [], outputs: [{ type: "uint256" }], stateMutability: "view" },
|
|
37
|
+
{ type: "function", name: "execute", inputs: [
|
|
38
|
+
{ name: "to", type: "address" },
|
|
39
|
+
{ name: "value", type: "uint256" },
|
|
40
|
+
{ name: "data", type: "bytes" },
|
|
41
|
+
], outputs: [{ name: "result", type: "bytes" }], stateMutability: "nonpayable" },
|
|
42
|
+
{ type: "function", name: "setDailyLimit", inputs: [{ name: "_limit", type: "uint256" }], outputs: [], stateMutability: "nonpayable" },
|
|
43
|
+
{ type: "function", name: "setPerTxLimit", inputs: [{ name: "_limit", type: "uint256" }], outputs: [], stateMutability: "nonpayable" },
|
|
44
|
+
{ type: "function", name: "setRecipient", inputs: [
|
|
45
|
+
{ name: "_recipient", type: "address" },
|
|
46
|
+
{ name: "_allowed", type: "bool" },
|
|
47
|
+
], outputs: [], stateMutability: "nonpayable" },
|
|
48
|
+
{ type: "function", name: "setPaused", inputs: [{ name: "_paused", type: "bool" }], outputs: [], stateMutability: "nonpayable" },
|
|
49
|
+
{ type: "function", name: "setController", inputs: [{ name: "_controller", type: "address" }], outputs: [], stateMutability: "nonpayable" },
|
|
50
|
+
];
|
|
51
|
+
// ─── Bytecode loader ──────────────────────────────────────────
|
|
52
|
+
function loadSmartWalletBytecode() {
|
|
53
|
+
// Resolve from the MCP package root
|
|
54
|
+
const candidates = [
|
|
55
|
+
// Relative to this source file (mcp/src/tools -> mcp -> contracts)
|
|
56
|
+
path.resolve(process.cwd(), "../contracts/artifacts/contracts/v2/core/AgentSmartWallet.sol/AgentSmartWallet.json"),
|
|
57
|
+
// Absolute project layout
|
|
58
|
+
path.resolve(process.cwd(), "contracts/artifacts/contracts/v2/core/AgentSmartWallet.sol/AgentSmartWallet.json"),
|
|
59
|
+
];
|
|
60
|
+
for (const artifactPath of candidates) {
|
|
61
|
+
if (fs.existsSync(artifactPath)) {
|
|
62
|
+
const artifact = JSON.parse(fs.readFileSync(artifactPath, "utf-8"));
|
|
63
|
+
return artifact.bytecode;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
throw new Error("AgentSmartWallet artifact not found. Run: cd /home/vxrun/Projects/varun/contracts && npx hardhat compile");
|
|
67
|
+
}
|
|
68
|
+
// ─── Deploy helper ────────────────────────────────────────────
|
|
69
|
+
async function deploySmartWallet(controller, dailyLimitWei, perTxLimitWei) {
|
|
70
|
+
const wallet = getWalletClient();
|
|
71
|
+
const publicClient = getPublicClient();
|
|
72
|
+
const account = getAccount();
|
|
73
|
+
if (!wallet || !account) {
|
|
74
|
+
return { status: "error", error: "No wallet client available. Set PRIVATE_KEY and COVENANT_WALLET_MODE=autonomous." };
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
const bytecode = loadSmartWalletBytecode();
|
|
78
|
+
const hash = await wallet.deployContract({
|
|
79
|
+
abi: AgentSmartWalletAbi,
|
|
80
|
+
bytecode,
|
|
81
|
+
args: [controller, dailyLimitWei, perTxLimitWei],
|
|
82
|
+
account,
|
|
83
|
+
});
|
|
84
|
+
console.error(`[TX] Deploy AgentSmartWallet: ${hash}`);
|
|
85
|
+
console.error(`[TX] Explorer: ${getExplorerTxUrl(hash)}`);
|
|
86
|
+
const receipt = await publicClient.waitForTransactionReceipt({
|
|
87
|
+
hash,
|
|
88
|
+
timeout: 60_000,
|
|
89
|
+
});
|
|
90
|
+
return {
|
|
91
|
+
status: "success",
|
|
92
|
+
txHash: hash,
|
|
93
|
+
blockNumber: receipt.blockNumber,
|
|
94
|
+
gasUsed: receipt.gasUsed,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
const msg = error?.message || String(error);
|
|
99
|
+
return { status: "error", error: msg.slice(0, 500) };
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// ─── Write helper (for existing contracts) ────────────────────
|
|
103
|
+
async function executeWalletWrite(walletAddress, functionName, args) {
|
|
104
|
+
const wallet = getWalletClient();
|
|
105
|
+
const publicClient = getPublicClient();
|
|
106
|
+
const account = getAccount();
|
|
107
|
+
if (!wallet || !account) {
|
|
108
|
+
return { status: "error", error: "No wallet client available. Set PRIVATE_KEY and COVENANT_WALLET_MODE=autonomous." };
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
const { request } = await publicClient.simulateContract({
|
|
112
|
+
address: walletAddress,
|
|
113
|
+
abi: AgentSmartWalletAbi,
|
|
114
|
+
functionName,
|
|
115
|
+
args: args,
|
|
116
|
+
account,
|
|
117
|
+
});
|
|
118
|
+
const hash = await wallet.writeContract(request);
|
|
119
|
+
console.error(`[TX] ${functionName}: ${hash}`);
|
|
120
|
+
const receipt = await publicClient.waitForTransactionReceipt({
|
|
121
|
+
hash,
|
|
122
|
+
timeout: 60_000,
|
|
123
|
+
});
|
|
124
|
+
return {
|
|
125
|
+
status: "success",
|
|
126
|
+
txHash: hash,
|
|
127
|
+
blockNumber: receipt.blockNumber,
|
|
128
|
+
gasUsed: receipt.gasUsed,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
const msg = error?.message || String(error);
|
|
133
|
+
const revertMatch = msg.match(/revert(?:ed| reason)?\s*:?\s*"?([^"\n]+)"?/i);
|
|
134
|
+
return {
|
|
135
|
+
status: "error",
|
|
136
|
+
error: revertMatch ? `Transaction reverted: ${revertMatch[1]}` : msg.slice(0, 500),
|
|
137
|
+
reason: msg,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// ─── Error helper ─────────────────────────────────────────────
|
|
142
|
+
function txErrorMessage(result) {
|
|
143
|
+
if (result.status === "error")
|
|
144
|
+
return result.error;
|
|
145
|
+
if (result.status === "prepared")
|
|
146
|
+
return "Transaction prepared but not sent (prepare-only mode).";
|
|
147
|
+
return "Unknown error.";
|
|
148
|
+
}
|
|
149
|
+
// ─── Register tools ───────────────────────────────────────────
|
|
150
|
+
export function registerAATools(server) {
|
|
151
|
+
// ──────────────────────────────────────────────────────────────
|
|
152
|
+
// corven_create_smart_wallet
|
|
153
|
+
// ──────────────────────────────────────────────────────────────
|
|
154
|
+
server.registerTool("corven_create_smart_wallet", {
|
|
155
|
+
title: "Deploy Smart Wallet",
|
|
156
|
+
description: "Deploy a new AgentSmartWallet for the caller. Creates an ERC-4337 compatible smart account with spending limits, recipient whitelist, and emergency pause.\n" +
|
|
157
|
+
"USE WHEN: An agent needs a dedicated smart wallet with safety guardrails. The deployer becomes the owner (agent EOA) and controller (human guardian).\n" +
|
|
158
|
+
"REQUIRES: PRIVATE_KEY set in .env. Wallet needs ~0.001 ETH for gas.\n" +
|
|
159
|
+
"RETURNS: Wallet address, controller, daily limit, per-tx limit, Basescan link.\n" +
|
|
160
|
+
"COMES BEFORE: corven_set_recipient to whitelist payment targets. corven_set_spending_limit to adjust limits.\n" +
|
|
161
|
+
"NOTE: The controller can pause the wallet, change limits, and manage the whitelist. The agent can only execute transactions within the set limits.",
|
|
162
|
+
inputSchema: {
|
|
163
|
+
controller: ethAddress.describe("Human controller address (can pause, set limits, manage whitelist)"),
|
|
164
|
+
dailyLimit: ethAmount.describe("Daily spending limit in ETH (e.g. '1.0')"),
|
|
165
|
+
perTxLimit: ethAmount.describe("Per-transaction cap in ETH (e.g. '0.1')"),
|
|
166
|
+
},
|
|
167
|
+
}, async ({ controller, dailyLimit, perTxLimit }) => {
|
|
168
|
+
try {
|
|
169
|
+
const account = getAccount();
|
|
170
|
+
if (!account) {
|
|
171
|
+
return formatStructuredError("No private key configured.", "PRIVATE_KEY environment variable is not set.", "Set PRIVATE_KEY in your .env file.", false);
|
|
172
|
+
}
|
|
173
|
+
const dailyLimitWei = parseEther(dailyLimit);
|
|
174
|
+
const perTxLimitWei = parseEther(perTxLimit);
|
|
175
|
+
const result = await deploySmartWallet(controller, dailyLimitWei, perTxLimitWei);
|
|
176
|
+
if (result.status === "success") {
|
|
177
|
+
const publicClient = getPublicClient();
|
|
178
|
+
const receipt = await publicClient.getTransactionReceipt({ hash: result.txHash });
|
|
179
|
+
const walletAddr = receipt.contractAddress;
|
|
180
|
+
return formatSuccess(`AgentSmartWallet deployed. Agent = owner, human = controller.`, {
|
|
181
|
+
walletAddress: walletAddr || "Check Basescan for contract address",
|
|
182
|
+
owner: account.address,
|
|
183
|
+
controller,
|
|
184
|
+
dailyLimit: `${dailyLimit} ETH`,
|
|
185
|
+
perTxLimit: `${perTxLimit} ETH`,
|
|
186
|
+
}, result.txHash, [
|
|
187
|
+
"Call corven_set_recipient to whitelist addresses the wallet can send to.",
|
|
188
|
+
"Call corven_set_spending_limit to adjust daily/tx limits.",
|
|
189
|
+
"The controller can call corven_emergency_pause to freeze the wallet.",
|
|
190
|
+
]);
|
|
191
|
+
}
|
|
192
|
+
return {
|
|
193
|
+
content: [{ type: "text", text: `Deployment failed: ${txErrorMessage(result)}` }],
|
|
194
|
+
isError: true,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
catch (e) {
|
|
198
|
+
const parsed = parseContractError(e);
|
|
199
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
// ──────────────────────────────────────────────────────────────
|
|
203
|
+
// corven_get_smart_wallet
|
|
204
|
+
// ──────────────────────────────────────────────────────────────
|
|
205
|
+
server.registerTool("corven_get_smart_wallet", {
|
|
206
|
+
title: "Get Smart Wallet Details",
|
|
207
|
+
description: "Read all details of an AgentSmartWallet: owner, controller, limits, daily spend, pause status, balance.\n" +
|
|
208
|
+
"USE WHEN: Checking current spending limits. Verifying pause status. Checking remaining daily allowance.\n" +
|
|
209
|
+
"REQUIRES: Nothing. Free read-only call.\n" +
|
|
210
|
+
"RETURNS: Owner, controller, daily limit, per-tx limit, daily spent, remaining allowance, pause status, balance.\n" +
|
|
211
|
+
"NOTE: Daily counter resets at midnight UTC automatically.",
|
|
212
|
+
inputSchema: {
|
|
213
|
+
walletAddress: ethAddress.describe("The AgentSmartWallet contract address"),
|
|
214
|
+
},
|
|
215
|
+
}, async ({ walletAddress }) => {
|
|
216
|
+
try {
|
|
217
|
+
const publicClient = getPublicClient();
|
|
218
|
+
const addr = walletAddress;
|
|
219
|
+
const [owner, controller, dailyLimit, perTxLimit, dailySpent, lastResetDay, paused, balance, remainingAllowance] = await Promise.all([
|
|
220
|
+
publicClient.readContract({ address: addr, abi: AgentSmartWalletAbi, functionName: "owner" }),
|
|
221
|
+
publicClient.readContract({ address: addr, abi: AgentSmartWalletAbi, functionName: "controller" }),
|
|
222
|
+
publicClient.readContract({ address: addr, abi: AgentSmartWalletAbi, functionName: "dailyLimit" }),
|
|
223
|
+
publicClient.readContract({ address: addr, abi: AgentSmartWalletAbi, functionName: "perTxLimit" }),
|
|
224
|
+
publicClient.readContract({ address: addr, abi: AgentSmartWalletAbi, functionName: "dailySpent" }),
|
|
225
|
+
publicClient.readContract({ address: addr, abi: AgentSmartWalletAbi, functionName: "lastResetDay" }),
|
|
226
|
+
publicClient.readContract({ address: addr, abi: AgentSmartWalletAbi, functionName: "paused" }),
|
|
227
|
+
publicClient.readContract({ address: addr, abi: AgentSmartWalletAbi, functionName: "getBalance" }),
|
|
228
|
+
publicClient.readContract({ address: addr, abi: AgentSmartWalletAbi, functionName: "getRemainingDailyAllowance" }),
|
|
229
|
+
]);
|
|
230
|
+
return formatReadResult({
|
|
231
|
+
walletAddress: walletAddress,
|
|
232
|
+
owner,
|
|
233
|
+
controller,
|
|
234
|
+
dailyLimit: formatEther(dailyLimit) + " ETH",
|
|
235
|
+
perTxLimit: formatEther(perTxLimit) + " ETH",
|
|
236
|
+
dailySpent: formatEther(dailySpent) + " ETH",
|
|
237
|
+
remainingDailyAllowance: formatEther(remainingAllowance) + " ETH",
|
|
238
|
+
lastResetDay: Number(lastResetDay),
|
|
239
|
+
paused: paused ? "YES" : "NO",
|
|
240
|
+
balance: formatEther(balance) + " ETH",
|
|
241
|
+
}, `Smart Wallet ${walletAddress}`);
|
|
242
|
+
}
|
|
243
|
+
catch (e) {
|
|
244
|
+
const parsed = parseContractError(e);
|
|
245
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
// ──────────────────────────────────────────────────────────────
|
|
249
|
+
// corven_set_spending_limit
|
|
250
|
+
// ──────────────────────────────────────────────────────────────
|
|
251
|
+
server.registerTool("corven_set_spending_limit", {
|
|
252
|
+
title: "Set Spending Limits",
|
|
253
|
+
description: "Controller sets the daily and/or per-transaction spending limits on an AgentSmartWallet.\n" +
|
|
254
|
+
"USE WHEN: The agent needs higher/lower limits. Adjusting guardrails for a specific workload.\n" +
|
|
255
|
+
"REQUIRES: PRIVATE_KEY must be the controller address. Only the human controller can call this.\n" +
|
|
256
|
+
"RETURNS: Updated limits, transaction confirmation.\n" +
|
|
257
|
+
"NOTE: The agent (owner) CANNOT call this -- only the controller can adjust limits.",
|
|
258
|
+
inputSchema: {
|
|
259
|
+
walletAddress: ethAddress.describe("The AgentSmartWallet contract address"),
|
|
260
|
+
dailyLimit: ethAmount.optional().describe("New daily spending limit in ETH (omit to keep current)"),
|
|
261
|
+
perTxLimit: ethAmount.optional().describe("New per-transaction cap in ETH (omit to keep current)"),
|
|
262
|
+
},
|
|
263
|
+
}, async ({ walletAddress, dailyLimit, perTxLimit }) => {
|
|
264
|
+
try {
|
|
265
|
+
if (!dailyLimit && !perTxLimit) {
|
|
266
|
+
return formatStructuredError("No limits provided.", "At least one of dailyLimit or perTxLimit must be specified.", "Provide dailyLimit and/or perTxLimit in ETH.", false);
|
|
267
|
+
}
|
|
268
|
+
const results = [];
|
|
269
|
+
if (dailyLimit) {
|
|
270
|
+
const result = await executeWalletWrite(walletAddress, "setDailyLimit", [parseEther(dailyLimit)]);
|
|
271
|
+
if (result.status === "success") {
|
|
272
|
+
results.push(`Daily limit set to ${dailyLimit} ETH`);
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
return { content: [{ type: "text", text: `Failed: ${result.status === "error" ? result.error : "unknown error"}` }], isError: true };
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
if (perTxLimit) {
|
|
279
|
+
const result = await executeWalletWrite(walletAddress, "setPerTxLimit", [parseEther(perTxLimit)]);
|
|
280
|
+
if (result.status === "success") {
|
|
281
|
+
results.push(`Per-tx limit set to ${perTxLimit} ETH`);
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
return { content: [{ type: "text", text: `Failed: ${result.status === "error" ? result.error : "unknown error"}` }], isError: true };
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
return formatSuccess(`Spending limits updated.`, {
|
|
288
|
+
walletAddress,
|
|
289
|
+
...(dailyLimit && { dailyLimit: `${dailyLimit} ETH` }),
|
|
290
|
+
...(perTxLimit && { perTxLimit: `${perTxLimit} ETH` }),
|
|
291
|
+
changes: results,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
catch (e) {
|
|
295
|
+
const parsed = parseContractError(e);
|
|
296
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
// ──────────────────────────────────────────────────────────────
|
|
300
|
+
// corven_set_recipient
|
|
301
|
+
// ──────────────────────────────────────────────────────────────
|
|
302
|
+
server.registerTool("corven_set_recipient", {
|
|
303
|
+
title: "Manage Recipient Whitelist",
|
|
304
|
+
description: "Controller adds or removes an address from the wallet's recipient whitelist. The agent can only send ETH to whitelisted addresses.\n" +
|
|
305
|
+
"USE WHEN: Whitelisting a new payment target (e.g., a worker agent, a contract). Removing a compromised address.\n" +
|
|
306
|
+
"REQUIRES: PRIVATE_KEY must be the controller address. Only the human controller can call this.\n" +
|
|
307
|
+
"RETURNS: Recipient address, allowed status, transaction confirmation.\n" +
|
|
308
|
+
"NOTE: Without whitelisting, the agent's execute() calls will revert with 'Recipient not whitelisted'.",
|
|
309
|
+
inputSchema: {
|
|
310
|
+
walletAddress: ethAddress.describe("The AgentSmartWallet contract address"),
|
|
311
|
+
recipient: ethAddress.describe("Address to add/remove from whitelist"),
|
|
312
|
+
allowed: z.boolean().describe("true = add to whitelist, false = remove from whitelist"),
|
|
313
|
+
},
|
|
314
|
+
}, async ({ walletAddress, recipient, allowed }) => {
|
|
315
|
+
try {
|
|
316
|
+
const result = await executeWalletWrite(walletAddress, "setRecipient", [recipient, allowed]);
|
|
317
|
+
if (result.status === "success") {
|
|
318
|
+
return formatSuccess(`Recipient ${allowed ? "whitelisted" : "removed"}.`, {
|
|
319
|
+
walletAddress,
|
|
320
|
+
recipient,
|
|
321
|
+
allowed: allowed ? "WHITELISTED" : "REMOVED",
|
|
322
|
+
}, result.txHash);
|
|
323
|
+
}
|
|
324
|
+
return { content: [{ type: "text", text: `Failed: ${result.status === "error" ? result.error : "unknown error"}` }], isError: true };
|
|
325
|
+
}
|
|
326
|
+
catch (e) {
|
|
327
|
+
const parsed = parseContractError(e);
|
|
328
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
// ──────────────────────────────────────────────────────────────
|
|
332
|
+
// corven_emergency_pause
|
|
333
|
+
// ──────────────────────────────────────────────────────────────
|
|
334
|
+
server.registerTool("corven_emergency_pause", {
|
|
335
|
+
title: "Emergency Pause/Unpause",
|
|
336
|
+
description: "Controller pauses or unpauses the AgentSmartWallet. When paused, all execute() calls revert -- the agent cannot send any ETH.\n" +
|
|
337
|
+
"USE WHEN: Suspecting the agent is compromised. Pre-maintenance freeze. Unpausing after resolving an incident.\n" +
|
|
338
|
+
"REQUIRES: PRIVATE_KEY must be the controller address. Only the human controller can call this.\n" +
|
|
339
|
+
"RETURNS: Pause status, transaction confirmation.\n" +
|
|
340
|
+
"NOTE: This is an emergency safety mechanism. The agent cannot unpause itself.",
|
|
341
|
+
inputSchema: {
|
|
342
|
+
walletAddress: ethAddress.describe("The AgentSmartWallet contract address"),
|
|
343
|
+
paused: z.boolean().describe("true = pause (freeze), false = unpause (resume)"),
|
|
344
|
+
},
|
|
345
|
+
}, async ({ walletAddress, paused }) => {
|
|
346
|
+
try {
|
|
347
|
+
const result = await executeWalletWrite(walletAddress, "setPaused", [paused]);
|
|
348
|
+
if (result.status === "success") {
|
|
349
|
+
return formatSuccess(paused
|
|
350
|
+
? "Wallet PAUSED. All outbound transfers are frozen."
|
|
351
|
+
: "Wallet UNPAUSED. Agent can resume transactions.", {
|
|
352
|
+
walletAddress,
|
|
353
|
+
status: paused ? "PAUSED" : "ACTIVE",
|
|
354
|
+
}, result.txHash);
|
|
355
|
+
}
|
|
356
|
+
return { content: [{ type: "text", text: `Failed: ${result.status === "error" ? result.error : "unknown error"}` }], isError: true };
|
|
357
|
+
}
|
|
358
|
+
catch (e) {
|
|
359
|
+
const parsed = parseContractError(e);
|
|
360
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
//# sourceMappingURL=account-abstraction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-abstraction.js","sourceRoot":"","sources":["../../src/tools/account-abstraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batches.d.ts","sourceRoot":"","sources":["../../src/tools/batches.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"batches.d.ts","sourceRoot":"","sources":["../../src/tools/batches.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2BzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+P1D"}
|