3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-01-31 07:12:17 +00:00
Commit Graph

2197 Commits

Author SHA1 Message Date
Andreas Schildbach
eb24bafdbc Guard BasicKeyChain.importKey*() against accidently importing the same key twice, potentially losing a private key. 2014-12-11 22:55:22 +01:00
Andreas Schildbach
e5bc481743 Make curve and bits in LazyECPoint final. 2014-12-11 22:53:53 +01:00
Andreas Schildbach
4499e0f7c1 Add some logging to LinuxSecureRandom. 2014-12-11 12:14:39 +01:00
Andreas Schildbach
5aaf6a25db When running on Android, automatically insert LinuxSecureRandom provider. 2014-12-11 12:14:39 +01:00
Andreas Schildbach
525ad3504d Move LinuxSecureRandom from Bitcoin Wallet to bitcoinj. This class is in use since August 2013 without any signs of RNG issues. 2014-12-11 12:14:39 +01:00
Mike Hearn
ef6240a8f8 Transaction.toString(): Don't try printing hash160 for non-address type outputs 2014-12-09 14:23:58 +01:00
Mike Hearn
ab0b6d75fa Script: fix javadoc 2014-12-09 14:23:58 +01:00
Andreas Schildbach
46ed65935c Add Wallet.getIssuedReceiveKeys() and Wallet.getIssuedReceiveAddresses() so that derived addresses can be shown in an UI. 2014-12-09 12:11:59 +01:00
Mike Hearn
b3c761388f Fix build, somehow this didn't show up before. 2014-12-08 22:13:40 +01:00
Mike Hearn
fef4829a3d PeerGroup: log exceptions in executor jobs, as the executor doesn't do this itself (gah) 2014-12-08 22:10:48 +01:00
Mike Hearn
0a34914d16 TransactionBroadcast: Member variable to local 2014-12-08 22:10:48 +01:00
Mike Hearn
40c4338aaa Some fixes for crashes that could occur with a chain-less PeerGroup post-TxConfidenceTable changes. 2014-12-08 22:10:48 +01:00
Andreas Schildbach
478fb5dac9 Fix Integer to long casting compiler error for Eclipse. 2014-12-08 20:39:04 +01:00
Andreas Schildbach
7625fccd22 Move comment about Java 6 compilation to the appropriate places. 2014-12-06 16:03:32 +01:00
Mike Hearn
8acf2e91e8 Add a BIP70 example to the javascript folder 2014-12-04 18:51:45 +01:00
Mike Hearn
d438caaece Widen arg types for Transaction.getInput and getOutput so they can be fed the result of TransactionOutPoint.getIndex() directly. 2014-12-04 17:50:37 +01:00
Mike Hearn
757e25ba9b Wallet: fix a bug that could cause a temporarily corrupted balance, when two pending transactions arrive backwards 2014-12-04 17:09:53 +01:00
Mike Hearn
fccb6f03bd WalletAppKit: allow restore from wallet seed even when there are no checkpoints i.e. regtest mode 2014-12-04 15:57:34 +01:00
Mike Hearn
625d19230d PeerGroup: don't keep trying every second when discovery returns zero peers but we have enough connections anyway. 2014-12-04 15:20:28 +01:00
Mike Hearn
7d7f826367 Fix lock inversion tags<->wallet lock. 2014-12-04 11:28:26 +01:00
Mike Hearn
90dace2ef5 Java 8 syntax cleanup 2014-12-03 13:10:07 +01:00
Devrandom
1ba568e069 rename TxConfidencePool to TxConfidenceTable 2014-12-03 13:10:07 +01:00
Devrandom
2dfeee55b6 Clean up JavaDoc for deprecated PeerGroup.getConfidencePool 2014-12-03 13:10:07 +01:00
Devrandom
bc3a5cd845 introduce a Context object vended by AbstractBlockChain
have it hold the confidencePool
2014-12-03 13:10:06 +01:00
Devrandom
beb6f0873f Mark unrelated flaky test 2014-12-03 13:10:06 +01:00
Devrandom
b9bca58f26 Remove tx from TransactionConfidence 2014-12-03 13:10:06 +01:00
Devrandom
ec7cec67a7 Rename MemoryPool to TxConfidencePool and make singleton 2014-12-03 13:04:10 +01:00
Mike Hearn
4854099cde Update AUTHORS file 2014-12-03 13:01:28 +01:00
Carlos Lopez
a2ac847ee9 Wallet.loadFromFile takes WalletExtensions 2014-12-03 13:00:57 +01:00
Kalpesh Parmar
96a82800fd 1) Update the full stores to return UTXO transactions.
2) The wallet can now use a UTXOProvider to create spends.
3) Updated MySQL field blob size.  It's capacity isn't sufficient.
4) Updated internal objects to be able to cope with a null parent tx (spend free standing outputs).
2014-12-03 12:56:07 +01:00
Mike Hearn
2286d7e167 Update AUTHORS 2014-12-03 12:41:12 +01:00
Bennett Hoffman
552bf3fa4d Use ArrayList instead of HashSet in DefaultCoinSelector#select. Test 2014-12-03 12:39:58 +01:00
Jarl Fransson
df00b1e27e PaymentChannelClient support encrypted wallets. Store will upgrade forward gracefully. 2014-12-02 16:28:14 +01:00
Andreas Schildbach
c017070398 Update README.md to mention Java 8. 2014-11-24 15:48:22 +01:00
Andreas Schildbach
4300cab9fc Configure Travis to compile everything using Java 8, then compile orchid and bitcoinj-core using Java 6. 2014-11-24 15:05:04 +01:00
Andreas Schildbach
2a71858c76 Wallet-template is now a proper sub-project. This reduces the risk for breaking the wallet-template build. 2014-11-24 15:04:09 +01:00
Andreas Schildbach
9286b25f9d Build bitcoinj-examples and bitcoinj-tools with Java 8. Bitcoinj-core and orchid still requires Java 6 so it can run on Android. 2014-11-24 15:03:06 +01:00
Andreas Schildbach
ad87ee9a3c Consistently use version 2.9.1 of maven-javadoc-plugin. 2014-11-24 15:01:10 +01:00
Andreas Schildbach
77dd531be4 Fix potential race condition when checking keychain for key rotation time. 2014-11-24 15:00:01 +01:00
Andreas Schildbach
acad3e985d Don't spam the log with setting key rotation time while loading wallets. Instead, print it with the wallet dump. 2014-11-24 15:00:01 +01:00
Mike Hearn
1db2316fc3 More attempts to fix build flakes. 2014-11-24 14:42:02 +01:00
Mike Hearn
bd986f35f1 Bloom filtering: check for malformed Merkle trees. Resolves issue 593. Thanks to Pieter Wiulle. 2014-11-24 13:59:42 +01:00
Mike Hearn
dfc9d3c924 Sha256Hash: remark that it takes ownership of the byte array. 2014-11-24 13:59:00 +01:00
Mike Hearn
9814a6caba Slightly different attempt to fix thread safety issue in PeerGroup to in #278 - make connectTo always locked. It used to be that we couldn't do this but there are no comments reminding me why not, and unit tests + wallettemplate seem happy with it being locked, so I think changes in the network code since then have probably removed this issue. 2014-11-24 13:33:21 +01:00
Mike Hearn
69de1f01ac ECKey/DeterministicKey: replace ECPoint with a LazyECPoint wrapper that doesn't delays parsing of key bytes into a key structure until it's needed. The process of decoding keys from the wallet previously involved decompressing/recompressing them which was taking ~seconds for hundreds of keys on Dalvik/2012 era Androids. After this patch loading such a wallet takes a few hundred milliseconds, most of which is spent inside RIPEMD160. 2014-11-24 13:16:15 +01:00
Mike Hearn
34017e16f8 TestWithPeerGroup: don't stopAsync if the peergroup isn't running and update the class description. 2014-11-24 13:04:59 +01:00
Mike Hearn
5a8ed59029 PeerGroup: Reimplement pinging to use the executor. New code is simpler and more correct. 2014-11-24 13:04:59 +01:00
Mike Hearn
e7c00df740 Replace peerGroup.startAsync/awaitRunning with start() and awaitTerminated with stop(). 2014-11-24 13:04:58 +01:00
Mike Hearn
10340b13a6 Don't hold the peergroup lock whilst calculating bloom filters, and run on the executor thread. Move responsibility for deduplication into recalculateFastCatchupAndFilter(). 2014-11-24 13:04:58 +01:00
Mike Hearn
27bc229fab Rewrite how peer group manages connections and its internal thread:
- No longer uses Guava services, the change is source compatible but the two-step API is no longer needed

- Now has a dedicated ScheduledExecutorService as its core service thread, so we can schedule jobs for the future instead of using sleeps.

- Connection code was rewritten to be easier to follow (at least I think so).

The goal here is to generalise the peer group thread so it can do more things.
2014-11-24 13:04:58 +01:00