diff --git a/ethereumj-core/build.gradle b/ethereumj-core/build.gradle index eb47ee35..9eb40ba7 100644 --- a/ethereumj-core/build.gradle +++ b/ethereumj-core/build.gradle @@ -13,21 +13,17 @@ plugins { mainClassName = 'org.ethereum.Start' - ext.generatedSrcDir = file('src/gen/java') sourceSets.main.java.srcDirs += generatedSrcDir - antlr4 { extraArgs = ['-package', 'org.ethereum.serpent'] output = file("${generatedSrcDir}/org/ethereum/serpent") } - compileJava.dependsOn antlr4 - configurations { compile.extendsFrom antlr4 } diff --git a/ethereumj-core/src/main/java/org/ethereum/core/Wallet.java b/ethereumj-core/src/main/java/org/ethereum/core/Wallet.java index dd277faf..81c1826d 100644 --- a/ethereumj-core/src/main/java/org/ethereum/core/Wallet.java +++ b/ethereumj-core/src/main/java/org/ethereum/core/Wallet.java @@ -82,7 +82,8 @@ public class Wallet { Account account = new Account(); String address = Hex.toHexString(account.getEcKey().getAddress()); rows.put(address, account); - for (WalletListener listener : listeners) listener.valueChanged(); + for (WalletListener listener : listeners) + listener.valueChanged(); } public void importKey(byte[] privKey) { @@ -157,9 +158,9 @@ public class Wallet { } public void addTransactions(List transactions) { - for (Transaction transaction : transactions) { - this.addTransaction(transaction); - } + for (Transaction transaction : transactions) { + this.addTransaction(transaction); + } } public void removeTransactions(List transactions) { @@ -209,7 +210,7 @@ public class Wallet { public void processBlock(Block block) { - for (Account account : getAccountCollection()){ + for (Account account : getAccountCollection()) { account.clearAllPendingTransactions(); } @@ -344,8 +345,8 @@ public class Wallet { } private void notifyListeners() { - for (WalletListener listener : listeners) - listener.valueChanged(); + for (WalletListener listener : listeners) + listener.valueChanged(); } public interface WalletListener { diff --git a/ethereumj-core/src/main/java/org/ethereum/db/BlockStore.java b/ethereumj-core/src/main/java/org/ethereum/db/BlockStore.java index 00cf0399..2a60f7ab 100644 --- a/ethereumj-core/src/main/java/org/ethereum/db/BlockStore.java +++ b/ethereumj-core/src/main/java/org/ethereum/db/BlockStore.java @@ -74,9 +74,8 @@ public class BlockStore { setParameter("limit", block.getNumber() - qty). setMaxResults(qty).list(); - for (byte[] h : result){ + for (byte[] h : result) hashes.add(h); - } return hashes; } diff --git a/ethereumj-core/src/main/java/org/ethereum/facade/EthereumImpl.java b/ethereumj-core/src/main/java/org/ethereum/facade/EthereumImpl.java index 64499379..ea9e82b8 100644 --- a/ethereumj-core/src/main/java/org/ethereum/facade/EthereumImpl.java +++ b/ethereumj-core/src/main/java/org/ethereum/facade/EthereumImpl.java @@ -61,9 +61,9 @@ public class EthereumImpl implements Ethereum { } @PostConstruct - public void init(){ + public void init() { worldManager.loadBlockchain(); - if (CONFIG.listenPort() > 0){ + if (CONFIG.listenPort() > 0) { Executors.newSingleThreadExecutor().submit( new Runnable() { public void run() { peerServer.start(CONFIG.listenPort()); diff --git a/ethereumj-core/src/main/java/org/ethereum/jsontestsuite/AccountState.java b/ethereumj-core/src/main/java/org/ethereum/jsontestsuite/AccountState.java index 91fe7000..ad741f02 100644 --- a/ethereumj-core/src/main/java/org/ethereum/jsontestsuite/AccountState.java +++ b/ethereumj-core/src/main/java/org/ethereum/jsontestsuite/AccountState.java @@ -153,8 +153,8 @@ public class AccountState { checked.add(key); } - for (DataWord key : expectedKeys){ - if (!checked.contains(key)){ + for (DataWord key : expectedKeys) { + if (!checked.contains(key)) { String formatedString = String.format("Account: %s: doesn't exist expected storage key: %s", Hex.toHexString(this.address), key.toString()); results.add(formatedString); diff --git a/ethereumj-core/src/main/java/org/ethereum/manager/WorldManager.java b/ethereumj-core/src/main/java/org/ethereum/manager/WorldManager.java index 6a70a05d..c85ca350 100644 --- a/ethereumj-core/src/main/java/org/ethereum/manager/WorldManager.java +++ b/ethereumj-core/src/main/java/org/ethereum/manager/WorldManager.java @@ -1,6 +1,10 @@ package org.ethereum.manager; -import org.ethereum.core.*; +import org.ethereum.core.Block; +import org.ethereum.core.Genesis; +import org.ethereum.core.Transaction; +import org.ethereum.core.TransactionReceipt; +import org.ethereum.core.Wallet; import org.ethereum.crypto.HashUtil; import org.ethereum.db.BlockStore; import org.ethereum.facade.Blockchain; diff --git a/ethereumj-core/src/main/java/org/ethereum/net/eth/BlockHashesMessage.java b/ethereumj-core/src/main/java/org/ethereum/net/eth/BlockHashesMessage.java index 873cbce2..f242162d 100644 --- a/ethereumj-core/src/main/java/org/ethereum/net/eth/BlockHashesMessage.java +++ b/ethereumj-core/src/main/java/org/ethereum/net/eth/BlockHashesMessage.java @@ -43,15 +43,14 @@ public class BlockHashesMessage extends EthMessage { parsed = true; } - private void encode() { - List encodedElements = new ArrayList<>(); - encodedElements.add(RLP.encodeByte(BLOCK_HASHES.asByte())); - for (byte[] blockHash : blockHashes) - encodedElements.add(RLP.encodeElement(blockHash)); - byte[][] encodedElementArray = encodedElements - .toArray(new byte[encodedElements.size()][]); - this.encoded = RLP.encodeList(encodedElementArray); - } + private void encode() { + List encodedElements = new ArrayList<>(); + encodedElements.add(RLP.encodeByte(BLOCK_HASHES.asByte())); + for (byte[] blockHash : blockHashes) + encodedElements.add(RLP.encodeElement(blockHash)); + byte[][] encodedElementArray = encodedElements.toArray(new byte[encodedElements.size()][]); + this.encoded = RLP.encodeList(encodedElementArray); + } @Override diff --git a/ethereumj-core/src/main/java/org/ethereum/net/eth/BlocksMessage.java b/ethereumj-core/src/main/java/org/ethereum/net/eth/BlocksMessage.java index e14c94fa..fb132528 100644 --- a/ethereumj-core/src/main/java/org/ethereum/net/eth/BlocksMessage.java +++ b/ethereumj-core/src/main/java/org/ethereum/net/eth/BlocksMessage.java @@ -46,9 +46,8 @@ public class BlocksMessage extends EthMessage { List encodedElements = new Vector<>(); encodedElements.add(RLP.encodeByte(BLOCKS.asByte())); - for (Block block : blocks){ + for (Block block : blocks) encodedElements.add(block.getEncoded()); - } byte[][] encodedElementArray = encodedElements .toArray(new byte[encodedElements.size()][]); diff --git a/ethereumj-core/src/main/java/org/ethereum/net/eth/GetBlocksMessage.java b/ethereumj-core/src/main/java/org/ethereum/net/eth/GetBlocksMessage.java index 58b35c16..e042ea15 100644 --- a/ethereumj-core/src/main/java/org/ethereum/net/eth/GetBlocksMessage.java +++ b/ethereumj-core/src/main/java/org/ethereum/net/eth/GetBlocksMessage.java @@ -41,15 +41,14 @@ public class GetBlocksMessage extends EthMessage { parsed = true; } - private void encode() { - List encodedElements = new ArrayList<>(); - encodedElements.add(RLP.encodeByte(GET_BLOCKS.asByte())); - for (byte[] hash : blockHashes) - encodedElements.add(RLP.encodeElement(hash)); - byte[][] encodedElementArray = encodedElements - .toArray(new byte[encodedElements.size()][]); - this.encoded = RLP.encodeList(encodedElementArray); - } + private void encode() { + List encodedElements = new ArrayList<>(); + encodedElements.add(RLP.encodeByte(GET_BLOCKS.asByte())); + for (byte[] hash : blockHashes) + encodedElements.add(RLP.encodeElement(hash)); + byte[][] encodedElementArray = encodedElements.toArray(new byte[encodedElements.size()][]); + this.encoded = RLP.encodeList(encodedElementArray); + } @Override public byte[] getEncoded() { diff --git a/ethereumj-core/src/main/java/org/ethereum/net/eth/TransactionsMessage.java b/ethereumj-core/src/main/java/org/ethereum/net/eth/TransactionsMessage.java index 2154ca17..4634902a 100644 --- a/ethereumj-core/src/main/java/org/ethereum/net/eth/TransactionsMessage.java +++ b/ethereumj-core/src/main/java/org/ethereum/net/eth/TransactionsMessage.java @@ -50,12 +50,11 @@ public class TransactionsMessage extends EthMessage { } private void encode() { - List encodedElements = new ArrayList<>(); - encodedElements.add(RLP.encodeByte(TRANSACTIONS.asByte())); - for (Transaction tx : transactions) + List encodedElements = new ArrayList<>(); + encodedElements.add(RLP.encodeByte(TRANSACTIONS.asByte())); + for (Transaction tx : transactions) encodedElements.add(tx.getEncoded()); - byte[][] encodedElementArray = encodedElements - .toArray(new byte[encodedElements.size()][]); + byte[][] encodedElementArray = encodedElements.toArray(new byte[encodedElements.size()][]); this.encoded = RLP.encodeList(encodedElementArray); } diff --git a/ethereumj-core/src/main/java/org/ethereum/net/p2p/P2pHandler.java b/ethereumj-core/src/main/java/org/ethereum/net/p2p/P2pHandler.java index 32000fc6..79ded4fd 100644 --- a/ethereumj-core/src/main/java/org/ethereum/net/p2p/P2pHandler.java +++ b/ethereumj-core/src/main/java/org/ethereum/net/p2p/P2pHandler.java @@ -207,31 +207,32 @@ public class P2pHandler extends SimpleChannelInboundHandler { private void setHandshake(HelloMessage msg, ChannelHandlerContext ctx) { this.handshakeHelloMessage = msg; - if (msg.getP2PVersion() != P2pHandler.VERSION) - msgQueue.sendMessage(new DisconnectMessage(ReasonCode.INCOMPATIBLE_PROTOCOL)); - else { - List capInCommon = new ArrayList<>(); - for (Capability capability : msg.getCapabilities()) { - if (HELLO_MESSAGE.getCapabilities().contains(capability)) { - if (capability.getName().equals(Capability.ETH)){ + if (msg.getP2PVersion() != P2pHandler.VERSION) { + msgQueue.sendMessage(new DisconnectMessage(ReasonCode.INCOMPATIBLE_PROTOCOL)); + } + else { + List capInCommon = new ArrayList<>(); + for (Capability capability : msg.getCapabilities()) { + if (HELLO_MESSAGE.getCapabilities().contains(capability)) { + if (capability.getName().equals(Capability.ETH)) { // Activate EthHandler for this peer EthHandler ethHandler = - (EthHandler)ctx.pipeline().get(Capability.ETH); + (EthHandler) ctx.pipeline().get(Capability.ETH); ethHandler.setPeerId(msg.getPeerId()); ethHandler.activate(); } - else if (capability.getName().equals(Capability.SHH)){ + else if (capability.getName().equals(Capability.SHH)) { // Activate ShhHandler for this peer ShhHandler shhHandler = - (ShhHandler)ctx.pipeline().get(Capability.SHH); + (ShhHandler) ctx.pipeline().get(Capability.SHH); shhHandler.activate(); } - capInCommon.add(capability); - } - } + capInCommon.add(capability); + } + } adaptMessageIds(capInCommon); InetAddress address = ((InetSocketAddress) ctx.channel().remoteAddress()).getAddress(); diff --git a/ethereumj-core/src/main/java/org/ethereum/net/peerdiscovery/PeerDiscovery.java b/ethereumj-core/src/main/java/org/ethereum/net/peerdiscovery/PeerDiscovery.java index 7c89a180..3c9a1b4f 100644 --- a/ethereumj-core/src/main/java/org/ethereum/net/peerdiscovery/PeerDiscovery.java +++ b/ethereumj-core/src/main/java/org/ethereum/net/peerdiscovery/PeerDiscovery.java @@ -59,10 +59,9 @@ public class PeerDiscovery { // Get the ThreadFactory implementation to use threadFactory = Executors.defaultThreadFactory(); - // creating the ThreadPoolExecutor - executorPool = new ThreadPoolExecutor(CONFIG.peerDiscoveryWorkers(), - CONFIG.peerDiscoveryWorkers(), 10, TimeUnit.SECONDS, new ArrayBlockingQueue( - 1000), threadFactory, rejectionHandler); + // creating the ThreadPoolExecutor + executorPool = new ThreadPoolExecutor(CONFIG.peerDiscoveryWorkers(), CONFIG.peerDiscoveryWorkers(), 10, + TimeUnit.SECONDS, new ArrayBlockingQueue(1000), threadFactory, rejectionHandler); // start the monitoring thread monitor = new PeerMonitorThread(executorPool, 1, this); diff --git a/ethereumj-core/src/main/java/org/ethereum/net/server/ChannelManager.java b/ethereumj-core/src/main/java/org/ethereum/net/server/ChannelManager.java index bb130705..25ffbedf 100644 --- a/ethereumj-core/src/main/java/org/ethereum/net/server/ChannelManager.java +++ b/ethereumj-core/src/main/java/org/ethereum/net/server/ChannelManager.java @@ -108,9 +108,8 @@ public class ChannelManager { } public void reconnect(){ - for (Channel channel : channels){ + for (Channel channel : channels) channel.p2pHandler.sendDisconnect(); - } } public void ethSync() { diff --git a/ethereumj-core/src/main/java/org/ethereum/trie/TrieImpl.java b/ethereumj-core/src/main/java/org/ethereum/trie/TrieImpl.java index f352c2b9..82e008b9 100644 --- a/ethereumj-core/src/main/java/org/ethereum/trie/TrieImpl.java +++ b/ethereumj-core/src/main/java/org/ethereum/trie/TrieImpl.java @@ -11,8 +11,11 @@ import org.slf4j.LoggerFactory; import org.spongycastle.util.encoders.Hex; -import java.util.*; -import java.util.stream.Collectors; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import static java.util.Arrays.copyOfRange; import static org.ethereum.crypto.HashUtil.EMPTY_TRIE_HASH; @@ -434,17 +437,14 @@ public class TrieImpl implements Trie { this.scanTree(this.getRootHash(), collectAction); Set hashSet = collectAction.getCollectedHashes(); - Map nodes = this.getCache().getNodes(); + Map nodes = this.getCache().getNodes(); Set toRemoveSet = new HashSet<>(); - for (ByteArrayWrapper key : nodes.keySet()) { - if (!hashSet.contains(key.getData())) { + for (ByteArrayWrapper key : nodes.keySet()) + if (!hashSet.contains(key.getData())) toRemoveSet.add(key); - } - } for (ByteArrayWrapper key : toRemoveSet) { - this.getCache().delete(key.getData()); if (logger.isTraceEnabled()) diff --git a/ethereumj-core/src/main/java/org/ethereum/util/FastByteComparisons.java b/ethereumj-core/src/main/java/org/ethereum/util/FastByteComparisons.java index f0c16b92..29d98601 100644 --- a/ethereumj-core/src/main/java/org/ethereum/util/FastByteComparisons.java +++ b/ethereumj-core/src/main/java/org/ethereum/util/FastByteComparisons.java @@ -130,24 +130,24 @@ public abstract class FastByteComparisons { */ static final int BYTE_ARRAY_BASE_OFFSET; - static { - theUnsafe = (Unsafe) AccessController.doPrivileged( - new PrivilegedAction() { - @Override - public Object run() { - try { - Field f = Unsafe.class.getDeclaredField("theUnsafe"); - f.setAccessible(true); - return f.get(null); - } catch (NoSuchFieldException e) { - // It doesn't matter what we throw; - // it's swallowed in getBestComparer(). - throw new Error(); - } catch (IllegalAccessException e) { - throw new Error(); - } - } - }); + static { + theUnsafe = (Unsafe) AccessController.doPrivileged( + new PrivilegedAction() { + @Override + public Object run() { + try { + Field f = Unsafe.class.getDeclaredField("theUnsafe"); + f.setAccessible(true); + return f.get(null); + } catch (NoSuchFieldException e) { + // It doesn't matter what we throw; + // it's swallowed in getBestComparer(). + throw new Error(); + } catch (IllegalAccessException e) { + throw new Error(); + } + } + }); BYTE_ARRAY_BASE_OFFSET = theUnsafe.arrayBaseOffset(byte[].class); diff --git a/ethereumj-core/src/main/java/org/ethereum/util/RLPList.java b/ethereumj-core/src/main/java/org/ethereum/util/RLPList.java index b785c7d2..f6f9e597 100644 --- a/ethereumj-core/src/main/java/org/ethereum/util/RLPList.java +++ b/ethereumj-core/src/main/java/org/ethereum/util/RLPList.java @@ -24,11 +24,10 @@ public class RLPList extends ArrayList implements RLPElement { throw new RuntimeException("RLPElement object can't be null"); if (element instanceof RLPList) { - RLPList rlpList = (RLPList) element; - System.out.print("["); - for (RLPElement singleElement : rlpList) { - recursivePrint(singleElement); - } + RLPList rlpList = (RLPList) element; + System.out.print("["); + for (RLPElement singleElement : rlpList) + recursivePrint(singleElement); System.out.print("]"); } else { String hex = ByteUtil.toHexString(element.getRLPData()); diff --git a/ethereumj-core/src/main/java/org/ethereum/vm/LogInfo.java b/ethereumj-core/src/main/java/org/ethereum/vm/LogInfo.java index c1b2cd7b..46dc9a06 100644 --- a/ethereumj-core/src/main/java/org/ethereum/vm/LogInfo.java +++ b/ethereumj-core/src/main/java/org/ethereum/vm/LogInfo.java @@ -46,9 +46,9 @@ public class LogInfo { } public LogInfo(byte[] address, List topics, byte[] data) { - this.address = (address != null) ? address : new byte[]{} ; - this.topics = (topics != null) ? topics : new ArrayList(); - this.data = (data != null) ? data : new byte[]{} ; + this.address = (address != null) ? address : new byte[]{}; + this.topics = (topics != null) ? topics : new ArrayList(); + this.data = (data != null) ? data : new byte[]{}; } public byte[] getAddress() { diff --git a/ethereumj-core/src/test/java/test/ethereum/jsontestsuite/GitHubJSONTestSuite.java b/ethereumj-core/src/test/java/test/ethereum/jsontestsuite/GitHubJSONTestSuite.java index 445792ad..6a64f311 100644 --- a/ethereumj-core/src/test/java/test/ethereum/jsontestsuite/GitHubJSONTestSuite.java +++ b/ethereumj-core/src/test/java/test/ethereum/jsontestsuite/GitHubJSONTestSuite.java @@ -77,11 +77,9 @@ public class GitHubJSONTestSuite { TestRunner runner = new TestRunner(); List result = runner.runTestCase(testCase); - if (!result.isEmpty()){ - for (String single : result){ + if (!result.isEmpty()) + for (String single : result) logger.info(single); - } - } Assert.assertTrue(result.isEmpty()); } @@ -109,11 +107,9 @@ public class GitHubJSONTestSuite { TestRunner runner = new TestRunner(); List result = runner.runTestCase(testCase); - if (!result.isEmpty()){ - for (String single : result){ + if (!result.isEmpty()) + for (String single : result) logger.info(single); - } - } Assert.assertTrue(result.isEmpty()); } @@ -135,11 +131,9 @@ public class GitHubJSONTestSuite { TestRunner runner = new TestRunner(); List result = runner.runTestCase(testCase); - if (!result.isEmpty()){ - for (String single : result){ + if (!result.isEmpty()) + for (String single : result) logger.info(single); - } - } Assert.assertTrue(result.isEmpty()); }