Andreas Schildbach
3e67ef679c
FullBlockTestGenerator: rename argument outputIndex
2023-04-08 16:14:08 +02:00
Andreas Schildbach
a1237a636b
ScriptBuilder: extract private helper p2whOutputScript()
2023-04-06 18:40:33 +02:00
Andreas Schildbach
15ee38aae0
ScriptBuilder: add ability to build scripts with creationTime
2023-04-06 18:37:42 +02:00
Andreas Schildbach
6d00650efa
TransactionOutput: 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 tests.
2023-04-06 18:14:47 +02:00
Andreas Schildbach
7da2820fa0
TransactionInput: check range of value
...
The value can't be negative. This also adds a test.
2023-04-06 17:59:47 +02:00
Andreas Schildbach
d880570d54
TransactionWitness: add copyright line
2023-04-06 17:58:32 +02:00
Andreas Schildbach
2b2bc0ce17
TransactionWitness: require non-null pushes
2023-04-06 17:56:16 +02:00
Andreas Schildbach
ae22162de5
TransactionWitness: make immutable
...
Except for the pushes themselves.
2023-04-06 17:54:13 +02:00
Andreas Schildbach
2699ea1708
TransactionWitness: add read and write helpers
...
* A static constructur `read()` deserializes from a payload.
* A `write()` helper replaces `bitcoinSerializeToStream()`.
* A `serialize()` helper gets the serialized bytes.
This comes with a test.
2023-04-06 17:52:25 +02:00
Andreas Schildbach
41f684523d
Peer: log a bit of statistics about incoming inv
messages
2023-04-04 15:32:41 +02:00
Andreas Schildbach
86e0980d19
TransactionInput: fix toString()
throws on unparseable script
2023-04-04 11:08:02 +02:00
Andreas Schildbach
37fbe5ed7d
TransactionOutput: fix toString()
throws on unparseable script
2023-04-04 10:51:57 +02:00
Sean Gilligan
5f510d777b
TransactionInput, TransactionOutput: compare parent tx using equals()
not object reference
2023-04-04 10:17:25 +02:00
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