Commit Graph

3897 Commits

Author SHA1 Message Date
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
e6dd75d823 wallettool: add some first basic JUnit 5 tests
Also update gradle.yml to upload test results to GitHub.
2022-04-15 14:42:58 +02:00
Sean Gilligan
36bae01141 gradle.yml: upload integration-test results to GitHub 2022-04-15 14:31:21 +02:00
Sean Gilligan
9b5223400b NetworkParameters, AbstractBitcoinNetParams: fix JavaDoc warnings 2022-04-14 17:38:04 +02:00
Sean Gilligan
05b0ee144b WalletTool: declare specific exceptions for call() 2022-04-14 15:33:22 +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
b0a5662719 WalletLoadTest: add as a first integration test 2022-04-13 20:22:37 +02:00
Andreas Schildbach
1ddd226e75 settings.gradle: print message if wallettemplate is skipped 2022-04-13 18:27:05 +02:00