@paylobster/mcp-server 1.3.0 → 1.5.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 (135) hide show
  1. package/BUILD_SUMMARY.md +294 -0
  2. package/CHANGELOG.md +77 -0
  3. package/COMPLETION_REPORT.md +284 -0
  4. package/INTEGRATION.md +286 -0
  5. package/QUICKSTART.md +226 -0
  6. package/README.md +232 -127
  7. package/dist/index.d.ts +2 -2
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +19 -3
  10. package/dist/index.js.map +1 -1
  11. package/dist/lib/config.d.ts +7 -0
  12. package/dist/lib/config.d.ts.map +1 -0
  13. package/dist/lib/config.js +16 -0
  14. package/dist/lib/config.js.map +1 -0
  15. package/dist/lib/contracts.d.ts +15 -0
  16. package/dist/lib/contracts.d.ts.map +1 -0
  17. package/dist/lib/contracts.js +148 -0
  18. package/dist/lib/contracts.js.map +1 -0
  19. package/dist/lib/types.d.ts +39 -0
  20. package/dist/lib/types.d.ts.map +1 -0
  21. package/dist/{types/index.js → lib/types.js} +1 -1
  22. package/dist/lib/types.js.map +1 -0
  23. package/dist/resources/agent.d.ts +3 -0
  24. package/dist/resources/agent.d.ts.map +1 -0
  25. package/dist/resources/agent.js +36 -0
  26. package/dist/resources/agent.js.map +1 -0
  27. package/dist/resources/escrow.d.ts +3 -0
  28. package/dist/resources/escrow.d.ts.map +1 -0
  29. package/dist/resources/escrow.js +33 -0
  30. package/dist/resources/escrow.js.map +1 -0
  31. package/dist/resources/services.d.ts +2 -0
  32. package/dist/resources/services.d.ts.map +1 -0
  33. package/dist/resources/services.js +55 -0
  34. package/dist/resources/services.js.map +1 -0
  35. package/dist/server.d.ts +6 -3
  36. package/dist/server.d.ts.map +1 -1
  37. package/dist/server.js +114 -834
  38. package/dist/server.js.map +1 -1
  39. package/dist/tools/agent.d.ts +17 -0
  40. package/dist/tools/agent.d.ts.map +1 -0
  41. package/dist/tools/agent.js +51 -0
  42. package/dist/tools/agent.js.map +1 -0
  43. package/dist/tools/balance.d.ts +16 -5
  44. package/dist/tools/balance.d.ts.map +1 -1
  45. package/dist/tools/balance.js +44 -26
  46. package/dist/tools/balance.js.map +1 -1
  47. package/dist/tools/escrow.d.ts +31 -90
  48. package/dist/tools/escrow.d.ts.map +1 -1
  49. package/dist/tools/escrow.js +98 -215
  50. package/dist/tools/escrow.js.map +1 -1
  51. package/dist/tools/reputation.d.ts +15 -49
  52. package/dist/tools/reputation.d.ts.map +1 -1
  53. package/dist/tools/reputation.js +45 -107
  54. package/dist/tools/reputation.js.map +1 -1
  55. package/dist/tools/search.d.ts +30 -54
  56. package/dist/tools/search.d.ts.map +1 -1
  57. package/dist/tools/search.js +122 -85
  58. package/dist/tools/search.js.map +1 -1
  59. package/examples/test-server.ts +36 -0
  60. package/examples/test-tools.ts +64 -0
  61. package/package.json +20 -11
  62. package/src/__tests__/server.test.ts +24 -0
  63. package/src/index.ts +24 -0
  64. package/src/lib/config.ts +22 -0
  65. package/src/lib/contracts.ts +164 -0
  66. package/src/lib/types.ts +44 -0
  67. package/src/resources/agent.ts +40 -0
  68. package/src/resources/escrow.ts +35 -0
  69. package/src/resources/services.ts +53 -0
  70. package/src/server.ts +190 -0
  71. package/src/tools/agent.ts +56 -0
  72. package/src/tools/balance.ts +61 -0
  73. package/src/tools/escrow.ts +142 -0
  74. package/src/tools/reputation.ts +69 -0
  75. package/src/tools/search.ts +148 -0
  76. package/tsconfig.json +20 -0
  77. package/dist/cli.d.ts +0 -3
  78. package/dist/cli.d.ts.map +0 -1
  79. package/dist/cli.js +0 -86
  80. package/dist/cli.js.map +0 -1
  81. package/dist/resources/index.d.ts +0 -9
  82. package/dist/resources/index.d.ts.map +0 -1
  83. package/dist/resources/index.js +0 -159
  84. package/dist/resources/index.js.map +0 -1
  85. package/dist/tools/bridge.d.ts +0 -142
  86. package/dist/tools/bridge.d.ts.map +0 -1
  87. package/dist/tools/bridge.js +0 -121
  88. package/dist/tools/bridge.js.map +0 -1
  89. package/dist/tools/cascade.d.ts +0 -59
  90. package/dist/tools/cascade.d.ts.map +0 -1
  91. package/dist/tools/cascade.js +0 -119
  92. package/dist/tools/cascade.js.map +0 -1
  93. package/dist/tools/compliance.d.ts +0 -36
  94. package/dist/tools/compliance.d.ts.map +0 -1
  95. package/dist/tools/compliance.js +0 -57
  96. package/dist/tools/compliance.js.map +0 -1
  97. package/dist/tools/credit.d.ts +0 -46
  98. package/dist/tools/credit.d.ts.map +0 -1
  99. package/dist/tools/credit.js +0 -102
  100. package/dist/tools/credit.js.map +0 -1
  101. package/dist/tools/disputes.d.ts +0 -71
  102. package/dist/tools/disputes.d.ts.map +0 -1
  103. package/dist/tools/disputes.js +0 -121
  104. package/dist/tools/disputes.js.map +0 -1
  105. package/dist/tools/intent.d.ts +0 -78
  106. package/dist/tools/intent.d.ts.map +0 -1
  107. package/dist/tools/intent.js +0 -192
  108. package/dist/tools/intent.js.map +0 -1
  109. package/dist/tools/portfolio.d.ts +0 -44
  110. package/dist/tools/portfolio.d.ts.map +0 -1
  111. package/dist/tools/portfolio.js +0 -166
  112. package/dist/tools/portfolio.js.map +0 -1
  113. package/dist/tools/revenue.d.ts +0 -42
  114. package/dist/tools/revenue.d.ts.map +0 -1
  115. package/dist/tools/revenue.js +0 -67
  116. package/dist/tools/revenue.js.map +0 -1
  117. package/dist/tools/streaming.d.ts +0 -60
  118. package/dist/tools/streaming.d.ts.map +0 -1
  119. package/dist/tools/streaming.js +0 -163
  120. package/dist/tools/streaming.js.map +0 -1
  121. package/dist/tools/swap.d.ts +0 -93
  122. package/dist/tools/swap.d.ts.map +0 -1
  123. package/dist/tools/swap.js +0 -150
  124. package/dist/tools/swap.js.map +0 -1
  125. package/dist/tools/treasury.d.ts +0 -169
  126. package/dist/tools/treasury.d.ts.map +0 -1
  127. package/dist/tools/treasury.js +0 -475
  128. package/dist/tools/treasury.js.map +0 -1
  129. package/dist/types/index.d.ts +0 -83
  130. package/dist/types/index.d.ts.map +0 -1
  131. package/dist/types/index.js.map +0 -1
  132. package/dist/utils/contracts.d.ts +0 -552
  133. package/dist/utils/contracts.d.ts.map +0 -1
  134. package/dist/utils/contracts.js +0 -401
  135. package/dist/utils/contracts.js.map +0 -1
@@ -1,142 +0,0 @@
1
- import { z } from 'zod';
2
- import { ContractClient } from '../utils/contracts';
3
- export declare const bridgeQuoteSchema: z.ZodObject<{
4
- fromChain: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
5
- toChain: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
6
- fromToken: z.ZodString;
7
- toToken: z.ZodString;
8
- fromAmount: z.ZodString;
9
- fromAddress: z.ZodOptional<z.ZodString>;
10
- toAddress: z.ZodOptional<z.ZodString>;
11
- }, "strip", z.ZodTypeAny, {
12
- fromChain: string | number;
13
- toChain: string | number;
14
- fromToken: string;
15
- toToken: string;
16
- fromAmount: string;
17
- fromAddress?: string | undefined;
18
- toAddress?: string | undefined;
19
- }, {
20
- fromChain: string | number;
21
- toChain: string | number;
22
- fromToken: string;
23
- toToken: string;
24
- fromAmount: string;
25
- fromAddress?: string | undefined;
26
- toAddress?: string | undefined;
27
- }>;
28
- export declare const bridgeExecuteSchema: z.ZodObject<{
29
- fromChain: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
30
- toChain: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
31
- fromToken: z.ZodString;
32
- toToken: z.ZodString;
33
- fromAmount: z.ZodString;
34
- toAddress: z.ZodOptional<z.ZodString>;
35
- }, "strip", z.ZodTypeAny, {
36
- fromChain: string | number;
37
- toChain: string | number;
38
- fromToken: string;
39
- toToken: string;
40
- fromAmount: string;
41
- toAddress?: string | undefined;
42
- }, {
43
- fromChain: string | number;
44
- toChain: string | number;
45
- fromToken: string;
46
- toToken: string;
47
- fromAmount: string;
48
- toAddress?: string | undefined;
49
- }>;
50
- export declare const bridgeStatusSchema: z.ZodObject<{
51
- txHash: z.ZodString;
52
- fromChain: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
53
- toChain: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
54
- }, "strip", z.ZodTypeAny, {
55
- txHash: string;
56
- fromChain?: string | number | undefined;
57
- toChain?: string | number | undefined;
58
- }, {
59
- txHash: string;
60
- fromChain?: string | number | undefined;
61
- toChain?: string | number | undefined;
62
- }>;
63
- export declare const bridgeChainsSchema: z.ZodObject<{
64
- query: z.ZodOptional<z.ZodString>;
65
- }, "strip", z.ZodTypeAny, {
66
- query?: string | undefined;
67
- }, {
68
- query?: string | undefined;
69
- }>;
70
- interface BridgeQuoteResponse {
71
- id: string;
72
- type: string;
73
- tool: string;
74
- toolDetails: any;
75
- action: {
76
- fromChainId: number;
77
- toChainId: number;
78
- fromToken: any;
79
- toToken: any;
80
- fromAmount: string;
81
- toAmount: string;
82
- slippage: number;
83
- fromAddress: string;
84
- toAddress: string;
85
- };
86
- estimate: {
87
- fromAmount: string;
88
- toAmount: string;
89
- toAmountMin: string;
90
- approvalAddress: string;
91
- executionDuration: number;
92
- feeCosts: any[];
93
- gasCosts: any[];
94
- };
95
- transactionRequest?: {
96
- to: string;
97
- data: string;
98
- value: string;
99
- from: string;
100
- chainId: number;
101
- gasLimit: string;
102
- gasPrice: string;
103
- };
104
- }
105
- interface BridgeStatusResponse {
106
- txHash: string;
107
- status: string;
108
- substatus?: string;
109
- sending?: {
110
- txHash: string;
111
- amount: string;
112
- token: any;
113
- chainId: number;
114
- };
115
- receiving?: {
116
- txHash?: string;
117
- amount: string;
118
- token: any;
119
- chainId: number;
120
- };
121
- tool: string;
122
- metadata?: any;
123
- }
124
- interface ChainInfo {
125
- id: number;
126
- name: string;
127
- key: string;
128
- chainType: string;
129
- nativeToken: any;
130
- metamask: any;
131
- }
132
- export declare function bridgeQuote(params: z.infer<typeof bridgeQuoteSchema>, client: ContractClient): Promise<BridgeQuoteResponse>;
133
- export declare function bridgeExecute(params: z.infer<typeof bridgeExecuteSchema>, client: ContractClient): Promise<{
134
- transaction: any;
135
- quote: BridgeQuoteResponse;
136
- }>;
137
- export declare function bridgeStatus(params: z.infer<typeof bridgeStatusSchema>, client: ContractClient): Promise<BridgeStatusResponse>;
138
- export declare function bridgeChains(params: z.infer<typeof bridgeChainsSchema>, client: ContractClient): Promise<{
139
- chains: ChainInfo[];
140
- }>;
141
- export {};
142
- //# sourceMappingURL=bridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/tools/bridge.ts"],"names":[],"mappings":"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"}
@@ -1,121 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bridgeChainsSchema = exports.bridgeStatusSchema = exports.bridgeExecuteSchema = exports.bridgeQuoteSchema = void 0;
4
- exports.bridgeQuote = bridgeQuote;
5
- exports.bridgeExecute = bridgeExecute;
6
- exports.bridgeStatus = bridgeStatus;
7
- exports.bridgeChains = bridgeChains;
8
- const zod_1 = require("zod");
9
- // Schema for bridge_quote
10
- exports.bridgeQuoteSchema = zod_1.z.object({
11
- fromChain: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).describe('Source chain ID or name'),
12
- toChain: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).describe('Destination chain ID or name'),
13
- fromToken: zod_1.z.string().describe('Source token address'),
14
- toToken: zod_1.z.string().describe('Destination token address'),
15
- fromAmount: zod_1.z.string().describe('Amount to bridge (in token units)'),
16
- fromAddress: zod_1.z.string().optional().describe('Sender address'),
17
- toAddress: zod_1.z.string().optional().describe('Recipient address (defaults to fromAddress)'),
18
- });
19
- // Schema for bridge_execute
20
- exports.bridgeExecuteSchema = zod_1.z.object({
21
- fromChain: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).describe('Source chain ID or name'),
22
- toChain: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).describe('Destination chain ID or name'),
23
- fromToken: zod_1.z.string().describe('Source token address'),
24
- toToken: zod_1.z.string().describe('Destination token address'),
25
- fromAmount: zod_1.z.string().describe('Amount to bridge (in token units)'),
26
- toAddress: zod_1.z.string().optional().describe('Recipient address'),
27
- });
28
- // Schema for bridge_status
29
- exports.bridgeStatusSchema = zod_1.z.object({
30
- txHash: zod_1.z.string().describe('Transaction hash to check'),
31
- fromChain: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional().describe('Source chain ID'),
32
- toChain: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional().describe('Destination chain ID'),
33
- });
34
- // Schema for bridge_chains
35
- exports.bridgeChainsSchema = zod_1.z.object({
36
- query: zod_1.z.string().optional().describe('Filter chains by name'),
37
- });
38
- async function bridgeQuote(params, client) {
39
- const fromAddress = params.fromAddress || client.getAccount().address;
40
- const toAddress = params.toAddress || fromAddress;
41
- const queryParams = new URLSearchParams({
42
- fromChain: params.fromChain.toString(),
43
- toChain: params.toChain.toString(),
44
- fromToken: params.fromToken,
45
- toToken: params.toToken,
46
- fromAmount: params.fromAmount,
47
- fromAddress,
48
- toAddress,
49
- });
50
- try {
51
- const response = await fetch(`https://li.quest/v1/quote?${queryParams}`);
52
- if (!response.ok) {
53
- const errorText = await response.text();
54
- throw new Error(`Li.Fi API error: ${response.status} - ${errorText}`);
55
- }
56
- const data = await response.json();
57
- return data;
58
- }
59
- catch (error) {
60
- throw new Error(`Failed to get bridge quote: ${error.message}`);
61
- }
62
- }
63
- async function bridgeExecute(params, client) {
64
- const fromAddress = client.getAccount().address;
65
- const toAddress = params.toAddress || fromAddress;
66
- // Get quote first
67
- const quote = await bridgeQuote({
68
- ...params,
69
- fromAddress,
70
- toAddress,
71
- }, client);
72
- if (!quote.transactionRequest) {
73
- throw new Error('No transaction data in quote response');
74
- }
75
- return {
76
- transaction: quote.transactionRequest,
77
- quote,
78
- };
79
- }
80
- async function bridgeStatus(params, client) {
81
- const queryParams = new URLSearchParams({
82
- txHash: params.txHash,
83
- ...(params.fromChain && { fromChain: params.fromChain.toString() }),
84
- ...(params.toChain && { toChain: params.toChain.toString() }),
85
- });
86
- try {
87
- const response = await fetch(`https://li.quest/v1/status?${queryParams}`);
88
- if (!response.ok) {
89
- const errorText = await response.text();
90
- throw new Error(`Li.Fi API error: ${response.status} - ${errorText}`);
91
- }
92
- const data = await response.json();
93
- return data;
94
- }
95
- catch (error) {
96
- throw new Error(`Failed to get bridge status: ${error.message}`);
97
- }
98
- }
99
- async function bridgeChains(params, client) {
100
- try {
101
- const response = await fetch('https://li.quest/v1/chains');
102
- if (!response.ok) {
103
- const errorText = await response.text();
104
- throw new Error(`Li.Fi API error: ${response.status} - ${errorText}`);
105
- }
106
- const data = await response.json();
107
- let chains = data.chains || [];
108
- // Filter by query if provided
109
- if (params.query) {
110
- const query = params.query.toLowerCase();
111
- chains = chains.filter((chain) => chain.name.toLowerCase().includes(query) ||
112
- chain.key.toLowerCase().includes(query) ||
113
- chain.id.toString().includes(query));
114
- }
115
- return { chains };
116
- }
117
- catch (error) {
118
- throw new Error(`Failed to fetch chains: ${error.message}`);
119
- }
120
- }
121
- //# sourceMappingURL=bridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/tools/bridge.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- import { z } from 'zod';
2
- import { Address } from 'viem';
3
- import { ContractClient } from '../utils/contracts';
4
- export declare const createCascadeSchema: z.ZodObject<{
5
- levels: z.ZodArray<z.ZodObject<{
6
- recipient: z.ZodString;
7
- amount: z.ZodString;
8
- releaseCondition: z.ZodString;
9
- }, "strip", z.ZodTypeAny, {
10
- recipient: string;
11
- amount: string;
12
- releaseCondition: string;
13
- }, {
14
- recipient: string;
15
- amount: string;
16
- releaseCondition: string;
17
- }>, "many">;
18
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
19
- }, "strip", z.ZodTypeAny, {
20
- levels: {
21
- recipient: string;
22
- amount: string;
23
- releaseCondition: string;
24
- }[];
25
- metadata?: Record<string, any> | undefined;
26
- }, {
27
- levels: {
28
- recipient: string;
29
- amount: string;
30
- releaseCondition: string;
31
- }[];
32
- metadata?: Record<string, any> | undefined;
33
- }>;
34
- export declare const releaseCascadeLevelSchema: z.ZodObject<{
35
- cascadeId: z.ZodString;
36
- level: z.ZodNumber;
37
- }, "strip", z.ZodTypeAny, {
38
- cascadeId: string;
39
- level: number;
40
- }, {
41
- cascadeId: string;
42
- level: number;
43
- }>;
44
- export declare function createCascade(params: z.infer<typeof createCascadeSchema>, client: ContractClient): Promise<{
45
- cascadeId: string;
46
- transactionHash: string;
47
- totalAmount: string;
48
- levels: number;
49
- status: string;
50
- }>;
51
- export declare function releaseCascadeLevel(params: z.infer<typeof releaseCascadeLevelSchema>, client: ContractClient): Promise<{
52
- transactionHash: string;
53
- cascadeId: string;
54
- level: number;
55
- recipient: Address;
56
- amount: string;
57
- nextLevel: number | null;
58
- }>;
59
- //# sourceMappingURL=cascade.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cascade.d.ts","sourceRoot":"","sources":["../../src/tools/cascade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAyB,MAAM,oBAAoB,CAAC;AAE3E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;EAGpC,CAAC;AAEH,wBAAsB,aAAa,CACjC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,EAC3C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CA+DD;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EACjD,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC,CAkDD"}
@@ -1,119 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.releaseCascadeLevelSchema = exports.createCascadeSchema = void 0;
4
- exports.createCascade = createCascade;
5
- exports.releaseCascadeLevel = releaseCascadeLevel;
6
- const zod_1 = require("zod");
7
- const contracts_1 = require("../utils/contracts");
8
- exports.createCascadeSchema = zod_1.z.object({
9
- levels: zod_1.z.array(zod_1.z.object({
10
- recipient: zod_1.z.string().describe('Recipient address'),
11
- amount: zod_1.z.string().describe('Amount in USDC'),
12
- releaseCondition: zod_1.z.string().describe('Condition for release'),
13
- })).describe('Cascade levels in order'),
14
- metadata: zod_1.z.record(zod_1.z.any()).optional(),
15
- });
16
- exports.releaseCascadeLevelSchema = zod_1.z.object({
17
- cascadeId: zod_1.z.string().describe('Cascade ID'),
18
- level: zod_1.z.number().describe('Level to release (0-indexed)'),
19
- });
20
- async function createCascade(params, client) {
21
- const account = client.getAccount();
22
- const walletClient = client.getWalletClient();
23
- const publicClient = client.getPublicClient();
24
- const contracts = client.getContracts();
25
- try {
26
- // Parse recipients and amounts
27
- const recipients = [];
28
- const amounts = [];
29
- let totalAmount = BigInt(0);
30
- for (const level of params.levels) {
31
- recipients.push(level.recipient);
32
- const amount = client.parseUSDC(level.amount);
33
- amounts.push(amount);
34
- totalAmount += amount;
35
- }
36
- // Step 1: Approve USDC spending
37
- const approveHash = await walletClient.writeContract({
38
- address: contracts.usdc,
39
- abi: contracts_1.USDC_ABI,
40
- functionName: 'approve',
41
- args: [contracts.cascade, totalAmount],
42
- account,
43
- });
44
- await publicClient.waitForTransactionReceipt({ hash: approveHash });
45
- // Step 2: Create cascade
46
- const metadata = JSON.stringify(params.metadata || {});
47
- const hash = await walletClient.writeContract({
48
- address: contracts.cascade,
49
- abi: contracts_1.CASCADE_ABI,
50
- functionName: 'createCascade',
51
- args: [recipients, amounts, contracts.usdc, metadata],
52
- account,
53
- });
54
- const receipt = await publicClient.waitForTransactionReceipt({ hash });
55
- // Parse cascade ID from event logs
56
- let cascadeId = '0';
57
- if (receipt.logs && receipt.logs.length > 0) {
58
- const cascadeCreatedLog = receipt.logs.find((log) => log.topics && log.topics.length > 1);
59
- if (cascadeCreatedLog && cascadeCreatedLog.topics) {
60
- cascadeId = BigInt(cascadeCreatedLog.topics[1]).toString();
61
- }
62
- }
63
- return {
64
- cascadeId,
65
- transactionHash: hash,
66
- totalAmount: client.formatUSDC(totalAmount),
67
- levels: params.levels.length,
68
- status: 'active',
69
- };
70
- }
71
- catch (error) {
72
- throw new Error(`Failed to create cascade: ${error.message}`);
73
- }
74
- }
75
- async function releaseCascadeLevel(params, client) {
76
- const account = client.getAccount();
77
- const walletClient = client.getWalletClient();
78
- const publicClient = client.getPublicClient();
79
- const contracts = client.getContracts();
80
- try {
81
- const cascadeId = BigInt(params.cascadeId);
82
- // Get cascade details
83
- const [creator, recipients, amounts, token, currentLevel, totalLevels] = await publicClient.readContract({
84
- address: contracts.cascade,
85
- abi: contracts_1.CASCADE_ABI,
86
- functionName: 'getCascade',
87
- args: [cascadeId],
88
- });
89
- if (params.level !== Number(currentLevel)) {
90
- throw new Error(`Cannot release level ${params.level}, current level is ${currentLevel}`);
91
- }
92
- // Release level
93
- const hash = await walletClient.writeContract({
94
- address: contracts.cascade,
95
- abi: contracts_1.CASCADE_ABI,
96
- functionName: 'releaseLevel',
97
- args: [cascadeId],
98
- account,
99
- });
100
- await publicClient.waitForTransactionReceipt({ hash });
101
- const recipientsArray = recipients;
102
- const amountsArray = amounts;
103
- const recipient = recipientsArray[params.level];
104
- const amount = amountsArray[params.level];
105
- const nextLevel = params.level + 1 < Number(totalLevels) ? params.level + 1 : null;
106
- return {
107
- transactionHash: hash,
108
- cascadeId: params.cascadeId,
109
- level: params.level,
110
- recipient,
111
- amount: client.formatUSDC(amount),
112
- nextLevel,
113
- };
114
- }
115
- catch (error) {
116
- throw new Error(`Failed to release cascade level: ${error.message}`);
117
- }
118
- }
119
- //# sourceMappingURL=cascade.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cascade.js","sourceRoot":"","sources":["../../src/tools/cascade.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { z } from 'zod';
2
- import { Address } from 'viem';
3
- import { ContractClient } from '../utils/contracts';
4
- export declare const checkComplianceSchema: z.ZodObject<{
5
- address: z.ZodString;
6
- checkTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
7
- }, "strip", z.ZodTypeAny, {
8
- address: string;
9
- checkTypes?: string[] | undefined;
10
- }, {
11
- address: string;
12
- checkTypes?: string[] | undefined;
13
- }>;
14
- export declare function checkCompliance(params: z.infer<typeof checkComplianceSchema>, client: ContractClient): Promise<{
15
- address: Address;
16
- compliant: boolean;
17
- checks: {
18
- kyc: {
19
- verified: boolean;
20
- level: string;
21
- verifiedAt?: number;
22
- };
23
- sanctions: {
24
- clear: boolean;
25
- checkedAt: number;
26
- };
27
- risk: {
28
- score: number;
29
- level: string;
30
- factors: string[];
31
- };
32
- };
33
- restrictions: string[];
34
- lastUpdated: number;
35
- }>;
36
- //# sourceMappingURL=compliance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compliance.d.ts","sourceRoot":"","sources":["../../src/tools/compliance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAkB,MAAM,oBAAoB,CAAC;AAEpE,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAEH,wBAAsB,eAAe,CACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,EAC7C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE;QACN,GAAG,EAAE;YACH,QAAQ,EAAE,OAAO,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;KACH,CAAC;IACF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAkDD"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkComplianceSchema = void 0;
4
- exports.checkCompliance = checkCompliance;
5
- const zod_1 = require("zod");
6
- const contracts_1 = require("../utils/contracts");
7
- exports.checkComplianceSchema = zod_1.z.object({
8
- address: zod_1.z.string().describe('Agent address to check'),
9
- checkTypes: zod_1.z.array(zod_1.z.string()).optional().describe('Specific checks to run (kyc, sanctions, risk)'),
10
- });
11
- async function checkCompliance(params, client) {
12
- const publicClient = client.getPublicClient();
13
- const contracts = client.getContracts();
14
- try {
15
- const address = params.address;
16
- // Get compliance status
17
- const [kycVerified, kycLevel, sanctionsClear, riskScore, restrictions, lastUpdated] = await publicClient.readContract({
18
- address: contracts.compliance,
19
- abi: contracts_1.COMPLIANCE_ABI,
20
- functionName: 'getComplianceStatus',
21
- args: [address],
22
- });
23
- // Map risk score to level
24
- const riskLevel = Number(riskScore) < 30 ? 'low' :
25
- Number(riskScore) < 70 ? 'medium' : 'high';
26
- // Determine overall compliance
27
- const compliant = kycVerified &&
28
- sanctionsClear &&
29
- Number(riskScore) < 70;
30
- return {
31
- address,
32
- compliant,
33
- checks: {
34
- kyc: {
35
- verified: kycVerified,
36
- level: kycLevel,
37
- verifiedAt: kycVerified ? Number(lastUpdated) * 1000 : undefined,
38
- },
39
- sanctions: {
40
- clear: sanctionsClear,
41
- checkedAt: Number(lastUpdated) * 1000,
42
- },
43
- risk: {
44
- score: Number(riskScore),
45
- level: riskLevel,
46
- factors: [], // Would be populated from detailed analysis
47
- },
48
- },
49
- restrictions: restrictions,
50
- lastUpdated: Number(lastUpdated) * 1000,
51
- };
52
- }
53
- catch (error) {
54
- throw new Error(`Failed to check compliance: ${error.message}`);
55
- }
56
- }
57
- //# sourceMappingURL=compliance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compliance.js","sourceRoot":"","sources":["../../src/tools/compliance.ts"],"names":[],"mappings":";;;AASA,0CA0EC;AAnFD,6BAAwB;AAExB,kDAAoE;AAEvD,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACtD,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CACrG,CAAC,CAAC;AAEI,KAAK,UAAU,eAAe,CACnC,MAA6C,EAC7C,MAAsB;IAuBtB,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkB,CAAC;QAE1C,wBAAwB;QACxB,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,GACjF,MAAM,YAAY,CAAC,YAAY,CAAC;YAC9B,OAAO,EAAE,SAAS,CAAC,UAAU;YAC7B,GAAG,EAAE,0BAAc;YACnB,YAAY,EAAE,qBAAqB;YACnC,IAAI,EAAE,CAAC,OAAO,CAAC;SAChB,CAAC,CAAC;QAEL,0BAA0B;QAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAE5D,+BAA+B;QAC/B,MAAM,SAAS,GAAI,WAAuB;YACvB,cAA0B;YAC3B,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAEzC,OAAO;YACL,OAAO;YACP,SAAS;YACT,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,QAAQ,EAAE,WAAsB;oBAChC,KAAK,EAAE,QAAkB;oBACzB,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;iBACjE;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE,cAAyB;oBAChC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI;iBACtC;gBACD,IAAI,EAAE;oBACJ,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;oBACxB,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,EAAE,EAAE,4CAA4C;iBAC1D;aACF;YACD,YAAY,EAAE,YAAwB;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI;SACxC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC"}
@@ -1,46 +0,0 @@
1
- import { z } from 'zod';
2
- import { Address } from 'viem';
3
- import { ContractClient } from '../utils/contracts';
4
- export declare const getCreditScoreSchema: z.ZodObject<{
5
- address: z.ZodString;
6
- }, "strip", z.ZodTypeAny, {
7
- address: string;
8
- }, {
9
- address: string;
10
- }>;
11
- export declare const requestCreditLineSchema: z.ZodObject<{
12
- amount: z.ZodString;
13
- duration: z.ZodString;
14
- collateral: z.ZodOptional<z.ZodString>;
15
- }, "strip", z.ZodTypeAny, {
16
- amount: string;
17
- duration: string;
18
- collateral?: string | undefined;
19
- }, {
20
- amount: string;
21
- duration: string;
22
- collateral?: string | undefined;
23
- }>;
24
- export declare function getCreditScore(params: z.infer<typeof getCreditScoreSchema>, client: ContractClient): Promise<{
25
- address: Address;
26
- score: number;
27
- limit: string;
28
- available: string;
29
- inUse: string;
30
- paymentHistory: {
31
- onTime: number;
32
- late: number;
33
- defaulted: number;
34
- };
35
- utilization: number;
36
- age: number;
37
- }>;
38
- export declare function requestCreditLine(params: z.infer<typeof requestCreditLineSchema>, client: ContractClient): Promise<{
39
- transactionHash: string;
40
- requestId: string;
41
- amount: string;
42
- duration: number;
43
- collateral: string;
44
- status: string;
45
- }>;
46
- //# sourceMappingURL=credit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credit.d.ts","sourceRoot":"","sources":["../../src/tools/credit.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,oBAAoB;;;;;;EAE/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAIlC,CAAC;AAEH,wBAAsB,cAAc,CAClC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAC5C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,CAqCD;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,EAC/C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CA4CD"}