Commit Graph

1186 Commits

Author SHA1 Message Date
Mike Hearn
d0a431cd9c WalletTool: add support for the emptying out feature. 2013-07-25 11:28:32 +02:00
Mike Hearn
9e78268813 Wallet: don't crash if receivePending is called twice with the same tx, even if the override flag is on. 2013-07-24 16:17:47 +02:00
Mike Hearn
51d717e93a Payment channels: Make the ProtobufParser timer daemon and labelled. 2013-07-24 14:58:33 +02:00
Mike Hearn
00bc4e30ee PeerGroup: add a todo about the pinging thread. 2013-07-24 14:53:34 +02:00
Mike Hearn
52b478a6f8 PeerGroup: Ignore an IllegalStateException from the ping timer that can be thrown occasionally during a shutdown race. 2013-07-24 14:52:08 +02:00
Mike Hearn
67f3605570 Transaction: format date based time locks correctly. 2013-07-24 14:45:42 +02:00
Mike Hearn
2a635317c3 WalletAppKit: Configure the peergroup with candidate peers before adding wallet extensions, as payment channel state can attempt to broadcast a transaction as soon as the state is loaded/instantiated. This ensures the number of min peers required for broadcast is correct at that point. 2013-07-24 13:56:12 +02:00
Mike Hearn
a1daaa73be PeerGroup: Don't allow attempts to broadcast to zero peers. 2013-07-24 13:55:20 +02:00
Mike Hearn
81a9e1e893 Peer: drop out of fast catchup mode when reaching the top of the chain.
This bug could cause problems if you sync a wallet containing no keys, and then a chain fork happens (you won't follow the fork).
2013-07-23 20:10:57 +02:00
Mike Hearn
2acbd55d47 NetworkParameters: Remove ID_PRODNET. Resolves issue 430. 2013-07-22 18:12:36 +02:00
Mike Hearn
adea4f9479 Wallet: log completed transactions completely. 2013-07-22 17:22:13 +02:00
Matt Corallo
1e69d2b0dd Add emptyWallet option to SendRequest+tests and random typo fixes 2013-07-22 15:27:24 +02:00
Mike Hearn
87ad8f2e5b Add JNI peers for some listener classes. 2013-07-22 15:25:21 +02:00
Mike Hearn
dcf04f6cb6 Payment channels: inline a superfluous misnamed method on StoredServerChannel and rename getState to getOrCreateState. 2013-07-19 15:55:30 +02:00
Mike Hearn
4f9bc98e97 Payment channels: Re-order c'tor of StoredPaymentChannelClientStates.
This makes it consistent with the server side and put the listener last. It's easier to read this way when an anonymous inner class is used.
2013-07-19 15:55:30 +02:00
Mike Hearn
da0d6c37a2 Payment channels: some bugfixes to resume behaviour.
Don't deserialize channels as active. Deserialize keys as compressed, not uncompressed.
2013-07-19 15:55:29 +02:00
Mike Hearn
516327289f Payment channels: Expose a client connection method that terminates the TCP connection but doesn't try to close the channel (ask the server to broadcast the contract). 2013-07-19 14:41:15 +02:00
Mike Hearn
a7dbe7cd03 Payment channels: Add more logging on the server resume path. 2013-07-19 12:04:15 +02:00
Mike Hearn
7d75e747e0 Payment channels: Fix a dumb bug that caused the negotiated channel size to be wrong. Add a test. 2013-07-17 21:41:08 +02:00
Mike Hearn
c04708dd1e Payment channels: Add detail to an error log message. 2013-07-17 21:40:52 +02:00
Mike Hearn
87897fbb37 Payment channels: Describe reason for connection closing in log message. 2013-07-17 21:40:17 +02:00
Matt Corallo
c5d267f0f9 PaymentChannelCloseException: Show reason in toString() 2013-07-16 17:25:25 +02:00
Matt Corallo
1d7f2eb00b Fix channel client state saving to save earlier (and be secure) 2013-07-16 14:59:21 +02:00
Mike Hearn
ff714fbd77 Add a PeerAddress.localhost() helper. 2013-07-15 18:22:57 +02:00
Matt Corallo
0fe56bf544 Let balance check fail later iff the server wants maxValue 2013-07-15 18:22:51 +02:00
Mike Hearn
00da963bbb Payment channels: use daemon threads so the VM can exit after the state objects are created. 2013-07-13 02:24:19 +02:00
Mike Hearn
719a786db1 Eliminate support for parsing negative or too large amounts in Utils.toNanoCoins. Add tests for out of range URI amounts. Resolves issue 407. 2013-07-11 17:33:31 +02:00
Mike Hearn
d3eab06dba Make BitcoinURIParseException checked so you can't forget it, and catch/rethrow ArithmeticErrors when parsing the value field.
Add more nullity annotations.
2013-07-11 16:52:50 +02:00
Mike Hearn
bf585d8627 Transaction: note that a ScriptException is expected at this point. 2013-07-11 16:52:11 +02:00
Mike Hearn
2c26f8802b Add PeerGroup.clearListeners(). Resolves issue 426. 2013-07-11 16:34:57 +02:00
Mike Hearn
4e95ab3cfc Assert on lock.isHeldByCurrentThread() instead of isLocked() - the latter is not correct.
This didn't cause any actual bugs but just reduced the safety of making code changes.
2013-07-11 16:30:44 +02:00
Mike Hearn
e687e52230 Use the correct alert signing key for testnet. 2013-07-11 16:29:56 +02:00
Mike Hearn
6a39af30c4 Add AbstractBlockChain.removeWallet(). Resolves issue 419. 2013-07-11 16:11:33 +02:00
Mike Hearn
5c1063860a WalletAppKit: Improve javadoc a bit. 2013-07-11 16:07:14 +02:00
Mike Hearn
99f32b16af Introduce UnreadableWalletException and make WalletProtobufSerializer throw it in all cases where there's a problem reading the wallet. Resolves issue 415. Resolves issue 416. 2013-07-11 16:04:00 +02:00
Mike Hearn
be89be6f43 PaymentChannelServerState: Fix typo in variable name. 2013-07-11 15:35:17 +02:00
Mike Hearn
d2232ed4aa Fix hdw unit tests after I broke them. 2013-07-11 14:19:48 +02:00
Matt Corallo
c98badcf1c Store states in protobufs instead of using Java Serialization.
Saves having to use reflection.
2013-07-11 14:16:40 +02:00
Matt Corallo
4b4405b7bc Check for double-spend of contract by force-adding it to wallet 2013-07-11 14:15:48 +02:00
Matt Corallo
f0be874815 Add option to skip isRelevant checks in Wallet.receivePending 2013-07-11 14:14:24 +02:00
Mike Hearn
86bd974958 Move HD wallets code into plain crypto package. 2013-07-11 13:45:12 +02:00
Mike Hearn
be39c176db Add a TODO to merge DeterministicKey and ECKey together. 2013-07-11 13:43:35 +02:00
Mike Hearn
98219bdd1b More static analysis tweaks. 2013-07-11 13:42:42 +02:00
Mike Hearn
000d81d54f Rename ExtendedHierarchicKey to DeterministicKey. Add annotations and rewrite a bit of code to satisfy static analysis. 2013-07-11 13:41:46 +02:00
Mike Hearn
50dd5af0c8 Add more javadocs.
Delete the wallet integration code - it's good, but we won't ship it in 0.10 as it's not finished.
2013-07-11 13:10:07 +02:00
Mike Hearn
0385ab34e5 Add copyrights, remove dead code, and fix some minor static analysis warnings.
Also remove a unit test that was just testing bouncy castle.
2013-07-11 11:59:31 +02:00
Mike Hearn
3aae7a0683 Add Matija to the AUTHORS file. 2013-07-11 11:50:43 +02:00
matija.mazi@gmail.com
c3fd83e511 Add support classes for hierarchical deterministic wallets (BIP 32)
Code from Matija Mazi. HD wallets allow you to derive keys from a single
root key, giving various useful features:

- Make a backup once and it's good forever (for your keys only of course)
- You can break off parts of the tree and give it to other people,
  they can then generate new keys to send you money without any
  involvement by you (better privacy+security for watching wallets)
- You can delegate sub-trees to other people as a form of access control.
2013-07-11 11:40:33 +02:00
Mike Hearn
00f4c82342 WalletFiles: Make saving thread shut down after 5 seconds of doing nothing. 2013-07-10 18:14:10 +02:00
Mike Hearn
2b6022cd7c WalletFiles: log how long saving the wallet took. 2013-07-10 16:59:39 +02:00