From b00bf732677abda2056a40c28909f843bc939aba Mon Sep 17 00:00:00 2001 From: Krisna Pranav <68631244+krishpranav@users.noreply.github.com> Date: Thu, 23 Jan 2025 22:30:16 +0530 Subject: [PATCH] client: TraceCall --- ethclient/ethclient.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ethclient/ethclient.go b/ethclient/ethclient.go index f10626c01f..d07fd1ac5b 100644 --- a/ethclient/ethclient.go +++ b/ethclient/ethclient.go @@ -50,11 +50,23 @@ func DialContext(ctx context.Context, rawurl string) (*Client, error) { return NewClient(c), nil } +type Client struct { + rpcClient *rpc.Client +} + // NewClient creates a client that uses the given RPC client. func NewClient(c *rpc.Client) *Client { return &Client{c} } +// TraceCall: for call operation +func (c *Client) TraceCall(ctx context.Context, callArgs interface{}) (*tracers.TraceResult, error) { + var result tracers.TraceResult + err := c.rpcClient.CallContext(ctx, &result, "debug_traceCall", callArgs) + return &result, err +} + + // Close closes the underlying RPC connection. func (ec *Client) Close() { ec.c.Close()