@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.
Files changed (39) hide show
  1. package/LICENSE +2 -2
  2. package/dist/example-client.js +1 -6
  3. package/dist/example-client.js.map +1 -1
  4. package/dist/services/AllChainsService.d.ts.map +1 -1
  5. package/dist/services/AllChainsService.js +20 -31
  6. package/dist/services/AllChainsService.js.map +1 -1
  7. package/dist/services/BalanceService.d.ts.map +1 -1
  8. package/dist/services/BalanceService.js +47 -104
  9. package/dist/services/BalanceService.js.map +1 -1
  10. package/dist/services/BaseService.d.ts.map +1 -1
  11. package/dist/services/BaseService.js +55 -50
  12. package/dist/services/BaseService.js.map +1 -1
  13. package/dist/services/BitcoinService.d.ts.map +1 -1
  14. package/dist/services/BitcoinService.js +11 -22
  15. package/dist/services/BitcoinService.js.map +1 -1
  16. package/dist/services/NftService.d.ts.map +1 -1
  17. package/dist/services/NftService.js +44 -24
  18. package/dist/services/NftService.js.map +1 -1
  19. package/dist/services/PricingService.d.ts.map +1 -1
  20. package/dist/services/PricingService.js +12 -17
  21. package/dist/services/PricingService.js.map +1 -1
  22. package/dist/services/SecurityService.d.ts.map +1 -1
  23. package/dist/services/SecurityService.js +4 -5
  24. package/dist/services/SecurityService.js.map +1 -1
  25. package/dist/services/TransactionService.d.ts.map +1 -1
  26. package/dist/services/TransactionService.js +27 -46
  27. package/dist/services/TransactionService.js.map +1 -1
  28. package/dist/utils/constants.d.ts +18 -1
  29. package/dist/utils/constants.d.ts.map +1 -1
  30. package/dist/utils/generated-descriptions.d.ts +192 -0
  31. package/dist/utils/generated-descriptions.d.ts.map +1 -0
  32. package/dist/utils/generated-descriptions.js +219 -0
  33. package/dist/utils/generated-descriptions.js.map +1 -0
  34. package/dist/utils/tool-slug-map.d.ts +2 -0
  35. package/dist/utils/tool-slug-map.d.ts.map +1 -0
  36. package/dist/utils/tool-slug-map.js +31 -0
  37. package/dist/utils/tool-slug-map.js.map +1 -0
  38. package/package.json +16 -20
  39. 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", "Get real-time gas estimates for different transaction speeds on a specific network, enabling users to optimize transaction costs and confirmation times. " +
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("The blockchain network to get gas prices for (e.g., 'eth-mainnet', 'matic-mainnet', 'bsc-mainnet')."),
10
+ .describe(PARAM_DESCRIPTIONS["gas_prices"]["chainName"]),
13
11
  eventType: z
14
12
  .enum(["erc20", "nativetokens", "uniswapv3"])
15
- .describe("Type of transaction to estimate gas for: 'erc20' for token transfers, 'nativetokens' for native transfers, 'uniswapv3' for DEX swaps."),
13
+ .describe(PARAM_DESCRIPTIONS["gas_prices"]["eventType"]),
16
14
  quoteCurrency: z
17
15
  .enum(Object.values(validQuoteValues))
18
16
  .optional()
19
- .describe("Currency to quote gas costs in (e.g., 'USD', 'EUR'). If not specified, uses default quote currency."),
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", "Commonly used to fetch and render a single block for a block explorer." +
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("The blockchain network to query (e.g., 'eth-mainnet', 'matic-mainnet', 'bsc-mainnet')."),
42
+ .describe(PARAM_DESCRIPTIONS["block"]["chainName"]),
48
43
  blockHeight: z
49
44
  .string()
50
- .describe("The block number to retrieve. Can be a specific block number or 'latest' for the most recent block."),
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", "Commonly used to get all the block heights within a particular date range. " +
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("The blockchain network to query (e.g., 'eth-mainnet', 'matic-mainnet', 'bsc-mainnet')."),
68
+ .describe(PARAM_DESCRIPTIONS["block_heights"]["chainName"]),
78
69
  startDate: z
79
70
  .string()
80
- .describe("Start date for the query in YYYY-MM-DD format (e.g., '2023-01-01')."),
71
+ .describe(PARAM_DESCRIPTIONS["block_heights"]["startDate"]),
81
72
  endDate: z
82
73
  .union([z.string(), z.literal("latest")])
83
- .describe("End date for the query in YYYY-MM-DD format or 'latest' for current date."),
74
+ .describe(PARAM_DESCRIPTIONS["block_heights"]["endDate"]),
84
75
  pageSize: z
85
76
  .number()
86
77
  .optional()
87
78
  .default(10)
88
- .describe("Number of block heights to return per page. Default is 10, maximum is 100."),
79
+ .describe(PARAM_DESCRIPTIONS["block_heights"]["pageSize"]),
89
80
  pageNumber: z
90
81
  .number()
91
82
  .optional()
92
83
  .default(0)
93
- .describe("Page number for pagination, starting from 0. Default is 0."),
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", "Commonly used to get all the event logs emitted from a particular contract 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("The blockchain network to query (e.g., 'eth-mainnet', 'matic-mainnet', 'bsc-mainnet')."),
110
+ .describe(PARAM_DESCRIPTIONS["log_events_by_address"]["chainName"]),
126
111
  contractAddress: z
127
112
  .string()
128
- .describe("The smart contract address to get event logs from. Must be a valid contract address."),
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("Starting block number to begin search from. Use with endingBlock to define a range."),
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("Ending block number to search until. Use with startingBlock to define a range."),
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("Number of log events to return per page. Default is 10, maximum is 100."),
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("Page number for pagination, starting from 0. Default is 0."),
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", "Commonly used to get all event logs of the same topic hash across all contracts within a particular chain. " +
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("The blockchain network to query (e.g., 'eth-mainnet', 'matic-mainnet', 'bsc-mainnet')."),
159
+ .describe(PARAM_DESCRIPTIONS["log_events_by_topic"]["chainName"]),
181
160
  topicHash: z
182
161
  .string()
183
- .describe("The event signature hash (topic[0]) to search for. This is the keccak256 hash of the event signature."),
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("Starting block number to begin search from. Use with endingBlock to define a range."),
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("Ending block number to search until. Use with startingBlock to define a range."),
170
+ .describe(PARAM_DESCRIPTIONS["log_events_by_topic"]["endingBlock"]),
192
171
  secondaryTopics: z
193
172
  .string()
194
173
  .optional()
195
- .describe("Additional topic filters (topic[1], topic[2], topic[3]) to narrow down the search."),
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("Number of log events to return per page. Default is 10, maximum is 100."),
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("Page number for pagination, starting from 0. Default is 0."),
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":"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"}
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":"AAEA,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,QAoJjC"}
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", "Fetch balances for each active child address derived from a Bitcoin HD wallet.\n" +
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("The xpub key of the Bitcoin HD wallet to get balances for. Must be a valid extended public key."),
9
+ .describe(PARAM_DESCRIPTIONS["bitcoin_hd_wallet_balances"]["walletAddress"]),
13
10
  quoteCurrency: z
14
11
  .enum(Object.values(validQuoteValues))
15
12
  .optional()
16
- .describe("Currency to quote Bitcoin values in (e.g., 'USD', 'EUR'). If not specified, uses default quote currency."),
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", "Used to fetch the full transaction history of a Bitcoin wallet.\n" +
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("The Bitcoin address to get transaction history for. Must be a valid Bitcoin address."),
38
+ .describe(PARAM_DESCRIPTIONS["bitcoin_transactions"]["address"]),
46
39
  pageSize: z
47
40
  .number()
48
41
  .optional()
49
42
  .default(10)
50
- .describe("Number of transactions to return per page. Default is 10, maximum is 100."),
43
+ .describe(PARAM_DESCRIPTIONS["bitcoin_transactions"]["pageSize"]),
51
44
  pageNumber: z
52
45
  .number()
53
46
  .optional()
54
47
  .default(0)
55
- .describe("Page number for pagination, starting from 0. Default is 0."),
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", "Fetch Bitcoin balance for a non-HD address. Response includes spot prices and other metadata.\n" +
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("The Bitcoin address to get balance for. Must be a valid non-HD Bitcoin address."),
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("Currency to quote Bitcoin values in (e.g., 'USD', 'EUR'). If not specified, uses default quote currency."),
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":"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"}
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":"AACA,OAAO,EAGH,KAAK,cAAc,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAazE,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,cAAc,QAsIjC"}
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", "Commonly used to render the NFTs (including ERC721 and ERC1155) held by an address.\n" +
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("The blockchain network to query (e.g., 'eth-mainnet', 'matic-mainnet', 'bsc-mainnet')."),
9
+ .describe(PARAM_DESCRIPTIONS["nft_for_address"]["chainName"]),
13
10
  walletAddress: z
14
11
  .string()
15
- .describe("The wallet address to get NFTs for. Can be a wallet address or ENS/domain name."),
12
+ .describe(PARAM_DESCRIPTIONS["nft_for_address"]["walletAddress"]),
16
13
  noSpam: z
17
14
  .boolean()
18
15
  .optional()
19
16
  .default(true)
20
- .describe("Filter out spam/scam NFTs from results. Default is true."),
17
+ .describe(PARAM_DESCRIPTIONS["nft_for_address"]["noSpam"]),
21
18
  noNftAssetMetadata: z
22
19
  .boolean()
23
20
  .optional()
24
21
  .default(true)
25
- .describe("Skip fetching NFT asset metadata for faster response. Default is true."),
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", "Commonly used to verify ownership of NFTs (including ERC-721 and ERC-1155) within a collection.\n" +
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("The blockchain network to query (e.g., 'eth-mainnet', 'matic-mainnet', 'bsc-mainnet')."),
48
+ .describe(PARAM_DESCRIPTIONS["nft_check_ownership"]["chainName"]),
61
49
  walletAddress: z
62
50
  .string()
63
- .describe("The wallet address to check NFT ownership for. Must be a valid blockchain address."),
51
+ .describe(PARAM_DESCRIPTIONS["nft_check_ownership"]["walletAddress"]),
64
52
  collectionContract: z
65
53
  .string()
66
- .describe("The NFT collection contract address to check ownership in. Must be a valid ERC-721 or ERC-1155 contract address."),
54
+ .describe(PARAM_DESCRIPTIONS["nft_check_ownership"]["collectionContract"]),
67
55
  traitsFilter: z
68
56
  .string()
69
57
  .optional()
70
- .describe("Filter by specific trait types (comma-separated list of trait names to filter by)."),
58
+ .describe(PARAM_DESCRIPTIONS["nft_check_ownership"]["traitsFilter"]),
71
59
  valuesFilter: z
72
60
  .string()
73
61
  .optional()
74
- .describe("Filter by specific trait values (comma-separated list of trait values to match)."),
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":"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"}
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":"AAEA,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,QAyHjC"}
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", "Commonly used to get historic prices of a token between date ranges. Supports native tokens.\n" +
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("The blockchain network to query (e.g., 'eth-mainnet', 'matic-mainnet', 'bsc-mainnet')."),
10
+ .describe(PARAM_DESCRIPTIONS["historical_token_prices"]["chainName"]),
13
11
  quoteCurrency: z
14
12
  .enum(Object.values(validQuoteValues))
15
- .describe("Currency to quote token prices in (e.g., 'USD', 'EUR'). This determines the currency for historical price data."),
13
+ .describe(PARAM_DESCRIPTIONS["historical_token_prices"]["quoteCurrency"]),
16
14
  contractAddress: z
17
15
  .string()
18
- .describe("The token contract address to get historical prices for. Use the native token address for native token prices."),
16
+ .describe(PARAM_DESCRIPTIONS["historical_token_prices"]["contractAddress"]),
19
17
  from: z
20
18
  .string()
21
- .describe("Start date for historical price data in YYYY-MM-DD format (e.g., '2023-01-01')."),
19
+ .describe(PARAM_DESCRIPTIONS["historical_token_prices"]["from"]),
22
20
  to: z
23
21
  .string()
24
- .describe("End date for historical price data in YYYY-MM-DD format (e.g., '2023-12-31')."),
22
+ .describe(PARAM_DESCRIPTIONS["historical_token_prices"]["to"]),
25
23
  pricesAtAsc: z
26
24
  .boolean()
27
25
  .optional()
28
- .describe("Sort prices in ascending chronological order. Default is false (descending order, newest first)."),
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", "Get the spot token pair prices for a specified pool contract address. Supports pools on Uniswap V2, V3 and their forks.\n" +
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("The blockchain network to query (e.g., 'eth-mainnet', 'matic-mainnet', 'bsc-mainnet')."),
53
+ .describe(PARAM_DESCRIPTIONS["pool_spot_prices"]["chainName"]),
59
54
  contractAddress: z
60
55
  .string()
61
- .describe("The liquidity pool contract address to get spot prices for. Must be a valid Uniswap V2/V3 or compatible DEX pool address."),
56
+ .describe(PARAM_DESCRIPTIONS["pool_spot_prices"]["contractAddress"]),
62
57
  quoteCurrency: z
63
58
  .enum(Object.values(validQuoteValues))
64
59
  .optional()
65
- .describe("Currency to quote pool token values in (e.g., 'USD', 'EUR'). If not specified, uses default quote currency."),
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":"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"}
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":"AACA,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,QA0CjC"}
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", "Commonly used to get a list of approvals across all token contracts categorized by spenders for a wallet's assets.\n" +
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("The blockchain network to query (e.g., 'eth-mainnet', 'matic-mainnet', 'bsc-mainnet')."),
9
+ .describe(PARAM_DESCRIPTIONS["token_approvals"]["chainName"]),
11
10
  walletAddress: z
12
11
  .string()
13
- .describe("The wallet address to get token approvals for. Supports wallet addresses, ENS, RNS, Lens Handle, or Unstoppable Domain names."),
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,sHAAsH;QAClH,2JAA2J;QAC3J,oFAAoF,EACxF;QACI,SAAS,EAAE,CAAC;aACP,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAA0B,CAAC;aACvD,QAAQ,CACL,wFAAwF,CAC3F;QACL,aAAa,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,CACL,+HAA+H,CAClI;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"}
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"}