Sean Gilligan
7ef88e709e
TransactionOutPoint: make hash
and index
immutable
...
* Make the two fields `final`
* Rename accessors to `hash()` and `index()`
* Provide deprecated stubs for the old "get" methods
2023-04-04 00:06:47 +02:00
Andreas Schildbach
90be667779
TransactionInput: divorce from Message
...
It is never sent on its own, so it doesn't need to be a `Message`.
* A static constructur `read()` replaces the native constructor that deserialized
from a payload.
* A `write()` helper replaces `bitcoinSerializeToStream()`.
* A `serialize()` helper replaces `bitcoinSerialize()`.
This comes with a test.
2023-04-03 23:58:14 +02:00
Andreas Schildbach
06070eeaf2
Buffers: add write helpers writeLengthPrefixedBytes()
and writeLengthPrefixedString()
...
Includes a test.
2023-04-03 23:55:11 +02:00
Andreas Schildbach
fbc5185b5a
TransactionOutPoint: divorce from Message
...
It is never sent on its own, so it doesn't need to be a `Message`.
* A static constructur `read()` replaces the native constructor that deserialized
from a payload.
* A `write()` helper replace `bitcoinSerializeToStream()`.
* A `serialize()` helper replace `bitcoinSerialize()`.
* A `BYTES` constant replaces `getMessageSize()`.
This comes with a test.
2023-04-03 22:17:31 +02:00
Andreas Schildbach
4248804f82
Sha256Hash: migrate to byte[] serialize()
from byte[] getReversedBytes()
2023-04-03 22:12:51 +02:00
Andreas Schildbach
edf889306b
VarInt: migrate to byte[] serialize()
from byte[] encode()
2023-04-03 22:11:00 +02:00
Andreas Schildbach
98d86375ae
Services: migrate to byte[] serialize()
from ByteBuffer buffer()
2023-04-03 22:09:06 +02:00
Andreas Schildbach
5ded7782be
Message: remove params
field and accessor
2023-04-03 20:24:55 +02:00
Andreas Schildbach
4f872b9dce
VersionMessage: remove params
from constructor
2023-04-03 20:22:16 +02:00
Andreas Schildbach
00c15e45c3
TransactionOutput: add a toString()
variant that can print addresses
2023-04-03 19:23:27 +02:00
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