Commit Graph

2683 Commits

Author SHA1 Message Date
Will Shackleton
8af0fa9884 Implemented version 2 of payment channels API
I implemented version 2 of the payment channels API using
OP_CHECKLOCKTIMEVERIFY-style payment channels.
2016-02-10 11:15:35 +01:00
Will Shackleton
4b2afc9667 Added broadcast multisig contract to wallet bloom filter. Fixes #1181 2016-02-10 11:13:35 +01:00
Andreas Schildbach
0d9b732e60 Peer: Make GetDataRequest immutable. 2016-02-09 21:23:42 +01:00
Andreas Schildbach
efc8eecd4c Peer: Fix a doc reference to Google Code. 2016-02-09 20:48:11 +01:00
Ross Nicoll
aca39ee9de Split wallet events into single method interfaces 2016-02-06 20:01:38 +01:00
Ross Nicoll
8841371922 Disable max money check on networks with no supply cap 2016-02-05 20:06:31 +00:00
Andreas Schildbach
8a41fd471f Fix a few max coins checks.
This is largely esoteric, but was brought up by https://github.com/schildbach/bitcoin-wallet/issues/299.
2016-02-05 13:30:12 +01:00
Andreas Schildbach
af769fe708 Limit heap size of unit tests to 1 GB.
Travis was upset.
2016-02-05 12:57:32 +01:00
Andreas Schildbach
becd8641c9 Add thread safety warning to JavaDocs of entire Message class hierarchy. 2016-02-03 17:19:18 +01:00
Jameson Lopp
5f3ca35b89 Transaction: modify hashForSignature() to be thread-safe. 2016-02-03 15:59:09 +01:00
Andreas Schildbach
54780491fc DefaultRiskAnalysis: Consider transactions that opt into replace-by-fee at risk for double spending. 2016-01-26 19:41:27 +01:00
Andreas Schildbach
786a11187e Be aware of opt-in full replace-by-fee. 2016-01-26 19:41:08 +01:00
Andreas Schildbach
ee1aa05460 Remove comments about sequence numbers being disabled.
As of Bitcoin Core 0.12, sequence numbers are used for the infamous opt-in full replace-by-fee feature.
2016-01-26 16:07:04 +01:00
Andreas Schildbach
1c6fa9ceb9 Update to okhttp 2.7.2
This is the latest release in the 2.x series. Unlike 3.x, it doesn't break any
API. It has lots of security and Android-related fixes which could affect us.

Also see: https://github.com/square/okhttp/blob/master/CHANGELOG.md
2016-01-25 23:21:28 +01:00
Andreas Schildbach
eeb53164a3 Update to protobuf-java 2.6.1
In this commit, protobuf bindings are regenerated too.
2016-01-25 23:21:21 +01:00
Andreas Schildbach
9e99c9c9f7 Update to maven-surefire-plugin 2.19.1. 2016-01-25 23:20:51 +01:00
Andreas Schildbach
428702b50d Don't print log to console if tests are run by Maven.
It got too large for Travis. If you need the log, you can run the failing test locally, e.g. in your IDE.
2016-01-25 23:19:42 +01:00
Andreas Schildbach
593d92390b Always print to the log, rather than to the console. 2016-01-25 23:19:37 +01:00
Andreas Schildbach
59fa28ec70 LevelDbFullPrunedBlockStore: Reformat and rename class. It used Windows line endings. 2016-01-25 22:53:51 +01:00
Andreas Schildbach
08ab6a0da5 TransactionTest: Move creation of fake transactions over to FakeTxBuilder. Also, a couple of cleanups. 2016-01-23 12:19:44 +01:00
Ross Nicoll
cfb942a7fa Rate limit peer discovery
This changes PeerGroup to consider a peer discovery that doesn't return
enough results as a failure, so it does exponential backoff. Otherwise
it discovers constantly on a network with less than the maximum peers
available.

Also added a second sanity check to ensure it's never done more than
once a second.
2016-01-23 12:10:55 +01:00
Jameson Lopp
c82aa3b070 Don't throw away orphan block transactions before they are sent to listeners, even in SPV mode. 2016-01-23 11:37:29 +01:00
Andreas Schildbach
aa0312a6c8 Wallet: Remove junk line of JavaDoc. 2016-01-20 18:41:07 +01:00
Andreas Schildbach
66c3364c9e Wallet: JavaDocs for Wallet.CompletionException hierarchy. 2016-01-20 18:41:07 +01:00
Andreas Schildbach
91c4e080ad Wallet: Make getPoolSize() visible for testing. 2016-01-20 17:29:04 +01:00
Andreas Schildbach
f1e3a73e75 Wallet: Make keyChainGroup private again, but add a getKeyChainGroupCombinedKeyLookaheadEpochs() method that is visible for testing. 2016-01-20 17:06:06 +01:00
Andreas Schildbach
7e98f9f792 Wallet: Make transaction pools private again, but add a poolContainsTxHash() method that is visible for testing. 2016-01-20 16:42:00 +01:00
Andreas Schildbach
697bb9fd60 ScriptChunk: JavaDoc for public fields. 2016-01-20 11:21:29 +01:00
Andreas Schildbach
0a58837db0 TransactionInput: Add getConnectedTransaction(), as this seems to be a relevant usecase. 2016-01-18 16:33:21 +01:00
Andreas Schildbach
d092922e64 TransactionInput: Add public clearScriptBytes() method, as this seems to be a relevant use case.
It also saves some calls to the semi-private setScriptBytes().
2016-01-18 16:23:14 +01:00
Andreas Schildbach
17140d462f Transaction: Get rid of getValueSentToMe() variant that was not used any more. 2016-01-18 16:05:43 +01:00
Will Shackleton
c9cce47962 Support CLTV micropayment channels
Also extend WalletTool to send via, settle and refund these channels.
2016-01-18 15:57:27 +01:00
Will Shackleton
25db735b3a Set the connection channel in PaymentChannelServerListener 2016-01-16 15:55:47 +00:00
Robin Owens
db74695e43 LevelDb fully pruned block store. 2016-01-16 12:11:01 +01:00
Andreas Schildbach
4d1ed91737 BIP38PrivateKey: Early check for NetworkParameters not null. 2016-01-08 21:21:53 +01:00
Andreas Schildbach
18bad5d899 Don't print transaction purposes twice in wallet dump. 2016-01-08 21:18:21 +01:00
Ross Nicoll
159a6de24f Support generating URIs for non-Bitcoin networks 2016-01-08 20:59:43 +01:00
Andreas Schildbach
1dd64534d0 JavaDoc for WalletFiles constructor. 2016-01-06 14:54:15 +01:00
Andreas Schildbach
feca024107 Always use US locale when formatting debug strings. 2016-01-06 14:43:12 +01:00
Kirill Vlasov
0de458db45 Strings literals should be placed on the left side when checking for equality 2016-01-06 14:19:20 +01:00
Kirill Vlasov
e3e8e8079d Constructors should only call non-overridable methods 2016-01-06 14:11:00 +01:00
Andreas Schildbach
61ae489d82 Move org.bitcoinj.testing package to test classpath. 2016-01-06 13:52:13 +01:00
Andreas Schildbach
73467ea4c9 WalletTest: Clean up some assert messages. 2016-01-01 14:37:47 +01:00
Andreas Schildbach
720f7d2a92 Print transaction purpose in toString(). 2015-12-20 09:52:11 +01:00
Jameson Lopp
ab169f0700 Print block hash in debug log message for unconnectable orphan. 2015-12-18 16:12:55 -05:00
Andreas Schildbach
44ca39bfd7 Coin: Remove chain-specific coin limit. Add some checks for arithmetic over/underflows instead. 2015-12-13 19:30:54 +01:00
Kirill Vlasov
3ab1d5811d PeerGroup: Closing streams and sockets where necessary 2015-12-13 19:30:11 +01:00
Andreas Schildbach
6692c0e06b Set minimum fee to 5000 satoshis and dust limit to 2730 satoshis. This matches Bitcoin Core 0.11.1. 2015-12-13 19:25:22 +01:00
Kirill Vlasov
0ba3f4c2d2 "@Override" annotation should be used on any method overriding (since Java 5) or implementing (since Java 6) another one. 2015-12-08 10:29:40 +01:00
Andreas Schildbach
313e2c14c1 When testing for specific network, use network ID. 2015-12-06 18:14:03 +01:00