Commit Graph

3201 Commits

Author SHA1 Message Date
Sean Gilligan
406d976fd6 KeyChainGroupStructure: support BIP-43/BIP-44/BIP-84 structure 2022-04-29 10:24:52 +02:00
Sean Gilligan
6ab20a098b Network: add two more static constructors for convenience 2022-04-29 10:21:09 +02:00
Sean Gilligan
1283fe6f36 Network.java: remove PROD (alias for MAIN)
This affects the command-line UI of some tools, but since the `Network`
enum hasn't been released yet, we can remove it without deprecating
first.
2022-04-29 01:19:22 +02:00
Andreas Schildbach
407e8cccdb DefaultCoinSelectorTest: replace a qualified name with import 2022-04-29 00:02:10 +02:00
Sean Gilligan
571f688957 KeyChain hierarchy: simplify KeyChain serialization with Streams
In 5 related KeyChain classes:

* Convert serialization to use Streams
* Add JavaDoc
* Warn that returned lists/maps will become unmodifiable in the future
2022-04-21 10:31:36 +02:00
Sean Gilligan
05a654167e Wallet: deprecate public method serializeKeyChainGroupToProtobuf()
Package-private serializeKeyChainGroupToProtobufInternal() remains for
internal use.
2022-04-20 23:33:51 +02:00
Sean Gilligan
f37f696108 DeterministicKeyChain: extract to static addChain() method 2022-04-20 21:39:17 +02:00
Sean Gilligan
6ac5f0b5a7 DeterministicKeyChain: add and use static cloneKey() method 2022-04-20 21:11:39 +02:00
Sean Gilligan
333cf03e7e DeterministicKeyChain: remove an @SuppressWarnings annotation
The warning is no longer present so we don't need to suppress.
2022-04-20 20:32:56 +02:00
Sean Gilligan
5e2e62f868 DeterministicKeyChain: use getLeafKeys() to simplify two for-loops 2022-04-20 20:26:34 +02:00
Sean Gilligan
3744876a83 bitcoinj-core: optimize imports 2022-04-20 17:06:15 +02:00
Sean Gilligan
1f0c1a3bb7 DeterministicKeyChain, DeterministicHierarchy: add putKeys(), and use it 2022-04-20 02:05:45 +02:00
Sean Gilligan
8bcfec0ed2 DeterministicKeyChain: maybeLookAhead() to return unmodifiable
This should have no side effects.
2022-04-20 01:38:36 +02:00
Andreas Schildbach
aff7435944 ECKey: fix usage of deprecated method ASN1TaggedObject.getObject() 2022-04-20 01:13:55 +02:00
Sean Gilligan
c178c9534c HDKeyGeneration: add generate() method, use in DeterministicKeyChain 2022-04-20 00:44:15 +02:00
Sean Gilligan
14217dbd7b Wallet: remove deprecated constructor
Also: Update unit test that used that constructor, add JavaDoc to
replacement constructor.
2022-04-20 00:27:15 +02:00
Sean Gilligan
79fbf5ab02 DeterministicKeyChain: add private putKey(key) method, and use it
To add a key it must be added to both the `hierarchy` and `basicKeyChain` this
should be wrapped in a method and used whenever a key is addded.
2022-04-20 00:00:11 +02:00
Sean Gilligan
184be16773 Coin: only allocate Coin with zero value once 2022-04-19 15:58:36 +02:00
Andreas Schildbach
4f17e006b2 DumpedPrivateKeyTest: properly use NetworkParameters.getDumpedPrivateKeyHeader() accessor 2022-04-19 10:44:56 +02:00
Sean Gilligan
a6e5c88ce8 build.gradle: add detailed deprecation warnings to all modules 2022-04-19 10:07:55 +02:00
Sean Gilligan
f75c55fe5a PeerGroup: migrate to BlockchainDownloadEventListener (breaking)
* Deprecate PeerDataEventListener (aggregate of 4 listeners)
* Remove long-deprecated AbstractPeerDataEventListener (4 no-op listeners)
* Add BlockchainDownloadEventListener (aggregate of 2 listeners)
* PeerGroup: replace PeerDataEventListener with BlockchainDownloadEventListener (BREAKING!)
* DownloadProgressTracker: implement BlockchainDownloadEventListener instead of AbstractPeerDataEventListener

This is a breaking change and may require simple, one-line changes to consumers. However, it removes the
long-deprecated AbstractPeerDataEventListener and simplifies the listeners for blockchain downloading.

After another release the deprecated PeerDataEventListener can be removed.
2022-04-19 10:02:10 +02:00
Sean Gilligan
a6433d91b9 Wallet: fix !equals() vs != bug in getTotalSent()
Coin values should be compared with .equals() not == or !=.
2022-04-19 09:16:04 +02:00
Sean Gilligan
7141321c38 Wallet: make fields final where possible 2022-04-18 19:51:48 -07:00
Sean Gilligan
e84fc27cce Transaction: use tx.getOutputSum() in completeTx() 2022-04-18 22:13:21 +02:00
Sean Gilligan
3ea28bfca5 DeterministicKeyChain: make seed final 2022-04-18 12:01:41 +02:00
Sean Gilligan
b411b3f645 DeterministicKeyChain: fix raw use of new Builder() 2022-04-18 11:35:05 +02:00
Sean Gilligan
d19eb764b6 DeterministicKeyChain: remove unnecessary .toString() calls 2022-04-18 11:09:48 +02:00
Sean Gilligan
dc39f1e521 DeterministicKeyChain: use Stream and Predicate to simplify .get*Keys() 2022-04-18 11:00:51 +02:00
Andreas Schildbach
7f41553576 HttpDiscovery: remove the protocol to discover seeds via HTTP 2022-04-17 10:09:20 +02:00
Sean Gilligan
fd7449d7e3 DeterministicKeyChain: simplify protobuf deserialization of DeterministicKey
Use the new `deserialize` and `parent` methods of HDPath to simplify and combine
`path` and `immutablePath` in `fromProtobuf`.
2022-04-17 10:01:50 +02:00
Sean Gilligan
5367df8a7c HDPath: add .parent() method 2022-04-17 09:48:36 +02:00
Sean Gilligan
459df5fed0 DeterministicKeyChain: use new HDPath::ancestors methods 2022-04-17 01:05:30 +02:00
Sean Gilligan
f500727729 BIP32Test: use HDPath, rather than ChildNumber[] 2022-04-17 00:04:46 +02:00
Sean Gilligan
085bf18d01 DeterministicKeyChain: replace iterator with enhanced-for 2022-04-16 23:52:42 +02:00
Sean Gilligan
b57e93cf61 DeterministicKeyChain: replace PeekingIterator with standard Iterator
No features of the PeekingIterator were being used.
2022-04-16 21:26:53 +02:00
Sean Gilligan
309c0e2448 DeterministicKeyChain: improve HDPath deserialization 2022-04-16 21:25:38 +02:00
Sean Gilligan
2b82c27456 CoinSelection: make fields final (minor breaking) 2022-04-16 20:45:58 +02:00
Sean Gilligan
9423d02b4d WalletAppKit: simplify by using the Wallet.loadFromFile() 2022-04-16 00:21:18 +02:00
Sean Gilligan
bb8687f278 Wallet: add WalletFactory parameter to loadFromFile() 2022-04-15 14:56:27 +02:00
Sean Gilligan
9b5223400b NetworkParameters, AbstractBitcoinNetParams: fix JavaDoc warnings 2022-04-14 17:38:04 +02:00
Sean Gilligan
4436e07f4c replace remaining usages of Guava ImmutableList in core tests 2022-04-14 15:21:51 +02:00
Sean Gilligan
428be7c325 HDPath: add list() getter for interoperability 2022-04-14 15:20:00 +02:00
Sean Gilligan
23e2be1bf6 HDPath: deprecate list constructor
This constructor was used in HDUtils methods that were removed in the previous
commit. The .M(list) and .m(list) factory methods should be used instead.

Also add a mild warning to the (boolean, List) constructor.
2022-04-14 13:38:42 +02:00
Sean Gilligan
ffb19c229c HDUtils: remove deprecated methods
Replacements are in HDPath.
2022-04-14 12:17:27 +02:00
Sean Gilligan
7f0f3ff4e4 HDPathTest: add two more asserts to testExtendVarargs()
Test that basePath is initialized correctly and that `hasPrivateKey()` is tested somewhere.
2022-04-14 11:13:38 +02:00
Andreas Schildbach
5b8cc744bf migrate the remaining deprecated JUnit assertThat() invocations to Hamcrest 2022-04-14 10:47:23 +02:00
Andreas Schildbach
d9b484295f use static imports for assert methods everywhere 2022-04-14 10:42:06 +02:00
Sean Gilligan
1570946c18 remove unnecessary type info on Collections.emptyList() calls 2022-04-14 10:23:04 +02:00
Sean Gilligan
eede925c96 Wallet: add loadFromFile method that supports WalletTool
* Add `Wallet.loadFromFile` that takes options needed by WalletTool
* Add `Wallet.loadFromFileStream` that supports the extra options
* Update `WalletTool` to use the new `loadFromFile` method
2022-04-12 17:38:19 +02:00
Sean Gilligan
77073e5fa2 AddressComparatorSortTest: add test for the natural order of the Address class hierarchy 2022-04-10 16:39:30 +02:00
Sean Gilligan
1219e0d7b0 InternalUtils: replace Guava Joiner and Splitter with native JDK equivalent
Also deprecate the old Joiner and Splitter related members of Utils.
2022-04-10 16:20:00 +02:00
Andreas Schildbach
cdf1fa2461 build.gradle: update EqualsVerifier to 3.10 2022-04-02 14:27:42 +02:00
Andreas Schildbach
e5ed59a1d5 build.gradle: update Jackson to 2.13.2.1 2022-04-02 14:27:42 +02:00
Andreas Schildbach
bd0672249a build.gradle: update Guava to 31.1-android 2022-04-02 14:27:42 +02:00
Andreas Schildbach
f33af0316c build.gradle: update BouncyCastle to 1.71 2022-04-02 14:27:42 +02:00
Andreas Schildbach
9669c07a99 for all tests, remove declared exceptions where they can't happen 2022-04-02 11:44:32 +02:00
Sean Gilligan
76d3dfa8c4 FutureUtils: fix a JavaDoc warning 2022-04-02 11:09:11 +02:00
Andreas Schildbach
a4ccc9555a FilteredBlockAndPartialMerkleTreeTest: rename test class from plural to singular 2022-04-01 21:37:47 +02:00
Andreas Schildbach
3a3836b775 KeyChainGroupTest: make a method private 2022-04-01 21:35:50 +02:00
Sean Gilligan
3c6e7e0b37 WalletAppKit: make walletFactory @Nonnull
This is a minor breaking change. If anyone is calling `setWalletFactory(null)` they
will need to replace it with `setWalletFactory(WalletProtobufSerializer.WalletFactory.DEFAULT)`.

A `checkNotNull` makes sure anyone doing this should discover the problem as early
as possible.
2022-04-01 17:55:40 +02:00
Andreas Schildbach
04a9834e0a WalletProtobufSerializer: declare WalletFactory a @FunctionalInterface 2022-04-01 17:19:11 +02:00
Sean Gilligan
1bfcb827e1 WalletProtobufSerializer: extract wallet constructor reference to WalletFactory::DEFAULT
This makes the default implementation more obvious and easier to
reference. It will also will help us make the WalletFactory member
of WalletAppKit `@Nonnull` in a dependent PR.
2022-04-01 17:06:37 +02:00
Andreas Schildbach
7a5fb9c01d apply "Replace lambda with method reference" refactoring 2022-04-01 16:09:30 +02:00
Sean Gilligan
a2ee754e3a Peer: produce futures via a Stream function chain in downloadDependenciesInternal() 2022-03-31 23:43:00 +02:00
Andreas Schildbach
58e725b969 Peer: make GetDataRequest a subclass of CompletableFuture to simplify 2022-03-31 23:38:56 +02:00
Sean Gilligan
e86a77c557 Peer: construct getdata a little bit more functionally and atomically in downloadDependencies()
Build GetDataMessage in a private method.
2022-03-31 19:29:06 +02:00
Andreas Schildbach
4a6219bf57 X509Utils: handle CertificateParsingException in getDisplayNameFromCertificate() if certificate has no SubjectAltName extension
This fix makes the method compatible with JDK 18. Previously, it relied
on the method returning `null` if the extension is not present.
2022-03-31 12:17:00 +02:00
Sean Gilligan
4be4a3f9f8 WalletProtobufSerializer: update obsolete comment
writeWallet and readWallet must have been static methods at one time,
but they are instance methods now. Update this misleading comment.
2022-03-30 23:12:28 +02:00
Sean Gilligan
32cf0004fd ListenableCompletableFuture: fix error in comment, rename lambda parameter
* Fix a comment that said `not-null` where it should have said `null`
* Further clarify that same comment
* Rename lambda parameter from `val` to `value`
2022-03-30 22:45:31 +02:00
Sean Gilligan
9e53b621a1 Peer: rename needToRequest to txIdsToRequest
This Set is used to filter out duplicate transactions from the rootTx
inputs and desperately needs a better name.
2022-03-30 22:38:38 +02:00
Sean Gilligan
64e07b6b9d convert ImmutableMap to unmodifiable map
This converts all remaining instances of ImmutableMap to JDK unmodifiable map.
2022-03-30 17:15:21 +02:00
Sean Gilligan
fb9b6f16b3 convert ImmutableSet to unmodifiable set
This converts all remaining instances of ImmutableSet to JDK unmodifiable set.
2022-03-30 16:46:26 +02:00
Sean Gilligan
1343776286 convert ImmutableList to unmodifiable list
This converts all remaining instances of ImmutableList (except those
in core tests) to JDK unmodifiable list.
2022-03-30 16:33:22 +02:00
Sean Gilligan
6d7dd7919f Peer: convert getDataFutures() to concurrent queue
* Convert the declared type of `getDataFutures` to `Queue` - we do not
  need random access, so `Queue` is better interface to use for this data structure.
* Convert the implementing class to `ConcurrentLinkedQueue` this provides
  the concurrency we need and is theoretically/likely more efficient than
  `CopyOnWriteArrayList`.
2022-03-30 16:19:12 +02:00
Sean Gilligan
ae71aeb6ea DownloadProgressTracker: use CompletableFuture internally 2022-03-30 14:18:23 +02:00
Sean Gilligan
caa057e409 PaymentSessionTest: make two fields final 2022-03-30 13:30:18 +02:00
Sean Gilligan
9156dbef36 PaymentSessionTest: rename field coin to amount 2022-03-30 13:24:39 +02:00
Sean Gilligan
061dfd45a1 FutureUtils: move ThrowingSupplier from ListenableCompletableFuture to here 2022-03-30 12:15:38 +02:00
Sean Gilligan
d0db98a462 ListenableCompletableFuture: remove supplyAsync() 2022-03-30 12:09:21 +02:00
Sean Gilligan
63d9b07c80 PaymentSession: use CompletableFuture internally 2022-03-30 12:05:53 +02:00
Andreas Schildbach
037ade176f BtcFormat: fix several string comparisons 2022-03-26 12:08:44 +01:00
Andreas Schildbach
01454d4f94 WalletTest: change an assert in basicSpendingCommon()
The previous assertNotEquals() had mismatched types, so it always succeeded.
2022-03-26 12:07:06 +01:00
Andreas Schildbach
7f38154244 apply "make inner classes static" refactoring 2022-03-26 11:32:49 +01:00
Sean Gilligan
ea12fe1a0d PaymentSessionTest.MockPaymentSession: don’t return a null Future
Use `ListenableCompletableFuture(null)` instead.
2022-03-26 10:59:00 +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
Andreas Schildbach
94451e6984 PeerGroupTest: migrate from ListenableFuture to CompletableFuture 2022-03-22 16:01:56 +01:00
Sean Gilligan
48907ed532 PeerTest: migrate from ListenableFuture to CompletableFuture 2022-03-22 15:58:38 +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
d212eb7185 PeerTest, PeerGroupTest: migrate from SettableFuture to CompletableFuture 2022-03-21 18:28:28 +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
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
Andreas Schildbach
2c714a6048 TransactionTest: fix threads are never started in testHashForSignatureThreadSafety() 2022-01-23 10:59:58 +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