Commit Graph

1113 Commits

Author SHA1 Message Date
Andreas Schildbach
c236ae418f Keep opcode in ScriptChunk representation of scripts. The goal is to know how data was pushed and be able to apply malleability rules. All unit-tests pass. 2014-05-22 13:03:32 +02:00
Mike Hearn
b47995ed97 Wallet: throw more appropriate exception types during completion.
Resolves issue 560.
2014-05-21 19:38:12 +02:00
Mike Hearn
028a1cca69 Upgrade scrypt library. 2014-05-21 19:25:38 +02:00
Mike Hearn
a07a810ed8 Don't crash if there's no logging handler installed. 2014-05-21 19:25:29 +02:00
Mike Hearn
467124a2b3 Wallet: keep risk dropped txns around in RAM and don't miss them when a Bloom filtered block includes them. Resolves issue 545. 2014-05-21 16:50:17 +02:00
Mike Hearn
ed2948cef1 Correctness fix: compare nBits directly not in BigInteger form as nBits has multiple non-canonical encodings. 2014-05-21 15:09:52 +02:00
Andreas Schildbach
4a5854a599 Reformat log messages in DnsDiscovery and add one log message for the success case, to make more clear what's going on.
Also, rename hostNames to dnsSeeds as this name is more speaking for itself, and is used in other places as well.
2014-05-21 13:22:04 +02:00
Mike Hearn
ee2a91010e PeerGroup: return the peers that match the requested protocol version in waitForPeersOfVersion. 2014-05-20 17:51:45 +02:00
Mike Hearn
dfb3a763ce Add some convenience methods to Transaction for signing. 2014-05-20 17:20:11 +02:00
Mike Hearn
1fe0e7fa6c Add some JavaDocs to FakeTxBuilder 2014-05-20 17:20:11 +02:00
Mike Hearn
2548076fa6 Refactor TestWithPeerGroup a bit to make it more reusable in apps. 2014-05-20 17:20:11 +02:00
Mike Hearn
9e5a06120a Add a PeerGroup.waitForPeersOfVersion API and add unit tests for the waitForPeers* methods. 2014-05-20 14:01:55 +02:00
Mike Hearn
f378bb3a43 Add Addy's main net DNS seed and remove Matt's testnet seed as it doesn't work properly. 2014-05-19 16:17:30 +02:00
Piotr Włodarek
f7e982cee1 Minor refactorings in VersionedChecksummedBytes. 2014-05-18 23:19:55 +02:00
Piotr Włodarek
e91cc443e9 Updated comment for WalletAppKit class to reflect deprecation of start and startAndWait in Guava. 2014-05-18 22:30:22 +02:00
Piotr Włodarek
cd4219ccb1 Fixed comment for Wallet.sendCoins regarding MIN_NONDUST_OUTPUT. 2014-05-18 22:30:09 +02:00
Mike Hearn
443b62481d BloomFilter: set a lower bound on nHashFuncs of 1: there must always be at least one function. Thanks to Kalpesh Parmar for debugging this.
Static import Math for shorter more readable code.
2014-05-13 13:06:48 +02:00
Mike Hearn
cbd91c7ea1 Fixes to tagging, thanks to Andreas for the review.
- Wallet now forces immediate autosave when a tag is set.
- TaggableObject javadocs s/wallet/object/
2014-05-13 13:00:01 +02:00
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