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