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
Sean Gilligan
820b671dbc
StoredBlock: make deserializeCompact()
use serializer
...
...not `params`.
2023-03-31 18:35:58 +02:00
Sean Gilligan
98d4df5fe5
BlockChainTest: reduce usage of UNITTEST
...
Use `TESTNET` or `BitcoinNetwork.TESTNET` for `Transaction`, `Address` and
`Wallet`.
2023-03-31 16:06:58 +02:00
Andreas Schildbach
a3f82d6bae
TransactionInput: remove helper duplicateDetached()
...
It is only used from a test, and that test works just as well by
just copying the reference.
2023-03-31 15:58:23 +02:00
Andreas Schildbach
81adac9f1e
Wallet: fix usage of wrong TransactionInput
constructor
2023-03-31 14:21:57 +02:00
Sean Gilligan
cc901ee863
BlockStore: remove getParams()
from the hierarchy
...
Nothing in bitcoinj is using this method and applications should not
be getting their `NetworkParameters` from their storage layer.
2023-03-31 09:57:29 +02:00
Sean Gilligan
99f6860ceb
UTXOProvider: replace getParams()
with network()
...
Since this only affects FullPrunedBlockStore, this change doesn't
need deprecation.
2023-03-31 09:54:59 +02:00
Andreas Schildbach
24e030ae74
Transaction, TransactionInput, TransactionOutput, PartialMerkleTree: use readLengthPrefixedBytes()
where appropriate
2023-03-31 01:57:48 +02:00
Sean Gilligan
786a1e1953
Script: migrate to Network
from NetworkParameters
...
Provide deprecated methods for compatibility.
2023-03-31 01:23:27 +02:00
Andreas Schildbach
eb531166ee
TransactionOutput: remove params
from constructors
...
To make this possible, a check for maximum value is removed.
2023-03-30 23:43:17 +02:00
Andreas Schildbach
5d466ea57c
Peer: fix default of the minimum protocol version of remote peers
...
It should be `NetworkParameters.ProtocolVersion.MINIMUM` (currently 70000).
2023-03-30 23:41:06 +02:00