Commit Graph

4289 Commits

Author SHA1 Message Date
Andreas Schildbach
516acd51c6 Wallet: rename lastBlockSeenTime() method from getLastBlockSeenTimeInstant() 2023-03-18 10:27:12 +01:00
Andreas Schildbach
e6e4745e1a Block: rename time() method from getTimeInstant() 2023-03-18 10:22:26 +01:00
Andreas Schildbach
31123bea3d Preconditions: add generic check() that allows to supply a custom exception
Also adds tests.
2023-03-18 00:15:13 +01:00
Andreas Schildbach
80178c011c MonetaryFormat: use BigDecimal for converting satishos to number and decimals
This gets rid of Guava `LongMath`. It also adds comments to the individual
conversion steps.
2023-03-17 18:30:13 +01:00
Andreas Schildbach
9606900551 MonetaryFormat: rename variable and argument decimalShift from potentialDecimals
This also adds documentation about what this number means.
2023-03-17 15:40:06 +01:00
Andreas Schildbach
09d6973b46 MonetaryFormat: rename variable and argument maxVisibleDecimals from maxDecimals
This also adds documentation about what this number means.
2023-03-17 15:09:27 +01:00
Sean Gilligan
48746364fc MonetaryFormat: encapsulate decimal conversion in private satoshisToDecimal()
This is a reasonable standalone refactoring, and is
being made in preparation for migration away from a
dependency on Guava's LongMath.
2023-03-16 22:18:28 +01:00
Sean Gilligan
b73730a1af TimeLock: introduce HeightLock and TimeLock subtypes
This is to support pattern-matching in JDK 16 and later.
2023-03-16 21:59:05 +01:00
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