Skip to content

Commit 8cfc43e

Browse files
R4SASr4sas
R4SAS
authored andcommitted
implement low-diff shares counting (#2718 #2726)
1 parent 3ddf6cb commit 8cfc43e

File tree

5 files changed

+10
-10
lines changed

5 files changed

+10
-10
lines changed

Diff for: include/classes/statistics.class.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ public function getBlocksSolvedbyWorker($account_id, $limit=25) {
203203
public function updateShareStatistics($aStats, $iBlockId) {
204204
$this->debug->append("STA " . __METHOD__, 4);
205205
$stmt = $this->mysqli->prepare("INSERT INTO $this->table (account_id, valid, invalid, block_id) VALUES (?, ?, ?, ?)");
206-
if ($this->checkStmt($stmt) && $stmt->bind_param('iiii', $aStats['id'], $aStats['valid'], $aStats['invalid'], $iBlockId) && $stmt->execute()) return true;
206+
if ($this->checkStmt($stmt) && $stmt->bind_param('iddi', $aStats['id'], $aStats['valid'], $aStats['invalid'], $iBlockId) && $stmt->execute()) return true;
207207
return $this->sqlError();
208208
}
209209

@@ -213,7 +213,7 @@ public function updateShareStatistics($aStats, $iBlockId) {
213213
public function insertPPLNSStatistics($aStats, $iBlockId) {
214214
$this->debug->append("STA " . __METHOD__, 4);
215215
$stmt = $this->mysqli->prepare("INSERT INTO $this->table (account_id, valid, invalid, pplns_valid, pplns_invalid, block_id) VALUES (?, ?, ?, ?, ?, ?)");
216-
if ($this->checkStmt($stmt) && $stmt->bind_param('iiiiii', $aStats['id'], $aStats['valid'], $aStats['invalid'], $aStats['pplns_valid'], $aStats['pplns_invalid'], $iBlockId) && $stmt->execute()) return true;
216+
if ($this->checkStmt($stmt) && $stmt->bind_param('iddddi', $aStats['id'], $aStats['valid'], $aStats['invalid'], $aStats['pplns_valid'], $aStats['pplns_invalid'], $iBlockId) && $stmt->execute()) return true;
217217
return $this->sqlError();
218218
}
219219

Diff for: sql/000_base_structure.sql

+4-4
Original file line numberDiff line numberDiff line change
@@ -182,10 +182,10 @@ CREATE TABLE IF NOT EXISTS `statistics_shares` (
182182
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
183183
`account_id` int(10) unsigned NOT NULL,
184184
`block_id` int(10) unsigned NOT NULL,
185-
`valid` bigint(20) NOT NULL DEFAULT '0',
186-
`invalid` bigint(20) NOT NULL DEFAULT '0',
187-
`pplns_valid` bigint(20) NOT NULL DEFAULT '0',
188-
`pplns_invalid` bigint(20) NOT NULL DEFAULT '0',
185+
`valid` float NOT NULL DEFAULT '0',
186+
`invalid` float NOT NULL DEFAULT '0',
187+
`pplns_valid` float NOT NULL DEFAULT '0',
188+
`pplns_invalid` float NOT NULL DEFAULT '0',
189189
PRIMARY KEY (`id`),
190190
KEY `account_id` (`account_id`),
191191
KEY `block_id` (`block_id`)

Diff for: templates/bootstrap/statistics/round/pplns_transactions.tpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
{section txs $ROUNDTRANSACTIONS}
2424
<tr{if $GLOBAL.userdata.username|default:"" == $ROUNDTRANSACTIONS[txs].username}{assign var=listed value=1} style="background-color:#99EB99;"{else}{/if}>
2525
<td>{if $ROUNDTRANSACTIONS[txs].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$ROUNDTRANSACTIONS[txs].username|default:"unknown"|escape}{/if}</td>
26-
<td>{$ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid|number_format|default:0}</td>
26+
<td>{$ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
2727
<td>{if $ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid|default:"0" > 0 }{(( 100 / $BLOCKDETAILS.shares) * $ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid)|number_format:"2"}{else}0.00{/if}</td>
28-
<td>{$PPLNSROUNDSHARES[txs].pplns_valid|number_format|default:"0"}</td>
28+
<td>{$PPLNSROUNDSHARES[txs].pplns_valid|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
2929
<td>{if $PPLNSROUNDSHARES[txs].pplns_valid|default:"0" > 0 }{(( 100 / $PPLNSSHARES) * $PPLNSROUNDSHARES[txs].pplns_valid)|number_format:"2"|default:"0"}{else}0{/if}</td>
3030
<td>{if $ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid|default:"0" > 0 && $PPLNSROUNDSHARES[txs].pplns_valid|default:"0" > 0}{math assign="percentage1" equation=(100 / ((( 100 / $BLOCKDETAILS.shares) * $ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid) / (( 100 / $PPLNSSHARES) * $PPLNSROUNDSHARES[txs].pplns_valid)))}{else if $PPLNSROUNDSHARES[txs].pplns_valid|default:"0" == 0}{assign var=percentage1 value=0}{else}{assign var=percentage1 value=100}{/if}
3131
<font color="{if ($percentage1 >= 100)}green{else}red{/if}">{$percentage1|number_format:"2"}</font></b></td>

Diff for: templates/bootstrap/statistics/round/round_transactions.tpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<tr{if $GLOBAL.userdata.username|default:"" == $ROUNDTRANSACTIONS[txs].username} style="background-color:#99EB99;"{else}{/if}>
2121
<td>{if $ROUNDTRANSACTIONS[txs].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$ROUNDTRANSACTIONS[txs].username|default:"unknown"|escape}{/if}</td>
2222
<td>{$ROUNDTRANSACTIONS[txs].type|default:""}</td>
23-
<td>{$ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid|number_format}</td>
23+
<td>{$ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
2424
<td>{(( 100 / $BLOCKDETAILS.shares) * $ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid)|default:"0"|number_format:"2"}</td>
2525
<td>{$ROUNDTRANSACTIONS[txs].amount|default:"0"|number_format:"8"}</td>
2626
</tr>

Diff for: upgrade/definitions/1.0.2_to_1.0.3.inc.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ function run_103() {
1111
// Upgrade specific variables
1212
$aSql[] = "UPDATE `statistics_shares` SET `valid` = '0' WHERE `valid` IS NULL;";
1313
$aSql[] = "UPDATE `statistics_shares` SET `pplns_valid` = '0' WHERE `pplns_valid` IS NULL;";
14-
$aSql[] = "ALTER TABLE `statistics_shares` CHANGE `valid` `valid` BIGINT(20) NOT NULL DEFAULT '0', CHANGE `pplns_valid` `pplns_valid` BIGINT(20) NOT NULL DEFAULT '0';";
14+
$aSql[] = "ALTER TABLE `statistics_shares` CHANGE `valid` `valid` FLOAT NOT NULL DEFAULT '0', CHANGE `invalid` `invalid` FLOAT NOT NULL DEFAULT '0', CHANGE `pplns_valid` `pplns_valid` FLOAT NOT NULL DEFAULT '0', CHANGE `pplns_invalid` `pplns_invalid` FLOAT NOT NULL DEFAULT '0';";
1515
$aSql[] = "UPDATE " . $setting->getTableName() . " SET value = '" . $db_version_new . "' WHERE name = 'DB_VERSION';";
1616

1717
if ($db_version_now == $db_version_old && version_compare($db_version_now, DB_VERSION, '<')) {

0 commit comments

Comments
 (0)