mirror of
https://github.com/bitcoinj/bitcoinj.git
synced 2025-03-09 16:04:54 +01:00
Replace Guava newArrayList()/newLinkedList() with direct call to the JDK 7 constructor.
This is recommended by deprecation comment in Guava.
This commit is contained in:
parent
05ab09b40b
commit
806afa0441
27 changed files with 57 additions and 75 deletions
|
@ -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<Transaction> txns = block.getTransactions();
|
||||
List<Sha256Hash> txHashes = new ArrayList<>(txns.size());
|
||||
List<Transaction> matched = Lists.newArrayList();
|
||||
List<Transaction> 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);
|
||||
|
|
|
@ -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<ListenableFuture<Transaction>> futures = Lists.newArrayList();
|
||||
List<ListenableFuture<Transaction>> 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<Transaction> 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<ListenableFuture<Object>> childFutures = Lists.newLinkedList();
|
||||
List<ListenableFuture<Object>> childFutures = new LinkedList<>();
|
||||
for (Transaction tx : transactions) {
|
||||
if (tx == null) continue;
|
||||
log.info("{}: Downloaded dependency of {}: {}", getAddress(), rootTxHash, tx.getTxId());
|
||||
|
|
|
@ -926,7 +926,7 @@ public class PeerGroup implements TransactionBroadcaster {
|
|||
int maxPeersToDiscoverCount = this.vMaxPeersToDiscoverCount;
|
||||
long peerDiscoveryTimeoutMillis = this.vPeerDiscoveryTimeoutMillis;
|
||||
final Stopwatch watch = Stopwatch.createStarted();
|
||||
final List<PeerAddress> addressList = Lists.newLinkedList();
|
||||
final List<PeerAddress> addressList = new LinkedList<>();
|
||||
for (PeerDiscovery peerDiscovery : peerDiscoverers /* COW */) {
|
||||
InetSocketAddress[] addresses;
|
||||
try {
|
||||
|
|
|
@ -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<Pair> pairs = Lists.newLinkedList();
|
||||
LinkedList<Pair> pairs = new LinkedList<>();
|
||||
pairs.add(new Pair(items.get(0), 0));
|
||||
for (int item : items) {
|
||||
Pair pair = pairs.getLast();
|
||||
|
|
|
@ -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<PeerFilterProvider> providers) {
|
||||
LinkedList<PeerFilterProvider> begunProviders = Lists.newLinkedList();
|
||||
LinkedList<PeerFilterProvider> 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
|
||||
|
|
|
@ -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<PeerDiscovery> discoveries = Lists.newArrayList();
|
||||
List<PeerDiscovery> 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<Callable<InetSocketAddress[]>> tasks = Lists.newArrayList();
|
||||
List<Callable<InetSocketAddress[]>> tasks = new ArrayList<>();
|
||||
for (final PeerDiscovery seed : seeds) {
|
||||
tasks.add(new Callable<InetSocketAddress[]>() {
|
||||
@Override
|
||||
|
@ -96,7 +93,7 @@ public class MultiplexingDiscovery implements PeerDiscovery {
|
|||
});
|
||||
}
|
||||
final List<Future<InetSocketAddress[]>> futures = vThreadPool.invokeAll(tasks, timeoutValue, timeoutUnit);
|
||||
ArrayList<InetSocketAddress> addrs = Lists.newArrayList();
|
||||
ArrayList<InetSocketAddress> addrs = new ArrayList<>();
|
||||
for (int i = 0; i < futures.size(); i++) {
|
||||
Future<InetSocketAddress[]> future = futures.get(i);
|
||||
if (future.isCancelled()) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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<ECKey> result = Lists.newArrayList();
|
||||
ArrayList<ECKey> 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));
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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<Transaction> genesisTransactions = Lists.newLinkedList();
|
||||
List<Transaction> genesisTransactions = new LinkedList<>();
|
||||
StoredUndoableBlock storedGenesis = new StoredUndoableBlock(params.getGenesisBlock().getHash(), genesisTransactions);
|
||||
put(storedGenesisHeader, storedGenesis);
|
||||
setChainHead(storedGenesisHeader);
|
||||
|
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
@ -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<Transaction> genesisTransactions = Lists.newLinkedList();
|
||||
List<Transaction> genesisTransactions = new LinkedList<>();
|
||||
StoredUndoableBlock storedGenesis = new StoredUndoableBlock(params.getGenesisBlock().getHash(),
|
||||
genesisTransactions);
|
||||
beginDatabaseBatchWrite();
|
||||
|
|
|
@ -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<Transaction> genesisTransactions = Lists.newLinkedList();
|
||||
List<Transaction> genesisTransactions = new LinkedList<>();
|
||||
StoredUndoableBlock storedGenesis = new StoredUndoableBlock(params.getGenesisBlock().getHash(), genesisTransactions);
|
||||
put(storedGenesisHeader, storedGenesis);
|
||||
setChainHead(storedGenesisHeader);
|
||||
|
|
|
@ -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<ECKey> findKeysBefore(long timeSecs) {
|
||||
lock.lock();
|
||||
try {
|
||||
List<ECKey> results = Lists.newLinkedList();
|
||||
List<ECKey> results = new LinkedList<>();
|
||||
for (ECKey key : hashToKeys.values()) {
|
||||
final long keyTime = key.getCreationTimeSeconds();
|
||||
if (keyTime < timeSecs) {
|
||||
|
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>A deterministic key chain is a {@link KeyChain} that uses the
|
||||
|
@ -730,7 +728,7 @@ public class DeterministicKeyChain implements EncryptableKeyChain {
|
|||
|
||||
@Override
|
||||
public List<Protos.Key> serializeToProtobuf() {
|
||||
List<Protos.Key> result = newArrayList();
|
||||
List<Protos.Key> result = new ArrayList<>();
|
||||
lock.lock();
|
||||
try {
|
||||
result.addAll(serializeMyselfToProtobuf());
|
||||
|
@ -743,7 +741,7 @@ public class DeterministicKeyChain implements EncryptableKeyChain {
|
|||
protected List<Protos.Key> 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<Protos.Key> entries = newLinkedList();
|
||||
LinkedList<Protos.Key> 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<DeterministicKeyChain> fromProtobuf(List<Protos.Key> keys, @Nullable KeyCrypter crypter, KeyChainFactory factory) throws UnreadableWalletException {
|
||||
List<DeterministicKeyChain> chains = newLinkedList();
|
||||
List<DeterministicKeyChain> chains = new LinkedList<>();
|
||||
DeterministicSeed seed = null;
|
||||
DeterministicKeyChain chain = null;
|
||||
|
||||
int lookaheadSize = -1;
|
||||
int sigsRequiredToSpend = 1;
|
||||
|
||||
List<ChildNumber> accountPath = newArrayList();
|
||||
List<ChildNumber> accountPath = new ArrayList<>();
|
||||
Script.ScriptType outputScriptType = Script.ScriptType.P2PKH;
|
||||
PeekingIterator<Protos.Key> 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<ChildNumber> path = newLinkedList();
|
||||
LinkedList<ChildNumber> path = new LinkedList<>();
|
||||
for (int i : key.getDeterministicKey().getPathList())
|
||||
path.add(new ChildNumber(i));
|
||||
// Deserialize the public key and path.
|
||||
|
|
|
@ -494,7 +494,7 @@ public class KeyChainGroup implements KeyBag {
|
|||
public int importKeysAndEncrypt(final List<ECKey> keys, KeyParameter aesKey) {
|
||||
// TODO: Firstly check if the aes key can decrypt any of the existing keys successfully.
|
||||
checkState(keyCrypter != null, "Not encrypted");
|
||||
LinkedList<ECKey> encryptedKeys = Lists.newLinkedList();
|
||||
LinkedList<ECKey> 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<DeterministicKeyChain> chains) {
|
||||
// look for following key chains and map them to the watch keys of followed keychains
|
||||
List<DeterministicKeyChain> followingChains = Lists.newArrayList();
|
||||
List<DeterministicKeyChain> followingChains = new ArrayList<>();
|
||||
for (Iterator<DeterministicKeyChain> 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<>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<TransactionOutput> candidates) {
|
||||
try {
|
||||
LinkedList<TransactionOutput> gathered = Lists.newLinkedList();
|
||||
LinkedList<TransactionOutput> gathered = new LinkedList<>();
|
||||
Coin valueGathered = Coin.ZERO;
|
||||
for (TransactionOutput output : candidates) {
|
||||
if (ignorePending && !isConfirmed(output))
|
||||
|
|
|
@ -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;
|
||||
|
||||
/**
|
||||
* <p>A multi-signature keychain using synchronized HD keys (a.k.a HDM)</p>
|
||||
|
@ -185,7 +185,7 @@ public class MarriedKeyChain extends DeterministicKeyChain {
|
|||
checkState(numLeafKeysIssued() == 0, "Active keychain already has keys in use");
|
||||
checkState(followingKeyChains == null);
|
||||
|
||||
List<DeterministicKeyChain> followingKeyChains = Lists.newArrayList();
|
||||
List<DeterministicKeyChain> 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<Protos.Key> serializeToProtobuf() {
|
||||
List<Protos.Key> result = newArrayList();
|
||||
List<Protos.Key> result = new ArrayList<>();
|
||||
lock.lock();
|
||||
try {
|
||||
for (DeterministicKeyChain chain : followingKeyChains) {
|
||||
|
|
|
@ -1012,7 +1012,7 @@ public class Wallet extends BaseTaggableObject
|
|||
* @return how many addresses were added successfully
|
||||
*/
|
||||
public int addWatchedAddresses(final List<Address> addresses, long creationTime) {
|
||||
List<Script> scripts = Lists.newArrayList();
|
||||
List<Script> scripts = new ArrayList<>();
|
||||
|
||||
for (Address address : addresses) {
|
||||
Script script = ScriptBuilder.createOutputScript(address);
|
||||
|
@ -1071,7 +1071,7 @@ public class Wallet extends BaseTaggableObject
|
|||
* @return true if successful
|
||||
*/
|
||||
public boolean removeWatchedAddresses(final List<Address> addresses) {
|
||||
List<Script> scripts = Lists.newArrayList();
|
||||
List<Script> scripts = new ArrayList<>();
|
||||
|
||||
for (Address address : addresses) {
|
||||
Script script = ScriptBuilder.createOutputScript(address);
|
||||
|
@ -3224,7 +3224,7 @@ public class Wallet extends BaseTaggableObject
|
|||
lock.lock();
|
||||
keyChainGroupLock.lock();
|
||||
try {
|
||||
LinkedList<TransactionOutput> candidates = Lists.newLinkedList();
|
||||
LinkedList<TransactionOutput> candidates = new LinkedList<>();
|
||||
for (Transaction tx : Iterables.concat(unspent.values(), pending.values())) {
|
||||
if (excludeImmatureCoinbases && !tx.isMature()) continue;
|
||||
for (TransactionOutput output : tx.getOutputs()) {
|
||||
|
@ -3747,7 +3747,7 @@ public class Wallet extends BaseTaggableObject
|
|||
public Coin value;
|
||||
public BalanceType type;
|
||||
}
|
||||
@GuardedBy("lock") private List<BalanceFutureRequest> balanceFutureRequests = Lists.newLinkedList();
|
||||
@GuardedBy("lock") private List<BalanceFutureRequest> balanceFutureRequests = new LinkedList<>();
|
||||
|
||||
/**
|
||||
* <p>Returns a future that will complete when the balance of the given type has becom equal or larger to the given
|
||||
|
@ -4436,7 +4436,7 @@ public class Wallet extends BaseTaggableObject
|
|||
protected LinkedList<TransactionOutput> calculateAllSpendCandidatesFromUTXOProvider(boolean excludeImmatureCoinbases) {
|
||||
checkState(lock.isHeldByCurrentThread());
|
||||
UTXOProvider utxoProvider = checkNotNull(vUTXOProvider, "No UTXO provider has been set");
|
||||
LinkedList<TransactionOutput> candidates = Lists.newLinkedList();
|
||||
LinkedList<TransactionOutput> candidates = new LinkedList<>();
|
||||
try {
|
||||
int chainHeight = utxoProvider.getChainHeadHeight();
|
||||
for (UTXO output : getStoredOutputsFromUTXOProvider()) {
|
||||
|
@ -4680,7 +4680,7 @@ public class Wallet extends BaseTaggableObject
|
|||
Collections.reverse(newBlocks); // Need bottom-to-top but we get top-to-bottom.
|
||||
|
||||
// For each block in the old chain, disconnect the transactions in reverse order.
|
||||
LinkedList<Transaction> oldChainTxns = Lists.newLinkedList();
|
||||
LinkedList<Transaction> oldChainTxns = new LinkedList<>();
|
||||
for (Sha256Hash blockHash : oldBlockHashes) {
|
||||
for (TxOffsetPair pair : mapBlockTx.get(blockHash)) {
|
||||
Transaction tx = pair.tx;
|
||||
|
@ -4795,7 +4795,7 @@ public class Wallet extends BaseTaggableObject
|
|||
|
||||
//region Bloom filtering
|
||||
|
||||
private final ArrayList<TransactionOutPoint> bloomOutPoints = Lists.newArrayList();
|
||||
private final ArrayList<TransactionOutPoint> bloomOutPoints = new ArrayList<>();
|
||||
// Used to track whether we must automatically begin/end a filter calculation and calc outpoints/take the locks.
|
||||
private final AtomicInteger bloomFilterGuard = new AtomicInteger(0);
|
||||
|
||||
|
@ -5411,7 +5411,7 @@ public class Wallet extends BaseTaggableObject
|
|||
boolean sign) throws DeterministicUpgradeRequiresPassword {
|
||||
checkState(lock.isHeldByCurrentThread());
|
||||
checkState(keyChainGroupLock.isHeldByCurrentThread());
|
||||
List<Transaction> results = Lists.newLinkedList();
|
||||
List<Transaction> results = new LinkedList<>();
|
||||
// TODO: Handle chain replays here.
|
||||
final long keyRotationTimestamp = vKeyRotationTimestamp;
|
||||
if (keyRotationTimestamp == 0) return results; // Nothing to do.
|
||||
|
|
|
@ -37,7 +37,6 @@ import org.bitcoinj.utils.ExchangeRate;
|
|||
import org.bitcoinj.utils.Fiat;
|
||||
import org.bitcoinj.wallet.Protos.Wallet.EncryptionType;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.protobuf.ByteString;
|
||||
import com.google.protobuf.CodedInputStream;
|
||||
import com.google.protobuf.CodedOutputStream;
|
||||
|
@ -503,7 +502,7 @@ public class WalletProtobufSerializer {
|
|||
}
|
||||
Wallet wallet = factory.create(params, keyChainGroup);
|
||||
|
||||
List<Script> scripts = Lists.newArrayList();
|
||||
List<Script> scripts = new ArrayList<>();
|
||||
for (Protos.Script protoScript : walletProto.getWatchedScriptList()) {
|
||||
try {
|
||||
Script script =
|
||||
|
|
|
@ -39,6 +39,7 @@ import org.bouncycastle.crypto.params.KeyParameter;
|
|||
import java.io.InputStream;
|
||||
import java.math.BigInteger;
|
||||
import java.security.SignatureException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
@ -73,7 +74,7 @@ public class ECKeyTest {
|
|||
// issue that can allow someone to change a transaction [hash] without invalidating the signature.
|
||||
final int ITERATIONS = 10;
|
||||
ListeningExecutorService executor = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(ITERATIONS));
|
||||
List<ListenableFuture<ECKey.ECDSASignature>> sigFutures = Lists.newArrayList();
|
||||
List<ListenableFuture<ECKey.ECDSASignature>> sigFutures = new ArrayList<>();
|
||||
final ECKey key = new ECKey();
|
||||
for (byte i = 0; i < ITERATIONS; i++) {
|
||||
final Sha256Hash hash = Sha256Hash.of(new byte[]{i});
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
|
||||
package org.bitcoinj.core;
|
||||
|
||||
import com.google.common.collect.*;
|
||||
import org.bitcoinj.core.TransactionConfidence.*;
|
||||
import org.bitcoinj.store.*;
|
||||
import org.bitcoinj.testing.*;
|
||||
|
@ -118,7 +117,7 @@ public class FilteredBlockAndPartialMerkleTreeTests extends TestWithPeerGroup {
|
|||
|
||||
@Test(expected = VerificationException.class)
|
||||
public void merkleTreeMalleability() throws Exception {
|
||||
List<Sha256Hash> hashes = Lists.newArrayList();
|
||||
List<Sha256Hash> hashes = new ArrayList<>();
|
||||
for (byte i = 1; i <= 10; i++) hashes.add(numAsHash(i));
|
||||
hashes.add(numAsHash(9));
|
||||
hashes.add(numAsHash(10));
|
||||
|
@ -126,7 +125,7 @@ public class FilteredBlockAndPartialMerkleTreeTests extends TestWithPeerGroup {
|
|||
Utils.setBitLE(includeBits, 9);
|
||||
Utils.setBitLE(includeBits, 10);
|
||||
PartialMerkleTree pmt = PartialMerkleTree.buildFromLeaves(UNITTEST, includeBits, hashes);
|
||||
List<Sha256Hash> matchedHashes = Lists.newArrayList();
|
||||
List<Sha256Hash> matchedHashes = new ArrayList<>();
|
||||
pmt.getTxnHashAndMerkleRoot(matchedHashes);
|
||||
}
|
||||
|
||||
|
|
|
@ -795,7 +795,7 @@ public class PeerGroupTest extends TestWithPeerGroup {
|
|||
assertNextMessageIs(p1, GetBlocksMessage.class);
|
||||
|
||||
// Make some transactions and blocks that send money to the wallet thus using up all the keys.
|
||||
List<Block> blocks = Lists.newArrayList();
|
||||
List<Block> blocks = new ArrayList<>();
|
||||
Coin expectedBalance = Coin.ZERO;
|
||||
Block prev = blockStore.getChainHead().getHeader();
|
||||
for (ECKey key1 : keys) {
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
package org.bitcoinj.crypto;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
|
@ -67,7 +67,7 @@ public class MnemonicCodeTest {
|
|||
|
||||
@Test(expected = MnemonicException.MnemonicLengthException.class)
|
||||
public void testEmptyMnemonic() throws Exception {
|
||||
List<String> words = Lists.newArrayList();
|
||||
List<String> words = new ArrayList<>();
|
||||
mc.check(words);
|
||||
}
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@ import org.bouncycastle.crypto.params.KeyParameter;
|
|||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
@ -171,7 +172,7 @@ public class DeterministicKeyChainTest {
|
|||
@Test
|
||||
public void events() throws Exception {
|
||||
// Check that we get the right events at the right time.
|
||||
final List<List<ECKey>> listenerKeys = Lists.newArrayList();
|
||||
final List<List<ECKey>> listenerKeys = new ArrayList<>();
|
||||
long secs = 1389353062L;
|
||||
chain = DeterministicKeyChain.builder().entropy(ENTROPY, secs).outputScriptType(Script.ScriptType.P2PKH)
|
||||
.build();
|
||||
|
|
|
@ -120,7 +120,7 @@ public class WalletTest extends TestWithWallet {
|
|||
blockStore = new MemoryBlockStore(UNITTEST);
|
||||
chain = new BlockChain(UNITTEST, wallet, blockStore);
|
||||
|
||||
List<DeterministicKey> followingKeys = Lists.newArrayList();
|
||||
List<DeterministicKey> followingKeys = new ArrayList<>();
|
||||
for (int i = 0; i < numKeys - 1; i++) {
|
||||
final DeterministicKeyChain keyChain = DeterministicKeyChain.builder().random(new SecureRandom()).build();
|
||||
DeterministicKey partnerKey = DeterministicKey.deserializeB58(null, keyChain.getWatchingKey().serializePubB58(UNITTEST), UNITTEST);
|
||||
|
@ -453,7 +453,7 @@ public class WalletTest extends TestWithWallet {
|
|||
}
|
||||
|
||||
private static void broadcastAndCommit(Wallet wallet, Transaction t) throws Exception {
|
||||
final LinkedList<Transaction> txns = Lists.newLinkedList();
|
||||
final LinkedList<Transaction> txns = new LinkedList<>();
|
||||
wallet.addCoinsSentEventListener(new WalletCoinsSentEventListener() {
|
||||
@Override
|
||||
public void onCoinsSent(Wallet wallet, Transaction tx, Coin prevBalance, Coin newBalance) {
|
||||
|
@ -3324,7 +3324,7 @@ public class WalletTest extends TestWithWallet {
|
|||
public void keyEvents() throws Exception {
|
||||
// Check that we can register an event listener, generate some keys and the callbacks are invoked properly.
|
||||
wallet = new Wallet(UNITTEST, KeyChainGroup.builder(UNITTEST).fromRandom(Script.ScriptType.P2PKH).build());
|
||||
final List<ECKey> keys = Lists.newLinkedList();
|
||||
final List<ECKey> keys = new LinkedList<>();
|
||||
wallet.addKeyChainEventListener(Threading.SAME_THREAD, new KeyChainEventListener() {
|
||||
@Override
|
||||
public void onKeysAdded(List<ECKey> k) {
|
||||
|
|
|
@ -25,7 +25,6 @@ import org.bitcoinj.core.PeerGroup;
|
|||
import org.bitcoinj.net.discovery.DnsDiscovery;
|
||||
import org.bitcoinj.params.MainNetParams;
|
||||
import org.bitcoinj.utils.BriefLogFormatter;
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
|
@ -37,6 +36,7 @@ import java.awt.event.ActionEvent;
|
|||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -169,8 +169,8 @@ public class PeerMonitor {
|
|||
public static final int PING_TIME = 4;
|
||||
public static final int LAST_PING_TIME = 5;
|
||||
|
||||
public List<Peer> connectedPeers = Lists.newArrayList();
|
||||
public List<Peer> pendingPeers = Lists.newArrayList();
|
||||
public List<Peer> connectedPeers = new ArrayList<>();
|
||||
public List<Peer> pendingPeers = new ArrayList<>();
|
||||
|
||||
public void updateFromPeerGroup() {
|
||||
connectedPeers = peerGroup.getConnectedPeers();
|
||||
|
|
|
@ -27,7 +27,6 @@ import org.bitcoinj.net.discovery.PeerDiscoveryException;
|
|||
import org.bitcoinj.net.NioClientManager;
|
||||
import org.bitcoinj.params.MainNetParams;
|
||||
import org.bitcoinj.utils.BriefLogFormatter;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.util.concurrent.Futures;
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
import com.google.common.util.concurrent.SettableFuture;
|
||||
|
@ -78,7 +77,7 @@ public class PrintPeers {
|
|||
final Object lock = new Object();
|
||||
final long[] bestHeight = new long[1];
|
||||
|
||||
List<ListenableFuture<Void>> futures = Lists.newArrayList();
|
||||
List<ListenableFuture<Void>> futures = new ArrayList<>();
|
||||
NioClientManager clientManager = new NioClientManager();
|
||||
for (final InetAddress addr : addrs) {
|
||||
InetSocketAddress address = new InetSocketAddress(addr, params.getPort());
|
||||
|
|
Loading…
Add table
Reference in a new issue