Commit Graph

2926 Commits

Author SHA1 Message Date
Andreas Schildbach
c927f0238b Rename variable peers to peerGroup, as the name can be misleading. 2017-12-21 12:47:13 +01:00
Nelson MELINA
e036f8174a Allow to create wallets with an arbitrary account path. Adds a test for BIP44 wallets (account zero only).
Authors: Nelson MELINA <nelson.melina@mycelium.com>, Giuseppe Magnotta <giuseppe.magnotta@gmail.com>
2017-11-27 22:22:25 +01:00
Andreas Schildbach
61e5d714c3 Fix spelling in comments: heirarchy → hierarchy 2017-11-24 13:23:27 +01:00
Nicola Atzei
3cc652858c DumpedPrivateKey: Fix toBase58() for the case where the key is compressed. 2017-11-08 15:57:17 +01:00
Andreas Schildbach
6208f06d75 Add mainnet seed from OpenBazaar. 2017-11-03 10:43:59 +01:00
Nicola Atzei
9f5f973d8a ScriptBuilder: Fix minimal number encoding for -1. 2017-10-26 17:52:54 +02:00
Andreas Schildbach
383801bbb9 Wallet: Add JavaDoc link from autosaveToFile() to saveToFile(). 2017-09-13 11:59:12 +02:00
Andreas Schildbach
850f219607 Basic support for version 2 transactions.
Rather than considering all version 2 transactions risky, we now look more closely if any of its
inputs has a relative lock time. We can't check the relative locks though, because we usually
don't have the spent outputs (to know when they were creted).
2017-08-31 00:04:01 +02:00
Andreas Schildbach
3061734993 Move SEQUENCE_LOCKTIME_* flags from Transaction to TransactionInput. 2017-08-30 18:14:21 +02:00
Andreas Schildbach
9a3006d03c Transaction: Clarify the meaning of the transaction hash in the JavaDoc.
We will soon have multiple kinds of transaction hashes.
2017-08-25 13:06:26 +02:00
Andreas Schildbach
e32feb0aa9 Refresh bundled checkpoints. 2017-08-24 13:06:05 +02:00
Andreas Schildbach
738011a2a4 Peer: Drop Bitcoin Cash peers early, based on service bit 5.
They will fail the difficulty check anyway.
2017-08-22 12:27:07 +02:00
Andreas Schildbach
ff970f6fad VersionMessage: Define service bits a bit differently. 2017-08-22 12:18:56 +02:00
Andreas Schildbach
3ef5f9f2d7 ECKey.decodeFromDER(): Also throws IllegalArgumentException if unexpected class was read.
Fixes a regression that was introduced with commit e5f14e789a.
2017-08-22 12:03:28 +02:00
Andreas Schildbach
9c49fd5692 Peer: Demote logging of alert messages to debug. They're not important any more now that they're deprecated. 2017-08-14 16:07:18 +02:00
Andreas Schildbach
3c9cb34162 Move ScriptException from .core to .script package. 2017-08-14 09:24:18 +02:00
anton
70bef0a129 Add support for "sendheaders" message (BIP130) and use protocol version to 70012.
For now, we're ignoring this message as bitcoinj does not relay blocks.
2017-08-14 09:22:53 +02:00
Andreas Schildbach
ca033e3368 Option to decrypt private keys and seed on the fly if printing a wallet dump of an encrypted wallet. 2017-08-13 15:22:22 +02:00
Andreas Schildbach
49e6af3bd7 Remove some remaining mentions of Tor and Orchid. 2017-08-12 10:14:12 +02:00
Andreas Schildbach
80b966d39f Use protocol version 70002, stating readiness for BIP61 reject messages.
The code for reject messages has been implemented a long time ago, but we never advanced our protocol version.
2017-08-11 19:25:22 +02:00
Andreas Schildbach
c36784b307 Make Travis CI use Ubuntu Trusty image for building. 2017-07-29 21:45:31 +02:00
Bas van Schaik
759156c71b BuildCheckpoints: Fix possible resource leak. 2017-07-29 21:23:04 +02:00
Bas van Schaik
40c26b58bd HttpDiscovery: Fix resource leak as a result of unclosed GZIPInputStream. 2017-07-29 21:21:16 +02:00
Andreas Schildbach
1381e86ff1 ECKey: Gender-neutralize a comment. 2017-07-27 14:18:48 +02:00
Nicola Atzei
5f95e510ef Fix several javadoc warnings. 2017-07-27 10:35:21 +02:00
zkejid
ab24a70753 Avoid NullPointerException on preallocated exception (which has no message) in productive code.
For more information, see http://jawspeak.com/2010/05/26/hotspot-caused-exceptions-to-lose-their-stack-traces-in-production-and-the-fix/
2017-07-24 17:33:16 +02:00
Nicola Atzei
6b42e477f7 Script: Fix exception handling within isSentToMultiSig() method. 2017-07-24 15:24:11 +02:00
Andreas Schildbach
d982e5fe9d Add mainnet and testnet seeds from Bloq. 2017-07-24 14:21:09 +02:00
Bo-Ye
3e62906971 FetchBlock example: Enhance this example to be able to connect DNS discovered peers so that you don't need to install bitcoind locally. 2017-07-24 14:17:48 +02:00
Andreas Schildbach
a2bb46bcd1 Unit tests: Disable a nasty HotSpot optimization that causes exception messages and traces to go missing.
For more information, see http://jawspeak.com/2010/05/26/hotspot-caused-exceptions-to-lose-their-stack-traces-in-production-and-the-fix/
2017-07-23 14:59:23 +02:00
Andreas Schildbach
640dda79f3 ECKey: Fix exception nessage of recently introduced check that constructed private key doesn't exceed 32 bytes. 2017-07-23 00:45:19 +02:00
Andreas Schildbach
89fb8c3bfa script_tests.json: Two fixes synched from Bitcoin Core. 2017-07-18 19:21:57 +02:00
Nicola Atzei
c87da45321 Context: the overloaded constructor calls the most completed one 2017-07-17 11:38:39 +02:00
Andreas Schildbach
ce32f2a5ba WalletTest: Extract empty sig constant. 2017-07-17 10:15:51 +02:00
Nicola Atzei
3cb1f6c6c5 Utils: Add some checks to bigIntegerToBytes(). 2017-07-16 10:32:46 +02:00
Andreas Schildbach
3890219540 ECKey: Check that constructed private key doesn't exceed 32 bytes. 2017-07-12 10:10:21 +02:00
Nicola Atzei
c308d6ef1c Script: Refactor executeScript() to follow Bitcoin Core implementation. 2017-07-12 10:05:32 +02:00
Nicola Atzei
e1760ec001 Scipt: Remove redundant cases of opcodes. 2017-07-12 10:01:02 +02:00
Gitju
106e9363a6 RegTestParams: MAX_TARGET to be created out of 64 hex digits 2017-07-11 18:09:25 +02:00
Nicola Atzei
d8af6b4be7 ScriptError: New error code for use in ScriptException. Script tests use this to assert for specific errors.
This also adds MINIMALDATA tests from Bitcoin Core into script_tests.json.
2017-07-11 18:01:28 +02:00
Nicola Atzei
bb176dab4d Implement the CHECKSEQUENCEVERIFY script operator.
This also adds CSV-related tests from Bitcoin Core into script_tests.json, tx_valid.json and tx_invalid.json.
2017-07-05 18:45:33 +02:00
Andreas Schildbach
e3409e5d6d Merge script_valid.json and script_invalid.json into one script_tests.json.
This also synchs script_tests.json to Bitcoin Core's version as of dde46d3ae1de18700e089bc1861cf1e18649dc5d, minus some of the newer 'invalid' tests which we can't handle yet.

We also need to check 'invalid' tests more specificly for the expected error; the current behaviour mimics how dataDrivenInvalidScripts() used to work.

The buildCreditingTransaction() and buildSpendingTransaction() methods were written by Nicola Atzei.
2017-07-05 14:33:03 +02:00
Jean-Pierre Rupp
083136e9e8 TransactionTest: Reformat some lengthy method invocations. 2017-07-01 16:42:23 +02:00
Andreas Schildbach
3ec862cf99 Transaction.SORT_TX_BY_HEIGHT: Use the Block.BLOCK_HEIGHT_UNKNOWN constant rather than -1. 2017-06-26 17:29:22 +02:00
Andreas Schildbach
e5f14e789a ECDSASignature.decodeFromDER(): Now throws IllegalArgumentException if something with the input bytes is wrong. RuntimeException is bad! 2017-06-26 13:29:21 +02:00
Andreas Schildbach
0eabd240a6 Transaction.SORT_TX_BY_HEIGHT: For transactions not 'building', use -1 height for sorting purposes. 2017-06-25 20:18:37 +02:00
Andreas Schildbach
e3ca8f2d50 Wallet: Make calculateFee() private.
It was likely never meant for public consumption, because it's return type has always been private.
2017-06-25 20:02:22 +02:00
Andreas Schildbach
1692cd973e Update wallet-template to Guava 22.0-android too. 2017-06-23 11:49:55 +02:00
Nicola
eceee6b6dd Script: Fix two exception messages. 2017-06-14 16:38:43 +02:00
Andreas Schildbach
c24ef97ac0 Transaction.toString(): Clearly state if script is missing. 2017-06-02 16:55:40 +02:00