Skip to content

Commit

Permalink
Merge pull request #226 from Holt666/develop
Browse files Browse the repository at this point in the history
refactor
  • Loading branch information
LucasMLK committed May 15, 2023
2 parents 49a8369 + 7f56cf6 commit 9ce88cc
Show file tree
Hide file tree
Showing 14 changed files with 103 additions and 70 deletions.
59 changes: 39 additions & 20 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<dist.phase>package</dist.phase>
<dist.base>${project.basedir}/dist</dist.base>

<netty.version>4.1.90.Final</netty.version>
<netty.version>4.1.92.Final</netty.version>
<tuweni.version>2.3.1</tuweni.version>
<libp2p.version>0.10.0-RELEASE</libp2p.version>
<json.version>2.14.2</json.version>
Expand All @@ -29,6 +29,25 @@
<mockito.version>5.2.0</mockito.version>
<system-lambda.version>1.2.1</system-lambda.version>
<log4j.version>2.20.0</log4j.version>
<commons-lang3.version>3.12.0</commons-lang3.version>
<commons-collections4.version>4.4</commons-collections4.version>
<commons-codec.version>1.15</commons-codec.version>
<commons-io.version>2.11.0</commons-io.version>
<commons-cli.version>1.5.0</commons-cli.version>
<guava.version>31.1-jre</guava.version>
<rocksdbjni.version>8.0.0</rocksdbjni.version>
<okhttp.version>4.10.0</okhttp.version>
<assertj-core.version>3.24.2</assertj-core.version>
<crypto.version>22.10.4</crypto.version>
<bcprov-jdk18on.version>1.72</bcprov-jdk18on.version>
<bcpkix-jdk18on.version>1.72</bcpkix-jdk18on.version>
<vertx-core.version>4.4.0</vertx-core.version>
<discovery.version>22.2.0</discovery.version>
<jsonrpc4j.version>1.6</jsonrpc4j.version>
<jaxws-ri.version>4.0.1</jaxws-ri.version>
<config.version>1.4.2</config.version>
<agrona.version>1.17.1</agrona.version>
<snappy-java.version>1.1.9.1</snappy-java.version>
<surefire.test.excludes>**/*RandomXSyncTest.java,**/*SyncTest.java,**/*SnapshotJTest.java</surefire.test.excludes>
</properties>

Expand Down Expand Up @@ -363,37 +382,37 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
<version>${commons-lang3.version}</version>
</dependency>

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
<version>${commons-collections4.version}</version>
</dependency>

<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
<version>${commons-codec.version}</version>
</dependency>

<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
<version>${commons-io.version}</version>
</dependency>

<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.5.0</version>
<version>${commons-cli.version}</version>
</dependency>

<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.1-jre</version>
<version>${guava.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.errorprone</groupId>
Expand Down Expand Up @@ -448,7 +467,7 @@
<dependency>
<groupId>org.rocksdb</groupId>
<artifactId>rocksdbjni</artifactId>
<version>8.0.0</version>
<version>${rocksdbjni.version}</version>
</dependency>

<dependency>
Expand Down Expand Up @@ -536,7 +555,7 @@
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.10.0</version>
<version>${okhttp.version}</version>
<exclusions>
<exclusion>
<artifactId>annotations</artifactId>
Expand Down Expand Up @@ -593,7 +612,7 @@
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.24.2</version>
<version>${assertj-core.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
Expand Down Expand Up @@ -650,7 +669,7 @@
<dependency>
<groupId>org.hyperledger.besu.internal</groupId>
<artifactId>crypto</artifactId>
<version>22.10.4</version>
<version>${crypto.version}</version>
<exclusions>
<exclusion>
<artifactId>bcprov-jdk15on</artifactId>
Expand Down Expand Up @@ -690,19 +709,19 @@
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<version>1.72</version>
<version>${bcprov-jdk18on.version}</version>
</dependency>

<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
<version>1.72</version>
<version>${bcpkix-jdk18on.version}</version>
</dependency>

<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-core</artifactId>
<version>4.4.0</version>
<version>${vertx-core.version}</version>
<exclusions>
<exclusion>
<groupId>io.netty</groupId>
Expand Down Expand Up @@ -788,7 +807,7 @@
<dependency>
<groupId>tech.pegasys.discovery</groupId>
<artifactId>discovery</artifactId>
<version>22.2.0</version>
<version>${discovery.version}</version>
<exclusions>
<exclusion>
<artifactId>log4j-api</artifactId>
Expand Down Expand Up @@ -873,7 +892,7 @@
<dependency>
<groupId>com.github.briandilley.jsonrpc4j</groupId>
<artifactId>jsonrpc4j</artifactId>
<version>1.6</version>
<version>${jsonrpc4j.version}</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
Expand Down Expand Up @@ -901,7 +920,7 @@
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-ri</artifactId>
<version>4.0.1</version>
<version>${jaxws-ri.version}</version>
<type>pom</type>
<exclusions>
<exclusion>
Expand All @@ -916,21 +935,21 @@
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
<version>1.4.2</version>
<version>${config.version}</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.agrona/agrona -->
<dependency>
<groupId>org.agrona</groupId>
<artifactId>agrona</artifactId>
<version>1.17.1</version>
<version>${agrona.version}</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.xerial.snappy/snappy-java -->
<dependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>1.1.9.1</version>
<version>${snappy-java.version}</version>
</dependency>

</dependencies>
Expand Down
13 changes: 7 additions & 6 deletions src/main/java/io/xdag/cli/Commands.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
import static io.xdag.core.XdagField.FieldType.XDAG_FIELD_OUT;
import static io.xdag.core.XdagField.FieldType.XDAG_FIELD_OUTPUT;
import static io.xdag.crypto.Keys.toBytesAddress;
import static io.xdag.utils.BasicUtils.Hash2byte;
import static io.xdag.utils.BasicUtils.hash2byte;
import static io.xdag.utils.BasicUtils.address2Hash;
import static io.xdag.utils.BasicUtils.compareAmountTo;
import static io.xdag.utils.BasicUtils.getHash;
Expand Down Expand Up @@ -486,7 +486,7 @@ public String printBlockInfo(Block block, boolean raw) {
inputs = new StringBuilder();
for (Address input : block.getInputs()) {
inputs.append(String.format(" input: %s %s%n",
input.getIsAddress() ? toBase58(Hash2byte(input.getAddress())) : hash2Address(input.getAddress()),
input.getIsAddress() ? toBase58(hash2byte(input.getAddress())) : hash2Address(input.getAddress()),
input.getAmount().toDecimal(9, XUnit.XDAG).toPlainString()
));
}
Expand All @@ -496,7 +496,7 @@ public String printBlockInfo(Block block, boolean raw) {
for (Address output : block.getOutputs()) {
if (output.getType().equals(XDAG_FIELD_COINBASE)) continue;
outputs.append(String.format(" output: %s %s%n",
output.getIsAddress() ? toBase58(Hash2byte(output.getAddress())) : hash2Address(output.getAddress()),
output.getIsAddress() ? toBase58(hash2byte(output.getAddress())) : hash2Address(output.getAddress()),
output.getAmount().toDecimal(9, XUnit.XDAG).toPlainString()
));
}
Expand Down Expand Up @@ -609,7 +609,8 @@ public void stop() {
public String listConnect() {
Map<Node, Long> map = kernel.getNodeMgr().getActiveNode();
StringBuilder stringBuilder = new StringBuilder();
for (Node node : map.keySet()) {
for (Map.Entry<Node, Long> entry : map.entrySet()) {
Node node = entry.getKey();
stringBuilder
.append(node.getAddress())
.append(" ")
Expand Down Expand Up @@ -702,8 +703,8 @@ public static String getBalanceMaxXfer(Kernel kernel){

public String address(Bytes32 wrap) {
String ov = " OverView" + "\n"
+ String.format(" address: %s", toBase58(Hash2byte(wrap.mutableCopy()))) + "\n"
+ String.format(" balance: %s", kernel.getAddressStore().getBalanceByAddress(Hash2byte(wrap.mutableCopy())).toDecimal(9, XUnit.XDAG).toPlainString()) + "\n";
+ String.format(" address: %s", toBase58(hash2byte(wrap.mutableCopy()))) + "\n"
+ String.format(" balance: %s", kernel.getAddressStore().getBalanceByAddress(hash2byte(wrap.mutableCopy())).toDecimal(9, XUnit.XDAG).toPlainString()) + "\n";

String txHisFormat = """
-----------------------------------------------------------------------------------------------------------------------------
Expand Down
23 changes: 10 additions & 13 deletions src/main/java/io/xdag/core/BlockchainImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
import static io.xdag.core.XdagField.FieldType.XDAG_FIELD_INPUT;
import static io.xdag.core.XdagField.FieldType.XDAG_FIELD_OUT;
import static io.xdag.core.XdagField.FieldType.XDAG_FIELD_OUTPUT;
import static io.xdag.utils.BasicUtils.Hash2byte;
import static io.xdag.utils.BasicUtils.hash2byte;
import static io.xdag.utils.BasicUtils.compareAmountTo;
import static io.xdag.utils.BasicUtils.getDiffByHash;
import static io.xdag.utils.BasicUtils.keyPair2Hash;
Expand Down Expand Up @@ -308,8 +308,7 @@ public synchronized ImportResult tryToConnect(Block block) {
* mainBlocks and linkBlocks are same as original
*/
// System.out.println(ref.getAddress().toHexString() + " isaddress ==" + ref.isAddress);
if(!ref.isAddress){
if (ref != null) {
if(ref!= null && !ref.isAddress){
if(ref.getType() == XDAG_FIELD_OUT && !ref.getAmount().isZero()){
result = ImportResult.INVALID_BLOCK;
result.setHashlow(ref.getAddress());
Expand All @@ -336,10 +335,8 @@ public synchronized ImportResult tryToConnect(Block block) {
}

}

}
}else {
if(ref.type == XDAG_FIELD_INPUT && !addressStore.addressIsExist(BytesUtils.byte32ToArray(ref.getAddress()))){
} else {
if(ref!= null && ref.type == XDAG_FIELD_INPUT && !addressStore.addressIsExist(BytesUtils.byte32ToArray(ref.getAddress()))){
result = ImportResult.INVALID_BLOCK;
result.setErrorInfo("Address isn't exist " + WalletUtils.toBase58(BytesUtils.byte32ToArray(ref.getAddress())));
log.debug("Address isn't exist " + WalletUtils.toBase58(BytesUtils.byte32ToArray(ref.getAddress())));
Expand Down Expand Up @@ -733,10 +730,10 @@ private XAmount applyBlock(Block block) {
}
sumIn = sumIn.add(link.getAmount());
} else if(link.getType() == XDAG_FIELD_INPUT){
XAmount balance = addressStore.getBalanceByAddress(Hash2byte(link.getAddress()));
XAmount balance = addressStore.getBalanceByAddress(hash2byte(link.getAddress()));
if(compareAmountTo(balance,link.amount) < 0){
log.debug("This input ref doesn't have enough amount,hash:{},amount:{},need:{}",
Hex.toHexString(Hash2byte(link.getAddress())), balance,
Hex.toHexString(hash2byte(link.getAddress())), balance,
link.getAmount());
return XAmount.ZERO;
}
Expand Down Expand Up @@ -776,9 +773,9 @@ private XAmount applyBlock(Block block) {
// blockStore.saveBlockInfo(ref.getInfo()); // TODO:acceptAmount时已经保存了 这里还需要保存吗
}else {
if(link.getType() == XDAG_FIELD_INPUT){
subtractAmount(BasicUtils.Hash2byte(link.addressHash), link.getAmount(), block);
subtractAmount(BasicUtils.hash2byte(link.addressHash), link.getAmount(), block);
}else if(link.getType() == XDAG_FIELD_OUTPUT){
addAmount(BasicUtils.Hash2byte(link.addressHash), link.getAmount(), block);
addAmount(BasicUtils.hash2byte(link.addressHash), link.getAmount(), block);
}
}
}
Expand Down Expand Up @@ -809,10 +806,10 @@ public XAmount unApplyBlock(Block block) {
}
}else {
if (link.getType() == XDAG_FIELD_INPUT){
addAmount(BasicUtils.Hash2byte(link.getAddress()), link.getAmount(), block);
addAmount(BasicUtils.hash2byte(link.getAddress()), link.getAmount(), block);
sum = sum.subtract(link.getAmount());
}else {
subtractAmount(BasicUtils.Hash2byte(link.getAddress()), link.getAmount(), block);
subtractAmount(BasicUtils.hash2byte(link.getAddress()), link.getAmount(), block);
sum = sum.add(link.getAmount());
}
}
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/io/xdag/db/rocksdb/SnapshotStoreImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.util.List;

import lombok.extern.slf4j.Slf4j;
Expand Down Expand Up @@ -258,7 +259,7 @@ public void saveAddress(BlockStore blockStore,AddressStore addressStore, List<Ke
addressStore.saveAddress(address, balance);
blockStore.saveTxHistory(BytesUtils.arrayToByte32(address), BytesUtils.arrayToByte32(address),
XdagField.FieldType.XDAG_FIELD_SNAPSHOT, balance,
snapshotTime,0,"snapshot".getBytes());
snapshotTime,0,"snapshot".getBytes(StandardCharsets.UTF_8));
}
}
}
Expand Down
6 changes: 4 additions & 2 deletions src/main/java/io/xdag/mine/message/NewBalanceMessage.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
import io.xdag.core.XdagField;
import io.xdag.net.message.Message;
import io.xdag.net.message.XdagMessageCodes;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.tuweni.bytes.Bytes;
import org.apache.tuweni.bytes.MutableBytes;

Expand Down Expand Up @@ -58,7 +61,6 @@ public XdagMessageCodes getCommand() {

@Override
public String toString() {

return null;
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE).toString();
}
}
5 changes: 4 additions & 1 deletion src/main/java/io/xdag/mine/message/NewTaskMessage.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
import io.xdag.core.XdagField;
import io.xdag.net.message.Message;
import io.xdag.net.message.XdagMessageCodes;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.tuweni.bytes.Bytes;
import org.apache.tuweni.bytes.MutableBytes;

Expand Down Expand Up @@ -62,6 +65,6 @@ public XdagMessageCodes getCommand() {

@Override
public String toString() {
return null;
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE).toString();
}
}
5 changes: 4 additions & 1 deletion src/main/java/io/xdag/mine/message/TaskShareMessage.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
import io.xdag.core.XdagField;
import io.xdag.net.message.Message;
import io.xdag.net.message.XdagMessageCodes;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.tuweni.bytes.Bytes;
import org.apache.tuweni.bytes.MutableBytes;

Expand Down Expand Up @@ -58,6 +61,6 @@ public XdagMessageCodes getCommand() {

@Override
public String toString() {
return null;
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE).toString();
}
}
5 changes: 4 additions & 1 deletion src/main/java/io/xdag/mine/message/WorkerNameMessage.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
import io.xdag.core.XdagField;
import io.xdag.net.message.Message;
import io.xdag.net.message.XdagMessageCodes;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.tuweni.bytes.Bytes;
import org.apache.tuweni.bytes.MutableBytes;

Expand Down Expand Up @@ -57,6 +60,6 @@ public XdagMessageCodes getCommand() {

@Override
public String toString() {
return null;
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE).toString();
}
}
Loading

0 comments on commit 9ce88cc

Please sign in to comment.