Commit Graph

388 Commits

Author SHA1 Message Date
Sebastian Grewe
c6dd4086ff Merge pull request #764 from TheSerapher/payout-fixes
Payout fixes
2013-10-28 05:20:19 -07:00
Sebastian Grewe
a841880fe7 Merge pull request #760 from TheSerapher/issue-759
Issue 759
2013-10-27 07:02:02 -07:00
Sebastian Grewe
a2472284a8 [FIX] Proper fetch Archive Shares
Is now in-line with getMininumShareId.
2013-10-27 03:28:41 +01:00
Sebastian Grewe
7a79c66ba8 Merge branch 'next' into payout-fixes 2013-10-27 02:44:09 +01:00
Sebastian Grewe
d23358a2f7 [UPDATE] Reduce notification info logging 2013-10-27 02:54:21 +02:00
Sebastian Grewe
a6f9c25b5b [UPDATE] Proper implementation of target bits
* [ADDED] New Config Option: Algorithm
 * scrypt and sha256d supported right now
 * might add SHA coin support across MPOS
 * Compatible with previous implementation
* [REMOVED] config option: pps_target
 * Replaced by config option: algorithm
 * Please update your config, defaults to srypt now!
* [ADDED] Unpaid Shares in Dashboard
* [MODIFIED] User estshares from DB query instead template math
2013-10-26 14:10:34 +02:00
Sebastian Grewe
0838bc7783 [FIX] Fixing PPS calculations
* [FIX] PPS estimations
* [FIX] PPS Value, PPS Payouts being off (too low)

Tested on testnet, estimates worked perfectly and payouts worked well.
2013-10-26 02:38:24 +02:00
Sebastian Grewe
ac5c0fce95 [IMPROVED] Out of Order Share detection
* [ADDED] Allow findblocks to detect and fix out of order shares
* [IMPROVED] Share class extends Base class for common functions
* [IMPROVED] Added more debugging and logging output to cronjob
* [ADDED] Added various new methods to blocks, share, base classes

For an overview of errors thrown in crons, please check:

https://github.com/TheSerapher/php-mpos/wiki/Error-Codes

Fixes #759 once merged.
2013-10-24 12:04:00 +02:00
obigal
7e49e7c254 pplns-stats, block-stats paging, dynamic and reverse payout 2013-10-22 09:07:31 -04:00
nicoschtein
7f6e7738d8 [FIX] Incorrectly reporting # of unconfirmed coins
Fixes #720 and fixes #721.
This will work in all three cases:

1) $config['confirmations'] > $config['network_confirmations'])
2) $config['confirmations'] < $config['network_confirmations'])
3) $config['confirmations'] = $config['network_confirmations'])
2013-10-14 14:36:14 -03:00
andy
8311dca422 [FIX] Incorrectly reporting # of unconfirmed coins 2013-10-13 07:48:06 -07:00
Sebastian Grewe
b1001950cf [FIX] Removed debug exit from prop payout 2013-10-12 19:57:18 +02:00
Sebastian Grewe
1c1b311385 [FIX] Set block internally accounted for earlier 2013-10-12 19:54:31 +02:00
Sebastian Grewe
15d7b6d1fa [IMPROVED] Detect potential dual payout situations 2013-10-12 19:28:56 +02:00
Sebastian Grewe
1dfb7e9702 Merge pull request #673 from TheSerapher/issue-444-theserapher
Issue 444 theserapher
2013-10-04 02:27:28 -07:00
obigal
66296a8f36 pplns_payout block average fix when multiple blocks found during a payout run 2013-10-02 16:42:03 -04:00
Sebastian Grewe
64205dd099 [MERGE] Fix merge conflict with NEXT 2013-09-30 09:56:49 +02:00
Sebastian Grewe
db89768cd5 Merge pull request #648 from TheSerapher/issue-145
Issue 145
2013-09-30 00:53:45 -07:00
Sebastian Grewe
43fa4358c2 [IMPROVED] Allow running crons with full path
Crons can now be called from any directory and will be executed inside
their working directory. Allows for more flexibility, e.g. taking out
the statistics cron and running it directly.
2013-09-30 09:46:34 +02:00
Sebastian Grewe
1387bbdf44 [MERGE] Merge conflict NEXT 2013-09-18 16:34:52 +02:00
Sebastian Grewe
4954f14923 Merge branch 'next' into issue-444-theserapher 2013-09-18 11:03:07 +02:00
Sebastian Grewe
07f0361050 [IMPROVEMENT] Support incremental contrib shares 2013-09-18 10:48:02 +02:00
Sebastian Grewe
a0fa71b264 [IMPROVEMENT] Adding incremental round/user shares
This will address #510. It needs thorough testing and is a WiP but
is a start to improve cron runtime and DB loads.
2013-09-18 09:45:52 +02:00
Sebastian Grewe
d8c8a89f7a fixing PHP warning in crons 2013-09-17 14:27:58 +02:00
Sebastian Grewe
6eec747be6 fixing PPLNS payouts one last time 2013-08-22 16:16:04 +02:00
Sebastian Grewe
db754c146e Revert "Revert "adjusting pplns target to baseline shares""
Reverting the revert .... :-/

This reverts commit 2d27132725.
2013-08-22 15:20:46 +02:00
Sebastian Grewe
2d27132725 Revert "adjusting pplns target to baseline shares"
* Shares are already baselined when calculating rounds

This reverts commit c9a8f8dc65.
2013-08-22 14:51:30 +02:00
Sebastian Grewe
c9a8f8dc65 adjusting pplns target to baseline shares 2013-08-22 14:39:46 +02:00
Sebastian Grewe
2aad605cf2 minor cleanup 2013-08-22 11:27:09 +02:00
Sebastian Grewe
526701d2e1 Merging with origin/next to get branch updated 2013-08-20 15:55:05 +02:00
Sebastian Grewe
408ebf3b0b Merge branch 'next' into issue-569
Conflicts:
	cronjobs/findblock.php
2013-08-19 09:37:54 +02:00
Sebastian Grewe
f0921264f8 Fixing proof-of-stake detection
Fixes #569
2013-08-19 09:36:25 +02:00
Sebastian Grewe
e7b8cb8d4a Remove number_format for transaction generation
* Fixes: Incorrect payouts due to number formatting
* Moved number_format to output only

Fixes #611
2013-08-19 08:48:27 +02:00
Sebastian Grewe
020d1ef01b Fixing notification reset for active workers
Fixes #600
2013-08-14 11:48:41 +02:00
Sebastian Grewe
f3a0cf0417 Fixing PPLNS payouts when exceeding target
Round shares are taken to only match PPLNS target. Round target was not
re-adjusted to reflect the new, lower amount of round shares.

* Fix: Properly adjust round target shares when exceeding PPLNS target

Fixes #588 once merged
2013-08-12 09:35:45 +02:00
Sebastian Grewe
68f2d72cac use regexp detection 2013-08-12 08:48:30 +02:00
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
Sebastian Grewe
d723f4e8ef Adding notification on automatic payout
* Added new mail template
* Added notification code to auto_payout cron
2013-06-09 15:17:14 +02:00
Sebastian Grewe
79d9c9714d wrong method call 2013-06-09 14:31:00 +02:00
Sebastian Grewe
4ea8b6c695 Adding new notification system for new blocks
* 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
2013-06-09 14:26:18 +02:00
Sebastian Grewe
88ade9cfa3 Adding support for various notifications
* 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
2013-06-09 13:10:58 +02:00
Sebastian Grewe
9eeb088734 check if notifications exist at all 2013-06-07 20:15:23 +02:00
Sebastian Grewe
4da9fd2369 Working notification system
* 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
2013-06-07 15:36:35 +02:00
Sebastian Grewe
69a3761be5 Adding notification reset once worker is active
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.
2013-06-07 15:36:35 +02:00
Sebastian Grewe
9ac2dadd97 Progress on notifications
* 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
2013-06-07 15:36:35 +02:00
Sebastian Grewe
6a8979d20b Fixing critical issue with manual- and autopayouts
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
2013-06-06 23:23:54 +02:00
Sebastian Grewe
4691e077e2 Ensure no old blocks shares are counter for new ones
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
2013-06-06 22:27:34 +02:00
Sebastian Grewe
596b0eac93 Moving shares per block into findblock cron
To better support more payout systems I have moved the share calculation
for a block into the findblock cron. This way these statistics are
always available and not depending on the actual payout method.
2013-06-06 21:31:05 +02:00
Sebastian Grewe
e37fb70a46 Do not deduct fees from balance when transmitting
Fixes #106, we want to transfer the entire balance and let the RPC
server deduct any fees that might apply.
2013-06-04 20:51:24 +02:00
Sebastian Grewe
4277fb26cc Removed PHP Notice warning when running cron
This fixes #102, we don't need to see this warning since it doesn't
affect the job at all.
2013-06-04 15:10:07 +02:00
Sebastian Grewe
2efc7a647d Update run-crons.sh
Fixes #89
2013-06-02 18:41:45 +03:00
Sebastian Grewe
bf110505d6 Adding new run-crons.sh script
This script can be used to run all cronjobs required for `mmcfe-ng`.
It can be expanded by pool users in the future by adding or removing
job from the CRONS list in the script.

Script assumed to run inside the cronjobs folder, this can be adjusted
via CRONHOME in the script.
2013-06-02 12:18:13 +02:00
Sebastian Grewe
8c4bfa2992 fixed name for payout job 2013-05-31 14:46:24 +02:00
Sebastian Grewe
a7bc6fc342 Changed backend logics for block finding and payout
* 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`
2013-05-31 14:23:29 +02:00
Sebastian Grewe
f5da2110ef fixing/removing typo in tickerupdate cron 2013-05-31 12:15:16 +02:00
Sebastian Grewe
8a1dc20ec8 Changing upstream share finding function
* 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!
2013-05-31 12:11:56 +02:00
Sebastian Grewe
bdc42c58c1 fetch last value from API instead of average
* Added curl as dependency in README
2013-05-29 20:54:34 +02:00
Sebastian Grewe
36bfcf6b6b change tx detection to check for orphaned blocks 2013-05-29 12:14:30 +02:00
Sebastian Grewe
cdfb074076 Re-adding LTC/usd to website ministats header
* Use tickerupdate.php cron to update setting value
* Added new configuration variables for ticket updates
* Added some missing configuration vars for some URLs
2013-05-29 10:56:08 +02:00
Sebastian Grewe
d44c236f2b Adding support for orphan blocks
* 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
2013-05-27 14:44:40 +02:00
Sebastian Grewe
2c890d2bd5 fix display of fee amount, based on est. block payout 2013-05-21 22:17:36 +02:00
Sebastian Grewe
6429b2b442 adding support for pool fees 2013-05-21 13:57:49 +02:00
Sebastian Grewe
a120d41612 lets try to get around some rounding issue for balance and transactions 2013-05-20 20:01:49 +02:00
Sebastian Grewe
e4732f55ca adding support for user donations, added all required changes into this commit 2013-05-20 19:38:21 +02:00
Sebastian Grewe
f84fd9b424 made auto payout executable 2013-05-20 16:37:30 +02:00
Sebastian Grewe
0e3ebe6bde adding auto-payout cronjob 2013-05-20 16:29:11 +02:00
Sebastian Grewe
7344926ebf added shebang for cronjobs 2013-05-16 14:54:43 +02:00
Sebastian Grewe
9536e7c193 fixing pps payout, getRoundShares system MUST be search by ID or round shares are NOT calculated properly 2013-05-14 17:58:10 +02:00
Sebastian Grewe
fff7291454 fixing pps_payout to use new getRoundShares array 2013-05-14 15:40:56 +02:00
Sebastian Grewe
ece3d8fd25 adding block statistics, added finder and round shares for blocks, updates transactions for new columns, updated template and pool statistics code 2013-05-13 09:21:41 +02:00
Sebastian Grewe
4e1efd085c remove debug output 2013-05-12 17:21:31 +02:00
Sebastian Grewe
fabc5e9850 properly check for empty transactions array 2013-05-12 17:21:03 +02:00
Sebastian Grewe
2e79d8a78f grab difficulty from block .. doh 2013-05-12 17:19:28 +02:00
Sebastian Grewe
91144afa4e search shares by IDs not timestamps, cleaned up transaction class in the process 2013-05-12 16:58:33 +02:00
Sebastian Grewe
c3964a59da adding new cron to update block confirmations in database 2013-05-12 16:56:54 +02:00
Sebastian Grewe
961b6cc817 skip crons if no work can be done 2013-05-11 22:11:29 +02:00
Sebastian Grewe
47b3816d27 cleaned up crons, changed timestamp range to properly find shares, added verbose parameter 2013-05-11 18:51:10 +02:00
Sebastian Grewe
365a91e407 ensure we only check for unaccounted blocks 2013-05-11 17:14:43 +02:00
Sebastian Grewe
4a7b51d9eb implemented transactions, PPS payouts and Transactions displayed on the website 2013-05-11 16:50:15 +02:00
Sebastian Grewe
1f58a1e152 renamed method 2013-05-11 09:19:18 +02:00
Sebastian Grewe
cbfcff3ba1 adding future ledger cronjob for transaction confirmations 2013-05-11 09:17:43 +02:00
Sebastian Grewe
a995ab640d Merge pull request #7 from TheSerapher/sharecounter-cron
Sharecounter cron
2013-05-11 00:15:58 -07:00
Sebastian Grewe
3971ea797c further work on sharecounter cron, almost all features available now 2013-05-11 09:15:19 +02:00
Sebastian Grewe
59c53a5d3d adding more output to findblocks 2013-05-11 08:00:35 +02:00
Sebastian Grewe
42d2fa2618 calculate propotional payout for all shares of this block 2013-05-11 00:22:23 +02:00
Sebastian Grewe
8669f987dc adding new cronjob to accumulate valid and invalid shares for each user between a timestamp of a block and the previous block to it 2013-05-10 22:37:24 +02:00
Sebastian Grewe
b9904a5eee properly use BASEPATH in global config, created shared file for crons 2013-05-10 19:59:54 +02:00
Sebastian Grewe
ef4b9fd21d adding new cronjob to find generated or immature blocks, changed project to allow scripts to run outside of webroot 2013-05-10 19:46:54 +02:00
Sebastian Grewe
1b50f76f72 initial import of file base of my WIP 2013-05-06 14:11:38 +02:00