Sean Gilligan
74153c321f
Context, HDKeyDerivation, KeyChainGroupStructure: fix punctuation regarding 'e.g.' in comments
2023-12-18 18:24:27 +01:00
Peter Todd
e03c6a500b
MainNetParams, TestNet3Params: update petertodd DNS seed
...
Moved to `.net` from `.org`.
2023-12-08 12:28:25 +01:00
Sean Gilligan
7e073f1793
Bech32: refactor, support arbitrary byte[] encodings
...
* Move/refactor utility methods from `SegwitAddress` to `Bech32`
* Add `Bech32.Bech32Bytes` class for wrapping `Bech32` 5-bit byte arrays
* Have existing `Bech32.Bech32Data` class extend `Bech32.Bech32Bytes`
* Add `encodeBytes` and `decodeBytes` to `Bech32` for encoding/decoding arbitrary `byte[]`
* Add tests for Nostr NIP-19 test vectors
2023-12-05 16:40:36 +01:00
Sean Gilligan
539d25b35a
KeyDerivationTasks: replace wildcard import
...
Replace import of `jakarta.annotation.*` with `jakarta.annotation.Nullable`.
2023-11-21 21:48:12 +01:00
Andreas Schildbach
89e190614a
build.gradle: drop the Eclipse plugin
...
We assume that these days the plugin isn't needed to set up bitcoinj within
Eclipse.
2023-11-19 23:12:10 +01:00
Sean Gilligan
69366caa9d
wallettemplate: migrate to Jakarta Annotations
...
Migrate `@Nullable` from JSR 250 (Common Annotations) to Jakarta
Annotations.
Jakarta Annotations supports Java modules, so this is necessary
to migrate to running `wallettemplate` on the module path.
2023-11-19 23:08:50 +01:00
Sean Gilligan
f298a49162
build.gradle: update Jackson to 2.16.0
2023-11-19 23:00:09 +01:00
Andreas Schildbach
fe6382d850
build.gradle: update protobuf-javalite to 3.22.5
2023-11-16 15:47:29 +01:00
Sean Gilligan
7b6f48a739
build.gradle: update Bouncy Castle to 1.77
2023-11-16 15:31:20 +01:00
Sean Gilligan
8566f8a21c
Block: use stream in readTransactions()
...
* Use `IntStream` to build the list
* Return an unmodifiable list
2023-11-10 12:45:30 +01:00
Sean Gilligan
5d3cd2c115
TestWithNetworkConnections: make peerServers
final
2023-11-10 12:37:47 +01:00
Andreas Schildbach
02ef9d50c3
WalletTool: new option for setting the type of filter for syncing
...
Currently, only server-side (bloom) filtering is supported.
2023-10-24 23:50:30 +02:00
Andreas Schildbach
c210fe7ba2
WalletTool: remove validation mode option
...
Keep only "simply payment verification" (SPV). Full validation is
utterly broken in bitcoinj, not tested, not maintained and as of
today nobody cares.
2023-10-24 23:46:29 +02:00
Andreas Schildbach
d8e864fb24
TransactionConfidence: check for mutation of an already set source
2023-10-24 13:29:25 +02:00
Sean Gilligan
e0b46d7c64
Block, Peer: set TransactionConfidence source
more selectively
...
* Don't set it in `Block.readTransactions()` (this is a performance and
a layering issue)
* When received from the network (or simulating network reception in a test)
only set `source` to `NETWORK` if it was previously `UNKNOWN`.
2023-10-24 12:28:54 +02:00
Sean Gilligan
6219c56138
BlockFileLoaderBitcoindTest: add test streamEntireBitcoindBlockchainAsBlocks()
...
This test is useful for performance comparisons with
`streamEntireBitcoindBlockchainAsBuffers()`.
With adding to the `TxConfidenceTable` removed from `Block.read()` and
on a fast, modern laptop, `streamEntireBitcoindBlockchainAsBuffers()`
currently takes under 2 minutes while `streamEntireBitcoindBlockchainAsBlocks()`
takes over 5 minutes.
2023-10-24 12:21:22 +02:00
Sean Gilligan
d347ef996e
BlockFileLoader: stream()
call streamBuffers()
...
`stream()` is `streamBuffers()` with a `map()` operation to
read a buffer into a Block. Make this more clear by removing
duplicated code.
2023-10-24 12:13:50 +02:00
Sean Gilligan
712d8aac10
build.gradle: update JavaFX to 21.0.1
2023-10-24 12:07:04 +02:00
Sean Gilligan
dfe8d3866c
build.gradle: updade picocli to 4.7.5
2023-10-24 12:00:11 +02:00
Sean Gilligan
03d6d4cf87
build.gradle: update equalsverifier to 3.15.2
2023-10-24 11:57:41 +02:00
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