@paylobster/mcp-server 1.3.1 → 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 -941
  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 -267
  126. package/dist/tools/treasury.d.ts.map +0 -1
  127. package/dist/tools/treasury.js +0 -722
  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,166 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTokenPriceSchema = exports.getPortfolioSchema = void 0;
4
- exports.getPortfolio = getPortfolio;
5
- exports.getTokenPrice = getTokenPrice;
6
- const zod_1 = require("zod");
7
- // Schema for get_portfolio
8
- exports.getPortfolioSchema = zod_1.z.object({
9
- address: zod_1.z.string().describe('Ethereum address to get portfolio for'),
10
- });
11
- // Schema for get_token_price
12
- exports.getTokenPriceSchema = zod_1.z.object({
13
- tokenAddress: zod_1.z.string().describe('Token contract address on Base'),
14
- });
15
- // Base chain native token (ETH) and common tokens
16
- const BASE_TOKENS = {
17
- '0x0000000000000000000000000000000000000000': { symbol: 'ETH', decimals: 18, address: '0x0000000000000000000000000000000000000000' },
18
- '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913': { symbol: 'USDC', decimals: 6, address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' },
19
- };
20
- async function getPortfolio(params, client) {
21
- const publicClient = client.getPublicClient();
22
- const address = params.address;
23
- try {
24
- const tokens = [];
25
- let totalValueUSD = 0;
26
- // ERC20 ABI for balance and metadata
27
- const ERC20_ABI = [
28
- {
29
- inputs: [{ name: 'account', type: 'address' }],
30
- name: 'balanceOf',
31
- outputs: [{ name: '', type: 'uint256' }],
32
- stateMutability: 'view',
33
- type: 'function',
34
- },
35
- {
36
- inputs: [],
37
- name: 'symbol',
38
- outputs: [{ name: '', type: 'string' }],
39
- stateMutability: 'view',
40
- type: 'function',
41
- },
42
- {
43
- inputs: [],
44
- name: 'name',
45
- outputs: [{ name: '', type: 'string' }],
46
- stateMutability: 'view',
47
- type: 'function',
48
- },
49
- {
50
- inputs: [],
51
- name: 'decimals',
52
- outputs: [{ name: '', type: 'uint8' }],
53
- stateMutability: 'view',
54
- type: 'function',
55
- },
56
- ];
57
- // Get native ETH balance
58
- const ethBalance = await publicClient.getBalance({ address });
59
- const ethFormatted = (Number(ethBalance) / 1e18).toFixed(6);
60
- tokens.push({
61
- token: '0x0000000000000000000000000000000000000000',
62
- symbol: 'ETH',
63
- name: 'Ethereum',
64
- decimals: 18,
65
- balance: ethFormatted,
66
- balanceRaw: ethBalance.toString(),
67
- });
68
- // Get common token balances
69
- for (const [tokenAddress, tokenInfo] of Object.entries(BASE_TOKENS)) {
70
- if (tokenAddress === '0x0000000000000000000000000000000000000000')
71
- continue;
72
- try {
73
- const balance = await publicClient.readContract({
74
- address: tokenAddress,
75
- abi: ERC20_ABI,
76
- functionName: 'balanceOf',
77
- args: [address],
78
- });
79
- if (balance > 0n) {
80
- const balanceFormatted = (Number(balance) / Math.pow(10, tokenInfo.decimals)).toFixed(tokenInfo.decimals);
81
- tokens.push({
82
- token: tokenAddress,
83
- symbol: tokenInfo.symbol,
84
- name: tokenInfo.symbol,
85
- decimals: tokenInfo.decimals,
86
- balance: balanceFormatted,
87
- balanceRaw: balance.toString(),
88
- });
89
- }
90
- }
91
- catch (err) {
92
- // Skip tokens that fail to load
93
- console.error(`Failed to load balance for ${tokenInfo.symbol}:`, err);
94
- }
95
- }
96
- return {
97
- address: params.address,
98
- chainId: 8453, // Base
99
- totalValueUSD: totalValueUSD.toFixed(2),
100
- tokens,
101
- lastUpdated: Date.now(),
102
- };
103
- }
104
- catch (error) {
105
- throw new Error(`Failed to fetch portfolio: ${error.message}`);
106
- }
107
- }
108
- async function getTokenPrice(params, client) {
109
- const apiKey = process.env.ZEROX_API_KEY;
110
- if (!apiKey) {
111
- throw new Error('0x API key not configured (ZEROX_API_KEY)');
112
- }
113
- try {
114
- // Get price via 0x API by quoting 1 token -> USDC
115
- const queryParams = new URLSearchParams({
116
- chainId: '8453',
117
- sellToken: params.tokenAddress,
118
- buyToken: 'USDC',
119
- sellAmount: '1000000000000000000', // 1 token (18 decimals)
120
- });
121
- const response = await fetch(`https://api.0x.org/swap/permit2/price?${queryParams}`, {
122
- headers: {
123
- '0x-api-key': apiKey,
124
- '0x-version': 'v2',
125
- },
126
- });
127
- if (!response.ok) {
128
- const errorText = await response.text();
129
- throw new Error(`0x API error: ${response.status} - ${errorText}`);
130
- }
131
- const data = await response.json();
132
- // Get token symbol
133
- let symbol = 'UNKNOWN';
134
- try {
135
- const publicClient = client.getPublicClient();
136
- const tokenSymbol = await publicClient.readContract({
137
- address: params.tokenAddress,
138
- abi: [
139
- {
140
- inputs: [],
141
- name: 'symbol',
142
- outputs: [{ name: '', type: 'string' }],
143
- stateMutability: 'view',
144
- type: 'function',
145
- },
146
- ],
147
- functionName: 'symbol',
148
- });
149
- symbol = tokenSymbol;
150
- }
151
- catch {
152
- // Fallback to address if symbol read fails
153
- }
154
- return {
155
- tokenAddress: params.tokenAddress,
156
- symbol,
157
- priceUSD: data.price || data.buyAmount,
158
- source: '0x',
159
- lastUpdated: Date.now(),
160
- };
161
- }
162
- catch (error) {
163
- throw new Error(`Failed to get token price: ${error.message}`);
164
- }
165
- }
166
- //# sourceMappingURL=portfolio.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../src/tools/portfolio.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- import { z } from 'zod';
2
- import { Address } from 'viem';
3
- import { ContractClient } from '../utils/contracts';
4
- export declare const createRevenueShareSchema: z.ZodObject<{
5
- participants: z.ZodArray<z.ZodObject<{
6
- address: z.ZodString;
7
- share: z.ZodNumber;
8
- }, "strip", z.ZodTypeAny, {
9
- address: string;
10
- share: number;
11
- }, {
12
- address: string;
13
- share: number;
14
- }>, "many">;
15
- sourceEscrow: z.ZodOptional<z.ZodString>;
16
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
17
- }, "strip", z.ZodTypeAny, {
18
- participants: {
19
- address: string;
20
- share: number;
21
- }[];
22
- metadata?: Record<string, any> | undefined;
23
- sourceEscrow?: string | undefined;
24
- }, {
25
- participants: {
26
- address: string;
27
- share: number;
28
- }[];
29
- metadata?: Record<string, any> | undefined;
30
- sourceEscrow?: string | undefined;
31
- }>;
32
- export declare function createRevenueShare(params: z.infer<typeof createRevenueShareSchema>, client: ContractClient): Promise<{
33
- agreementId: string;
34
- transactionHash: string;
35
- participants: Array<{
36
- address: Address;
37
- share: number;
38
- }>;
39
- totalShares: number;
40
- status: string;
41
- }>;
42
- //# sourceMappingURL=revenue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"revenue.d.ts","sourceRoot":"","sources":["../../src/tools/revenue.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,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOnC,CAAC;AAEH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,EAChD,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,KAAK,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CA4DD"}
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createRevenueShareSchema = void 0;
4
- exports.createRevenueShare = createRevenueShare;
5
- const zod_1 = require("zod");
6
- const contracts_1 = require("../utils/contracts");
7
- exports.createRevenueShareSchema = zod_1.z.object({
8
- participants: zod_1.z.array(zod_1.z.object({
9
- address: zod_1.z.string().describe('Participant address'),
10
- share: zod_1.z.number().describe('Share percentage (0-100)'),
11
- })).describe('Revenue share participants'),
12
- sourceEscrow: zod_1.z.string().optional().describe('Link to source escrow'),
13
- metadata: zod_1.z.record(zod_1.z.any()).optional(),
14
- });
15
- async function createRevenueShare(params, client) {
16
- const account = client.getAccount();
17
- const walletClient = client.getWalletClient();
18
- const publicClient = client.getPublicClient();
19
- const contracts = client.getContracts();
20
- try {
21
- // Validate shares sum to 100
22
- const totalShares = params.participants.reduce((sum, p) => sum + p.share, 0);
23
- if (Math.abs(totalShares - 100) > 0.01) {
24
- throw new Error(`Share percentages must sum to 100, got ${totalShares}`);
25
- }
26
- // Parse participants
27
- const addresses = [];
28
- const shares = [];
29
- for (const participant of params.participants) {
30
- addresses.push(participant.address);
31
- // Convert percentage to basis points (0.01%)
32
- shares.push(BigInt(Math.round(participant.share * 100)));
33
- }
34
- const metadata = JSON.stringify(params.metadata || {});
35
- const sourceEscrowId = params.sourceEscrow ? BigInt(params.sourceEscrow) : BigInt(0);
36
- const hash = await walletClient.writeContract({
37
- address: contracts.revenue,
38
- abi: contracts_1.REVENUE_ABI,
39
- functionName: 'createRevenueShare',
40
- args: [addresses, shares, contracts.usdc, sourceEscrowId, metadata],
41
- account,
42
- });
43
- const receipt = await publicClient.waitForTransactionReceipt({ hash });
44
- // Parse agreement ID from event logs
45
- let agreementId = '0';
46
- if (receipt.logs && receipt.logs.length > 0) {
47
- const agreementCreatedLog = receipt.logs.find((log) => log.topics && log.topics.length > 1);
48
- if (agreementCreatedLog && agreementCreatedLog.topics) {
49
- agreementId = BigInt(agreementCreatedLog.topics[1]).toString();
50
- }
51
- }
52
- return {
53
- agreementId,
54
- transactionHash: hash,
55
- participants: params.participants.map(p => ({
56
- address: p.address,
57
- share: p.share,
58
- })),
59
- totalShares: 100,
60
- status: 'active',
61
- };
62
- }
63
- catch (error) {
64
- throw new Error(`Failed to create revenue share: ${error.message}`);
65
- }
66
- }
67
- //# sourceMappingURL=revenue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"revenue.js","sourceRoot":"","sources":["../../src/tools/revenue.ts"],"names":[],"mappings":"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"}
@@ -1,60 +0,0 @@
1
- import { z } from 'zod';
2
- import { Address } from 'viem';
3
- import { ContractClient } from '../utils/contracts';
4
- export declare const createStreamingPaymentSchema: z.ZodObject<{
5
- to: z.ZodString;
6
- amountPerSecond: z.ZodString;
7
- duration: z.ZodString;
8
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
9
- }, "strip", z.ZodTypeAny, {
10
- to: string;
11
- amountPerSecond: string;
12
- duration: string;
13
- metadata?: Record<string, any> | undefined;
14
- }, {
15
- to: string;
16
- amountPerSecond: string;
17
- duration: string;
18
- metadata?: Record<string, any> | undefined;
19
- }>;
20
- export declare const cancelStreamSchema: z.ZodObject<{
21
- streamId: z.ZodString;
22
- }, "strip", z.ZodTypeAny, {
23
- streamId: string;
24
- }, {
25
- streamId: string;
26
- }>;
27
- export declare const getStreamSchema: z.ZodObject<{
28
- streamId: z.ZodString;
29
- }, "strip", z.ZodTypeAny, {
30
- streamId: string;
31
- }, {
32
- streamId: string;
33
- }>;
34
- export declare function createStreamingPayment(params: z.infer<typeof createStreamingPaymentSchema>, client: ContractClient): Promise<{
35
- streamId: string;
36
- transactionHash: string;
37
- recipient: string;
38
- amountPerSecond: string;
39
- totalAmount: string;
40
- startTime: number;
41
- endTime: number;
42
- }>;
43
- export declare function cancelStream(params: z.infer<typeof cancelStreamSchema>, client: ContractClient): Promise<{
44
- transactionHash: string;
45
- streamId: string;
46
- amountStreamed: string;
47
- amountReturned: string;
48
- }>;
49
- export declare function getStream(params: z.infer<typeof getStreamSchema>, client: ContractClient): Promise<{
50
- streamId: string;
51
- sender: Address;
52
- recipient: Address;
53
- amountPerSecond: string;
54
- startTime: number;
55
- endTime: number;
56
- claimed: string;
57
- active: boolean;
58
- available: string;
59
- }>;
60
- //# sourceMappingURL=streaming.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/tools/streaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,cAAc,EAA2B,MAAM,oBAAoB,CAAC;AAE7E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;EAKvC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;EAE7B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AAEH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,EACpD,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CA+DD;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,EAC1C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CAiDD;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,EACvC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAkCD"}
@@ -1,163 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getStreamSchema = exports.cancelStreamSchema = exports.createStreamingPaymentSchema = void 0;
4
- exports.createStreamingPayment = createStreamingPayment;
5
- exports.cancelStream = cancelStream;
6
- exports.getStream = getStream;
7
- const zod_1 = require("zod");
8
- const contracts_1 = require("../utils/contracts");
9
- exports.createStreamingPaymentSchema = zod_1.z.object({
10
- to: zod_1.z.string().describe('Recipient address'),
11
- amountPerSecond: zod_1.z.string().describe('Amount per second in USDC'),
12
- duration: zod_1.z.string().describe('ISO 8601 duration (e.g., P1D for 1 day)'),
13
- metadata: zod_1.z.record(zod_1.z.any()).optional(),
14
- });
15
- exports.cancelStreamSchema = zod_1.z.object({
16
- streamId: zod_1.z.string().describe('Stream ID'),
17
- });
18
- exports.getStreamSchema = zod_1.z.object({
19
- streamId: zod_1.z.string().describe('Stream ID'),
20
- });
21
- async function createStreamingPayment(params, client) {
22
- const account = client.getAccount();
23
- const walletClient = client.getWalletClient();
24
- const publicClient = client.getPublicClient();
25
- const contracts = client.getContracts();
26
- // Parse amount per second
27
- const amountPerSecondBigInt = client.parseUSDC(params.amountPerSecond);
28
- // Parse duration
29
- const durationMs = parseDuration(params.duration);
30
- const durationSeconds = Math.floor(durationMs / 1000);
31
- const totalAmount = amountPerSecondBigInt * BigInt(durationSeconds);
32
- try {
33
- // Step 1: Approve USDC spending
34
- const approveHash = await walletClient.writeContract({
35
- address: contracts.usdc,
36
- abi: contracts_1.USDC_ABI,
37
- functionName: 'approve',
38
- args: [contracts.streaming, totalAmount],
39
- account,
40
- });
41
- await publicClient.waitForTransactionReceipt({ hash: approveHash });
42
- // Step 2: Create stream
43
- const hash = await walletClient.writeContract({
44
- address: contracts.streaming,
45
- abi: contracts_1.STREAMING_ABI,
46
- functionName: 'createStream',
47
- args: [params.to, amountPerSecondBigInt, BigInt(durationSeconds), contracts.usdc],
48
- account,
49
- });
50
- const receipt = await publicClient.waitForTransactionReceipt({ hash });
51
- // Parse stream ID from event logs
52
- let streamId = '0';
53
- if (receipt.logs && receipt.logs.length > 0) {
54
- const streamCreatedLog = receipt.logs.find((log) => log.topics && log.topics.length > 1);
55
- if (streamCreatedLog && streamCreatedLog.topics) {
56
- streamId = BigInt(streamCreatedLog.topics[1]).toString();
57
- }
58
- }
59
- const startTime = Date.now();
60
- const endTime = startTime + durationMs;
61
- return {
62
- streamId,
63
- transactionHash: hash,
64
- recipient: params.to,
65
- amountPerSecond: params.amountPerSecond,
66
- totalAmount: client.formatUSDC(totalAmount),
67
- startTime,
68
- endTime,
69
- };
70
- }
71
- catch (error) {
72
- throw new Error(`Failed to create streaming payment: ${error.message}`);
73
- }
74
- }
75
- async function cancelStream(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 streamId = BigInt(params.streamId);
82
- // Get stream details before canceling
83
- const [sender, recipient, amountPerSecond, startTime, endTime, claimed, active] = await publicClient.readContract({
84
- address: contracts.streaming,
85
- abi: contracts_1.STREAMING_ABI,
86
- functionName: 'getStream',
87
- args: [streamId],
88
- });
89
- if (!active) {
90
- throw new Error(`Stream ${params.streamId} is not active`);
91
- }
92
- // Cancel stream
93
- const hash = await walletClient.writeContract({
94
- address: contracts.streaming,
95
- abi: contracts_1.STREAMING_ABI,
96
- functionName: 'cancelStream',
97
- args: [streamId],
98
- account,
99
- });
100
- await publicClient.waitForTransactionReceipt({ hash });
101
- // Calculate amounts
102
- const now = Math.floor(Date.now() / 1000);
103
- const elapsed = BigInt(now) - startTime;
104
- const streamed = amountPerSecond * elapsed;
105
- const totalAmount = amountPerSecond * (endTime - startTime);
106
- const returned = totalAmount - streamed;
107
- return {
108
- transactionHash: hash,
109
- streamId: params.streamId,
110
- amountStreamed: client.formatUSDC(streamed),
111
- amountReturned: client.formatUSDC(returned),
112
- };
113
- }
114
- catch (error) {
115
- throw new Error(`Failed to cancel stream: ${error.message}`);
116
- }
117
- }
118
- async function getStream(params, client) {
119
- const publicClient = client.getPublicClient();
120
- const contracts = client.getContracts();
121
- try {
122
- const streamId = BigInt(params.streamId);
123
- const [sender, recipient, amountPerSecond, startTime, endTime, claimed, active] = await publicClient.readContract({
124
- address: contracts.streaming,
125
- abi: contracts_1.STREAMING_ABI,
126
- functionName: 'getStream',
127
- args: [streamId],
128
- });
129
- // Calculate available amount
130
- const now = Math.floor(Date.now() / 1000);
131
- const elapsed = BigInt(now) - startTime;
132
- const totalStreamed = amountPerSecond * elapsed;
133
- const available = totalStreamed - claimed;
134
- return {
135
- streamId: params.streamId,
136
- sender: sender,
137
- recipient: recipient,
138
- amountPerSecond: client.formatUSDC(amountPerSecond),
139
- startTime: Number(startTime) * 1000,
140
- endTime: Number(endTime) * 1000,
141
- claimed: client.formatUSDC(claimed),
142
- active: active,
143
- available: client.formatUSDC(available),
144
- };
145
- }
146
- catch (error) {
147
- throw new Error(`Failed to fetch stream: ${error.message}`);
148
- }
149
- }
150
- function parseDuration(duration) {
151
- const days = duration.match(/P(\d+)D/);
152
- const hours = duration.match(/PT?(\d+)H/);
153
- const minutes = duration.match(/PT?(\d+)M/);
154
- let ms = 0;
155
- if (days)
156
- ms += parseInt(days[1]) * 24 * 60 * 60 * 1000;
157
- if (hours)
158
- ms += parseInt(hours[1]) * 60 * 60 * 1000;
159
- if (minutes)
160
- ms += parseInt(minutes[1]) * 60 * 1000;
161
- return ms || 24 * 60 * 60 * 1000; // Default 1 day
162
- }
163
- //# sourceMappingURL=streaming.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/tools/streaming.ts"],"names":[],"mappings":"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"}
@@ -1,93 +0,0 @@
1
- import { z } from 'zod';
2
- import { ContractClient } from '../utils/contracts';
3
- export declare const swapQuoteSchema: z.ZodObject<{
4
- sellToken: z.ZodString;
5
- buyToken: z.ZodString;
6
- sellAmount: z.ZodOptional<z.ZodString>;
7
- buyAmount: z.ZodOptional<z.ZodString>;
8
- slippagePercentage: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
9
- takerAddress: z.ZodOptional<z.ZodString>;
10
- }, "strip", z.ZodTypeAny, {
11
- sellToken: string;
12
- buyToken: string;
13
- slippagePercentage: number;
14
- sellAmount?: string | undefined;
15
- buyAmount?: string | undefined;
16
- takerAddress?: string | undefined;
17
- }, {
18
- sellToken: string;
19
- buyToken: string;
20
- sellAmount?: string | undefined;
21
- buyAmount?: string | undefined;
22
- slippagePercentage?: number | undefined;
23
- takerAddress?: string | undefined;
24
- }>;
25
- export declare const swapExecuteSchema: z.ZodObject<{
26
- sellToken: z.ZodString;
27
- buyToken: z.ZodString;
28
- sellAmount: z.ZodOptional<z.ZodString>;
29
- buyAmount: z.ZodOptional<z.ZodString>;
30
- slippagePercentage: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
31
- }, "strip", z.ZodTypeAny, {
32
- sellToken: string;
33
- buyToken: string;
34
- slippagePercentage: number;
35
- sellAmount?: string | undefined;
36
- buyAmount?: string | undefined;
37
- }, {
38
- sellToken: string;
39
- buyToken: string;
40
- sellAmount?: string | undefined;
41
- buyAmount?: string | undefined;
42
- slippagePercentage?: number | undefined;
43
- }>;
44
- export declare const swapTokensSchema: z.ZodObject<{
45
- query: z.ZodOptional<z.ZodString>;
46
- }, "strip", z.ZodTypeAny, {
47
- query?: string | undefined;
48
- }, {
49
- query?: string | undefined;
50
- }>;
51
- export declare const swapPriceSchema: z.ZodObject<{
52
- token: z.ZodString;
53
- }, "strip", z.ZodTypeAny, {
54
- token: string;
55
- }, {
56
- token: string;
57
- }>;
58
- interface SwapQuoteResponse {
59
- chainId: number;
60
- price: string;
61
- estimatedPriceImpact: string;
62
- sellTokenAddress: string;
63
- buyTokenAddress: string;
64
- sellAmount: string;
65
- buyAmount: string;
66
- allowanceTarget: string;
67
- to: string;
68
- data: string;
69
- value: string;
70
- gas: string;
71
- gasPrice: string;
72
- }
73
- interface TokenInfo {
74
- address: string;
75
- symbol: string;
76
- name: string;
77
- decimals: number;
78
- }
79
- export declare function swapQuote(params: z.infer<typeof swapQuoteSchema>, client: ContractClient): Promise<SwapQuoteResponse>;
80
- export declare function swapExecute(params: z.infer<typeof swapExecuteSchema>, client: ContractClient): Promise<{
81
- transaction: any;
82
- quote: SwapQuoteResponse;
83
- }>;
84
- export declare function swapTokens(params: z.infer<typeof swapTokensSchema>, client: ContractClient): Promise<{
85
- tokens: TokenInfo[];
86
- }>;
87
- export declare function swapPrice(params: z.infer<typeof swapPriceSchema>, client: ContractClient): Promise<{
88
- token: string;
89
- priceInUSDC: string;
90
- source: string;
91
- }>;
92
- export {};
93
- //# sourceMappingURL=swap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/tools/swap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAM5B,CAAC;AAGH,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC;AAGH,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AAEH,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,EACvC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAuC5B;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,EACzC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IAAE,WAAW,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAsBzD;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,EACxC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC,CAuClC;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,EACvC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAwCjE"}