query_sui_transactions
Retrieve and filter Sui blockchain transactions by network, pagination, and custom query parameters using Grove's MCP Server.
Instructions
Query Sui transactions with filters
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Query filter and options | |
| cursor | No | Optional: Pagination cursor | |
| limit | No | Optional: Number of results to return | |
| descendingOrder | No | Optional: Sort order (default: false) | |
| network | No | Network type (defaults to mainnet) |
Implementation Reference
- src/handlers/sui-handlers.ts:413-437 (handler)Executes the query_sui_transactions tool by extracting arguments, calling SuiService.queryTransactions, and formatting the JSON response.case 'query_sui_transactions': { const query = args?.query as any; const cursor = args?.cursor as string | undefined; const limit = args?.limit as number | undefined; const descendingOrder = args?.descendingOrder as boolean | undefined; const network = (args?.network as 'mainnet' | 'testnet') || 'mainnet'; const result = await suiService.queryTransactions( query, cursor, limit, descendingOrder, network ); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], isError: !result.success, }; }
- src/handlers/sui-handlers.ts:177-207 (schema)Tool schema defining name, description, and inputSchema for query_sui_transactions.{ name: 'query_sui_transactions', description: 'Query Sui transactions with filters', inputSchema: { type: 'object', properties: { query: { type: 'object', description: 'Query filter and options', }, cursor: { type: 'string', description: 'Optional: Pagination cursor', }, limit: { type: 'number', description: 'Optional: Number of results to return', }, descendingOrder: { type: 'boolean', description: 'Optional: Sort order (default: false)', }, network: { type: 'string', enum: ['mainnet', 'testnet'], description: 'Network type (defaults to mainnet)', }, }, required: ['query'], }, },
- src/index.ts:88-101 (registration)Registers Sui tools (including query_sui_transactions) by spreading registerSuiHandlers into the main tools array used for MCP tool listing.const tools: Tool[] = [ ...registerBlockchainHandlers(server, blockchainService), ...registerDomainHandlers(server, domainResolver), ...registerTransactionHandlers(server, advancedBlockchain), ...registerTokenHandlers(server, advancedBlockchain), ...registerMultichainHandlers(server, advancedBlockchain), ...registerContractHandlers(server, advancedBlockchain), ...registerUtilityHandlers(server, advancedBlockchain), ...registerEndpointHandlers(server, endpointManager), ...registerSolanaHandlers(server, solanaService), ...registerCosmosHandlers(server, cosmosService), ...registerSuiHandlers(server, suiService), ...registerDocsHandlers(server, docsManager), ];
- src/services/sui-service.ts:221-250 (helper)Helper method in SuiService that builds RPC call parameters for querying transactions via 'suix_queryTransactionBlocks' RPC method.async queryTransactions( query: { filter?: any; options?: any; }, cursor?: string, limit?: number, descendingOrder?: boolean, network: 'mainnet' | 'testnet' = 'mainnet' ): Promise<EndpointResponse> { const service = this.blockchainService.getServiceByBlockchain('sui', network); if (!service) { return { success: false, error: `Sui service not found for ${network}`, }; } const params: any[] = [query]; if (cursor !== undefined) params.push(cursor); if (limit !== undefined) params.push(limit); if (descendingOrder !== undefined) params.push(descendingOrder); return this.blockchainService.callRPCMethod( service.id, 'suix_queryTransactionBlocks', params ); }