Andreas Schildbach
e51f1630df
build.gradle: update Guava to 33.3.0-android
2024-08-21 13:12:59 +02:00
Sean Gilligan
58ca59ba53
TorUtils: move to o.b.core.internal
...
It is only used by PeerAddress, so it makes sense for it to be in the
same package as PeerAddress. This removes a Guava dependency from
the o.b.crypto package/module.
2024-08-19 20:14:07 +02:00
Sean Gilligan
3ded6f9c66
ECKey, BtcFormat: fix bad JavaDoc @link
tags
...
JDK 23 fixes a bug that allowed these invalid links:
https://bugs.openjdk.org/browse/JDK-8164094
This PR fixes the invalid links and does not require JDK 23, but
does fix our build so it will work with JDK 23.
2024-08-15 08:39:03 +02:00
Sean Gilligan
d394ce63a5
DefaultAddressParserProvider: deprecate fromNetworks()
...
It was already package-private and is only used by deprecated methods
in `AddressParser`.
2024-08-06 00:41:27 +02:00
Andreas Schildbach
33a69dcebe
build.gradle: update Hamcrest to 3.0
2024-08-03 10:16:36 +02:00
Andreas Schildbach
5231112ffa
build.gradle: update Jackson to 2.17.2
2024-08-03 10:16:36 +02:00
Andreas Schildbach
d56f51ad3b
build.gradle: update EasyMock to 5.4.0
2024-08-03 10:16:36 +02:00
Andreas Schildbach
eb8b415d99
build.gradle: update SLF4J to 2.0.13
2024-08-03 10:16:36 +02:00
Andreas Schildbach
32c05aeb8d
build.gradle: update protobuf-javalite to 4.27.3
2024-08-03 09:37:46 +02:00
Andreas Schildbach
20ac61ea23
build.gradle: update Guava to 33.2.1-android
2024-08-03 09:34:29 +02:00
Andreas Schildbach
0c1828a302
Prepare 0.17-SNAPSHOT
2024-08-02 12:55:08 +02:00
Andreas Schildbach
739ff511de
Tag 0.17-alpha5
2024-08-02 10:06:41 +02:00
Andreas Schildbach
6a2e01bfed
checkpoints.txt: refresh bundled checkpoints
2024-08-02 10:04:15 +02:00
Andreas Schildbach
fcb36eb06b
SPVBlockStore: support 32 byte chain work
...
Existing V1 files are automatically migrated to V2 format.
Includes a test for migration from V1 to V2 format. This requires
`getRingCursor()` to be changed from private to package-private.
2024-08-01 17:20:36 +02:00
Andreas Schildbach
effe62b649
SPVBlockStore: don't pass buffer into setRingCursor(), getRingCursor()
...
It's available as a field already.
2024-07-25 21:24:02 +02:00
Andreas Schildbach
16388844ab
SPVBlockStore: rewind buffer directly before accesses to magic header
...
This is meant to make sure the buffer position is always right.
2024-07-15 08:13:43 +02:00
Andreas Schildbach
b3d7c6aae3
SPVBlockStore: compare magic header as bytes, not string
...
This gets rid of several bytes to/from string conversions.
2024-07-14 22:57:20 +02:00
Andreas Schildbach
77de8684e9
SPVBlockStore: deprecate constant HEADER_MAGIC
...
It's an implementation detail. We should be switching this to private in future.
2024-07-12 12:59:41 +02:00
Andreas Schildbach
147e479e63
SPVBlockStore: lock the store file as early as possible
2024-07-12 12:17:53 +02:00
Andreas Schildbach
ce126353a2
BuildCheckpoints: create mixed-format checkpoints
...
Create checkpoints with 12 (or less) bytes of work in the old V1 format,
otherwise V2. This will make checkpoint files easier to review.
This un-deprecates the V1 format in StoredBlock, since it's no longer
planned to remove that in the forseeable future.
This also reverts recent changes to the bundled checkpoints
(commit de8afc67ca
).
2024-07-01 15:53:03 +02:00
Andreas Schildbach
de8afc67ca
CheckpointManager, BuildCheckpoints: support checkpoints with 32 byte chain work
...
* `BuildCheckpoints` now always creates checkpoints with 32 byte chain work
* `CheckpointManager` knows how to read both 12 and 32 byte chain work
Also updates the bundled checkpoints to the new format and a test.
2024-06-28 18:50:45 +02:00
Andreas Schildbach
db329beca5
CheckpointManager, BuildCheckpoints: remove support for binary checkpoint format
...
Use the textual format instead.
2024-06-27 21:21:45 +02:00
Andreas Schildbach
f5c36e1a80
checkpoints.txt: refresh bundled checkpoints
2024-06-27 20:41:27 +02:00
Andreas Schildbach
a1257ce83d
StoredBlock: add serializeCompactV2(), deserializeCompactV2()
...
The old format will soon run out of bytes for the chain work value.
Also deprecates the old methods and adds tests for the V2 format.
2024-06-27 18:23:29 +02:00
Andreas Schildbach
39f409f351
StoredBlock: rework comment about usage of serializeCompact(), deserializeCompact()
...
The explicit list of usages was already stale. Rather, just mention
it's being used internally.
2024-06-27 09:05:38 +02:00
Andreas Schildbach
a05fc05e56
StoredBlockTest: add tests for serializeCompact(), deserializeCompact(), moreWorkThan()
2024-06-27 08:59:28 +02:00
Andreas Schildbach
009f19abc1
StoredBlock: remove an outdated comment
...
We don't have unsafeBitcoinSerialize() any more.
2024-06-26 23:32:47 +02:00
Sean Gilligan
32e9145722
StoredBlock: update comment about CHAIN_WORK_BYTES
...
The original comment, written in 2011 said "12 bytes should be plenty for now".
As of June 2024, we know that 12 bytes is not enough.
2024-06-24 19:14:38 +02:00
Sean Gilligan
0aa17cd0a2
ByteUtils: improve JavaDoc comments for bigIntegerToBytes(), bytesToBigInteger()
2024-06-24 19:11:16 +02:00
Sean Gilligan
fae543bb6d
StoredBlock: use ByteUtils.bigIntegerToBytes to convert chainWork
...
This is a fix for Issue #3410 that will allow main net blocks above
849,137 to be processed. As of block 849,138 we can no longer fit
total chainwork in a 12-byte *signed* field. This fix "kicks the can
down the road" by making the field 12-bytes *unsigned*.
We should open a new issue to address the long term need for bigger
values. Note that converting the field to 12-byte unsigned precludes
us from using the most-significant bit as a flag for a new format, but
we should be able to pick some arbitrary value, say 0xA0 as a version
flag and declare that values less than 0xA0 are "unversioned".
2024-06-23 18:49:54 -04:00
Andreas Schildbach
d265ea0aa8
ECKey: remove mention of mailing list in documentation
2024-06-01 23:58:11 +02:00
Andreas Schildbach
6feeb5a1c0
TransactionConfidence: rename getLastBroadcastTime()
method from lastBroadcastTime()
...
This effectively reverts commit c2cabead9a
.
2024-05-14 17:51:00 +02:00
Andreas Schildbach
ff42c49648
PeerGroup: rename getFastCatchupTime()
method from fastCatchupTime()
...
This effectively reverts commit 45f87d8339
.
2024-05-14 17:51:00 +02:00
Andreas Schildbach
781d64550b
Script: rename getCreationTime()
method from creationTime()
...
This effectively reverts commit b309308076
.
2024-05-14 17:51:00 +02:00
Oliver Aemmer
70fb77d2d1
wallet.proto: rename to Key.Type.ENCRYPTED from ENCRYPTED_SCRYPT_AES
2024-05-05 14:24:59 +02:00
Andreas Schildbach
92c2c29508
Prepare 0.17-SNAPSHOT
2024-04-29 20:13:45 +02:00
Andreas Schildbach
e42c59b818
Tag 0.17-alpha4
2024-04-29 20:12:26 +02:00
Andreas Schildbach
b292679aa4
build.gradle: update Bouncy Castle to 1.78.1
2024-04-29 12:19:49 +02:00
Sean Gilligan
bd0a36b1e5
build.gradle: update equalsverifier to 3.16.1
...
This is needed for building with JDK 22.
2024-04-29 09:27:00 +02:00
Sean Gilligan
53a6b3e150
BitcoinNetwork: add address validation methods
...
There are use cases where an already parsed address needs to be validated
for a specific network. In one use case the address came from an external
source and needs validation with an error message displayed: that's what
`isValidAddress(Address)` is for. In the other case we can treat the invalid
address as a fatal error. That's `checkAddress(Address)`.
2024-04-29 09:19:18 +02:00
Andreas Schildbach
19cce08825
build.gradle: update protobuf-javalite to 4.26.1
2024-04-27 23:39:21 +02:00
Andreas Schildbach
dcd49e5645
ByteUtils: remove unused helpers
2024-04-27 23:24:45 +02:00
Sean Gilligan
7a00b82746
build.gradle: enforce Android flavor of Guava
2024-04-27 21:16:43 +02:00
Sean Gilligan
8dd7b3e0b8
BitcoinNetwork: add strings()
method to list names of all values
...
This simplifies code that needs a list of all the values.
2024-04-23 17:06:56 +02:00
Sean Gilligan
298a75808e
BitcoinNetwork: private static stream()
method
...
Create a private method to stream the `values()` array, as it is used in
multiple places.
2024-04-23 16:58:39 +02:00
hanmz
ead69daae6
ByteUtils: fix typos in JavaDoc comments
2024-04-23 10:58:17 +02:00
hanmz
1f591df71c
Buffers: fix typo in JavaDoc comment
2024-04-23 10:55:57 +02:00
Johannes Zweng
fb6aa09081
ECKey: add comments better explaining the meaning of recId
2024-04-10 15:55:58 +02:00
avoidaway
ece3943bab
LegacyAddress, BitcoinSerializer, MessageSerializer, TransactionReceivedInBlockListener, ECKey, ChildKeyDerivationTest: fix repetitive words in comments
2024-04-07 13:55:38 +02:00
snoppy
6cf2cb4211
Wallet, KeyChainGroup: fix typos in JavaDoc
2024-04-07 13:53:47 +02:00