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
Andreas Schildbach
7b8b8650bc
BlockChainTest, ChainSplitTest, ECKeyTest: use assertFalse(condition)
rather than assertTrue(!condition)
2023-04-01 11:40:31 +02:00
Andreas Schildbach
4fb4fe2380
BlockChainTest: flip expected value to the front for assertEquals()
2023-04-01 11:35:58 +02:00
Andreas Schildbach
a2abdfa136
TransactionTest: migrate remaining assertTrue()
/assertFalse()
from assertEquals()
2023-04-01 10:48:29 +02:00
Andreas Schildbach
efdef581ee
Transaction: make network
in toString()
an optional parameter
...
If it isn't provided, standard output scripts cannot be converted to
addresses.
2023-04-01 10:27:43 +02:00
Andreas Schildbach
44b0ddeb59
Transaction: remove toHexString()
...
This makes a scary assumption on the format being used (segwit or not).
2023-04-01 10:25:15 +02:00
Sean Gilligan
772bccd5f8
MemoryBlockStore: construct with genesis block
...
It doesn't need an entire `NetworkParameters`.
2023-03-31 22:14:06 +02:00
Andreas Schildbach
0a5560dc4c
Transaction: make allowWitness()
static and let it decide on protocolVersion
only
...
It doesn't need an entire `MessageSerializer`.
2023-03-31 22:07:15 +02:00
Andreas Schildbach
f4e7f03c0b
Transaction: remove method calcLength()
...
It is not used any more.
2023-03-31 21:51:15 +02:00
Andreas Schildbach
880b4aff8e
Transaction: use getMessageSize()
to determine size in toString()
...
It's quicker, as for this class there is an optimization without
serializing the entire message.
2023-03-31 21:36:59 +02:00
Sean Gilligan
23d1ce97b5
WalletTool: use net
over params
where possible
...
Note that `params` is initialized from `net`.
2023-03-31 21:01:16 +02:00
Sean Gilligan
04ff5335cf
WalletTool: separate try block for setup/peerGroup.start in send()
...
This makes it more clear which operations throw `BlockStoreException`
and which throw `ExecutionException` or `InterruptedException`.
2023-03-31 20:58:01 +02:00
Sean Gilligan
1e088596df
WalletTool: remove nested try in send()
...
This makes the code much more readable as you can see which operations
throw which exceptions and how they are handled.
2023-03-31 20:56:03 +02:00
Sean Gilligan
f41e5f2e1e
WalletTool: remove explicit handling of KeyCrypterException
from send()
...
`KeyCrypterException` is a runtime exception so there is no need
to catch and rethrow wrapped as a `RuntimeException`.
2023-03-31 20:52:34 +02:00
Andreas Schildbach
f588b8e945
TransactionInput, TransactionOutput: make setParent()
protected
...
Rather than using this method, we should prefer passing the parent
transaction via constructor.
2023-03-31 20:25:06 +02:00
Andreas Schildbach
81fb0c5acb
Transaction, TransactionInput, TransactionOutPoint: add static constructors for the elements of a coinbase
...
This should reduce misuse of the standard constructors.
2023-03-31 19:28:11 +02:00