Andreas Schildbach
dca54e0621
Preconditions: replace Guava checkArgument()
and checkState()
in base
with own implementation
...
This has the added benefit of exception messages only being evaluated on demand.
2023-03-16 21:42:46 +01:00
Sean Gilligan
9ab5653fcf
Script: use LockTime.THRESHOLD
instead of deprecated Transaction.LOCKTIME_THRESHOLD
2023-03-16 21:38:52 +01:00
Andreas Schildbach
9ec245c259
Objects: migrate entire codebase to requireNonNull()
from Guava Precondition.checkNotNull()
...
This has the added benefit of exception messages being evaluated on demand.
2023-03-16 20:12:28 +01:00
Andreas Schildbach
36c82a3cfb
SegwitAddressTest: replace Guava ToStringHelper with custom string building
2023-03-16 17:10:48 +01:00
Andreas Schildbach
202bb1f8fb
LockTime: wrap lock time values
...
This improves readability and type safety.
2023-03-15 21:45:09 +01:00
Andreas Schildbach
3b7c35f4cb
Script: minor spelling fix for "lock time"
2023-03-15 16:44:33 +01:00
Andreas Schildbach
4d70b690d7
.gitlab-ci.yml: add a job for building with OpenJDK 17 under Debian Bookworm
2023-03-15 13:27:21 +01:00
Andreas Schildbach
1efd60ca26
.gitlab-ci.yml: don't upgrade packages before build
...
We don't need the absolute latest versions. The Docker images are
updated regularly anyway.
2023-03-15 13:15:05 +01:00
Andreas Schildbach
5aa2c2e065
Block: wrap hashes with Sha256Hash
in buildMerkleTree()
2023-03-15 02:25:11 +01:00
Andreas Schildbach
1e883a6423
ListMessage: move arrayLen
field to local variable
2023-03-15 01:32:38 +01:00
Andreas Schildbach
35b7532e11
BlockChainTest: use DateTimeFormatter.ISO_INSTANT
to parse an instant
2023-03-14 10:12:13 +01:00
Andreas Schildbach
2cf4f17458
PaymentProtocolTool: use TimeUtils.dateTimeFormat()
to dump expiry time
2023-03-14 10:00:49 +01:00
Andreas Schildbach
0e871e9af4
Block: use Date.from()
to convert from Instant
2023-03-14 09:55:25 +01:00
Andreas Schildbach
de9c39b35a
TimeUtils: migrate currentTime()
method to java.time
API
2023-03-14 02:56:52 +01:00
Andreas Schildbach
bb81790824
WalletTool: migrate date
option to java.time
API
2023-03-14 02:51:43 +01:00
Andreas Schildbach
1835370e04
VersionMessage: migrate time
field to java.time
API
2023-03-14 02:13:45 +01:00
Andreas Schildbach
7788f6cfaf
TestNet3Params: migrate testnetDiffDate
constant to java.time
API
2023-03-14 02:07:10 +01:00
Andreas Schildbach
79477ff04a
FakeTxBuilder: migrate createFakeBlock()' methods to
java.time` API
2023-03-14 01:56:26 +01:00
Andreas Schildbach
168ff75bd1
TimeUtils: migrate dateTimeFormat()
method to java.time
API
2023-03-14 01:32:59 +01:00
Andreas Schildbach
4ae610f9cd
BuildCheckpoints: migrate to java.time
API
2023-03-13 22:12:18 +01:00
Andreas Schildbach
9eef9094b5
BriefLogFormatter: migrate timestamp formatting to java.time
API
...
This also changes the time zone of timestamps to UTC and adds a test.
2023-03-13 22:05:27 +01:00
Andreas Schildbach
65afcf076d
Transaction: migrate estimateLockTime()
method to java.time
API
2023-03-13 22:00:47 +01:00
Andreas Schildbach
f7fffc6af2
BlockingClient, ConnectionHandler, NioClientManager, NioServer: properly import Logger
2023-03-13 17:56:16 +01:00
Andreas Schildbach
01821f2ba5
Transaction: add and extend comments for the predefined comparators
2023-03-11 12:14:13 +01:00
Andreas Schildbach
006c00ac35
TestWithNetworkConnections: pick random TCP bind ports for each test instance
...
This will hopefully reduce spurious test failures due to already bound ports.
2023-03-10 23:43:14 +01:00
Andreas Schildbach
d25c77cf24
Peer, NioClient, BlockingClientManager: fix some JavaDoc errors
2023-03-10 22:52:43 +01:00
Andreas Schildbach
7e70541658
PeerGroup: migrate vConnectTimeout
field to java.time
API
2023-03-10 22:32:47 +01:00
Andreas Schildbach
034277fae0
Transaction: reimplement SORT_TX_BY_UPDATE_TIME
and SORT_TX_BY_HEIGHT
comparators in a functional way
2023-03-10 22:12:29 +01:00
Andreas Schildbach
95549b4754
Wallet: migrate updateTime
field to java.time
API
2023-03-10 17:21:53 +01:00
Andreas Schildbach
85cc162642
PeerGroup: migrate connection retry logic to java.time
API
2023-03-10 17:19:25 +01:00
Andreas Schildbach
da8b9ce434
Wallet: migrate lastBlockSeenTime
field to java.time
API
2023-03-10 16:47:38 +01:00
Andreas Schildbach
be0b2b46b8
PaymentSession: migrate getters to java.time
API
2023-03-10 16:43:09 +01:00
Andreas Schildbach
95776f28e3
gradle.yml: set log level to info
for the Java CI build
...
This causes standard output to grow to about 50.000 lines.
2023-03-10 16:07:31 +01:00
Andreas Schildbach
9081d0fd2d
WalletTest: reduce false positive rate in marriedKeychainBloomFilter()
...
This will hopefully reduce spurious test failures.
2023-03-10 15:21:40 +01:00
Andreas Schildbach
63ed4275ac
SPVBlockStoreTest: increase threshold for performanceTest() to 5 seconds
...
This will hopefully reduce spurious test failures.
2023-03-10 14:50:03 +01:00
Andreas Schildbach
c205c67127
KeyChainGroupTest: fix spurious test failure of bloomFilterForMarriedChains()
...
This was caused by expected bloom filter false positives.
2023-03-10 14:06:19 +01:00
Andreas Schildbach
fb2dad432b
WalletTest: fix spurious test failure of witnessTransactionGetFeeTest()
...
This was caused by a shorter than expected signature encoding, which
can happen in rare cases.
2023-03-10 13:55:30 +01:00
Andreas Schildbach
1484ff595a
DefaultRiskAnalysis: don't try to risk-analyze if wallet has not seen any blocks
2023-03-10 10:27:19 +01:00
Andreas Schildbach
54754e14e9
EncryptableItem, ECKey, DeterministicKey, DeterministicSeed: migrate creationTime
field to java.time
API
2023-03-10 09:28:27 +01:00
Sean Gilligan
3023947df8
ByteUtils: move to o.b.base.internal
...
We don't consider ByteUtils to be part of our external API.
2023-03-10 01:28:23 +01:00
Sean Gilligan
ec8622e393
gradle.yml, graalvm.yml: update Gradle to 7.6.1
2023-03-10 01:14:28 +01:00
Andreas Schildbach
92ee36848c
DeterministicSeed: introduce static constructors meant for external consumers
...
* native constructors that were meant to be called by consumers now have static equivalents
* all native constructors are discouraged from being used by a JavaDoc comment
* one constructor that wasn't meant to be used by consumers is switched to private access
* tests and tools that resemble consumers are updated to use the new API
Note: although most native constructors are now deprecated, we're not using
annotations because we're still calling them.
2023-03-10 00:53:35 +01:00
Andreas Schildbach
2c28cadda5
MnemonicCode: in toMnemonic()
throw unchecked rather than checked exception
...
When converting from entropy to mnemonic with `toMnemonic()`, a `MnemonicLengthException`
was thrown for entropies with invalid length. This is bad for two reasons:
- it is a checked exception, and the method will not be called with user input
- misleading exception name, the error is about the entropy length not the mnemonic
We now throw a `RuntimeException` instead. The resulting simplification of
calling code can be witnessed in `DeterministicSeed`.
2023-03-09 21:44:31 +01:00
Andreas Schildbach
566cd102b2
ScriptPatternTest: move p2shScriptHashFromKeys() from LegacyAddressTest
2023-03-09 20:51:26 +01:00
Andreas Schildbach
04d4443d08
LegacyAddressTest: separate test into p2shScriptHashFromKeys()
and p2shAddressFromScriptHash()
2023-03-09 20:51:26 +01:00
Andreas Schildbach
a61da4fff6
Script: migrate creationTime
field to java.time
API
2023-03-09 15:09:07 +01:00
Andreas Schildbach
9ba34fc2ed
DeterministicKeyChain: convert if-else in getEarliestKeyCreationTimeInstant() to terniary operator
2023-03-08 20:41:51 +01:00
Andreas Schildbach
2cd239eee0
KeyChainGroup: convert if-else in getEarliestChainsCreationTime() to terniary operator
2023-03-08 20:41:51 +01:00
Andreas Schildbach
18898f4fc5
Wallet, KeyChain, KeyChainGroup, PeerFilterProvider: migrate getEarliestKeyCreationTime()
methods to java.time
API
2023-03-08 20:41:46 +01:00
Sean Gilligan
c41128b4df
AesKey: replace o.bouncycastle.c.p.KeyParameter
...
We were using KeyParameter as a wrapper for a byte[] containing an
AES Key and passing it around our API. This introduced an unnecessary
API dependency on Bouncy Castle. This PR adds an AesKey class
for the same purpose to replace it.
This is a breaking change, but one that should be easy to accommodate.
2023-03-08 18:13:21 +01:00