Commit Graph

3612 Commits

Author SHA1 Message Date
Andreas Schildbach
f385d27825 Block: remove deprecated method getBlockInflation()
Without `params` there is no way to keep this method.
2023-04-03 19:17:34 +02:00
Andreas Schildbach
fb9b578542 VersionMessage: move isBloomFilteringSupported() to Peer 2023-04-03 19:07:55 +02:00
Andreas Schildbach
f2fa39ef3e HeadersMessage: remove params from constructors 2023-04-03 19:05:45 +02:00
Andreas Schildbach
c613a7d98a Block, FilteredBlock: remove params from constructors 2023-04-03 19:04:23 +02:00
Andreas Schildbach
6bd8e8e6bc AddressMessage: add/update class-level JavaDoc 2023-04-03 18:31:51 +02:00
Andreas Schildbach
e13e7db23c AddressEventListener, PeerGroup: add/update JavaDoc of onAddr() 2023-04-03 18:25:58 +02:00
Andreas Schildbach
5e1c556a15 Services: add anyOf() helper to check for at least one of the given node services 2023-04-03 17:54:26 +02:00
Andreas Schildbach
f174e2350e VersionMessage: inline helpers isWitnessSupported(), hasBlockChain() and hasLimitedBlockChain()
Our API is now fluent enough that we don't need them any more.
2023-04-03 17:53:49 +02:00
Andreas Schildbach
991d9ec0d9 Block: move difficulty target range check to AbstractBlockChain.add()
It doesn't make much sense in a getter. It should be checked when
adding a block to the chain, like all the other checks.
2023-04-03 17:46:13 +02:00
Andreas Schildbach
bfb840bbfd Block: remove obsolete constructor that takes a parent 2023-04-03 16:41:28 +02:00
Andreas Schildbach
dedf478c66 Transaction: remove params from constructors 2023-04-03 16:23:13 +02:00
Andreas Schildbach
6133dccc21 VersionMessage: deprecate isPingPongSupported() and ProtocolVersion.PONG
Our minimum version is at 70000 already.
2023-04-03 16:20:02 +02:00
Andreas Schildbach
fccb164c90 BlockChainTest: remove TWEAKABLE_TESTNET from badDifficulty()
The max target aspect is tested by the `difficultyTransitions*()` tests
already.
2023-04-03 15:54:12 +02:00
Andreas Schildbach
ce10061510 BlockChainTest: replace difficultyTransitions() by five individual tests
These tests use `MainNetParams` and `SigNetParams`, but not `UnitTestParams`.
2023-04-03 15:54:12 +02:00
Andreas Schildbach
c1e83e53c4 AbstractBlockChain: when cloning a transaction don't loop through MessageSerializer 2023-04-03 10:31:54 +02:00
Andreas Schildbach
a26216fb50 FakeTxBuilder: use roundTripTransaction() helper in createFakeDoubleSpendTxns() too 2023-04-03 10:24:23 +02:00
Andreas Schildbach
d1b96fbee4 FakeTxBuilder: fix accidental use of deprecated method 2023-04-03 10:18:32 +02:00
Sean Gilligan
eb8deb71da Wallet: calculate isTransactionMature() functionally
Also remove redundant check for `getConfidenceType() == BUILDING` and improve
the JavaDoc.
2023-04-03 08:29:52 +02:00
Andreas Schildbach
d684c2cfe3 FakeTxBuilder: use throwaway key rather than address in createFakeTx()
Addresses are expensive to create, as we need to know a network they are created for.
2023-04-02 17:59:27 +02:00
Andreas Schildbach
a2c242cbfe FakeTxBuilder: use throwaway key rather than address in createFakeDoubleSpendTxns()
Addresses are expensive to create, as we need to know a network they are created for.
2023-04-02 17:39:39 +02:00
Andreas Schildbach
8a047d48b9 FakeTxBuilder: don't create unnecessary transaction in createFakeBlock() 2023-04-02 17:36:26 +02:00
Andreas Schildbach
c309994e99 FakeTxBuilder: don't create unnecessary transaction in makeSolvedTestBlock() 2023-04-02 17:29:41 +02:00
Andreas Schildbach
16da4f8ccf Block: add rough JavaDoc to all createNextBlock() methods 2023-04-02 16:57:35 +02:00
Andreas Schildbach
318ead0a74 BitcoinNetworkParams: improve logging if max difficulty target has been hit 2023-04-02 12:55:07 +02:00
Andreas Schildbach
c60c612107 DefaultCoinSelector: require network for constructor
This is so that the special handling for regtest network can work in future.
2023-04-02 01:28:44 +02:00
Andreas Schildbach
472af481cc Block: log warning if solve() runs a bit long 2023-04-02 00:38:23 +02:00
Andreas Schildbach
7879f24164 DefaultCoinSelector, AllowUnconfirmedCoinSelector: change return type of get() to CoinSelector 2023-04-02 00:27:36 +02:00
Andreas Schildbach
116194f39e Stopwatch: introduce tool for measuring time mainly for log messages
The helpers from `TimeUtils` are affected by the mock clock, which
is not desired for debug output.
2023-04-01 23:34:09 +02:00
Andreas Schildbach
ff6499baab HugeDeclaredSizeTransaction: in constructor send to a throwaway keys rather than addresses
Addresses are expensive to create, as we need to know a network they are created for.
2023-04-01 23:25:59 +02:00
Andreas Schildbach
cd57fea864 DefaultCoinSelector, AllowUnconfirmedCoinSelector: remove singleton pattern
Instantiating these classes is cheap, as they're stateless. And we
only do that once per `Wallet` instance.
2023-04-01 22:56:42 +02:00
Andreas Schildbach
ac2e244bc8 Block: make verify*() static helper methods 2023-04-01 22:52:13 +02:00
Andreas Schildbach
cf8715eb4b Transaction: make verify() a static helper method 2023-04-01 22:52:13 +02:00
Andreas Schildbach
3ad4879e40 FakeTxBuilder: in createFakeCoinbaseTx() send to a throwaway key rather than address
Addresses are expensive to create, as we need to know a network they are created for.
2023-04-01 21:48:30 +02:00
Andreas Schildbach
582dd0797c FakeTxBuilder: deduplicate code in makeSolvedTestBlock() variants 2023-04-01 21:36:40 +02:00
Andreas Schildbach
e5fa63eda4 FakeTxBuilder: simplify roundTripTransaction() 2023-04-01 21:27:45 +02:00
Andreas Schildbach
b68f81f3b4 PaymentSession: don't validate the network of transactions in payment message
It's up to the caller to not mix networks.
2023-04-01 21:17:30 +02:00
Andreas Schildbach
cd781286e6 Wallet, SendRequest: get NetworkParameters from the wallet, not from a transaction 2023-04-01 21:09:15 +02:00
Andreas Schildbach
776dbc68f9 TimeUtilsTest: make sure the mock clock isn't set when entering the tests 2023-04-01 21:04:10 +02:00
Andreas Schildbach
124ddca53a TransactionTest: don't create global transaction object for each test
It makes tests more self-contained, and only about a third of
the tests use the global transaction.
2023-04-01 19:57:20 +02:00
Andreas Schildbach
e347ceba66 TransactionOutput: fix braces gone wrong 2023-04-01 19:47:15 +02:00
Andreas Schildbach
1c04dd94e7 TransactionOutput: fix NullPointerException in toString() 2023-04-01 19:41:11 +02:00
Andreas Schildbach
8b663363ef Transaction: move isMature() to Wallet.isTransactionMature()
That method is only needed in `Wallet`, so it's good to have it there.
On top of that, Wallet will be able to provide `NetworkParameters`
for a long time.
2023-04-01 17:14:39 +02:00
Andreas Schildbach
a61761c5ab BlockChainTest: use TestNet3Params exclusively, except two tests
`difficultyTransitions()` uses `UnitTestParams` only.
`estimatedBlockTime()` uses `MainNetParams` only.
2023-04-01 14:58:00 +02:00
Andreas Schildbach
47ea55e1a6 BlockChainTest: rewrite assertions in coinbaseTransactionAvailability() to not use coinbaseTransaction
Actually, get rid of global `coinbaseTransaction` entirely.
2023-04-01 14:29:26 +02:00
Andreas Schildbach
97e23f77ad BlockChainTest: rewrite assertions in duplicates() to not use block
Actually, get rid of global `block` entirely.
2023-04-01 13:53:09 +02:00
Andreas Schildbach
ed46622bbf BlockChainTest: rename unitTestChain and unitTestStore from generic names
This should make it more transparent which chain and store is used
in tests.
2023-04-01 12:57:35 +02:00
Andreas Schildbach
7687d37fcb BlockChainTest: inline a local variable 2023-04-01 12:41:48 +02:00
Andreas Schildbach
f891db1bda BlockChainTest: inline method resetBlockStore()
It is only used once.
2023-04-01 12:39:09 +02:00
Andreas Schildbach
770fcb0f03 BlockChainTest: use MainNetParams only in the one test that need it 2023-04-01 12:01:50 +02:00
Andreas Schildbach
c4afd902da BlockChainTest: use TweakableTestNet3Params only in the one test that need it 2023-04-01 11:52:39 +02:00