From 021e709e2981904085e47d9cd86e369018d9fe2b Mon Sep 17 00:00:00 2001 From: Krisna Pranav <68631244+krishpranav@users.noreply.github.com> Date: Thu, 23 Jan 2025 22:31:15 +0530 Subject: [PATCH] client: TraceBlock + TraceChain --- ethclient/ethclient.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ethclient/ethclient.go b/ethclient/ethclient.go index 1e0a2044c2..ffb1c6f504 100644 --- a/ethclient/ethclient.go +++ b/ethclient/ethclient.go @@ -73,6 +73,20 @@ func (c *Client) TraceTransaction(ctx context.Context, txHash string) (*tracers. return &result, err } +// TraceBlock: fetches the trace for a specific block +func (c *Client) TraceBlock(ctx context.Context, blockHash string) (*tracers.TraceResult, error) { + var result tracers.TraceResult + err := c.rpcClient.CallContext(ctx, &result, "debug_traceBlock", blockHash) + return &result, err +} + +// TraceChain: fetches the trace for a chain +func (c *Client) TraceChain(ctx context.Context, blockHash string, count int) ([]*tracers.TraceResult, error) { + var result []*tracers.TraceResult + err := c.rpcClient.CallContext(ctx, &result, "debug_traceChain", blockHash, count) + return result, err +} + // Close closes the underlying RPC connection. func (ec *Client) Close() {