* 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.
Constructors that take NetworkParameters are marked as @VisibleForTesting.
This is because of the special UNITTEST NetworkParameters that is required for
certain tests.
`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.
This change:
1. Shortens the code by 5 lines while adding many comments
2. Separates output to System.out from the async wait handling
3. Separates wallet/peerGroup setup and starting from async wait handling
4. Passes wait condition (along with wait-type enum) as a parameter
Behavior should be unchanged with the exception that the balance will
be output in the case that it "already meets the given condition".
The current implementation is based on plain P2SH. I assume as of
today one would prefer an implementation based on taproot or at least
segwit (P2WSH).
Note the `isFollowing` and `sigsRequiredToSpend` fields in the
`DeterministicKey` message of the wallet protobuf are preserved for
now, because they might come in handy for a future implementation and
in general it's hard to remove fields from protobufs.
Also removes the `marry` action from `WalletTool`.
* Adds new methods taking `Network` rather than `NetworkParameters`
* Deprecates all converted methods
* Updates tests, examples, and tools that use these calls
* Add `awaitRelayed()` method that returns a CF that completes when relaying is confirmed.
* Deprecate `future()` and reimplement it using `awaitRelayed()`.
* native constructors that were meant to be called by consumers now have static equivalents
* all native constructors are discouraged from being used by a JavaDoc comment
* one constructor that wasn't meant to be used by consumers is switched to private access
* tests and tools that resemble consumers are updated to use the new API
Note: although most native constructors are now deprecated, we're not using
annotations because we're still calling them.