Sean Gilligan
6bd2785b64
integration-test: add support for "Vintage" tests
2022-05-24 18:22:28 +02:00
Sean Gilligan
b95d526a0e
WalletApplication: support BIP-43/BIP-44/BIP-84
...
Create a new constructor in WalletApplication that defaults KeyChainGroupStructure
to BIP43.
2022-05-03 22:40:29 +02:00
Andreas Schildbach
bf71730c3d
Deterministic wallets.txt: fix typos heirarchy → hierarchy
2022-05-03 21:30:34 +02:00
Sean Gilligan
c5fd900346
WalletAccountPathTest: use Wallet.fromSeed() to simplify private createWallet()
2022-05-03 20:37:56 +02:00
Sean Gilligan
8f2757c0eb
WalletTool: explicitly specify BIP32 in createWallet()
2022-05-03 20:04:16 +02:00
Andreas Schildbach
6a47695fc8
README.md: fix spelling of GitHub
2022-05-03 19:15:43 +02:00
Sean Gilligan
906f82a095
WalletAppKit: replace null with BIP32 in constructor
...
This makes the code for this constructor more explicit/readable
and prepares the way for making the parameter in the "full" constructor
non-nullable (in a minor breaking change) in the future.
2022-05-03 19:04:24 +02:00
Sean Gilligan
e428cfbc04
wallet-tool: Add nativeCompile task for GraalVM
...
Also add graalvm.yml to do a nativeCompile build on Github Actions
2022-05-02 11:57:59 -07:00
Sean Gilligan
760d9847fb
Wallet: add createDeterministic() overloads with KeyChainGroupStructure parameter
2022-05-02 12:34:36 +02:00
Sean Gilligan
3a0060461f
KeyChainGroupStructure: Deprecate DEFAULT structure
...
Deprecates DEFAULT and uses BIP32 internally where DEFAULT
had been used before.
This makes the code more clear. I think it makes sense to be
explicit when specifying a KeyChainGroupStructure and not have
a DEFAULT symbol (which implies the default might change.)
2022-05-01 22:05:47 +02:00
Andreas Schildbach
837b614906
ForwardingService, PrivateKeys: also parse segwit addresses from arguments
2022-05-01 00:12:22 +02:00
Andreas Schildbach
eb71e0b0c6
DoubleSpend, SendRequest: migrate hardcoded addresses to segwit
2022-05-01 00:10:28 +02:00
Sean Gilligan
c3896e6caf
examples/tools: use explicit script type and wallet structure
...
* Explicitly use P2WPKH (this changes behavior to segwit)
* Explicitly use BIP32 (this is the same behavior as before)
2022-04-30 23:24:25 +02:00
Sean Gilligan
bd775eafad
KeyChainGroupStructure: add BIP32 constant, DEFAULT = BIP32
2022-04-30 23:15:34 +02:00
Sean Gilligan
18be2aa3ff
MnemonicCode: make wordList final and unmodifiable
...
Also improve JavaDoc and add 2 tests.
2022-04-30 23:00:25 +02:00
Sean Gilligan
8ade47d97a
WalletAccountPathTest: create wallets in temp dir and verify account paths
2022-04-29 21:08:45 +02:00
Sean Gilligan
406d976fd6
KeyChainGroupStructure: support BIP-43/BIP-44/BIP-84 structure
2022-04-29 10:24:52 +02:00
Sean Gilligan
6ab20a098b
Network: add two more static constructors for convenience
2022-04-29 10:21:09 +02:00
Sean Gilligan
1283fe6f36
Network.java: remove PROD (alias for MAIN)
...
This affects the command-line UI of some tools, but since the `Network`
enum hasn't been released yet, we can remove it without deprecating
first.
2022-04-29 01:19:22 +02:00
Sean Gilligan
756e502580
WalletLoadTest: add an assert for accountPath
2022-04-29 00:14:18 +02:00
Andreas Schildbach
407e8cccdb
DefaultCoinSelectorTest: replace a qualified name with import
2022-04-29 00:02:10 +02:00
Sean Gilligan
571f688957
KeyChain hierarchy: simplify KeyChain serialization with Streams
...
In 5 related KeyChain classes:
* Convert serialization to use Streams
* Add JavaDoc
* Warn that returned lists/maps will become unmodifiable in the future
2022-04-21 10:31:36 +02:00
Sean Gilligan
05a654167e
Wallet: deprecate public method serializeKeyChainGroupToProtobuf()
...
Package-private serializeKeyChainGroupToProtobufInternal() remains for
internal use.
2022-04-20 23:33:51 +02:00
Sean Gilligan
f37f696108
DeterministicKeyChain: extract to static addChain() method
2022-04-20 21:39:17 +02:00
Sean Gilligan
6ac5f0b5a7
DeterministicKeyChain: add and use static cloneKey() method
2022-04-20 21:11:39 +02:00
Sean Gilligan
333cf03e7e
DeterministicKeyChain: remove an @SuppressWarnings annotation
...
The warning is no longer present so we don't need to suppress.
2022-04-20 20:32:56 +02:00
Sean Gilligan
5e2e62f868
DeterministicKeyChain: use getLeafKeys() to simplify two for-loops
2022-04-20 20:26:34 +02:00
Sean Gilligan
3744876a83
bitcoinj-core: optimize imports
2022-04-20 17:06:15 +02:00
Sean Gilligan
1f0c1a3bb7
DeterministicKeyChain, DeterministicHierarchy: add putKeys(), and use it
2022-04-20 02:05:45 +02:00
Sean Gilligan
8bcfec0ed2
DeterministicKeyChain: maybeLookAhead() to return unmodifiable
...
This should have no side effects.
2022-04-20 01:38:36 +02:00
Andreas Schildbach
aff7435944
ECKey: fix usage of deprecated method ASN1TaggedObject.getObject()
2022-04-20 01:13:55 +02:00
Sean Gilligan
c178c9534c
HDKeyGeneration: add generate() method, use in DeterministicKeyChain
2022-04-20 00:44:15 +02:00
Sean Gilligan
14217dbd7b
Wallet: remove deprecated constructor
...
Also: Update unit test that used that constructor, add JavaDoc to
replacement constructor.
2022-04-20 00:27:15 +02:00
Sean Gilligan
79fbf5ab02
DeterministicKeyChain: add private putKey(key) method, and use it
...
To add a key it must be added to both the `hierarchy` and `basicKeyChain` this
should be wrapped in a method and used whenever a key is addded.
2022-04-20 00:00:11 +02:00
Sean Gilligan
184be16773
Coin: only allocate Coin with zero value once
2022-04-19 15:58:36 +02:00
Andreas Schildbach
4f17e006b2
DumpedPrivateKeyTest: properly use NetworkParameters.getDumpedPrivateKeyHeader() accessor
2022-04-19 10:44:56 +02:00
Sean Gilligan
a6e5c88ce8
build.gradle: add detailed deprecation warnings to all modules
2022-04-19 10:07:55 +02:00
Sean Gilligan
f75c55fe5a
PeerGroup: migrate to BlockchainDownloadEventListener (breaking)
...
* Deprecate PeerDataEventListener (aggregate of 4 listeners)
* Remove long-deprecated AbstractPeerDataEventListener (4 no-op listeners)
* Add BlockchainDownloadEventListener (aggregate of 2 listeners)
* PeerGroup: replace PeerDataEventListener with BlockchainDownloadEventListener (BREAKING!)
* DownloadProgressTracker: implement BlockchainDownloadEventListener instead of AbstractPeerDataEventListener
This is a breaking change and may require simple, one-line changes to consumers. However, it removes the
long-deprecated AbstractPeerDataEventListener and simplifies the listeners for blockchain downloading.
After another release the deprecated PeerDataEventListener can be removed.
2022-04-19 10:02:10 +02:00
Sean Gilligan
a6433d91b9
Wallet: fix !equals() vs != bug in getTotalSent()
...
Coin values should be compared with .equals() not == or !=.
2022-04-19 09:16:04 +02:00
Sean Gilligan
7141321c38
Wallet: make fields final where possible
2022-04-18 19:51:48 -07:00
Sean Gilligan
e84fc27cce
Transaction: use tx.getOutputSum() in completeTx()
2022-04-18 22:13:21 +02:00
Sean Gilligan
3ea28bfca5
DeterministicKeyChain: make seed final
2022-04-18 12:01:41 +02:00
Sean Gilligan
b411b3f645
DeterministicKeyChain: fix raw use of new Builder()
2022-04-18 11:35:05 +02:00
Sean Gilligan
d19eb764b6
DeterministicKeyChain: remove unnecessary .toString() calls
2022-04-18 11:09:48 +02:00
Sean Gilligan
dc39f1e521
DeterministicKeyChain: use Stream and Predicate to simplify .get*Keys()
2022-04-18 11:00:51 +02:00
Andreas Schildbach
7f41553576
HttpDiscovery: remove the protocol to discover seeds via HTTP
2022-04-17 10:09:20 +02:00
Sean Gilligan
fd7449d7e3
DeterministicKeyChain: simplify protobuf deserialization of DeterministicKey
...
Use the new `deserialize` and `parent` methods of HDPath to simplify and combine
`path` and `immutablePath` in `fromProtobuf`.
2022-04-17 10:01:50 +02:00
Sean Gilligan
5367df8a7c
HDPath: add .parent() method
2022-04-17 09:48:36 +02:00
Sean Gilligan
459df5fed0
DeterministicKeyChain: use new HDPath::ancestors methods
2022-04-17 01:05:30 +02:00
Sean Gilligan
f500727729
BIP32Test: use HDPath, rather than ChildNumber[]
2022-04-17 00:04:46 +02:00