@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.
Files changed (167) hide show
  1. package/README.md +147 -228
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +86 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/index.d.ts +2 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +3 -19
  9. package/dist/index.js.map +1 -1
  10. package/dist/resources/index.d.ts +9 -0
  11. package/dist/resources/index.d.ts.map +1 -0
  12. package/dist/resources/index.js +159 -0
  13. package/dist/resources/index.js.map +1 -0
  14. package/dist/server.d.ts +3 -6
  15. package/dist/server.d.ts.map +1 -1
  16. package/dist/server.js +1455 -114
  17. package/dist/server.js.map +1 -1
  18. package/dist/tools/balance.d.ts +5 -16
  19. package/dist/tools/balance.d.ts.map +1 -1
  20. package/dist/tools/balance.js +26 -44
  21. package/dist/tools/balance.js.map +1 -1
  22. package/dist/tools/bridge.d.ts +142 -0
  23. package/dist/tools/bridge.d.ts.map +1 -0
  24. package/dist/tools/bridge.js +121 -0
  25. package/dist/tools/bridge.js.map +1 -0
  26. package/dist/tools/cascade.d.ts +59 -0
  27. package/dist/tools/cascade.d.ts.map +1 -0
  28. package/dist/tools/cascade.js +119 -0
  29. package/dist/tools/cascade.js.map +1 -0
  30. package/dist/tools/compliance.d.ts +36 -0
  31. package/dist/tools/compliance.d.ts.map +1 -0
  32. package/dist/tools/compliance.js +57 -0
  33. package/dist/tools/compliance.js.map +1 -0
  34. package/dist/tools/convenience.d.ts +121 -0
  35. package/dist/tools/convenience.d.ts.map +1 -0
  36. package/dist/tools/convenience.js +331 -0
  37. package/dist/tools/convenience.js.map +1 -0
  38. package/dist/tools/credit.d.ts +46 -0
  39. package/dist/tools/credit.d.ts.map +1 -0
  40. package/dist/tools/credit.js +102 -0
  41. package/dist/tools/credit.js.map +1 -0
  42. package/dist/tools/disputes.d.ts +71 -0
  43. package/dist/tools/disputes.d.ts.map +1 -0
  44. package/dist/tools/disputes.js +121 -0
  45. package/dist/tools/disputes.js.map +1 -0
  46. package/dist/tools/escrow.d.ts +90 -31
  47. package/dist/tools/escrow.d.ts.map +1 -1
  48. package/dist/tools/escrow.js +215 -98
  49. package/dist/tools/escrow.js.map +1 -1
  50. package/dist/tools/intent.d.ts +78 -0
  51. package/dist/tools/intent.d.ts.map +1 -0
  52. package/dist/tools/intent.js +192 -0
  53. package/dist/tools/intent.js.map +1 -0
  54. package/dist/tools/investment.d.ts +196 -0
  55. package/dist/tools/investment.d.ts.map +1 -0
  56. package/dist/tools/investment.js +415 -0
  57. package/dist/tools/investment.js.map +1 -0
  58. package/dist/tools/links.d.ts +41 -0
  59. package/dist/tools/links.d.ts.map +1 -0
  60. package/dist/tools/links.js +78 -0
  61. package/dist/tools/links.js.map +1 -0
  62. package/dist/tools/portfolio.d.ts +44 -0
  63. package/dist/tools/portfolio.d.ts.map +1 -0
  64. package/dist/tools/portfolio.js +166 -0
  65. package/dist/tools/portfolio.js.map +1 -0
  66. package/dist/tools/price-alerts.d.ts +52 -0
  67. package/dist/tools/price-alerts.d.ts.map +1 -0
  68. package/dist/tools/price-alerts.js +78 -0
  69. package/dist/tools/price-alerts.js.map +1 -0
  70. package/dist/tools/refunds.d.ts +32 -0
  71. package/dist/tools/refunds.d.ts.map +1 -0
  72. package/dist/tools/refunds.js +75 -0
  73. package/dist/tools/refunds.js.map +1 -0
  74. package/dist/tools/reputation.d.ts +49 -15
  75. package/dist/tools/reputation.d.ts.map +1 -1
  76. package/dist/tools/reputation.js +107 -45
  77. package/dist/tools/reputation.js.map +1 -1
  78. package/dist/tools/revenue.d.ts +42 -0
  79. package/dist/tools/revenue.d.ts.map +1 -0
  80. package/dist/tools/revenue.js +67 -0
  81. package/dist/tools/revenue.js.map +1 -0
  82. package/dist/tools/search.d.ts +54 -30
  83. package/dist/tools/search.d.ts.map +1 -1
  84. package/dist/tools/search.js +85 -122
  85. package/dist/tools/search.js.map +1 -1
  86. package/dist/tools/streaming.d.ts +60 -0
  87. package/dist/tools/streaming.d.ts.map +1 -0
  88. package/dist/tools/streaming.js +163 -0
  89. package/dist/tools/streaming.js.map +1 -0
  90. package/dist/tools/swap-smart.d.ts +30 -0
  91. package/dist/tools/swap-smart.d.ts.map +1 -0
  92. package/dist/tools/swap-smart.js +135 -0
  93. package/dist/tools/swap-smart.js.map +1 -0
  94. package/dist/tools/swap.d.ts +93 -0
  95. package/dist/tools/swap.d.ts.map +1 -0
  96. package/dist/tools/swap.js +150 -0
  97. package/dist/tools/swap.js.map +1 -0
  98. package/dist/tools/treasury.d.ts +267 -0
  99. package/dist/tools/treasury.d.ts.map +1 -0
  100. package/dist/tools/treasury.js +722 -0
  101. package/dist/tools/treasury.js.map +1 -0
  102. package/dist/tools/trust-graph.d.ts +105 -0
  103. package/dist/tools/trust-graph.d.ts.map +1 -0
  104. package/dist/tools/trust-graph.js +232 -0
  105. package/dist/tools/trust-graph.js.map +1 -0
  106. package/dist/tools/webhooks.d.ts +60 -0
  107. package/dist/tools/webhooks.d.ts.map +1 -0
  108. package/dist/tools/webhooks.js +133 -0
  109. package/dist/tools/webhooks.js.map +1 -0
  110. package/dist/types/index.d.ts +84 -0
  111. package/dist/types/index.d.ts.map +1 -0
  112. package/dist/{lib/types.js → types/index.js} +1 -1
  113. package/dist/types/index.js.map +1 -0
  114. package/dist/utils/contracts.d.ts +553 -0
  115. package/dist/utils/contracts.d.ts.map +1 -0
  116. package/dist/utils/contracts.js +403 -0
  117. package/dist/utils/contracts.js.map +1 -0
  118. package/package.json +11 -20
  119. package/BUILD_SUMMARY.md +0 -294
  120. package/CHANGELOG.md +0 -77
  121. package/COMPLETION_REPORT.md +0 -284
  122. package/INTEGRATION.md +0 -286
  123. package/QUICKSTART.md +0 -226
  124. package/dist/lib/config.d.ts +0 -7
  125. package/dist/lib/config.d.ts.map +0 -1
  126. package/dist/lib/config.js +0 -16
  127. package/dist/lib/config.js.map +0 -1
  128. package/dist/lib/contracts.d.ts +0 -15
  129. package/dist/lib/contracts.d.ts.map +0 -1
  130. package/dist/lib/contracts.js +0 -148
  131. package/dist/lib/contracts.js.map +0 -1
  132. package/dist/lib/types.d.ts +0 -39
  133. package/dist/lib/types.d.ts.map +0 -1
  134. package/dist/lib/types.js.map +0 -1
  135. package/dist/resources/agent.d.ts +0 -3
  136. package/dist/resources/agent.d.ts.map +0 -1
  137. package/dist/resources/agent.js +0 -36
  138. package/dist/resources/agent.js.map +0 -1
  139. package/dist/resources/escrow.d.ts +0 -3
  140. package/dist/resources/escrow.d.ts.map +0 -1
  141. package/dist/resources/escrow.js +0 -33
  142. package/dist/resources/escrow.js.map +0 -1
  143. package/dist/resources/services.d.ts +0 -2
  144. package/dist/resources/services.d.ts.map +0 -1
  145. package/dist/resources/services.js +0 -55
  146. package/dist/resources/services.js.map +0 -1
  147. package/dist/tools/agent.d.ts +0 -17
  148. package/dist/tools/agent.d.ts.map +0 -1
  149. package/dist/tools/agent.js +0 -51
  150. package/dist/tools/agent.js.map +0 -1
  151. package/examples/test-server.ts +0 -36
  152. package/examples/test-tools.ts +0 -64
  153. package/src/__tests__/server.test.ts +0 -24
  154. package/src/index.ts +0 -24
  155. package/src/lib/config.ts +0 -22
  156. package/src/lib/contracts.ts +0 -164
  157. package/src/lib/types.ts +0 -44
  158. package/src/resources/agent.ts +0 -40
  159. package/src/resources/escrow.ts +0 -35
  160. package/src/resources/services.ts +0 -53
  161. package/src/server.ts +0 -190
  162. package/src/tools/agent.ts +0 -56
  163. package/src/tools/balance.ts +0 -61
  164. package/src/tools/escrow.ts +0 -142
  165. package/src/tools/reputation.ts +0 -69
  166. package/src/tools/search.ts +0 -148
  167. 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"}