diff --git a/ethclient/gethclient/gethclient.go b/ethclient/gethclient/gethclient.go index 8b4a719d67..4457fe056d 100644 --- a/ethclient/gethclient/gethclient.go +++ b/ethclient/gethclient/gethclient.go @@ -216,6 +216,17 @@ func (ec *Client) TraceTransaction(ctx context.Context, hash common.Hash, config return result, nil } +// TraceBlock returns the structured logs created during the execution of EVM +// and returns them as a JSON object. +func (ec *Client) TraceBlock(ctx context.Context, hash common.Hash, config *tracers.TraceConfig) (any, error) { + var result any + err := ec.c.CallContext(ctx, &result, "debug_traceBlockByHash", hash, config) + if err != nil { + return nil, err + } + return result, nil +} + func toBlockNumArg(number *big.Int) string { if number == nil { return "latest"