Mike Hearn
324f603cbe
Upgrade to protobuf 2.5
2013-09-21 20:08:43 +02:00
Mike Hearn
c861ecdf2a
WalletAppKit: Fix stupid ordering bug I introduced that affects apps that use payment channels.
...
In future, this stuff should probably be enabled in the wallet by default.
2013-09-21 19:53:52 +02:00
Mike Hearn
1f52b75ad9
Move AllowUnconfirmedCoinSelector out into wallet package.
2013-09-20 17:38:41 +02:00
Mike Hearn
628aba15f8
Add some unit tests for default coin selector that are more fine grained than what the WalletTest code provides.
2013-09-20 17:36:01 +02:00
Mike Hearn
2b4595c4f0
Wallet: Split DefaultCoinSelector out into a top level class in the wallet package.
2013-09-20 16:50:25 +02:00
Mike Hearn
c366c5fa44
Wallet: Split CoinSelection out into a top level interface in the wallet package.
2013-09-20 16:47:42 +02:00
Mike Hearn
c4405d3ee7
Wallet: Split CoinSelector out into a top level interface in the wallet package.
2013-09-20 16:45:31 +02:00
Mike Hearn
efb6349a50
Wallet template: the appkit enables autosaving automatically, so it's unnecessary to repeat that.
2013-09-20 15:32:40 +02:00
Mike Hearn
7455135d3d
Wallet: use a single hashmap to track all transactions, then use it in receive to re-canonicalize the transactions.
...
Long story short, I'm a shitty programmer it seems. The Wallet will at some point be modified to track just bags of outputs derived from Transaction objects, and Transactions/Blocks will become immutable. At that point there won't be any confusion between mutable data associated with the deserialised objects.
Resolves issue 453.
2013-09-20 15:24:03 +02:00
Mike Hearn
ffb7c57d7f
Make HDKeyDerivation.createMasterPrivKeyFromBytes public. Resolves issue 452.
2013-09-18 14:38:37 +02:00
Mike Hearn
90942041e7
Move TestUtils and TestWithWallet into the core package so they can be used by third party code in their unit tests.
2013-09-18 12:21:07 +02:00
Mike Hearn
baeaa64201
Payment channels: more informative exception message if you forget to add the client wallet extension.
2013-09-18 12:20:50 +02:00
Mike Hearn
85554f511f
Take wallettemplate out of the top level POM. Resolves issue 451.
2013-09-17 17:44:20 +02:00
Mike Hearn
9bc91ec2e5
Payment channels: Don't swallow ValueOutOfRangeException during initiate.
...
It indicates an empty wallet and should be propagated to the channel open future or the client user, so they know they have insufficient money.
2013-09-17 16:31:56 +02:00
Mike Hearn
d4786acb14
Move MockTransactionBroadcaster into utils so third party code can use it in its own tests.
2013-09-17 12:37:58 +02:00
Mike Hearn
8d839ae5ad
Support creating spends without all the private keys.
...
Dummy signatures are inserted instead. Also, simplify Transaction.toString().
2013-09-16 15:54:32 +02:00
Mike Hearn
81d76a76c3
Payment channels: more logging.
2013-09-16 11:39:38 +02:00
Mike Hearn
26f2d13581
Template app: move alert window controller to the right package.
2013-09-16 11:38:43 +02:00
Mike Hearn
4ef346112f
Template app: better message if no wallet is installed.
2013-09-16 11:38:15 +02:00
Mike Hearn
01e7d63948
WalletAppKit: Finish the non-blocking startup code, oops.
2013-09-16 11:37:05 +02:00
Mike Hearn
6a84f55727
Add a demo wallet app that uses JavaFX and Java 8.
...
The app is not meant to be usable by end users. It is intended to act as a template for people to build custom apps that use contracts. To that end you can get money in, and empty your wallet, but there's no other controls beyond that.
Apps based on this template look professional and have nice animations and visual effects. You can also use this as a way to learn JavaFX.
2013-09-15 22:18:00 +02:00
Mike Hearn
8daec2363b
Ignore .iml files
2013-09-15 22:05:17 +02:00
Mike Hearn
2f5adfc3be
Allow WalletAppKit to have a non blocking startup.
2013-09-15 20:24:52 +02:00
Mike Hearn
95f528a340
Add more features to WalletAppKit, and ensure wallets it creates always have at least one key.
2013-09-15 20:24:52 +02:00
Mike Hearn
2ccfd3fd48
Make MemoryBlockStore store only a rolling window of the last 5000 blocks. Fixes BuildCheckpoints which was trying to store every block header and running out of heap space.
2013-09-15 20:24:52 +02:00
Mike Hearn
3ea3735d4f
Allow overriding of the default USER_THREAD executor so all events can be dispatched to a selected thread easily.
2013-09-15 20:24:52 +02:00
Mike Hearn
82037f8f96
PeerGroup: correct logic for setting ver packet pre-filtering relay flag.
2013-09-10 11:42:51 +02:00
Mike Hearn
eaeab32400
Make RegTestParams use testnet addresses, to follow sipa's upstream change.
2013-09-10 10:27:16 +02:00
Mike Hearn
11ab82c91e
Payment channels: fix unit test and add a log line.
2013-09-05 15:17:15 +02:00
Mike Hearn
24a5c05546
Payment channels: allow usage of unconfirmed coins for building a contract, as the risk is low (they're micropayments anyway).
2013-09-05 15:16:58 +02:00
Mike Hearn
bf228cce34
Wallet: comment for AllowUnconfirmedCoinSelector.get()
2013-09-05 15:10:50 +02:00
Mike Hearn
38119b9355
Payment channels: Better comments and logging.
2013-09-05 12:42:33 +02:00
Mike Hearn
273acbdccd
Payment channels: Take out unnecessary {} from log messages.
2013-09-04 13:27:17 +02:00
Mike Hearn
9bd52196ed
Payment channels: Shrink the payment channel server example min required value to make it more micropaymenty.
2013-09-04 13:27:10 +02:00
Mike Hearn
1d454c03f3
Suppress annoying and useless warning.
2013-09-03 14:24:18 +02:00
Mike Hearn
e05abe150b
Wallet: when "emptying" the wallet, only actually empty out the coins that would be considered selectable by the default coin selector.
...
By default that means unconfirmed coins won't be emptied, to avoid the empty tx becoming dependent on a tx that may never confirm.
Resolves issue 438.
2013-08-15 12:31:54 +02:00
Matt Corallo
cf23e18f23
MessageWriteTarget->interface, writeBytes throws IOException
2013-08-13 17:13:58 +02:00
Matt Corallo
edd0a0907c
Clarify PeerEventListener JavaDocs a bit
2013-08-13 17:13:29 +02:00
Matt Corallo
5ef59b9ae1
Unimplemented bitcoinSerializeToStream -> log error, not debug
2013-08-13 17:13:15 +02:00
Matt Corallo
1a5348c534
Implement ListMessage.equals()
2013-08-13 17:12:57 +02:00
Matt Corallo
7011d68165
Implement some (de)serialization (so we can roundtrip msgs in test)
...
Implements deserialization for getblocks/getheaders and supports
FilteredBlock entries in ListMessage (for getdata).
Implements serialization for FilteredBlock, HeadersMessage, and
PartialMerkleTree.
2013-08-13 17:12:32 +02:00
Matt Corallo
a724bcada5
Mark receivePending(List<Tx> dependencies) @Nullable
2013-08-13 17:11:34 +02:00
Matt Corallo
98787909da
Fix typo
2013-08-13 17:11:19 +02:00
Matt Corallo
8448296f5f
Abstract out SelectionKey processing and logic from NioServer.
2013-08-13 17:10:21 +02:00
Matt Corallo
9980903572
Make Protobuf{Server,Client} more generic.
2013-08-13 17:09:14 +02:00
Matt Corallo
146a6dd37e
Add payment channel server native event handler wrappers
2013-08-13 15:06:18 +02:00
Matt Corallo
7074d52fbb
Add test-case for manually-added transactions that appear in blocks
2013-08-13 15:05:04 +02:00
Mike Hearn
de9d5e95ab
Add a tool to watch for broadcasts of rotation transactions.
2013-08-13 15:05:03 +02:00
Mike Hearn
3857b0ae05
Sync script test files with bitcoin upstream.
2013-08-13 11:44:46 +02:00
Mike Hearn
b20f0c306c
Remove verifier from examples/pom.xml, it requires us to wait for reproducible build support to land.
2013-08-11 16:47:26 +02:00