Sean Gilligan
44d0576ce4
org.bitcoinj.base: move Base58, Bech32, AddressFormatException to base
2022-06-23 11:48:01 +02:00
Sean Gilligan
0645a835de
org.bitcoinj.base: move Script.ScriptType to a top level type in base
2022-06-22 18:13:34 +02:00
Sean Gilligan
93cc0ac9c5
org.bitcoinj.base: move Sha256Hash and byte/math Utils members to base
...
* move o.b.core.Sha256Hash to o.b.base.Sha256Hash
* move byte and math utility methods from o.b.core.Utils to a new
o.b.base.ByteUtils class
2022-06-22 17:40:50 +02:00
Sean Gilligan
84e737acdf
org.bitcoinj.base: introduce new package that provides fundamental types with minimal dependencies
...
This also moves Coin, Fiat, its parent Monetary and the related MonetaryFormat into the new base package.
See the provided package-info.java for details.
2022-06-21 19:25:47 +02:00
Sean Gilligan
a4ea1f62bb
BasicKeyChain, KeyChainGroup: functional earliest key creation time
2022-06-20 11:41:01 +02:00
Sean Gilligan
69ff779a82
DeterministicKey: deprecate serializeP*B58 methods with outputScriptType parameter
...
The reasons are explained in the added JavaDoc.
* Add deprecation and JavaDoc comments
2022-06-20 11:22:08 +02:00
Sean Gilligan
6688a472f1
KeyChainGroup: supportsDeterministicChains() without the 'is'
...
The JavaBean-style syntax is unnecessary and distracting here. Rename
the method and provide the old name as a deprecated method.
2022-06-19 13:43:06 +02:00
Sean Gilligan
4e5c00937f
Wallet: private listener lists as List type (was CopyOnWriteArrayList)
...
This simplifies the declaration and verifies that we're using the standard List
interface in all our code. The implementation remains unchanged.
2022-06-19 13:33:48 +02:00
Sean Gilligan
6671bc01c6
VarInt: make value
member private
2022-06-19 12:44:59 +02:00
Sean Gilligan
7e1be32369
Wallet.calculateAllSpendCandidates: make more functional
...
Use a filtered stream to generate an unmodifiable list.
2022-06-19 12:01:13 +02:00
Sean Gilligan
36ac6926e9
Wallet: minor JavaDoc improvements
2022-06-18 16:25:49 -07:00
Andreas Schildbach
24095fd9b8
NativeSecp256k1: deprecate native interface to libsecp256k1
...
This native implementation is unmaintained and untested for years.
2022-06-15 10:34:17 +02:00
Sean Gilligan
7f50aa78b3
org.bitcionj.jni: deprecate all classes
...
These native implementations have been unused and unmaintained for years.
2022-06-15 10:22:54 +02:00
Sean Gilligan
5ae7a42a9e
DeterministicKey: remove deprecated serializePublic/serializePrivate
...
Add a package-visible serialize() method annotated with @VisibleForTesting to
support existing tests.
2022-06-13 10:35:05 +02:00
Sean Gilligan
1aa1bf6d94
Remove all usage of Java Serialization
...
* Remove all implementations of `Serializable`
* Remove unit tests of Java serialization
2022-06-12 10:39:24 -07:00
Sean Gilligan
f6b3d82e8d
PrefixedChecksummedBytes: remove Cloneable
...
* Remove the `implements Cloneable` marker
* Remove the `@Override` of `clone()`
* Remove tests of `clone()` for the implementing classes
2022-06-12 18:35:24 +02:00
Sean Gilligan
6d70c60bca
PeerTest: static import of FakeTxBuilder methods
2022-05-31 14:01:42 +02:00
Sean Gilligan
8800840e7e
integration-test: move tests derived from TestWithNetworkConnections to integration-test submodule
2022-05-31 13:56:38 +02:00
Sean Gilligan
aafdbccbc5
FakeTxBuilder: move from src/test
to src/main
...
This will allow it to be used in both core tests and integration-test.
2022-05-24 22:52:16 +02:00
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