@covalenthq/goldrush-mcp-server 0.0.3 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +2 -2
- package/dist/example-client.js +1 -6
- package/dist/example-client.js.map +1 -1
- package/dist/services/AllChainsService.d.ts.map +1 -1
- package/dist/services/AllChainsService.js +20 -31
- package/dist/services/AllChainsService.js.map +1 -1
- package/dist/services/BalanceService.d.ts.map +1 -1
- package/dist/services/BalanceService.js +47 -104
- package/dist/services/BalanceService.js.map +1 -1
- package/dist/services/BaseService.d.ts.map +1 -1
- package/dist/services/BaseService.js +55 -50
- package/dist/services/BaseService.js.map +1 -1
- package/dist/services/BitcoinService.d.ts.map +1 -1
- package/dist/services/BitcoinService.js +11 -22
- package/dist/services/BitcoinService.js.map +1 -1
- package/dist/services/NftService.d.ts.map +1 -1
- package/dist/services/NftService.js +44 -24
- package/dist/services/NftService.js.map +1 -1
- package/dist/services/PricingService.d.ts.map +1 -1
- package/dist/services/PricingService.js +12 -17
- package/dist/services/PricingService.js.map +1 -1
- package/dist/services/SecurityService.d.ts.map +1 -1
- package/dist/services/SecurityService.js +4 -5
- package/dist/services/SecurityService.js.map +1 -1
- package/dist/services/TransactionService.d.ts.map +1 -1
- package/dist/services/TransactionService.js +27 -46
- package/dist/services/TransactionService.js.map +1 -1
- package/dist/utils/constants.d.ts +18 -1
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/generated-descriptions.d.ts +192 -0
- package/dist/utils/generated-descriptions.d.ts.map +1 -0
- package/dist/utils/generated-descriptions.js +219 -0
- package/dist/utils/generated-descriptions.js.map +1 -0
- package/dist/utils/tool-slug-map.d.ts +2 -0
- package/dist/utils/tool-slug-map.d.ts.map +1 -0
- package/dist/utils/tool-slug-map.js +31 -0
- package/dist/utils/tool-slug-map.js.map +1 -0
- package/package.json +16 -20
- package/README.md +0 -503
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
import { validQuoteValues } from "../utils/constants.js";
|
|
2
|
+
import { TOOL_DESCRIPTIONS, PARAM_DESCRIPTIONS, } from "../utils/generated-descriptions.js";
|
|
2
3
|
import { stringifyWithBigInt } from "../utils/helpers.js";
|
|
3
4
|
import { ChainName, } from "@covalenthq/client-sdk";
|
|
4
5
|
import { z } from "zod";
|
|
5
6
|
export function addBaseServiceTools(server, goldRushClient) {
|
|
6
|
-
server.tool("gas_prices", "
|
|
7
|
-
"Requires chainName (blockchain network) and eventType (erc20, nativetokens, or uniswapv3). " +
|
|
8
|
-
"Optional parameter quoteCurrency allows conversion to different currencies (USD, EUR, etc). " +
|
|
9
|
-
"Returns estimated gas prices for low, medium, and high priority transactions for the specified event type.", {
|
|
7
|
+
server.tool("gas_prices", TOOL_DESCRIPTIONS["gas_prices"], {
|
|
10
8
|
chainName: z
|
|
11
9
|
.enum(Object.values(ChainName))
|
|
12
|
-
.describe("
|
|
10
|
+
.describe(PARAM_DESCRIPTIONS["gas_prices"]["chainName"]),
|
|
13
11
|
eventType: z
|
|
14
12
|
.enum(["erc20", "nativetokens", "uniswapv3"])
|
|
15
|
-
.describe("
|
|
13
|
+
.describe(PARAM_DESCRIPTIONS["gas_prices"]["eventType"]),
|
|
16
14
|
quoteCurrency: z
|
|
17
15
|
.enum(Object.values(validQuoteValues))
|
|
18
16
|
.optional()
|
|
19
|
-
.describe("
|
|
17
|
+
.describe(PARAM_DESCRIPTIONS["gas_prices"]["quoteCurrency"]),
|
|
20
18
|
}, async (params) => {
|
|
21
19
|
try {
|
|
22
20
|
const response = await goldRushClient.BaseService.getGasPrices(params.chainName, params.eventType, {
|
|
@@ -38,16 +36,13 @@ export function addBaseServiceTools(server, goldRushClient) {
|
|
|
38
36
|
};
|
|
39
37
|
}
|
|
40
38
|
});
|
|
41
|
-
server.tool("block", "
|
|
42
|
-
"Requires chainName (blockchain network) and blockHeight (block number). " +
|
|
43
|
-
"Returns comprehensive block data including timestamp, transaction count, size, " +
|
|
44
|
-
"miner information, and other blockchain-specific details.", {
|
|
39
|
+
server.tool("block", TOOL_DESCRIPTIONS["block"], {
|
|
45
40
|
chainName: z
|
|
46
41
|
.enum(Object.values(ChainName))
|
|
47
|
-
.describe("
|
|
42
|
+
.describe(PARAM_DESCRIPTIONS["block"]["chainName"]),
|
|
48
43
|
blockHeight: z
|
|
49
44
|
.string()
|
|
50
|
-
.describe("
|
|
45
|
+
.describe(PARAM_DESCRIPTIONS["block"]["blockHeight"]),
|
|
51
46
|
}, async (params) => {
|
|
52
47
|
try {
|
|
53
48
|
const response = await goldRushClient.BaseService.getBlock(params.chainName, params.blockHeight);
|
|
@@ -67,30 +62,26 @@ export function addBaseServiceTools(server, goldRushClient) {
|
|
|
67
62
|
};
|
|
68
63
|
}
|
|
69
64
|
});
|
|
70
|
-
server.tool("block_heights", "
|
|
71
|
-
"Requires chainName (blockchain network), startDate (YYYY-MM-DD format), and endDate (YYYY-MM-DD or 'latest'). " +
|
|
72
|
-
"Optional pagination parameters include pageSize (default 10) and pageNumber (default 0). " +
|
|
73
|
-
"Returns block heights, timestamps, and related data for blocks within the specified date range, " +
|
|
74
|
-
"useful for historical analysis and time-based blockchain queries.", {
|
|
65
|
+
server.tool("block_heights", TOOL_DESCRIPTIONS["block_heights"], {
|
|
75
66
|
chainName: z
|
|
76
67
|
.enum(Object.values(ChainName))
|
|
77
|
-
.describe("
|
|
68
|
+
.describe(PARAM_DESCRIPTIONS["block_heights"]["chainName"]),
|
|
78
69
|
startDate: z
|
|
79
70
|
.string()
|
|
80
|
-
.describe("
|
|
71
|
+
.describe(PARAM_DESCRIPTIONS["block_heights"]["startDate"]),
|
|
81
72
|
endDate: z
|
|
82
73
|
.union([z.string(), z.literal("latest")])
|
|
83
|
-
.describe("
|
|
74
|
+
.describe(PARAM_DESCRIPTIONS["block_heights"]["endDate"]),
|
|
84
75
|
pageSize: z
|
|
85
76
|
.number()
|
|
86
77
|
.optional()
|
|
87
78
|
.default(10)
|
|
88
|
-
.describe("
|
|
79
|
+
.describe(PARAM_DESCRIPTIONS["block_heights"]["pageSize"]),
|
|
89
80
|
pageNumber: z
|
|
90
81
|
.number()
|
|
91
82
|
.optional()
|
|
92
83
|
.default(0)
|
|
93
|
-
.describe("
|
|
84
|
+
.describe(PARAM_DESCRIPTIONS["block_heights"]["pageNumber"]),
|
|
94
85
|
}, async (params) => {
|
|
95
86
|
try {
|
|
96
87
|
const response = await goldRushClient.BaseService.getBlockHeightsByPage(params.chainName, params.startDate, params.endDate, {
|
|
@@ -113,37 +104,31 @@ export function addBaseServiceTools(server, goldRushClient) {
|
|
|
113
104
|
};
|
|
114
105
|
}
|
|
115
106
|
});
|
|
116
|
-
server.tool("log_events_by_address", "
|
|
117
|
-
"Useful for building dashboards that examine on-chain interactions." +
|
|
118
|
-
"Requires chainName (blockchain network) and contractAddress (the address emitting events). " +
|
|
119
|
-
"Optional parameters include block range (startingBlock, endingBlock) and pagination settings " +
|
|
120
|
-
"(pageSize default 10, pageNumber default 0). " +
|
|
121
|
-
"Returns decoded event logs for the specified contract, useful for monitoring specific " +
|
|
122
|
-
"smart contract activity and analyzing on-chain events.", {
|
|
107
|
+
server.tool("log_events_by_address", TOOL_DESCRIPTIONS["log_events_by_address"], {
|
|
123
108
|
chainName: z
|
|
124
109
|
.enum(Object.values(ChainName))
|
|
125
|
-
.describe("
|
|
110
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_address"]["chainName"]),
|
|
126
111
|
contractAddress: z
|
|
127
112
|
.string()
|
|
128
|
-
.describe("
|
|
113
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_address"]["contractAddress"]),
|
|
129
114
|
startingBlock: z
|
|
130
115
|
.union([z.string(), z.number()])
|
|
131
116
|
.optional()
|
|
132
|
-
.describe("
|
|
117
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_address"]["startingBlock"]),
|
|
133
118
|
endingBlock: z
|
|
134
119
|
.union([z.string(), z.number()])
|
|
135
120
|
.optional()
|
|
136
|
-
.describe("
|
|
121
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_address"]["endingBlock"]),
|
|
137
122
|
pageSize: z
|
|
138
123
|
.number()
|
|
139
124
|
.optional()
|
|
140
125
|
.default(10)
|
|
141
|
-
.describe("
|
|
126
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_address"]["pageSize"]),
|
|
142
127
|
pageNumber: z
|
|
143
128
|
.number()
|
|
144
129
|
.optional()
|
|
145
130
|
.default(0)
|
|
146
|
-
.describe("
|
|
131
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_address"]["pageNumber"]),
|
|
147
132
|
}, async (params) => {
|
|
148
133
|
try {
|
|
149
134
|
const response = await goldRushClient.BaseService.getLogEventsByAddressByPage(params.chainName, params.contractAddress, {
|
|
@@ -168,41 +153,35 @@ export function addBaseServiceTools(server, goldRushClient) {
|
|
|
168
153
|
};
|
|
169
154
|
}
|
|
170
155
|
});
|
|
171
|
-
server.tool("log_events_by_topic", "
|
|
172
|
-
"Useful for cross-sectional analysis of event logs that are emitted on-chain." +
|
|
173
|
-
"Requires chainName (blockchain network) and topicHash (the event signature hash). " +
|
|
174
|
-
"Optional parameters include block range (startingBlock, endingBlock), secondaryTopics for " +
|
|
175
|
-
"filtering by additional parameters, and pagination settings (pageSize default 10, pageNumber default 0). " +
|
|
176
|
-
"Returns decoded event logs matching the specified topic hash, ideal for tracking specific " +
|
|
177
|
-
"event types across multiple contracts on a blockchain.", {
|
|
156
|
+
server.tool("log_events_by_topic", TOOL_DESCRIPTIONS["log_events_by_topic"], {
|
|
178
157
|
chainName: z
|
|
179
158
|
.enum(Object.values(ChainName))
|
|
180
|
-
.describe("
|
|
159
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_topic"]["chainName"]),
|
|
181
160
|
topicHash: z
|
|
182
161
|
.string()
|
|
183
|
-
.describe("
|
|
162
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_topic"]["topicHash"]),
|
|
184
163
|
startingBlock: z
|
|
185
164
|
.union([z.string(), z.number()])
|
|
186
165
|
.optional()
|
|
187
|
-
.describe("
|
|
166
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_topic"]["startingBlock"]),
|
|
188
167
|
endingBlock: z
|
|
189
168
|
.union([z.string(), z.number()])
|
|
190
169
|
.optional()
|
|
191
|
-
.describe("
|
|
170
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_topic"]["endingBlock"]),
|
|
192
171
|
secondaryTopics: z
|
|
193
172
|
.string()
|
|
194
173
|
.optional()
|
|
195
|
-
.describe("
|
|
174
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_topic"]["secondaryTopics"]),
|
|
196
175
|
pageSize: z
|
|
197
176
|
.number()
|
|
198
177
|
.optional()
|
|
199
178
|
.default(10)
|
|
200
|
-
.describe("
|
|
179
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_topic"]["pageSize"]),
|
|
201
180
|
pageNumber: z
|
|
202
181
|
.number()
|
|
203
182
|
.optional()
|
|
204
183
|
.default(0)
|
|
205
|
-
.describe("
|
|
184
|
+
.describe(PARAM_DESCRIPTIONS["log_events_by_topic"]["pageNumber"]),
|
|
206
185
|
}, async (params) => {
|
|
207
186
|
try {
|
|
208
187
|
const response = await goldRushClient.BaseService.getLogEventsByTopicHashByPage(params.chainName, params.topicHash, {
|
|
@@ -228,5 +207,31 @@ export function addBaseServiceTools(server, goldRushClient) {
|
|
|
228
207
|
};
|
|
229
208
|
}
|
|
230
209
|
});
|
|
210
|
+
server.tool("resolve_address", TOOL_DESCRIPTIONS["resolve_address"], {
|
|
211
|
+
chainName: z
|
|
212
|
+
.enum(Object.values(ChainName))
|
|
213
|
+
.describe(PARAM_DESCRIPTIONS["resolve_address"]["chainName"]),
|
|
214
|
+
walletAddress: z
|
|
215
|
+
.string()
|
|
216
|
+
.describe(PARAM_DESCRIPTIONS["resolve_address"]["walletAddress"]),
|
|
217
|
+
}, async (params) => {
|
|
218
|
+
try {
|
|
219
|
+
const response = await goldRushClient.BaseService.getResolvedAddress(params.chainName, params.walletAddress);
|
|
220
|
+
return {
|
|
221
|
+
content: [
|
|
222
|
+
{
|
|
223
|
+
type: "text",
|
|
224
|
+
text: stringifyWithBigInt(response.data),
|
|
225
|
+
},
|
|
226
|
+
],
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
catch (err) {
|
|
230
|
+
return {
|
|
231
|
+
content: [{ type: "text", text: `Error: ${err}` }],
|
|
232
|
+
isError: true,
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
});
|
|
231
236
|
}
|
|
232
237
|
//# sourceMappingURL=BaseService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseService.js","sourceRoot":"","sources":["../../src/services/BaseService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAEH,SAAS,GAGZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseService.js","sourceRoot":"","sources":["../../src/services/BaseService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitcoinService.d.ts","sourceRoot":"","sources":["../../src/services/BitcoinService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BitcoinService.d.ts","sourceRoot":"","sources":["../../src/services/BitcoinService.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBzE,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,cAAc,QAgJjC"}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
import { validQuoteValues } from "../utils/constants.js";
|
|
2
|
+
import { TOOL_DESCRIPTIONS, PARAM_DESCRIPTIONS, } from "../utils/generated-descriptions.js";
|
|
2
3
|
import { stringifyWithBigInt } from "../utils/helpers.js";
|
|
3
4
|
import { z } from "zod";
|
|
4
5
|
export function addBitcoinServiceTools(server, goldRushClient) {
|
|
5
|
-
server.tool("bitcoin_hd_wallet_balances", "
|
|
6
|
-
"This tool provides detailed balance data for Bitcoin wallets identified by an xpub key.\n" +
|
|
7
|
-
"Required: walletAddress - The xpub key of the HD wallet.\n" +
|
|
8
|
-
"Optional: quoteCurrency - The currency for price conversion (USD, EUR, etc).\n" +
|
|
9
|
-
"Returns complete balance details including total balance, available balance, and transaction history summary.", {
|
|
6
|
+
server.tool("bitcoin_hd_wallet_balances", TOOL_DESCRIPTIONS["bitcoin_hd_wallet_balances"], {
|
|
10
7
|
walletAddress: z
|
|
11
8
|
.string()
|
|
12
|
-
.describe("
|
|
9
|
+
.describe(PARAM_DESCRIPTIONS["bitcoin_hd_wallet_balances"]["walletAddress"]),
|
|
13
10
|
quoteCurrency: z
|
|
14
11
|
.enum(Object.values(validQuoteValues))
|
|
15
12
|
.optional()
|
|
16
|
-
.describe("
|
|
13
|
+
.describe(PARAM_DESCRIPTIONS["bitcoin_hd_wallet_balances"]["quoteCurrency"]),
|
|
17
14
|
}, async (params) => {
|
|
18
15
|
try {
|
|
19
16
|
const response = await goldRushClient.BitcoinService.getBitcoinHdWalletBalances(params.walletAddress, {
|
|
@@ -35,24 +32,20 @@ export function addBitcoinServiceTools(server, goldRushClient) {
|
|
|
35
32
|
};
|
|
36
33
|
}
|
|
37
34
|
});
|
|
38
|
-
server.tool("bitcoin_transactions", "
|
|
39
|
-
"Required: address - The Bitcoin address to query transactions for.\n" +
|
|
40
|
-
"Optional: pageSize - Number of results per page (default: 10).\n" +
|
|
41
|
-
"Optional: pageNumber - Page number for pagination (default: 0, first page).\n" +
|
|
42
|
-
"Returns comprehensive transaction details including timestamps, amounts, and transaction IDs.", {
|
|
35
|
+
server.tool("bitcoin_transactions", TOOL_DESCRIPTIONS["bitcoin_transactions"], {
|
|
43
36
|
address: z
|
|
44
37
|
.string()
|
|
45
|
-
.describe("
|
|
38
|
+
.describe(PARAM_DESCRIPTIONS["bitcoin_transactions"]["address"]),
|
|
46
39
|
pageSize: z
|
|
47
40
|
.number()
|
|
48
41
|
.optional()
|
|
49
42
|
.default(10)
|
|
50
|
-
.describe("
|
|
43
|
+
.describe(PARAM_DESCRIPTIONS["bitcoin_transactions"]["pageSize"]),
|
|
51
44
|
pageNumber: z
|
|
52
45
|
.number()
|
|
53
46
|
.optional()
|
|
54
47
|
.default(0)
|
|
55
|
-
.describe("
|
|
48
|
+
.describe(PARAM_DESCRIPTIONS["bitcoin_transactions"]["pageNumber"]),
|
|
56
49
|
}, async (params) => {
|
|
57
50
|
try {
|
|
58
51
|
const response = await goldRushClient.BitcoinService.getTransactionsForBtcAddress({
|
|
@@ -76,18 +69,14 @@ export function addBitcoinServiceTools(server, goldRushClient) {
|
|
|
76
69
|
};
|
|
77
70
|
}
|
|
78
71
|
});
|
|
79
|
-
server.tool("bitcoin_non_hd_wallet_balances", "
|
|
80
|
-
"This tool provides detailed balance data for regular Bitcoin addresses.\n" +
|
|
81
|
-
"Required: walletAddress - The Bitcoin address to query.\n" +
|
|
82
|
-
"Optional: quoteCurrency - The currency for price conversion (USD, EUR, etc).\n" +
|
|
83
|
-
"Returns complete balance details including total balance, available balance, and transaction count.", {
|
|
72
|
+
server.tool("bitcoin_non_hd_wallet_balances", TOOL_DESCRIPTIONS["bitcoin_non_hd_wallet_balances"], {
|
|
84
73
|
walletAddress: z
|
|
85
74
|
.string()
|
|
86
|
-
.describe("
|
|
75
|
+
.describe(PARAM_DESCRIPTIONS["bitcoin_non_hd_wallet_balances"]["walletAddress"]),
|
|
87
76
|
quoteCurrency: z
|
|
88
77
|
.enum(Object.values(validQuoteValues))
|
|
89
78
|
.optional()
|
|
90
|
-
.describe("
|
|
79
|
+
.describe(PARAM_DESCRIPTIONS["bitcoin_non_hd_wallet_balances"]["quoteCurrency"]),
|
|
91
80
|
}, async (params) => {
|
|
92
81
|
try {
|
|
93
82
|
const response = await goldRushClient.BitcoinService.getBitcoinNonHdWalletBalances(params.walletAddress, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitcoinService.js","sourceRoot":"","sources":["../../src/services/BitcoinService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,MAAM,UAAU,sBAAsB,CAClC,MAAiB,EACjB,cAA8B;IAE9B,MAAM,CAAC,IAAI,CACP,4BAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"BitcoinService.js","sourceRoot":"","sources":["../../src/services/BitcoinService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NftService.d.ts","sourceRoot":"","sources":["../../src/services/NftService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NftService.d.ts","sourceRoot":"","sources":["../../src/services/NftService.ts"],"names":[],"mappings":"AAKA,OAAO,EAGH,KAAK,cAAc,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,cAAc,QAgLjC"}
|
|
@@ -1,39 +1,30 @@
|
|
|
1
|
+
import { PARAM_DESCRIPTIONS, TOOL_DESCRIPTIONS, } from "../utils/generated-descriptions.js";
|
|
1
2
|
import { stringifyWithBigInt } from "../utils/helpers.js";
|
|
2
3
|
import { ChainName, } from "@covalenthq/client-sdk";
|
|
3
4
|
import { z } from "zod";
|
|
4
5
|
export function addNftServiceTools(server, goldRushClient) {
|
|
5
|
-
server.tool("nft_for_address", "
|
|
6
|
-
"Required: chainName (blockchain network name), walletAddress (wallet address or ENS/domain).\n" +
|
|
7
|
-
"Optional: noSpam (filter spam, default true), noNftAssetMetadata (exclude metadata for faster response, default true), " +
|
|
8
|
-
"withUncached (fetch uncached metadata, may be slower, default false).\n" +
|
|
9
|
-
"Returns complete details of NFTs in the wallet including metadata.", {
|
|
6
|
+
server.tool("nft_for_address", TOOL_DESCRIPTIONS["nft_for_address"], {
|
|
10
7
|
chainName: z
|
|
11
8
|
.enum(Object.values(ChainName))
|
|
12
|
-
.describe("
|
|
9
|
+
.describe(PARAM_DESCRIPTIONS["nft_for_address"]["chainName"]),
|
|
13
10
|
walletAddress: z
|
|
14
11
|
.string()
|
|
15
|
-
.describe("
|
|
12
|
+
.describe(PARAM_DESCRIPTIONS["nft_for_address"]["walletAddress"]),
|
|
16
13
|
noSpam: z
|
|
17
14
|
.boolean()
|
|
18
15
|
.optional()
|
|
19
16
|
.default(true)
|
|
20
|
-
.describe("
|
|
17
|
+
.describe(PARAM_DESCRIPTIONS["nft_for_address"]["noSpam"]),
|
|
21
18
|
noNftAssetMetadata: z
|
|
22
19
|
.boolean()
|
|
23
20
|
.optional()
|
|
24
21
|
.default(true)
|
|
25
|
-
.describe("
|
|
26
|
-
withUncached: z
|
|
27
|
-
.boolean()
|
|
28
|
-
.optional()
|
|
29
|
-
.default(false)
|
|
30
|
-
.describe("Fetch uncached metadata directly from source (may be slower but more up-to-date). Default is false."),
|
|
22
|
+
.describe(PARAM_DESCRIPTIONS["nft_for_address"]["noNftAssetMetadata"]),
|
|
31
23
|
}, async (params) => {
|
|
32
24
|
try {
|
|
33
25
|
const response = await goldRushClient.NftService.getNftsForAddress(params.chainName, params.walletAddress, {
|
|
34
26
|
noSpam: params.noSpam,
|
|
35
27
|
noNftAssetMetadata: params.noNftAssetMetadata,
|
|
36
|
-
withUncached: params.withUncached,
|
|
37
28
|
});
|
|
38
29
|
return {
|
|
39
30
|
content: [
|
|
@@ -51,27 +42,24 @@ export function addNftServiceTools(server, goldRushClient) {
|
|
|
51
42
|
};
|
|
52
43
|
}
|
|
53
44
|
});
|
|
54
|
-
server.tool("nft_check_ownership", "
|
|
55
|
-
"Required: chainName (blockchain network), walletAddress (wallet address), collectionContract (NFT collection).\n" +
|
|
56
|
-
"Optional: traitsFilter (filter by trait types), valuesFilter (filter by trait values).\n" +
|
|
57
|
-
"Returns ownership status and matching NFTs if owned.", {
|
|
45
|
+
server.tool("nft_check_ownership", TOOL_DESCRIPTIONS["nft_check_ownership"], {
|
|
58
46
|
chainName: z
|
|
59
47
|
.enum(Object.values(ChainName))
|
|
60
|
-
.describe("
|
|
48
|
+
.describe(PARAM_DESCRIPTIONS["nft_check_ownership"]["chainName"]),
|
|
61
49
|
walletAddress: z
|
|
62
50
|
.string()
|
|
63
|
-
.describe("
|
|
51
|
+
.describe(PARAM_DESCRIPTIONS["nft_check_ownership"]["walletAddress"]),
|
|
64
52
|
collectionContract: z
|
|
65
53
|
.string()
|
|
66
|
-
.describe("
|
|
54
|
+
.describe(PARAM_DESCRIPTIONS["nft_check_ownership"]["collectionContract"]),
|
|
67
55
|
traitsFilter: z
|
|
68
56
|
.string()
|
|
69
57
|
.optional()
|
|
70
|
-
.describe("
|
|
58
|
+
.describe(PARAM_DESCRIPTIONS["nft_check_ownership"]["traitsFilter"]),
|
|
71
59
|
valuesFilter: z
|
|
72
60
|
.string()
|
|
73
61
|
.optional()
|
|
74
|
-
.describe("
|
|
62
|
+
.describe(PARAM_DESCRIPTIONS["nft_check_ownership"]["valuesFilter"]),
|
|
75
63
|
}, async (params) => {
|
|
76
64
|
try {
|
|
77
65
|
const response = await goldRushClient.NftService.checkOwnershipInNft(params.chainName, params.walletAddress, params.collectionContract, {
|
|
@@ -94,5 +82,37 @@ export function addNftServiceTools(server, goldRushClient) {
|
|
|
94
82
|
};
|
|
95
83
|
}
|
|
96
84
|
});
|
|
85
|
+
server.tool("nft_check_ownership_token_id", TOOL_DESCRIPTIONS["nft_check_ownership_token_id"], {
|
|
86
|
+
chainName: z
|
|
87
|
+
.enum(Object.values(ChainName))
|
|
88
|
+
.describe(PARAM_DESCRIPTIONS["nft_check_ownership_token_id"]["chainName"]),
|
|
89
|
+
walletAddress: z
|
|
90
|
+
.string()
|
|
91
|
+
.describe(PARAM_DESCRIPTIONS["nft_check_ownership_token_id"]["walletAddress"]),
|
|
92
|
+
collectionContract: z
|
|
93
|
+
.string()
|
|
94
|
+
.describe(PARAM_DESCRIPTIONS["nft_check_ownership_token_id"]["collectionContract"]),
|
|
95
|
+
tokenId: z
|
|
96
|
+
.string()
|
|
97
|
+
.describe(PARAM_DESCRIPTIONS["nft_check_ownership_token_id"]["tokenId"]),
|
|
98
|
+
}, async (params) => {
|
|
99
|
+
try {
|
|
100
|
+
const response = await goldRushClient.NftService.checkOwnershipInNftForSpecificTokenId(params.chainName, params.walletAddress, params.collectionContract, params.tokenId);
|
|
101
|
+
return {
|
|
102
|
+
content: [
|
|
103
|
+
{
|
|
104
|
+
type: "text",
|
|
105
|
+
text: stringifyWithBigInt(response.data),
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
return {
|
|
112
|
+
content: [{ type: "text", text: `Error: ${err}` }],
|
|
113
|
+
isError: true,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
});
|
|
97
117
|
}
|
|
98
118
|
//# sourceMappingURL=NftService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NftService.js","sourceRoot":"","sources":["../../src/services/NftService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAEH,SAAS,GAEZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"NftService.js","sourceRoot":"","sources":["../../src/services/NftService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PricingService.d.ts","sourceRoot":"","sources":["../../src/services/PricingService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PricingService.d.ts","sourceRoot":"","sources":["../../src/services/PricingService.ts"],"names":[],"mappings":"AAMA,OAAO,EAGH,KAAK,cAAc,EAEtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAezE,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,cAAc,QAmHjC"}
|
|
@@ -1,31 +1,29 @@
|
|
|
1
1
|
import { validQuoteValues } from "../utils/constants.js";
|
|
2
|
+
import { TOOL_DESCRIPTIONS, PARAM_DESCRIPTIONS, } from "../utils/generated-descriptions.js";
|
|
2
3
|
import { stringifyWithBigInt } from "../utils/helpers.js";
|
|
3
4
|
import { ChainName, } from "@covalenthq/client-sdk";
|
|
4
5
|
import { z } from "zod";
|
|
5
6
|
export function addPricingServiceTools(server, goldRushClient) {
|
|
6
|
-
server.tool("historical_token_prices", "
|
|
7
|
-
"Required: chainName (blockchain network), quoteCurrency (price currency), contractAddress (token contract), from (start date YYYY-MM-DD), to (end date YYYY-MM-DD).\n" +
|
|
8
|
-
"Optional: pricesAtAsc (set to true for chronological ascending order, default is false for descending order).\n" +
|
|
9
|
-
"Returns historical token prices for the specified time range.", {
|
|
7
|
+
server.tool("historical_token_prices", TOOL_DESCRIPTIONS["historical_token_prices"], {
|
|
10
8
|
chainName: z
|
|
11
9
|
.enum(Object.values(ChainName))
|
|
12
|
-
.describe("
|
|
10
|
+
.describe(PARAM_DESCRIPTIONS["historical_token_prices"]["chainName"]),
|
|
13
11
|
quoteCurrency: z
|
|
14
12
|
.enum(Object.values(validQuoteValues))
|
|
15
|
-
.describe("
|
|
13
|
+
.describe(PARAM_DESCRIPTIONS["historical_token_prices"]["quoteCurrency"]),
|
|
16
14
|
contractAddress: z
|
|
17
15
|
.string()
|
|
18
|
-
.describe("
|
|
16
|
+
.describe(PARAM_DESCRIPTIONS["historical_token_prices"]["contractAddress"]),
|
|
19
17
|
from: z
|
|
20
18
|
.string()
|
|
21
|
-
.describe("
|
|
19
|
+
.describe(PARAM_DESCRIPTIONS["historical_token_prices"]["from"]),
|
|
22
20
|
to: z
|
|
23
21
|
.string()
|
|
24
|
-
.describe("
|
|
22
|
+
.describe(PARAM_DESCRIPTIONS["historical_token_prices"]["to"]),
|
|
25
23
|
pricesAtAsc: z
|
|
26
24
|
.boolean()
|
|
27
25
|
.optional()
|
|
28
|
-
.describe("
|
|
26
|
+
.describe(PARAM_DESCRIPTIONS["historical_token_prices"]["pricesAtAsc"]),
|
|
29
27
|
}, async (params) => {
|
|
30
28
|
try {
|
|
31
29
|
const response = await goldRushClient.PricingService.getTokenPrices(params.chainName, params.quoteCurrency, params.contractAddress, {
|
|
@@ -49,20 +47,17 @@ export function addPricingServiceTools(server, goldRushClient) {
|
|
|
49
47
|
};
|
|
50
48
|
}
|
|
51
49
|
});
|
|
52
|
-
server.tool("pool_spot_prices", "
|
|
53
|
-
"Required: chainName (blockchain network), contractAddress (pool contract address).\n" +
|
|
54
|
-
"Optional: quoteCurrency (price currency) for value conversion.\n" +
|
|
55
|
-
"Returns spot token pair prices with pool details and token metadata.", {
|
|
50
|
+
server.tool("pool_spot_prices", TOOL_DESCRIPTIONS["pool_spot_prices"], {
|
|
56
51
|
chainName: z
|
|
57
52
|
.enum(Object.values(ChainName))
|
|
58
|
-
.describe("
|
|
53
|
+
.describe(PARAM_DESCRIPTIONS["pool_spot_prices"]["chainName"]),
|
|
59
54
|
contractAddress: z
|
|
60
55
|
.string()
|
|
61
|
-
.describe("
|
|
56
|
+
.describe(PARAM_DESCRIPTIONS["pool_spot_prices"]["contractAddress"]),
|
|
62
57
|
quoteCurrency: z
|
|
63
58
|
.enum(Object.values(validQuoteValues))
|
|
64
59
|
.optional()
|
|
65
|
-
.describe("
|
|
60
|
+
.describe(PARAM_DESCRIPTIONS["pool_spot_prices"]["quoteCurrency"]),
|
|
66
61
|
}, async (params) => {
|
|
67
62
|
try {
|
|
68
63
|
const response = await goldRushClient.PricingService.getPoolSpotPrices(params.chainName, params.contractAddress, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PricingService.js","sourceRoot":"","sources":["../../src/services/PricingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAEH,SAAS,GAGZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,MAAM,UAAU,sBAAsB,CAClC,MAAiB,EACjB,cAA8B;IAE9B,MAAM,CAAC,IAAI,CACP,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"PricingService.js","sourceRoot":"","sources":["../../src/services/PricingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityService.d.ts","sourceRoot":"","sources":["../../src/services/SecurityService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SecurityService.d.ts","sourceRoot":"","sources":["../../src/services/SecurityService.ts"],"names":[],"mappings":"AAKA,OAAO,EAGH,KAAK,cAAc,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,cAAc,QAsCjC"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
+
import { TOOL_DESCRIPTIONS, PARAM_DESCRIPTIONS, } from "../utils/generated-descriptions.js";
|
|
1
2
|
import { stringifyWithBigInt } from "../utils/helpers.js";
|
|
2
3
|
import { ChainName, } from "@covalenthq/client-sdk";
|
|
3
4
|
import { z } from "zod";
|
|
4
5
|
export function addSecurityServiceTools(server, goldRushClient) {
|
|
5
|
-
server.tool("token_approvals", "
|
|
6
|
-
"Required: chainName (blockchain network, e.g. eth-mainnet or 1), walletAddress (wallet address, supports ENS, RNS, Lens Handle, or Unstoppable Domain).\n" +
|
|
7
|
-
"Returns a list of ERC20 token approvals and their associated security risk levels.", {
|
|
6
|
+
server.tool("token_approvals", TOOL_DESCRIPTIONS["token_approvals"], {
|
|
8
7
|
chainName: z
|
|
9
8
|
.enum(Object.values(ChainName))
|
|
10
|
-
.describe("
|
|
9
|
+
.describe(PARAM_DESCRIPTIONS["token_approvals"]["chainName"]),
|
|
11
10
|
walletAddress: z
|
|
12
11
|
.string()
|
|
13
|
-
.describe("
|
|
12
|
+
.describe(PARAM_DESCRIPTIONS["token_approvals"]["walletAddress"]),
|
|
14
13
|
}, async (params) => {
|
|
15
14
|
try {
|
|
16
15
|
const response = await goldRushClient.SecurityService.getApprovals(params.chainName, params.walletAddress);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityService.js","sourceRoot":"","sources":["../../src/services/SecurityService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAEH,SAAS,GAEZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,MAAM,UAAU,uBAAuB,CACnC,MAAiB,EACjB,cAA8B;IAE9B,MAAM,CAAC,IAAI,CACP,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"SecurityService.js","sourceRoot":"","sources":["../../src/services/SecurityService.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,kBAAkB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAEH,SAAS,GAEZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,MAAM,UAAU,uBAAuB,CACnC,MAAiB,EACjB,cAA8B;IAE9B,MAAM,CAAC,IAAI,CACP,iBAAiB,EACjB,iBAAiB,CAAC,iBAAiB,CAAC,EACpC;QACI,SAAS,EAAE,CAAC;aACP,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAA0B,CAAC;aACvD,QAAQ,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC;QACjE,aAAa,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,CACL,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,CACzD;KACR,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,IAAI,CAAC;YACD,MAAM,QAAQ,GACV,MAAM,cAAc,CAAC,eAAe,CAAC,YAAY,CAC7C,MAAM,CAAC,SAAkB,EACzB,MAAM,CAAC,aAAa,CACvB,CAAC;YACN,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC;qBAC3C;iBACJ;aACJ,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;gBACpD,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC,CACJ,CAAC;AACN,CAAC"}
|