diff --git a/ethclient/ethclient.go b/ethclient/ethclient.go index 19e15c77a2..bd5f3e4188 100644 --- a/ethclient/ethclient.go +++ b/ethclient/ethclient.go @@ -90,6 +90,13 @@ func (ec *Client) BlockByNumber(ctx context.Context, number *big.Int) (*types.Bl return ec.getBlock(ctx, "eth_getBlockByNumber", toBlockNumArg(number), true) } +// BlockNumber returns the most recent block number +func (ec *Client) BlockNumber(ctx context.Context) (uint64, error) { + var result hexutil.Uint64 + err := ec.c.CallContext(ctx, &result, "eth_blockNumber") + return uint64(result), err +} + // BlockReceipts returns the receipts of a given block number or hash func (ec *Client) BlockReceipts(ctx context.Context, blockNrOrHash rpc.BlockNumberOrHash) ([]*types.Receipt, error) { var r []*types.Receipt