package Ġcom . ne mes is protocol . crypt ocr aze . data . di Ċ Ċ import Ġcom . ne mes is protocol . crypt ocr aze . common . Constants Ċ import Ġcom . ne mes is protocol . crypt ocr aze . common . Dispatcher Provider Ċ import Ġcom . ne mes is protocol . crypt ocr aze . data . crypt odata . remote . Crypto Data Api Ċ import Ġcom . ne mes is protocol . crypt ocr aze . data . crypt odata . remote . Crypto Data Api Mapper Ċ import Ġcom . ne mes is protocol . crypt ocr aze . data . crypto info . remote . dto . Coin P ap ri ka Api Ċ import Ġcom . ne mes is protocol . crypt ocr aze . data . repos . Coin Repo Impl Ċ import Ġcom . ne mes is protocol . crypt ocr aze . data . repos . Crypto Data Repo Impl Ċ import Ġcom . ne mes is protocol . crypt ocr aze . data . repos . Crypto Fav Data Repo Impl Ċ import Ġcom . ne mes is protocol . crypt ocr aze . data . repos . Payment Info Repo Impl Ċ import Ġcom . ne mes is protocol . crypt ocr aze . data . repos . Portfolio Repo Impl Ċ import Ġcom . ne mes is protocol . crypt ocr aze . data . repos . Transaction History Repo Impl Ċ import Ġcom . ne mes is protocol . crypt ocr aze . data . repos . User Repo Impl Ċ import Ġcom . ne mes is protocol . crypt ocr aze . domain . crypt odata . Crypto Data Repo Ċ import Ġcom . ne mes is protocol . crypt ocr aze . domain . crypt odata . Crypto Fav Data Repo Ċ import Ġcom . ne mes is protocol . crypt ocr aze . domain . crypto info . Coin Repo Ċ import Ġcom . ne mes is protocol . crypt ocr aze . domain . payment info . Payment Info Repo Ċ import Ġcom . ne mes is protocol . crypt ocr aze . domain . portfolio . Portfolio Repo Ċ import Ġcom . ne mes is protocol . crypt ocr aze . domain . transaction history . Transaction History Repo Ċ import Ġcom . ne mes is protocol . crypt ocr aze . domain . user . User Repo Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . components . Singleton Component Ċ import Ġkotlinx . coroutines . Coroutine Dispatcher Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Module Ċ @ Install In ( Singleton Component :: class ) Ċ object ĠApp Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide User Repo ( user Repo Impl : ĠUser Repo Impl ): ĠUser Repo Ġ= Ġuser Repo Impl ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Crypto Data Api (): ĠCrypto Data Api Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Constants . CO IN _ GE CK O _ BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( Crypto Data Api :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Crypto Data Mapper (): ĠCrypto Data Api Mapper Ġ= ĠCrypto Data Api Mapper () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Crypto Data Repo ( crypto Data Repo Impl : ĠCrypto Data Repo Impl ): ĠCrypto Data Repo Ġ= ĊĠĠĠĠĠĠĠ Ġcrypto Data Repo Impl ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Crypto Fav Data Repo ( crypto Fav Data Repo Impl : ĠCrypto Fav Data Repo Impl ): ĠCrypto Fav Data Repo Ġ= ĊĠĠĠĠĠĠĠ Ġcrypto Fav Data Repo Impl ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide P ap ri ka Api (): ĠCoin P ap ri ka Api Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Constants . CO IN _ P AP RI KA _ BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( Coin P ap ri ka Api :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Coin Repo ( coin Repo Impl : ĠCoin Repo Impl ): ĠCoin Repo Ġ= Ġcoin Repo Impl ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Payment Info Repo ( payment Info Repo Impl : ĠPayment Info Repo Impl ): ĠPayment Info Repo Ġ= ĊĠĠĠĠĠĠĠ Ġpayment Info Repo Impl ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Transaction History Repo ( transaction History Repo Impl : ĠTransaction History Repo Impl ): ĊĠĠĠĠĠĠĠ ĠTransaction History Repo Ġ= Ġtransaction History Repo Impl ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Portfolio Repo ( portfolio Repo Impl : ĠPortfolio Repo Impl ): ĊĠĠĠĠĠĠĠ ĠPortfolio Repo Ġ= Ġportfolio Repo Impl ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Dispatch ers (): ĠDispatcher Provider Ġ= Ġobject Ġ: ĠDispatcher Provider Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġmain : ĠCor outine Dispatcher ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠDispatch ers . Main ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġio : ĠCor outine Dispatcher ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠDispatch ers . IO ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġdefault : ĠCor outine Dispatcher ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠDispatch ers . Default ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġun conf ined : ĠCor outine Dispatcher ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠDispatch ers . Un conf ined ĊĠĠĠ Ġ} Ċ } Ċ