3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-02-13 02:35:52 +00:00

3232 Commits

Author SHA1 Message Date
Andreas Schildbach
b4891ebd59 PeerGroup: Improve logging in ChainDownloadSpeedCalculator. 2019-02-20 14:23:52 +01:00
Andreas Schildbach
23b4e31c9a PeerGroup: Fix ChainDownloadSpeedCalculator falsely detects end of sync just because list of peers can be temporarly empty. 2019-02-19 17:54:46 +01:00
Andreas Schildbach
e795ecbee5 WalletAppKit: Fix when restoring from seed, the fallback chain isn't created. 2019-02-19 13:50:38 +01:00
Andreas Schildbach
fa3a5b4827 WalletAppKit: Fix wallet isn't moved out of the way on restore, preventing the actual restore. 2019-02-19 13:39:42 +01:00
Andreas Schildbach
883ea24483 WalletTest: Add test for roundtripping a wallet via its mnemonic code. 2019-02-19 13:08:23 +01:00
Andreas Schildbach
246fc5ae55 Wallet: In toString(), add a flag for including the lookahead keys into the dump. 2019-02-19 12:20:04 +01:00
Andreas Schildbach
4baeeaf44a DeterministicKey, ECKey: In toString(), add a comment so that the role of the key in a keychain becomes clear. 2019-02-19 11:58:05 +01:00
Andreas Schildbach
09d5d33313 DeterministicKeyChain: Change return type of getKeys() and getIssuedReceiveKeys() from List<ECKey> to List<DeterministicKey>. 2019-02-19 11:53:55 +01:00
Andreas Schildbach
2502847dfd DeterministicKeyChain: In toString(), print lookahead size and threshold. 2019-02-19 11:19:19 +01:00
Andreas Schildbach
d7d6c3de09 Wallet-tool: Allow comma, semicolon and double colon as separator for seed words to work around the inability of Gradle to pass proper command line arguments. 2019-02-19 10:54:07 +01:00
Andreas Schildbach
4af38b8e92 Transaction: Rename hashForSignatureWitness() to hashForWitnessSignature() for consistency. 2019-02-19 09:54:53 +01:00
Andreas Schildbach
ff76b50ae2 Transaction: Fix hashForSignature() by making sure no witnesses get into the sighash and old serialization is forced. 2019-02-19 00:28:33 +01:00
Andreas Schildbach
e68a24e6bc KeyChainGroup: Fix currentKey() and currentAddress() still vends old key/address after new chain was activated. 2019-02-18 23:41:27 +01:00
Andreas Schildbach
d7b2beac97 Wallet: Fix getIssuedReceiveKeys() and getIssuedReceiveAddresses() to return keys/addresses of all active chains. 2019-02-18 23:41:27 +01:00
Andreas Schildbach
f94f8cd692 Migrate usage of deprecated Transaction.getHash() to getTxId(). 2019-02-18 23:41:27 +01:00
Andreas Schildbach
23e6862e9c Wallet: Fix a reference in JavaDoc. 2019-02-17 16:25:46 +01:00
Andreas Schildbach
214e835233 Transaction: In toString(), move purpose up. 2019-02-17 16:18:03 +01:00
Andreas Schildbach
0317c192e5 Script: Fix getNumberOfBytesRequiredToSpend() for P2WPKH. 2019-02-17 11:56:25 +01:00
Andreas Schildbach
30297af3de Wallet: Add an assert calculateFee(). 2019-02-17 11:55:35 +01:00
Andreas Schildbach
b303490fe3 Block: In toString(), print newline between transactions. 2019-02-17 10:44:27 +01:00
Andreas Schildbach
8910cd7a25 GetDataMessage: Support fetching of blocks with witnesses. 2019-02-17 10:35:16 +01:00
Andreas Schildbach
1852ba7e8e TransactionTest: Add a couple of asserts for transaction size. 2019-02-17 09:55:30 +01:00
Andreas Schildbach
d6513a304f Wallet: Add back deprecated findKeyFromPubHash() for compatibility. 2019-02-16 19:55:06 +01:00
Andreas Schildbach
f11667f505 Wallet: Add back deprecated variant of isPubKeyHashMine() for compatibility. 2019-02-16 19:55:01 +01:00
Andreas Schildbach
4de860aa1a Wallet: Add back deprecated variants of isDeterministicUpgradeRequired() and upgradeToDeterministic() for compatibility. 2019-02-16 19:54:54 +01:00
Oscar Guindzberg
66d54c11b1 build.gradle: Print failed tests a bit more detailed. 2019-02-15 18:58:25 +01:00
Andreas Schildbach
4fb0e6ed95 .travis.yml: Bring up to date.
- Use Ubuntu Xenial (16.04) image.
- Add an OpenJDK 11 build.
- Drop Oracle JDK build.
- Exclude wallettemplate from build, because of the dreaded OpenJFX dependency.
2019-02-15 18:22:09 +01:00
Andreas Schildbach
fc3d86bba5 Update AUTHORS from git. 2019-02-15 04:15:48 +01:00
Andreas Schildbach
aec74e344b SPVBlockStoreTest: Fix missing close(). 2019-02-15 04:15:48 +01:00
Andreas Schildbach
18e79b58b8 DeterministicKeyChain: Implement toString(). 2019-02-15 04:15:48 +01:00
Andreas Schildbach
3dbc7ecd62 Wallet: In maybeRotateKeys(), fix logic to find out the preferred scriptType. 2019-02-15 04:15:48 +01:00
Andreas Schildbach
08bb331cc3 Update jopt-simple to 5.0.4. 2019-02-15 04:03:39 +01:00
Andreas Schildbach
225941d88a Update protobuf-java to 3.6.1. 2019-02-15 03:53:00 +01:00
Andreas Schildbach
d4da02155f Update OkHttp to 3.12.1. 2019-02-15 03:45:51 +01:00
Andreas Schildbach
f24a4aa19a Update Guava to 27.0.1-android. 2019-02-15 03:34:11 +01:00
Andreas Schildbach
b5517a1b70 Update protobuf-gradle-plugin to 0.8.6. 2019-02-14 23:03:24 +01:00
Andreas Schildbach
34e8bc217a build.gradle: Configure Eclipse plugin. 2019-02-14 23:03:24 +01:00
Andreas Schildbach
0bd65ea999 If possible, use generic type inference for constructing objects. 2019-02-14 20:34:55 +01:00
Andreas Schildbach
5274855f2b Replace some of my copyright statements by the generic statement. 2019-02-14 20:25:38 +01:00
Andreas Schildbach
fffa4c06fe ScriptPattern: Rename the matchers and extraction helpers for "pay to" script types into an abbreviated form. 2019-02-14 20:17:47 +01:00
Andreas Schildbach
05efa7e69e KeyChainGroup, Wallet: Implement the upgrade path Basic --> P2PKH --> P2WPKH. 2019-02-14 14:22:12 +01:00
Andreas Schildbach
3c73f5e8a1 KeyChainGroup: Introduce concept of multiple active keychains.
The newest/last active keychain is the default. Almost all of this class only works on the default active keychain.
All other active keychains are meant as fallback for if a sender doesn't understand a certain new script type.
New P2WPKH KeyChainGroups are created with a P2PKH fallback chain. This will likely go away in future as P2WPKH
and Bech32 are becoming the norm.
2019-02-13 23:40:20 +01:00
Andreas Schildbach
16b53836b8 Wallet, KeyChainGroup: Remove implicit creation and activation of a new chain.
The was likely the remains of lazy creation of wallets. Lazy creation wasn't of much use,
since wallets are usually accessed the moment after they're created. And also we introduced
a second "laziness" by only deriving a couple of keys per chain, deferring the hard work
for when bloom filtering is used.
2019-02-13 22:18:28 +01:00
Andreas Schildbach
eb15ac07d3 Wallet: Remove implicit upgrade from a basic to a deterministic wallet.
It never worked for encrypted wallets anyways, and encrypted wallets should be
the the norm. Use Wallet.isDeterministicUpgradeRequired() to find out if your
wallet should be upgraded and invoke Wallet.upgradeToDeterministic() when the
time is right.
2019-02-13 21:57:57 +01:00
Andreas Schildbach
2bdc594468 SPVBlockStoreTest: Add a performance test. 2019-02-13 21:50:32 +01:00
Andreas Schildbach
4f5b2f2660 KeyChainGroup: Remove ability to change default lookaheadSize and lookaheadThreshold after construction.
Use Builder.lookaheadSize() and Builder.lookaheadThreshold() if you want to change the defaults, or
manage lookahead on DeterministicKeyChains directly.
2019-02-13 16:26:57 +01:00
Andreas Schildbach
ba4dacae84 UnitTestParams: Define human-readable part for Bech32 addresses. 2019-02-13 14:25:28 +01:00
Andreas Schildbach
4789ea84a5 DeterministicSeed: Make encryptedSeed immutable. 2019-02-13 14:15:22 +01:00
Andreas Schildbach
02b0907535 DeterministicSeed: Don't print private data in toString() by default. 2019-02-13 14:10:22 +01:00
Andreas Schildbach
bfe2a195b6 Receive to and send from native segwit addresses
- Hierarchical-deterministic derivation of native segwit addresses.
- Receive payments to native segwit addresses.
- Spend and sign payments from native segwit addresses.
- Watch-only wallets with native segwit addresses (zpub/vpub).
- WalletAppKit, Wallet-tool and Wallet-template are taught to deal with segwit-enabled wallets.

Be aware this adds a new field in the wallet protobuf: output_script_type in Key, which keeps track
of the script type of DeterministicKeyChains. Protobufs will be migrated; old DeterministicKeyChains
are assumed to be of type P2PKH.

Includes some code by Fabrice Drouin.
2019-02-11 16:48:37 +01:00