public async Task <decimal> GetGasPriceGwei(TransferPriority priority) { try { RestClient client = new RestClient("https://ethgasstation.info/"); var request = new RestRequest("json/ethgasAPI.json", Method.GET); var response = await client.ExecuteGetTaskAsync(request); var result = JObject.Parse(response.Content); switch (priority) { case TransferPriority.Average: return(result["average"].ToObject <decimal>()); case TransferPriority.Fast: return(result["fast"].ToObject <decimal>()); case TransferPriority.Fastest: return(result["fastest"].ToObject <decimal>()); case TransferPriority.Low: return(result["safeLow"].ToObject <decimal>()); default: return(0); } } catch (Exception e) { return(0); } }
public async Task <BigInteger> GetGasPrice(TransferPriority priority) { var price = ((BigInteger)(await GetGasPriceGwei(priority) * 100000000)); if (price == 0) { price = (await web3.Eth.GasPrice.SendRequestAsync()); } return(price); }