Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit aae1546

Browse files
[1.2.1]
TxInternal equal and toString asserts added [1.2.1] DTO internal fields exposure removed BasicProvider fake adapters registered [1.2.1] Code style fixed [1.2.1] TxInternal#getTraceId return 0 if null
1 parent 1d1aa6f commit aae1546

File tree

11 files changed

+40
-18
lines changed

11 files changed

+40
-18
lines changed

‎src/main/java/io/api/etherscan/core/impl/BasicProvider.java

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
import java.time.LocalDate;
1414
import java.time.LocalDateTime;
15-
import java.time.format.DateTimeFormatter;
1615
import java.util.Map;
1716

1817
/**
@@ -44,21 +43,11 @@ abstract class BasicProvider {
4443
this.baseUrl = baseUrl;
4544
this.executor = executor;
4645
this.gson = new GsonBuilder()
47-
.registerTypeAdapter(LocalDateTime.class,
48-
(JsonSerializer<LocalDateTime>) (src, typeOfSrc, context) -> new JsonPrimitive(
49-
src.format(DateTimeFormatter.ISO_DATE_TIME)))
50-
.registerTypeAdapter(LocalDate.class,
51-
(JsonSerializer<LocalDate>) (src, typeOfSrc,
52-
context) -> new JsonPrimitive(src.format(DateTimeFormatter.ISO_DATE)))
53-
.registerTypeAdapter(LocalDateTime.class, (JsonDeserializer<LocalDateTime>) (json, type, context) -> {
54-
String datetime = json.getAsJsonPrimitive().getAsString();
55-
return LocalDateTime.parse(datetime, DateTimeFormatter.ISO_DATE_TIME);
56-
})
57-
.registerTypeAdapter(LocalDate.class, (JsonDeserializer<LocalDate>) (json, type, context) -> {
58-
String datetime = json.getAsJsonPrimitive().getAsString();
59-
return LocalDate.parse(datetime, DateTimeFormatter.ISO_DATE);
60-
}).create();
61-
46+
.registerTypeAdapter(LocalDateTime.class, (JsonSerializer<LocalDateTime>) (src, t, c) -> new JsonPrimitive(""))
47+
.registerTypeAdapter(LocalDate.class, (JsonSerializer<LocalDate>) (src, t, context) -> new JsonPrimitive(""))
48+
.registerTypeAdapter(LocalDateTime.class, (JsonDeserializer<LocalDateTime>) (json, t, c) -> null)
49+
.registerTypeAdapter(LocalDate.class, (JsonDeserializer<LocalDate>) (json, t, c) -> null)
50+
.create();
6251
}
6352

6453
<T> T convert(final String json, final Class<T> tClass) {

‎src/main/java/io/api/etherscan/model/BaseTx.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.api.etherscan.model;
22

3+
import com.google.gson.annotations.Expose;
34
import io.api.etherscan.util.BasicUtils;
45

56
import java.math.BigInteger;
@@ -17,6 +18,7 @@ abstract class BaseTx {
1718

1819
private long blockNumber;
1920
private String timeStamp;
21+
@Expose(serialize = false, deserialize = false)
2022
private LocalDateTime _timeStamp;
2123
private String hash;
2224
private String from;

‎src/main/java/io/api/etherscan/model/Block.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.api.etherscan.model;
22

3+
import com.google.gson.annotations.Expose;
34
import io.api.etherscan.util.BasicUtils;
45

56
import java.math.BigInteger;
@@ -17,6 +18,7 @@ public class Block {
1718
private long blockNumber;
1819
private BigInteger blockReward;
1920
private String timeStamp;
21+
@Expose(serialize = false, deserialize = false)
2022
private LocalDateTime _timeStamp;
2123

2224
// <editor-fold desc="Getter">

‎src/main/java/io/api/etherscan/model/Log.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.api.etherscan.model;
22

3+
import com.google.gson.annotations.Expose;
34
import io.api.etherscan.util.BasicUtils;
45

56
import java.math.BigInteger;
@@ -17,20 +18,26 @@
1718
public class Log {
1819

1920
private String blockNumber;
21+
@Expose(serialize = false, deserialize = false)
2022
private Long _blockNumber;
2123
private String address;
2224
private String transactionHash;
2325
private String transactionIndex;
26+
@Expose(serialize = false, deserialize = false)
2427
private Long _transactionIndex;
2528
private String timeStamp;
29+
@Expose(serialize = false, deserialize = false)
2630
private LocalDateTime _timeStamp;
2731
private String data;
2832
private String gasPrice;
33+
@Expose(serialize = false, deserialize = false)
2934
private BigInteger _gasPrice;
3035
private String gasUsed;
36+
@Expose(serialize = false, deserialize = false)
3137
private BigInteger _gasUsed;
3238
private List<String> topics;
3339
private String logIndex;
40+
@Expose(serialize = false, deserialize = false)
3441
private Long _logIndex;
3542

3643
// <editor-fold desc="Getters">

‎src/main/java/io/api/etherscan/model/Price.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package io.api.etherscan.model;
22

3+
import com.google.gson.annotations.Expose;
4+
35
import java.time.LocalDateTime;
46
import java.time.ZoneOffset;
57

@@ -15,7 +17,9 @@ public class Price {
1517
private double ethbtc;
1618
private String ethusd_timestamp;
1719
private String ethbtc_timestamp;
20+
@Expose(serialize = false, deserialize = false)
1821
private LocalDateTime _ethusd_timestamp;
22+
@Expose(serialize = false, deserialize = false)
1923
private LocalDateTime _ethbtc_timestamp;
2024

2125
public double inUsd() {

‎src/main/java/io/api/etherscan/model/TxInternal.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public String getType() {
2121
}
2222

2323
public long getTraceId() {
24-
return Long.parseLong(traceId);
24+
return (traceId == null) ? 0 : Long.parseLong(traceId);
2525
}
2626

2727
public String getTraceIdAsString() {

‎src/main/java/io/api/etherscan/model/proxy/BlockProxy.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.api.etherscan.model.proxy;
22

3+
import com.google.gson.annotations.Expose;
34
import io.api.etherscan.util.BasicUtils;
45

56
import java.math.BigInteger;
@@ -16,15 +17,18 @@
1617
public class BlockProxy {
1718

1819
private String number;
20+
@Expose(serialize = false, deserialize = false)
1921
private Long _number;
2022
private String hash;
2123
private String parentHash;
2224
private String stateRoot;
2325
private String size;
26+
@Expose(serialize = false, deserialize = false)
2427
private Long _size;
2528
private String difficulty;
2629
private String totalDifficulty;
2730
private String timestamp;
31+
@Expose(serialize = false, deserialize = false)
2832
private LocalDateTime _timestamp;
2933

3034
private String miner;
@@ -33,8 +37,10 @@ public class BlockProxy {
3337
private String logsBloom;
3438
private String mixHash;
3539
private String gasUsed;
40+
@Expose(serialize = false, deserialize = false)
3641
private BigInteger _gasUsed;
3742
private String gasLimit;
43+
@Expose(serialize = false, deserialize = false)
3844
private BigInteger _gasLimit;
3945

4046
private String sha3Uncles;

‎src/main/java/io/api/etherscan/model/proxy/ReceiptProxy.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.api.etherscan.model.proxy;
22

3+
import com.google.gson.annotations.Expose;
34
import io.api.etherscan.model.Log;
45
import io.api.etherscan.util.BasicUtils;
56

@@ -18,14 +19,18 @@ public class ReceiptProxy {
1819
private String from;
1920
private String to;
2021
private String blockNumber;
22+
@Expose(serialize = false, deserialize = false)
2123
private Long _blockNumber;
2224
private String blockHash;
2325
private String transactionHash;
2426
private String transactionIndex;
27+
@Expose(serialize = false, deserialize = false)
2528
private Long _transactionIndex;
2629
private String gasUsed;
30+
@Expose(serialize = false, deserialize = false)
2731
private BigInteger _gasUsed;
2832
private String cumulativeGasUsed;
33+
@Expose(serialize = false, deserialize = false)
2934
private BigInteger _cumulativeGasUsed;
3035
private String contractAddress;
3136

‎src/main/java/io/api/etherscan/model/proxy/TxProxy.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.api.etherscan.model.proxy;
22

3+
import com.google.gson.annotations.Expose;
34
import io.api.etherscan.util.BasicUtils;
45

56
import java.math.BigInteger;
@@ -15,21 +16,26 @@ public class TxProxy {
1516
private String to;
1617
private String hash;
1718
private String transactionIndex;
19+
@Expose(serialize = false, deserialize = false)
1820
private Long _transactionIndex;
1921
private String from;
2022
private String v;
2123
private String input;
2224
private String s;
2325
private String r;
2426
private String nonce;
27+
@Expose(serialize = false, deserialize = false)
2528
private Long _nonce;
2629
private String value;
2730
private String gas;
31+
@Expose(serialize = false, deserialize = false)
2832
private BigInteger _gas;
2933
private String gasPrice;
34+
@Expose(serialize = false, deserialize = false)
3035
private BigInteger _gasPrice;
3136
private String blockHash;
3237
private String blockNumber;
38+
@Expose(serialize = false, deserialize = false)
3339
private Long _blockNumber;
3440

3541
// <editor-fold desc="Getters">

‎src/test/java/io/api/etherscan/account/AccountTxInternalTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ public void correctStartBlock() {
2929
List<TxInternal> txs = getApi().account().txsInternal("0x2C1ba59D6F58433FB1EaEe7d20b26Ed83bDA51A3", 2558775);
3030
assertNotNull(txs);
3131
assertEquals(24, txs.size());
32+
assertNotEquals(txs.get(0), txs.get(1));
33+
assertNotEquals(txs.get(0).toString(), txs.get(1).toString());
3234
assertTxs(txs);
3335
}
3436

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /