From 806afa04419ebdc3c15d5adf065979aa7303e7f6 Mon Sep 17 00:00:00 2001 From: Sean Gilligan Date: Thu, 30 May 2019 19:23:15 -0700 Subject: [PATCH] Replace Guava newArrayList()/newLinkedList() with direct call to the JDK 7 constructor. This is recommended by deprecation comment in Guava. --- .../main/java/org/bitcoinj/core/BloomFilter.java | 3 +-- core/src/main/java/org/bitcoinj/core/Peer.java | 5 ++--- .../main/java/org/bitcoinj/core/PeerGroup.java | 2 +- core/src/main/java/org/bitcoinj/core/Utils.java | 3 +-- .../main/java/org/bitcoinj/net/FilterMerger.java | 3 +-- .../net/discovery/MultiplexingDiscovery.java | 9 +++------ .../protocols/payments/PaymentProtocol.java | 3 +-- .../main/java/org/bitcoinj/script/Script.java | 5 ++--- .../java/org/bitcoinj/script/ScriptBuilder.java | 5 ++--- .../store/DatabaseFullPrunedBlockStore.java | 3 +-- .../store/LevelDBFullPrunedBlockStore.java | 3 +-- .../store/MemoryFullPrunedBlockStore.java | 3 +-- .../java/org/bitcoinj/wallet/BasicKeyChain.java | 3 +-- .../bitcoinj/wallet/DeterministicKeyChain.java | 14 ++++++-------- .../java/org/bitcoinj/wallet/KeyChainGroup.java | 8 ++++---- .../org/bitcoinj/wallet/KeyTimeCoinSelector.java | 3 +-- .../org/bitcoinj/wallet/MarriedKeyChain.java | 6 +++--- .../main/java/org/bitcoinj/wallet/Wallet.java | 16 ++++++++-------- .../wallet/WalletProtobufSerializer.java | 3 +-- .../test/java/org/bitcoinj/core/ECKeyTest.java | 3 ++- .../FilteredBlockAndPartialMerkleTreeTests.java | 5 ++--- .../java/org/bitcoinj/core/PeerGroupTest.java | 2 +- .../org/bitcoinj/crypto/MnemonicCodeTest.java | 4 ++-- .../wallet/DeterministicKeyChainTest.java | 3 ++- .../java/org/bitcoinj/wallet/WalletTest.java | 6 +++--- .../java/org/bitcoinj/examples/PeerMonitor.java | 6 +++--- .../java/org/bitcoinj/examples/PrintPeers.java | 3 +-- 27 files changed, 57 insertions(+), 75 deletions(-) diff --git a/core/src/main/java/org/bitcoinj/core/BloomFilter.java b/core/src/main/java/org/bitcoinj/core/BloomFilter.java index 286c26902..e662abbd6 100644 --- a/core/src/main/java/org/bitcoinj/core/BloomFilter.java +++ b/core/src/main/java/org/bitcoinj/core/BloomFilter.java @@ -22,7 +22,6 @@ import org.bitcoinj.script.ScriptChunk; import org.bitcoinj.script.ScriptPattern; import com.google.common.base.MoreObjects; -import com.google.common.collect.Lists; import java.io.IOException; import java.io.OutputStream; @@ -314,7 +313,7 @@ public class BloomFilter extends Message { public synchronized FilteredBlock applyAndUpdate(Block block) { List txns = block.getTransactions(); List txHashes = new ArrayList<>(txns.size()); - List matched = Lists.newArrayList(); + List matched = new ArrayList<>(); byte[] bits = new byte[(int) Math.ceil(txns.size() / 8.0)]; for (int i = 0; i < txns.size(); i++) { Transaction tx = txns.get(i); diff --git a/core/src/main/java/org/bitcoinj/core/Peer.java b/core/src/main/java/org/bitcoinj/core/Peer.java index 91a8e7dde..d30d6f2ed 100644 --- a/core/src/main/java/org/bitcoinj/core/Peer.java +++ b/core/src/main/java/org/bitcoinj/core/Peer.java @@ -33,7 +33,6 @@ import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; import com.google.common.base.Strings; import com.google.common.base.Throwables; -import com.google.common.collect.Lists; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; @@ -904,7 +903,7 @@ public class Peer extends PeerSocketHandler { lock.lock(); try { // Build the request for the missing dependencies. - List> futures = Lists.newArrayList(); + List> futures = new ArrayList<>(); GetDataMessage getdata = new GetDataMessage(params); if (needToRequest.size() > 1) log.info("{}: Requesting {} transactions for depth {} dep resolution", getAddress(), needToRequest.size(), depth + 1); @@ -920,7 +919,7 @@ public class Peer extends PeerSocketHandler { public void onSuccess(List transactions) { // Once all transactions either were received, or we know there are no more to come ... // Note that transactions will contain "null" for any positions that weren't successful. - List> childFutures = Lists.newLinkedList(); + List> childFutures = new LinkedList<>(); for (Transaction tx : transactions) { if (tx == null) continue; log.info("{}: Downloaded dependency of {}: {}", getAddress(), rootTxHash, tx.getTxId()); diff --git a/core/src/main/java/org/bitcoinj/core/PeerGroup.java b/core/src/main/java/org/bitcoinj/core/PeerGroup.java index c12f46182..d7786a90d 100644 --- a/core/src/main/java/org/bitcoinj/core/PeerGroup.java +++ b/core/src/main/java/org/bitcoinj/core/PeerGroup.java @@ -926,7 +926,7 @@ public class PeerGroup implements TransactionBroadcaster { int maxPeersToDiscoverCount = this.vMaxPeersToDiscoverCount; long peerDiscoveryTimeoutMillis = this.vPeerDiscoveryTimeoutMillis; final Stopwatch watch = Stopwatch.createStarted(); - final List addressList = Lists.newLinkedList(); + final List addressList = new LinkedList<>(); for (PeerDiscovery peerDiscovery : peerDiscoverers /* COW */) { InetSocketAddress[] addresses; try { diff --git a/core/src/main/java/org/bitcoinj/core/Utils.java b/core/src/main/java/org/bitcoinj/core/Utils.java index 85a62a205..278d9e040 100644 --- a/core/src/main/java/org/bitcoinj/core/Utils.java +++ b/core/src/main/java/org/bitcoinj/core/Utils.java @@ -41,7 +41,6 @@ import org.slf4j.LoggerFactory; import com.google.common.base.Joiner; import com.google.common.base.Splitter; -import com.google.common.collect.Lists; import com.google.common.collect.Ordering; import com.google.common.io.BaseEncoding; @@ -532,7 +531,7 @@ public class Utils { return 0; // This would be much easier in a functional language (or in Java 8). items = Ordering.natural().reverse().sortedCopy(items); - LinkedList pairs = Lists.newLinkedList(); + LinkedList pairs = new LinkedList<>(); pairs.add(new Pair(items.get(0), 0)); for (int item : items) { Pair pair = pairs.getLast(); diff --git a/core/src/main/java/org/bitcoinj/net/FilterMerger.java b/core/src/main/java/org/bitcoinj/net/FilterMerger.java index b3425c2a7..9366ba9dd 100644 --- a/core/src/main/java/org/bitcoinj/net/FilterMerger.java +++ b/core/src/main/java/org/bitcoinj/net/FilterMerger.java @@ -16,7 +16,6 @@ package org.bitcoinj.net; -import com.google.common.collect.Lists; import org.bitcoinj.core.BloomFilter; import org.bitcoinj.core.PeerFilterProvider; import com.google.common.collect.ImmutableList; @@ -57,7 +56,7 @@ public class FilterMerger { } public Result calculate(ImmutableList providers) { - LinkedList begunProviders = Lists.newLinkedList(); + LinkedList begunProviders = new LinkedList<>(); try { // All providers must be in a consistent, unchanging state because the filter is a merged one that's // large enough for all providers elements: if a provider were to get more elements in the middle of the diff --git a/core/src/main/java/org/bitcoinj/net/discovery/MultiplexingDiscovery.java b/core/src/main/java/org/bitcoinj/net/discovery/MultiplexingDiscovery.java index 158e312f3..d743ffeee 100644 --- a/core/src/main/java/org/bitcoinj/net/discovery/MultiplexingDiscovery.java +++ b/core/src/main/java/org/bitcoinj/net/discovery/MultiplexingDiscovery.java @@ -17,11 +17,8 @@ package org.bitcoinj.net.discovery; -import com.google.common.collect.Lists; - import org.bitcoinj.core.NetworkParameters; import org.bitcoinj.core.VersionMessage; -import org.bitcoinj.net.discovery.HttpDiscovery; import org.bitcoinj.net.discovery.DnsDiscovery.DnsSeedDiscovery; import org.bitcoinj.utils.*; import org.slf4j.Logger; @@ -56,7 +53,7 @@ public class MultiplexingDiscovery implements PeerDiscovery { * @param services Required services as a bitmask, e.g. {@link VersionMessage#NODE_NETWORK}. */ public static MultiplexingDiscovery forServices(NetworkParameters params, long services) { - List discoveries = Lists.newArrayList(); + List discoveries = new ArrayList<>(); HttpDiscovery.Details[] httpSeeds = params.getHttpSeeds(); if (httpSeeds != null) { OkHttpClient httpClient = new OkHttpClient(); @@ -86,7 +83,7 @@ public class MultiplexingDiscovery implements PeerDiscovery { public InetSocketAddress[] getPeers(final long services, final long timeoutValue, final TimeUnit timeoutUnit) throws PeerDiscoveryException { vThreadPool = createExecutor(); try { - List> tasks = Lists.newArrayList(); + List> tasks = new ArrayList<>(); for (final PeerDiscovery seed : seeds) { tasks.add(new Callable() { @Override @@ -96,7 +93,7 @@ public class MultiplexingDiscovery implements PeerDiscovery { }); } final List> futures = vThreadPool.invokeAll(tasks, timeoutValue, timeoutUnit); - ArrayList addrs = Lists.newArrayList(); + ArrayList addrs = new ArrayList<>(); for (int i = 0; i < futures.size(); i++) { Future future = futures.get(i); if (future.isCancelled()) { diff --git a/core/src/main/java/org/bitcoinj/protocols/payments/PaymentProtocol.java b/core/src/main/java/org/bitcoinj/protocols/payments/PaymentProtocol.java index e440269c5..ceeb9e50a 100644 --- a/core/src/main/java/org/bitcoinj/protocols/payments/PaymentProtocol.java +++ b/core/src/main/java/org/bitcoinj/protocols/payments/PaymentProtocol.java @@ -23,7 +23,6 @@ import org.bitcoinj.script.ScriptBuilder; import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; import org.bitcoin.protocols.payments.Protos; @@ -186,7 +185,7 @@ public class PaymentProtocol { // The ordering of certificates is defined by the payment protocol spec to be the same as what the Java // crypto API requires - convenient! CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); - certs = Lists.newArrayList(); + certs = new ArrayList<>(); for (ByteString bytes : protoCerts.getCertificateList()) certs.add((X509Certificate) certificateFactory.generateCertificate(bytes.newInput())); CertPath path = certificateFactory.generateCertPath(certs); diff --git a/core/src/main/java/org/bitcoinj/script/Script.java b/core/src/main/java/org/bitcoinj/script/Script.java index 8a0f5fde1..d00587fe0 100644 --- a/core/src/main/java/org/bitcoinj/script/Script.java +++ b/core/src/main/java/org/bitcoinj/script/Script.java @@ -21,7 +21,6 @@ package org.bitcoinj.script; import org.bitcoinj.core.*; import org.bitcoinj.crypto.TransactionSignature; -import com.google.common.collect.Lists; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.bouncycastle.crypto.digests.RIPEMD160Digest; @@ -108,7 +107,7 @@ public class Script { /** Creates an empty script that serializes to nothing. */ private Script() { - chunks = Lists.newArrayList(); + chunks = new ArrayList<>(); } // Used from ScriptBuilder. @@ -481,7 +480,7 @@ public class Script { if (!ScriptPattern.isSentToMultisig(this)) throw new ScriptException(ScriptError.SCRIPT_ERR_UNKNOWN_ERROR, "Only usable for multisig scripts."); - ArrayList result = Lists.newArrayList(); + ArrayList result = new ArrayList<>(); int numKeys = Script.decodeFromOpN(chunks.get(chunks.size() - 2).opcode); for (int i = 0 ; i < numKeys ; i++) result.add(ECKey.fromPublicOnly(chunks.get(1 + i).data)); diff --git a/core/src/main/java/org/bitcoinj/script/ScriptBuilder.java b/core/src/main/java/org/bitcoinj/script/ScriptBuilder.java index e2a283dab..27985e53b 100644 --- a/core/src/main/java/org/bitcoinj/script/ScriptBuilder.java +++ b/core/src/main/java/org/bitcoinj/script/ScriptBuilder.java @@ -18,8 +18,6 @@ package org.bitcoinj.script; -import com.google.common.collect.Lists; - import org.bitcoinj.core.Address; import org.bitcoinj.core.LegacyAddress; import org.bitcoinj.core.ECKey; @@ -35,6 +33,7 @@ import java.math.BigInteger; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.LinkedList; import java.util.List; import java.util.Stack; @@ -52,7 +51,7 @@ public class ScriptBuilder { /** Creates a fresh ScriptBuilder with an empty program. */ public ScriptBuilder() { - chunks = Lists.newLinkedList(); + chunks = new LinkedList<>(); } /** Creates a fresh ScriptBuilder with the given program as the starting point. */ diff --git a/core/src/main/java/org/bitcoinj/store/DatabaseFullPrunedBlockStore.java b/core/src/main/java/org/bitcoinj/store/DatabaseFullPrunedBlockStore.java index e474404b1..9acd22684 100644 --- a/core/src/main/java/org/bitcoinj/store/DatabaseFullPrunedBlockStore.java +++ b/core/src/main/java/org/bitcoinj/store/DatabaseFullPrunedBlockStore.java @@ -18,7 +18,6 @@ package org.bitcoinj.store; -import com.google.common.collect.Lists; import org.bitcoinj.core.*; import org.bitcoinj.script.Script; import org.bitcoinj.script.Script.ScriptType; @@ -557,7 +556,7 @@ public abstract class DatabaseFullPrunedBlockStore implements FullPrunedBlockSto StoredBlock storedGenesisHeader = new StoredBlock(params.getGenesisBlock().cloneAsHeader(), params.getGenesisBlock().getWork(), 0); // The coinbase in the genesis block is not spendable. This is because of how Bitcoin Core inits // its database - the genesis transaction isn't actually in the db so its spent flags can never be updated. - List genesisTransactions = Lists.newLinkedList(); + List genesisTransactions = new LinkedList<>(); StoredUndoableBlock storedGenesis = new StoredUndoableBlock(params.getGenesisBlock().getHash(), genesisTransactions); put(storedGenesisHeader, storedGenesis); setChainHead(storedGenesisHeader); diff --git a/core/src/main/java/org/bitcoinj/store/LevelDBFullPrunedBlockStore.java b/core/src/main/java/org/bitcoinj/store/LevelDBFullPrunedBlockStore.java index 814f95380..df50e7cbe 100644 --- a/core/src/main/java/org/bitcoinj/store/LevelDBFullPrunedBlockStore.java +++ b/core/src/main/java/org/bitcoinj/store/LevelDBFullPrunedBlockStore.java @@ -51,7 +51,6 @@ import org.slf4j.LoggerFactory; import static org.fusesource.leveldbjni.JniDBFactory.*; import com.google.common.base.Stopwatch; -import com.google.common.collect.Lists; /** *

@@ -331,7 +330,7 @@ public class LevelDBFullPrunedBlockStore implements FullPrunedBlockStore { // because of how the reference client inits // its database - the genesis transaction isn't actually in the db // so its spent flags can never be updated. - List genesisTransactions = Lists.newLinkedList(); + List genesisTransactions = new LinkedList<>(); StoredUndoableBlock storedGenesis = new StoredUndoableBlock(params.getGenesisBlock().getHash(), genesisTransactions); beginDatabaseBatchWrite(); diff --git a/core/src/main/java/org/bitcoinj/store/MemoryFullPrunedBlockStore.java b/core/src/main/java/org/bitcoinj/store/MemoryFullPrunedBlockStore.java index c79d66f61..c983bf641 100644 --- a/core/src/main/java/org/bitcoinj/store/MemoryFullPrunedBlockStore.java +++ b/core/src/main/java/org/bitcoinj/store/MemoryFullPrunedBlockStore.java @@ -18,7 +18,6 @@ package org.bitcoinj.store; import org.bitcoinj.core.*; import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import javax.annotation.Nullable; import java.util.*; @@ -260,7 +259,7 @@ public class MemoryFullPrunedBlockStore implements FullPrunedBlockStore { try { StoredBlock storedGenesisHeader = new StoredBlock(params.getGenesisBlock().cloneAsHeader(), params.getGenesisBlock().getWork(), 0); // The coinbase in the genesis block is not spendable - List genesisTransactions = Lists.newLinkedList(); + List genesisTransactions = new LinkedList<>(); StoredUndoableBlock storedGenesis = new StoredUndoableBlock(params.getGenesisBlock().getHash(), genesisTransactions); put(storedGenesisHeader, storedGenesis); setChainHead(storedGenesisHeader); diff --git a/core/src/main/java/org/bitcoinj/wallet/BasicKeyChain.java b/core/src/main/java/org/bitcoinj/wallet/BasicKeyChain.java index bbbe72f0a..b8f90506f 100644 --- a/core/src/main/java/org/bitcoinj/wallet/BasicKeyChain.java +++ b/core/src/main/java/org/bitcoinj/wallet/BasicKeyChain.java @@ -26,7 +26,6 @@ import org.bitcoinj.utils.Threading; import org.bitcoinj.wallet.listeners.KeyChainEventListener; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; import com.google.protobuf.ByteString; import org.bouncycastle.crypto.params.KeyParameter; @@ -608,7 +607,7 @@ public class BasicKeyChain implements EncryptableKeyChain { public List findKeysBefore(long timeSecs) { lock.lock(); try { - List results = Lists.newLinkedList(); + List results = new LinkedList<>(); for (ECKey key : hashToKeys.values()) { final long keyTime = key.getCreationTimeSeconds(); if (keyTime < timeSecs) { diff --git a/core/src/main/java/org/bitcoinj/wallet/DeterministicKeyChain.java b/core/src/main/java/org/bitcoinj/wallet/DeterministicKeyChain.java index 1bf2c9a0a..24949d921 100644 --- a/core/src/main/java/org/bitcoinj/wallet/DeterministicKeyChain.java +++ b/core/src/main/java/org/bitcoinj/wallet/DeterministicKeyChain.java @@ -43,8 +43,6 @@ import java.util.concurrent.Executor; import java.util.concurrent.locks.ReentrantLock; import static com.google.common.base.Preconditions.*; -import static com.google.common.collect.Lists.newArrayList; -import static com.google.common.collect.Lists.newLinkedList; /** *

A deterministic key chain is a {@link KeyChain} that uses the @@ -730,7 +728,7 @@ public class DeterministicKeyChain implements EncryptableKeyChain { @Override public List serializeToProtobuf() { - List result = newArrayList(); + List result = new ArrayList<>(); lock.lock(); try { result.addAll(serializeMyselfToProtobuf()); @@ -743,7 +741,7 @@ public class DeterministicKeyChain implements EncryptableKeyChain { protected List serializeMyselfToProtobuf() { // Most of the serialization work is delegated to the basic key chain, which will serialize the bulk of the // data (handling encryption along the way), and letting us patch it up with the extra data we care about. - LinkedList entries = newLinkedList(); + LinkedList entries = new LinkedList<>(); if (seed != null) { Protos.Key.Builder mnemonicEntry = BasicKeyChain.serializeEncryptableItem(seed); mnemonicEntry.setType(Protos.Key.Type.DETERMINISTIC_MNEMONIC); @@ -795,21 +793,21 @@ public class DeterministicKeyChain implements EncryptableKeyChain { * key rotation it can happen that there are multiple chains found. */ public static List fromProtobuf(List keys, @Nullable KeyCrypter crypter, KeyChainFactory factory) throws UnreadableWalletException { - List chains = newLinkedList(); + List chains = new LinkedList<>(); DeterministicSeed seed = null; DeterministicKeyChain chain = null; int lookaheadSize = -1; int sigsRequiredToSpend = 1; - List accountPath = newArrayList(); + List accountPath = new ArrayList<>(); Script.ScriptType outputScriptType = Script.ScriptType.P2PKH; PeekingIterator iter = Iterators.peekingIterator(keys.iterator()); while (iter.hasNext()) { Protos.Key key = iter.next(); final Protos.Key.Type t = key.getType(); if (t == Protos.Key.Type.DETERMINISTIC_MNEMONIC) { - accountPath = newArrayList(); + accountPath = new ArrayList<>(); for (int i : key.getAccountPathList()) { accountPath.add(new ChildNumber(i)); } @@ -855,7 +853,7 @@ public class DeterministicKeyChain implements EncryptableKeyChain { throw new UnreadableWalletException("Deterministic key missing extra data: " + key.toString()); byte[] chainCode = key.getDeterministicKey().getChainCode().toByteArray(); // Deserialize the path through the tree. - LinkedList path = newLinkedList(); + LinkedList path = new LinkedList<>(); for (int i : key.getDeterministicKey().getPathList()) path.add(new ChildNumber(i)); // Deserialize the public key and path. diff --git a/core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java b/core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java index c538d3a3e..395ed9dcd 100644 --- a/core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java +++ b/core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java @@ -494,7 +494,7 @@ public class KeyChainGroup implements KeyBag { public int importKeysAndEncrypt(final List keys, KeyParameter aesKey) { // TODO: Firstly check if the aes key can decrypt any of the existing keys successfully. checkState(keyCrypter != null, "Not encrypted"); - LinkedList encryptedKeys = Lists.newLinkedList(); + LinkedList encryptedKeys = new LinkedList<>(); for (ECKey key : keys) { if (key.isEncrypted()) throw new IllegalArgumentException("Cannot provide already encrypted keys"); @@ -848,7 +848,7 @@ public class KeyChainGroup implements KeyBag { if (basic != null) result = basic.serializeToProtobuf(); else - result = Lists.newArrayList(); + result = new ArrayList<>(); if (chains != null) for (DeterministicKeyChain chain : chains) result.addAll(chain.serializeToProtobuf()); @@ -1037,7 +1037,7 @@ public class KeyChainGroup implements KeyBag { private static void extractFollowingKeychains(List chains) { // look for following key chains and map them to the watch keys of followed keychains - List followingChains = Lists.newArrayList(); + List followingChains = new ArrayList<>(); for (Iterator it = chains.iterator(); it.hasNext(); ) { DeterministicKeyChain chain = it.next(); if (chain.isFollowing()) { @@ -1047,7 +1047,7 @@ public class KeyChainGroup implements KeyBag { if (!(chain instanceof MarriedKeyChain)) throw new IllegalStateException(); ((MarriedKeyChain)chain).setFollowingKeyChains(followingChains); - followingChains = Lists.newArrayList(); + followingChains = new ArrayList<>(); } } } diff --git a/core/src/main/java/org/bitcoinj/wallet/KeyTimeCoinSelector.java b/core/src/main/java/org/bitcoinj/wallet/KeyTimeCoinSelector.java index e996cbee9..752a0ac8f 100644 --- a/core/src/main/java/org/bitcoinj/wallet/KeyTimeCoinSelector.java +++ b/core/src/main/java/org/bitcoinj/wallet/KeyTimeCoinSelector.java @@ -22,7 +22,6 @@ import org.bitcoinj.script.Script; import org.bitcoinj.script.ScriptException; import org.bitcoinj.script.ScriptPattern; -import com.google.common.collect.Lists; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,7 +53,7 @@ public class KeyTimeCoinSelector implements CoinSelector { @Override public CoinSelection select(Coin target, List candidates) { try { - LinkedList gathered = Lists.newLinkedList(); + LinkedList gathered = new LinkedList<>(); Coin valueGathered = Coin.ZERO; for (TransactionOutput output : candidates) { if (ignorePending && !isConfirmed(output)) diff --git a/core/src/main/java/org/bitcoinj/wallet/MarriedKeyChain.java b/core/src/main/java/org/bitcoinj/wallet/MarriedKeyChain.java index c8e7aadcd..399b363cf 100644 --- a/core/src/main/java/org/bitcoinj/wallet/MarriedKeyChain.java +++ b/core/src/main/java/org/bitcoinj/wallet/MarriedKeyChain.java @@ -31,6 +31,7 @@ import org.bitcoinj.script.Script; import org.bitcoinj.script.ScriptBuilder; import org.bouncycastle.crypto.params.KeyParameter; +import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -40,7 +41,6 @@ import javax.annotation.Nullable; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; -import static com.google.common.collect.Lists.newArrayList; /** *

A multi-signature keychain using synchronized HD keys (a.k.a HDM)

@@ -185,7 +185,7 @@ public class MarriedKeyChain extends DeterministicKeyChain { checkState(numLeafKeysIssued() == 0, "Active keychain already has keys in use"); checkState(followingKeyChains == null); - List followingKeyChains = Lists.newArrayList(); + List followingKeyChains = new ArrayList<>(); for (DeterministicKey key : followingAccountKeys) { checkArgument(key.getPath().size() == getAccountPath().size(), "Following keys have to be account keys"); @@ -219,7 +219,7 @@ public class MarriedKeyChain extends DeterministicKeyChain { @Override public List serializeToProtobuf() { - List result = newArrayList(); + List result = new ArrayList<>(); lock.lock(); try { for (DeterministicKeyChain chain : followingKeyChains) { diff --git a/core/src/main/java/org/bitcoinj/wallet/Wallet.java b/core/src/main/java/org/bitcoinj/wallet/Wallet.java index d69d10fdb..72e6bf1c6 100644 --- a/core/src/main/java/org/bitcoinj/wallet/Wallet.java +++ b/core/src/main/java/org/bitcoinj/wallet/Wallet.java @@ -1012,7 +1012,7 @@ public class Wallet extends BaseTaggableObject * @return how many addresses were added successfully */ public int addWatchedAddresses(final List
addresses, long creationTime) { - List