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

973 Commits

Author SHA1 Message Date
Mike Hearn
a1562836be Payment protocol: Make PaymentSession use a global thread pool that uses daemon threads.
Fixes a 60 second hang that could occur in wallet-tool once the send request was processed. Fixing this revealed another bug - WalletTool was depending on this VM shutdown delay caused by the worker pool timeout, so clean up the code and replace with a blocking get of the future.

Also support the --offline and --password flags when using the payment protocol.
2014-01-28 13:58:08 +01:00
Mike Hearn
ddec4f9106 Allow Bitcoin URI's that don't have any address component if the r= payment protocol param is there. 2014-01-28 13:04:09 +01:00
Kevin Greene
3966875e8e Adding support for processing PaymentRequests. 2014-01-28 09:46:51 +01:00
Simon de la Rouviere
4ca476ff35 When throwing InsufficientMoneyException, the amount of satoshis missing is required. When the server requests too much value, it is stored so that implementations of the client has access to it. 2014-01-25 18:14:06 +01:00
Matt Corallo
bd5c4e73e7 Prevent memory blowup on orphan storage 2014-01-23 10:37:47 +00:00
Ken Sedgwick
1a3c3be665 BIP-0039 multiple version support. 2014-01-19 09:46:47 +01:00
Mike Hearn
654543bb2b BlockingClient: some fixes for Orchid 2014-01-15 23:16:04 +01:00
Mike Hearn
ae1e3691f5 WalletAppKit: Allow subclasses to fiddle with some more stuff.
This isn't really a stable or supportable API, but bitcoinj does not have a stable API, so live and let live.
2014-01-15 21:26:53 +01:00
Mike Hearn
80d4840199 Threading: prefer OOM to deadlock when the user thread is saturated, but keep the warning. 2014-01-15 17:56:10 +01:00
Mike Hearn
a9a7dd9e06 Lower the priority of the networking thread to avoid competing with UI threads. 2014-01-15 15:11:31 +01:00
Mike Hearn
8e58839d81 Wallet: Short-circuit runnable creation if executor is SAME_THREAD 2014-01-15 01:56:07 +01:00
Mike Hearn
b8a1976422 Fix an edge case bug I just introduced a few minutes ago with the txConfidenceListener changes, and document. 2014-01-14 19:24:49 +01:00
Mike Hearn
3a405302bb More memory optimisations.
Run the wallet txConfidenceListener on the calling thread. Move tx broadcast that occurs inside setTransactionBroadcaster outside the wallet lock to avoid inverting on the mempool class (via PeerGroup, but that doesn't lock on the broadcast path).

This makes memory usage smoother by avoiding the creation of tons of closures and spamming the event thread with them.
2014-01-14 19:06:06 +01:00
Mike Hearn
d7b3766c4b Memory optimisations to avoid OOM when the user thread falls behind.
- Remove needless recalculations of the Bloom filter on any wallet change, instead of just when keys/scripts are added. This may fix one of the privacy leak issues too.
- Run fast catchup/filter recalculations on the dedicated PeerGroup thread instead of abusing the user thread. Resolves a TODO.
- Replace the user thread SingleThreadedExecutor with a custom class that blocks the submitting thread and logs a warning if the queue is saturated, to avoid building up a backlog of closures.
2014-01-14 18:49:09 +01:00
Mike Hearn
e0b698a2e9 Threading: experiment with limiting the user/event thread to 100 pending closures. 2014-01-14 15:25:38 +01:00
Mike Hearn
941bf330a4 Script: intern commonly used chunks. 2014-01-13 14:58:31 +01:00
Mike Hearn
843489111e Quick hack to try and reduce memory consumption for Androids.
Takes a test wallet from around 11.3mb to 9.6mb
2014-01-13 14:58:31 +01:00
Mike Hearn
d50412e24c Wallet: log exceptions during save. 2014-01-13 14:25:01 +01:00
gubatron
0c2f362795 refactor s/Utils.now().getTime()/Utils.currentTimeMillis()/g 2014-01-07 16:16:02 +01:00
Mike Hearn
7324798242 Remove some superfluous methods in HDUtils 2014-01-07 15:23:26 +01:00
Mike Hearn
34e2d1596f Address: rename a static ctor method to be more accurate. 2014-01-07 15:22:00 +01:00
Mike Hearn
351299c9ab Add a new DNS seed from Chris Decker.
Vouch: Chris is a researcher at ETH Zurich who I have met several times. He has run several useful experiments and analyses on the Bitcoin network.
2014-01-06 15:23:35 +01:00
Mike Hearn
d0cd770d62 Cleanup.
Add lots more nullity annotations.
Clear lots of nullity static analysis warnings.
Delete some dead code.
Simplify a few expressions.

Resolves issue 317.
2013-12-24 00:40:19 +00:00
Devrandom
3d99be48bc Priority queue and exponential backoff for PeerGroup
Connect to peers in a service loop thread.

Resolves issue #159
Resolves issue #503
2013-12-23 22:57:19 +00:00
Mike Hearn
b0ce535aa9 PeerGroup: clear some static analysis warnings. Remove dead code. 2013-12-23 21:45:01 +00:00
Mike Hearn
aaa539bd80 Networking: bump default connect timeout to 5 seconds.
Improve some logging.
2013-12-23 20:00:24 +00:00
Mike Hearn
1f37350161 Transaction: clear a couple of static analysis warnings. 2013-12-22 19:13:41 +01:00
Mike Hearn
c5665d68b5 Wallet: misc cleanups.
Clear some static analysis warnings.
Throw more appropriate exception types in some cases.
Add a few internal assertions.
Better nullity annotations.
2013-12-22 19:13:23 +01:00
Mike Hearn
f318808cf7 Clean up WalletTransaction and serialization code a bit. 2013-12-22 19:04:24 +01:00
Mike Hearn
b3673999d4 Move WalletTransaction into the wallet package. 2013-12-22 18:48:46 +01:00
Mike Hearn
43460f451a MnemonicCode: Clean up a bit. 2013-12-20 17:35:11 +01:00
Ken Sedgwick
29e2af7ec0 Update to latest version of mnemonic code spec from the Trezor team. 2013-12-20 17:15:24 +01:00
Mike Hearn
8cc1920fa2 ECKey: use sumOfTwoMultiples for better/faster key recovery.
Thanks to Peter Dettman for the tip. Resolves issue 492.
2013-12-15 14:55:43 -08:00
Mike Hearn
e9bf717409 ConnectionHandler: Remove a always-true if condition. 2013-12-15 09:31:07 -08:00
Mike Hearn
25a08c6d75 NioClientManager: minor fix revealed by static analysis. 2013-12-15 09:29:59 -08:00
Mike Hearn
42e75b86cf PeerGroup: add a couple of missing nullable annotations 2013-12-15 09:27:38 -08:00
Matt Corallo
c61ec5023e Fix race in TestWithNetworkConnections
There was a nasty bug where a connection-failed interrupt was
run afer any interruptible calls were made, making the next
test-case fail due to interruption.
2013-12-15 09:27:19 -08:00
Mike Hearn
f7a944983c ECKey: use Bouncy Castle to decompress keys. Thanks to Peter Dettman for the hint. Resolves issue 493. 2013-12-14 14:12:52 -08:00
Mike Hearn
8f48b119b7 AbstractBlockChain: minor style fixes from the inspector. 2013-12-14 13:35:22 -08:00
Mike Hearn
30455cb5ce Suppress some more info logging and update some javadocs. 2013-12-14 13:21:33 -08:00
Devrandom
462c75324e Faster FP tracking using double exponential 2013-12-14 12:42:44 -08:00
Mike Hearn
1293e42aa3 BloomFilter: minor readability tweak 2013-12-14 11:42:41 -08:00
Matt Corallo
2f29660d0d Fix broken test case. 2013-12-14 01:11:52 -05:00
Mike Hearn
77f99a596f Log balance in wallet.toString better 2013-12-13 16:57:28 -08:00
Mike Hearn
cdfa0ae61b ECKeyTest: once again, fix a flaky decrypt test. There's no MAC on the encrypted bytes so you can't assume padding checks will always catch corrupted data. 2013-12-13 16:08:54 -08:00
Devrandom
7e4f6369e4 Clean up false positive handling, add unit test 2013-12-13 16:00:42 -08:00
Devrandom
ba9415b3ee Force update Bloom filter when false positive rate gets high 2013-12-13 16:00:41 -08:00
Devrandom
751434ba7c Fix bloom filter sizing with watched scripts 2013-12-13 15:59:07 -08:00
Mike Hearn
86b42b7fe5 Remove disconnectOldVersions2 as it tests nothing, probably a bad merge conflict. 2013-12-13 15:55:08 -08:00
Mike Hearn
e4e2e60627 Fix DnsDiscovery javadocs and make a couple of fields final. 2013-12-13 09:29:08 -08:00