Sean Gilligan
9eaff37897
FilteringCoinSelector: make immutable
...
This is an API-breaking change because it requires a list of
`TransactionOutPoint` to be passed to the constructor and remove the
`excludesOutputsSpentBy(tx)` method.
`Wallet` is updated to use the new constructor.
2023-09-12 18:30:30 +02:00
Sean Gilligan
82feb7b831
CoinSelection: add defensive copy in constructor
2023-09-12 18:22:34 +02:00
Sean Gilligan
e8491bbd88
KeyTimeCoinSelector: use a stream in select()
...
Note that this removes the warning about exceeding the limit.
2023-09-12 18:19:14 +02:00
Sean Gilligan
339e0d0450
KeyTimeCoinSelector: factor out method isKeyBeforeCutoff()
2023-09-12 18:12:56 +02:00
Sean Gilligan
0c7e1aec3b
KeyTimeCoinSelector: use Wallet.getConfidence(parent)
in isConfirmed()
...
Also make `Wallet.getConfidence(parent)` package-private.
2023-09-12 18:09:06 +02:00
Sean Gilligan
bbe7f088ca
KeyTimeCoinSelector: check for parent is non-null in isConfirmed()
2023-09-12 18:05:07 +02:00
Sean Gilligan
af7c903df7
GuiUtils: use UI_ANIMATION_TIME
consistently, deprecate UI_ANIMATION_TIME_MSEC
2023-09-12 18:01:40 +02:00
Sean Gilligan
b83c0b96e6
WalletApplication: remove unreachable default case in suffixFromNetwork()
2023-09-12 17:59:43 +02:00
Sean Gilligan
b5d3c07612
WalletApplication: use switch expression in suffixFromNetwork()
2023-09-12 17:56:45 +02:00
Sean Gilligan
6fc1087aba
wallettemplate: mark fields as final
...
This commit fixes every IntelliJ warning about fields being final for
the wallettemplate module.
2023-09-12 17:54:46 +02:00
Sean Gilligan
7a1135246c
EasingInterpolator: remove redundant default clause from switch expression
2023-09-12 17:52:04 +02:00
Sean Gilligan
7a30041578
EasingInterpolator: use switch expression
2023-09-12 17:43:31 +02:00
Sean Gilligan
9e9d3afd6a
WTUtils: fix warning about raw generic
2023-09-12 17:40:33 +02:00
Sean Gilligan
110da96911
Wallet: use getAbsoluteFile()
when checking if parent directory exists
...
This fixes a NPE when using wallet-tool to create a new wallet on a path
without directory, e.g. `wallet-tool create --wallet=test.wallet`.
2023-09-07 17:44:04 +02:00
Sean Gilligan
8aa808f7d4
build.gradle: update JavaFX to 20.0.2
2023-09-07 11:06:14 +02:00
Sean Gilligan
96d0022d09
build.gradle: update javafxplugin to 0.1.0
2023-09-07 11:04:03 +02:00
Andreas Schildbach
929088cde8
Sha256Hash: add back accessor getReversedBytes()
as deprecated
2023-09-07 10:55:34 +02:00
Andreas Schildbach
2cdbc986a8
VersionMessage: add back helper toStringServices()
as deprecated
2023-09-07 10:53:06 +02:00
Andreas Schildbach
e2b1c81b60
TransactionOutput: add back a constructor as deprecated
2023-09-07 10:49:58 +02:00
Sean Gilligan
0fe0daba59
wallettemplate: require JDK 17+ and Gradle 7.3+
...
Also update the README for latest build JDK/Gradle information.
2023-09-06 23:47:07 +02:00
Sean Gilligan
52b9e3ad0e
gradle.yml: update JDK to 21-ea in the build matrix
2023-09-05 17:43:00 +02:00
Sean Gilligan
6f1ceb47b5
gradle.yml, graalvm.yml: update gradle-build-action to 2.8.0
2023-09-05 17:39:30 +02:00
Sean Gilligan
35150543e7
.gitlab-ci.yml: add a build with OpenJDK 21 under Debian Trixie
2023-09-05 17:36:21 +02:00
Sean Gilligan
c8bf030824
build.gradle: update EasyMock to 5.2.0
2023-09-02 18:09:47 +02:00
Sean Gilligan
336a6a0c98
gradle.yml: update JDK to 20 in the build matrix
2023-09-02 17:44:23 +02:00
Sean Gilligan
184fe1c25a
gradle.yml, graalvm.yml: update Gradle to 8.3
2023-09-02 17:41:55 +02:00
Sean Gilligan
2feff27339
build.gradle: update protobuf-gradle-plugin to 0.9.4 (if Gradle 7 or later)
2023-09-02 16:43:20 +02:00
Andreas Schildbach
21549306ad
build.gradle: generate protobuf classes into the build directory
2023-09-02 16:31:26 +02:00
Sean Gilligan
4b2a5893ff
Peer: improve use of generics for GetDataRequest
...
This gets rid of several warnings including two that had been suppressed.
2023-09-02 00:58:26 +02:00
Sean Gilligan
0033918f82
Transaction: reduce visibility of two methodsn
...
This is a minor breaking change to anything relying on the methods that
now have package visibility, but that should be very rare.
2023-09-01 19:02:07 +02:00
Sean Gilligan
5ff114b7b8
TxConfidenceTable: new method getConfidence(Transaction)
...
Use it in `Wallet`.
2023-09-01 18:59:07 +02:00
Sean Gilligan
dfcaa97b6e
Wallet: use getConfidence(Transaction)
not Transaction.getConfidence()
2023-09-01 18:55:08 +02:00
Sean Gilligan
d45cccc8d6
CoinSelector: new static method fromPredicate()
to create CoinSelector
...
Use it in `ForwardingService`.
2023-09-01 18:38:14 +02:00
Sean Gilligan
21200c15cc
ForwardingService: check existing forwardingCoinSelector()
precondition
...
Check `parentTxId != null`.
2023-09-01 18:34:06 +02:00
Sean Gilligan
0bd5ed9b9b
ForwardingService: make use of null-safe Objects.equals()
2023-09-01 18:31:31 +02:00
Sean Gilligan
111a8b8a37
ListMessage, InventoryMessage, GetDataMessage: make immutable (after deprecations removed)
...
Make `ListMessage` and its subclasses "almost" immutable. When the deprecated
`addItem()`, `removeItem()`, etc. methods are removed and the constructors are
changed to create an ummodifiable `List`, they will be immutable.
2023-09-01 18:24:58 +02:00
Sean Gilligan
9d78d2bd9e
Wallet: add getConfidence(tx)
method and use it in waitForConfirmations()
...
The other `getConfidence()` methods in `Transaction` eventually call the one that
takes a `TxConfidenceTable`, so we call that one directly.
Also prepares for not using `Transaction` to find the `TransactionConfidence`.
2023-09-01 18:15:52 +02:00
Sean Gilligan
19fcdcdd5b
TestFeeLevel, WalletTest: use Wallet.waitForConfirmations()
instead of Transaction.getConfidence().getDepthFuture()
2023-08-25 23:42:39 +02:00
Sean Gilligan
c4714f64f8
TransactionConfidence: store overriding txId, rather than transaction reference
...
This is a breaking change as `getOverridingTransaction()` has been removed with a replacement
of `getOverridingTxId()`.
Note that ProtoBuf serialization only stores the txId, so this change does not affect
serialization/deserialization.
2023-08-25 23:39:17 +02:00
Sean Gilligan
14eb9ebf00
TxConfidenceTable: reduce access to fields of WeakConfidenceReference
inner class
...
* Remove unneeded public modifier from `hash` member and constructor
* Make `hash` member final
2023-08-25 23:34:06 +02:00
Sean Gilligan
9da2182415
ListenerRegistration: use streams and Optional
in removeFromList()
2023-08-25 23:28:37 +02:00
Sean Gilligan
027037c8d5
TransactionFuture: make 2-arg getDepthFuture()
private
...
Hopefully we can deprecate or make private the 1-arg variant soon.
2023-08-25 23:26:00 +02:00
Sean Gilligan
624df43ada
DnsDiscovery: remove Linux gethostbyname bug workaround from 2015
2023-08-25 23:23:18 +02:00
Sean Gilligan
07ca73cce7
ByteArray: add defensive copy in bytes()
getter
2023-08-25 23:17:04 +02:00
Sean Gilligan
49f7ddbc0f
BlockImporter: support signet and regtest too
...
* Update usage for `args[1]` to "(mainnet|testnet|signet|regtest)"
* Use `BitcoinNetwork.fromString()` to parse `args[1]`
2023-08-25 23:14:04 +02:00
Sean Gilligan
b792354f55
BlockImporter: init chain
with ternary operator
2023-08-25 23:09:48 +02:00
Sean Gilligan
7f5fc6f2b7
BlockImporter: remove unsupported "Disk" option from usage
2023-08-25 23:07:01 +02:00
Sean Gilligan
59ab13680d
BlockFileLoader: make stream of ByteBuffer
available
...
* Inner class `BlockFileIterator` now iterates `ByteBuffer`
* `stream()` method calls `MessageSerializer.makeBlock()`
* `streamBuffers()` method makes raw `ByteBuffer` blocks available
* Add integration test `streamEntireBitcoindBlockChainAsBuffers()`
2023-08-23 18:21:01 +02:00
Sean Gilligan
62e2e013c4
BlockFileLoaderBitcoindTest: add blockstore test, improve output
2023-08-23 18:12:51 +02:00
Sean Gilligan
dd8c4ed372
BlockFileLoaderBitcoindTest: new (ignored) integration test that reads bitcoind blocks
...
This is ignored because:
a) It requires bitcoind installation with a blockchain directory
b) It takes about 1 hour to run
2023-08-23 18:08:56 +02:00