package Ġcom . star base . bank wallet . modules . swap . confirmation . un is wap Ċ Ċ import Ġandroidx . core . os . bundle Of Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . navigation . Nav Options Ċ import Ġcom . star base . bank wallet . core . App Ċ import Ġio . horizontal systems . bank wallet . core . ethereum . E thereum Fee ViewModel Ċ import Ġio . horizontal systems . bank wallet . core . ethereum . E vm Coin Service Factory Ċ import Ġio . horizontal systems . bank wallet . core . ethereum . E vm Transaction Service Ċ import Ġio . horizontal systems . bank wallet . core . factories . Fee Rate Provider Factory Ċ import Ġio . horizontal systems . bank wallet . modules . sen dev m . Send E vm Data Ċ import Ġio . horizontal systems . bank wallet . modules . sen dev m . Send E vm Module Ċ import Ġio . horizontal systems . bank wallet . modules . sen dev m transaction . Send E vm Transaction Service Ċ import Ġio . horizontal systems . bank wallet . modules . sen dev m transaction . Send E vm Transaction ViewModel Ċ import Ġio . horizontal systems . bank wallet . modules . swap . Swap Main Module Ċ import Ġio . horizontal systems . core . find Nav Controller Ċ Ċ object ĠUn is wap Confirmation Module Ġ{ ĊĊĠĠĠ Ġclass ĠFactory ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġblockchain : ĠSwap Main Module . Blockchain , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsend E vm Data : ĠSend E vm Data ĊĠĠĠ Ġ) Ġ: ĠViewModel Provider . Factory Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġe vm Kit Ġby Ġlazy Ġ{ Ġblockchain . e vm Kit !! Ġ} ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcoin Ġby Ġlazy Ġ{ Ġblockchain . coin !! Ġ} ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtransaction Service Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfee Rate Provider Ġ= ĠF ee Rate Provider Factory . provider ( coin ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE vm Transaction Service ( e vm Kit , Ġfee Rate Provider , Ġ 2 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcoin Service Factory Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE vm Coin Service Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoin , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcom . star base . bank wallet . core . App . coin Kit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcom . star base . bank wallet . core . App . currency Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcom . star base . bank wallet . core . App . x Rate Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsend Service Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSend E vm Transaction Service ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsend E vm Data , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe vm Kit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcom . star base . bank wallet . core . App . activate Coin Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( model Class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSend E vm Transaction ViewModel :: class . java Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSend E vm Transaction ViewModel ( send Service , Ġcoin Service Factory ) Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEthereum Fee ViewModel :: class . java Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEthereum Fee ViewModel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoin Service Factory . base Coin Service ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart ( ĊĠĠĠĠĠĠĠ Ġfragment : ĠFragment , ĊĠĠĠĠĠĠĠ Ġnavigate To : ĠInt , ĊĠĠĠĠĠĠĠ Ġnav Options : ĠNav Options , ĊĠĠĠĠĠĠĠ Ġsend E vm Data : ĠSend E vm Data ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarguments Ġ= Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSend E vm Module . transaction Data Key Ġto ĠSend E vm Module . Transaction Data Parcelable ( send E vm Data . transaction Data ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSend E vm Module . additional Info Key Ġto Ġsend E vm Data . additional Info ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġfragment . find Nav Controller (). navigate ( navigate To , Ġarguments , Ġnav Options ) ĊĠĠĠ Ġ} Ċ Ċ }