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

1331 Commits

Author SHA1 Message Date
Mike Hearn
e0b50c374e FullPrunedBlockChain: fix a spelling error 2013-09-30 10:55:28 +02:00
Mike Hearn
f0b258b40d Wallet: add a bit more logging to make output during chain splits less confusing. 2013-09-23 17:03:18 +02:00
Mike Hearn
059b896062 Wallet: another re-org fix. 2013-09-23 16:53:36 +02:00
Mike Hearn
60688752c9 Delete BoundedOverheadBlockStore.
Although it served us well for a while, it was never actually bounded overhead. Some of its code lives on in SPVBlockStore, which replaces it.
2013-09-23 15:33:37 +02:00
Mike Hearn
e67b3e540e Remove usage of some deprecated stuff. 2013-09-23 15:33:36 +02:00
Mike Hearn
51c10a3857 Upgrade SLF4J 2013-09-23 15:33:34 +02:00
Mike Hearn
a59e9d4073 Wallet template: use Aqua style on MacOS.
The indeterminate progress bar is a bit buggy in this version but the rest looks correct (for Mountain Lion).
2013-09-22 15:01:40 +02:00
Mike Hearn
6fa719df2a Wallet template: some improvements to crash handling. 2013-09-22 15:01:10 +02:00
Mike Hearn
896142504c Wallet template: nicer message if the app is already running. 2013-09-21 22:08:17 +02:00
Mike Hearn
c587f2c442 WalletAppKit: we need a stupid hack to make checkpointing and payment channels work together.
Apparently this simple utility class might start to need unit tests now!

To resolve the hack, we need to resolve some circularity in construction: to add the payment channels wallet extensions requires the peerGroup and wallet object to be constructed, but to construct the peerGroup requires the chain+store and to checkpoint a fresh store requires the wallet. Catch 22! We resolve by loading a temp wallet and then throwing it away, which is inefficient for a large wallet that's being replayed but normally shouldn't matter.

Once the payment channels stuff is more mature and tested, we might want to just fold it into the core wallet format.
2013-09-21 21:03:36 +02:00
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