Commit graph

3388 commits

Author SHA1 Message Date
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