Commit Graph

202 Commits

Author SHA1 Message Date
Sebastian Grewe
596b2b3a5d Merge pull request #574 from TheSerapher/issue-568
Deduct TXFee from transferred balance
2013-08-07 21:45:30 -07:00
Sebastian Grewe
d5651764cd Update findblock.php
* fixed typo
2013-08-08 06:42:42 +02:00
Sebastian Grewe
8809e3df53 Do not use number_format for inserting to DB
This will fix an issue with very large payouts not being inserted to the
DB properly. Moved number formatting to displaying output as it should
be.
2013-08-07 09:44:11 +02:00
obigal
53da013fab Update pps_payout.php 2013-08-07 09:36:26 +02:00
obigal
ef234fe80b Vardiff/pushpool and pps payout support 2013-08-07 09:29:48 +02:00
obigal
174bfdc0cf Update pps_payout.php 2013-08-07 09:29:48 +02:00
obigal
128050f508 Update pps_payout.php 2013-08-07 09:29:48 +02:00
Sebastian Grewe
769a85cbc0 Deduct TXFee from transferred balance
This should fix #568 as proposed by @nicoschtein
2013-08-07 08:54:38 +02:00
Sebastian Grewe
6dfce75df8 Skip proof-of-stake blocks in findblock cron
* Do not add proof-of-stake blocks to database

Fixes #569
2013-08-07 08:47:22 +02:00
Sebastian Grewe
95825224a1 Adding archiving flag for transactions
* Added new column to transactions table (`007_transactions.sql`)
* Added setArchived method to mark old transactions as archived
* Honor archived flag in getBalance and getLockedBalance

This will further address and fix #536 once merged.
2013-08-01 12:16:59 +02:00
nicoschtein
a84c91f886 Fix PIDFILE folder check 2013-08-01 04:04:45 -03:00
Nicolas Schteinschraber
038ec39e55 Added BASEPATH and SUBFOLDER configs for PIDFILE
Checks if the path exists, if it does not, it is created, if there is
an error a message is printed with the problematic path.
2013-08-01 02:55:33 -03:00
nicoschtein
fee9d82192 Added curly brackets to arg vars and removed extra empty arg catcher. 2013-08-01 00:11:21 -03:00
nicoschtein
87315238da Properly overwrite PIDPREFIX via command line argument 2013-07-31 06:35:04 -03:00
Nicolas Schteinschraber
4c8295edc2 Added ability to pass prefix as an argument when calling script. 2013-07-31 04:28:15 -03:00
nicoschtein
0a3abb363e Added Prefix Option to run-crons.sh PID File.
Added configuration option 'PIDPREFIX' to add to PIDFILE name, so it will be unique in a multipool server.
2013-07-31 03:01:33 -03:00
Sebastian Grewe
527354f64e Generate PID name based on script name
Fixes #533
2013-07-30 10:18:49 +02:00
Sebastian Grewe
59534d1c02 Merge pull request #532 from TheSerapher/issue-529
Fixing PPLNS target percentages
2013-07-28 07:43:38 -07:00
Sebastian Grewe
97ac16b21a Fixing PPLNS target percentages
This should fix #529 with proportional payouts towards the calculated
PPLNS target are off.
2013-07-28 10:04:09 +02:00
Sebastian Grewe
89c539e6fd Fixing notifications for findblocks cron
If disabled, findblocks would still send out notifications.

Thanks @feeleep75 for the heads up.

Fixes #522
2013-07-25 13:41:13 +02:00
Sebastian Grewe
8552679920 Merge pull request #516 from TheSerapher/logrotation-script
Adding sample logrotation config and cron
2013-07-24 03:51:24 -07:00
Sebastian Grewe
9ff455d0dd Adding sample logrotation config and cron
This will allow pool operators to rotate the logfiles automatically via cron.
2013-07-24 11:13:28 +02:00
Sebastian Grewe
d6d1da31b5 adding address validation to payout crons 2013-07-24 09:02:24 +02:00
Sebastian Grewe
35d1f5fa92 Merge pull request #498 from TheSerapher/manual-payout-cron
Adding manual payout cron
2013-07-23 05:36:49 -07:00
Sebastian Grewe
200f3316d8 disable cron if MP is disabled 2013-07-23 13:19:32 +02:00
Sebastian Grewe
760f1a679e Allow admin to disable notification system
This addresses #497 and allows the admins to disable notifications
through the admin panel. Might be used by those relying on clients using
the API instead.

Once merged it will fix #497.
2013-07-23 13:06:38 +02:00
Sebastian Grewe
3cfef93580 WiP to disable fees for specific accounts
* added new account table column: `no_fee`
* honor `no_fee` flag during payout process
* added upgrade SQL file for this feature

Address #260
2013-07-23 10:56:45 +02:00
Sebastian Grewe
ee5e2c46c6 Adding manual payout cron
This will avoid double payouts via the website. Payouts will be
requested by users and processed by a cron. If, for whatever reason,
users do add two requests (it is checked if a payout exists) they would
only have one successful payout until their account balance is back up
to a save value to trigger the payout.

This should fix any issues with manual payouts being exploited through
the website. Will require some testing by others to ensure things work
as expected.
2013-07-22 16:14:22 +02:00
Sebastian Grewe
f51cc36b09 set end time of cron even when disabled 2013-07-22 14:14:51 +02:00
Sebastian Grewe
7fce187ab0 Admin Panel Setting to disable/enable AP/MP
This will allow admins to temporarily or permanantly enable and disable
auto and manual payout processing.

Fixes #488
2013-07-19 11:12:28 +02:00
Sebastian Grewe
6641cf7f5c Adding notifications and start/end times
Fixes #486
2013-07-18 15:41:52 +02:00
Sebastian Grewe
1adf8fc177 Merge pull request #476 from TheSerapher/issue-470
Fixing option argument in run-crons for PHP binary
2013-07-17 02:15:54 -07:00
Sebastian Grewe
39eb7f5714 Fixing option argument in run-crons for PHP binary
Fixes #470
2013-07-17 09:18:18 +02:00
Sebastian Grewe
82f29de293 Merge pull request #472 from TheSerapher/issue-469
Fixing issue with wrong require
2013-07-17 00:13:21 -07:00
Sebastian Grewe
60b4bba489 Fixing wrong round share calculations on PPLNS
This addresses #468, might be the actual fix already.
2013-07-16 21:49:12 +02:00
Sebastian Grewe
271c776053 Fixing issue with wrong require
Fixes #469
2013-07-16 21:16:53 +02:00
Sebastian Grewe
b64ef5a489 Use INFO as default logging level for crons 2013-07-12 19:42:43 +02:00
Sebastian Grewe
015da23d8e disable SQL intensive admin query cache 2013-07-12 19:42:26 +02:00
Sebastian Grewe
3df40b5bb7 removing newlines 2013-07-12 09:48:31 +02:00
Sebastian Grewe
ab620f1fe0 Merge pull request #443 from TheSerapher/issue-432
Get rid of Orphan transaction types
2013-07-12 00:46:45 -07:00
Sebastian Grewe
09c0087775 Add tickerupdate to cron monitoring
Fixes #439
2013-07-11 16:50:24 +02:00
Sebastian Grewe
e0d43141b5 Merge pull request #438 from TheSerapher/issue-431
Adding last runtime to monitoring page
2013-07-11 07:45:38 -07:00
Sebastian Grewe
65047d3f09 wrong argument option 2013-07-11 16:09:21 +02:00
Sebastian Grewe
450cc4d24d Command-line switch for PHP Binary and Verbosity
This will fix #429
2013-07-11 16:07:51 +02:00
Sebastian Grewe
dfde017267 Get rid of Orphan transaction types
This fixes #432 and puts orphans on the same system as unconfirmed
transactions.
2013-07-11 14:26:53 +02:00
Sebastian Grewe
875572813b Adding last runtime to monitoring page
Displays the date/time of the last successful run.

Fixes #431
2013-07-11 13:25:22 +02:00
Sebastian Grewe
dad727a8f0 Fix CRONHOME detection if a symlink is used
This will fix CRONHOME detection if `run-rcrons.sh` is a symlink in `/etc/cron.minutely`.
Before symlinks would not return the proper path.
2013-07-11 09:50:51 +02:00
Sebastian Grewe
5d568a4621 Adding CRONHOME detection to run-crons.sh
This will ensure the cron will run without having to change the CRONHOME
configuration.
2013-07-11 09:42:10 +02:00
Sebastian Grewe
ceeed45bb3 Adding statistics cron to monitoring
Useful to trace cron runtimes in order to adjust caching times for long
rounds.

Addresses #145 and adds a new cron to monitoring page
2013-07-10 11:26:06 +02:00
Sebastian Grewe
94d9c1eb4c Added cronjob monitoring to admin panel
* Added monitoring class to deal with monitoring events
* Added event calls to all important cronjobs
* Added cron_end include file for monitoring cleanups on successful runs
* Added Monitoring to autoloader
* Modified account page to check for running auto_payout in monitoring
* Added monitoring to Navigation bar
* Added monitoring controller page

Fixes #415
2013-07-10 10:40:11 +02:00
Sebastian Grewe
85c1a8eaf5 more debug information on non-existing block shares 2013-07-09 22:41:07 +02:00
Sebastian Grewe
00b3c45d2a Adding archive cleanup cron
Since this needs to be done for all payouts, moved into it's own cron.

* Adjusted run-crons.sh to trigger archive cleanup
* Adjusted payouts to remove purgeArchive calls
* Adjusted pps payout, removed old configuration variable

Further addresses #143
2013-07-09 21:59:44 +02:00
Sebastian Grewe
ba240000ab Latest version for PPLNS payouts
* Rebased with next to add logging functions
* Added block method to fetch specific block
* Modified getArchive shares method to be more constistent
* Added new global configuration
* Adjusted smarty globals with new configuration
* More verbose pplns cron with logging
* Re-target the round in case of PPLNS not being matched by archive

Fixes #143
2013-07-09 21:59:44 +02:00
Sebastian Grewe
394d8b52a9 Abort payout process if missing share_id
As discussed in #392 we should abort any payouts for rounds until the
issue is fixed.
2013-07-09 21:59:44 +02:00
Sebastian Grewe
2f2acdad6d First working version of PPLNS payouts
* Based PPLNS on Prop Payout script
* Using defaults from prop payout, no class adjustments
* Added more methods required for PPLNS
* Added block methods for dynamic payout calculations
* Added PPLNS Sidebar that also displays the PPLNS Target
 * Shares beyond this target will not be included in payouts
 * Shares missing to this target will be added from archives
* Enabled archiving by default for PPLNS
* Added configuration options for PPLNS
 * Documented the usage for PPLNS, defaults are sane
* Added pplns_payout to run-crons

Addresses #143 and if accepted will fix it
2013-07-09 21:59:44 +02:00
Sebastian Grewe
dc51d874a7 Adding block height to blockupdate output
This should make tracing block updates easier.
2013-07-09 21:26:06 +02:00
Sebastian Grewe
7f759708c8 Adding share type to log output
This will display which detection mechanism caught the share.
Fixed stratum detection

Fixes #405
2013-07-09 11:43:12 +02:00
Sebastian Grewe
f6b350370d Adding solution detections for blocks
This will finally fix all block finding issues with a 4 way detection.
The find upstream method will continue to try other ways to find a
proper share until they are all exhausted or a match was found.

* Use stratum solution, create scrypt hash from block header
* Use pushpoold solution, create solution string from block header
* Use first available upstream share in timerange of block time
* Use *any* first available valid share older than time of block

This will fix #405 - no more unknown blocks. Ever.
2013-07-09 11:27:20 +02:00
Sebastian Grewe
83f8438a9c last cleanup before merge 2013-07-08 08:49:55 +02:00
Sebastian Grewe
5e98496cec Update proportional_payout.php
Abort if no shares could be found for a block to allow user intervention to fix it.
2013-07-08 07:22:05 +02:00
Sebastian Grewe
6dc795fd77 Improved cron logging via logfiles
* Added 3rd party logger library KLogger
* Adjusted all cronjobs from verbose output to logging
* Added new logs folder for crons to write to
* Added new .gitignore for logs folder data
* Updated blocks class to only fetch blocks with no share_id
* Adjusted findblocks to use no blocks class method
2013-07-07 22:04:43 +02:00
Sebastian Grewe
2586aca34e Revert "Fixing issue with delayed inserts for shares"
This reverts commit 752b3e810f.
2013-07-07 19:52:24 +02:00
Sebastian Grewe
8b3aec6aad Merge pull request #394 from TheSerapher/issue-392-abort-payout
Abort payout process if `share_id` is missing
2013-07-06 15:23:12 -07:00
Sebastian Grewe
5d57593f5d Abort payout process if share_id is missing
If we have a block with NO `share_id` we abort the entire process. Less
of an issue with proportional since PPS is still being paid out, but a
block round will never actually end.

This will allow for manual intervention by the user. Otherwise blocks
found after the one having issues might trigger the payout process and
pay out shares of the old block in a more recently found one.

Please use #392 for further help on this, I have yet to replicate the
unknown block finder issue with the proper amount of upstream shares.
2013-07-07 00:19:56 +02:00
Sebastian Grewe
752b3e810f Fixing issue with delayed inserts for shares
When shares are inserted with a delay for performance optimizations,
this will cause block timestamps to be completely off with share
timestamps. Hence the timestamp limited search is now removed, it would
cause too many issues for Stratum users/pools.

Addresses #392
2013-07-06 23:11:28 +02:00
Sebastian Grewe
b021440ab7 Removed debug exit on findblock cron 2013-07-04 09:12:11 +02:00
Sebastian Grewe
3ab9d5252f Merge pull request #341 from TheSerapher/issue-308
Adding dynamic block value support in PPS
2013-07-03 23:53:24 -07:00
Sebastian Grewe
f4ce22bee8 Skip bogus upstream shares
This will fix an issue with blocks being assigned upstream shares that
are marked as valid but are not the actual solution for a block.

Only shares inserted when or after the block timestamp are now looked
at. This will ensure other shares inserted earlier and marked as
upstream valid are skipped.

This will not fix edge cases where many shares are inserted at the same
time and are all in the same timeframe of the block. Then the first
valid share in that time is used.

This worked fine on a testnet with a number of blocks found and false
shares inserted by hand.

Fixes #352
2013-07-03 15:01:08 +02:00
Sebastian Grewe
cb7f114cbc Adding dynamic block value support in PPS
This will add the block reward typw to PPS systems. Prior to this, each
PPS value was hard coded to 50. Not only are other coins not based on
this but changing it would require code. Changed it that

* Default for fixed type is config reward
* Default for block type is **previous** blocks amount
** Fallback for first round is the fixed reward value

See in-line documentation of dist configuration. This should help new
pool owners to get setup and clarify things.

Fixes #308
2013-07-01 17:45:23 +02:00
Sebastian Grewe
4be963d7be Detect if we use POS difficulties or not
Fixes #275
2013-06-30 19:35:49 +02:00
Sebastian Grewe
af70a194c9 Adding support for POS coin
This will fix #275 and add proper support for a different implementation
of network difficulty.
2013-06-30 19:35:49 +02:00
Sebastian Grewe
1126118cb9 Fetch all user shares in one query
This will fetch all user shares in a single run, not user by user as
done previously. Saves one query and can possibly increase SQL execution
time.

Addresses #246
2013-06-26 10:54:10 +02:00
Sebastian Grewe
8dbc8c6a9b Display fixed or block reward in findblock cron
Fixes #76
2013-06-25 08:57:40 +02:00
Sebastian Grewe
2204b6d9f3 Adding support to pay out full block amount
* Configuration setting added: `reward_type`
* Default behaviour: `fixed` payout by `reward` setting
* Optional: `block` to payout full block amount to users

Fixes #76
2013-06-25 08:52:30 +02:00
Sebastian Grewe
2095b09d69 More verbose output on cron updates
* Added more verbosity to crons
* Made the output look better on consoles
* Added another error message to notifications class
2013-06-24 10:36:59 +02:00
Sebastian Grewe
4113e05a10 Adding multi-API support
This will allow users to change the API url, added coinchose as an
example as pointed out by @vias79 .

* tools class detects the API type
* getPrice returns the price based on API URL parsed

Fixes #236
2013-06-23 20:41:43 +02:00
Sebastian Grewe
06d85b1459 fixing BASEPATH in tickerupdate 2013-06-20 13:43:02 +02:00
Sebastian Grewe
5f271e3f67 Fixing issues with application using BASEPATH
Fixes #217
2013-06-19 14:50:13 +02:00
Sebastian Grewe
b08c02d384 Sent notifications for all enabled users
* Data was not properly addressed in aAccounts array

Fixes #214
2013-06-18 14:34:29 +02:00
Sebastian Grewe
d2c6422f3d Payout Systems should check for activation
* Check if configuration is setup to run a specific payout system
* Added all payout systems to cron script

Fixes #210
2013-06-18 10:41:11 +02:00
Sebastian Grewe
34509051e2 Properly detect if we did find an upstream share
Avoid returning true even if no share was found.

Addresses #189
2013-06-18 09:30:13 +02:00
Sebastian Grewe
d3fa335e2c Ensure we are able to fetch the upstream share
* If a block was found but the upstream share is not inserted, bail out
* Next run should find the upstream share if it was added properly

Should address #189 but maybe not a fix yet.
2013-06-18 09:30:13 +02:00
Sebastian Grewe
905898700a adding per-user share statistics to cron 2013-06-17 16:35:27 +02:00
Sebastian Grewe
fe0beb1617 changed output in auto_payout 2013-06-17 11:25:54 +02:00
Sebastian Grewe
fa7f61c436 Adding transaction fees to transaction class
This will add back the transaction fees. Prior to this commit the pool
had to cover the transaction fees. Now for each transaction the full
balance is transferred (RPC Daemon will remove the TX Fee) but two
transactions are added. One for the Debig and one TXFee.

Fixes #203.

**Requires database upgrade with supplied SQL file**
2013-06-17 11:17:15 +02:00
Sebastian Grewe
91ef2caaab Added cronjob to pre-cache statistics
This will fix #199 and help on loading times for the website in case
caches are empty. Caches are pre-filled by a cron so the website only
does it as a fall back. Check Ticket for details.
2013-06-17 10:07:40 +02:00
Sebastian Grewe
006f4d7f8a updated PPS payout to support block share stats for users 2013-06-14 16:17:34 +02:00
Sebastian Grewe
6f3912b6a2 fixed worker name in mail body 2013-06-14 09:58:54 +02:00
Sebastian Grewe
a2ad57e92a Adding configurable TX Fee for web interface
* This does not actually check the TX fee set on the RPC side
* Ensures TX fee is covered before doing transactions
* Display TX fee when required

Fixes #138
2013-06-13 09:21:08 +02:00
Sebastian Grewe
a006ea782a Adding confirmed and unconfirmed balance
* Added SQL code to support both balances
* Added sidebar entries
* Modified auto_payout to use new index
* Mofified account page to use new index

Addresses #140 but needs to be tested!
2013-06-12 09:13:14 +02:00
Sebastian Grewe
b4a09f22ee archive/purge accounted PPS shares 2013-06-10 18:56:28 +02:00
Sebastian Grewe
41b35a2d96 moved table header to the left 2013-06-10 18:49:58 +02:00
Sebastian Grewe
cb3e02e896 properly format pps value to 12 digits 2013-06-10 18:49:57 +02:00
Sebastian Grewe
3f8a1ea0f7 forgot 8 decimals 2013-06-10 18:49:57 +02:00
Sebastian Grewe
4acf119418 properly format payout and round it 2013-06-10 18:49:57 +02:00
Sebastian Grewe
4745a2f6f8 Adding support for PPS payout method
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
2013-06-10 18:49:57 +02:00
Sebastian Grewe
37beca9385 removing left over debug in findblock 2013-06-10 10:27:39 +02:00
Sebastian Grewe
4e284895a8 Adding support for block finder bonus
* 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
2013-06-10 10:11:56 +02:00
Sebastian Grewe
8ed4638057 removed commented section to re-enable auto-payout 2013-06-10 08:51:07 +02:00
Sebastian Grewe
6eeff19ff5 Fixing issue with notification cron
* Updated getAllActive to search by type
2013-06-09 16:44:32 +02:00