@kasarlabs/vesu-mcp 0.1.2 → 0.1.4
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/build/index.js +86 -6
- package/build/index.js.map +1 -1
- package/build/interfaces/index.d.ts +661 -8
- package/build/interfaces/index.js +57 -1
- package/build/interfaces/index.js.map +1 -1
- package/build/lib/abis/ekuboCore.d.ts +92 -0
- package/build/lib/abis/ekuboCore.js +1341 -0
- package/build/lib/abis/ekuboCore.js.map +1 -0
- package/build/lib/abis/multiplyAbi.d.ts +245 -0
- package/build/lib/abis/multiplyAbi.js +341 -0
- package/build/lib/abis/multiplyAbi.js.map +1 -0
- package/build/lib/abis/poolAbi.d.ts +289 -0
- package/build/lib/abis/poolAbi.js +402 -0
- package/build/lib/abis/poolAbi.js.map +1 -0
- package/build/lib/abis/routerAbi.d.ts +88 -0
- package/build/lib/abis/routerAbi.js +86 -0
- package/build/lib/abis/routerAbi.js.map +1 -0
- package/build/lib/constants/index.d.ts +9 -3
- package/build/lib/constants/index.js +8 -3
- package/build/lib/constants/index.js.map +1 -1
- package/build/lib/utils/contracts.d.ts +535 -89
- package/build/lib/utils/contracts.js +39 -5
- package/build/lib/utils/contracts.js.map +1 -1
- package/build/lib/utils/ekubo.d.ts +55 -0
- package/build/lib/utils/ekubo.js +81 -0
- package/build/lib/utils/ekubo.js.map +1 -0
- package/build/lib/utils/getEkuboQuote.d.ts +4 -0
- package/build/lib/utils/getEkuboQuote.js +116 -0
- package/build/lib/utils/getEkuboQuote.js.map +1 -0
- package/build/lib/utils/math.d.ts +8 -0
- package/build/lib/utils/math.js +22 -0
- package/build/lib/utils/math.js.map +1 -0
- package/build/lib/utils/multiplyCalls.d.ts +10 -0
- package/build/lib/utils/multiplyCalls.js +248 -0
- package/build/lib/utils/multiplyCalls.js.map +1 -0
- package/build/lib/utils/pools.d.ts +8 -0
- package/build/lib/utils/pools.js +72 -0
- package/build/lib/utils/pools.js.map +1 -0
- package/build/lib/utils/tokens.d.ts +6 -0
- package/build/lib/utils/tokens.js +23 -0
- package/build/lib/utils/tokens.js.map +1 -0
- package/build/schemas/index.d.ts +176 -0
- package/build/schemas/index.js +201 -1
- package/build/schemas/index.js.map +1 -1
- package/build/tools/read/getPools.d.ts +3 -0
- package/build/tools/read/getPools.js +57 -0
- package/build/tools/read/getPools.js.map +1 -0
- package/build/tools/read/getPositions.d.ts +3 -0
- package/build/tools/read/getPositions.js +43 -0
- package/build/tools/read/getPositions.js.map +1 -0
- package/build/tools/read/getTokens.d.ts +3 -0
- package/build/tools/read/getTokens.js +50 -0
- package/build/tools/read/getTokens.js.map +1 -0
- package/build/tools/write/deposit_borrow.d.ts +10 -0
- package/build/tools/write/deposit_borrow.js +312 -0
- package/build/tools/write/deposit_borrow.js.map +1 -0
- package/build/tools/write/deposit_earn.d.ts +10 -0
- package/build/tools/write/deposit_earn.js +82 -0
- package/build/tools/write/deposit_earn.js.map +1 -0
- package/build/tools/write/deposit_multiply.d.ts +10 -0
- package/build/tools/write/deposit_multiply.js +140 -0
- package/build/tools/write/deposit_multiply.js.map +1 -0
- package/build/tools/write/repay_borrow.d.ts +10 -0
- package/build/tools/write/repay_borrow.js +358 -0
- package/build/tools/write/repay_borrow.js.map +1 -0
- package/build/tools/write/update_multiply.d.ts +10 -0
- package/build/tools/write/update_multiply.js +264 -0
- package/build/tools/write/update_multiply.js.map +1 -0
- package/build/tools/write/withdraw_earn.d.ts +10 -0
- package/build/tools/write/withdraw_earn.js +116 -0
- package/build/tools/write/withdraw_earn.js.map +1 -0
- package/build/tools/write/withdraw_multiply.d.ts +9 -0
- package/build/tools/write/withdraw_multiply.js +187 -0
- package/build/tools/write/withdraw_multiply.js.map +1 -0
- package/package.json +6 -5
- package/build/lib/abis/erc20Abi.d.ts +0 -89
- package/build/lib/abis/erc20Abi.js +0 -128
- package/build/lib/abis/erc20Abi.js.map +0 -1
- package/build/tools/depositService.d.ts +0 -19
- package/build/tools/depositService.js +0 -117
- package/build/tools/depositService.js.map +0 -1
- package/build/tools/withdrawService.d.ts +0 -20
- package/build/tools/withdrawService.js +0 -122
- package/build/tools/withdrawService.js.map +0 -1
package/build/index.js
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
|
-
import { registerToolsWithServer, getOnchainWrite, } from '@kasarlabs/ask-starknet-core';
|
|
4
|
+
import { registerToolsWithServer, getOnchainWrite, getOnchainRead, } from '@kasarlabs/ask-starknet-core';
|
|
5
5
|
import dotenv from 'dotenv';
|
|
6
|
-
import { depositEarnSchema, withdrawEarnSchema } from './schemas/index.js';
|
|
7
|
-
import { depositEarnPosition } from './tools/
|
|
8
|
-
import { withdrawEarnPosition } from './tools/
|
|
6
|
+
import { depositEarnSchema, getSchema, getPositionsSchema, getTokensSchema, withdrawEarnSchema, depositMultiplySchema, withdrawMultiplySchema, depositBorrowSchema, repayBorrowSchema, updateMultiplySchema, } from './schemas/index.js';
|
|
7
|
+
import { depositEarnPosition } from './tools/write/deposit_earn.js';
|
|
8
|
+
import { withdrawEarnPosition } from './tools/write/withdraw_earn.js';
|
|
9
|
+
import { depositMultiplyPosition } from './tools/write/deposit_multiply.js';
|
|
10
|
+
import { withdrawMultiplyPosition } from './tools/write/withdraw_multiply.js';
|
|
11
|
+
import { updateMultiplyPosition } from './tools/write/update_multiply.js';
|
|
12
|
+
import { depositBorrowPosition } from './tools/write/deposit_borrow.js';
|
|
13
|
+
import { repayBorrowPosition } from './tools/write/repay_borrow.js';
|
|
14
|
+
import { getPools } from './tools/read/getPools.js';
|
|
15
|
+
import { getPositions } from './tools/read/getPositions.js';
|
|
16
|
+
import { getTokens } from './tools/read/getTokens.js';
|
|
9
17
|
dotenv.config();
|
|
10
18
|
const server = new McpServer({
|
|
11
19
|
name: 'starknet-vesu-mcp',
|
|
@@ -13,7 +21,7 @@ const server = new McpServer({
|
|
|
13
21
|
});
|
|
14
22
|
const registerTools = (VesuToolRegistry) => {
|
|
15
23
|
VesuToolRegistry.push({
|
|
16
|
-
name: '
|
|
24
|
+
name: 'deposit_earn',
|
|
17
25
|
description: 'Deposit tokens to earn yield on Vesu protocol',
|
|
18
26
|
schema: depositEarnSchema,
|
|
19
27
|
execute: async (params) => {
|
|
@@ -22,7 +30,7 @@ const registerTools = (VesuToolRegistry) => {
|
|
|
22
30
|
},
|
|
23
31
|
});
|
|
24
32
|
VesuToolRegistry.push({
|
|
25
|
-
name: '
|
|
33
|
+
name: 'withdraw_earn',
|
|
26
34
|
description: 'Withdraw tokens from earning position on Vesu protocol',
|
|
27
35
|
schema: withdrawEarnSchema,
|
|
28
36
|
execute: async (params) => {
|
|
@@ -30,6 +38,78 @@ const registerTools = (VesuToolRegistry) => {
|
|
|
30
38
|
return await withdrawEarnPosition(onchainWrite, params);
|
|
31
39
|
},
|
|
32
40
|
});
|
|
41
|
+
VesuToolRegistry.push({
|
|
42
|
+
name: 'deposit_multiply',
|
|
43
|
+
description: 'Deposit collateral and borrow debt to create or increase a multiply position on Vesu protocol v2',
|
|
44
|
+
schema: depositMultiplySchema,
|
|
45
|
+
execute: async (params) => {
|
|
46
|
+
const onchainWrite = getOnchainWrite();
|
|
47
|
+
return await depositMultiplyPosition(onchainWrite, params);
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
VesuToolRegistry.push({
|
|
51
|
+
name: 'withdraw_multiply',
|
|
52
|
+
description: 'Withdraw collateral and repay debt to decrease or close a multiply position on Vesu protocol v2',
|
|
53
|
+
schema: withdrawMultiplySchema,
|
|
54
|
+
execute: async (params) => {
|
|
55
|
+
const onchainWrite = getOnchainWrite();
|
|
56
|
+
return await withdrawMultiplyPosition(onchainWrite, params);
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
VesuToolRegistry.push({
|
|
60
|
+
name: 'update_multiply',
|
|
61
|
+
description: 'Update the LTV (Loan-to-Value) ratio of an existing multiply position on Vesu protocol v2 without depositing or withdrawing collateral. This will automatically increase or decrease the debt to reach the target LTV.',
|
|
62
|
+
schema: updateMultiplySchema,
|
|
63
|
+
execute: async (params) => {
|
|
64
|
+
const onchainWrite = getOnchainWrite();
|
|
65
|
+
return await updateMultiplyPosition(onchainWrite, params);
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
VesuToolRegistry.push({
|
|
69
|
+
name: 'deposit_borrow',
|
|
70
|
+
description: 'Deposit collateral and borrow debt to create or increase a borrow position on Vesu protocol v2',
|
|
71
|
+
schema: depositBorrowSchema,
|
|
72
|
+
execute: async (params) => {
|
|
73
|
+
const onchainWrite = getOnchainWrite();
|
|
74
|
+
return await depositBorrowPosition(onchainWrite, params);
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
VesuToolRegistry.push({
|
|
78
|
+
name: 'repay_borrow',
|
|
79
|
+
description: 'Repay debt without withdrawing collateral to decrease debt in a borrow position on Vesu protocol v2',
|
|
80
|
+
schema: repayBorrowSchema,
|
|
81
|
+
execute: async (params) => {
|
|
82
|
+
const onchainWrite = getOnchainWrite();
|
|
83
|
+
return await repayBorrowPosition(onchainWrite, params);
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
VesuToolRegistry.push({
|
|
87
|
+
name: 'get_pools',
|
|
88
|
+
description: 'Retrieves all the pools in the protocol with their information, like assets, stats, configs on Vesu protocol',
|
|
89
|
+
schema: getSchema,
|
|
90
|
+
execute: async (params) => {
|
|
91
|
+
const onchainRead = getOnchainRead();
|
|
92
|
+
return await getPools(onchainRead, params);
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
VesuToolRegistry.push({
|
|
96
|
+
name: 'get_positions',
|
|
97
|
+
description: 'Retrieves positions for a given wallet address on Vesu protocol. Can filter by type (earn, borrow, multiply), max health factor, and rebalancing status',
|
|
98
|
+
schema: getPositionsSchema,
|
|
99
|
+
execute: async (params) => {
|
|
100
|
+
const onchainRead = getOnchainRead();
|
|
101
|
+
return await getPositions(onchainRead, params);
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
VesuToolRegistry.push({
|
|
105
|
+
name: 'get_tokens',
|
|
106
|
+
description: 'Retrieves all the supported tokens in Vesu UI. Can optionally filter by token address or symbol to check if a specific token is supported',
|
|
107
|
+
schema: getTokensSchema,
|
|
108
|
+
execute: async (params) => {
|
|
109
|
+
const onchainRead = getOnchainRead();
|
|
110
|
+
return await getTokens(onchainRead, params);
|
|
111
|
+
},
|
|
112
|
+
});
|
|
33
113
|
};
|
|
34
114
|
export const RegisterToolInServer = async () => {
|
|
35
115
|
const tools = [];
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAEL,uBAAuB,EACvB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|