Commit Graph

4349 Commits

Author SHA1 Message Date
Sean Gilligan
9dcebb1975 ForwardingServiceTest: new test for starting up and shutting down ForwardingService
Because the tests can use the network, the tests are @Disabled by default.
2022-08-14 11:43:59 +02:00
Andreas Schildbach
66b0cc8324 PrefixedChecksummedBytes: rename to EncodedPrivateKey and update class-level JavaDoc 2022-08-12 11:51:15 +02:00
Andreas Schildbach
64c619d2bf Wallet: add transaction ID to a precondition message 2022-08-12 01:05:58 +02:00
Andreas Schildbach
410b127176 DatabaseFullPrunedBlockStore: remove all database backed block stores
All of them are unmaintained and their tests are in the way of refactorings.
MySQL and Postgres had been disabled for a while, and one seems to care.
H2 is tested, but pulls a driver dependency into the test classpath.
2022-08-11 17:36:27 +02:00
Sean Gilligan
4e3bf65865 base/package-info.java: add the "deprecation exception" rule to package comment 2022-08-11 17:27:43 +02:00
Andreas Schildbach
c298a2987e Bech32Test: move to base package
Bech32 is already there.
2022-08-11 16:37:08 +02:00
Sean Gilligan
f59dc54ac8 Address: construct with and store Network, rather than NetworkParametesr
LegacyAddress, SegwitAddress: replace static factories that take NetworkParameters

* Add static factory methods that take `Network`
* Deprecate static factory methods that take `NetworkParameters`
* Add `Networks` support to `NetworkParameters.of(Network)`
* Update all usages to use the new methods
2022-08-11 02:40:33 +02:00
Andreas Schildbach
55d1919227 Address, LegacyAddress, SegwitAddress: migrate all usages of deprecated fromKey() to ECKey.toAddress() 2022-08-11 01:49:10 +02:00
Sean Gilligan
1daa7d5569 NetworkParameters: make id final
and initialize it from Network.id()
2022-08-10 22:16:56 +02:00
Sean Gilligan
d5e2319eb7 Network, BitcoinNetwork: partial alt-net support
Distinguish between `Network` and `BitcoinNetwork` in the code
(some of our implementation supports alt-networks better than others
 and this commit doesn't try to fix them all, just make it more clear
 what is going on. Some may never be made 'generic')
2022-08-10 22:14:17 +02:00
Sean Gilligan
51efbcb98c walletfx/WalletApplication: fix context not initialized 2022-08-10 11:26:34 +02:00
Sean Gilligan
9708b4cad9 MockAltNetworkParams, MockAltNetwork: new mocks for alternate network/address testing 2022-08-10 11:04:49 +02:00
Andreas Schildbach
1a5af67b73 BitcoinURI: strip some whitespace from end of lines 2022-08-10 10:45:13 +02:00
Sean Gilligan
d5d7fb0bcc BitcoinURI: migrate from NetworkParameters to Network
* New constructors and public methods that use Network
* Deprecate constructors and methods that use NetworkParameters
2022-08-10 10:38:45 +02:00
Sean Gilligan
67fd6630f6 LegacyAddressTest.getAltNetwork: unregister AltNetwork in finally block 2022-08-09 19:45:43 +02:00
Sean Gilligan
9c30bab375 TransactionOutput: remove deprecated getAddressFrom* methods
Remove deprecated `getAddressFromP2PKHScript()` and `getAddressFromP2SH()` methods

They have been deprecated for more than one release.
2022-08-09 17:20:59 +02:00
Sean Gilligan
13aee43443 NetworkParameters: remove obsolete reference to acceptableAddress in JavaDoc
acceptableAddressCodes[] was removed in 2018.
2022-08-09 17:14:49 +02:00
Sean Gilligan
6a032bf001 ECKey: add toAddress() method, deprecate *Address.fromKey()
This (after deprecated methods are removed) eliminates all dependencies in
the address classes and is a step towards moving address to o.b.base.
2022-08-03 19:52:55 +02:00
Sean Gilligan
90582ac414 AbstractBitcoinNetParams: rename to BitcoinNetworkParams
The Abstract qualifier isn't necessary in the class name.
Also use "Network" instead of "Net" in the new name.
2022-08-03 19:05:40 +02:00
Sean Gilligan
51f1d69e87 Address: deprecate fromString, replace with AddressParser
This change migrates from using `NetworkParameters` to `Network` for specifying the network and
also decouples from static methods in `Address` with an interface/implementation approach.

Note that there are 3 use cases for address parsing:

1. Any network is allowed - AddressParser.parseAddressAnyNetwork(String)
2. Parse for a specified network - AddressParser.parseAddress(String, Network)
3. Parse for a previously-specified (context dependent) network - AddressParser.Strict.parseAddress(String)

In most use cases, an AddressParser instance can be accessed through the Wallet,
which already knows the Network type and in this context validation for network makes
sense. This is why `Wallet` is implementing `AddressParser.Strict`

BitcoinURI allocates its own DefaultAddressParser for now, as do some other tests
and examples that don't have access to a Wallet

In the future DefaultAddressParser may be replaced by something loaded
via the ServiceLoader mechanism or other dynamically configured mechanism.
2022-08-03 18:14:48 +02:00
Sean Gilligan
279b35b25f Network: add exceedsMaxMoney() and simplify various maxMoney checks 2022-08-03 18:09:36 +02:00
Sean Gilligan
696ba9f0d1 AbstractBitcoinNetworkParams: add of method, delegate to it in NetworkParameters
* Add `of(BitcoinNetwork)` `static` method in `AbstractBitcoinNetParams`
* In `NetworkParameters.of(Network)` delegate to `AbstractBitcoinNetParams` for type `BitcoinNetwork`
2022-08-03 01:09:11 +02:00
Andreas Schildbach
d0420cbcd0 PeerTest: use TestNet3Params, rather than UnitTestParams 2022-08-02 15:46:25 +02:00
Andreas Schildbach
4d1e8d659e TransactionBroadcastTest: use TestNet3Params, rather than UnitTestParams 2022-08-02 15:16:57 +02:00
Andreas Schildbach
1f10855462 FilteredBlockAndPartialMerkleTreeTest: use TestNet3Params, rather than UnitTestParams 2022-08-02 15:14:35 +02:00
Sean Gilligan
28c2e2c7e3 Wallet: add network()
Perhaps in the future, we'll want a `network` private or protected member,
but for now that doesn't seem needed.

When we start using Network for address and transaction creation, this
will be used even more.
2022-08-02 12:00:47 +02:00
Sean Gilligan
a942ca0751 FakeTxBuilder: extract private method to generate random addresses 2022-08-02 10:35:02 +02:00
Andreas Schildbach
d3ef5b9493 BlockTest: use TestNet3Params, rather than UnitTestParams 2022-08-01 22:21:01 +02:00
Andreas Schildbach
6584fbcef3 TestWithWallet hierarchy: use TestNet3Params, rather than UnitTestParams 2022-08-01 21:10:43 +02:00
Andreas Schildbach
b0442721c8 ChainSplitTest: use TestNet3Params, rather than UnitTestParams 2022-08-01 21:10:35 +02:00
Andreas Schildbach
1ae9ba3fcf VersionTallyTest: use TestNet3Params, rather than UnitTestParams 2022-08-01 21:05:54 +02:00
Andreas Schildbach
65bcb72ae9 WalletProtobufSerializerTest: use TestNet3Params, rather than UnitTestParams 2022-08-01 20:38:46 +02:00
Andreas Schildbach
6ce49549c3 SPVBlockStoreTest: use TestNet3Params, rather than UnitTestParams 2022-08-01 20:10:57 +02:00
Andreas Schildbach
c5787eafc3 SPVBlockStoreTest: fix context not initialized 2022-08-01 20:08:15 +02:00
Andreas Schildbach
e96de8271e ParseByteCacheTest: use TestNet3Params, rather than UnitTestParams 2022-08-01 19:50:26 +02:00
Andreas Schildbach
16ccbc0f7a TransactionTest: use TestNet3Params, rather than UnitTestParams 2022-08-01 19:46:22 +02:00
Andreas Schildbach
c56fab863b Context: introduce relaxProofOfWork property
This allows unit-tests to disable enforcement of proof of work, so that fake blocks
can be created and solved in short time.
2022-08-01 19:07:07 +02:00
Andreas Schildbach
2e651c35b7 FilteredBlockAndPartialMerkleTreeTest: simplify test wallet creation 2022-08-01 14:24:17 +02:00
Andreas Schildbach
ae63dfb561 FilteredBlockAndPartialMerkleTreeTest: rewrite most assertTrue() as assertEquals() 2022-08-01 14:08:23 +02:00
Andreas Schildbach
f420c5280b TxConfidenceTableTest: use TestNet3Params, rather than UnitTestParams 2022-08-01 12:00:32 +02:00
Andreas Schildbach
03687a807e PeerGroup: create a context as a convenience for apps that mainly operate on a PeerGroup 2022-08-01 10:08:19 +02:00
Sean Gilligan
02aa41e254 TestFeeLevel, DoubleSpend, SendRequest: construct WalletAppKit with BitcoinNetwork constant
This reduces usage of NetworkParameters in WalletAppKit-based examples and tools.
2022-08-01 10:00:06 +02:00
Andreas Schildbach
4842cdc6af SPVBlockStoreTest: use TestNet3Params where possible, rather than UnitTestParams 2022-08-01 00:39:52 +02:00
Andreas Schildbach
58b07466f1 VersionMessageTest: use TestNet3Params, rather than UnitTestParams 2022-08-01 00:34:04 +02:00
Andreas Schildbach
2633910b0b TransactionTest: use TestNet3Params where possible, rather than UnitTestParams 2022-08-01 00:30:57 +02:00
Andreas Schildbach
5293901cae TransactionTest: fix context not initialized 2022-08-01 00:24:27 +02:00
Andreas Schildbach
1dd53f713f TransactionInputTest: use TestNet3Params, rather than UnitTestParams 2022-08-01 00:13:10 +02:00
Andreas Schildbach
9e5d07cbc6 TransactionInputTest: fix context not initialized 2022-08-01 00:10:33 +02:00
Andreas Schildbach
f93a67b0c3 ChildKeyDerivationTest: use TestNet3Params, rather than UnitTestParams 2022-08-01 00:02:52 +02:00
Andreas Schildbach
996b2f4759 PaymentProtocolTest: use TestNet3Params, rather than UnitTestParams 2022-07-31 23:58:47 +02:00