public Block GetBlockByNumber(int blockNumber, BlockTag blockTag, bool returnFullObject)
{
var rpcRequest = new RpcRequest(RpcMethod.eth_getBlockByNumber);
if (blockTag != BlockTag.Quantity && blockNumber > -1)
{
throw new Exception("Balance tag and block number cannot both be provided, chose either");
}
if (blockTag != BlockTag.Quantity)
{
rpcRequest.AddParam(blockTag.ToJsonMethodName());
}
else
{
rpcRequest.AddParam(blockNumber.ToHexString());
}
rpcRequest.AddParam(returnFullObject);
var rpcResult = new RpcConnector().MakeRequest(rpcRequest);
var json = JsonConvert.SerializeObject(rpcResult.Result);
var block = JsonConvert.DeserializeObject <Block>(json);
return(block);
}