Commit graph

3908 commits

Author SHA1 Message Date
Andreas Schildbach
e3ca33469f Services: add NODE_P2P_V2 service bit 2024-01-16 20:19:25 +01:00
Andreas Schildbach
a0724fcbb2 Services: add NODE_COMPACT_FILTERS service bit 2024-01-16 20:19:25 +01:00
Andreas Schildbach
2c9cdb77cc checkpoints.txt: refresh bundled checkpoints 2024-01-10 23:05:59 +01:00
Andreas Schildbach
1c27229a93 Prepare 0.17-SNAPSHOT 2023-12-20 17:47:41 +01:00
Andreas Schildbach
be826ce9b0 Tag 0.17-alpha3 2023-12-20 17:47:26 +01:00
Andreas Schildbach
0e8a51123b Transaction: add back a constructor as deprecated
Problem: At the moment, we don't have a replacement.
2023-12-20 02:10:10 +01:00
Andreas Schildbach
7230fbf7e5 KeyChainGroup: reword two comments about fallback chains being skipped in future 2023-12-19 17:47:17 +01:00
Andreas Schildbach
4cf9fc5450 build.gradle: update Guava to 33.0.0-android 2023-12-19 15:49:20 +01:00
Sean Gilligan
51266b6bbc Wallet: fix incorrect constructor JavaDoc
The (canonical) constructor does not create a wallet with a random seed.
2023-12-18 20:30:30 +01:00
Sean Gilligan
1f7ed7f94b Wallet: improve JavaDoc for fromMasterKey()
The JavaDoc was incorrect/incomplete. The changes add `@param`/`@return` items,
fix errors, add important details.
2023-12-18 18:38:26 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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