Mike Hearn
6c3b6ce1b3
TorDiscovery: Be less spammy about timed out circuits. A lot always time out.
2014-04-27 18:57:31 +02:00
Mike Hearn
d39cc8838e
TorDiscovery: Bugfix. Guava now returns immutable lists from Futures methods (annoying).
2014-04-27 18:11:50 +02:00
Devrandom
9cfb420cdb
Use unconnected socket in BlockingClient as before
2014-04-27 17:26:02 +02:00
Devrandom
99448b730a
Tor using the Orchid library
2014-04-27 17:26:01 +02:00
Andreas Schildbach
c5e82e6bc5
Expose word list of MnemonicCode. It's useful for auto-completion.
2014-04-25 19:56:03 +02:00
Mike Hearn
8b8adc6fed
Add a convenience method to MockTransactionBroadcaster.TxFuturePair
2014-04-25 15:05:16 +02:00
Mike Hearn
38e3f6fb9d
Wallet: null out the candidates list after selection so selectors can edit the list if they want.
2014-04-23 15:44:45 +02:00
Mike Hearn
6e999c6054
Simplify the MockTransactionBroadcaster a bit and update the docs.
2014-04-23 00:24:48 +02:00
Mike Hearn
bcc8055b7e
Wallet: expose tx broadcaster to subclasses.
2014-04-22 23:06:32 +02:00
Mike Hearn
dd7973c834
Implement equals/hashCode on TransactionInput.
2014-04-22 22:15:10 +02:00
Mike Hearn
c43362e128
FakeTxBuilder: don't throw checked exceptions, it's just annoying.
2014-04-22 16:51:12 +02:00
Mike Hearn
e1d6707626
Move some testing utilities to a new testing subpackage and rename TextUtils to reflect what it actually does.
2014-04-22 16:48:49 +02:00
Mike Hearn
98fc5827f2
Make some accessors on Ping/Pong public.
2014-04-22 16:48:27 +02:00
Andreas Schildbach
b4644fdf81
Fix size of encrypted bytes when encrypting private keys. Also change decrypting to use similar code.
2014-04-22 14:26:08 +02:00
Andreas Schildbach
53147fab16
Add switch to disable download of pending transaction dependencies. This becomes necessary because the current recursive download strategy is often triggering a stack overflow on Android devices.
2014-04-22 14:24:33 +02:00
Andreas Schildbach
b0fa5435a2
Fix parsing of empty labels and messages, and parsing of labels and messages with an unescaped equals sign in their value.
2014-04-22 14:21:11 +02:00
Mike Hearn
b3162cbc17
Fix a crash that can occur if a peer reports a chain height of zero (this is a protocol violation but such crashes were seen in the wild).
2014-04-22 14:03:10 +02:00
Andreas Schildbach
2708df58b3
Adjust MIN_NONDUST_OUTPUT down to 546 only for risk analysis. This is required because we start seeing more and more transactions using the new fee rules introduced with Bitcoin Core 0.9.
2014-04-18 11:57:36 +02:00
Mike Hearn
5c8cf6bc38
Deprecate Script.isSentToP2SH() as it did the same thing as isPayToScriptHash.
2014-04-15 17:28:55 +02:00
Mike Hearn
f19741d2ab
Add a toString for reject messages.
2014-04-15 13:34:18 +02:00
Matt Corallo
74d611218b
Add (de)serialization support for reject messages.
2014-04-14 17:09:13 +02:00
Mike Hearn
843fa633f3
Re-add verifyPki method to PaymentSession to avoid needless API churn.
2014-04-14 17:05:29 +02:00
Andreas Schildbach
81f62db0e9
Move BIP71 MIME types to PaymentProtocol class.
2014-04-14 16:40:39 +02:00
Andreas Schildbach
40d60306fa
Unit tests for signing and verifying both valid and expired payment requests.
2014-04-14 16:40:39 +02:00
Andreas Schildbach
c6b215d79c
Add signing of payment requests to PaymentProtocol class.
2014-04-14 16:40:39 +02:00
Andreas Schildbach
4502c40e59
Move verification of payment requests into new PaymentProtocol class.
2014-04-14 16:40:39 +02:00
Andreas Schildbach
f13c437a54
Fix X509UtilsTest ended up in wrong package.
2014-04-14 16:35:39 +02:00
Jakob Stuber
188cf6081d
Add support for creating multisig inputs scripts that redeem P2SH outputs
2014-04-14 16:34:24 +02:00
Mike Hearn
2379effd63
ECKey: switch away from the deprecated DERInteger class.
2014-04-08 17:18:01 +02:00
Andreas Schildbach
6087e43377
Upgrade to Guava 16.0.1.
...
Resolves issue 375.
2014-04-08 16:49:09 +02:00
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
Matt Corallo
af1fdd4a14
Add isStandard risk analysis.
...
This is currently only to deal with recent spam, especially dust sybil spam. Includes an unit-test by Andreas Schildbach.
2014-02-20 22:19:17 +01:00
Andreas Schildbach
5ca6f13195
Replace usage of BigInteger.compareTo(BigInteger.ZERO) with BigInteger.signum() as it's easier to read and more performant. Passes all unit tests.
2014-02-08 15:00:43 +01:00
Mike Hearn
3c86785a89
Payment protocol: Expose a friendly/display name for validating CA
2014-02-07 18:12:18 +01:00
Erik Tierney
59a18ab43f
Add ability to optionally use a schema name in the Postgres block store.
...
Add a test to make sure things work when we set a schema name.
2014-02-07 17:21:26 +01:00
Erik Tierney
c95a864831
Add ctor that takes a connectionUrl instead of hostname and database name.
...
Avoid exception in close() - only rollback when autocommit is false.
2014-02-07 17:21:26 +01:00
Andreas Schildbach
417c81f54d
Use Guavas primitive compare methods, where appropriate. Makes the code easier to read. Passes all unit tests.
2014-02-06 16:28:55 +01:00
Mike Hearn
5f9df48aaa
Rename and make the comparators public, documented.
2014-02-06 12:23:37 +01:00
Andreas Schildbach
217da6912d
When printing the wallet, apply a sensible order to transaction pools. Again, it helps debugging of wallet problems.
2014-02-06 11:57:59 +01:00
Andreas Schildbach
47c332eb98
Move pending transactions to the top of a wallet printout. It helps debugging, as pending transactions happen to attract most problems.
2014-02-06 11:34:20 +01:00
Mike Hearn
5b74ea5c7b
Switch to version 0.12-SNAPSHOT. To the moon! ;)
2014-02-04 11:31:42 +01:00
Mike Hearn
17d52aa404
Fix Maven enforcer hashes.
2014-02-04 11:31:42 +01:00
Mike Hearn
04e7551e99
Move stuff around in the POMs as part of preparing for Maven Central.
2014-02-03 15:42:53 +01:00
Mike Hearn
f4def39f40
H2 is now being exercised more thoroughly and was leaving test db files hanging around that would cause the next run to fail, fix.
...
Rename method/clean up a bit.
2014-01-31 18:49:58 +01:00
Mike Hearn
f46dc809e4
Add a string c'tor to PaymentRequestException.InvalidPaymentURL
2014-01-31 16:01:00 +01:00
Alex Taylor
c10e029384
Postgres block store, with ability to calculate address balances.
2014-01-31 14:23:40 +01:00
Mike Hearn
00ca0cea0c
PeerGroup: pin TransactionBroadcasts from the peer group to avoid premature garbage collection when user code throws away the broadcast future.
...
Should resolve an issue Ken is having with flaky key sweeping.
2014-01-30 17:46:55 +01:00
Mike Hearn
fff5af29ff
Recalculate but don't rebroadcast bloom filters when a p2pubkey output is received.
...
Resolves issue 513.
2014-01-30 17:43:33 +01:00
Mike Hearn
9204c13233
Move min version for NotFoundMessage to a static member of that class.
2014-01-30 17:18:30 +01:00
Mike Hearn
7c9651a801
Payment protocol: fix broken reflection code for Android.
2014-01-30 15:32:17 +01:00
Mike Hearn
b3bf4aadb7
Payment protocol: re-organise code a bit to handle Android devices that have the javax property set.
2014-01-30 14:40:44 +01:00