@varun-ai07/covenant-mcp 2.0.2 → 2.0.3
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/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +55 -55
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/sdk/chunk-3R2WXEXL.mjs +828 -0
- package/dist/sdk/chunk-6ORMNSPN.mjs +842 -0
- package/dist/sdk/chunk-FH2MCRWQ.mjs +8732 -0
- package/dist/sdk/chunk-Y3YIH5K3.mjs +816 -0
- package/dist/sdk/config.d.ts +121 -0
- package/dist/sdk/config.d.ts.map +1 -0
- package/dist/sdk/config.js +196 -0
- package/dist/sdk/config.js.map +1 -0
- package/dist/sdk/contracts/AgentCollective.json +467 -0
- package/dist/sdk/contracts/AgentRegistry.d.ts +144 -0
- package/dist/sdk/contracts/AgentRegistry.d.ts.map +1 -0
- package/dist/sdk/contracts/AgentRegistry.js +92 -0
- package/dist/sdk/contracts/AgentRegistry.js.map +1 -0
- package/dist/sdk/contracts/COVENANTRouter.json +206 -0
- package/dist/sdk/contracts/CovenantArbitration.json +546 -0
- package/dist/sdk/contracts/CovenantAttestation.json +476 -0
- package/dist/sdk/contracts/CovenantEscrow.d.ts +70 -0
- package/dist/sdk/contracts/CovenantEscrow.d.ts.map +1 -0
- package/dist/sdk/contracts/CovenantEscrow.js +3 -0
- package/dist/sdk/contracts/CovenantEscrow.js.map +1 -0
- package/dist/sdk/contracts/CovenantEscrow.json +783 -0
- package/dist/sdk/contracts/CovenantGovernance.json +729 -0
- package/dist/sdk/contracts/CovenantIdentity.d.ts +70 -0
- package/dist/sdk/contracts/CovenantIdentity.d.ts.map +1 -0
- package/dist/sdk/contracts/CovenantIdentity.js +3 -0
- package/dist/sdk/contracts/CovenantIdentity.js.map +1 -0
- package/dist/sdk/contracts/CovenantIdentity.json +800 -0
- package/dist/sdk/contracts/CovenantSettlement.json +609 -0
- package/dist/sdk/contracts/DisputeResolution.d.ts +122 -0
- package/dist/sdk/contracts/DisputeResolution.d.ts.map +1 -0
- package/dist/sdk/contracts/DisputeResolution.js +86 -0
- package/dist/sdk/contracts/DisputeResolution.js.map +1 -0
- package/dist/sdk/contracts/GrantProgram.json +373 -0
- package/dist/sdk/contracts/InsurancePool.d.ts +209 -0
- package/dist/sdk/contracts/InsurancePool.d.ts.map +1 -0
- package/dist/sdk/contracts/InsurancePool.js +153 -0
- package/dist/sdk/contracts/InsurancePool.js.map +1 -0
- package/dist/sdk/contracts/InsurancePool.json +456 -0
- package/dist/sdk/contracts/MultiTokenEscrow.json +435 -0
- package/dist/sdk/contracts/OpenTaskMarket.d.ts +190 -0
- package/dist/sdk/contracts/OpenTaskMarket.d.ts.map +1 -0
- package/dist/sdk/contracts/OpenTaskMarket.js +117 -0
- package/dist/sdk/contracts/OpenTaskMarket.js.map +1 -0
- package/dist/sdk/contracts/ParallelTaskBatch.json +511 -0
- package/dist/sdk/contracts/ReceiptVerifierV2.d.ts +168 -0
- package/dist/sdk/contracts/ReceiptVerifierV2.d.ts.map +1 -0
- package/dist/sdk/contracts/ReceiptVerifierV2.js +109 -0
- package/dist/sdk/contracts/ReceiptVerifierV2.js.map +1 -0
- package/dist/sdk/contracts/RevisionManager.json +489 -0
- package/dist/sdk/contracts/TaskEscrow.d.ts +222 -0
- package/dist/sdk/contracts/TaskEscrow.d.ts.map +1 -0
- package/dist/sdk/contracts/TaskEscrow.js +144 -0
- package/dist/sdk/contracts/TaskEscrow.js.map +1 -0
- package/dist/sdk/contracts/TrainingMarketplace.json +357 -0
- package/dist/sdk/index.d.mts +385 -0
- package/dist/sdk/index.d.ts +35 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +284 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/index.mjs +32 -0
- package/dist/sdk/types.d.ts +110 -0
- package/dist/sdk/types.d.ts.map +1 -0
- package/dist/sdk/types.js +17 -0
- package/dist/sdk/types.js.map +1 -0
- package/dist/sdk/v2.d.mts +100 -0
- package/dist/sdk/v2.d.ts +100 -0
- package/dist/sdk/v2.d.ts.map +1 -0
- package/dist/sdk/v2.js +2615 -0
- package/dist/sdk/v2.js.map +1 -0
- package/dist/sdk/v2.mjs +571 -0
- package/dist/sdk/v5-extensions.d.ts +133 -0
- package/dist/sdk/v5-extensions.d.ts.map +1 -0
- package/dist/sdk/v5-extensions.js +993 -0
- package/dist/sdk/v5-extensions.js.map +1 -0
- package/dist/sdk.d.ts +30 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +180 -0
- package/dist/sdk.js.map +1 -0
- package/dist/server.js +1 -1
- package/dist/shared-types.d.ts +101 -1
- package/dist/shared-types.d.ts.map +1 -1
- package/package.json +3 -4
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import { getContractAddresses, CHAIN_CONFIGS } from "./config.js";
|
|
2
|
+
import { CovenantIdentityABI } from "./contracts/CovenantIdentity.js";
|
|
3
|
+
import { CovenantEscrowABI } from "./contracts/CovenantEscrow.js";
|
|
4
|
+
export * from "./types.js";
|
|
5
|
+
export * from "./config.js";
|
|
6
|
+
export { CovenantSDKV5 } from "./v5-extensions.js";
|
|
7
|
+
const ZERO_ADDR = "0x0000000000000000000000000000000000000000";
|
|
8
|
+
export class CovenantSDK {
|
|
9
|
+
publicClient;
|
|
10
|
+
walletClient;
|
|
11
|
+
addresses;
|
|
12
|
+
chain;
|
|
13
|
+
account;
|
|
14
|
+
constructor(config) {
|
|
15
|
+
this.publicClient = config.publicClient;
|
|
16
|
+
this.walletClient = config.walletClient;
|
|
17
|
+
this.account = config.walletClient?.account;
|
|
18
|
+
this.addresses = getContractAddresses(config.chainId, config.contractAddresses);
|
|
19
|
+
this.chain = CHAIN_CONFIGS[config.chainId]?.chain ?? {
|
|
20
|
+
id: config.chainId,
|
|
21
|
+
name: `Chain ${config.chainId}`,
|
|
22
|
+
nativeCurrency: { name: "ETH", symbol: "ETH", decimals: 18 },
|
|
23
|
+
rpcUrls: { default: { http: [] } },
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
// =========================================================================
|
|
27
|
+
// Agent Methods (V5 — CovenantIdentity)
|
|
28
|
+
// =========================================================================
|
|
29
|
+
async getAgent(address) {
|
|
30
|
+
const result = await this.publicClient.readContract({
|
|
31
|
+
address: this.addresses.CovenantIdentity,
|
|
32
|
+
abi: CovenantIdentityABI,
|
|
33
|
+
functionName: "getAgent",
|
|
34
|
+
args: [address],
|
|
35
|
+
});
|
|
36
|
+
return this.parseAgentData(address, result);
|
|
37
|
+
}
|
|
38
|
+
async getAgentCount() {
|
|
39
|
+
return await this.publicClient.readContract({
|
|
40
|
+
address: this.addresses.CovenantIdentity,
|
|
41
|
+
abi: CovenantIdentityABI,
|
|
42
|
+
functionName: "totalAgents",
|
|
43
|
+
args: [],
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async isRegistered(address) {
|
|
47
|
+
return await this.publicClient.readContract({
|
|
48
|
+
address: this.addresses.CovenantIdentity,
|
|
49
|
+
abi: CovenantIdentityABI,
|
|
50
|
+
functionName: "isRegistered",
|
|
51
|
+
args: [address],
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
async findAgents(capability, minReputation, limit = 20) {
|
|
55
|
+
const count = await this.getAgentCount();
|
|
56
|
+
const results = [];
|
|
57
|
+
const capHash = BigInt("0x" + Array.from(new TextEncoder().encode(capability))
|
|
58
|
+
.map(b => b.toString(16).padStart(2, "0"))
|
|
59
|
+
.join("")).toString();
|
|
60
|
+
for (let i = 0n; i < count && results.length < limit; i++) {
|
|
61
|
+
try {
|
|
62
|
+
const agentAddr = await this.publicClient.readContract({
|
|
63
|
+
address: this.addresses.CovenantIdentity,
|
|
64
|
+
abi: CovenantIdentityABI,
|
|
65
|
+
functionName: "getAllAgents",
|
|
66
|
+
args: [i, 1n],
|
|
67
|
+
});
|
|
68
|
+
if (agentAddr === ZERO_ADDR)
|
|
69
|
+
continue;
|
|
70
|
+
const hasCap = await this.publicClient.readContract({
|
|
71
|
+
address: this.addresses.CovenantIdentity,
|
|
72
|
+
abi: CovenantIdentityABI,
|
|
73
|
+
functionName: "hasCapability",
|
|
74
|
+
args: [agentAddr, `0x${capHash.padStart(64, "0")}`],
|
|
75
|
+
});
|
|
76
|
+
if (!hasCap)
|
|
77
|
+
continue;
|
|
78
|
+
if (minReputation !== undefined) {
|
|
79
|
+
const agent = await this.getAgent(agentAddr);
|
|
80
|
+
if (agent.reputation < BigInt(minReputation))
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
results.push(agentAddr);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return results;
|
|
90
|
+
}
|
|
91
|
+
async getAllAgents(offset = 0, limit = 50) {
|
|
92
|
+
const count = await this.getAgentCount();
|
|
93
|
+
const results = [];
|
|
94
|
+
for (let i = BigInt(offset); i < count && results.length < limit; i++) {
|
|
95
|
+
try {
|
|
96
|
+
const addr = await this.publicClient.readContract({
|
|
97
|
+
address: this.addresses.CovenantIdentity,
|
|
98
|
+
abi: CovenantIdentityABI,
|
|
99
|
+
functionName: "getAllAgents",
|
|
100
|
+
args: [i, 1n],
|
|
101
|
+
});
|
|
102
|
+
if (addr !== ZERO_ADDR)
|
|
103
|
+
results.push(addr);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return results;
|
|
110
|
+
}
|
|
111
|
+
async registerAgent(stake, metadataRoot) {
|
|
112
|
+
this.requireWallet();
|
|
113
|
+
return await this.walletClient.writeContract({
|
|
114
|
+
address: this.addresses.CovenantIdentity,
|
|
115
|
+
abi: CovenantIdentityABI,
|
|
116
|
+
functionName: "register",
|
|
117
|
+
args: [stake, metadataRoot],
|
|
118
|
+
value: stake,
|
|
119
|
+
chain: this.chain,
|
|
120
|
+
account: this.account,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
// =========================================================================
|
|
124
|
+
// Task Methods (V5 — CovenantEscrow)
|
|
125
|
+
// =========================================================================
|
|
126
|
+
async getTask(taskId) {
|
|
127
|
+
const result = await this.publicClient.readContract({
|
|
128
|
+
address: this.addresses.CovenantEscrow,
|
|
129
|
+
abi: CovenantEscrowABI,
|
|
130
|
+
functionName: "getTask",
|
|
131
|
+
args: [taskId],
|
|
132
|
+
});
|
|
133
|
+
return this.parseTaskData(taskId, result);
|
|
134
|
+
}
|
|
135
|
+
async getTaskCount() {
|
|
136
|
+
return await this.publicClient.readContract({
|
|
137
|
+
address: this.addresses.CovenantEscrow,
|
|
138
|
+
abi: CovenantEscrowABI,
|
|
139
|
+
functionName: "taskCount",
|
|
140
|
+
args: [],
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
async createTask(worker, amount, deadline, metaHash) {
|
|
144
|
+
this.requireWallet();
|
|
145
|
+
return await this.walletClient.writeContract({
|
|
146
|
+
address: this.addresses.CovenantEscrow,
|
|
147
|
+
abi: CovenantEscrowABI,
|
|
148
|
+
functionName: "createTask",
|
|
149
|
+
args: [worker, amount, deadline, metaHash],
|
|
150
|
+
value: amount,
|
|
151
|
+
chain: this.chain,
|
|
152
|
+
account: this.account,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
async submitWork(taskId, deliverableHash) {
|
|
156
|
+
this.requireWallet();
|
|
157
|
+
return await this.walletClient.writeContract({
|
|
158
|
+
address: this.addresses.CovenantEscrow,
|
|
159
|
+
abi: CovenantEscrowABI,
|
|
160
|
+
functionName: "submitWork",
|
|
161
|
+
args: [taskId, deliverableHash],
|
|
162
|
+
chain: this.chain,
|
|
163
|
+
account: this.account,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
async completeTask(taskId, clientSignature) {
|
|
167
|
+
this.requireWallet();
|
|
168
|
+
return await this.walletClient.writeContract({
|
|
169
|
+
address: this.addresses.CovenantEscrow,
|
|
170
|
+
abi: CovenantEscrowABI,
|
|
171
|
+
functionName: "completeTask",
|
|
172
|
+
args: [taskId, clientSignature],
|
|
173
|
+
chain: this.chain,
|
|
174
|
+
account: this.account,
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
async disputeTask(taskId) {
|
|
178
|
+
this.requireWallet();
|
|
179
|
+
return await this.walletClient.writeContract({
|
|
180
|
+
address: this.addresses.CovenantEscrow,
|
|
181
|
+
abi: CovenantEscrowABI,
|
|
182
|
+
functionName: "disputeTask",
|
|
183
|
+
args: [taskId],
|
|
184
|
+
chain: this.chain,
|
|
185
|
+
account: this.account,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
async cancelTask(taskId) {
|
|
189
|
+
this.requireWallet();
|
|
190
|
+
return await this.walletClient.writeContract({
|
|
191
|
+
address: this.addresses.CovenantEscrow,
|
|
192
|
+
abi: CovenantEscrowABI,
|
|
193
|
+
functionName: "cancelTask",
|
|
194
|
+
args: [taskId],
|
|
195
|
+
chain: this.chain,
|
|
196
|
+
account: this.account,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
async fundTask(taskId, amount) {
|
|
200
|
+
this.requireWallet();
|
|
201
|
+
return await this.walletClient.writeContract({
|
|
202
|
+
address: this.addresses.CovenantEscrow,
|
|
203
|
+
abi: CovenantEscrowABI,
|
|
204
|
+
functionName: "fundTask",
|
|
205
|
+
args: [taskId],
|
|
206
|
+
value: amount,
|
|
207
|
+
chain: this.chain,
|
|
208
|
+
account: this.account,
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
async failTask(taskId, reason) {
|
|
212
|
+
this.requireWallet();
|
|
213
|
+
return await this.walletClient.writeContract({
|
|
214
|
+
address: this.addresses.CovenantEscrow,
|
|
215
|
+
abi: CovenantEscrowABI,
|
|
216
|
+
functionName: "failTask",
|
|
217
|
+
args: [taskId, reason],
|
|
218
|
+
chain: this.chain,
|
|
219
|
+
account: this.account,
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
// =========================================================================
|
|
223
|
+
// Utility Methods
|
|
224
|
+
// =========================================================================
|
|
225
|
+
async waitForTransaction(hash) {
|
|
226
|
+
return await this.publicClient.waitForTransactionReceipt({ hash });
|
|
227
|
+
}
|
|
228
|
+
getAddresses() {
|
|
229
|
+
return { ...this.addresses };
|
|
230
|
+
}
|
|
231
|
+
// =========================================================================
|
|
232
|
+
// Private Helpers
|
|
233
|
+
// =========================================================================
|
|
234
|
+
requireWallet() {
|
|
235
|
+
if (!this.walletClient) {
|
|
236
|
+
throw new Error("Wallet client required for write operations. Pass walletClient in config.");
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
parseAgentData(address, result) {
|
|
240
|
+
return {
|
|
241
|
+
did: address,
|
|
242
|
+
name: "",
|
|
243
|
+
capabilities: [],
|
|
244
|
+
reputation: BigInt(result[2]),
|
|
245
|
+
stakedAmount: result[1],
|
|
246
|
+
tasksCompleted: 0n,
|
|
247
|
+
tasksFailed: 0n,
|
|
248
|
+
totalValueTransferred: 0n,
|
|
249
|
+
isActive: result[5],
|
|
250
|
+
registeredAt: BigInt(result[3]),
|
|
251
|
+
walletAddress: result[0],
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
parseTaskData(taskId, result) {
|
|
255
|
+
return {
|
|
256
|
+
taskId,
|
|
257
|
+
client: result[0],
|
|
258
|
+
worker: result[1],
|
|
259
|
+
payment: result[2],
|
|
260
|
+
deadline: BigInt(result[3]),
|
|
261
|
+
descriptionHash: result[6],
|
|
262
|
+
deliverableHash: "",
|
|
263
|
+
status: this.mapV5Status(result[4]),
|
|
264
|
+
createdAt: 0n,
|
|
265
|
+
completedAt: 0n,
|
|
266
|
+
protocolFee: 0n,
|
|
267
|
+
totalValue: result[2],
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
mapV5Status(status) {
|
|
271
|
+
const map = {
|
|
272
|
+
0: "Open",
|
|
273
|
+
1: "Funded",
|
|
274
|
+
2: "InProgress",
|
|
275
|
+
3: "Submitted",
|
|
276
|
+
4: "Completed",
|
|
277
|
+
5: "Disputed",
|
|
278
|
+
6: "Failed",
|
|
279
|
+
7: "Cancelled",
|
|
280
|
+
};
|
|
281
|
+
return map[status] ?? "Open";
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BASE_SEPOLIA_ADDRESSES,
|
|
3
|
+
CHAINS,
|
|
4
|
+
CHAIN_CONFIGS,
|
|
5
|
+
CovenantSDK,
|
|
6
|
+
CovenantSDKV5,
|
|
7
|
+
DEFAULT_ADDRESSES,
|
|
8
|
+
PRIORITY_LEVEL,
|
|
9
|
+
RECEIPT_TYPE,
|
|
10
|
+
ReceiptType,
|
|
11
|
+
TASK_STATUS,
|
|
12
|
+
V2_ADDRESSES,
|
|
13
|
+
getContractAddresses,
|
|
14
|
+
getV2ContractAddresses,
|
|
15
|
+
isDeployed
|
|
16
|
+
} from "./chunk-FH2MCRWQ.mjs";
|
|
17
|
+
export {
|
|
18
|
+
BASE_SEPOLIA_ADDRESSES,
|
|
19
|
+
CHAINS,
|
|
20
|
+
CHAIN_CONFIGS,
|
|
21
|
+
CovenantSDK,
|
|
22
|
+
CovenantSDKV5,
|
|
23
|
+
DEFAULT_ADDRESSES,
|
|
24
|
+
PRIORITY_LEVEL,
|
|
25
|
+
RECEIPT_TYPE,
|
|
26
|
+
ReceiptType,
|
|
27
|
+
TASK_STATUS,
|
|
28
|
+
V2_ADDRESSES,
|
|
29
|
+
getContractAddresses,
|
|
30
|
+
getV2ContractAddresses,
|
|
31
|
+
isDeployed
|
|
32
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { Address, PublicClient, WalletClient } from "viem";
|
|
2
|
+
export type { ContractAddresses, AgentData, TaskData, ReceiptData, BidData, CollectiveData, TaskStatus, } from "../shared-types.js";
|
|
3
|
+
export { TASK_STATUS, PRIORITY_LEVEL, RECEIPT_TYPE, BASE_SEPOLIA_ADDRESSES, } from "../shared-types.js";
|
|
4
|
+
/**
|
|
5
|
+
* ERC-8004 Receipt type enum (mirrors on-chain ReceiptVerifier.ReceiptType)
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ReceiptType {
|
|
8
|
+
TaskCompleted = 0,
|
|
9
|
+
AgentVerified = 1,
|
|
10
|
+
DisputeResolved = 2,
|
|
11
|
+
InsuranceClaimed = 3,
|
|
12
|
+
MilestoneReached = 4,
|
|
13
|
+
ReputationUpdated = 5
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* V2 Receipt data from ReceiptVerifier v2
|
|
17
|
+
*/
|
|
18
|
+
export interface ReceiptDataV2 {
|
|
19
|
+
receiptId: `0x${string}`;
|
|
20
|
+
issuer: Address;
|
|
21
|
+
counterparty: Address;
|
|
22
|
+
receiptType: number;
|
|
23
|
+
dataHash: `0x${string}`;
|
|
24
|
+
timestamp: bigint;
|
|
25
|
+
isValid: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Insurance claim data
|
|
29
|
+
*/
|
|
30
|
+
export interface InsuranceClaimData {
|
|
31
|
+
claimant: Address;
|
|
32
|
+
taskId: bigint;
|
|
33
|
+
amount: bigint;
|
|
34
|
+
paid: boolean;
|
|
35
|
+
timestamp: bigint;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Insurance pool member info
|
|
39
|
+
*/
|
|
40
|
+
export interface MemberInfo {
|
|
41
|
+
active: boolean;
|
|
42
|
+
contributed: bigint;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Dispute data from DisputeResolution
|
|
46
|
+
*/
|
|
47
|
+
export interface DisputeData {
|
|
48
|
+
taskId: bigint;
|
|
49
|
+
filedBy: Address;
|
|
50
|
+
bondAmount: bigint;
|
|
51
|
+
votingEndsAt: bigint;
|
|
52
|
+
resolved: boolean;
|
|
53
|
+
workerWins: boolean;
|
|
54
|
+
workerShare: bigint;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* V2 contract addresses
|
|
58
|
+
*/
|
|
59
|
+
export interface V2ContractAddresses {
|
|
60
|
+
AgentRegistry: Address;
|
|
61
|
+
TaskEscrow: Address;
|
|
62
|
+
ReceiptVerifier: Address;
|
|
63
|
+
InsurancePool: Address;
|
|
64
|
+
DisputeResolution: Address;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* SDK configuration
|
|
68
|
+
*/
|
|
69
|
+
export interface CovenantConfig {
|
|
70
|
+
/** Chain ID (84532 for Base Sepolia, 8453 for Base Mainnet) */
|
|
71
|
+
chainId: number;
|
|
72
|
+
/** Viem public client for reading */
|
|
73
|
+
publicClient: PublicClient;
|
|
74
|
+
/** Optional wallet client for writing */
|
|
75
|
+
walletClient?: WalletClient;
|
|
76
|
+
/** Custom contract addresses (optional - uses defaults if not provided) */
|
|
77
|
+
contractAddresses?: PartialContractAddresses;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* V2 SDK configuration — extends base config with version selection
|
|
81
|
+
*/
|
|
82
|
+
export interface CovenantConfigV2 extends CovenantConfig {
|
|
83
|
+
/** SDK version — "v2" enables v2 contract methods */
|
|
84
|
+
version: "v2";
|
|
85
|
+
/** Custom v2 contract addresses (optional - uses defaults if not provided) */
|
|
86
|
+
v2ContractAddresses?: Partial<V2ContractAddresses>;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Partial contract addresses - only specify what you want to override
|
|
90
|
+
*/
|
|
91
|
+
export interface PartialContractAddresses {
|
|
92
|
+
AgentRegistry?: Address;
|
|
93
|
+
TaskEscrow?: Address;
|
|
94
|
+
ReceiptVerifier?: Address;
|
|
95
|
+
OpenTaskMarket?: Address;
|
|
96
|
+
ParallelTaskBatch?: Address;
|
|
97
|
+
AgentCollective?: Address;
|
|
98
|
+
AgentInsurance?: Address;
|
|
99
|
+
DisputeArbitration?: Address;
|
|
100
|
+
Groth16VerifierCapability?: Address;
|
|
101
|
+
CapabilityVerifier?: Address;
|
|
102
|
+
Groth16VerifierReputation?: Address;
|
|
103
|
+
ReputationVerifier?: Address;
|
|
104
|
+
COVENANTRouter?: Address;
|
|
105
|
+
LitProtocolIntegration?: Address;
|
|
106
|
+
AgentWallet?: Address;
|
|
107
|
+
}
|
|
108
|
+
export type { Address, PublicClient, WalletClient } from "viem";
|
|
109
|
+
export type { Hash, Log, TransactionReceipt } from "viem";
|
|
110
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { TASK_STATUS, PRIORITY_LEVEL, RECEIPT_TYPE, BASE_SEPOLIA_ADDRESSES, } from "../shared-types.js";
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// V2 Types
|
|
4
|
+
// ============================================================================
|
|
5
|
+
/**
|
|
6
|
+
* ERC-8004 Receipt type enum (mirrors on-chain ReceiptVerifier.ReceiptType)
|
|
7
|
+
*/
|
|
8
|
+
export var ReceiptType;
|
|
9
|
+
(function (ReceiptType) {
|
|
10
|
+
ReceiptType[ReceiptType["TaskCompleted"] = 0] = "TaskCompleted";
|
|
11
|
+
ReceiptType[ReceiptType["AgentVerified"] = 1] = "AgentVerified";
|
|
12
|
+
ReceiptType[ReceiptType["DisputeResolved"] = 2] = "DisputeResolved";
|
|
13
|
+
ReceiptType[ReceiptType["InsuranceClaimed"] = 3] = "InsuranceClaimed";
|
|
14
|
+
ReceiptType[ReceiptType["MilestoneReached"] = 4] = "MilestoneReached";
|
|
15
|
+
ReceiptType[ReceiptType["ReputationUpdated"] = 5] = "ReputationUpdated";
|
|
16
|
+
})(ReceiptType || (ReceiptType = {}));
|
|
17
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,WAAW,EACX,cAAc,EACd,YAAY,EACZ,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAN,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,+DAAiB,CAAA;IACjB,+DAAiB,CAAA;IACjB,mEAAmB,CAAA;IACnB,qEAAoB,CAAA;IACpB,qEAAoB,CAAA;IACpB,uEAAqB,CAAA;AACvB,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Hash, Address } from 'viem';
|
|
2
|
+
import { CovenantSDK, CovenantConfigV2, InsuranceClaimData, MemberInfo, DisputeData, ReceiptType, ReceiptDataV2, V2ContractAddresses } from './index.mjs';
|
|
3
|
+
import '@covenant/shared-types';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* COVENANT SDK V2 — extends CovenantSDK with v2 contract methods.
|
|
7
|
+
*
|
|
8
|
+
* Adds support for InsurancePool, DisputeResolution, and ReceiptVerifier v2.
|
|
9
|
+
* All v1 methods remain available through inheritance.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { CovenantSDKV2 } from "@covenant/sdk/v2";
|
|
14
|
+
*
|
|
15
|
+
* const sdk = new CovenantSDKV2({
|
|
16
|
+
* version: "v2",
|
|
17
|
+
* chainId: 84532,
|
|
18
|
+
* publicClient: client,
|
|
19
|
+
* walletClient: wallet,
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* // V2 methods
|
|
23
|
+
* await sdk.joinInsurancePool(parseEther("0.01"));
|
|
24
|
+
* const receipt = await sdk.createReceiptV2(issuer, counterparty, 0, dataHash);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
declare class CovenantSDKV2 extends CovenantSDK {
|
|
28
|
+
private v2Addresses;
|
|
29
|
+
constructor(config: CovenantConfigV2);
|
|
30
|
+
/**
|
|
31
|
+
* Join the insurance pool by contributing ETH
|
|
32
|
+
*/
|
|
33
|
+
joinInsurancePool(contribution: bigint): Promise<Hash>;
|
|
34
|
+
/**
|
|
35
|
+
* File an insurance claim for a failed task
|
|
36
|
+
*/
|
|
37
|
+
fileClaim(taskId: bigint, amount: bigint): Promise<Hash>;
|
|
38
|
+
/**
|
|
39
|
+
* Get insurance claim details
|
|
40
|
+
*/
|
|
41
|
+
getClaim(claimId: bigint): Promise<InsuranceClaimData>;
|
|
42
|
+
/**
|
|
43
|
+
* Get the current balance of the insurance pool
|
|
44
|
+
*/
|
|
45
|
+
getPoolBalance(): Promise<bigint>;
|
|
46
|
+
/**
|
|
47
|
+
* Get insurance membership info for an agent
|
|
48
|
+
*/
|
|
49
|
+
getMemberInfo(member: Address): Promise<MemberInfo>;
|
|
50
|
+
/**
|
|
51
|
+
* File a formal dispute on a task (requires bond in ETH)
|
|
52
|
+
*/
|
|
53
|
+
fileDispute(taskId: bigint, bond: bigint): Promise<Hash>;
|
|
54
|
+
/**
|
|
55
|
+
* Resolve a dispute (arbiter-only). Sets winner and worker share.
|
|
56
|
+
*/
|
|
57
|
+
resolveDispute(disputeId: bigint, workerWins: boolean, workerShare: bigint): Promise<Hash>;
|
|
58
|
+
/**
|
|
59
|
+
* Get dispute details
|
|
60
|
+
*/
|
|
61
|
+
getDispute(disputeId: bigint): Promise<DisputeData>;
|
|
62
|
+
/**
|
|
63
|
+
* Create an ERC-8004 attestation receipt with enum type
|
|
64
|
+
*/
|
|
65
|
+
createReceiptV2(issuer: Address, counterparty: Address, receiptType: ReceiptType, dataHash: `0x${string}`): Promise<Hash>;
|
|
66
|
+
/**
|
|
67
|
+
* Verify a single receipt by its bytes32 ID
|
|
68
|
+
*/
|
|
69
|
+
verifyReceipt(receiptId: `0x${string}`): Promise<boolean>;
|
|
70
|
+
/**
|
|
71
|
+
* Batch verify multiple receipts by their bytes32 IDs
|
|
72
|
+
*/
|
|
73
|
+
batchVerifyReceipts(receiptIds: `0x${string}`[]): Promise<boolean[]>;
|
|
74
|
+
/**
|
|
75
|
+
* Get full receipt details by bytes32 ID
|
|
76
|
+
*/
|
|
77
|
+
getReceiptV2(receiptId: `0x${string}`): Promise<ReceiptDataV2>;
|
|
78
|
+
/**
|
|
79
|
+
* Get v2 contract addresses being used
|
|
80
|
+
*/
|
|
81
|
+
getV2Addresses(): V2ContractAddresses;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Convert a string (IPFS CID, capability string, etc.) to a bytes32 hash.
|
|
85
|
+
* Uses keccak256 for deterministic hashing.
|
|
86
|
+
*
|
|
87
|
+
* @param input - The string to convert
|
|
88
|
+
* @returns The bytes32 hex string (0x-prefixed, 66 chars)
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* import { toBytes32 } from "@covenant/sdk/v2";
|
|
93
|
+
*
|
|
94
|
+
* const hash = toBytes32("QmYwAPJzv5CZsnN625s3XfREM3zN1"); // IPFS CID
|
|
95
|
+
* const cap = toBytes32("data-analysis"); // capability string
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
declare function toBytes32(input: string): `0x${string}`;
|
|
99
|
+
|
|
100
|
+
export { CovenantConfigV2, CovenantSDKV2, DisputeData, InsuranceClaimData, MemberInfo, ReceiptDataV2, ReceiptType, V2ContractAddresses, toBytes32 };
|
package/dist/sdk/v2.d.ts
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Hash, Address } from 'viem';
|
|
2
|
+
import { CovenantSDK, CovenantConfigV2, InsuranceClaimData, MemberInfo, DisputeData, ReceiptType, ReceiptDataV2, V2ContractAddresses } from './index.js';
|
|
3
|
+
import '@covenant/shared-types';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* COVENANT SDK V2 — extends CovenantSDK with v2 contract methods.
|
|
7
|
+
*
|
|
8
|
+
* Adds support for InsurancePool, DisputeResolution, and ReceiptVerifier v2.
|
|
9
|
+
* All v1 methods remain available through inheritance.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { CovenantSDKV2 } from "@covenant/sdk/v2";
|
|
14
|
+
*
|
|
15
|
+
* const sdk = new CovenantSDKV2({
|
|
16
|
+
* version: "v2",
|
|
17
|
+
* chainId: 84532,
|
|
18
|
+
* publicClient: client,
|
|
19
|
+
* walletClient: wallet,
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* // V2 methods
|
|
23
|
+
* await sdk.joinInsurancePool(parseEther("0.01"));
|
|
24
|
+
* const receipt = await sdk.createReceiptV2(issuer, counterparty, 0, dataHash);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
declare class CovenantSDKV2 extends CovenantSDK {
|
|
28
|
+
private v2Addresses;
|
|
29
|
+
constructor(config: CovenantConfigV2);
|
|
30
|
+
/**
|
|
31
|
+
* Join the insurance pool by contributing ETH
|
|
32
|
+
*/
|
|
33
|
+
joinInsurancePool(contribution: bigint): Promise<Hash>;
|
|
34
|
+
/**
|
|
35
|
+
* File an insurance claim for a failed task
|
|
36
|
+
*/
|
|
37
|
+
fileClaim(taskId: bigint, amount: bigint): Promise<Hash>;
|
|
38
|
+
/**
|
|
39
|
+
* Get insurance claim details
|
|
40
|
+
*/
|
|
41
|
+
getClaim(claimId: bigint): Promise<InsuranceClaimData>;
|
|
42
|
+
/**
|
|
43
|
+
* Get the current balance of the insurance pool
|
|
44
|
+
*/
|
|
45
|
+
getPoolBalance(): Promise<bigint>;
|
|
46
|
+
/**
|
|
47
|
+
* Get insurance membership info for an agent
|
|
48
|
+
*/
|
|
49
|
+
getMemberInfo(member: Address): Promise<MemberInfo>;
|
|
50
|
+
/**
|
|
51
|
+
* File a formal dispute on a task (requires bond in ETH)
|
|
52
|
+
*/
|
|
53
|
+
fileDispute(taskId: bigint, bond: bigint): Promise<Hash>;
|
|
54
|
+
/**
|
|
55
|
+
* Resolve a dispute (arbiter-only). Sets winner and worker share.
|
|
56
|
+
*/
|
|
57
|
+
resolveDispute(disputeId: bigint, workerWins: boolean, workerShare: bigint): Promise<Hash>;
|
|
58
|
+
/**
|
|
59
|
+
* Get dispute details
|
|
60
|
+
*/
|
|
61
|
+
getDispute(disputeId: bigint): Promise<DisputeData>;
|
|
62
|
+
/**
|
|
63
|
+
* Create an ERC-8004 attestation receipt with enum type
|
|
64
|
+
*/
|
|
65
|
+
createReceiptV2(issuer: Address, counterparty: Address, receiptType: ReceiptType, dataHash: `0x${string}`): Promise<Hash>;
|
|
66
|
+
/**
|
|
67
|
+
* Verify a single receipt by its bytes32 ID
|
|
68
|
+
*/
|
|
69
|
+
verifyReceipt(receiptId: `0x${string}`): Promise<boolean>;
|
|
70
|
+
/**
|
|
71
|
+
* Batch verify multiple receipts by their bytes32 IDs
|
|
72
|
+
*/
|
|
73
|
+
batchVerifyReceipts(receiptIds: `0x${string}`[]): Promise<boolean[]>;
|
|
74
|
+
/**
|
|
75
|
+
* Get full receipt details by bytes32 ID
|
|
76
|
+
*/
|
|
77
|
+
getReceiptV2(receiptId: `0x${string}`): Promise<ReceiptDataV2>;
|
|
78
|
+
/**
|
|
79
|
+
* Get v2 contract addresses being used
|
|
80
|
+
*/
|
|
81
|
+
getV2Addresses(): V2ContractAddresses;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Convert a string (IPFS CID, capability string, etc.) to a bytes32 hash.
|
|
85
|
+
* Uses keccak256 for deterministic hashing.
|
|
86
|
+
*
|
|
87
|
+
* @param input - The string to convert
|
|
88
|
+
* @returns The bytes32 hex string (0x-prefixed, 66 chars)
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* import { toBytes32 } from "@covenant/sdk/v2";
|
|
93
|
+
*
|
|
94
|
+
* const hash = toBytes32("QmYwAPJzv5CZsnN625s3XfREM3zN1"); // IPFS CID
|
|
95
|
+
* const cap = toBytes32("data-analysis"); // capability string
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
declare function toBytes32(input: string): `0x${string}`;
|
|
99
|
+
|
|
100
|
+
export { CovenantConfigV2, CovenantSDKV2, DisputeData, InsuranceClaimData, MemberInfo, ReceiptDataV2, ReceiptType, V2ContractAddresses, toBytes32 };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v2.d.ts","sourceRoot":"","sources":["../src/v2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAKzC,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C,OAAO,CAAC,WAAW,CAAsB;gBAE7B,MAAM,EAAE,gBAAgB;IAYpC;;OAEG;IACG,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5D;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9D;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiB5D;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAQvC;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAkBzD;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9D;;OAEG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,OAAO,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAahB;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAuBzD;;OAEG;IACG,eAAe,CACnB,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,KAAK,MAAM,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC;IAahB;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/D;;OAEG;IACG,mBAAmB,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAS1E;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBpE;;OAEG;IACH,cAAc,IAAI,mBAAmB;CAGtC;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAKtD;AAGD,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|