Commit Graph

1046 Commits

Author SHA1 Message Date
Mike Hearn
feba332e6e Upgrade to Bouncy Castle 1.50. Patch from Peter Dettman. Resolves issue 497. 2014-04-08 16:28:03 +02:00
Mike Hearn
e372aa4430 Implement equals/hashCode for ECDSA/TransactionSignature, and make them immutable.
Change the canonicalisation method to return a canonicalised copy, if required, and change the name to force users to notice that it's no longer mutating the object.

Resolves issue 544.
2014-04-07 18:41:40 +02:00
Mike Hearn
fbf700391f TransactionInput: verify(): don't crash if the given output has no parent. Clears a static analysis warning. 2014-04-07 18:21:04 +02:00
Mike Hearn
782edd8ea8 TransactionOutput: add equals/hashcode/duplicateDetached methods. 2014-04-07 17:41:04 +02:00
Mike Hearn
af07acd1b6 Payment protocol: add PaymentSession.getNetworkParameters method. 2014-04-07 14:58:55 +02:00
Mike Hearn
8e61a2027f Move X509Utils/TrustStoreLoader, add JavaDocs, and add back a parameter to allow location data to be included in the display name. 2014-04-07 13:27:49 +02:00
Andreas Schildbach
6f4315ed4d Extract loading of X.509 trust stores to TrustStoreLoader. 2014-04-07 12:07:36 +02:00
Andreas Schildbach
e7eec49671 Extract getDisplayNameFromCertificate() into new X509Utils class. Also joins PkiVerificationData.name and .orgName into one .displayName. Adds tests using client/smime certificates of mine. 2014-04-07 12:07:36 +02:00
Andreas Schildbach
e640d1eec3 Cheap test to see if an input stream is a wallet. 2014-04-05 23:14:35 +02:00
Mike Hearn
918ceb8f55 Fix unit test broken by less aggressive backoff time. 2014-04-04 15:23:56 +02:00
Mike Hearn
150e9fb7df More mock clock conversions, to avoid failures when running test cases independently.
Probably we should be injecting a mock Clock class so it goes away at the end of each test, but this would complicate the API somewhat.
2014-04-04 15:06:45 +02:00
Mike Hearn
272ee434c0 Consistently mark parent as nullable in TransactionOutput 2014-04-03 16:26:43 +02:00
Mike Hearn
f9e1b1e9e6 PeerGroup: tweak global backoff to be faster. 2014-04-01 16:53:00 +02:00
Mike Hearn
a2afe470c2 PeerGroup: bugfixes to backoff.
1) Do the wait even on the exception path so if discoverPeers throws, we don't bypass the sleep.
2) Move some field accesses inside the lock.

Resolves issue 527.
2014-04-01 16:48:31 +02:00
Mora Zyx
b720a868a7 Replace usages of currentTimeMillis where result is / 1000 with currentTimeSeconds 2014-03-29 14:41:44 +01:00
Andreas Schildbach
2cbdf324ab Fix race of mock clock with current time if tests are all run sequentially. This commit requires you to use one of the setMockClock() variants before being able to roll it. 2014-03-29 12:01:24 +01:00
Andreas Schildbach
1b0954a84a In Transaction.toString(): For outpoints, show the pubkey-hash of the connected output (if available). This makes it easier to debug wallets. 2014-03-27 11:11:32 +01:00
Mike Hearn
6c5e1344ba Add a Utils.currentTimeSeconds method with a TODO to convert other usages over 2014-03-26 20:05:52 +01:00
Mike Hearn
a31010b379 BloomFilter: javadoc updates 2014-03-26 20:05:52 +01:00
Mike Rosseel
a22cc7f698 mark didn't really make a mark 2014-03-26 16:51:42 +01:00
Andreas Schildbach
b303d77029 Allow shutting down wallet auto-saving. 2014-03-26 13:56:43 +01:00
Mike Hearn
0ed260bae2 Payment protocol: misc enhancements.
Stop using the JDK store and use our own, to make the StartSSL fix effective.
Include the certs in the exception thrown if the chain doesn't verify.
Support loading from a file in the PaymentProtocol tool.
Print the certs out in the PaymentProtocol tool if there's an error.
2014-03-23 19:24:56 +01:00
Mike Hearn
feecc8f486 PaymentSession: extract names from S/MIME certificates as well as SSL certs. 2014-03-23 18:58:08 +01:00
Mike Hearn
822c9011b2 ECKey: fix bug where creation time was lost when encrypting/decrypting. 2014-03-20 14:28:04 +01:00
Mike Hearn
e397928ec3 ECKey: preserve compression state when deserializing from ASN.1.
Resolves issue 528.
2014-03-17 17:42:56 +01:00
Andreas Schildbach
f27558bcd2 Include the hash160 of addresses in Wallet.toString(). This makes it easier to debug wallets just from the dump. 2014-03-17 16:38:51 +01:00
Mike Hearn
a49f643cdc Wallet: disallow adding of keys that don't match the wallet's encryption state. 2014-03-17 16:30:57 +01:00
Andreas Schildbach
22f5e45811 Remove incorrect execution of OP_0. That code was never reached, because OP_0 is not an opcode in terms of chunk.isOpCode()). However, it lead to believe that OP_0 pushes the vector [0], rather than correctly the empty vector to the stack.
Because the code was never executed, this bug could never trigger a test. Afaict, script.cpp does not have the corresponding case in its switch block.
2014-03-17 16:14:44 +01:00
Andreas Schildbach
b17533f8fb Add script test to prove that OP_0 evaluates as the empty vector, rather than [0]. Also adds debug output in case an script_invalid.json test fails. 2014-03-17 16:14:15 +01:00
Mike Hearn
b6149bfa48 Adjust user thread queue size warning. 2014-03-12 14:44:26 +01:00
Pavol Rusnak
8229daf38d BIP-0039: just adapt number of rounds and test vectors 2014-03-10 14:14:16 +01:00
Pavol Rusnak
aa499dfaf8 Revert "BIP-0039 multiple version support."
This reverts commit 1a3c3be665.
2014-03-10 14:14:15 +01:00
Mike Hearn
5226cdc6fc Hex dump pending transactions that double spend each other. 2014-03-10 14:08:38 +01:00
Andreas Schildbach
85d8145924 Add convenience constructor to KeyCrypterScrypt to allow setting the number of scrypt iterations. The default of 16384 is not usable on mobile devices. 2014-03-10 13:39:38 +01:00
Andreas Schildbach
4f8867c58e Fix method name in SendRequest.aesKey javadoc. 2014-03-10 13:35:14 +01:00
Diego Basch
fac6c6fabe added path to files on the Mac 2014-03-07 20:19:18 -08:00
Andreas Schildbach
71ee048d1e Print available balance in Wallet.toString(), rather than the redundant number of Satoshis. 2014-03-07 17:49:58 +01:00
Andreas Schildbach
8fdfb04e43 Update SLF4J to version 1.7.6. Previously, inconsistent versions were used between sub-projects. All unit-tests pass. 2014-03-07 17:47:42 +01:00
Peter Todd
5a8b99b64d
Update BIP URLs to new github repo 2014-03-02 15:01:44 -05:00
Mike Hearn
6025571350 Some minor no-op tweaks to DefaultRiskAnalysis. 2014-02-25 18:09:49 +01:00
Mike Hearn
4eb6bdad88 Add StartCom certificate to the included roots. Resolves issue 515. 2014-02-25 11:43:37 +01:00
Andreas Schildbach
d772244dc9 Fix crash in case wallet is so inconsistent that even .toString() fails. 2014-02-25 11:26:06 +01:00
Mike Hearn
b52faae013 PeerGroup: fix a regression that stopped Bloom filters being sent when a key is added, and add a unit test covering that behaviour.
Resolves issue 524.
2014-02-23 13:12:26 +01:00
Andreas Schildbach
249df81e5d Don't throw just because the name of the CA cannot be determined. 2014-02-21 16:07:35 +01:00
Andreas Schildbach
295e8a154d Fix handling of defaults when parsing the payment message. Bitpay is leaving out the payment details version which was handled incorrectly. Adds a testcase for the defaults. 2014-02-21 18:19:04 +05:30
Mike Hearn
4409891da1 Build a bundled JAR for the core in parallel to the normal unbundled JAR. Helps people who don't use Maven for some reason, like Jython/JRuby users. 2014-02-21 17:30:47 +05:30
Mike Hearn
0a2f7268dc PaymentSession: some bug fixes and new accessors. 2014-02-21 17:30:47 +05:30
Mike Hearn
ce61bd211d Wallet: recursively kill transactions that depend on dead transactions.
Resolves issue 186.
2014-02-21 17:30:45 +05:30
Mike Hearn
51c0f283e2 PaymentSession: javadoc formatting. 2014-02-21 17:27:35 +05:30
Andreas Schildbach
e7ea8483e4 Add method to clean up the wallet.
Currently, it just removes risky pending transaction from the wallet and only if their outputs have not been spent. Includes unit-tests by Miron Cuperman.
2014-02-20 22:19:17 +01:00