package Ġio . horizontal systems . fe erate kit . providers Ċ Ċ import Ġandroid . util . Base 6 4 Ċ import Ġandroid . util . Log Ċ import Ġcom . ec lip ses ource . json . JsonArray Ċ import Ġcom . ec lip ses ource . json . JsonObject Ċ import Ġio . horizontal systems . fe erate kit . utils . Http Utils Ċ import Ġio . reactivex . Single Ċ import Ġjava . math . BigInteger Ċ import Ġjava . util . logging . Logger Ċ Ċ class ĠE vm Provider ( private Ġval Ġurl : ĠString , Ġprivate Ġval Ġauth : ĠString ? Ġ= Ġnull ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLogger . getLogger (" E vm Provider ") ĊĊĠĠĠ Ġfun Ġget Fee Rate (): ĠSingle < BigInteger > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSingle . create Ġ{ Ġsubscriber Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrequest Data Ġ= ĠJsonObject (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [" jsonrpc "] Ġ= Ġ" 2 . 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [" method "] Ġ= Ġ" eth _ gas Price " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [" params "] Ġ= ĠJson Array () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [" id "] Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġusername Ġ= Ġauth ?. let Ġ{ Ġ"" Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠHttp Utils . post ( url , Ġrequest Data . toString (), Ġusername , Ġauth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Object Ġ= Ġresponse . as Object () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" Received Ġgas Price Ġfrom ĠE vm Ġ$ response Object ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgas Price In Hex Ġ= Ġresponse Object [" result "]. asString (). replace (" 0 x ", Ġ"") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgas Price Ġ= ĠBigInteger ( gas Price In Hex , Ġ 1 6 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubscriber . on Success ( gas Price ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" E vm Provider ", Ġ" exception ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubscriber . onError ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ