@paylobster/mcp-server 1.6.0 → 1.7.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 +147 -228
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +86 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -19
- package/dist/index.js.map +1 -1
- package/dist/resources/index.d.ts +9 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +159 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/server.d.ts +3 -6
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1455 -114
- package/dist/server.js.map +1 -1
- package/dist/tools/balance.d.ts +5 -16
- package/dist/tools/balance.d.ts.map +1 -1
- package/dist/tools/balance.js +26 -44
- package/dist/tools/balance.js.map +1 -1
- package/dist/tools/bridge.d.ts +142 -0
- package/dist/tools/bridge.d.ts.map +1 -0
- package/dist/tools/bridge.js +121 -0
- package/dist/tools/bridge.js.map +1 -0
- package/dist/tools/cascade.d.ts +59 -0
- package/dist/tools/cascade.d.ts.map +1 -0
- package/dist/tools/cascade.js +119 -0
- package/dist/tools/cascade.js.map +1 -0
- package/dist/tools/compliance.d.ts +36 -0
- package/dist/tools/compliance.d.ts.map +1 -0
- package/dist/tools/compliance.js +57 -0
- package/dist/tools/compliance.js.map +1 -0
- package/dist/tools/convenience.d.ts +121 -0
- package/dist/tools/convenience.d.ts.map +1 -0
- package/dist/tools/convenience.js +331 -0
- package/dist/tools/convenience.js.map +1 -0
- package/dist/tools/credit.d.ts +46 -0
- package/dist/tools/credit.d.ts.map +1 -0
- package/dist/tools/credit.js +102 -0
- package/dist/tools/credit.js.map +1 -0
- package/dist/tools/disputes.d.ts +71 -0
- package/dist/tools/disputes.d.ts.map +1 -0
- package/dist/tools/disputes.js +121 -0
- package/dist/tools/disputes.js.map +1 -0
- package/dist/tools/escrow.d.ts +90 -31
- package/dist/tools/escrow.d.ts.map +1 -1
- package/dist/tools/escrow.js +215 -98
- package/dist/tools/escrow.js.map +1 -1
- package/dist/tools/intent.d.ts +78 -0
- package/dist/tools/intent.d.ts.map +1 -0
- package/dist/tools/intent.js +192 -0
- package/dist/tools/intent.js.map +1 -0
- package/dist/tools/investment.d.ts +196 -0
- package/dist/tools/investment.d.ts.map +1 -0
- package/dist/tools/investment.js +415 -0
- package/dist/tools/investment.js.map +1 -0
- package/dist/tools/links.d.ts +41 -0
- package/dist/tools/links.d.ts.map +1 -0
- package/dist/tools/links.js +78 -0
- package/dist/tools/links.js.map +1 -0
- package/dist/tools/portfolio.d.ts +44 -0
- package/dist/tools/portfolio.d.ts.map +1 -0
- package/dist/tools/portfolio.js +166 -0
- package/dist/tools/portfolio.js.map +1 -0
- package/dist/tools/price-alerts.d.ts +52 -0
- package/dist/tools/price-alerts.d.ts.map +1 -0
- package/dist/tools/price-alerts.js +78 -0
- package/dist/tools/price-alerts.js.map +1 -0
- package/dist/tools/refunds.d.ts +32 -0
- package/dist/tools/refunds.d.ts.map +1 -0
- package/dist/tools/refunds.js +75 -0
- package/dist/tools/refunds.js.map +1 -0
- package/dist/tools/reputation.d.ts +49 -15
- package/dist/tools/reputation.d.ts.map +1 -1
- package/dist/tools/reputation.js +107 -45
- package/dist/tools/reputation.js.map +1 -1
- package/dist/tools/revenue.d.ts +42 -0
- package/dist/tools/revenue.d.ts.map +1 -0
- package/dist/tools/revenue.js +67 -0
- package/dist/tools/revenue.js.map +1 -0
- package/dist/tools/search.d.ts +54 -30
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +85 -122
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/streaming.d.ts +60 -0
- package/dist/tools/streaming.d.ts.map +1 -0
- package/dist/tools/streaming.js +163 -0
- package/dist/tools/streaming.js.map +1 -0
- package/dist/tools/swap-smart.d.ts +30 -0
- package/dist/tools/swap-smart.d.ts.map +1 -0
- package/dist/tools/swap-smart.js +135 -0
- package/dist/tools/swap-smart.js.map +1 -0
- package/dist/tools/swap.d.ts +93 -0
- package/dist/tools/swap.d.ts.map +1 -0
- package/dist/tools/swap.js +150 -0
- package/dist/tools/swap.js.map +1 -0
- package/dist/tools/treasury.d.ts +267 -0
- package/dist/tools/treasury.d.ts.map +1 -0
- package/dist/tools/treasury.js +722 -0
- package/dist/tools/treasury.js.map +1 -0
- package/dist/tools/trust-graph.d.ts +105 -0
- package/dist/tools/trust-graph.d.ts.map +1 -0
- package/dist/tools/trust-graph.js +232 -0
- package/dist/tools/trust-graph.js.map +1 -0
- package/dist/tools/webhooks.d.ts +60 -0
- package/dist/tools/webhooks.d.ts.map +1 -0
- package/dist/tools/webhooks.js +133 -0
- package/dist/tools/webhooks.js.map +1 -0
- package/dist/types/index.d.ts +84 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/{lib/types.js → types/index.js} +1 -1
- package/dist/types/index.js.map +1 -0
- package/dist/utils/contracts.d.ts +553 -0
- package/dist/utils/contracts.d.ts.map +1 -0
- package/dist/utils/contracts.js +403 -0
- package/dist/utils/contracts.js.map +1 -0
- package/package.json +11 -20
- package/BUILD_SUMMARY.md +0 -294
- package/CHANGELOG.md +0 -77
- package/COMPLETION_REPORT.md +0 -284
- package/INTEGRATION.md +0 -286
- package/QUICKSTART.md +0 -226
- package/dist/lib/config.d.ts +0 -7
- package/dist/lib/config.d.ts.map +0 -1
- package/dist/lib/config.js +0 -16
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/contracts.d.ts +0 -15
- package/dist/lib/contracts.d.ts.map +0 -1
- package/dist/lib/contracts.js +0 -148
- package/dist/lib/contracts.js.map +0 -1
- package/dist/lib/types.d.ts +0 -39
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/types.js.map +0 -1
- package/dist/resources/agent.d.ts +0 -3
- package/dist/resources/agent.d.ts.map +0 -1
- package/dist/resources/agent.js +0 -36
- package/dist/resources/agent.js.map +0 -1
- package/dist/resources/escrow.d.ts +0 -3
- package/dist/resources/escrow.d.ts.map +0 -1
- package/dist/resources/escrow.js +0 -33
- package/dist/resources/escrow.js.map +0 -1
- package/dist/resources/services.d.ts +0 -2
- package/dist/resources/services.d.ts.map +0 -1
- package/dist/resources/services.js +0 -55
- package/dist/resources/services.js.map +0 -1
- package/dist/tools/agent.d.ts +0 -17
- package/dist/tools/agent.d.ts.map +0 -1
- package/dist/tools/agent.js +0 -51
- package/dist/tools/agent.js.map +0 -1
- package/examples/test-server.ts +0 -36
- package/examples/test-tools.ts +0 -64
- package/src/__tests__/server.test.ts +0 -24
- package/src/index.ts +0 -24
- package/src/lib/config.ts +0 -22
- package/src/lib/contracts.ts +0 -164
- package/src/lib/types.ts +0 -44
- package/src/resources/agent.ts +0 -40
- package/src/resources/escrow.ts +0 -35
- package/src/resources/services.ts +0 -53
- package/src/server.ts +0 -190
- package/src/tools/agent.ts +0 -56
- package/src/tools/balance.ts +0 -61
- package/src/tools/escrow.ts +0 -142
- package/src/tools/reputation.ts +0 -69
- package/src/tools/search.ts +0 -148
- package/tsconfig.json +0 -20
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Address } from 'viem';
|
|
3
|
+
import { ContractClient } from '../utils/contracts';
|
|
4
|
+
export declare const postIntentSchema: z.ZodObject<{
|
|
5
|
+
description: z.ZodString;
|
|
6
|
+
tags: z.ZodArray<z.ZodString, "many">;
|
|
7
|
+
budget: z.ZodString;
|
|
8
|
+
deadline: z.ZodString;
|
|
9
|
+
requirements: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
description: string;
|
|
12
|
+
tags: string[];
|
|
13
|
+
budget: string;
|
|
14
|
+
deadline: string;
|
|
15
|
+
requirements?: Record<string, any> | undefined;
|
|
16
|
+
}, {
|
|
17
|
+
description: string;
|
|
18
|
+
tags: string[];
|
|
19
|
+
budget: string;
|
|
20
|
+
deadline: string;
|
|
21
|
+
requirements?: Record<string, any> | undefined;
|
|
22
|
+
}>;
|
|
23
|
+
export declare const searchIntentsSchema: z.ZodObject<{
|
|
24
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
25
|
+
minBudget: z.ZodOptional<z.ZodString>;
|
|
26
|
+
maxBudget: z.ZodOptional<z.ZodString>;
|
|
27
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
28
|
+
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
limit: number;
|
|
30
|
+
tags?: string[] | undefined;
|
|
31
|
+
minBudget?: string | undefined;
|
|
32
|
+
maxBudget?: string | undefined;
|
|
33
|
+
}, {
|
|
34
|
+
limit?: number | undefined;
|
|
35
|
+
tags?: string[] | undefined;
|
|
36
|
+
minBudget?: string | undefined;
|
|
37
|
+
maxBudget?: string | undefined;
|
|
38
|
+
}>;
|
|
39
|
+
export declare const acceptOfferSchema: z.ZodObject<{
|
|
40
|
+
intentId: z.ZodString;
|
|
41
|
+
offerId: z.ZodString;
|
|
42
|
+
}, "strip", z.ZodTypeAny, {
|
|
43
|
+
intentId: string;
|
|
44
|
+
offerId: string;
|
|
45
|
+
}, {
|
|
46
|
+
intentId: string;
|
|
47
|
+
offerId: string;
|
|
48
|
+
}>;
|
|
49
|
+
export declare function postIntent(params: z.infer<typeof postIntentSchema>, client: ContractClient): Promise<{
|
|
50
|
+
intentId: string;
|
|
51
|
+
transactionHash: string;
|
|
52
|
+
description: string;
|
|
53
|
+
tags: string[];
|
|
54
|
+
budget: string;
|
|
55
|
+
deadline: number;
|
|
56
|
+
status: string;
|
|
57
|
+
}>;
|
|
58
|
+
export declare function searchIntents(params: z.infer<typeof searchIntentsSchema>, client: ContractClient): Promise<{
|
|
59
|
+
intents: Array<{
|
|
60
|
+
intentId: string;
|
|
61
|
+
poster: Address;
|
|
62
|
+
description: string;
|
|
63
|
+
tags: string[];
|
|
64
|
+
budget: string;
|
|
65
|
+
deadline: number;
|
|
66
|
+
offers: number;
|
|
67
|
+
status: string;
|
|
68
|
+
}>;
|
|
69
|
+
total: number;
|
|
70
|
+
}>;
|
|
71
|
+
export declare function acceptOffer(params: z.infer<typeof acceptOfferSchema>, client: ContractClient): Promise<{
|
|
72
|
+
transactionHash: string;
|
|
73
|
+
intentId: string;
|
|
74
|
+
offerId: string;
|
|
75
|
+
provider: Address;
|
|
76
|
+
escrowId: string;
|
|
77
|
+
}>;
|
|
78
|
+
//# sourceMappingURL=intent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/tools/intent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAC;AAEhE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;EAM3B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,EACxC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CA+CD;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,EAC3C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,OAAO,EAAE,KAAK,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAuFD;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,EACzC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CA2CD"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.acceptOfferSchema = exports.searchIntentsSchema = exports.postIntentSchema = void 0;
|
|
4
|
+
exports.postIntent = postIntent;
|
|
5
|
+
exports.searchIntents = searchIntents;
|
|
6
|
+
exports.acceptOffer = acceptOffer;
|
|
7
|
+
const zod_1 = require("zod");
|
|
8
|
+
const contracts_1 = require("../utils/contracts");
|
|
9
|
+
exports.postIntentSchema = zod_1.z.object({
|
|
10
|
+
description: zod_1.z.string().describe('Service intent description'),
|
|
11
|
+
tags: zod_1.z.array(zod_1.z.string()).describe('Service tags for discovery'),
|
|
12
|
+
budget: zod_1.z.string().describe('Maximum budget in USDC'),
|
|
13
|
+
deadline: zod_1.z.string().describe('ISO 8601 duration or timestamp'),
|
|
14
|
+
requirements: zod_1.z.record(zod_1.z.any()).optional(),
|
|
15
|
+
});
|
|
16
|
+
exports.searchIntentsSchema = zod_1.z.object({
|
|
17
|
+
tags: zod_1.z.array(zod_1.z.string()).optional().describe('Filter by tags'),
|
|
18
|
+
minBudget: zod_1.z.string().optional().describe('Minimum budget in USDC'),
|
|
19
|
+
maxBudget: zod_1.z.string().optional().describe('Maximum budget in USDC'),
|
|
20
|
+
limit: zod_1.z.number().default(20),
|
|
21
|
+
});
|
|
22
|
+
exports.acceptOfferSchema = zod_1.z.object({
|
|
23
|
+
intentId: zod_1.z.string().describe('Intent ID'),
|
|
24
|
+
offerId: zod_1.z.string().describe('Offer ID to accept'),
|
|
25
|
+
});
|
|
26
|
+
async function postIntent(params, client) {
|
|
27
|
+
const account = client.getAccount();
|
|
28
|
+
const walletClient = client.getWalletClient();
|
|
29
|
+
const publicClient = client.getPublicClient();
|
|
30
|
+
const contracts = client.getContracts();
|
|
31
|
+
try {
|
|
32
|
+
const budget = client.parseUSDC(params.budget);
|
|
33
|
+
const deadlineMs = parseDeadline(params.deadline);
|
|
34
|
+
const deadlineSeconds = Math.floor(deadlineMs / 1000);
|
|
35
|
+
const metadata = JSON.stringify({
|
|
36
|
+
requirements: params.requirements || {},
|
|
37
|
+
});
|
|
38
|
+
const hash = await walletClient.writeContract({
|
|
39
|
+
address: contracts.intent,
|
|
40
|
+
abi: contracts_1.INTENT_ABI,
|
|
41
|
+
functionName: 'postIntent',
|
|
42
|
+
args: [params.description, params.tags, budget, BigInt(deadlineSeconds), metadata],
|
|
43
|
+
account,
|
|
44
|
+
});
|
|
45
|
+
const receipt = await publicClient.waitForTransactionReceipt({ hash });
|
|
46
|
+
// Parse intent ID from event logs
|
|
47
|
+
let intentId = '0';
|
|
48
|
+
if (receipt.logs && receipt.logs.length > 0) {
|
|
49
|
+
const intentPostedLog = receipt.logs.find((log) => log.topics && log.topics.length > 1);
|
|
50
|
+
if (intentPostedLog && intentPostedLog.topics) {
|
|
51
|
+
intentId = BigInt(intentPostedLog.topics[1]).toString();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
intentId,
|
|
56
|
+
transactionHash: hash,
|
|
57
|
+
description: params.description,
|
|
58
|
+
tags: params.tags,
|
|
59
|
+
budget: params.budget,
|
|
60
|
+
deadline: deadlineMs,
|
|
61
|
+
status: 'open',
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
throw new Error(`Failed to post intent: ${error.message}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async function searchIntents(params, client) {
|
|
69
|
+
const publicClient = client.getPublicClient();
|
|
70
|
+
const contracts = client.getContracts();
|
|
71
|
+
try {
|
|
72
|
+
// Get IntentPosted events
|
|
73
|
+
const latestBlock = await publicClient.getBlockNumber();
|
|
74
|
+
const fromBlock = latestBlock - BigInt(10000); // Last ~10k blocks
|
|
75
|
+
const logs = await publicClient.getLogs({
|
|
76
|
+
address: contracts.intent,
|
|
77
|
+
event: contracts_1.INTENT_ABI.find(e => e.type === 'event' && e.name === 'IntentPosted'),
|
|
78
|
+
fromBlock,
|
|
79
|
+
toBlock: 'latest',
|
|
80
|
+
});
|
|
81
|
+
const intents = [];
|
|
82
|
+
for (const log of logs) {
|
|
83
|
+
const { intentId, poster } = log.args;
|
|
84
|
+
try {
|
|
85
|
+
const [description, tags, budget, deadline, status, offerCount] = await publicClient.readContract({
|
|
86
|
+
address: contracts.intent,
|
|
87
|
+
abi: contracts_1.INTENT_ABI,
|
|
88
|
+
functionName: 'getIntent',
|
|
89
|
+
args: [intentId],
|
|
90
|
+
});
|
|
91
|
+
const budgetFormatted = client.formatUSDC(budget);
|
|
92
|
+
// Apply filters
|
|
93
|
+
if (params.tags && params.tags.length > 0) {
|
|
94
|
+
const intentTags = tags;
|
|
95
|
+
const hasMatchingTag = params.tags.some(tag => intentTags.includes(tag));
|
|
96
|
+
if (!hasMatchingTag)
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (params.minBudget && parseFloat(budgetFormatted) < parseFloat(params.minBudget)) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
if (params.maxBudget && parseFloat(budgetFormatted) > parseFloat(params.maxBudget)) {
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
const statusMap = {
|
|
106
|
+
0: 'open',
|
|
107
|
+
1: 'accepted',
|
|
108
|
+
2: 'completed',
|
|
109
|
+
3: 'canceled',
|
|
110
|
+
};
|
|
111
|
+
intents.push({
|
|
112
|
+
intentId: intentId.toString(),
|
|
113
|
+
poster: poster,
|
|
114
|
+
description: description,
|
|
115
|
+
tags: tags,
|
|
116
|
+
budget: budgetFormatted,
|
|
117
|
+
deadline: Number(deadline) * 1000,
|
|
118
|
+
offers: Number(offerCount),
|
|
119
|
+
status: statusMap[Number(status)],
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
catch (e) {
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
const limitedIntents = intents.slice(0, params.limit);
|
|
127
|
+
return {
|
|
128
|
+
intents: limitedIntents,
|
|
129
|
+
total: limitedIntents.length,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
throw new Error(`Failed to search intents: ${error.message}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
async function acceptOffer(params, client) {
|
|
137
|
+
const account = client.getAccount();
|
|
138
|
+
const walletClient = client.getWalletClient();
|
|
139
|
+
const publicClient = client.getPublicClient();
|
|
140
|
+
const contracts = client.getContracts();
|
|
141
|
+
try {
|
|
142
|
+
const intentId = BigInt(params.intentId);
|
|
143
|
+
const offerId = BigInt(params.offerId);
|
|
144
|
+
const hash = await walletClient.writeContract({
|
|
145
|
+
address: contracts.intent,
|
|
146
|
+
abi: contracts_1.INTENT_ABI,
|
|
147
|
+
functionName: 'acceptOffer',
|
|
148
|
+
args: [intentId, offerId],
|
|
149
|
+
account,
|
|
150
|
+
});
|
|
151
|
+
const receipt = await publicClient.waitForTransactionReceipt({ hash });
|
|
152
|
+
// Parse offer details and escrow ID from events
|
|
153
|
+
let escrowId = '0';
|
|
154
|
+
let provider = '0x0000000000000000000000000000000000000000';
|
|
155
|
+
if (receipt.logs && receipt.logs.length > 0) {
|
|
156
|
+
const offerAcceptedLog = receipt.logs.find((log) => log.topics && log.topics.length > 2);
|
|
157
|
+
if (offerAcceptedLog && offerAcceptedLog.topics) {
|
|
158
|
+
escrowId = BigInt(offerAcceptedLog.topics[2]).toString();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
transactionHash: hash,
|
|
163
|
+
intentId: params.intentId,
|
|
164
|
+
offerId: params.offerId,
|
|
165
|
+
provider,
|
|
166
|
+
escrowId,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
throw new Error(`Failed to accept offer: ${error.message}`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
function parseDeadline(deadline) {
|
|
174
|
+
// Try parsing as ISO date first
|
|
175
|
+
const date = new Date(deadline);
|
|
176
|
+
if (!isNaN(date.getTime())) {
|
|
177
|
+
return date.getTime();
|
|
178
|
+
}
|
|
179
|
+
// Otherwise parse as duration from now
|
|
180
|
+
const days = deadline.match(/P(\d+)D/);
|
|
181
|
+
const hours = deadline.match(/PT?(\d+)H/);
|
|
182
|
+
const minutes = deadline.match(/PT?(\d+)M/);
|
|
183
|
+
let ms = Date.now();
|
|
184
|
+
if (days)
|
|
185
|
+
ms += parseInt(days[1]) * 24 * 60 * 60 * 1000;
|
|
186
|
+
if (hours)
|
|
187
|
+
ms += parseInt(hours[1]) * 60 * 60 * 1000;
|
|
188
|
+
if (minutes)
|
|
189
|
+
ms += parseInt(minutes[1]) * 60 * 1000;
|
|
190
|
+
return ms;
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=intent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/tools/intent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ContractClient } from '../utils/contracts';
|
|
3
|
+
export declare const investmentProposeSchema: z.ZodObject<{
|
|
4
|
+
treasury: z.ZodString;
|
|
5
|
+
token: z.ZodString;
|
|
6
|
+
amount: z.ZodString;
|
|
7
|
+
returnType: z.ZodEnum<["REVENUE_SHARE", "FIXED_RETURN", "MILESTONE_BASED", "STREAMING"]>;
|
|
8
|
+
revShareBps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
9
|
+
fixedReturnBps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
10
|
+
durationSeconds: z.ZodNumber;
|
|
11
|
+
cliffSeconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
12
|
+
milestoneCount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
13
|
+
liquidationPreference: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
14
|
+
maxInvestorsBps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
15
|
+
minReserveBps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
16
|
+
minReputationScore: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
17
|
+
}, "strip", z.ZodTypeAny, {
|
|
18
|
+
token: string;
|
|
19
|
+
amount: string;
|
|
20
|
+
returnType: "REVENUE_SHARE" | "FIXED_RETURN" | "MILESTONE_BASED" | "STREAMING";
|
|
21
|
+
revShareBps: number;
|
|
22
|
+
fixedReturnBps: number;
|
|
23
|
+
durationSeconds: number;
|
|
24
|
+
cliffSeconds: number;
|
|
25
|
+
milestoneCount: number;
|
|
26
|
+
liquidationPreference: boolean;
|
|
27
|
+
maxInvestorsBps: number;
|
|
28
|
+
minReserveBps: number;
|
|
29
|
+
minReputationScore: number;
|
|
30
|
+
treasury: string;
|
|
31
|
+
}, {
|
|
32
|
+
token: string;
|
|
33
|
+
amount: string;
|
|
34
|
+
returnType: "REVENUE_SHARE" | "FIXED_RETURN" | "MILESTONE_BASED" | "STREAMING";
|
|
35
|
+
durationSeconds: number;
|
|
36
|
+
treasury: string;
|
|
37
|
+
revShareBps?: number | undefined;
|
|
38
|
+
fixedReturnBps?: number | undefined;
|
|
39
|
+
cliffSeconds?: number | undefined;
|
|
40
|
+
milestoneCount?: number | undefined;
|
|
41
|
+
liquidationPreference?: boolean | undefined;
|
|
42
|
+
maxInvestorsBps?: number | undefined;
|
|
43
|
+
minReserveBps?: number | undefined;
|
|
44
|
+
minReputationScore?: number | undefined;
|
|
45
|
+
}>;
|
|
46
|
+
export declare const investmentFundSchema: z.ZodObject<{
|
|
47
|
+
investmentId: z.ZodString;
|
|
48
|
+
}, "strip", z.ZodTypeAny, {
|
|
49
|
+
investmentId: string;
|
|
50
|
+
}, {
|
|
51
|
+
investmentId: string;
|
|
52
|
+
}>;
|
|
53
|
+
export declare const investmentClaimSchema: z.ZodObject<{
|
|
54
|
+
investmentId: z.ZodString;
|
|
55
|
+
}, "strip", z.ZodTypeAny, {
|
|
56
|
+
investmentId: string;
|
|
57
|
+
}, {
|
|
58
|
+
investmentId: string;
|
|
59
|
+
}>;
|
|
60
|
+
export declare const investmentMilestoneSchema: z.ZodObject<{
|
|
61
|
+
investmentId: z.ZodString;
|
|
62
|
+
}, "strip", z.ZodTypeAny, {
|
|
63
|
+
investmentId: string;
|
|
64
|
+
}, {
|
|
65
|
+
investmentId: string;
|
|
66
|
+
}>;
|
|
67
|
+
export declare const investmentDefaultSchema: z.ZodObject<{
|
|
68
|
+
investmentId: z.ZodString;
|
|
69
|
+
}, "strip", z.ZodTypeAny, {
|
|
70
|
+
investmentId: string;
|
|
71
|
+
}, {
|
|
72
|
+
investmentId: string;
|
|
73
|
+
}>;
|
|
74
|
+
export declare const investmentCancelSchema: z.ZodObject<{
|
|
75
|
+
investmentId: z.ZodString;
|
|
76
|
+
}, "strip", z.ZodTypeAny, {
|
|
77
|
+
investmentId: string;
|
|
78
|
+
}, {
|
|
79
|
+
investmentId: string;
|
|
80
|
+
}>;
|
|
81
|
+
export declare const investmentInfoSchema: z.ZodObject<{
|
|
82
|
+
investmentId: z.ZodString;
|
|
83
|
+
}, "strip", z.ZodTypeAny, {
|
|
84
|
+
investmentId: string;
|
|
85
|
+
}, {
|
|
86
|
+
investmentId: string;
|
|
87
|
+
}>;
|
|
88
|
+
export declare const investmentPortfolioSchema: z.ZodObject<{
|
|
89
|
+
investor: z.ZodString;
|
|
90
|
+
}, "strip", z.ZodTypeAny, {
|
|
91
|
+
investor: string;
|
|
92
|
+
}, {
|
|
93
|
+
investor: string;
|
|
94
|
+
}>;
|
|
95
|
+
export declare const investmentTreasurySchema: z.ZodObject<{
|
|
96
|
+
treasury: z.ZodString;
|
|
97
|
+
}, "strip", z.ZodTypeAny, {
|
|
98
|
+
treasury: string;
|
|
99
|
+
}, {
|
|
100
|
+
treasury: string;
|
|
101
|
+
}>;
|
|
102
|
+
export declare const investmentStatsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
103
|
+
/**
|
|
104
|
+
* Propose a new investment to a treasury
|
|
105
|
+
*/
|
|
106
|
+
export declare function investmentPropose(args: z.infer<typeof investmentProposeSchema>, client: ContractClient): Promise<{
|
|
107
|
+
success: boolean;
|
|
108
|
+
transactionHash: any;
|
|
109
|
+
message: string;
|
|
110
|
+
}>;
|
|
111
|
+
/**
|
|
112
|
+
* Fund a proposed investment
|
|
113
|
+
*/
|
|
114
|
+
export declare function investmentFund(args: z.infer<typeof investmentFundSchema>, client: ContractClient): Promise<{
|
|
115
|
+
success: boolean;
|
|
116
|
+
transactionHash: any;
|
|
117
|
+
message: string;
|
|
118
|
+
}>;
|
|
119
|
+
/**
|
|
120
|
+
* Claim returns from an investment
|
|
121
|
+
*/
|
|
122
|
+
export declare function investmentClaim(args: z.infer<typeof investmentClaimSchema>, client: ContractClient): Promise<{
|
|
123
|
+
success: boolean;
|
|
124
|
+
transactionHash: any;
|
|
125
|
+
message: string;
|
|
126
|
+
}>;
|
|
127
|
+
/**
|
|
128
|
+
* Complete a milestone (oracle only)
|
|
129
|
+
*/
|
|
130
|
+
export declare function investmentMilestone(args: z.infer<typeof investmentMilestoneSchema>, client: ContractClient): Promise<{
|
|
131
|
+
success: boolean;
|
|
132
|
+
transactionHash: any;
|
|
133
|
+
message: string;
|
|
134
|
+
}>;
|
|
135
|
+
/**
|
|
136
|
+
* Trigger default on an investment
|
|
137
|
+
*/
|
|
138
|
+
export declare function investmentDefault(args: z.infer<typeof investmentDefaultSchema>, client: ContractClient): Promise<{
|
|
139
|
+
success: boolean;
|
|
140
|
+
transactionHash: any;
|
|
141
|
+
message: string;
|
|
142
|
+
}>;
|
|
143
|
+
/**
|
|
144
|
+
* Cancel an unfunded investment
|
|
145
|
+
*/
|
|
146
|
+
export declare function investmentCancel(args: z.infer<typeof investmentCancelSchema>, client: ContractClient): Promise<{
|
|
147
|
+
success: boolean;
|
|
148
|
+
transactionHash: any;
|
|
149
|
+
message: string;
|
|
150
|
+
}>;
|
|
151
|
+
/**
|
|
152
|
+
* Get investment details
|
|
153
|
+
*/
|
|
154
|
+
export declare function investmentInfo(args: z.infer<typeof investmentInfoSchema>, client: ContractClient): Promise<{
|
|
155
|
+
investmentId: string;
|
|
156
|
+
investor: `0x${string}`;
|
|
157
|
+
treasury: `0x${string}`;
|
|
158
|
+
token: `0x${string}`;
|
|
159
|
+
investedAmount: string;
|
|
160
|
+
returnedAmount: string;
|
|
161
|
+
targetReturn: string;
|
|
162
|
+
status: string;
|
|
163
|
+
createdAt: number;
|
|
164
|
+
fundedAt: number;
|
|
165
|
+
returnType: string;
|
|
166
|
+
durationSeconds: number;
|
|
167
|
+
milestonesCompleted: number;
|
|
168
|
+
milestoneCount: number;
|
|
169
|
+
}>;
|
|
170
|
+
/**
|
|
171
|
+
* Get investor's portfolio
|
|
172
|
+
*/
|
|
173
|
+
export declare function investmentPortfolio(args: z.infer<typeof investmentPortfolioSchema>, client: ContractClient): Promise<{
|
|
174
|
+
investor: string;
|
|
175
|
+
investmentCount: number;
|
|
176
|
+
investments: string[];
|
|
177
|
+
}>;
|
|
178
|
+
/**
|
|
179
|
+
* Get treasury's investments
|
|
180
|
+
*/
|
|
181
|
+
export declare function investmentTreasury(args: z.infer<typeof investmentTreasurySchema>, client: ContractClient): Promise<{
|
|
182
|
+
treasury: string;
|
|
183
|
+
investmentCount: number;
|
|
184
|
+
investments: string[];
|
|
185
|
+
}>;
|
|
186
|
+
/**
|
|
187
|
+
* Get protocol-wide investment statistics
|
|
188
|
+
*/
|
|
189
|
+
export declare function investmentStats(_args: z.infer<typeof investmentStatsSchema>, client: ContractClient): Promise<{
|
|
190
|
+
totalInvestments: number;
|
|
191
|
+
totalInvested: string;
|
|
192
|
+
totalReturned: string;
|
|
193
|
+
totalProtocolFees: string;
|
|
194
|
+
avgReturnRate: number;
|
|
195
|
+
}>;
|
|
196
|
+
//# sourceMappingURL=investment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"investment.d.ts","sourceRoot":"","sources":["../../src/tools/investment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA8HpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAclC,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAC;AAGH,eAAO,MAAM,uBAAuB;;;;;;EAElC,CAAC;AAGH,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAC;AAGH,eAAO,MAAM,wBAAwB;;;;;;EAEnC,CAAC;AAGH,eAAO,MAAM,qBAAqB,gDAAe,CAAC;AAElD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,EAAE,MAAM,EAAE,cAAc;;;;GA2C5G;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAAE,MAAM,EAAE,cAAc;;;;GAoBtG;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,EAAE,MAAM,EAAE,cAAc;;;;GAoBxG;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAAE,MAAM,EAAE,cAAc;;;;GAoBhH;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,EAAE,MAAM,EAAE,cAAc;;;;GAoB5G;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,EAAE,MAAM,EAAE,cAAc;;;;GAoB1G;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAAE,MAAM,EAAE,cAAc;;;;;;;;;;;;;;;GA2DtG;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAAE,MAAM,EAAE,cAAc;;;;GAehH;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,EAAE,MAAM,EAAE,cAAc;;;;GAe9G;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,EAAE,MAAM,EAAE,cAAc;;;;;;GAiBzG"}
|