Mike Hearn
b578adf55d
Wallet: give up on using read/write locks for the keychain, the re-entrancy rules are too hard to follow. Switch back to a regular lock.
2014-11-13 22:30:35 +01:00
Mike Hearn
4d99313814
Delete EncryptedPrivateKey, it's cruft left over from the HD wallets work.
2014-11-11 16:59:49 +01:00
Wojciech Langiewicz
aafb15a24f
Adds one test to the CHECKMULTISIG feature which was failing before
2014-11-10 22:34:23 +01:00
Wojciech Langiewicz
b279c40801
Adds Wallet tests, extracts FooWalletExtension for testing.
2014-11-09 15:49:33 +01:00
Wojciech Langiewicz
e830ab87b0
pom.xml update to exclude untestable classes from coverage report
2014-11-09 15:49:33 +01:00
Mike Hearn
f6d5644108
Remind myself how to run the postgres unit tests.
2014-11-09 15:49:23 +01:00
Kalpesh Parmar
eed5f22550
Bug fix: The database access code was not updated on field value type change.
2014-11-09 15:32:48 +01:00
Kalpesh Parmar
9004166122
1) Fixed the height field to store the height for both coinbase/non coinbase open outputs.
...
2) Thanks to Ed Lee - Fixed Issue 447 : H2 store: block header hash code is off by 4 bytes. This fix also applies to Postgres and MySQL stores.
3) Added a coinbase field to the openoutputs table and updated code to use this value.
4) Updated field type of ‘value’ in the openoutputs table from bytes to long.
5) Updated the stores (DatabaseFullPrunedBlockStore) with a compatibility check.
6) Updated field type of ‘addresstargetable’ in the openoutputs table from int to tinyint/smallint.
2014-11-09 15:32:48 +01:00
Kalpesh Parmar
fbf62614b4
1) Re-factored PostgresFullPrunedBlockStore and H2FullPrunedBlockStore into a generic DatabaseFullPrunedBlockStore class.
...
2) H2FullPrunedBlockStore now supports calculateBalanceForAddress() method.
3) Created an additional store for MySQL (MySQLFullPrunedBlockStore) and unit test.
4) Fixed unit test PostgresFullPrunedBlockStoreTest, second time execution was failing due to not clearing down the tables correctly.
5) Added methods getOpenTransactionOutputs() & deleteStore() to base class DatabaseFullPrunedBlockStore.
2014-11-09 15:32:48 +01:00
Mike Hearn
580a67c0b7
PeerGroup: add a removePeerFilterProvider to complement add.
2014-11-08 22:35:12 +01:00
Adam Mackler
b36169caba
Make TransactionBroadcast
recognize network rejection of transmitted transaction.
2014-11-08 19:57:41 +01:00
Andreas Schildbach
7419556717
When reading wallets, catch another possible data inconsistency and throw UnreadableWalletException.
2014-11-08 18:04:36 +01:00
Mike Hearn
e16c357723
Fix another license header.
2014-11-07 18:02:47 +01:00
Andreas Schildbach
c2611b5345
Fix question marks could not be used in payment protocol request URI. Removes the check for multiple question marks in the bitcoin URI.
...
Also see https://github.com/schildbach/bitcoin-wallet/issues/169
2014-11-07 11:15:58 +01:00
Mike Hearn
6dbc918876
Fix license headers in BitcoinURI/BitcoinURIParseException
2014-11-06 13:30:40 +01:00
Mike Hearn
8b9d1903c5
PeerGroup: add/remove listeners from active/pending peers as well as the internal list.
2014-11-05 18:42:14 +01:00
Mike Hearn
0d5a542f22
Wallet extension: fix a regression introduced by e3a13a6
, where in some kinds of app wallet extensions stopped being loaded properly.
2014-11-05 16:37:33 +01:00
Wojciech Langiewicz
dd37fe90c6
Issue 586 fixed, 0BTC transaction with OP_RETURN will work.
2014-11-05 15:30:05 +01:00
Mike Hearn
855fd2832f
Immediately advance current addresses instead of doing it lazily. This avoids a bug whereby an app might quit after using a change address, thus currentKey(CHANGE) == null and it gets reset to the last used address when the wallet is round-tripped.
...
Unit tests didn't catch this because they didn't simulate the app terminating after the send, and weren't explicitly checking that the change address was different, so improve tests to do those things.
Additionally implement marking as used for married wallets.
2014-11-04 23:21:23 +01:00
Mike Hearn
903f84acc8
PeerGroup: insert filter providers at the start of the list instead of the end, to help clients avoid circular deadlock.
2014-11-04 15:11:07 +01:00
Mike Hearn
3cdb039a29
Wallet: don't save wallet and invoke event listeners when adding watched scripts if the call was a no-op.
2014-11-04 15:10:42 +01:00
Andreas Schildbach
3aac4b0025
Rewrite most references to prodnet to mainnet in the comments. Does not change any actual code.
2014-11-03 14:23:36 +01:00
Wojciech Langiewicz
8951e8814d
Adds coveralls.io support via maven plugin.
2014-11-03 14:19:52 +01:00
Mike Hearn
ef4afe8e1c
Change the PeerFilterProvider interface to have begin/end methods instead of requiring a lock to be exposed. It's more efficient and flexible.
2014-11-03 13:59:38 +01:00
Mike Hearn
18dd2e2b05
Fix bug revealed by static analysis.
2014-11-03 13:59:38 +01:00
Mike Hearn
f5216b1d49
Implement some missed Bloom filter application logic (does not impact existing apps).
2014-11-03 13:59:38 +01:00
Wojciech Langiewicz
387be0790c
Adds JaCoCo code coverage tool.
2014-11-02 17:13:16 +01:00
Wojciech Langiewicz
c11c4d126d
Fixes issue 587: disables connecting to local bitcoin node during tests
2014-11-02 16:11:43 +01:00
Oscar Guindzberg
57fc280ede
Fix documentation
2014-10-31 18:14:45 -03:00
Alon Muroch
6e40d4d7cd
Delete watched scripts methods. Fixed queueOnScriptsChanged threading.
2014-10-31 11:07:59 +01:00
Devrandom
207ba9fd9d
Don't allow creation of seeds with null passphrase
...
It should be the empty string as the standard default.
2014-10-30 11:05:36 -07:00
Jarl Fransson
e3a13a6efa
When deserializing wallet extensions, lock order is now wallet and then extension.
2014-10-30 12:16:40 +01:00
Mike Hearn
af20c37a8d
Use finer grained locking around the wallet keychain, to allow for fast reading of keys/the current receive address even if the wallet is busy auto saving or processing large transactions. This helps reduce UI hangs/lag on Android.
2014-10-24 17:57:58 +02:00
Wojciech Langiewicz
ee08ba4d5d
Update toString() in ECKey to include private key in WIF format, adds helper methods with tests.
2014-10-23 22:53:00 +02:00
Mike Hearn
47cdf5f70e
Log full tx when considered risky.
2014-10-23 17:12:14 +02:00
Mike Hearn
fbccfbbe0e
Default risk analysis: fix an off-by-one error in dust output comparisons.
2014-10-23 17:11:29 +02:00
Mike Hearn
9532fa31a3
Key rotation: fix bug that could cause multiple identical key chains to be created over and over if the key rotation time was equal to the time of the oldest best key, with test coverage.
2014-10-23 15:42:34 +02:00
Mike Hearn
9239387ca7
Key rotation: add saveNow call after new HD chains might have been added.
2014-10-23 00:07:01 +02:00
Mike Hearn
d2ea42bfce
doMaintenance: don't trigger signing if bool param is false, as an optimisation.
2014-10-22 22:13:05 +02:00
Mike Hearn
afb05867a9
Fix off by one in DKC.getKeys(false). Resolves #253
2014-10-22 22:00:31 +02:00
Mike Hearn
cd25e673f1
10x fee drop, now most miners seem to have upgraded to 0.9+
2014-10-22 21:52:04 +02:00
Mike Hearn
d4ffd63525
Make basicCategoryStepTest independent of actual min fee level.
2014-10-22 21:51:49 +02:00
Mike Hearn
bb138e70c3
Key rotation: also unit test the creation time of a fresh key.
2014-10-22 20:03:15 +02:00
Mike Hearn
1a55f8d2d5
Add maybeDoMaintenance back as a deprecated alias.
2014-10-22 19:43:16 +02:00
Mike Hearn
ea02436f96
Rename maybeDoMaintenance to doMaintenance and add a bit more docs.
2014-10-22 19:32:51 +02:00
Mike Hearn
ea7c29e38b
Key rotation: construct new HD chain based on the oldest possible key, a la upgrade, with a fresh random HD chain only being created if all random keys are rotating.
2014-10-22 19:32:51 +02:00
Mike Hearn
77ace479d9
Key rotation: remove the enabled setting. It's no longer useful and defaulted to off, which is dangerous and can lead to bugs.
2014-10-22 19:32:51 +02:00
Jarl Fransson
db519475b2
When deserializing client payment channel state, if there was an existing close transaction, it was deserialized from wrong data.
2014-10-21 13:41:02 +02:00
Peter Dettman
bb368c9543
Improve Coin range check to cope with Long.MIN_VALUE correctly
2014-10-17 16:36:29 +02:00
Andreas Schildbach
b3f19ee0fc
Replace two occurences of pom versions with ${project.version}. It makes incrementing the version a little bit less painful.
2014-10-16 15:30:32 +02:00