This is a proposed fix for #128:
* Mark auto_payout running via DB setting, unlock when done
* Just before actually sending money, check for running cron
Please refer to the ticket for details
When finding more than a single block between runs it added shares to a
new block from a previous one. Properly fetch the last highest share ID
from the database prior to scanning for shares assigned to a block.
Fixes#124
* Require valid token and admin access
* Grab full worker information for a user
* Matches the Worker List on the Account page
* See Wiki for full documentation
* Properly calculate hashrate
* Remove number formatting, it breaks the graph
* Not properly in order based on time but displays correct values
Addresses #90
* Check for min/max values set for auto payouts
* Display error messages to the user
* Sanitize values just in case we fall through the validation
* Updated template and class
* New configuration option added! Update your local configs!
Fixes#108
* Users are all fetched from the DB
* Each user is assigned special stats
* Hashrate
* Shares
* Balance
* Est. Payout
* Est. Donation
* Display in sortable and paginated table
This is not well optimized. Each user stats are grabbed individually
via the stats and transaction classes. It would probably make sense to
expand the statistics class to list a full user list with all statistics
available instead to cover this in a single SQL query.
* Added isAdmin to user class
* Run isAdmin on EACH page to ensure admin status hasn't changed
* Added main page with no content
* Added user query page with basic form, no content
* Do not include shares_archive table
* Main reason: This table is optional
* Secondary reason: Speeds up the query from 1.3s to 0.005s
* Drawback: Once a block is found it takes 10 minutes for the stats to
be accuracte again
This could potentially be reverted but since shares_archive is optional
and the speed increase is rather significant I'd like to keep it this
way.
* Findblocks cronjob changes
* Find & Store upstream share
* Use last found `share_id` as starting ID or `0`
* Find & Store upstream finder
* Use last found `share_id` as starting ID or `0`
* Use stored information when running propotional payout
* Fetch current checked blocks upstream share from block table
* Fetch previous upstream share of previous block from block table
* Calculated payouts in that range of IDs
* Updated `block.class.php` to store share_id in block and fetch highest `share_id`
* Fetch all blocks unaccounted for in ASC oder (low to high height)
* Use lowest height block to find lowest ID upstream accepted share
* Use this share as the finding share for a block
* Set share as last found upstream share for further blocks
* This only applies if shares are not deleted at all which they should!
* Use tickerupdate.php cron to update setting value
* Added new configuration variables for ticket updates
* Added some missing configuration vars for some URLs
* Adjusted blockupdate cronjob
* Fetch block information via `gettransaction`
* Adjusted block class
* Only getAllUnconfirmed where confirmations > -1
* Adjusted transaction class
* added setOrphan method to mark orphaned transactions
* If block is orphaned
* Mark all related transactions as Orphan_*type*
* Set confirmations of block to -1 so it is ignored and marked as orphan
* Change transaction template, added listing for orphan transactions
* Add orphan status to block listings template