This commit changed a few things in the backend and classes code:
* Any <type>_PPS transaction does NOT need to be confirmed
* Queries updated for added <type>_PPS transactions
* Template updated to properly display these transactions
Cronjob
* Added pps_payput cron to run payouts based on worker submitted shares
* **IMPORTANT**: Can NOT be run with proportional_payout!
Addresses #70
* Mark manual payout active
* Run payout logics
* Reset manual payout
This ensures only one manual transaction can be run at a time.
If any users starts a manual payout others have to wait until the site
completed loading and finished the transaction process.
As long as we don't have too many users doing a manual payout at the
same time this should not be an issue. Best for users is using auto
payouts anyway.
This addresses #149
* Added new configuration option `block_bonus`, see `global.inc.dist.php`, default 0
* Added new transaction types: `Bonus` and `Orphan_Bonus`
* Changes transaction table structure, added upgrade SQL
* Changed findblock cron to credit bonus to finder
* Modified transactions class to reflect changes
Fixes#148
* Added mail template for manual payouts
* Added code to account page to notify via mail on payout
* Added new option to notification setting template
Adds another feature to #144
* Modified findblocks cron
* Modified notifications cron for new structure
* Improved notification class
* Added new template for new_block type
* Moved idle_worker type template
* Added new_block type to notification settings
* Adding new SQL upgrade for notifications
* Added support for per user notification settings
* Added account_id to notifications table
* Added new notification_settings table
* Added new account page: notifications
Addresses #144
* Added things to mail templates
* Modified user password reset call for new mail template
* Added BASEPATH to smarty code to ensure templates are compiled in the
proper directory
* Updated mail and notification class
* Updated notification cron
* Added notification cron to run-cron list
Go through all active notifications (active means they are not notified
again) and check if their state has changed. If so, mark as inactive and
allow for re-notification of the same type and data.
* Added main mail class
* notification class extends mail class
* Added mail template for IDLE workers
* Added notification table to SQL structure
This works already but once notified the status is not reset as soon as
a worker is active again. Need to think of a system to do that
automatically.
Addresses #116
* Fixes#130. Removed total shares in favor of the hashrate.
* Fixes hashrate display.
* Added pagination template file to include pagination on other pages in
the future.
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!