package Ġcom . ky bers wap . android . presentation . main . swap Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . ky bers wap . android . domain . model . Notification Alert Ċ import Ġcom . ky bers wap . android . domain . model . Notification Ext Ċ import Ġcom . ky bers wap . android . domain . model . Swap Ċ import Ġcom . ky bers wap . android . domain . model . Wallet Ċ import Ġcom . ky bers wap . android . domain . use case . alert . Get Alert UseCase Ċ import Ġcom . ky bers wap . android . domain . use case . swap . Estimate Amount UseCase Ċ import Ġcom . ky bers wap . android . domain . use case . swap . Estimate Gas UseCase Ċ import Ġcom . ky bers wap . android . domain . use case . swap . Get Combined Cap UseCase Ċ import Ġcom . ky bers wap . android . domain . use case . swap . Get Expected Rate UseCase Ċ import Ġcom . ky bers wap . android . domain . use case . swap . Get Gas Price UseCase Ċ import Ġcom . ky bers wap . android . domain . use case . swap . Get Ky ber Network Status Case Ċ import Ġcom . ky bers wap . android . domain . use case . swap . Get Market Rate UseCase Ċ import Ġcom . ky bers wap . android . domain . use case . swap . Get Swap Data UseCase Ċ import Ġcom . ky bers wap . android . domain . use case . swap . Reset Swap Data UseCase Ċ import Ġcom . ky bers wap . android . domain . use case . swap . Save Swap UseCase Ċ import Ġcom . ky bers wap . android . domain . use case . wallet . Check El igible Wallet UseCase Ċ import Ġcom . ky bers wap . android . domain . use case . wallet . Get Selected Wallet UseCase Ċ import Ġcom . ky bers wap . android . domain . use case . wallet . Get Wallet By Address UseCase Ċ import Ġcom . ky bers wap . android . presentation . common . Event Ċ import Ġcom . ky bers wap . android . presentation . common . calculate Default Gas Limit Ċ import Ġcom . ky bers wap . android . presentation . common . special Gas Limit Default Ċ import Ġcom . ky bers wap . android . presentation . main . Selected Wallet ViewModel Ċ import Ġcom . ky bers wap . android . presentation . main . alert . Get Alert State Ċ import Ġcom . ky bers wap . android . presentation . main . balance . Check El igible Wallet State Ċ import Ġcom . ky bers wap . android . util . ErrorHandler Ċ import Ġcom . ky bers wap . android . util . ext . to Display Number Ċ import Ġcom . ky bers wap . android . util . ext . to Long Safe Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġio . reactivex . functions . Action Ċ import Ġio . reactivex . functions . Consumer Ċ import Ġjava . math . BigDecimal Ċ import Ġjava . math . BigInteger Ċ import Ġjava . net . Unknown Host Exception Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠSwap ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġget Wallet By Address UseCase : ĠGet Wallet By Address UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Expected Rate UseCase : ĠGet Expected Rate UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Swap Data UseCase : ĠGet Swap Data UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Market Rate : ĠGet Market Rate UseCase , ĊĠĠĠ Ġprivate Ġval Ġsave Swap UseCase : ĠSave Swap UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Gas Price UseCase : ĠGet Gas Price UseCase , ĊĠĠĠ Ġprivate Ġval Ġestimate Gas UseCase : ĠEst imate Gas UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Alert UseCase : ĠGet Alert UseCase , ĊĠĠĠ Ġprivate Ġval Ġestimate Amount UseCase : ĠEst imate Amount UseCase , ĊĠĠĠ Ġprivate Ġval Ġget Combined Cap UseCase : ĠGet Combined Cap UseCase , ĊĠĠĠ Ġprivate Ġval Ġreset Swap User Case : ĠReset Swap Data UseCase , ĊĠĠĠ Ġprivate Ġval Ġk y ber Network Status Case : ĠGet Ky ber Network Status Case , ĊĠĠĠ Ġprivate Ġval Ġcheck El igible Wallet UseCase : ĠCheck El igible Wallet UseCase , ĊĠĠĠ Ġget Wallet UseCase : ĠGet Selected Wallet UseCase , ĊĠĠĠ Ġprivate Ġval ĠerrorHandler : ĠError Handler Ċ ) Ġ: ĠSelected Wallet ViewModel ( get Wallet UseCase , ĠerrorHandler ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġ_ get Swap Callback Ġ= ĠMutable LiveData < Event < Get Swap State >>() ĊĠĠĠ Ġval Ġget Swap Data Callback : ĠLive Data < Event < Get Swap State >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ get Swap Callback ĊĊĠĠĠ Ġprivate Ġval Ġ_ get Get Gas Limit Callback Ġ= ĠMutable LiveData < Event < Get Gas Limit State >>() ĊĠĠĠ Ġval Ġget Get Gas Limit Callback : ĠLive Data < Event < Get Gas Limit State >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ get Get Gas Limit Callback ĊĊĠĠĠ Ġprivate Ġval Ġ_ get Get Gas Price Callback Ġ= ĠMutable LiveData < Event < Get Gas Price State >>() ĊĠĠĠ Ġval Ġget Get Gas Price Callback : ĠLive Data < Event < Get Gas Price State >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ get Get Gas Price Callback Ċ Ċ // ĠĠĠ Ġprivate Ġval Ġ_ get Cap Callback Ġ= ĠMutable LiveData < Event < Get Cap State >>() Ċ // ĠĠĠ Ġval Ġget Cap Callback : ĠLive Data < Event < Get Cap State >> Ċ // ĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ get Cap Callback ĊĊĠĠĠ Ġprivate Ġval Ġ_ get Ky ber Status back Ġ= ĠMutable LiveData < Event < Get Ky ber Status State >>() ĊĠĠĠ Ġval Ġget Ky ber Status back : ĠLive Data < Event < Get Ky ber Status State >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ get Ky ber Status back ĊĊĠĠĠ Ġprivate Ġval Ġ_ get Alert State Ġ= ĠMutable LiveData < Event < Get Alert State >>() ĊĠĠĠ Ġval Ġget Alert State : ĠLive Data < Event < Get Alert State >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ get Alert State ĊĊĠĠĠ Ġprivate Ġval Ġ_ estimate Amount State Ġ= ĠMutable LiveData < Event < Estimate Amount State >>() ĊĠĠĠ Ġval Ġestimate Amount State : ĠLive Data < Event < Estimate Amount State >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ estimate Amount State ĊĊĠĠĠ Ġval Ġcomposite Disposable Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠComposite Disposable () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġ_ get Get Market Rate Callback Ġ= ĠMutable LiveData < Event < Get Market Rate State >>() ĊĠĠĠ Ġval Ġget Get Market Rate Callback : ĠLive Data < Event < Get Market Rate State >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ get Get Market Rate Callback ĊĊĠĠĠ Ġprivate Ġval Ġ_ get Expected Rate Callback Ġ= ĠMutable LiveData < Event < Get Expected Rate State >>() ĊĠĠĠ Ġval Ġget Expected Rate Callback : ĠLive Data < Event < Get Expected Rate State >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ get Expected Rate Callback ĊĊĠĠĠ Ġprivate Ġval Ġ_ save Swap Callback Ġ= ĠMutable LiveData < Event < Save Swap State >>() ĊĠĠĠ Ġval Ġsave Swap Data Callback : ĠLive Data < Event < Save Swap State >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ save Swap Callback ĊĊĠĠĠ Ġprivate Ġval Ġ_ check El igible Wallet Callback Ġ= ĠMutable LiveData < Event < Check El igible Wallet State >>() ĊĠĠĠ Ġval Ġcheck El igible Wallet Callback : ĠLive Data < Event < Check El igible Wallet State >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ check El igible Wallet Callback ĊĊĠĠĠ Ġfun Ġget Market Rate ( swap : ĠSwap ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( swap . has Same Pair ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Get Market Rate Callback . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent ( Get Market Rate State . Success ( BigDecimal . ONE . to Display Number ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġget Market Rate . dispose () ĊĠĠĠĠĠĠĠ Ġif Ġ( swap . has Token Pair ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Market Rate . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Get Market Rate Callback . value Ġ= ĠEvent ( Get Market Rate State . Success ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Get Market Rate Callback . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGet Market Rate State . Show Error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠerrorHandler . getError ( it ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġis ĠUnknown Host Exception ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGet Market Rate UseCase . Param ( swap . token Source . token Symbol , Ġswap . token Dest . token Symbol ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdispose Current Swap () Ġ{ ĊĠĠĠĠĠĠĠ Ġget Swap Data UseCase . dispose () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Swap Data ( ĊĠĠĠĠĠĠĠ Ġwallet : ĠWallet , ĊĠĠĠĠĠĠĠ Ġalert : ĠNotification Alert ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġnotification Ext : ĠNotification Ext ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Swap Data UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġget Swap Data UseCase . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . gas Limit Ġ= Ġcalculate Gas Limit ( it ). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Swap Callback . value Ġ= ĠEvent ( Get Swap State . Success ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Swap Callback . value Ġ= ĠEvent ( Get Swap State . Show Error ( error Handler . getError ( it ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGet Swap Data UseCase . Param ( wallet , Ġalert , Ġnotification Ext ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcalculate Gas Limit ( swap : ĠSwap ): ĠBigInteger Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcalculate Default Gas Limit ( swap . token Source , Ġswap . token Dest ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Gas Price () Ġ{ ĊĠĠĠĠĠĠĠ Ġget Gas Price UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġget Gas Price UseCase . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Get Gas Price Callback . value Ġ= ĠEvent ( Get Gas Price State . Success ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Get Gas Price Callback . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent ( Get Gas Price State . Show Error ( error Handler . getError ( it ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdispose Get Expected Rate () Ġ{ ĊĠĠĠĠĠĠĠ Ġget Expected Rate UseCase . dispose () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Expected Rate ( ĊĠĠĠĠĠĠĠ Ġswap : ĠSwap , ĊĠĠĠĠĠĠĠ Ġsrc Amount : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( swap . has Same Pair ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Expected Rate Callback . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent ( Get Expected Rate State . Success ( listOf ( BigDecimal . ONE . to Display Number ()))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġget Expected Rate UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġget Expected Rate UseCase . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Expected Rate Callback . value Ġ= ĠEvent ( Get Expected Rate State . Success ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Expected Rate Callback . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent ( Get Expected Rate State . Show Error ( error Handler . getError ( it ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGet Expected Rate UseCase . Param ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswap . wallet Address , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswap . token Source , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswap . token Dest , Ġsrc Amount ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġestimate Amount ( source : ĠString , Ġdest : ĠString , Ġdest Amount : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġestimate Amount UseCase . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ estimate Amount State . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent ( Estimate Amount State . Show Error ( it . additional Data )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ estimate Amount State . value Ġ= ĠEvent ( Estimate Amount State . Success ( it . data )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ estimate Amount State . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent ( Estimate Amount State . Show Error ( error Handler . getError ( it ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEst imate Amount UseCase . Param ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdest , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdest Amount ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Gas Limit ( wallet : ĠWallet ?, Ġswap : ĠSwap ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( wallet Ġ== Ġnull Ġ|| Ġswap Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġestimate Gas UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġestimate Gas UseCase . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgas Limit Ġ= Ġit . to BigInteger () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspecial Gas Limit Ġ= Ġspecial Gas Limit Default ( swap . token Source , Ġswap . token Dest ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Get Gas Limit Callback . value Ġ= ĠEvent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGet Gas Limit State . Success ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( special Gas Limit Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspecial Gas Limit . max ( gas Limit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgas Limit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent ( Get Gas Limit State . Show Error ( error Handler . getError ( it ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEst imate Gas UseCase . Param ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwallet , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswap . token Source , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswap . token Dest , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswap . source Amount , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswap . min Conversion Rate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave Swap ( swap : ĠSwap ?, Ġfrom Continue : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( swap Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġsave Swap UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġsave Swap UseCase . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( from Continue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ save Swap Callback . value Ġ= ĠEvent ( Save Swap State . Success ("")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ save Swap Callback . value Ġ= ĠEvent ( Save Swap State . Show Error ( error Handler . getError ( it ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSave Swap UseCase . Param ( swap ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Alert ( alert Notification : ĠNotification Alert ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Alert UseCase . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Alert State . value Ġ= ĠEvent ( Get Alert State . Success ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Alert State . value Ġ= ĠEvent ( Get Alert State . Show Error ( error Handler . getError ( it ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGet Alert UseCase . Param ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( alert Notification . alert Id Ġ> Ġ 0 ) Ġalert Notification . alert Id Ġelse Ġalert Notification . test Alert Id . to Long Safe () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cle ared () Ġ{ ĊĠĠĠĠĠĠĠ Ġget Wallet By Address UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġget Expected Rate UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġget Swap Data UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġget Market Rate . dispose () ĊĠĠĠĠĠĠĠ Ġsave Swap UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġget Gas Price UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġestimate Gas UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġget Alert UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . dispose () ĊĠĠĠĠĠĠĠ Ġestimate Amount UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġget Combined Cap UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġreset Swap User Case . dispose () ĊĠĠĠĠĠĠĠ Ġk y ber Network Status Case . dispose () ĊĠĠĠĠĠĠĠ Ġcheck El igible Wallet UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġsuper . on Cle ared () ĊĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġfun Ġget Cap ( wallet : ĠWallet , Ġswap : ĠSwap ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġ_ get Cap Callback . post Value ( Event ( Get Cap State . Loading )) Ċ // ĠĠĠĠĠĠĠ Ġget Combined Cap UseCase . execute ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Cap Callback . value Ġ= ĠEvent ( Get Cap State . Success ( it , Ġswap )) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Cap Callback . value Ġ= ĠEvent ( Get Cap State . Show Error ( error Handler . getError ( it ))) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠGet Combined Cap UseCase . Param ( wallet ) Ċ // ĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck El igible Wallet ( wallet : ĠWallet , Ġswap : ĠSwap ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck El igible Wallet UseCase . dispose () ĊĠĠĠĠĠĠĠ Ġ_ check El igible Wallet Callback . post Value ( Event ( Check El igible Wallet State . Loading )) ĊĠĠĠĠĠĠĠ Ġcheck El igible Wallet UseCase . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ check El igible Wallet Callback . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent ( Check El igible Wallet State . Success ( it , Ġswap )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ check El igible Wallet Callback . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent ( Check El igible Wallet State . Show Error ( error Handler . getError ( it ), Ġswap )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCheck El igible Wallet UseCase . Param ( wallet ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Ky ber Status () Ġ{ ĊĠĠĠĠĠĠĠ Ġk y ber Network Status Case . dispose () ĊĠĠĠĠĠĠĠ Ġk y ber Network Status Case . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Ky ber Status back . value Ġ= ĠEvent ( Get Ky ber Status State . Success ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ get Ky ber Status back . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent ( Get Ky ber Status State . Show Error ( error Handler . getError ( it ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }