diff --git a/app/src/main/java/jfyg/etherscan/helloetherescan/MainActivity.kt b/app/src/main/java/jfyg/etherscan/helloetherescan/MainActivity.kt index 6f7a3f3..71abc28 100644 --- a/app/src/main/java/jfyg/etherscan/helloetherescan/MainActivity.kt +++ b/app/src/main/java/jfyg/etherscan/helloetherescan/MainActivity.kt @@ -5,10 +5,10 @@ import android.support.v7.app.AppCompatActivity import android.util.Log import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.rxkotlin.subscribeBy -import jfyg.account.Account -import jfyg.contract.ContractABI -import jfyg.stat.Stat -import jfyg.transaction.TxContractStatus +import jfyg.data.account.Account +import jfyg.data.contract.ContractABI +import jfyg.data.stat.Stat +import jfyg.data.transaction.TxContractStatus import kotlinx.android.synthetic.main.activity_main.* @@ -30,7 +30,8 @@ class MainActivity : AppCompatActivity() { fab.setOnClickListener { //stat test - stat.getLastPriceInBtc().observeOn(AndroidSchedulers.mainThread()) + stat.getLastPriceInBtc() + .observeOn(AndroidSchedulers.mainThread()) ?.subscribeBy { Log.d(TAG, "The current price of Ether in Btc: $it") } diff --git a/etherscanapi/src/main/java/jfyg/model/Balances.kt b/etherscanapi/src/main/java/jfyg/data/Balances.kt similarity index 83% rename from etherscanapi/src/main/java/jfyg/model/Balances.kt rename to etherscanapi/src/main/java/jfyg/data/Balances.kt index f8cd73a..1c29627 100644 --- a/etherscanapi/src/main/java/jfyg/model/Balances.kt +++ b/etherscanapi/src/main/java/jfyg/data/Balances.kt @@ -1,4 +1,4 @@ -package jfyg.model +package jfyg.data data class Balances(var account: String? = null, diff --git a/etherscanapi/src/main/java/jfyg/model/Blocks.kt b/etherscanapi/src/main/java/jfyg/data/Blocks.kt similarity index 88% rename from etherscanapi/src/main/java/jfyg/model/Blocks.kt rename to etherscanapi/src/main/java/jfyg/data/Blocks.kt index e027653..179e29f 100644 --- a/etherscanapi/src/main/java/jfyg/model/Blocks.kt +++ b/etherscanapi/src/main/java/jfyg/data/Blocks.kt @@ -1,4 +1,4 @@ -package jfyg.model +package jfyg.data data class Blocks(var blockNumber: String? = null, diff --git a/etherscanapi/src/main/java/jfyg/model/StatPrice.kt b/etherscanapi/src/main/java/jfyg/data/StatPrice.kt similarity index 96% rename from etherscanapi/src/main/java/jfyg/model/StatPrice.kt rename to etherscanapi/src/main/java/jfyg/data/StatPrice.kt index 7b20eab..73a1ed6 100644 --- a/etherscanapi/src/main/java/jfyg/model/StatPrice.kt +++ b/etherscanapi/src/main/java/jfyg/data/StatPrice.kt @@ -1,4 +1,4 @@ -package jfyg.model +package jfyg.data import com.google.gson.annotations.SerializedName diff --git a/etherscanapi/src/main/java/jfyg/model/TxExecutionStatus.kt b/etherscanapi/src/main/java/jfyg/data/TxExecutionStatus.kt similarity index 86% rename from etherscanapi/src/main/java/jfyg/model/TxExecutionStatus.kt rename to etherscanapi/src/main/java/jfyg/data/TxExecutionStatus.kt index 3d13f01..c3af9bf 100644 --- a/etherscanapi/src/main/java/jfyg/model/TxExecutionStatus.kt +++ b/etherscanapi/src/main/java/jfyg/data/TxExecutionStatus.kt @@ -1,4 +1,4 @@ -package jfyg.model +package jfyg.data data class TxExecutionStatus(var isError: String? = null, diff --git a/etherscanapi/src/main/java/jfyg/model/TxReceiptStatus.kt b/etherscanapi/src/main/java/jfyg/data/TxReceiptStatus.kt similarity index 74% rename from etherscanapi/src/main/java/jfyg/model/TxReceiptStatus.kt rename to etherscanapi/src/main/java/jfyg/data/TxReceiptStatus.kt index df531ec..8df486d 100644 --- a/etherscanapi/src/main/java/jfyg/model/TxReceiptStatus.kt +++ b/etherscanapi/src/main/java/jfyg/data/TxReceiptStatus.kt @@ -1,3 +1,3 @@ -package jfyg.model +package jfyg.data data class TxReceiptStatus(var status: String? = null) \ No newline at end of file diff --git a/etherscanapi/src/main/java/jfyg/model/Txs.kt b/etherscanapi/src/main/java/jfyg/data/Txs.kt similarity index 98% rename from etherscanapi/src/main/java/jfyg/model/Txs.kt rename to etherscanapi/src/main/java/jfyg/data/Txs.kt index d97bc24..ab9edc2 100644 --- a/etherscanapi/src/main/java/jfyg/model/Txs.kt +++ b/etherscanapi/src/main/java/jfyg/data/Txs.kt @@ -1,4 +1,4 @@ -package jfyg.model +package jfyg.data import com.google.gson.annotations.SerializedName diff --git a/etherscanapi/src/main/java/jfyg/model/TxsInternal.kt b/etherscanapi/src/main/java/jfyg/data/TxsInternal.kt similarity index 83% rename from etherscanapi/src/main/java/jfyg/model/TxsInternal.kt rename to etherscanapi/src/main/java/jfyg/data/TxsInternal.kt index 83ffd2d..ccb7def 100644 --- a/etherscanapi/src/main/java/jfyg/model/TxsInternal.kt +++ b/etherscanapi/src/main/java/jfyg/data/TxsInternal.kt @@ -1,4 +1,4 @@ -package jfyg.model +package jfyg.data import com.google.gson.annotations.SerializedName @@ -9,10 +9,10 @@ data class TxsInternal(var blockNumber: String? = null, var hash: String? = null, @SerializedName("from") - var transactionFrom: String? = null, + var transactionFrom: String? = null, @SerializedName("to") - var transactionTo: String? = null, + var transactionTo: String? = null, var value: String? = null, diff --git a/etherscanapi/src/main/java/jfyg/account/Account.kt b/etherscanapi/src/main/java/jfyg/data/account/Account.kt similarity index 88% rename from etherscanapi/src/main/java/jfyg/account/Account.kt rename to etherscanapi/src/main/java/jfyg/data/account/Account.kt index 0dda83d..ca2de67 100644 --- a/etherscanapi/src/main/java/jfyg/account/Account.kt +++ b/etherscanapi/src/main/java/jfyg/data/account/Account.kt @@ -1,11 +1,11 @@ -package jfyg.account +package jfyg.data.account import io.reactivex.Single -import jfyg.model.Balances -import jfyg.model.Blocks -import jfyg.model.Txs -import jfyg.model.TxsInternal -import jfyg.queries.QueryMediator +import jfyg.data.Balances +import jfyg.data.Blocks +import jfyg.data.Txs +import jfyg.data.TxsInternal +import jfyg.network.queries.ApiQuery import jfyg.utils.QueryUtils /** @@ -13,14 +13,12 @@ import jfyg.utils.QueryUtils */ class Account : AccountContract { - private val query = QueryMediator() + private val query = ApiQuery() private val genericNetworkQuery = query.accountBalance("account", "balance", "0x82e4499D4b2A669831a3881d61BB24f7b620c61a", "latest") - private val queryUtil = QueryUtils() - /** * Return account balance */ @@ -36,7 +34,7 @@ class Account : AccountContract { override fun getMultiBalance(addresses: ArrayList?): Single> = query.accountMultiBalance("account", "balancemulti", - queryUtil.retrieveList(addresses), + QueryUtils.retrieveList(addresses), "latest").map { it.result } /** diff --git a/etherscanapi/src/main/java/jfyg/account/AccountContract.kt b/etherscanapi/src/main/java/jfyg/data/account/AccountContract.kt similarity index 88% rename from etherscanapi/src/main/java/jfyg/account/AccountContract.kt rename to etherscanapi/src/main/java/jfyg/data/account/AccountContract.kt index 3d2c9ea..b4f0288 100644 --- a/etherscanapi/src/main/java/jfyg/account/AccountContract.kt +++ b/etherscanapi/src/main/java/jfyg/data/account/AccountContract.kt @@ -1,10 +1,10 @@ -package jfyg.account +package jfyg.data.account import io.reactivex.Single -import jfyg.model.Balances -import jfyg.model.Blocks -import jfyg.model.Txs -import jfyg.model.TxsInternal +import jfyg.data.Balances +import jfyg.data.Blocks +import jfyg.data.Txs +import jfyg.data.TxsInternal /** * https://etherscan.io/apis#accounts diff --git a/etherscanapi/src/main/java/jfyg/contract/ContractABI.kt b/etherscanapi/src/main/java/jfyg/data/contract/ContractABI.kt similarity index 89% rename from etherscanapi/src/main/java/jfyg/contract/ContractABI.kt rename to etherscanapi/src/main/java/jfyg/data/contract/ContractABI.kt index 6e33a06..dd9cbaa 100644 --- a/etherscanapi/src/main/java/jfyg/contract/ContractABI.kt +++ b/etherscanapi/src/main/java/jfyg/data/contract/ContractABI.kt @@ -1,14 +1,15 @@ -package jfyg.contract +package jfyg.data.contract import io.reactivex.Single -import jfyg.queries.QueryMediator +import jfyg.network.queries.ApiQuery /** * Newly verified Contracts are synced to the API servers within 5 minutes or less * https://etherscan.io/apis#contracts */ class ContractABI : ContractABIContract { - private val query = QueryMediator() + + private val query = ApiQuery() private val abiQuery = query.contractABI("contract", "getabi", "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413") diff --git a/etherscanapi/src/main/java/jfyg/contract/ContractABIContract.kt b/etherscanapi/src/main/java/jfyg/data/contract/ContractABIContract.kt similarity index 95% rename from etherscanapi/src/main/java/jfyg/contract/ContractABIContract.kt rename to etherscanapi/src/main/java/jfyg/data/contract/ContractABIContract.kt index 195c93f..a444e78 100644 --- a/etherscanapi/src/main/java/jfyg/contract/ContractABIContract.kt +++ b/etherscanapi/src/main/java/jfyg/data/contract/ContractABIContract.kt @@ -1,4 +1,4 @@ -package jfyg.contract +package jfyg.data.contract import io.reactivex.Single diff --git a/etherscanapi/src/main/java/jfyg/stat/Stat.kt b/etherscanapi/src/main/java/jfyg/data/stat/Stat.kt similarity index 94% rename from etherscanapi/src/main/java/jfyg/stat/Stat.kt rename to etherscanapi/src/main/java/jfyg/data/stat/Stat.kt index d39954b..d75f0c0 100644 --- a/etherscanapi/src/main/java/jfyg/stat/Stat.kt +++ b/etherscanapi/src/main/java/jfyg/data/stat/Stat.kt @@ -1,14 +1,14 @@ -package jfyg.stat +package jfyg.data.stat import io.reactivex.Single -import jfyg.queries.QueryMediator +import jfyg.network.queries.ApiQuery /** * https://etherscan.io/apis#stats */ class Stat : StatContract { - private val query = QueryMediator() + private val query = ApiQuery() private val supplyQuery = query.statSupply("stats", "ethsupply") private val priceQuery = query.statPrice("stats", "ethprice") diff --git a/etherscanapi/src/main/java/jfyg/stat/StatContract.kt b/etherscanapi/src/main/java/jfyg/data/stat/StatContract.kt similarity index 97% rename from etherscanapi/src/main/java/jfyg/stat/StatContract.kt rename to etherscanapi/src/main/java/jfyg/data/stat/StatContract.kt index 67c5b22..41fbafe 100644 --- a/etherscanapi/src/main/java/jfyg/stat/StatContract.kt +++ b/etherscanapi/src/main/java/jfyg/data/stat/StatContract.kt @@ -1,4 +1,4 @@ -package jfyg.stat +package jfyg.data.stat import io.reactivex.Single diff --git a/etherscanapi/src/main/java/jfyg/transaction/TxContract.kt b/etherscanapi/src/main/java/jfyg/data/transaction/TxContract.kt similarity index 89% rename from etherscanapi/src/main/java/jfyg/transaction/TxContract.kt rename to etherscanapi/src/main/java/jfyg/data/transaction/TxContract.kt index 6ca1d11..9b104d4 100644 --- a/etherscanapi/src/main/java/jfyg/transaction/TxContract.kt +++ b/etherscanapi/src/main/java/jfyg/data/transaction/TxContract.kt @@ -1,8 +1,8 @@ -package jfyg.transaction +package jfyg.data.transaction import io.reactivex.Single -import jfyg.model.TxExecutionStatus -import jfyg.model.TxReceiptStatus +import jfyg.data.TxExecutionStatus +import jfyg.data.TxReceiptStatus /** * https://etherscan.io/apis#transactions diff --git a/etherscanapi/src/main/java/jfyg/transaction/TxContractStatus.kt b/etherscanapi/src/main/java/jfyg/data/transaction/TxContractStatus.kt similarity index 89% rename from etherscanapi/src/main/java/jfyg/transaction/TxContractStatus.kt rename to etherscanapi/src/main/java/jfyg/data/transaction/TxContractStatus.kt index 7bb5c78..f24090f 100644 --- a/etherscanapi/src/main/java/jfyg/transaction/TxContractStatus.kt +++ b/etherscanapi/src/main/java/jfyg/data/transaction/TxContractStatus.kt @@ -1,16 +1,16 @@ -package jfyg.transaction +package jfyg.data.transaction import io.reactivex.Single -import jfyg.model.TxExecutionStatus -import jfyg.model.TxReceiptStatus -import jfyg.queries.QueryMediator +import jfyg.data.TxExecutionStatus +import jfyg.data.TxReceiptStatus +import jfyg.network.queries.ApiQuery /** * https://etherscan.io/apis#transactions */ class TxContractStatus : TxContract { - private val query = QueryMediator() + private val query = ApiQuery() private val genericNetworkQuery = query.txReceiptStatus("transaction", "getstatus", "0x15f8e5ea1079d9a0bb04a4c58ae5fe7654b5b2b4463375ff7ffb490aa0032f3a") diff --git a/etherscanapi/src/main/java/jfyg/network/NetworkService.kt b/etherscanapi/src/main/java/jfyg/network/NetworkService.kt index 7492122..965ff66 100644 --- a/etherscanapi/src/main/java/jfyg/network/NetworkService.kt +++ b/etherscanapi/src/main/java/jfyg/network/NetworkService.kt @@ -1,21 +1,21 @@ package jfyg.network import io.reactivex.Single -import jfyg.response.account.AccountBalanceResponse -import jfyg.response.account.AccountBlockResponse -import jfyg.response.account.AccountInternalTxResponse -import jfyg.response.account.AccountMultiBalanceResponse -import jfyg.response.account.AccountTxResponse -import jfyg.response.contract.ContractABIResponse -import jfyg.response.stat.StatPriceResponse -import jfyg.response.stat.StatSupplyResponse -import jfyg.response.transaction.TxContractExecutionResponse -import jfyg.response.transaction.TxContractReceiptResponse +import jfyg.network.response.account.AccountBalanceResponse +import jfyg.network.response.account.AccountBlockResponse +import jfyg.network.response.account.AccountInternalTxResponse +import jfyg.network.response.account.AccountMultiBalanceResponse +import jfyg.network.response.account.AccountTxResponse +import jfyg.network.response.contract.ContractABIResponse +import jfyg.network.response.stat.StatPriceResponse +import jfyg.network.response.stat.StatSupplyResponse +import jfyg.network.response.transaction.TxContractExecutionResponse +import jfyg.network.response.transaction.TxContractReceiptResponse import retrofit2.http.GET import retrofit2.http.Query /** - * Etherscan request endpoints + * Etherscan request service */ internal interface NetworkService { diff --git a/etherscanapi/src/main/java/jfyg/network/RestClient.kt b/etherscanapi/src/main/java/jfyg/network/RestClient.kt index 9ec6aa5..b726a0c 100644 --- a/etherscanapi/src/main/java/jfyg/network/RestClient.kt +++ b/etherscanapi/src/main/java/jfyg/network/RestClient.kt @@ -5,13 +5,14 @@ import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory import retrofit2.converter.gson.GsonConverterFactory import com.google.gson.GsonBuilder import io.reactivex.schedulers.Schedulers +import jfyg.utils.Const /** * Client used to create the network call */ internal class RestClient { - private var baseUrl: String = "http://api.etherscan.io/" + private var baseUrl: String = Const.BASE_URL private var networkService: NetworkService init { diff --git a/etherscanapi/src/main/java/jfyg/queries/AccountQueries.kt b/etherscanapi/src/main/java/jfyg/network/queries/AccountApi.kt similarity index 81% rename from etherscanapi/src/main/java/jfyg/queries/AccountQueries.kt rename to etherscanapi/src/main/java/jfyg/network/queries/AccountApi.kt index 0987e41..9896fac 100644 --- a/etherscanapi/src/main/java/jfyg/queries/AccountQueries.kt +++ b/etherscanapi/src/main/java/jfyg/network/queries/AccountApi.kt @@ -1,13 +1,13 @@ -package jfyg.queries +package jfyg.network.queries import io.reactivex.Single -import jfyg.response.account.AccountBalanceResponse -import jfyg.response.account.AccountBlockResponse -import jfyg.response.account.AccountInternalTxResponse -import jfyg.response.account.AccountMultiBalanceResponse -import jfyg.response.account.AccountTxResponse +import jfyg.network.response.account.AccountBalanceResponse +import jfyg.network.response.account.AccountBlockResponse +import jfyg.network.response.account.AccountInternalTxResponse +import jfyg.network.response.account.AccountMultiBalanceResponse +import jfyg.network.response.account.AccountTxResponse -internal interface AccountQueries { +internal interface AccountApi { /** * Get ether balance for a single address diff --git a/etherscanapi/src/main/java/jfyg/queries/QueryMediator.kt b/etherscanapi/src/main/java/jfyg/network/queries/ApiQuery.kt similarity index 83% rename from etherscanapi/src/main/java/jfyg/queries/QueryMediator.kt rename to etherscanapi/src/main/java/jfyg/network/queries/ApiQuery.kt index 90673c3..6fed24a 100644 --- a/etherscanapi/src/main/java/jfyg/queries/QueryMediator.kt +++ b/etherscanapi/src/main/java/jfyg/network/queries/ApiQuery.kt @@ -1,23 +1,23 @@ -package jfyg.queries +package jfyg.network.queries import io.reactivex.Single import jfyg.ApiKey import jfyg.network.RestClient -import jfyg.response.account.AccountBalanceResponse -import jfyg.response.account.AccountBlockResponse -import jfyg.response.account.AccountInternalTxResponse -import jfyg.response.account.AccountMultiBalanceResponse -import jfyg.response.account.AccountTxResponse -import jfyg.response.contract.ContractABIResponse -import jfyg.response.stat.StatPriceResponse -import jfyg.response.stat.StatSupplyResponse -import jfyg.response.transaction.TxContractExecutionResponse -import jfyg.response.transaction.TxContractReceiptResponse +import jfyg.network.response.account.AccountBalanceResponse +import jfyg.network.response.account.AccountBlockResponse +import jfyg.network.response.account.AccountInternalTxResponse +import jfyg.network.response.account.AccountMultiBalanceResponse +import jfyg.network.response.account.AccountTxResponse +import jfyg.network.response.contract.ContractABIResponse +import jfyg.network.response.stat.StatPriceResponse +import jfyg.network.response.stat.StatSupplyResponse +import jfyg.network.response.transaction.TxContractExecutionResponse +import jfyg.network.response.transaction.TxContractReceiptResponse /** * A mediator between the responses and errors that come from every query */ -internal class QueryMediator : AccountQueries, StatQueries, ContractABIQueries, TxQueries { +internal class ApiQuery : AccountApi, StatApi, ContractABIApi, TxApi { override fun accountBalance(module: String?, diff --git a/etherscanapi/src/main/java/jfyg/queries/ContractABIQueries.kt b/etherscanapi/src/main/java/jfyg/network/queries/ContractABIApi.kt similarity index 66% rename from etherscanapi/src/main/java/jfyg/queries/ContractABIQueries.kt rename to etherscanapi/src/main/java/jfyg/network/queries/ContractABIApi.kt index ce14f7a..a50fe9c 100644 --- a/etherscanapi/src/main/java/jfyg/queries/ContractABIQueries.kt +++ b/etherscanapi/src/main/java/jfyg/network/queries/ContractABIApi.kt @@ -1,9 +1,9 @@ -package jfyg.queries +package jfyg.network.queries import io.reactivex.Single -import jfyg.response.contract.ContractABIResponse +import jfyg.network.response.contract.ContractABIResponse -internal interface ContractABIQueries { +internal interface ContractABIApi { /** * Get ABI for a contracts from a given address diff --git a/etherscanapi/src/main/java/jfyg/queries/StatQueries.kt b/etherscanapi/src/main/java/jfyg/network/queries/StatApi.kt similarity index 63% rename from etherscanapi/src/main/java/jfyg/queries/StatQueries.kt rename to etherscanapi/src/main/java/jfyg/network/queries/StatApi.kt index 37563cd..0c0c9dc 100644 --- a/etherscanapi/src/main/java/jfyg/queries/StatQueries.kt +++ b/etherscanapi/src/main/java/jfyg/network/queries/StatApi.kt @@ -1,10 +1,10 @@ -package jfyg.queries +package jfyg.network.queries import io.reactivex.Single -import jfyg.response.stat.StatPriceResponse -import jfyg.response.stat.StatSupplyResponse +import jfyg.network.response.stat.StatPriceResponse +import jfyg.network.response.stat.StatSupplyResponse -internal interface StatQueries { +internal interface StatApi { /** * Get ether last price diff --git a/etherscanapi/src/main/java/jfyg/queries/TxQueries.kt b/etherscanapi/src/main/java/jfyg/network/queries/TxApi.kt similarity index 70% rename from etherscanapi/src/main/java/jfyg/queries/TxQueries.kt rename to etherscanapi/src/main/java/jfyg/network/queries/TxApi.kt index fbcf6b5..c5685ba 100644 --- a/etherscanapi/src/main/java/jfyg/queries/TxQueries.kt +++ b/etherscanapi/src/main/java/jfyg/network/queries/TxApi.kt @@ -1,10 +1,10 @@ -package jfyg.queries +package jfyg.network.queries import io.reactivex.Single -import jfyg.response.transaction.TxContractExecutionResponse -import jfyg.response.transaction.TxContractReceiptResponse +import jfyg.network.response.transaction.TxContractExecutionResponse +import jfyg.network.response.transaction.TxContractReceiptResponse -internal interface TxQueries { +internal interface TxApi { /** * Check contract execution status diff --git a/etherscanapi/src/main/java/jfyg/response/BaseResponse.kt b/etherscanapi/src/main/java/jfyg/network/response/BaseResponse.kt similarity index 84% rename from etherscanapi/src/main/java/jfyg/response/BaseResponse.kt rename to etherscanapi/src/main/java/jfyg/network/response/BaseResponse.kt index b147dd9..f8d93ec 100644 --- a/etherscanapi/src/main/java/jfyg/response/BaseResponse.kt +++ b/etherscanapi/src/main/java/jfyg/network/response/BaseResponse.kt @@ -1,4 +1,4 @@ -package jfyg.response +package jfyg.network.response /** * Base response that all queries will utilize diff --git a/etherscanapi/src/main/java/jfyg/response/account/AccountBalanceResponse.kt b/etherscanapi/src/main/java/jfyg/network/response/account/AccountBalanceResponse.kt similarity index 63% rename from etherscanapi/src/main/java/jfyg/response/account/AccountBalanceResponse.kt rename to etherscanapi/src/main/java/jfyg/network/response/account/AccountBalanceResponse.kt index aec9009..c4e4e87 100644 --- a/etherscanapi/src/main/java/jfyg/response/account/AccountBalanceResponse.kt +++ b/etherscanapi/src/main/java/jfyg/network/response/account/AccountBalanceResponse.kt @@ -1,6 +1,6 @@ -package jfyg.response.account +package jfyg.network.response.account -import jfyg.response.BaseResponse +import jfyg.network.response.BaseResponse /** * Balance of Ether existing in an account diff --git a/etherscanapi/src/main/java/jfyg/response/account/AccountBlockResponse.kt b/etherscanapi/src/main/java/jfyg/network/response/account/AccountBlockResponse.kt similarity index 56% rename from etherscanapi/src/main/java/jfyg/response/account/AccountBlockResponse.kt rename to etherscanapi/src/main/java/jfyg/network/response/account/AccountBlockResponse.kt index f6bf70c..d6d2d4c 100644 --- a/etherscanapi/src/main/java/jfyg/response/account/AccountBlockResponse.kt +++ b/etherscanapi/src/main/java/jfyg/network/response/account/AccountBlockResponse.kt @@ -1,7 +1,7 @@ -package jfyg.response.account +package jfyg.network.response.account -import jfyg.model.Blocks -import jfyg.response.BaseResponse +import jfyg.data.Blocks +import jfyg.network.response.BaseResponse /** * Blocks mined by an account diff --git a/etherscanapi/src/main/java/jfyg/response/account/AccountInternalTxResponse.kt b/etherscanapi/src/main/java/jfyg/network/response/account/AccountInternalTxResponse.kt similarity index 59% rename from etherscanapi/src/main/java/jfyg/response/account/AccountInternalTxResponse.kt rename to etherscanapi/src/main/java/jfyg/network/response/account/AccountInternalTxResponse.kt index 034e585..b52358b 100644 --- a/etherscanapi/src/main/java/jfyg/response/account/AccountInternalTxResponse.kt +++ b/etherscanapi/src/main/java/jfyg/network/response/account/AccountInternalTxResponse.kt @@ -1,7 +1,7 @@ -package jfyg.response.account +package jfyg.network.response.account -import jfyg.model.TxsInternal -import jfyg.response.BaseResponse +import jfyg.data.TxsInternal +import jfyg.network.response.BaseResponse /** * Internal Transactions recorded by an account diff --git a/etherscanapi/src/main/java/jfyg/response/account/AccountMultiBalanceResponse.kt b/etherscanapi/src/main/java/jfyg/network/response/account/AccountMultiBalanceResponse.kt similarity index 67% rename from etherscanapi/src/main/java/jfyg/response/account/AccountMultiBalanceResponse.kt rename to etherscanapi/src/main/java/jfyg/network/response/account/AccountMultiBalanceResponse.kt index e276694..a8a66c3 100644 --- a/etherscanapi/src/main/java/jfyg/response/account/AccountMultiBalanceResponse.kt +++ b/etherscanapi/src/main/java/jfyg/network/response/account/AccountMultiBalanceResponse.kt @@ -1,6 +1,6 @@ -package jfyg.response.account +package jfyg.network.response.account -import jfyg.model.Balances +import jfyg.data.Balances /** * Balances of multiple accounts diff --git a/etherscanapi/src/main/java/jfyg/response/account/AccountTxResponse.kt b/etherscanapi/src/main/java/jfyg/network/response/account/AccountTxResponse.kt similarity index 57% rename from etherscanapi/src/main/java/jfyg/response/account/AccountTxResponse.kt rename to etherscanapi/src/main/java/jfyg/network/response/account/AccountTxResponse.kt index 77c5c93..f6ad5e1 100644 --- a/etherscanapi/src/main/java/jfyg/response/account/AccountTxResponse.kt +++ b/etherscanapi/src/main/java/jfyg/network/response/account/AccountTxResponse.kt @@ -1,7 +1,7 @@ -package jfyg.response.account +package jfyg.network.response.account -import jfyg.model.Txs -import jfyg.response.BaseResponse +import jfyg.data.Txs +import jfyg.network.response.BaseResponse /** * Transactions recorded by an account diff --git a/etherscanapi/src/main/java/jfyg/response/contract/ContractABIResponse.kt b/etherscanapi/src/main/java/jfyg/network/response/contract/ContractABIResponse.kt similarity index 59% rename from etherscanapi/src/main/java/jfyg/response/contract/ContractABIResponse.kt rename to etherscanapi/src/main/java/jfyg/network/response/contract/ContractABIResponse.kt index 5a7ac6c..5c2024f 100644 --- a/etherscanapi/src/main/java/jfyg/response/contract/ContractABIResponse.kt +++ b/etherscanapi/src/main/java/jfyg/network/response/contract/ContractABIResponse.kt @@ -1,6 +1,6 @@ -package jfyg.response.contract +package jfyg.network.response.contract -import jfyg.response.BaseResponse +import jfyg.network.response.BaseResponse /** * Contract ABI encoding diff --git a/etherscanapi/src/main/java/jfyg/response/stat/StatPriceResponse.kt b/etherscanapi/src/main/java/jfyg/network/response/stat/StatPriceResponse.kt similarity index 52% rename from etherscanapi/src/main/java/jfyg/response/stat/StatPriceResponse.kt rename to etherscanapi/src/main/java/jfyg/network/response/stat/StatPriceResponse.kt index 918828e..baa49e0 100644 --- a/etherscanapi/src/main/java/jfyg/response/stat/StatPriceResponse.kt +++ b/etherscanapi/src/main/java/jfyg/network/response/stat/StatPriceResponse.kt @@ -1,7 +1,7 @@ -package jfyg.response.stat +package jfyg.network.response.stat -import jfyg.model.StatPrice -import jfyg.response.BaseResponse +import jfyg.data.StatPrice +import jfyg.network.response.BaseResponse /** * Response for stat diff --git a/etherscanapi/src/main/java/jfyg/response/stat/StatSupplyResponse.kt b/etherscanapi/src/main/java/jfyg/network/response/stat/StatSupplyResponse.kt similarity index 76% rename from etherscanapi/src/main/java/jfyg/response/stat/StatSupplyResponse.kt rename to etherscanapi/src/main/java/jfyg/network/response/stat/StatSupplyResponse.kt index 69f6900..b62297d 100644 --- a/etherscanapi/src/main/java/jfyg/response/stat/StatSupplyResponse.kt +++ b/etherscanapi/src/main/java/jfyg/network/response/stat/StatSupplyResponse.kt @@ -1,4 +1,4 @@ -package jfyg.response.stat +package jfyg.network.response.stat /** * Response for total supply of ether diff --git a/etherscanapi/src/main/java/jfyg/response/transaction/TxContractExecutionResponse.kt b/etherscanapi/src/main/java/jfyg/network/response/transaction/TxContractExecutionResponse.kt similarity index 54% rename from etherscanapi/src/main/java/jfyg/response/transaction/TxContractExecutionResponse.kt rename to etherscanapi/src/main/java/jfyg/network/response/transaction/TxContractExecutionResponse.kt index a57aa78..fc07512 100644 --- a/etherscanapi/src/main/java/jfyg/response/transaction/TxContractExecutionResponse.kt +++ b/etherscanapi/src/main/java/jfyg/network/response/transaction/TxContractExecutionResponse.kt @@ -1,7 +1,7 @@ -package jfyg.response.transaction +package jfyg.network.response.transaction -import jfyg.model.TxExecutionStatus -import jfyg.response.BaseResponse +import jfyg.data.TxExecutionStatus +import jfyg.network.response.BaseResponse /** * Check contract execution status diff --git a/etherscanapi/src/main/java/jfyg/response/transaction/TxContractReceiptResponse.kt b/etherscanapi/src/main/java/jfyg/network/response/transaction/TxContractReceiptResponse.kt similarity index 53% rename from etherscanapi/src/main/java/jfyg/response/transaction/TxContractReceiptResponse.kt rename to etherscanapi/src/main/java/jfyg/network/response/transaction/TxContractReceiptResponse.kt index 826eb93..fbf1719 100644 --- a/etherscanapi/src/main/java/jfyg/response/transaction/TxContractReceiptResponse.kt +++ b/etherscanapi/src/main/java/jfyg/network/response/transaction/TxContractReceiptResponse.kt @@ -1,7 +1,7 @@ -package jfyg.response.transaction +package jfyg.network.response.transaction -import jfyg.model.TxReceiptStatus -import jfyg.response.BaseResponse +import jfyg.data.TxReceiptStatus +import jfyg.network.response.BaseResponse /** * Check contract receipt status diff --git a/etherscanapi/src/main/java/jfyg/utils/Const.kt b/etherscanapi/src/main/java/jfyg/utils/Const.kt new file mode 100644 index 0000000..67cbf46 --- /dev/null +++ b/etherscanapi/src/main/java/jfyg/utils/Const.kt @@ -0,0 +1,10 @@ +package jfyg.utils + +/** + * Constants used throughout the application + */ +class Const { + companion object { + const val BASE_URL = "http://api.etherscan.io/" + } +} \ No newline at end of file diff --git a/etherscanapi/src/main/java/jfyg/utils/QueryUtils.kt b/etherscanapi/src/main/java/jfyg/utils/QueryUtils.kt index c0c1f85..3229ab9 100644 --- a/etherscanapi/src/main/java/jfyg/utils/QueryUtils.kt +++ b/etherscanapi/src/main/java/jfyg/utils/QueryUtils.kt @@ -4,19 +4,21 @@ package jfyg.utils * Utilities that may be used to provide successful Queries */ internal class QueryUtils { + companion object { + /** + * Retrieve a list of mulitple items + */ + fun retrieveList(listItems: ArrayList?): String { - /** - * Retrieve a list of mulitple items - */ - fun retrieveList(listItems: ArrayList?): String { + var getList = "" - var getList = "" + for (item in listItems!!) { + getList += item + "," + } - for (item in listItems!!) { - getList += item + "," + return getList.dropLast(1) } - - return getList.dropLast(1) } + } \ No newline at end of file diff --git a/etherscanapi/src/test/java/jfyg/account/AccountTest.kt b/etherscanapi/src/test/java/jfyg/data/account/AccountTest.kt similarity index 95% rename from etherscanapi/src/test/java/jfyg/account/AccountTest.kt rename to etherscanapi/src/test/java/jfyg/data/account/AccountTest.kt index 3af179d..659c223 100644 --- a/etherscanapi/src/test/java/jfyg/account/AccountTest.kt +++ b/etherscanapi/src/test/java/jfyg/data/account/AccountTest.kt @@ -1,13 +1,13 @@ -package jfyg.account +package jfyg.data.account import com.google.gson.Gson import com.google.gson.GsonBuilder -import jfyg.response.BaseResponse -import jfyg.response.account.AccountBalanceResponse -import jfyg.response.account.AccountBlockResponse -import jfyg.response.account.AccountInternalTxResponse -import jfyg.response.account.AccountMultiBalanceResponse -import jfyg.response.account.AccountTxResponse +import jfyg.network.response.BaseResponse +import jfyg.network.response.account.AccountBalanceResponse +import jfyg.network.response.account.AccountBlockResponse +import jfyg.network.response.account.AccountInternalTxResponse +import jfyg.network.response.account.AccountMultiBalanceResponse +import jfyg.network.response.account.AccountTxResponse import org.junit.Assert.assertEquals import org.junit.Assert import org.junit.Before diff --git a/etherscanapi/src/test/java/jfyg/contract/ContractABITest.kt b/etherscanapi/src/test/java/jfyg/data/contract/ContractABITest.kt similarity index 99% rename from etherscanapi/src/test/java/jfyg/contract/ContractABITest.kt rename to etherscanapi/src/test/java/jfyg/data/contract/ContractABITest.kt index e4301bc..1aebe78 100644 --- a/etherscanapi/src/test/java/jfyg/contract/ContractABITest.kt +++ b/etherscanapi/src/test/java/jfyg/data/contract/ContractABITest.kt @@ -1,9 +1,9 @@ -package jfyg.contract +package jfyg.data.contract import com.google.gson.Gson import com.google.gson.GsonBuilder -import jfyg.response.BaseResponse -import jfyg.response.contract.ContractABIResponse +import jfyg.network.response.BaseResponse +import jfyg.network.response.contract.ContractABIResponse import org.junit.Assert import org.junit.Test diff --git a/etherscanapi/src/test/java/jfyg/stat/StatTest.kt b/etherscanapi/src/test/java/jfyg/data/stat/StatTest.kt similarity index 94% rename from etherscanapi/src/test/java/jfyg/stat/StatTest.kt rename to etherscanapi/src/test/java/jfyg/data/stat/StatTest.kt index befc4ee..77d803a 100644 --- a/etherscanapi/src/test/java/jfyg/stat/StatTest.kt +++ b/etherscanapi/src/test/java/jfyg/data/stat/StatTest.kt @@ -1,10 +1,10 @@ -package jfyg.stat +package jfyg.data.stat import com.google.gson.Gson import com.google.gson.GsonBuilder -import jfyg.response.BaseResponse -import jfyg.response.stat.StatPriceResponse -import jfyg.response.stat.StatSupplyResponse +import jfyg.network.response.BaseResponse +import jfyg.network.response.stat.StatPriceResponse +import jfyg.network.response.stat.StatSupplyResponse import org.junit.Before import org.junit.Test import org.junit.Assert.assertEquals diff --git a/etherscanapi/src/test/java/jfyg/network/RestClientTest.kt b/etherscanapi/src/test/java/jfyg/network/RestClientTest.kt index 630d40c..b895be8 100644 --- a/etherscanapi/src/test/java/jfyg/network/RestClientTest.kt +++ b/etherscanapi/src/test/java/jfyg/network/RestClientTest.kt @@ -2,6 +2,7 @@ package jfyg.network import com.google.gson.GsonBuilder import io.reactivex.schedulers.Schedulers +import jfyg.utils.Const import junit.framework.Assert import okhttp3.mockwebserver.MockResponse import okhttp3.mockwebserver.MockWebServer @@ -17,7 +18,7 @@ import retrofit2.converter.gson.GsonConverterFactory @RunWith(JUnit4::class) internal class RestClientTest { - private var baseUrl: String = "http://api.etherscan.io/" + private var baseUrl: String = Const.BASE_URL private lateinit var mockWebServer: MockWebServer @Before diff --git a/etherscanapi/src/test/java/jfyg/queries/QueryMediatorTest.kt b/etherscanapi/src/test/java/jfyg/network/queries/ApiQueryTest.kt similarity index 93% rename from etherscanapi/src/test/java/jfyg/queries/QueryMediatorTest.kt rename to etherscanapi/src/test/java/jfyg/network/queries/ApiQueryTest.kt index 82e2e80..dcefe47 100644 --- a/etherscanapi/src/test/java/jfyg/queries/QueryMediatorTest.kt +++ b/etherscanapi/src/test/java/jfyg/network/queries/ApiQueryTest.kt @@ -1,8 +1,8 @@ -package jfyg.queries +package jfyg.network.queries import org.junit.Test -internal class QueryMediatorTest { +internal class ApiQueryTest { @Test fun accountBalance() { }