Commit graph

3388 commits

Author SHA1 Message Date
Sean Gilligan
36d7b11d4b TestWithPeerGroup: Increase test timeout to 15 seconds. 2020-09-23 00:18:36 +02:00
Andreas Schildbach
bc70c0c29d TestWithWallet: Reset mocking to prevent an invalid mock time. 2020-09-20 15:00:57 +02:00
Sean Gilligan
c4fb770d98 Wallet: Make SendResult fields final. 2020-09-20 09:39:06 +02:00
Andreas Schildbach
a912600010 Apply "Identical catch branches in try statement" refactoring. 2020-09-07 21:29:24 +02:00
Andreas Schildbach
6b6ead07eb Apply "for loop replaceable with enhanced for loop" refactoring. 2020-09-07 21:15:51 +02:00
Andreas Schildbach
3290c8c541 Apply "try finally replaceable with try with resources" refactoring. 2020-09-07 21:12:58 +02:00
Andreas Schildbach
4847a9df27 Apply "Explicit generic type can be replaced with <>" refactoring. 2020-09-07 21:10:44 +02:00
Sean Gilligan
8deb113a5e Networks: Replace usage of Guava ImmutableSet with Collections.unmodifiableSet(). 2020-09-07 18:39:35 +02:00
Sean Gilligan
f6c8b0dbe3 Coin: satoshi/long <-> btc/BigDecimal
* Add static utility methods: btcToSatoshi(), satoshiToBtc()
* Add static factory method: ofBtc()
* Add instance method: toBtc()
* Add hamcrest-library to testImplementation for BigDecimal comparison
2020-09-01 15:21:01 +02:00
Andreas Schildbach
6d15df682a CoinTest: Fix typo in test name. 2020-09-01 15:17:48 +02:00
Sean Gilligan
6ee4faddb4 ScriptBuilder: Improve JavaDoc for the various P2SH helpers. 2020-08-31 16:20:40 +02:00
Andreas Schildbach
551b5a18f7 SPVBlockStoreTest: Increase threshold for performanceTest() to 2s.
See #2039.
2020-08-31 14:52:48 +02:00
Sean Gilligan
0324b95b3f ScriptBuilder: Minor cleanup.
* Remove unused import
* Make `chunks` final
2020-08-31 14:49:33 +02:00
Sean Gilligan
c258e47897 SPVBlockStoreTest: Disable testing SPVBlockStore deletion on Windows.
See issue #2032.
2020-08-25 19:11:47 +02:00
Sean Gilligan
d73ef93ca6 AppDataDirectoryTest: Fix incorrect AppDataDirectory tests on Windows. 2020-08-25 19:04:29 +02:00
Sean Gilligan
388ca037ef PrefixedChecksummedBytes hierarchy: Add Comparable interface to Address, remove from PrefixedChecksummedBytes.
Requires address subclasses to implement compareTo() and provide the compareAddressPartial() method for comparing the first two fields.

This changes the natural ordering of addresses, and removes the natural ordering entirely for other PrefixedChecksummedBytes subclasses.

This also fixes a compareTo() collision regarding P2SH and non-P2SH addresses with the same bytes[].
2020-08-25 10:50:21 +02:00
Sean Gilligan
03cac5f3a8 AppDataDirectoryTest: Fix two assert messages. 2020-08-25 10:21:24 +02:00
Sean Gilligan
71c0e627d8 Utils: Remove unused mock sleep support. 2020-08-25 10:02:39 +02:00
Sean Gilligan
316096e83d Tests: Use @BeforeClass initializer for Utils.resetMocking(). 2020-08-25 09:39:18 +02:00
Andreas Schildbach
7c31dcbf99 Transaction, LocalTransactionSigner: Fix P2WPKH signing.
In commit bc46e8518d, those two occurences of scriptCode building have been missed.
2020-07-02 11:43:05 +02:00
Andreas Schildbach
ed845fd22b HDPath: Fix parsePath() not parsing private paths. 2020-06-30 16:17:37 +02:00
Andreas Schildbach
7a1ad0fac0 HDPath: Use Splitter in parsePath(). 2020-06-30 15:54:26 +02:00
Sean Gilligan
8b502dffa2 Coin: Improvements to three static method JavaDoc comments. 2020-06-28 11:54:43 +02:00
Andreas Schildbach
3df2e70653 Replace semi-deprecated Guava Sets.newHashSet() with Sets.newHashSet(). 2020-05-31 11:17:01 +02:00
Sean Gilligan
47d59cae89 Networks: Improve JavaDocs. 2020-05-28 12:25:50 +02:00
Sean Gilligan
7d83f23a84 Networks: Remove use of bounded wildcard in Networks.networks
The use of a bounded wildcard type in Networks.networks is
unnecessary and not a best practice.
2020-05-28 12:18:47 +02:00
Andreas Schildbach
dbc4cb1d4c Make all Loggers final. 2020-05-17 14:48:44 +02:00
Andreas Schildbach
f04401461b AbstractBitcoinNetParams: Move getBlockInflation() utility method from Block to here.
This also adds a test.
2020-05-17 14:44:38 +02:00
Andreas Schildbach
a981cdd0e9 NetworkParameters: Make reference to genesis block final. 2020-05-12 12:15:43 +02:00
Andreas Schildbach
3db1b651c9 AbstractBitcoinNetParams: Move assignment of interval and subsidyDecreaseBlockCount to here.
This also adds a test of isDifficultyTransitionPoint().
2020-05-12 12:11:37 +02:00
Andreas Schildbach
0fe5f99798 AbstractBitcoinNetParamsTest: Add test for isRewardHalvingPoint(). 2020-05-12 11:48:56 +02:00
Andreas Schildbach
142efee42f AbstractBitcoinNetParams: Rename parameter of isRewardHalvingPoint() and isDifficultyTransitionPoint() to make unexpected API more obvious. 2020-05-12 11:43:39 +02:00
Andreas Schildbach
fa16458c2f build.gradle: Update OkHttp to 3.12.11. 2020-05-09 22:54:55 +02:00
Bartosz Milczarek
f76e13c495 HDKeyDerivation: Fix incorrect HDPath for private key created by createMasterPrivateKey().
This also removes the static contructor variant with a path. Master private keys always have the same path.
2020-05-03 20:28:41 +02:00
Andreas Schildbach
e218cbb3f2 ChildKeyDerivationTest: Remove commented-out test for child numbers marger than max int. 2020-05-03 20:26:55 +02:00
Sean Gilligan
8dbe23c9db build.gradle: Properly declare API dependencies in bitcoinj-core
Properly declare Bouncy Castle, protobuf-java, and OkHttp as Gradle `api`
dependencies.
2020-04-23 00:07:38 +02:00
Mike Mancini
f48a8e1eff PostgresFullPrunedBlockStore: Enquote 'index' column name to make it compatible with CockroachDB. 2020-04-16 17:33:01 +02:00
Andreas Schildbach
1ce45ef679 Update Guava to 29.0-android. 2020-04-16 17:28:30 +02:00
Andreas Schildbach
f925c6313c Update BouncyCastle to 1.65. 2020-04-13 10:23:54 +02:00
Andreas Schildbach
80cd521cc3 PeerGroup: Increase precision of download speed calculation by a bit. 2020-04-08 18:24:01 +02:00
Andreas Schildbach
1bfd5a5b60 Wallet: Demote log level of script cannot be parsed in markKeysAsUsed(). 2020-03-13 21:17:11 +01:00
Andreas Schildbach
67034e68aa Transaction: Fix missing newline in toString(). 2020-03-13 21:11:20 +01:00
Andreas Schildbach
8018cb2786 Transaction: In toString() print outputs of coinbase. 2020-03-13 21:10:40 +01:00
Andreas Schildbach
0b7bdff6de Script: Make a ScriptException message more elaborate. 2020-03-13 18:40:05 +01:00
John L. Jegutanis
c6a096678d Transaction: Make zero inputs/outputs transactions parsable.
Switch to the bitcoin core reference segwit parsing algorithm because
some no-segwit transactions with no inputs are incorrectly parsed as
segwit.

This change is to be 100% compatible with the reference implementation
and to be compatible with the PSBT implementation.
2020-03-13 09:44:41 +01:00
Craig Raw
bc46e8518d Transaction: Use VarInt not opcode for script length in hashForWitnessSignature(). 2020-03-08 22:43:56 +01:00
Andreas Schildbach
049c2f177d PeerGroup: Add a method for gracefully dropping all connected peers. 2020-03-08 00:20:01 +01:00
Andreas Schildbach
b86f3e70ae PeerGroup: Only drop peers after broadcast if the transaction has no broadcast confirmations.
Otherwise, peers might be continuously dropped when transactions are re-sent.
2020-03-08 00:20:01 +01:00
Andreas Schildbach
a4f241ef29 TransactionBroadcast: Don't complete the broadcast future early in the single peer case.
If you want to rely on the future it's better to drop peers after broadcast.
2020-03-08 00:20:01 +01:00
Andreas Schildbach
a867a80b76 TransactionBroadcast: Add a short delay before broadcast peers are dropped. 2020-03-08 00:19:07 +01:00