get_sui_transaction
Retrieve detailed information about Sui blockchain transactions using transaction digests to inspect inputs, effects, events, object changes, and balance modifications.
Instructions
Get Sui transaction details by digest
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Network type (defaults to mainnet) | |
| options | No | Optional: Display options | |
| txDigest | Yes | Transaction digest (hash) |
Implementation Reference
- src/handlers/sui-handlers.ts:147-176 (schema)Tool schema definition including name, description, and input schema for validating parameters like txDigest, options, and network.{ name: 'get_sui_transaction', description: 'Get Sui transaction details by digest', inputSchema: { type: 'object', properties: { txDigest: { type: 'string', description: 'Transaction digest (hash)', }, options: { type: 'object', description: 'Optional: Display options', properties: { showInput: { type: 'boolean' }, showEffects: { type: 'boolean' }, showEvents: { type: 'boolean' }, showObjectChanges: { type: 'boolean' }, showBalanceChanges: { type: 'boolean' }, }, }, network: { type: 'string', enum: ['mainnet', 'testnet'], description: 'Network type (defaults to mainnet)', }, }, required: ['txDigest'], }, },
- src/handlers/sui-handlers.ts:395-411 (handler)MCP tool handler implementation that extracts arguments, calls SuiService.getTransaction, and returns formatted JSON response or error.case 'get_sui_transaction': { const txDigest = args?.txDigest as string; const options = args?.options as any; const network = (args?.network as 'mainnet' | 'testnet') || 'mainnet'; const result = await suiService.getTransaction(txDigest, options, network); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], isError: !result.success, }; }
- src/services/sui-service.ts:180-216 (helper)Supporting service method that performs the actual Sui RPC call to 'sui_getTransactionBlock' via blockchainService with proper parameter handling.async getTransaction( txDigest: string, options?: { showInput?: boolean; showEffects?: boolean; showEvents?: boolean; showObjectChanges?: boolean; showBalanceChanges?: 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[] = [txDigest]; if (options) { params.push({ showInput: options.showInput ?? true, showEffects: options.showEffects ?? true, showEvents: options.showEvents ?? true, showObjectChanges: options.showObjectChanges, showBalanceChanges: options.showBalanceChanges, }); } return this.blockchainService.callRPCMethod( service.id, 'sui_getTransactionBlock', params ); }
- src/index.ts:88-101 (registration)Registration of all tools including Sui tools via registerSuiHandlers, collecting schemas for listTools endpoint.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/index.ts:114-126 (registration)Tool execution dispatcher that routes callTool requests to the appropriate handler, including handleSuiTool for Sui tools.let result = (await handleBlockchainTool(name, args, blockchainService)) || (await handleDomainTool(name, args, domainResolver)) || (await handleTransactionTool(name, args, advancedBlockchain)) || (await handleTokenTool(name, args, advancedBlockchain)) || (await handleMultichainTool(name, args, advancedBlockchain)) || (await handleContractTool(name, args, advancedBlockchain)) || (await handleUtilityTool(name, args, advancedBlockchain)) || (await handleEndpointTool(name, args, endpointManager)) || (await handleSolanaTool(name, args, solanaService)) || (await handleCosmosTool(name, args, cosmosService)) || (await handleSuiTool(name, args, suiService)) || (await handleDocsTool(name, args, docsManager));