Sean Gilligan
e650f0f160
build.gradle: update Jackson to 2.15.3
2023-10-24 11:52:39 +02:00
Sean Gilligan
b8b64a339a
build.gradle: update SLF4J to 2.0.9
2023-10-24 11:48:23 +02:00
Sean Gilligan
1b16d0b87f
build.gradle: update Guava to 32.1.3-android
2023-10-24 11:46:11 +02:00
Sean Gilligan
ac9967b1d9
.gitlab-ci.yml: enable Gradle Build Scan
2023-10-24 11:44:20 +02:00
Sean Gilligan
474d8d91f7
gradle.yml, graalvm.yml: enable Gradle Build Scan
...
Adds a Gradle initialization script to non-interactively agree to the
Gradle Build Scan terms of service. Provided by Stefan Wolf via GitHub
Issues, see
https://github.com/gradle/gradle/issues/26316#issuecomment-1739245349
Tested with Gradle 4.4 to Gradle 8.4.
2023-10-15 14:11:08 +02:00
Sean Gilligan
bfae3a8913
gradle.yml: update JDK to 21 in the build matrix
2023-10-13 00:48:14 +02:00
Andreas Schildbach
d326fadda0
WalletTool, BitcoinURITest: update fictious example URLs
...
- Use a subdomain of `example.com`
- Use HTTPS, though not strictly necessary with BIP-70
- Strip the `.php` suffix
2023-10-11 10:35:32 +02:00
Andreas Schildbach
432fa51168
EncryptedData, KeyCrypter, KeyCrypterScrypt: update links to MIT license
2023-10-09 10:11:33 +02:00
Sean Gilligan
531ba5cfd5
gradle.yml, graalvm.yml: update Gradle to 8.4
2023-10-05 10:48:58 +02:00
Sean Gilligan
f190f589e6
TransactionBroadcast: allow interrupt in dropPeerAfterBroadcastHandler()
...
If an `InterruptedException` occurs while sleeping in `dropPeerAfterBroadcastHandler()`,
close the peer immediately instead of delaying the exception to preserve a full 1-second
delay.
Peers/PeerGroups can be shut down, and they should shut down as quickly as possible.
2023-10-03 23:03:02 +02:00
Sean Gilligan
b959b7bdfb
KeyDerivationTasks: use Thread.sleep()
instead of Guava Uninterrruptables
...
We don't really need to sleep uninterrruptibly here. The code is only displaying
a progress indicator and the `call()` method is already throwing `Exception`.
2023-10-02 21:47:43 +02:00
Sean Gilligan
7f341d9aab
KeyDerivationTasks: Use Duration
for PROGRESS_UPDATE_INTERVAL
2023-10-02 21:44:52 +02:00
Sean Gilligan
cb740d2eaa
PeerTest, PeerGroupTest: replace usage of Guava Lists
2023-10-02 21:10:08 +02:00
Sean Gilligan
647c7ecbd7
TransactionBroadcastTest: use AtomicLong
over Guava AtomicDouble
...
Use `AtomicLong` with some wrapping and unwrapping instead.
2023-10-02 21:06:17 +02:00
Sean Gilligan
1b63903ad3
TestWithPeerGroup: remove unneeded use of ListeningScheduledExecutorService
...
There is no longer a need to decorate `ScheduledThreadPoolExecutor` to support
`ListeningScheduledExecutorService` since `PeerGroup` no longer uses it.
2023-10-02 20:48:49 +02:00
Sean Gilligan
5513f7dff0
InternalUtils: new helper getUninterruptibly()
to replace Guava method
...
Update usages in `PeerGroup` and `PeerTest`.
2023-10-02 20:44:46 +02:00
Sean Gilligan
04a783282d
FakeTxBuilder: make BlockPair fields immutable
2023-10-02 20:38:48 +02:00
Sean Gilligan
fea737b39b
Address, AddressParser: improve JavaDoc regarding network normalization
2023-10-02 20:35:12 +02:00
Sean Gilligan
a5ab229f9f
WTUtils: remove redundant public
on interfaces
2023-10-01 16:47:33 +02:00
Sean Gilligan
a89e309d66
ClickableBitcoinAddress: make address
property final
2023-10-01 16:45:29 +02:00
Sean Gilligan
b0ef27a019
WalletSetPasswordControllerTest: test key derivation time
...
Ensure key derivation time with `WalletSetPasswordController#SCRYPT_PARAMETERS`
isn't inordinately slow. This is in preparation for some forthcoming changes to
the progress meter in `WalletSetPasswordController`.
2023-10-01 16:06:58 +02:00
Sean Gilligan
d9e33a553a
build.gradle: enable JUnit 5 for wallettemplate
2023-10-01 15:51:32 +02:00
Sean Gilligan
3dd29e2d3a
build.gradle: apply artifact normalization to all subprojects
...
Normalization is needed for reproducibility. Previously it was
applied only to `core`.
2023-10-01 09:41:06 +02:00
Andreas Schildbach
a9b9af8102
PeerGroup: check required services on discovered addresses via addr/addrv2
...
If the discovered peer has the required services, mark it with a slightly
higher priority than peers discovered via `PeerDiscovery`.
2023-10-01 09:27:43 +02:00
Sean Gilligan
1a30c00df8
WalletTool: remove unused/obsolete print help code
...
This code has been unused since the conversion to picocli which generates
help text and automatically handles printing it. The `wallet-tool-help.txt`
file was deleted in the commit with the picocli implementation.
Note: this also removes the last use of Guava in WalletTool.
2023-10-01 01:11:12 +02:00
Sean Gilligan
41885df896
PrintPeers: remove unused imports
...
This is the last Guava import in `examples`.
2023-09-30 18:33:13 +02:00
Sean Gilligan
2526f5c78a
BitcoinSerializer: use Network
not NetworkParameters
...
Also deprecate (unused) method `getParameters()`.
2023-09-30 18:27:28 +02:00
Andreas Schildbach
8bf4f57888
BitcoinSerializer: remove a whitespace at EOL
2023-09-30 18:23:37 +02:00
Sean Gilligan
eefadef5f6
build.gradle: update JavaFX to 21
2023-09-30 18:15:36 +02:00
Andreas Schildbach
6686782ffa
ECKey: remove native interface to libsecp256k1
...
Of course, Bouncy Castle is still used.
2023-09-30 18:06:55 +02:00
Sean Gilligan
576adf229b
PBKDF2SHA512: remove redundant Mac.reset()
calls
...
Calls to `Mac.reset()` are not needed after `Mac.doFinal(input)`.
2023-09-25 15:21:13 +02:00
Sean Gilligan
3023188541
PBKDF2SHA512: simplify F()
by using ByteUtils.concat()
2023-09-25 15:14:07 +02:00
Sean Gilligan
053cd60dc5
PBKDF2SHA512: chain methods in INT()
...
Simplify slightly by using a more functional-style approach.
2023-09-25 15:11:15 +02:00
Sean Gilligan
e67401d7a5
PBKDF2SHA512: add JavaDoc comment to derive()
method
2023-09-25 15:08:00 +02:00
Andreas Schildbach
0d57e1ece1
MnemonicCode: fix comment about iteration count
2023-09-25 15:04:17 +02:00
Andreas Schildbach
3ef7a4d853
.gitlab-ci.yml: remove publishing of artifacts for CI builds
...
We have our reference build now and all published artifacts go
through that one.
2023-09-25 14:34:42 +02:00
Sean Gilligan
c7cd7200fb
.gitlab-ci.yml: print sha256sum of build artifacts
...
Add printing of `sha256sum` for core and wallet-tool binaries. Do this
for the reference build and the three CI builds.
2023-09-25 14:05:12 +02:00
Andreas Schildbach
dc7e488819
.gitlab-ci.yml: test ability to publish core into a maven repository
...
Add it to all three CI build jobs.
2023-09-21 23:52:12 +02:00
Sean Gilligan
7988870f8a
.gitlab-ci.yml: test ability to create the wallet-tool distribution too
...
Add it to all three CI build jobs.
2023-09-21 22:14:48 +02:00
Andreas Schildbach
73690baa71
.gitlab-ci.yml: add our reference build
2023-09-21 20:36:39 +02:00
Sean Gilligan
64b5e02a5c
graalvm.yml: add JDK 21 to the matrix
...
This also requires updating to the latest Gradle GraalVM Plugin,
which requires Gradle 7.4 or later.
Recent Gradle GraalVM Plugins don't require the `javaLauncher` setting (which
we had hardcoded to use JDK 17) so that setting is removed.
2023-09-21 19:38:43 +02:00
Sean Gilligan
1952d1cc7f
graalvm.yml: remove unneeded declaration of native-image component
...
This is not needed with GraalVM 17 and will cause an error with GraalVM 21.
2023-09-21 19:33:53 +02:00
Andreas Schildbach
bb95ea18d1
build.Containerfile: update reference build to use JDK 17
...
Also updates the container to Debian Bookworm, because we need
its specific (patched for JDK 17) Gradle version.
Note this change makes the JavaDoc build artifact reproducible.
2023-09-21 19:12:45 +02:00
Andreas Schildbach
b6b29a659b
build.Containerfile: reproducible reference build via containerization
...
Currently, buildah, Podman and Docker are supported.
The goals of the reference build are:
- Make our release process more transparent
- Improve reproducibility by shielding our build from the hosts
environment
- Reduce the trust necessary for running our build by shielding
the hosts environment from possible side effects of our build
Note both the signing and the uploading of release artifacts are out
of scope for the reference build.
2023-09-21 11:46:34 +02:00
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