Commit Graph

1095 Commits

Author SHA1 Message Date
Mike Hearn
acebe8e3d2 Tighten scope of the FileInputStream in WalletAppKit to avoid lock collisions on Windows. Resolves issue 556. 2014-05-13 12:57:02 +02:00
Mike Hearn
408bca3433 Do tags lazily as was supposed to happen. 2014-05-09 14:56:26 +02:00
Mike Hearn
d68b3b5108 Update script JSON files with latest changes from Peter Todd. 2014-05-09 14:18:13 +02:00
Mike Hearn
268dfe297f Add a simple API that lets you tag wallets with arbitrary string->byte[] pairs. 2014-05-08 20:13:09 +02:00
Mike Hearn
c277dc7e4e Require PeerFilterProviders to expose a lock, and use them to avoid a race that occurs during Bloom filter construction.
It's possible in some uses to cause the Wallet to create two batches of keys one after the other, but independently such that the second batch of keys is derived (with HDWs) whilst the filter is being recalculated from the first. This in turn could race with filter calculation and cause asserts or miscalculated filters.
2014-05-08 00:33:01 +02:00
Mike Hearn
46ad86a9af Refactor bloom filter calculations out of PeerGroup into a separate FilterMerger class. 2014-05-07 21:53:34 +02:00
Mike Hearn
26823d1bf7 Correct the default thread used by AbstractBlockChain.addListener() 2014-05-06 21:44:42 +02:00
Mike Hearn
a893bdd603 PeerGroup: print a log warn if there's no blockchain. 2014-05-05 22:32:46 +02:00
Mike Hearn
0e74eba29f WalletFiles: don't delete temp file if rename failed. It might be the only copy of the wallet we have! Only really should affect Windows. 2014-05-05 14:42:52 +02:00
Mike Hearn
fbbdbb576e Minor reformattings + more javadocs + rename signRequestPki to just signRequest as there are no other signing methods at the moment. 2014-05-05 11:39:07 +02:00
Andreas Schildbach
cdfec498a4 Extract methods for creating and parsing payment requests, payment messages and payment acks, as well as Ack data class. Expose more payment request data from PaymentSession. Add unit tests for roundtripping all messages. 2014-05-05 11:26:25 +02:00
Andreas Schildbach
bd49cd4027 Rename misnamed PaymentRequestException to PaymentProtocolException. It's used for payment messages and maybe payment acks as well. 2014-05-05 11:26:25 +02:00
Mike Hearn
28c16738bc Add a PeerGroup.connectToLocalhost helper method. 2014-05-04 23:43:48 +02:00
Mike Hearn
4df728a7d9 Wallet: add output shuffling (a second time - where did it go?!). It's optional for unit testing. 2014-04-30 23:47:24 +02:00
Mike Hearn
c8ffc1eaee PaymentSession: Expose params and throw if transactions don't match requested params.
Resolves issue 551.
2014-04-30 22:19:39 +02:00
Mike Hearn
6160a2db3d Wallet: expose saveNow/saveLater to subclasses. 2014-04-29 17:33:02 +02:00
Mike Hearn
31c8f8b494 Make wallets autosave every 200msec instead of every second. Also, save immediately upon creation of a fresh wallet in case the app doesn't sync to the network for some reason. 2014-04-28 18:23:31 +02:00
Mike Hearn
119d26fda2 Fix crash 2014-04-27 20:51:44 +02:00
Mike Hearn
3f3f637779 Integrate Tor support into the PeerGroup and WalletAppKit API. 2014-04-27 18:57:56 +02:00
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