Skip to content

Commit 61dc248

Browse files
committed
Restructure responses
1 parent 241a436 commit 61dc248

28 files changed

+106
-129
lines changed

etherscanapi/src/main/java/jfyg/network/NetworkService.kt

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
package jfyg.network
22

33
import io.reactivex.Single
4-
import jfyg.network.response.account.AccountBalanceResponse
5-
import jfyg.network.response.account.AccountBlockResponse
6-
import jfyg.network.response.account.ERC20Response
7-
import jfyg.network.response.account.AccountInternalTxResponse
8-
import jfyg.network.response.account.AccountMultiBalanceResponse
9-
import jfyg.network.response.account.AccountTxResponse
10-
import jfyg.network.response.block.BlockResponse
11-
import jfyg.network.response.contract.ContractResponse
12-
import jfyg.network.response.stat.StatPriceResponse
13-
import jfyg.network.response.stat.StatSupplyResponse
14-
import jfyg.network.response.transaction.TxContractExecutionResponse
15-
import jfyg.network.response.transaction.TxContractReceiptResponse
4+
import jfyg.network.response.AccountBalanceResponse
5+
import jfyg.network.response.AccountBlockResponse
6+
import jfyg.network.response.ERC20Response
7+
import jfyg.network.response.AccountInternalTxResponse
8+
import jfyg.network.response.AccountMultiBalanceResponse
9+
import jfyg.network.response.AccountTxResponse
10+
import jfyg.network.response.BlockResponse
11+
import jfyg.network.response.ContractResponse
12+
import jfyg.network.response.StatPriceResponse
13+
import jfyg.network.response.StatSupplyResponse
14+
import jfyg.network.response.TxContractExecutionResponse
15+
import jfyg.network.response.TxContractReceiptResponse
1616
import retrofit2.http.GET
1717
import retrofit2.http.Query
1818

etherscanapi/src/main/java/jfyg/network/queries/AccountsApi.kt

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package jfyg.network.queries
22

33
import io.reactivex.Single
4-
import jfyg.network.response.account.AccountBalanceResponse
5-
import jfyg.network.response.account.AccountBlockResponse
6-
import jfyg.network.response.account.ERC20Response
7-
import jfyg.network.response.account.AccountInternalTxResponse
8-
import jfyg.network.response.account.AccountMultiBalanceResponse
9-
import jfyg.network.response.account.AccountTxResponse
4+
import jfyg.network.response.AccountBalanceResponse
5+
import jfyg.network.response.AccountBlockResponse
6+
import jfyg.network.response.ERC20Response
7+
import jfyg.network.response.AccountInternalTxResponse
8+
import jfyg.network.response.AccountMultiBalanceResponse
9+
import jfyg.network.response.AccountTxResponse
1010

1111
/**
1212
* https://etherscan.io/apis#accounts

etherscanapi/src/main/java/jfyg/network/queries/ApiQuery.kt

+12-12
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@ package jfyg.network.queries
33
import io.reactivex.Single
44
import jfyg.ApiKey
55
import jfyg.network.RestClient
6-
import jfyg.network.response.account.AccountBalanceResponse
7-
import jfyg.network.response.account.AccountBlockResponse
8-
import jfyg.network.response.account.ERC20Response
9-
import jfyg.network.response.account.AccountInternalTxResponse
10-
import jfyg.network.response.account.AccountMultiBalanceResponse
11-
import jfyg.network.response.account.AccountTxResponse
12-
import jfyg.network.response.block.BlockResponse
13-
import jfyg.network.response.contract.ContractResponse
14-
import jfyg.network.response.stat.StatPriceResponse
15-
import jfyg.network.response.stat.StatSupplyResponse
16-
import jfyg.network.response.transaction.TxContractExecutionResponse
17-
import jfyg.network.response.transaction.TxContractReceiptResponse
6+
import jfyg.network.response.AccountBalanceResponse
7+
import jfyg.network.response.AccountBlockResponse
8+
import jfyg.network.response.ERC20Response
9+
import jfyg.network.response.AccountInternalTxResponse
10+
import jfyg.network.response.AccountMultiBalanceResponse
11+
import jfyg.network.response.AccountTxResponse
12+
import jfyg.network.response.BlockResponse
13+
import jfyg.network.response.ContractResponse
14+
import jfyg.network.response.StatPriceResponse
15+
import jfyg.network.response.StatSupplyResponse
16+
import jfyg.network.response.TxContractExecutionResponse
17+
import jfyg.network.response.TxContractReceiptResponse
1818

1919
/**
2020
* A mediator between the responses and errors that come from every query

etherscanapi/src/main/java/jfyg/network/queries/BlocksApi.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package jfyg.network.queries
22

33
import io.reactivex.Single
4-
import jfyg.network.response.block.BlockResponse
4+
import jfyg.network.response.BlockResponse
55

66
/**
77
* https://etherscan.io/apis#blocks

etherscanapi/src/main/java/jfyg/network/queries/ContractsApi.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package jfyg.network.queries
22

33
import io.reactivex.Single
4-
import jfyg.network.response.contract.ContractResponse
4+
import jfyg.network.response.ContractResponse
55

66
/**
77
* Newly verified Contracts are synced to the API servers within 5 minutes or less

etherscanapi/src/main/java/jfyg/network/queries/StatsApi.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package jfyg.network.queries
22

33
import io.reactivex.Single
4-
import jfyg.network.response.stat.StatPriceResponse
5-
import jfyg.network.response.stat.StatSupplyResponse
4+
import jfyg.network.response.StatPriceResponse
5+
import jfyg.network.response.StatSupplyResponse
66

77
internal interface StatsApi {
88

etherscanapi/src/main/java/jfyg/network/queries/TransactionsApi.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package jfyg.network.queries
22

33
import io.reactivex.Single
4-
import jfyg.network.response.transaction.TxContractExecutionResponse
5-
import jfyg.network.response.transaction.TxContractReceiptResponse
4+
import jfyg.network.response.TxContractExecutionResponse
5+
import jfyg.network.response.TxContractReceiptResponse
66

77
/**
88
* https://etherscan.io/apis#transactions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package jfyg.network.response
2+
3+
import jfyg.data.*
4+
5+
/**
6+
* Balance of Ether existing in an account
7+
*/
8+
internal data class AccountBalanceResponse(val result: String? = null) : BaseResponse()
9+
10+
/**
11+
* Blocks mined by an account
12+
*/
13+
internal data class AccountBlockResponse(val result: List<BlockAccount>? = null) : BaseResponse()
14+
15+
/**
16+
* Internal Transactions recorded by an account
17+
*/
18+
internal class AccountInternalTxResponse(val result: List<TxsInternal>? = null) : BaseResponse()
19+
20+
/**
21+
* Balances of multiple accounts
22+
*/
23+
internal data class AccountMultiBalanceResponse(val result: List<Balance>? = null)
24+
25+
/**
26+
* Transactions recorded by an account
27+
*/
28+
internal data class AccountTxResponse(val result: List<Tx>? = null) : BaseResponse()
29+
30+
/**
31+
* ERC20 Transactions recorded by an account
32+
*/
33+
internal class ERC20Response(val result: List<ERC20Token>? = null) : BaseResponse()

etherscanapi/src/main/java/jfyg/network/response/block/BlockResponse.kt renamed to etherscanapi/src/main/java/jfyg/network/response/BlockResponse.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package jfyg.network.response.block
1+
package jfyg.network.response
22

33
import jfyg.data.BlockMined
44
import jfyg.network.response.BaseResponse

etherscanapi/src/main/java/jfyg/network/response/contract/ContractResponse.kt renamed to etherscanapi/src/main/java/jfyg/network/response/ContractResponse.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package jfyg.network.response.contract
1+
package jfyg.network.response
22

33
import jfyg.network.response.BaseResponse
44

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package jfyg.network.response
2+
3+
import jfyg.data.StatPrice
4+
import jfyg.network.response.BaseResponse
5+
6+
/**
7+
* Response for stat
8+
*/
9+
internal data class StatPriceResponse(val result: StatPrice? = null) : BaseResponse()
10+
11+
/**
12+
* Response for total supply of ether
13+
*/
14+
internal data class StatSupplyResponse(val result: String? = null)
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
package jfyg.network.response.transaction
1+
package jfyg.network.response
22

33
import jfyg.data.TxExecutionStatus
4+
import jfyg.data.TxReceiptStatus
45
import jfyg.network.response.BaseResponse
56

7+
/**
8+
* Check contract receipt status
9+
*/
10+
internal data class TxContractReceiptResponse(val result: TxReceiptStatus) : BaseResponse()
11+
612
/**
713
* Check contract execution status
814
*/

etherscanapi/src/main/java/jfyg/network/response/account/AccountBalanceResponse.kt

-8
This file was deleted.

etherscanapi/src/main/java/jfyg/network/response/account/AccountBlockResponse.kt

-9
This file was deleted.

etherscanapi/src/main/java/jfyg/network/response/account/AccountInternalTxResponse.kt

-9
This file was deleted.

etherscanapi/src/main/java/jfyg/network/response/account/AccountMultiBalanceResponse.kt

-8
This file was deleted.

etherscanapi/src/main/java/jfyg/network/response/account/AccountTxResponse.kt

-9
This file was deleted.

etherscanapi/src/main/java/jfyg/network/response/account/ERC20Response.kt

-9
This file was deleted.

etherscanapi/src/main/java/jfyg/network/response/stat/StatPriceResponse.kt

-9
This file was deleted.

etherscanapi/src/main/java/jfyg/network/response/stat/StatSupplyResponse.kt

-6
This file was deleted.

etherscanapi/src/main/java/jfyg/network/response/transaction/TxContractReceiptResponse.kt

-9
This file was deleted.

etherscanapi/src/main/java/jfyg/utils/QueryUtils.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ internal fun retrieveList(listItems: List<String>?): String {
88
var getList = ""
99

1010
for (item in listItems!!) {
11-
getList += item + ","
11+
getList += "$item,"
1212
}
1313

1414
return getList.dropLast(1)

etherscanapi/src/test/java/jfyg/data/account/AccountsTest.kt

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ package jfyg.data.account
33
import com.google.gson.Gson
44
import com.google.gson.GsonBuilder
55
import jfyg.network.response.BaseResponse
6-
import jfyg.network.response.account.AccountBalanceResponse
7-
import jfyg.network.response.account.AccountBlockResponse
8-
import jfyg.network.response.account.AccountInternalTxResponse
9-
import jfyg.network.response.account.AccountMultiBalanceResponse
10-
import jfyg.network.response.account.AccountTxResponse
11-
import jfyg.network.response.account.ERC20Response
6+
import jfyg.network.response.AccountBalanceResponse
7+
import jfyg.network.response.AccountBlockResponse
8+
import jfyg.network.response.AccountInternalTxResponse
9+
import jfyg.network.response.AccountMultiBalanceResponse
10+
import jfyg.network.response.AccountTxResponse
11+
import jfyg.network.response.ERC20Response
1212
import org.junit.Assert.assertEquals
1313
import org.junit.Assert
1414
import org.junit.Before

etherscanapi/src/test/java/jfyg/data/block/BlocksTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package jfyg.data.block
22

33
import com.google.gson.Gson
44
import com.google.gson.GsonBuilder
5-
import jfyg.network.response.block.BlockResponse
5+
import jfyg.network.response.BlockResponse
66
import org.junit.Test
77

88
import org.junit.Assert.*

etherscanapi/src/test/java/jfyg/data/contract/ContractsTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package jfyg.data.contract
33
import com.google.gson.Gson
44
import com.google.gson.GsonBuilder
55
import jfyg.network.response.BaseResponse
6-
import jfyg.network.response.contract.ContractResponse
6+
import jfyg.network.response.ContractResponse
77
import org.junit.Assert
88
import org.junit.Test
99

etherscanapi/src/test/java/jfyg/data/stat/StatsTest.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package jfyg.data.stat
33
import com.google.gson.Gson
44
import com.google.gson.GsonBuilder
55
import jfyg.network.response.BaseResponse
6-
import jfyg.network.response.stat.StatPriceResponse
7-
import jfyg.network.response.stat.StatSupplyResponse
6+
import jfyg.network.response.StatPriceResponse
7+
import jfyg.network.response.StatSupplyResponse
88
import org.junit.Before
99
import org.junit.Test
1010
import org.junit.Assert.assertEquals

etherscanapi/src/test/java/jfyg/data/transaction/TransactionsTest.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package jfyg.data.transaction
33
import com.google.gson.Gson
44
import com.google.gson.GsonBuilder
55
import jfyg.network.response.BaseResponse
6-
import jfyg.network.response.transaction.TxContractExecutionResponse
7-
import jfyg.network.response.transaction.TxContractReceiptResponse
6+
import jfyg.network.response.TxContractExecutionResponse
7+
import jfyg.network.response.TxContractReceiptResponse
88
import org.junit.Assert
99
import org.junit.Test
1010

etherscanapi/src/test/java/jfyg/utils/QueryUtilsTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ internal class QueryUtilsTest {
1414
"0x198ef1ec325a96cc354c7266a038be8b5c558f67")
1515

1616
for (addresses in listItems) {
17-
getList += addresses + ","
17+
getList += "$addresses,"
1818
}
1919

2020
Assert.assertEquals("0x82e4499D4b2A669831a3881d61BB24f7b620c61a," +

0 commit comments

Comments
 (0)