Commit Graph

3006 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
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
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
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
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
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
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
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
Andreas Schildbach
f3a314e2d9 global replace SegWit by segwit 2022-02-18 10:42:12 +01:00
Andreas Schildbach
07b627a249 build.gradle: update EqualsVerifier to 3.9 2022-02-18 10:01:16 +01:00
Andreas Schildbach
12573849ea build.gradle: update Jackson to 2.13.1 2022-02-18 09:26:34 +01:00
Sean Gilligan
ea208935ff build.gradle: Update SLF4J to 1.7.36
Starting with version 1.7.36, SLF4J releases are reproducible.
2022-02-18 08:54:36 +01:00
Andreas Schildbach
a082709ff5 MultiplexingDiscovery: remove out-of-date comment on forServices() 2022-02-16 17:11:52 +01:00
Sean Gilligan
9c61d6b5fb TransactionOutPoint: deprecate setters
This required a little tweak to a @VisibleForTesting method in
Block.java to remove use of setHash().
2022-02-16 14:11:55 +01:00
wiz
20364cb7b2 MainNetParams: Add seed.bitcoin.wiz.biz to DNS seeds
DNS seed was added to Bitcoin Core in https://github.com/bitcoin/bitcoin/pull/19284

Documentation: https://wiz.biz/bitcoin/seed
2022-02-14 15:01:03 +01:00
Sean Gilligan
f3b4848b5c fix all empty JavaDoc <p> tag warnings in core 2022-02-12 18:14:31 +01:00
Andreas Schildbach
435e39a841 Utils: add bytesToBigInteger() helper and use it
This is the antagonist to Utils.bigIntegerToBytes().
2022-02-11 16:17:24 +01:00
Andreas Schildbach
6ad636ccec SigNetParams: support signet 2022-02-11 10:52:49 +01:00
Kasim G
5b1c8ef5f5 apply "Anonymous type has shorter lambda alternative" refactoring 2022-01-28 17:25:33 +01:00
Kasim G
a31cbe0470 apply "Anonmyous type can be replaced with lambda" refactoring 2022-01-28 17:18:42 +01:00