package Ġcom . star base . bank wallet . modules . swap . coin card Ċ Ċ import Ġio . horizontal systems . bank wallet . modules . swap . Swap Main Module Ċ import Ġio . horizontal systems . bank wallet . modules . swap . Swap Main Module . Amount Type Ċ import Ġio . horizontal systems . co ink it . models . Coin Ċ import Ġio . reactivex . Observable Ċ import Ġjava . math . BigDecimal Ċ import Ġjava . util .* Ċ Ċ class ĠSwap To Coin Card Service ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġservice : ĠSwap Main Module . IS wap Service , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtrade Service : ĠSwap Main Module . IS wap Trade Service , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcoin Provider : ĠSwap Coin Provider Ċ ) Ġ: ĠIS wap Coin Card Service Ġ{ ĊĠĠĠ Ġprivate Ġval Ġamount Type : ĠAmount Type Ġ= ĠAmount Type . Exact To ĊĊĠĠĠ Ġoverride Ġval Ġis Est imated : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtrade Service . amount Type Ġ!= Ġamount Type ĊĊĠĠĠ Ġoverride Ġval Ġamount : ĠBigDecimal ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtrade Service . amount To ĊĊĠĠĠ Ġoverride Ġval Ġcoin : ĠCoin ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtrade Service . coin To ĊĊĠĠĠ Ġoverride Ġval Ġbalance : ĠBigDecimal ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġservice . balance To ĊĊĠĠĠ Ġoverride Ġval Ġtokens For Selection : ĠList < Swap Main Module . Coin Balance Item > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcoin Provider . getC oin s () ĊĊĠĠĠ Ġoverride Ġval Ġis Est imated Observable : ĠObservable < Boolean > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtrade Service . amount Type Observable . map Ġ{ Ġit Ġ!= Ġamount Type Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġamount Observable : ĠObservable < Optional < BigDecimal >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtrade Service . amount To Observable ĊĊĠĠĠ Ġoverride Ġval Ġcoin Observable : ĠObservable < Optional < Coin >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġtrade Service . coin To Observable ĊĊĠĠĠ Ġoverride Ġval Ġbalance Observable : ĠObservable < Optional < BigDecimal >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġservice . balance To Observable ĊĊĠĠĠ Ġoverride Ġval Ġerror Observable : ĠObservable < Optional < Throwable >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠObservable . just ( Optional . empty ()) ĊĊĠĠĠ Ġoverride Ġfun ĠonChange Amount ( amount : ĠBigDecimal ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtrade Service . enter Amount To ( amount ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonSelect Coin ( coin : ĠCoin ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtrade Service . enter Coin To ( coin ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ