3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-01-31 15:22:16 +00:00
Commit Graph

1282 Commits

Author SHA1 Message Date
Piotr Włodarek
7f84603e11 Renamed 'bytes', 'msg' to 'payload' in all Message classes.
* This is intended to clarify distinction between full message and its payload to match terminology advertised on https://en.bitcoin.it/wiki/Protocol_specification.
* Does not change public API.
* These refactorings were mostly automated and should not introduce bugs. All tests pass.
2014-06-02 21:29:04 +08:00
Piotr Włodarek
a95c2ed826 Minor comments improvements in Message, EmptyMessage and NetworkParameters. 2014-06-02 21:29:04 +08:00
Piotr Włodarek
019f5f846d Regenerate protobuf bindings. They didn't fully survive our refactorings. 2014-06-02 21:16:51 +08:00
troggy
eae64a5357 Wallet now delegates currentAddress/freshAddress calls to KeychainGroup
This way it's possible for KCG to yield P2H addresses in future
2014-06-02 21:15:58 +08:00
Andreas Schildbach
927d8514f5 Rename Coin.NANOCOIN to Coin.MICROCOIN. 2014-06-02 08:11:03 +02:00
Andreas Schildbach
fa63c83888 Fix 'java.math.Coin' in the JavaDocs. 2014-05-31 11:27:19 +02:00
Andreas Schildbach
346e8fb3bf Access NetworkParameters.MAX_MONEY in a static way. 2014-05-31 11:27:19 +02:00
Andreas Schildbach
39586bf515 Replace or remove remaining misuses of the term 'nanocoin'. 2014-05-30 18:09:36 +02:00
Andreas Schildbach
56ef72f36f Deprecate Coin.longValue() in favour of accessing Coin.value directly. 2014-05-30 18:09:36 +02:00
Andreas Schildbach
b15dbfb836 Remove unused imports. 2014-05-30 15:33:58 +02:00
Andreas Schildbach
f10fefe2ae Clear a lot of compiler warnings because of unparameterized types. 2014-05-30 15:33:58 +02:00
Andreas Schildbach
d4c1a1b043 Add missing @Override annotations. 2014-05-30 15:33:58 +02:00
Andreas Schildbach
51c48bb69f Clean up coin constants and make more use of it. 2014-05-30 15:09:33 +02:00
Andreas Schildbach
938dec7a73 Rename Coin.toNanoCoins(coins, cents) to Coin.valueOf(coins, cents). 2014-05-30 15:09:33 +02:00
Andreas Schildbach
49adaeed16 Rename Coin.toNanoCoin(String) to Coin.parseCoin(String). 2014-05-30 15:09:33 +02:00
Andreas Schildbach
3e846901cb Remove weird value accessors. 2014-05-30 15:09:33 +02:00
Andreas Schildbach
ee4dec1835 Remove weird constructors. 2014-05-30 15:09:32 +02:00
Andreas Schildbach
48a76a8a03 Clean up Coin API for multiplications and divisions. 2014-05-30 15:09:32 +02:00
Andreas Schildbach
eb81b0c815 Move coin related methods and constants from Utils into Coin. 2014-05-30 15:09:32 +02:00
Andreas Schildbach
e2140c5cf8 Refactor internal coin representation from BigInteger to long. 2014-05-30 15:09:32 +02:00
Andreas Schildbach
022e7c27fe Wrap coin-ish BigIntegers into Coin class. 2014-05-30 15:09:32 +02:00
troggy
d2e1b14d4c Wallet: add convenience methods to vend Address objects for currentKey/freshKey 2014-05-29 20:20:44 +02:00
Mike Hearn
c63f5f7553 Fix bugs and misc review comments from Harold Hoyer's key lookahead pull request. Still needed: unit tests. 2014-05-29 20:11:17 +02:00
Harald Hoyer
5726b97f70 HD Wallets: mark the DeterministicKeys as issued, if seen in a Transaction
If a Transaction contains a DeterministicKey of our
DeterministicKeyChains, then we should mark this key as issued. This can
happen, when we replay/resync the blockchain or when another device uses
one of our keys.

Signed-off-by: Harald Hoyer <harald@harald-hoyer.de>
2014-05-29 20:11:17 +02:00
Harald Hoyer
534a1e3a5c HD Wallets: add a threshold for the DeterministicKey lookahead
DeterministicKeyChain.maybeLookAhead() would pre-generate a new key, for
every issued key, even if it is only one. If we replay the blockchain
and update the issuedKeys counter, maybeLookAhead() would trigger the
regeneration and resending of the bloom filter for every used key.

This patch adds a threshold, where keys are only pre-generated after
more keys are needed than the value of the threshold.

Signed-off-by: Harald Hoyer <harald@harald-hoyer.de>
2014-05-29 20:11:17 +02:00
Mike Hearn
42bfbb9b1c Add some Javadocs and clean up the watching key API a tiny bit. Default creation time is now BIP32 standardisation time. 2014-05-29 20:11:17 +02:00
Harald Hoyer
9ff7a91c8c HD Wallets: let you specify the creation time for a WatchingKey
If the creation time for a WatchingKey is known, it should be taken into
account and stored.

Signed-off-by: Harald Hoyer <harald@harald-hoyer.de>
2014-05-29 20:11:17 +02:00
Mike Hearn
960b9d686e KeyChainGroup: defensive copy of the chains list in the c'tor 2014-05-29 20:11:16 +02:00
Mike Hearn
1628bf6329 WalletAppKit: set max connections to size of set peer addresses so localhost broadcast works. 2014-05-29 20:11:16 +02:00
Mike Hearn
e4af9a673f Tweaks to allow wallet subclasses to add their own extensions in their c'tors. 2014-05-29 20:11:16 +02:00
Mike Hearn
748ff6fc8e WalletAppKit: allow control of wallet construction. 2014-05-29 20:11:16 +02:00
Mike Hearn
4504633fd5 ECKey.recoverFromSignature: respect the compressed flag again. 2014-05-29 20:11:16 +02:00
Mike Hearn
d2837e8ea9 Wallet: allow customization of the wallet type that is deserialized. Makes subclassing Wallet more useful. 2014-05-29 20:11:16 +02:00
Mike Hearn
b374ba5108 HDW: Fix a decryption bug where we were (again) accidentally relying on padding checks to detect wrong passwords. Check the watching key derives correctly to fix. 2014-05-29 20:11:16 +02:00
Mike Hearn
24e41f01c6 Refactorings.
Make a convenience ECKey.decrypt(KeyParameter) that doesn't require the keycrypter to be manually specified, as often (always?) the key knows it already.

Introduce a KeyBag interface that just contains findKeyBy* methods, then make Wallet implement it and change Transaction.signInputs to use it. Take out the encrypted-key specific stuff here: Transaction now requires unencrypted keys. Create a DecryptingKeyBag class that just forwards calls to Wallet and decrypts the returned keys. This decouples the signing code from Wallet a bit.

Should be all API compatible.
2014-05-29 20:11:16 +02:00
Mike Hearn
9ca891c709 Wallet: restrict visibility of the transactions map a bit and tag the others as visible for testing. This should get fixed up in a future refactor. 2014-05-29 20:11:16 +02:00
Mike Hearn
1e4f930b70 Wallet: set lookahead size to 5 when using unit test params instead of scattering calls all over the test code. 2014-05-29 20:11:15 +02:00
Mike Hearn
2be8bc1901 ECKey: make compress/decompressPoint use non-deprecated methods and add a note that BC's tracking of compression state is going to go away. 2014-05-29 20:11:15 +02:00
Mike Hearn
a807994b9a Bump wallet version and add missing check (!) to detect wallets from the future. The absence/incompleteness of this feature had not been noticed before, and it means that old apps will fail to read HD wallets due to the new key enum value rather than a more sensible error (but there's still no chance of an old app accepting an HD wallet, so it should still be safe). 2014-05-29 20:11:15 +02:00
Mike Hearn
c8850c94ae Bugfix: don't throw away deserialized wallet in WalletAppKit 2014-05-29 20:11:15 +02:00
Mike Hearn
ef95eb3b79 Bugfix: don't crash if getEarliestKeyTime is called on a DKC that wasn't initialized with a seed (i.e. a watching chain) 2014-05-29 20:11:15 +02:00
Mike Hearn
704339fdfb Bugfix: copy event listeners to new HD chains when created. 2014-05-29 20:11:15 +02:00
Mike Hearn
2ce5c16815 Switch TestWithWallet to be using an HD key by default. 2014-05-29 20:11:15 +02:00
Mike Hearn
d9fa9e4b68 Fix a casting bug in WalletAppKit. Thanks to Kalpesh Parmar. 2014-05-29 20:11:14 +02:00
Mike Hearn
4df59adeb9 Use setMockClock instead of rollMockClock(0) to resolve flaky tests. 2014-05-29 20:11:14 +02:00
Mike Hearn
51b71a4363 HD Wallets: support watching wallets in Wallet and wallet-tool.
Also, respect includePrivateKeys flag for the seed in wallet.toString again.
2014-05-29 20:11:14 +02:00
Mike Hearn
c7f7fd29e0 HD Wallets: add a REFUND key purpose and map it to the same branch as RECEIVE_FUNDS for now. 2014-05-29 20:11:14 +02:00
Mike Hearn
dbf504faa0 HD Wallets: add getImportedKeys() method that returns just the basic key chain. 2014-05-29 20:11:14 +02:00
Mike Hearn
534252de49 HD Wallets: bugfix, ensure we don't store private keys that can be rederived. 2014-05-29 20:11:14 +02:00
Mike Hearn
3f9791d86a HD Wallets: print seed birthday in wallet dump too 2014-05-29 20:11:14 +02:00
Mike Hearn
a1fcca3883 WalletTool: allow creation of a wallet from a given [word] seed. 2014-05-29 20:11:14 +02:00
Mike Hearn
1ff5d05200 HD wallets: add a Wallet.getKeyChainSeed method. 2014-05-29 20:11:13 +02:00
Mike Hearn
5638387d3a HD wallets alpha preview 2014-05-29 20:11:13 +02:00
Andreas Schildbach
780be05260 Save value of inputs when completing transactions and persist it to the wallet protobuf. Determine the fee of a transaction in case we have all the values. 2014-05-29 20:06:22 +02:00
Andreas Schildbach
03e8934576 Update note about regenerating protobuf bindings. 2014-05-29 20:06:22 +02:00
Mike Hearn
b36bb5bff0 Bloom: don't requery mempool if the filter is only being refreshed to force down FP rate. 2014-05-28 23:09:40 +02:00
Mike Hearn
ecbaaf01d6 Fix scrypt library hash. 2014-05-28 19:19:32 +02:00
Mike Hearn
e95fef3504 Bloom bugfix: track false positives in blocks including when the tx was broadcast within the session, and don't print an error from the wallet in this case. Should have no impact beyond more accurate FP rate calculations. 2014-05-28 18:44:43 +02:00
Andreas Schildbach
344be21821 Fix 'shortest possible pushdata' logic for transaction inputs. Also add a testcase. 2014-05-28 15:43:52 +02:00
Andreas Schildbach
8ca8075a7b Convenience ScriptBuilder.addChunk() method can add arbitrary script chunks. 2014-05-28 15:36:53 +02:00
Andreas Schildbach
9fe8e8ee2b Teach TransactionOutput.toString() to print send-to-pubkey and send-to-multisig types. 2014-05-27 14:50:31 +02:00
Jiri Peinlich
c37423a737 renaming to nonexisting file on Windows
The method fails in case the file does not exists before renaming. canonical.delete() returns false in that case and the method throws an exception.
2014-05-27 13:19:16 +02:00
Andreas Schildbach
ccc3dbd339 Implement standard checks for BIP62 shortest possible data push rules. Also fix ScriptBuilder so it doesn't build longer than necessary data pushes any more. 2014-05-27 11:49:14 +02:00
Andreas Schildbach
7b24a72e45 Implement ScriptChunk.toString() by extracting relevant parts from Script.toString(). 2014-05-27 10:03:56 +02:00
Piotr Włodarek
9c8d2cc600 Renamed proofOfWorkLimit to maxTarget along with get/set and minor refactorings.
* proofOfWorkLimit renamed to maxTarget to get it more inline with commonly used terminology (wiki, etc.)
* some misleading local variables renamed from 'difficulty' to 'target'
2014-05-25 11:44:52 +02:00
Piotr Włodarek
c08c68fc5e Dealt with several compiler notices by verifying and then fixing or suppressing. Reduces compilation output noise. 2014-05-25 11:43:36 +02:00
Piotr Włodarek
cc6090af88 Fixed type references in javadoc to avoid IntelliJ error reports on rebuild. 2014-05-25 11:43:01 +02:00
Piotr Włodarek
b32d0cce17 Improved consistency and formal correctness of all existing .equals methods to meet IntelliJ's convention.
* added null handling so equals methods return false for null argument
* replaced instanceof with getClass to force strict type equality
* added @Override for equals and hashCode where missing
* minor refactorings in equals methods to simplify and improve consistency
* added missing hashCode for ListMessage based on equals definition

Things that HAVE NOT changed:

* set of attributes used for equality checking
* hashCode calculation (except for added hashCode in ListMessage)
* correlation between equals and hashCode
* no new equals methods added
2014-05-22 20:50:42 +02:00
Andreas Schildbach
ff8d76cf7e Include PUSHDATA opcode in Script.toString(). Also, smallNums are printed in their decoded form. 2014-05-22 13:03:32 +02:00
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
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