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
Sean Gilligan
6ea02d1569
Add integration tests subproject: integration-test
...
* JUnit 5 (API & Engine)
* Tests compile/run as JDK 11+
* Tests require Gradle 4.6+
2022-04-12 15:19:34 -07: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
6fc45aafe9
build.gradle: update javafxplugin to 0.0.12
...
Among other things, this version provides support for macOS on M1.
2022-04-12 17:27:50 +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
Sean Gilligan
56d89f37ac
WalletTool: remove unnecessary null
assignments
2022-04-09 10:54:52 +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
b37f5ff735
gradle.yml: update Gradle to 7.4.2
2022-04-01 20:47:28 +02:00
Sean Gilligan
3ea2dc40d9
WalletTool: remove superfluous throws Exception
from main
...
main() currently throws no checked exceptions. This is a good thing and
means all checked exceptions are caught and (hopefully properly) handled by
outputting error messages and return a non-zero exit code.
2022-04-01 20:27:13 +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
Sean Gilligan
09203438c3
gradle.yml: add JDK 18 to build matrix
2022-03-31 19:01:48 +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