Sean Gilligan
56658e44de
build.gradle: normalize file/directory permissions within JARs
...
This aims to make our build reprodicible.
2023-09-19 14:00:38 +02:00
Andreas Schildbach
f41b495610
build.gradle: strip timestamps from JavaDoc HTMLs
...
This aims to make our build reprodicible.
2023-09-16 22:09:51 +02:00
Andreas Schildbach
7605fa9535
build.gradle: strip timestamps from JARs
...
This aims to make our build reprodicible.
2023-09-16 22:08:45 +02:00
Andreas Schildbach
b8d2521c12
README: add JDK 21 to list of tested builds
2023-09-16 13:50:41 +02:00
Sean Gilligan
81b78292e2
PeerGroup, FilterMerger: deprecate setting false-positive rate
...
In the bitcoinj code itself, the false-positive rate is never changed
after constructing a `PeerGroup` or a `FilterMerger`.
* Deprecate methods for setting Bloom Filter FP rate in both methods
* Add constructor params to `PeerGroup` so they can be set at construction
time, if non-default values are needed
2023-09-16 11:42:24 +02:00
Sean Gilligan
5955eee4c8
Wallet: replace Interables.concat()
with Stream.concat()
in getWatchedOutputs()
...
This simplifies the code and removes a Guava dependency.
2023-09-16 11:31:32 +02:00
Sean Gilligan
68e61d9507
Wallet: refactor getWatchedOutputs()
to use streams
...
1. Get a spliterator from the concatenated iterator
2. Use streams instead of nested loops
3. Extract `isWatchedScriptPubKey()` helper function
2023-09-16 11:28:56 +02:00
Sean Gilligan
bce4475aaf
replace Guava Bytes.concat()
with own ByteUtils.concat()
2023-09-16 11:22:11 +02:00
Sean Gilligan
daa4da8d9f
remove use of Guava @VisibleForTesting
on all package-private members
...
From now on we will only use this annotation on `public` or `protected` members.
2023-09-16 11:13:22 +02:00
Sean Gilligan
57b3649e55
PBKDF2SHA512: replace unneeded check for max dkLen
with comment
...
Since the check for `dkLen > (2^32 - 1) * H_LEN` is effectively a no-op,
replace it with a comment.
2023-09-16 09:07:50 +02:00
Sean Gilligan
b4f7deaba5
PBKDF2SHA512: calculate l
with integer math
2023-09-14 22:46:25 +02:00
Sean Gilligan
5a11957eb3
PBKDF2SHA512: declare/catch specific exceptions
...
Make it more clear which exceptions are thrown by `F` and caught by
the `try` in `derive()`.
2023-09-14 22:39:58 +02:00
Sean Gilligan
ee23c2d6ff
PBKDF2SHA512: don't allow negative count or dkLen
2023-09-14 22:37:09 +02:00
Sean Gilligan
140deb0669
PBKDF2SHA512: move dkLen check out of try/catch
...
It throws an exception so doesn't need an if/else
and it also doesn't need to be in the try.
2023-09-14 22:34:12 +02:00
Sean Gilligan
4e039df446
PBKDF2SHA512: make hLen a constant
2023-09-14 18:25:31 +02:00
Sean Gilligan
c830107bce
PBKDF2SHA512: set hLen to correct value of 64
...
This is a bugfix to the API, but since `MnemonicCode` always
passes `dkLen` of 64 and the `System.arraycopy()` on line 66 truncates
`baos.toByteArray()` to `dkLen` length, the call to `derive()` works
correctly for our use-case.
2023-09-14 18:21:53 +02:00
Andreas Schildbach
4b987cb172
PBKDF2SHA512: remove comment about SHA-1 test vectors
...
They won't pass against our SHA-512 based code, and we have
our tests now.
2023-09-14 17:07:23 +02:00
Andreas Schildbach
040e2f4b3e
PBKDF2SHA512Test: tests for PBKDF2SHA512.derive()
2023-09-14 08:17:53 +02:00
Sean Gilligan
b90af12aea
PBKDF2SHA512: update URLs in JavaDoc
...
The IETF `https:` URLs are what the previous `http:` URLs redirect to.
The Cryptofreak URL is the same but with `https:`.
2023-09-12 22:18:19 +02:00
Sean Gilligan
f7d2b38aae
PBKDF2SHA512: properly format JavaDoc
2023-09-12 22:16:48 +02:00
Sean Gilligan
bce7bc195f
WalletTool: eliminate reassignment of feePerVkb
2023-09-12 21:51:31 +02:00
Sean Gilligan
983febfad0
WalletTool: eliminate reassignment of coinSelector
2023-09-12 21:49:40 +02:00
Sean Gilligan
e186ef9c84
WalletTool: simplify coinSelector lambdas
2023-09-12 21:47:20 +02:00
Sean Gilligan
853aeebd81
WalletTool: use CoinSelector.fromPredicate()
...
Simplify creation of CoinSelectors by using `CoinSelector.fromPredicate()`.
2023-09-12 21:44:32 +02:00
Sean Gilligan
7af3124f65
FilteringCoinSelector: use stream in select()
...
Note: this also prevents mutation of the candidate list which isn't
a problem as used within bitcoinj, but could be a problem if used
externally.
2023-09-12 19:01:41 +02:00
Sean Gilligan
0597c3383f
CoinSelector: mark as functional interface
...
The `@FunctionalInterface` annotation doesn't change behavior of `CoinSelector`
in any way. It just declares our intention that it be used as a functional
interface and will generate compiler errors if someone changes the code so that
it is no longer a SAM type.
2023-09-12 18:46:18 +02:00
Sean Gilligan
bd52545fb7
DefaultCoinSelector: use List.sort()
instead of Collections.sort()
2023-09-12 18:36:24 +02:00
Sean Gilligan
2be7ee33f8
DefaultCoinSelector: extract compareByDepth()
comparator
2023-09-12 18:34:24 +02:00
Sean Gilligan
9eaff37897
FilteringCoinSelector: make immutable
...
This is an API-breaking change because it requires a list of
`TransactionOutPoint` to be passed to the constructor and remove the
`excludesOutputsSpentBy(tx)` method.
`Wallet` is updated to use the new constructor.
2023-09-12 18:30:30 +02:00
Sean Gilligan
82feb7b831
CoinSelection: add defensive copy in constructor
2023-09-12 18:22:34 +02:00
Sean Gilligan
e8491bbd88
KeyTimeCoinSelector: use a stream in select()
...
Note that this removes the warning about exceeding the limit.
2023-09-12 18:19:14 +02:00
Sean Gilligan
339e0d0450
KeyTimeCoinSelector: factor out method isKeyBeforeCutoff()
2023-09-12 18:12:56 +02:00
Sean Gilligan
0c7e1aec3b
KeyTimeCoinSelector: use Wallet.getConfidence(parent)
in isConfirmed()
...
Also make `Wallet.getConfidence(parent)` package-private.
2023-09-12 18:09:06 +02:00
Sean Gilligan
bbe7f088ca
KeyTimeCoinSelector: check for parent is non-null in isConfirmed()
2023-09-12 18:05:07 +02:00
Sean Gilligan
af7c903df7
GuiUtils: use UI_ANIMATION_TIME
consistently, deprecate UI_ANIMATION_TIME_MSEC
2023-09-12 18:01:40 +02:00
Sean Gilligan
b83c0b96e6
WalletApplication: remove unreachable default case in suffixFromNetwork()
2023-09-12 17:59:43 +02:00
Sean Gilligan
b5d3c07612
WalletApplication: use switch expression in suffixFromNetwork()
2023-09-12 17:56:45 +02:00
Sean Gilligan
6fc1087aba
wallettemplate: mark fields as final
...
This commit fixes every IntelliJ warning about fields being final for
the wallettemplate module.
2023-09-12 17:54:46 +02:00
Sean Gilligan
7a1135246c
EasingInterpolator: remove redundant default clause from switch expression
2023-09-12 17:52:04 +02:00
Sean Gilligan
7a30041578
EasingInterpolator: use switch expression
2023-09-12 17:43:31 +02:00
Sean Gilligan
9e9d3afd6a
WTUtils: fix warning about raw generic
2023-09-12 17:40:33 +02:00
Sean Gilligan
110da96911
Wallet: use getAbsoluteFile()
when checking if parent directory exists
...
This fixes a NPE when using wallet-tool to create a new wallet on a path
without directory, e.g. `wallet-tool create --wallet=test.wallet`.
2023-09-07 17:44:04 +02:00
Sean Gilligan
8aa808f7d4
build.gradle: update JavaFX to 20.0.2
2023-09-07 11:06:14 +02:00
Sean Gilligan
96d0022d09
build.gradle: update javafxplugin to 0.1.0
2023-09-07 11:04:03 +02:00
Andreas Schildbach
929088cde8
Sha256Hash: add back accessor getReversedBytes()
as deprecated
2023-09-07 10:55:34 +02:00
Andreas Schildbach
2cdbc986a8
VersionMessage: add back helper toStringServices()
as deprecated
2023-09-07 10:53:06 +02:00
Andreas Schildbach
e2b1c81b60
TransactionOutput: add back a constructor as deprecated
2023-09-07 10:49:58 +02:00
Sean Gilligan
0fe0daba59
wallettemplate: require JDK 17+ and Gradle 7.3+
...
Also update the README for latest build JDK/Gradle information.
2023-09-06 23:47:07 +02:00
Sean Gilligan
52b9e3ad0e
gradle.yml: update JDK to 21-ea in the build matrix
2023-09-05 17:43:00 +02:00
Sean Gilligan
6f1ceb47b5
gradle.yml, graalvm.yml: update gradle-build-action to 2.8.0
2023-09-05 17:39:30 +02:00