Commit Graph

3805 Commits

Author SHA1 Message Date
Sean Gilligan
6de5c2b9a8 Wallet: declare CompletionException on methods that complete transactions
Adjust the signature of these methods to match the actual behavior
and the JavaDoc.

Note: `BadWalletEncryptionKeyException` is a subclass
of `CompletionException` which is unchecked.
2023-08-11 14:11:38 +02:00
Sean Gilligan
5d708b62d4 Wallet: document return value of adjustOutputDownwardsForFee() in JavaDoc 2023-08-10 19:39:57 +02:00
Sean Gilligan
cc88c3a9d4 Wallet: use functional style in method calcBloomOutPointsLocked() 2023-08-10 19:31:30 +02:00
Andreas Schildbach
7c1209db51 Wallet: use messageSize() not serialize().length 2023-08-10 19:24:24 +02:00
Sean Gilligan
60a37657d5 TransactionOutput: use messageSize() not serialize().length 2023-08-10 19:20:28 +02:00
Andreas Schildbach
6b38774a38 PartialMerkleTree: rename method messageSize() from getMessageSize()
Keep the old method as deprecated.
2023-08-10 18:59:58 +02:00
Andreas Schildbach
e7b11c0713 TransactionWitness: rename method messageSize() from getMessageSize()
Keep the old method as deprecated.
2023-08-10 18:57:20 +02:00
Andreas Schildbach
c58232ef75 TransactionInput: rename method messageSize() from getMessageSize()
Keep the old method as deprecated.
2023-08-10 18:54:15 +02:00
Sean Gilligan
210eaf91b3 TransactionOutput: rename method messageSize() from getMessageSize()
Keep the old method as deprecated.
2023-08-10 18:49:25 +02:00
Andreas Schildbach
591ff3a027 TorUtils: new utility for Tor/Onion addresses
Move Tor/Onion related code there.

Also adds tests.
2023-08-10 18:11:47 +02:00
Sean Gilligan
16ac8751bb Block: add new constructors to reduce mutability
* New constructors and static factory methods
* Update code to use the new constructors
* Remove `public` from `@VisibleForTesting` setters where possible
2023-08-09 16:55:24 +02:00
Sean Gilligan
734993db68 TransactionWitness: use non-deprecated Script.program() 2023-08-09 16:50:48 +02:00
Sean Gilligan
90427cd7cd WalletAppKit: use non-deprecated Wallet.autosaveToFile() 2023-08-09 16:48:02 +02:00
Sean Gilligan
87a8383aae TransactionOutput: clarify isDust() JavaDoc 2023-08-09 16:46:15 +02:00
Andreas Schildbach
041f394a8a DnsDiscovery, BtcFixedFormat: fix some JavaDoc links 2023-08-09 16:45:03 +02:00
Andreas Schildbach
1e4b633161 Wallet, SPVBlockStore: fix misspelled "whether" in JavaDocs 2023-08-09 16:42:11 +02:00
Sean Gilligan
370c5d382c Wallet: add more diagnostic info to InsufficientMoneyException
Add a new constructor that provides more information about available funds, total
outputs, and fee in addition to amount missing. Use it in `Wallet.calculatFee` to
provide more information when the exception occurs.
2023-08-09 11:19:42 +02:00
Sean Gilligan
2f9ce85e07 Wallet: add more diagnostic info to CouldNotAdjustDownwards exception
Add `output.value` and calculated `nonDustValue` to the exceptions message
string. Provide those values to the constructor in `calculateFee`

Add a constructor to parent class that takes a message String.
2023-08-09 11:14:44 +02:00
Sean Gilligan
b2b8c0a4a3 Transaction: use _ to separate thousands in constants 2023-08-09 10:42:24 +02:00
Sean Gilligan
fa323f745e TransactionOutput: simplify method isDust()
Replace `if` with boolean logic and revise related comment.
2023-08-09 10:32:27 +02:00
Andreas Schildbach
f907a6b86f Block: convert an if into expression with ternary operator 2023-08-09 00:51:36 +02:00
Andreas Schildbach
4e91a274d9 Block: annotate and document the null transactions case for main constructor 2023-08-09 00:47:52 +02:00
Sean Gilligan
098e268808 MainNetParams, TestNet3Params, SigNetParams, RegTestParams: migrate GENESIS_TIME constants to Instant 2023-08-09 00:40:25 +02:00
Sean Gilligan
371b90b934 Block: use ArrayList consistently for transactions field 2023-08-08 22:30:07 +02:00
Sean Gilligan
ce3af91c85 Block: make field version final 2023-08-08 22:09:47 +02:00
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