Sean Gilligan
1230c984d2
Peer: convert an if-else into expression with ternary operator
2023-08-08 21:51:42 +02:00
Sean Gilligan
e7bc376a8d
Peer: extract buildBlockLocator()
to private method
2023-08-08 21:46:49 +02:00
Sean Gilligan
690f5149c0
BlockLocator: functional-style hashCode()
calculation
...
Use mapToInt/reduce.
2023-08-08 21:40:48 +02:00
Sean Gilligan
7aeffc4de0
Wallet: extract private method estimateVirtualBytesForSigning(Script)
for estimating one script
2023-08-08 21:34:25 +02:00
Sean Gilligan
ff6ee607bc
Wallet: pass outputs to estimateVirtualBytesForSigning()
rather than the CoinSelector
2023-08-08 21:30:42 +02:00
Sean Gilligan
12a9ea1612
Wallet: functional-style estimateVirtualBytesForSigning()
2023-08-08 21:28:03 +02:00
Sean Gilligan
781bd56b55
Wallet: extract common code into private estimateFees()
method
2023-08-08 21:25:00 +02:00
Sean Gilligan
97cd7d44fb
Wallet: deprecate getParms()
and getNetworkParameters()
2023-08-08 21:16:56 +02:00
Sean Gilligan
352614280c
BlockLocator: deprecate add & no-args constructor
...
Deprecate `.add()` and no-args constructor in favor of providing complete
list of hashes at creation time.
Update all usages to use the alternative methods.
2023-08-08 21:01:37 +02:00
Sean Gilligan
9bbb6b39e3
Peer: fix and clarify comment about putting genesis hash into BlockLocator
2023-08-08 20:58:44 +02:00
Sean Gilligan
148a40b2ed
TransactionInput: don't use setParent()
in constructor
2023-08-08 19:55:50 +02:00
Sean Gilligan
7a558fb557
TransactionInput: use private constructor via this()
in constructor for unsigned input
2023-08-08 19:52:48 +02:00
Sean Gilligan
1ce554c901
TransactionInput: don't call super()
in constructor
...
`Object` is the superclass now.
2023-08-08 19:47:57 +02:00
Sean Gilligan
50d678d3e2
TransactionInput: make parent
field private
2023-08-08 19:38:54 +02:00
Andreas Schildbach
0a58d0a5c3
TransactionInput: convert an if-else into expression with ternary operator
2023-08-08 11:54:34 +02:00
Sean Gilligan
2b68d8da8e
ServicesTest: add missing package declaration
2023-08-08 11:45:21 +02:00
Andreas Schildbach
50c0f2eae9
VersionMessage: re-add service bit constants as deprecated
2023-08-01 15:13:05 +02:00
Sean Gilligan
b0b0b02683
Block: simplify initialization of genesisTxScriptPubKeyBytes
...
Use `ScriptBuilder` rather than static initializer and `ByteArrayOutputStream`.
2023-08-01 15:09:37 +02:00
Sean Gilligan
0b57bbc701
Wallet: fix two deprecated @link
in JavaDoc
2023-08-01 15:02:02 +02:00
Andreas Schildbach
3dbaaa23b0
build.gradle: update Guava to 32.1.2-android
2023-08-01 11:15:44 +02:00
Andreas Schildbach
c1307c1190
build.gradle: update Bouncy Castle to 1.76
2023-07-31 11:34:36 +02:00
Sean Gilligan
36dce3d9d5
wallet.proto, paymentrequest.proto: move generated files to dedicated packages
...
* Modify the `java_package` setting in our two `.proto` source files
* Move 2 existing generated-but-checked-in Protos.java files to
dedicated packages (i.e. packages without hand-coded "artisanal" files)
This is a step towards more compatibility with ProtoBuf tooling which
sometimes likes to delete the generated files and:
> can't distinguish between "old generated code" and "your artisan source files."
and more importantly it is a step towards fixing Gradle 8 caching issues.
2023-07-28 21:55:26 +02:00
Andreas Schildbach
a7446b65ae
Prepare 0.17-SNAPSHOT
2023-07-28 10:46:14 +02:00
Andreas Schildbach
ab91a94695
Tag 0.17-alpha2
2023-07-27 21:36:45 +02:00
Sean Gilligan
7efab37c6c
DnsDiscovery, MultiplexingDiscovery: use Network in constructors
2023-07-27 10:56:06 +02:00
Sean Gilligan
27cb2fc3cc
TestWithWallet, WalletTest, DefaultCoinSelectorTest: rename and import some network constants
...
This also removes some usage of deprecated methods.
2023-07-20 19:51:50 +02:00
Sean Gilligan
dead2c74ab
AddressParser: simpler address parsing by making it a @FunctionalInterface
...
We`re making `AddressParser` the `@FunctionalInterface` and a nested class
is used to define an `AddressParserProvider`
2023-07-18 23:54:59 +02:00
Sean Gilligan
39c34186cc
BlockChain: use Network in constructors
...
Constructors that take NetworkParameters are marked as @VisibleForTesting.
This is because of the special UNITTEST NetworkParameters that is required for
certain tests.
2023-07-18 23:10:36 +02:00
Andreas Schildbach
02fd2f036a
build.gradle: update equalsverifier to 3.15
2023-07-16 12:45:39 +02:00
Andreas Schildbach
98fcb0c840
build.gradle: update Jackson to 2.15.2
2023-07-16 12:37:30 +02:00
Sean Gilligan
1e1bf41f9d
build.gradle: update Bouncy Castle to 1.75
2023-07-14 11:41:01 +02:00
Andreas Schildbach
f6cebd33bd
build.gradle: update Guava to 32.1.1-android
2023-07-10 11:16:51 +02:00
Andreas Schildbach
c68cd2e616
TransactionOutput: fix regression with calculating getMinNonDustValue() for the multisig case
2023-07-05 16:10:07 -07:00
Sean Gilligan
8c3cf0acd5
Threading: use BlockingQueue
interface internally
...
This makes it clear that we're not using specific features
of the `LinkedBlockingQueue` implementation class.
2023-06-13 21:37:46 +02:00
Sean Gilligan
d05d44c8c3
Threading: use ExecutorService
for THREAD_POOL
...
Guava's `ListeningExecutorService` is no longer needed.
Update type of private executor in PaymentSession to match.
2023-06-13 21:33:55 +02:00
Andreas Schildbach
5c5b2969d7
Wallet: extract local variables tempParentFile
and destParentFile
in method saveToFile()
...
This is meant to make it a bit clearer why a NullPointerException would occur.
2023-06-13 09:04:00 +02:00
Andreas Schildbach
87a2892bca
Wallet: improve JavaDoc of method saveToFile()
2023-06-13 08:54:41 +02:00
Andreas Schildbach
097bb06cb0
Wallet: rename saveToFile()
method parameter temp
to tempFile
2023-06-13 08:48:40 +02:00
Sean Gilligan
6126821968
Bech32: add JavaDoc headers to public types that were missing them
2023-06-09 12:06:02 +02:00
Sean Gilligan
eec12bae44
Bech32: replace <p></p>
XHTML-style header with <p>
HTML5-style header
2023-06-09 12:06:02 +02:00
Sean Gilligan
828cf58ab1
package-info.java: update package JavaDoc
2023-06-09 12:05:58 +02:00
Sean Gilligan
3429737f81
AddressParser: add JavaDoc to interface Strict
2023-06-09 11:50:46 +02:00
Sean Gilligan
e76b28a8ca
MultiplexingDiscovery: fix empty seeds precondition for RegTest
...
`checkArgument` should not throw with an empty seeds list _if_ running on RegTest.
The test is disabled because it requires a RegTest node that is advanced
1 block (typically via `generateblocktoaddres`) during the course of the test.
2023-06-04 16:35:49 +02:00
Andreas Schildbach
0275dd3ffc
build.gradle: update Guava to 32.0.0-android
2023-06-01 10:42:59 +02:00
Sean Gilligan
5032664f5c
build.gradle: update BouncyCastle to 1.73
2023-06-01 10:38:00 +02:00
mitr15fan15v
a74932221c
InsufficientMoneyException: remove extra space in exception description
2023-05-23 11:09:27 +02:00
Sean Gilligan
192444f09a
ByteArray: immutable byte array wrapper
...
This is used for AesKey, and can be used for more.
2023-05-23 11:03:17 +02:00
Andreas Schildbach
4dea86a015
checkpoints.txt: refresh bundled checkpoints
2023-05-11 20:01:45 +02:00
Sean Gilligan
dce352f591
Wallet: properly handle unconnected request inputs in completeTx()
...
This adds a test for and fixes issue #2063 .
The changes do the following:
1. Build a preliminary list of candidate UTXOs.
2. Use the preliminary list to fix unconnected/valueless inputs before
calculating `valueNeeded`.
3. Create a new candidate list without the UTXOs that were already present
in inputs and use it as input for generating the `CoinSelection`.
Test changes:
1. Update existing test to show the improvement (i.e. no wasted fee).
2. Add a new test (based on PR #3055 ) that shows no duplicate inputs.
This work is based on changes by @michael-swiggs in PR #3055 .
2023-05-10 17:16:30 +02:00
Sean Gilligan
15a9086122
Wallet: use getInputSum()
in completeTx()
, separately warn about null
values
...
Note that this changes behavior slightly. We are now warning on inputs with null value
and skipping inputs with no value in the sum. Previously we were checking for non-null
getConnectedOutput(). I reviewed the code and whenever getConnectedOutput() is non-null,
getValue() should also be non-null. There might be cases where we have a value and
no connected output, but in those cases I think we should use the value.
2023-05-10 09:49:46 +02:00