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
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