Luke Dashjr [Fri, 15 Feb 2013 02:38:41 +0000 (02:38 +0000)]
UniqueSessionIdManager: Support for delaying releases of session ids, and picking them back up specifically
Luke Dashjr [Sun, 24 Feb 2013 21:35:24 +0000 (21:35 +0000)]
Use values as keys in ScheduleDict instead of their id which might yield strange results (when scheduling numbers for instance)
Luke Dashjr [Fri, 15 Feb 2013 01:42:56 +0000 (01:42 +0000)]
Manage unique session ids manually rather than just using connection object pointers
Luke Dashjr [Sat, 9 Feb 2013 04:41:08 +0000 (04:41 +0000)]
Merge commit '53913aa'
Luke Dashjr [Sat, 9 Feb 2013 04:41:02 +0000 (04:41 +0000)]
Bugfix: Handle no-proposal scenario correctly
Luke Dashjr [Sat, 9 Feb 2013 04:37:08 +0000 (04:37 +0000)]
Merge commit '16f9d29'
Luke Dashjr [Sat, 9 Feb 2013 04:37:02 +0000 (04:37 +0000)]
Bugfix: oMP is not a local variable here anymore
Luke Dashjr [Thu, 7 Feb 2013 05:47:59 +0000 (05:47 +0000)]
Silence getTarget debug logging by default
Luke Dashjr [Thu, 7 Feb 2013 05:47:42 +0000 (05:47 +0000)]
TopTargets() CLI command, to show vardiff targets in use
Luke Dashjr [Thu, 7 Feb 2013 04:31:24 +0000 (04:31 +0000)]
Merge commit 'd4cbed7'
Luke Dashjr [Thu, 7 Feb 2013 04:31:15 +0000 (04:31 +0000)]
Bugfix: Use static list of connections for boot_all
Luke Dashjr [Thu, 7 Feb 2013 02:32:19 +0000 (02:32 +0000)]
Merge branch 'simplelog'
Luke Dashjr [Thu, 7 Feb 2013 02:32:07 +0000 (02:32 +0000)]
Simplify and document logging configuration
Luke Dashjr [Thu, 7 Feb 2013 01:34:30 +0000 (01:34 +0000)]
Merge commit '45212d2' (non-obvious conflicts!)
Luke Dashjr [Thu, 7 Feb 2013 01:34:07 +0000 (01:34 +0000)]
Bugfix: merkleMaker.access has been replaced by TS['access']
Luke Dashjr [Thu, 7 Feb 2013 01:29:24 +0000 (01:29 +0000)]
Merge commit 'b44865e'
Luke Dashjr [Thu, 7 Feb 2013 01:06:15 +0000 (01:06 +0000)]
Tests for (non-aggressive) POT and _ProcessGBT
Luke Dashjr [Thu, 7 Feb 2013 01:15:23 +0000 (01:15 +0000)]
Bugfix: Insert dummy txninfo element for coinbase transaction at the same time as inserting the coinbase transaction to txnlist
Fixes element alignment with pre-GBT sources (which omitted the insert) in fee-trimming logic
Luke Dashjr [Wed, 6 Feb 2013 20:29:41 +0000 (20:29 +0000)]
Split _ProcessGBT and _CheckTemplate out of _updateMerkleTree_fromTS
Luke Dashjr [Tue, 5 Feb 2013 01:52:48 +0000 (01:52 +0000)]
Merge commit 'fde36f4'
Luke Dashjr [Tue, 5 Feb 2013 01:52:41 +0000 (01:52 +0000)]
Bugfix: Add missing username to target-reset log message
Luke Dashjr [Sat, 2 Feb 2013 05:03:03 +0000 (05:03 +0000)]
Merge branch 'multisource'
Luke Dashjr [Sat, 2 Feb 2013 05:02:57 +0000 (05:02 +0000)]
Bugfix: Correctly initialize without BlockSubmissions set
Luke Dashjr [Sat, 2 Feb 2013 04:59:50 +0000 (04:59 +0000)]
Allow omitting "uri" from upstream configs if the same "name" is found elsewhere with a specified "uri", and vice-versa
Luke Dashjr [Sat, 2 Feb 2013 04:44:47 +0000 (04:44 +0000)]
BlockSubmissions config list to improve control over where we submit blocks
Luke Dashjr [Sat, 2 Feb 2013 01:45:34 +0000 (01:45 +0000)]
Merge branch 'multisource'
Luke Dashjr [Sat, 2 Feb 2013 01:45:04 +0000 (01:45 +0000)]
Merge commit 'f25c32a'
Conflicts:
eloipool.py
Luke Dashjr [Sat, 2 Feb 2013 01:44:24 +0000 (01:44 +0000)]
Bugfix: Correct math to ceil power-of-two pdiff targetting
Luke Dashjr [Fri, 1 Feb 2013 20:02:12 +0000 (20:02 +0000)]
JSONRPCServer: Catch and return UTF-8 decode errors
Luke Dashjr [Fri, 1 Feb 2013 16:09:15 +0000 (16:09 +0000)]
Merge branch 'master' into multisource
Conflicts:
eloipool.py
Luke Dashjr [Fri, 1 Feb 2013 16:05:20 +0000 (16:05 +0000)]
Merge commit '0768201'
Conflicts:
eloipool.py
Luke Dashjr [Fri, 1 Feb 2013 16:05:00 +0000 (16:05 +0000)]
Bugfix: Delete local gmperr variable to avoid a recursive loop (exceptions refer to function local variables)
Luke Dashjr [Fri, 1 Feb 2013 05:29:35 +0000 (05:29 +0000)]
Try to submit blocks to every template source server
Luke Dashjr [Fri, 1 Feb 2013 03:57:51 +0000 (03:57 +0000)]
If a RejectedProposals directory exists, create a file for any block proposals that get rejected with details for debugging
Luke Dashjr [Fri, 1 Feb 2013 03:40:08 +0000 (03:40 +0000)]
Bugfix: Avoid clearing workLog and DupeShareHACK if there was no known previous block, so the restored state survives a restart
Luke Dashjr [Fri, 1 Feb 2013 02:43:34 +0000 (02:43 +0000)]
Trigger a block update when correcting wrong bits/height, to ensure miners get the updated jobs
Luke Dashjr [Thu, 31 Jan 2013 23:19:31 +0000 (23:19 +0000)]
Submit blocks to the same source they were created from, or the most recently used highest-priority source for blank merkletrees
Luke Dashjr [Thu, 31 Jan 2013 22:07:58 +0000 (22:07 +0000)]
Mostly replace UpstreamURI with TemplateSources, and add independent TemplateChecks to control multiple proposal checking
UpstreamURI is still used exclusively for block submissions
Luke Dashjr [Thu, 31 Jan 2013 15:01:51 +0000 (15:01 +0000)]
merkleMaker: Split new _CallGBT from block proposal logic
Luke Dashjr [Thu, 31 Jan 2013 14:36:32 +0000 (14:36 +0000)]
Begin restructure for multiple upstream sources
Luke Dashjr [Thu, 31 Jan 2013 09:03:31 +0000 (09:03 +0000)]
Disable gzip compression for longpoll responses, to focus on starting sends instead
Luke Dashjr [Thu, 31 Jan 2013 08:55:45 +0000 (08:55 +0000)]
config.py.example: Document StratumAddresses setting
Luke Dashjr [Thu, 31 Jan 2013 08:53:33 +0000 (08:53 +0000)]
config.py.example: Document where to find network IDs
Luke Dashjr [Thu, 31 Jan 2013 08:51:58 +0000 (08:51 +0000)]
README: Brief write-up on merged mining support
Luke Dashjr [Thu, 31 Jan 2013 08:02:12 +0000 (08:02 +0000)]
Merge commit 'c598a72'
Luke Dashjr [Thu, 31 Jan 2013 07:35:32 +0000 (07:35 +0000)]
Bugfix: Create longpoll coinbases with correct height and merkle tree
Luke Dashjr [Thu, 31 Jan 2013 07:32:27 +0000 (07:32 +0000)]
Update JSONRPCServer().lastHandler during longpoll distribution
Luke Dashjr [Sun, 13 Jan 2013 17:42:13 +0000 (17:42 +0000)]
Clear input buffer when booting clients
Luke Dashjr [Sun, 13 Jan 2013 17:15:10 +0000 (17:15 +0000)]
StratumServer: Ignore JSON parse errors
Luke Dashjr [Fri, 11 Jan 2013 21:48:49 +0000 (21:48 +0000)]
Log User-Agent and IP of JSON-RPC errors
Luke Dashjr [Fri, 14 Dec 2012 01:06:56 +0000 (01:06 +0000)]
Revert "Merge branch 'bugfix_race_edge'"
This reverts commit
fe75c6fbbc3e60594c6060368514892b6b83d65e, reversing
changes made to
17d8213c580500ce464bf4a3cb03e3901d046cd0.
Luke Dashjr [Tue, 27 Nov 2012 23:01:07 +0000 (23:01 +0000)]
Merge branch 'bugfix_race_edge'
Conflicts:
merklemaker.py
Luke Dashjr [Tue, 27 Nov 2012 23:00:39 +0000 (23:00 +0000)]
Bugfix: merkleMaker: Handle an edge race condition
Luke Dashjr [Tue, 27 Nov 2012 13:33:16 +0000 (13:33 +0000)]
StratumServer: Send clean_work=true if previous job is invalid
Luke Dashjr [Tue, 27 Nov 2012 13:27:29 +0000 (13:27 +0000)]
StratumServer: Reduce job refresh time to 55 seconds to give 60 second grace window
Luke Dashjr [Mon, 26 Nov 2012 00:29:37 +0000 (00:29 +0000)]
Merge branch 'bugfix_CMRWait'
Conflicts:
merklemaker.py
Luke Dashjr [Mon, 26 Nov 2012 00:29:13 +0000 (00:29 +0000)]
Bugfix: Only put None on old clearMerkleRoots Queue if it was empty, to avoid put blocking if it might be full
Luke Dashjr [Sun, 25 Nov 2012 02:07:48 +0000 (02:07 +0000)]
Merge branch 'bugfix_CMRWait'
Conflicts:
merklemaker.py
Luke Dashjr [Sun, 25 Nov 2012 02:07:07 +0000 (02:07 +0000)]
Bugfix: merkleMaker: After replacing clearMerkleRoots Queue, put a None on the old one to ensure any waiters switch over to the new one
Luke Dashjr [Tue, 20 Nov 2012 05:56:33 +0000 (05:56 +0000)]
Merge branch 'bugfix_badprevblk_startup'
Luke Dashjr [Tue, 20 Nov 2012 05:56:27 +0000 (05:56 +0000)]
Bugfix: Initalize merkleMaker().lastBlock so checkShare can check it for prevblk errors
Luke Dashjr [Mon, 19 Nov 2012 23:33:27 +0000 (23:33 +0000)]
Merge branch 'bugfix_rejreasondelayed'
Conflicts:
eloipool.py
Luke Dashjr [Mon, 19 Nov 2012 23:32:28 +0000 (23:32 +0000)]
Bugfix: Upstream reject reason variable name consistency
Luke Dashjr [Mon, 19 Nov 2012 21:34:35 +0000 (21:34 +0000)]
Move X-Roll-NTime header to jsonrpc_getwork module
Luke Dashjr [Mon, 19 Nov 2012 21:31:36 +0000 (21:31 +0000)]
Support submitting upstream via old BIP 22 draft getmemorypool
This is mainly to reduce differences between master and loop branch
Luke Dashjr [Mon, 14 May 2012 01:43:30 +0000 (01:43 +0000)]
Set bitcoinrpc User-Agent, used for talking to upstream server
Luke Dashjr [Mon, 19 Nov 2012 20:31:56 +0000 (20:31 +0000)]
Merge commit '8caa4e1'
Conflicts:
eloipool.py
Luke Dashjr [Mon, 19 Nov 2012 20:20:25 +0000 (20:20 +0000)]
Tree-Merge commit '7cd1c63'
Conflicts:
eloipool.py
merklemaker.py
Luke Dashjr [Mon, 19 Nov 2012 20:19:39 +0000 (20:19 +0000)]
Merge commit '84b5cb1'
Conflicts:
eloipool.py
Luke Dashjr [Mon, 19 Nov 2012 15:47:21 +0000 (15:47 +0000)]
Merge branch 'netsrv_mt_sch'
Luke Dashjr [Mon, 19 Nov 2012 15:30:35 +0000 (15:30 +0000)]
NetworkServer: Bugfix: Only hold schedule lock as needed, in case task itself manipulates schedule
Luke Dashjr [Mon, 19 Nov 2012 14:30:02 +0000 (14:30 +0000)]
Merge branch 'netsrv_mt_sch'
Luke Dashjr [Mon, 19 Nov 2012 14:29:53 +0000 (14:29 +0000)]
NetworkServer: Optional support for thread-safe scheduler, needed to cleanly maintain StratumServer's update task
Luke Dashjr [Mon, 19 Nov 2012 14:08:53 +0000 (14:08 +0000)]
Merge branch 'calc_clear_subsidy'
Luke Dashjr [Mon, 19 Nov 2012 14:08:26 +0000 (14:08 +0000)]
Bugfix: Create new clear coinbase transaction for each block height, to properly handle subsidy halving
Luke Dashjr [Mon, 19 Nov 2012 14:05:07 +0000 (14:05 +0000)]
Merge branch 'bugfix_MRD_CV'
Conflicts:
merklemaker.py
Luke Dashjr [Mon, 19 Nov 2012 14:04:13 +0000 (14:04 +0000)]
Bugfix: Use a condition variable to avoid getMC from returning invalid data during odd unready circumstances
Luke Dashjr [Mon, 19 Nov 2012 13:29:58 +0000 (13:29 +0000)]
Merge branch 'bugfix_switch_height'
Luke Dashjr [Mon, 19 Nov 2012 13:29:51 +0000 (13:29 +0000)]
Bugfix: Switch clear merkle tree based on correct height comparison
Luke Dashjr [Tue, 13 Nov 2012 02:00:05 +0000 (02:00 +0000)]
StratumServer: Only update job as necessary for avoiding expiration (22 second grace time for miners)
Luke Dashjr [Mon, 12 Nov 2012 01:42:53 +0000 (01:42 +0000)]
Merge branch 'bugfix_close_rmsch'
Conflicts:
jsonrpcserver.py
Luke Dashjr [Mon, 12 Nov 2012 01:40:38 +0000 (01:40 +0000)]
Bugfix: Clear SocketHandler._Task when removing it
Apparently this alone is sufficient to prevent the GC from releasing it
Luke Dashjr [Mon, 12 Nov 2012 00:44:47 +0000 (00:44 +0000)]
Bugfix: Need to clear task on close, even when initiated on our end (failure to do so prevents the SocketHandler from being garbage collected)
Luke Dashjr [Sun, 11 Nov 2012 23:29:31 +0000 (23:29 +0000)]
Merge branch 'bugfix_del_connections'
Luke Dashjr [Sun, 11 Nov 2012 23:29:21 +0000 (23:29 +0000)]
Bugfix: NetworkHandler: Delete server.connections entry when we close the connection, not just when the remote host does
Luke Dashjr [Sat, 10 Nov 2012 05:01:08 +0000 (05:01 +0000)]
StratumServer: Include tracebacks with errors, and silence get_transactions KeyError in console
Luke Dashjr [Sat, 10 Nov 2012 04:25:35 +0000 (04:25 +0000)]
Silence WorkLogPruner debug by default
Luke Dashjr [Sat, 10 Nov 2012 04:25:02 +0000 (04:25 +0000)]
Merge branch 'stratum'
Luke Dashjr [Sat, 10 Nov 2012 03:58:06 +0000 (03:58 +0000)]
Bugfix: Correct stratum sendJob check for default target
Luke Dashjr [Sat, 10 Nov 2012 03:40:51 +0000 (03:40 +0000)]
Bugfix: StratumServer: Don't force bdiff on targets
Luke Dashjr [Sat, 10 Nov 2012 02:45:10 +0000 (02:45 +0000)]
Bugfix: Missing stratum imports and proper way to get targetting username
Luke Dashjr [Sat, 10 Nov 2012 02:37:24 +0000 (02:37 +0000)]
Merge commit '2446b63' into stratum
Luke Dashjr [Sat, 10 Nov 2012 02:35:54 +0000 (02:35 +0000)]
Bugfix: HTTPServer: Unconditionally clear incoming data buffer on reset_request
Luke Dashjr [Sat, 10 Nov 2012 02:24:25 +0000 (02:24 +0000)]
Disable stratum server when the coinbase is too big for it, and automatically reenable when it fits again
Luke Dashjr [Sat, 10 Nov 2012 01:55:33 +0000 (01:55 +0000)]
Reject stratum submissions from unauthorized workers
Luke Dashjr [Sat, 10 Nov 2012 01:53:00 +0000 (01:53 +0000)]
Implement stratum mining.get_transactions method
Luke Dashjr [Sat, 10 Nov 2012 01:34:30 +0000 (01:34 +0000)]
Support for dynamic targetting on stratum
Luke Dashjr [Fri, 9 Nov 2012 20:09:59 +0000 (20:09 +0000)]
Return integers from target2biff when exact
Luke Dashjr [Fri, 9 Nov 2012 19:18:13 +0000 (19:18 +0000)]
Support overriding configured DynamicTargetting mode for individual getTarget calls
Luke Dashjr [Thu, 8 Nov 2012 04:45:25 +0000 (04:45 +0000)]
Add DynamicTargetting mode 3, rounding to nearest bdiff