Commit graph

2609 commits

Author SHA1 Message Date
Andreas Schildbach
7f38154244 apply "make inner classes static" refactoring 2022-03-26 11:32:49 +01:00
Sean Gilligan
091fdd9791 PaymentSession: proper future-style error handling for sendPayment()
This is a breaking change, but the existing code is not using futures properly and
fixing this is worth the breakage.

* Instead of returning `null`, return a failed future
* Instead of throwing errors, return failed futures
2022-03-25 19:33:08 +01:00
Sean Gilligan
8f3ac79030 Wallet: remove deprecated methods
Remove all deprecated methods except one deprecated constructor that is
used in a unit test and marked as @VisibleForTesting.
2022-03-25 11:11:52 +01:00
Andreas Schildbach
4e8a19997d KeyChainGroup: remove upgrade path from basic to deterministic 2022-03-24 13:13:08 +01:00
Sean Gilligan
20aee84773 PaymentSession: properly document return value of getPayment() 2022-03-23 00:14:52 +01:00
Sean Gilligan
26da62e5c6 Peer.GetDataRequest: use CompletableFuture internally 2022-03-22 17:42:13 +01:00
Sean Gilligan
39c3b3f2f5 Wallet: use CompletableFuture internally 2022-03-22 17:38:31 +01:00
Sean Gilligan
79b75663cc Peer: migrate to CompletableFuture 2022-03-22 13:14:21 +01:00
Sean Gilligan
2d60caeadf bitcoinj/net: migrate from ListenableFuture to CompletableFuture 2022-03-22 13:07:58 +01:00
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
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
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
79c961a25b PaymentSession: migrate from ListenableFuture to ListenableCompletableFuture 2022-03-07 23:22:06 +01:00
Sean Gilligan
8ec6c05c6b Threading: replace CountdownLatch with CompletableFuture 2022-03-07 13:59:57 +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
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
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
d07e75e2a8 GetUTXOsMessage, UTXOsMessage: remove support for querying Bitcoin XT nodes for UTXOs 2022-02-18 19:38:18 +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
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
Sean Gilligan
fded97b07c Address: Improve comparison using JDK 8 Comparator function composition 2022-01-06 00:56:50 +01:00
Andreas Schildbach
18750ab5b2 Replace import com.google.common.util.concurrent.* with single class imports 2022-01-05 14:56:49 +01:00
Sean Gilligan
41f5518e6d RejectMessage: Simplify RejectCode.fromCode() using streams 2022-01-05 11:08:29 +01:00
Sean Gilligan
dda89aad57 Network: move class from tools subproject to core (o.b.utils) 2022-01-03 21:59:19 +01:00
Sean Gilligan
25454bd624 ECKey: Simplify comparators using JDK 8 methods 2022-01-03 00:33:40 +01:00
Andreas Schildbach
9641fde9e8 TransactionConfidence: make enum field final 2022-01-01 19:03:55 +01:00
Andreas Schildbach
bf76468242 RejectMessage: make enum field final 2022-01-01 19:03:55 +01:00