Commit graph

4143 commits

Author SHA1 Message Date
Sean Gilligan
c236ecb6ec Peer: convert downloadDependencies() to CompletableFuture 2022-03-21 13:31:50 +01:00
Sean Gilligan
f75d45bcde Peer: make downloadDependenciesInternal() "functional"
* Returns async Future<List<Transaction>> result
* Makes all parameters read-only
* Simplifies the non-recursive downloadDependencies()
* Uses streams to make internal lists, etc. more immutable
* Improves JavaDoc comments
2022-03-19 16:25:10 +01:00
Sean Gilligan
8347ef8fb6 Peer: reorder downloadDependenciesInternal() parameters so the transaction is first
This more closely matches downloadDependencies and makes it easier
to spot which parameters were added to the “internal” version.
2022-03-19 16:05:43 +01:00
Sean Gilligan
24011abd64 Peer: eliminate marker in downloadDependenciesInternal()
Eliminate `marker` object and simply return `null` (`Void`).
2022-03-19 15:56:48 +01:00
Andreas Schildbach
b7bd0e05c3 BasicKeyChainTest: fix spontaneous failure of bloom() because of false positive 2022-03-15 17:00:30 +01:00
Andreas Schildbach
cbfbdafaff Threading: optimize imports 2022-03-14 16:46:14 +01:00
Sean Gilligan
4bbdd9da55 Threading: make tasks queue final 2022-03-14 16:45:25 +01:00
Sean Gilligan
e07efde0c0 Threading: replace lambda with method reference 2022-03-14 16:42:54 +01:00
Sean Gilligan
6599d62e6a build.gradle: update protobuf-gradle-plugin to 0.8.18 2022-03-14 16:39:06 +01:00
Sean Gilligan
7b935a0152 DeterministicKeyChainTest: use JDK8 in readResourceFile()
This replaces “Beta” classes in Guava with JDK 8 classes/methods.
2022-03-09 19:26:14 +01:00
Sean Gilligan
b54205a235 Peer: Simplify needToRequest set of hashes
* Make “more immutable” by using stream/toSet
* Eliminate unnecessary use of CopyOnWriteArraySet
2022-03-09 10:48:17 +01:00
Andreas Schildbach
dd855f0bcc Wallet: organize imports 2022-03-08 10:44:06 +01:00
Sean Gilligan
0b183d9040 ECKeyTest: migrate from ListenableFuture to CompletableFuture 2022-03-08 10:39:09 +01:00
Sean Gilligan
a20db6ed2c WalletTool: migrate from ListenableFuture to CompletableFuture 2022-03-07 23:24:18 +01:00
Sean Gilligan
79c961a25b PaymentSession: migrate from ListenableFuture to ListenableCompletableFuture 2022-03-07 23:22:06 +01:00
Sean Gilligan
7befc583bc WalletTest: migrate from ListenableFuture to CompletableFuture 2022-03-07 22:36:31 +01:00
Sean Gilligan
003b6dc52d SendRequest: migrate from ListenableFuture to CompletableFuture 2022-03-07 22:33:27 +01:00
Sean Gilligan
658514986f TestWithNetworkConnections, InboundMessageQueuer: migrate from SettableFuture to CompletableFuture 2022-03-07 22:31:13 +01:00
Sean Gilligan
da9c12312f BitcoindComparisonTool: migrate from SettableFuture to CompletableFuture 2022-03-07 22:24:33 +01:00
Sean Gilligan
b8c72c996a FetchTransactions, PrintPeers: more CompletableFuture conversions 2022-03-07 14:39:50 +01:00
Sean Gilligan
8ec6c05c6b Threading: replace CountdownLatch with CompletableFuture 2022-03-07 13:59:57 +01:00
Sean Gilligan
11d676d103 DeterministicKeyChainTest: refactor checkSerialization
Move file/string reading/serializing logic to dedicated methods.
2022-03-07 12:42:08 +01:00
Andreas Schildbach
7aa54583b7 build.gradle: update protobuf-javalite to 3.19.4 2022-03-07 11:33:40 +01:00
Sean Gilligan
c0f8a87f16 gradle.yml: update setup-java to v3 2022-03-06 20:16:52 +01:00
Sean Gilligan
1ad6c0d7d0 gradle.yml: add name to “Git checkout” step 2022-03-05 13:02:59 +01:00
Sean Gilligan
83cb847bcf build.gradle: update javafxplugin to 0.0.10
This might help with Issue #2300, but is worth updating anyway.
2022-03-05 01:18:00 +01:00
Sean Gilligan
cca322a01d build.gradle: update JavaFX to 17.0.2 2022-03-05 00:48:21 +01:00
Sean Gilligan
82d17810fd gradle.yml: update Gradle to 7.4 2022-03-05 00:11:13 +01:00
Sean Gilligan
55b87f497c build.gradle: fix hasAnnotationProcessor check 2022-03-05 00:07:12 +01:00
Sean Gilligan
5f69f769d6 DownloadProgressTracker: convert to CompletableFuture 2022-03-04 22:15:09 +01:00
Sean Gilligan
eb56d71f8f TransactionConfidence: Convert to CompletableFuture 2022-03-04 13:04:41 -08:00
Andreas Schildbach
52babf52b0 LevelDBBlockStore, LevelDBFullPrunedBlockStore: remove LevelDB-based block stores 2022-03-04 18:27:40 +01:00
Sean Gilligan
4cde8940fc wallettool/build.gradle: generate man, html5 and adoc manpages
Adds the picocli-codegen annotation processor.

To build the documentation use `gradle bitcoinj-wallettool:asciidoctor`. The results are in:

 * wallettool/build/generated-picocli-docs/wallet-tool.adoc (asciidoc source)
 * wallettool/build/docs/html5/wallet-tool.html (HTML version)
 * wallettool/build/docs/manpage/wallet-tool.1 (man format)
2022-02-25 21:46:54 +01:00
Sean Gilligan
96db76da83 PeerGroup: replace SettableFuture with CompletableFuture
There are several places where futures are created with SettableFuture.create().
This updates those to use new `ListenableCompletableFuture()` instead.
2022-02-24 20:56:59 +01:00
Sean Gilligan
9db8b49c50 Convert TransactionBroadcast, Wallet.doMaintenance() to CompletableFuture
* Use ListenableCompletableFuture on all public APIs
* Use CompletableFuture internally, in example, and in tests
* Add new FutureUtils class
* Add 2 new static methods to ListenableCompletableFuture
2022-02-24 20:48:54 +01:00
Sean Gilligan
7caa1aee9a TransactionTest: Use CompletableFuture in testHashForSignatureThreadSafety() 2022-02-24 19:39:16 +01:00
Sean Gilligan
d3e7f854b9 PeerGroup: migrate start/stop to CompletableFuture
This will need to be rebased, paying special attention to merging
ListenableCompletableFuture.of()
2022-02-24 15:58:00 +01:00
Sean Gilligan
974086636c Wallet: Use CompletableFuture for BalanceFutureRequest
Also simplify checkBalanceFuturesLocked()
2022-02-23 11:29:27 -08:00
Sean Gilligan
0a1e1ca8a0 WalletTool: extract common code from dumpWallet() into printWallet() 2022-02-23 16:11:18 +01:00
Andreas Schildbach
f411dcd634 remove redundant private modifier from various enum constructors 2022-02-23 16:00:22 +01:00
Andreas Schildbach
011d42c475 SPVBlockStore: use a StandardCharsets constant 2022-02-23 15:56:42 +01:00
Andreas Schildbach
784118d1de SPVBlockStore: remove final from static method 2022-02-23 15:54:11 +01:00
Sean Gilligan
3758213100 core/build.gradle: Commented out option for max javadoc warnings 2022-02-23 12:46:02 +01:00
Sean Gilligan
06d212ef02 AbstractBlockChain: migrate to CompletableFuture 2022-02-23 12:16:54 +01:00
Sean Gilligan
1616b6f02f Wallet: Make BalanceFutureRequest less mutable 2022-02-22 15:21:59 -08:00
Andreas Schildbach
4bb592aee6 TransactionTest: rewrite testHashForSignatureThreadSafety() to use an executor
This will actually fail the test if an assert in the worker threads fails.
Previously, it was just printing the exception to standard output.
2022-02-18 19:59:48 +01:00
Andreas Schildbach
d07e75e2a8 GetUTXOsMessage, UTXOsMessage: remove support for querying Bitcoin XT nodes for UTXOs 2022-02-18 19:38:18 +01:00
Andreas Schildbach
044daafc84 TransactionTest: rename the two recently added addSignedInput() tests 2022-02-18 18:10:07 +01:00
Andreas Schildbach
d3f3548a57 TransactionTest: verify the signature in the two recently added addSignedInput() tests 2022-02-18 18:09:11 +01:00
Sean Gilligan
1959dab5e4 Transaction: support segwit in addSignedInput() methods
Add addSignedInput() variants to Transaction that provide input value,
deprecate non-value methods, add checks and logs.
Add simple transaction building tests to TransactionTest.
This also updates some tests to not use the deprecated methods.
2022-02-18 11:00:34 +01:00