Merge pull request #2728 from r4sas/lowdiff-shares
Lowdiff shares (2nd update #2718)
This commit is contained in:
commit
d1d4a07609
@ -237,7 +237,7 @@ class Block extends Base {
|
||||
* @return bool
|
||||
**/
|
||||
public function setShares($block_id, $shares=NULL) {
|
||||
$field = array( 'name' => 'shares', 'value' => $shares, 'type' => 'i');
|
||||
$field = array( 'name' => 'shares', 'value' => $shares, 'type' => 'd');
|
||||
return $this->updateSingle($block_id, $field);
|
||||
}
|
||||
|
||||
|
||||
@ -60,7 +60,7 @@ class CoinBase extends Base {
|
||||
* according to our configuration difficulty
|
||||
**/
|
||||
public function calcEstaimtedShares($dDifficulty) {
|
||||
return (int)round(pow(2, (32 - $this->target_bits)) * $dDifficulty, 0);
|
||||
return (float)round(pow(2, (32 - $this->target_bits)) * $dDifficulty, $this->share_difficulty_precision);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -111,7 +111,7 @@ class Statistics extends Base {
|
||||
b.*,
|
||||
a.username AS finder,
|
||||
a.is_anonymous AS is_anonymous,
|
||||
ROUND(difficulty * POW(2, 32 - " . $this->coin->getTargetBits() . "), 0) AS estshares
|
||||
ROUND(difficulty * POW(2, 32 - " . $this->coin->getTargetBits() . "), " . $this->coin->getShareDifficultyPrecision() . ") AS estshares
|
||||
FROM " . $this->block->getTableName() . " AS b
|
||||
LEFT JOIN " . $this->user->getTableName() . " AS a
|
||||
ON b.account_id = a.id
|
||||
@ -261,12 +261,12 @@ class Statistics extends Base {
|
||||
SELECT
|
||||
(
|
||||
(
|
||||
SELECT ROUND(SUM(difficulty) / ?, 2) AS sharerate
|
||||
SELECT ROUND(SUM(difficulty) / ?, " . $this->coin->getShareDifficultyPrecision() . ") AS sharerate
|
||||
FROM " . $this->share->getTableName() . "
|
||||
WHERE time > DATE_SUB(now(), INTERVAL ? SECOND)
|
||||
AND our_result = 'Y'
|
||||
) + (
|
||||
SELECT ROUND(SUM(difficulty) / ?, 2) AS sharerate
|
||||
SELECT ROUND(SUM(difficulty) / ?, " . $this->coin->getShareDifficultyPrecision() . ") AS sharerate
|
||||
FROM " . $this->share->getArchiveTableName() . "
|
||||
WHERE time > DATE_SUB(now(), INTERVAL ? SECOND)
|
||||
AND our_result = 'Y'
|
||||
|
||||
@ -174,7 +174,7 @@ class Worker extends Base {
|
||||
while ($row = $result->fetch_assoc()) {
|
||||
$row['hashrate'] = round($this->coin->calcHashrate($row['shares'], $interval), 2);
|
||||
if ($row['count_all'] > 0) {
|
||||
$row['difficulty'] = round($row['shares'] / $row['count_all'], 2);
|
||||
$row['difficulty'] = round($row['shares'] / $row['count_all'], $this->coin->getShareDifficultyPrecision());
|
||||
} else {
|
||||
$row['difficulty'] = 0.00;
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ CREATE TABLE IF NOT EXISTS `blocks` (
|
||||
`accounted` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`account_id` int(255) unsigned DEFAULT NULL,
|
||||
`worker_name` varchar(50) DEFAULT 'unknown',
|
||||
`shares` bigint(30) unsigned DEFAULT NULL,
|
||||
`shares` double unsigned DEFAULT NULL,
|
||||
`share_id` bigint(30) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `height` (`height`,`blockhash`),
|
||||
@ -182,10 +182,10 @@ CREATE TABLE IF NOT EXISTS `statistics_shares` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`account_id` int(10) unsigned NOT NULL,
|
||||
`block_id` int(10) unsigned NOT NULL,
|
||||
`valid` float NOT NULL DEFAULT '0',
|
||||
`invalid` float NOT NULL DEFAULT '0',
|
||||
`pplns_valid` float NOT NULL DEFAULT '0',
|
||||
`pplns_invalid` float NOT NULL DEFAULT '0',
|
||||
`valid` float unsigned NOT NULL DEFAULT '0',
|
||||
`invalid` float unsigned NOT NULL DEFAULT '0',
|
||||
`pplns_valid` float unsigned NOT NULL DEFAULT '0',
|
||||
`pplns_invalid` float unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `account_id` (`account_id`),
|
||||
KEY `block_id` (`block_id`)
|
||||
|
||||
@ -26,8 +26,8 @@
|
||||
<td class="text-right">{$BLOCKSFOUND[block].time|date_format:$GLOBAL.config.date}</td>
|
||||
<td class="text-right">{$BLOCKSFOUND[block].difficulty|number_format:"4"}</td>
|
||||
<td class="text-right">{$BLOCKSFOUND[block].amount|number_format:"2"}</td>
|
||||
<td class="text-right">{$BLOCKSFOUND[block].estshares|number_format}</td>
|
||||
<td class="text-right">{$BLOCKSFOUND[block].shares|number_format}</td>
|
||||
<td class="text-right">{$BLOCKSFOUND[block].estshares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">{$BLOCKSFOUND[block].shares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">
|
||||
{math assign="percentage" equation="shares / estshares * 100" shares=$BLOCKSFOUND[block].shares|default:"0" estshares=$BLOCKSFOUND[block].estshares}
|
||||
<font color="{if ($percentage <= 100)}green{else}red{/if}">{$percentage|number_format:"2"}</font>
|
||||
@ -46,4 +46,4 @@
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
@ -43,7 +43,7 @@ $(document).ready(function(){
|
||||
|
||||
// Load initial sparkline values
|
||||
var storedPersonalHashrate = [ null, null, null, null, null, null, null, null, null, null, null, null, {/literal}{$GLOBAL.userdata.hashrate|round:"2"}{literal} ];
|
||||
var storedPersonalSharerate = [ null, null, null, null, null, null, null, null, null, null, null, null, {/literal}{$GLOBAL.userdata.sharerate|round:"2"}{literal} ];
|
||||
var storedPersonalSharerate = [ null, null, null, null, null, null, null, null, null, null, null, null, {/literal}{$GLOBAL.userdata.sharerate|round:$GLOBAL.config.sharediffprecision}{literal} ];
|
||||
var storedPoolHashrate = [ null, null, null, null, null, null, null, null, null, null, null, null, {/literal}{$GLOBAL.hashrate|round:"2"}{literal} ];
|
||||
var storedNetHashrate = [ null, null, null, null, null, null, null, null, null, null, null, null, {/literal}{$GLOBAL.nethashrate|round:"2"}{literal} ];
|
||||
var storedPoolWorkers = [ null, null, null, null, null, null, null, null, null, null, null, null, {/literal}{$GLOBAL.workers}{literal} ];
|
||||
@ -89,7 +89,7 @@ $(document).ready(function(){
|
||||
storedPersonalHashrate.shift();
|
||||
storedPersonalHashrate.push(parseFloat(data.getdashboarddata.data.personal.hashrate).toFixed(2))
|
||||
storedPersonalSharerate.shift();
|
||||
storedPersonalSharerate.push(parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed(2))
|
||||
storedPersonalSharerate.push(parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed({/literal}{$GLOBAL.config.sharediffprecision}{literal}))
|
||||
storedPoolHashrate.shift();
|
||||
storedPoolHashrate.push(parseFloat(data.getdashboarddata.data.pool.hashrate).toFixed(2))
|
||||
storedNetHashrate.shift();
|
||||
@ -122,7 +122,7 @@ $(document).ready(function(){
|
||||
} else {
|
||||
$('#b-nethashrate').html('n/a');
|
||||
}
|
||||
$('#b-sharerate').html((parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed(2)));
|
||||
$('#b-sharerate').html((parseFloat(data.getdashboarddata.data.personal.sharerate).toFixed({/literal}{$GLOBAL.config.sharediffprecision}{literal})));
|
||||
$('#b-yvalid').html(number_format(data.getdashboarddata.data.personal.shares.valid, {/literal}{$GLOBAL.config.sharediffprecision}{literal}));
|
||||
$('#b-yivalid').html(number_format(data.getdashboarddata.data.personal.shares.invalid, {/literal}{$GLOBAL.config.sharediffprecision}{literal}));
|
||||
if ( data.getdashboarddata.data.personal.shares.valid > 0 ) {
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
<div class="circle-tile-description text-faded">
|
||||
<p class="h5 up-more">My Sharerate</p>
|
||||
<div class="circle-tile-number text-faded up">
|
||||
<span class="overview" id="b-sharerate">{$GLOBAL.userdata.sharerate|number_format:"2"}</span>
|
||||
<span class="overview" id="b-sharerate">{$GLOBAL.userdata.sharerate|number_format:$GLOBAL.config.sharediffprecision}</span>
|
||||
<span class="overview-mhs"> S/s</span>
|
||||
<br>
|
||||
<span class="personal-sharerate-bar spark-18"></span>
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
<div class="circle-tile-description text-faded">
|
||||
<p class="h5 up-more">My Sharerate</p>
|
||||
<div class="circle-tile-number text-faded up">
|
||||
<span class="overview" id="b-sharerate">{$GLOBAL.userdata.sharerate|number_format:"2"}</span>
|
||||
<span class="overview" id="b-sharerate">{$GLOBAL.userdata.sharerate|number_format:$GLOBAL.config.sharediffprecision}</span>
|
||||
<span class="overview-mhs"> S/s</span>
|
||||
<br>
|
||||
<span class="personal-sharerate-bar spark-18"></span>
|
||||
|
||||
@ -70,7 +70,7 @@
|
||||
<p class="h5" id="b-nextdiff">{if $GLOBAL.nethashrate > 0}{$NETWORK.EstNextDifficulty|number_format:"8"}{else}n/a{/if}</p>
|
||||
</div>
|
||||
<div class="circle-tile-number text-faded">
|
||||
<p class="h6">Est. Next Difficulty{if $GLOBAL.config.coindiffchangetarget > 1}{if $GLOBAL.nethashrate > 0}<br/>Change in {$NETWORK.BlocksUntilDiffChange} Blocks{else}No Estimates{/if}{/if}</p>
|
||||
<p class="h6">Est. Next Difficulty{if $GLOBAL.config.coindiffchangetarget|default:2016 > 1}{if $GLOBAL.nethashrate > 0}<br/>Change in {$NETWORK.BlocksUntilDiffChange} Blocks{else}No Estimates{/if}{/if}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -38,8 +38,8 @@
|
||||
0
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.TotalEstimatedShares|number_format}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.TotalShares|number_format}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.TotalEstimatedShares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.TotalShares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">
|
||||
{if $LASTBLOCKSBYTIME.TotalEstimatedShares > 0}
|
||||
<font color="{if (($LASTBLOCKSBYTIME.TotalShares / $LASTBLOCKSBYTIME.TotalEstimatedShares * 100) <= 100)}green{elseif (($LASTBLOCKSBYTIME.TotalShares / $LASTBLOCKSBYTIME.TotalEstimatedShares * 100) <= 115)}orange{else}red{/if}">{($LASTBLOCKSBYTIME.TotalShares / $LASTBLOCKSBYTIME.TotalEstimatedShares * 100)|number_format:"2"}%</font></b>
|
||||
@ -64,8 +64,8 @@
|
||||
0
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.1HourEstimatedShares|number_format}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.1HourShares|number_format}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.1HourEstimatedShares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.1HourShares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">
|
||||
{if $LASTBLOCKSBYTIME.1HourEstimatedShares > 0}
|
||||
<font color="{if (($LASTBLOCKSBYTIME.1HourShares / $LASTBLOCKSBYTIME.1HourEstimatedShares * 100) <= 100)}green{elseif (($LASTBLOCKSBYTIME.1HourShares / $LASTBLOCKSBYTIME.1HourEstimatedShares * 100) <= 115)}orange{else}red{/if}">{($LASTBLOCKSBYTIME.1HourShares / $LASTBLOCKSBYTIME.1HourEstimatedShares * 100)|number_format:"2"}%</font></b>
|
||||
@ -90,8 +90,8 @@
|
||||
0
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.24HourEstimatedShares|number_format}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.24HourShares|number_format}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.24HourEstimatedShares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.24HourShares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">
|
||||
{if $LASTBLOCKSBYTIME.24HourEstimatedShares > 0}
|
||||
<font color="{if (($LASTBLOCKSBYTIME.24HourShares / $LASTBLOCKSBYTIME.24HourEstimatedShares * 100) <= 100)}green{elseif (($LASTBLOCKSBYTIME.24HourShares / $LASTBLOCKSBYTIME.24HourEstimatedShares * 100) <= 115)}orange{else}red{/if}">{($LASTBLOCKSBYTIME.24HourShares / $LASTBLOCKSBYTIME.24HourEstimatedShares * 100)|number_format:"2"}%</font></b>
|
||||
@ -116,8 +116,8 @@
|
||||
0
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.7DaysEstimatedShares|number_format}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.7DaysShares|number_format}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.7DaysEstimatedShares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.7DaysShares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">
|
||||
{if $LASTBLOCKSBYTIME.7DaysEstimatedShares > 0}
|
||||
<font color="{if (($LASTBLOCKSBYTIME.7DaysShares / $LASTBLOCKSBYTIME.7DaysEstimatedShares * 100) <= 100)}green{elseif (($LASTBLOCKSBYTIME.7DaysShares / $LASTBLOCKSBYTIME.7DaysEstimatedShares * 100) <= 115)}orange{else}red{/if}">{($LASTBLOCKSBYTIME.7DaysShares / $LASTBLOCKSBYTIME.7DaysEstimatedShares * 100)|number_format:"2"}%</font></b>
|
||||
@ -142,8 +142,8 @@
|
||||
0
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.4WeeksEstimatedShares|number_format}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.4WeeksShares|number_format}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.4WeeksEstimatedShares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.4WeeksShares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">
|
||||
{if $LASTBLOCKSBYTIME.4WeeksEstimatedShares > 0}
|
||||
<font color="{if (($LASTBLOCKSBYTIME.4WeeksShares / $LASTBLOCKSBYTIME.4WeeksEstimatedShares * 100) <= 100)}green{elseif (($LASTBLOCKSBYTIME.4WeeksShares / $LASTBLOCKSBYTIME.4WeeksEstimatedShares * 100) <= 115)}orange{else}red{/if}">{($LASTBLOCKSBYTIME.4WeeksShares / $LASTBLOCKSBYTIME.4WeeksEstimatedShares * 100)|number_format:"2"}%</font></b>
|
||||
@ -168,8 +168,8 @@
|
||||
0
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.12MonthEstimatedShares|number_format}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.12MonthShares|number_format}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.12MonthEstimatedShares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">{$LASTBLOCKSBYTIME.12MonthShares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">
|
||||
{if $LASTBLOCKSBYTIME.12MonthEstimatedShares > 0}
|
||||
<font color="{if (($LASTBLOCKSBYTIME.12MonthShares / $LASTBLOCKSBYTIME.12MonthEstimatedShares * 100) <= 100)}green{elseif (($LASTBLOCKSBYTIME.12MonthShares / $LASTBLOCKSBYTIME.12MonthEstimatedShares * 100) <= 115)}orange{else}red{/if}">{($LASTBLOCKSBYTIME.12MonthShares / $LASTBLOCKSBYTIME.12MonthEstimatedShares * 100)|number_format:"2"}%</font></b>
|
||||
|
||||
@ -51,12 +51,12 @@
|
||||
<td class="text-right">{$BLOCKSFOUND[block].amount|number_format:"2"}</td>
|
||||
<td class="text-right">
|
||||
{assign var="totalexpectedshares" value=$totalexpectedshares+$BLOCKSFOUND[block].estshares}
|
||||
{$BLOCKSFOUND[block].estshares|number_format}
|
||||
{$BLOCKSFOUND[block].estshares|number_format:$GLOBAL.config.sharediffprecision}
|
||||
</td>
|
||||
{if $GLOBAL.config.payout_system == 'pplns'}
|
||||
<td class="text-right">{$BLOCKSFOUND[block].pplns_shares|number_format}</td>
|
||||
<td class="text-right">{$BLOCKSFOUND[block].pplns_shares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
{/if}
|
||||
<td class="text-right">{$BLOCKSFOUND[block].shares|number_format}</td>
|
||||
<td class="text-right">{$BLOCKSFOUND[block].shares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">
|
||||
{math assign="percentage" equation="shares / estshares * 100" shares=$BLOCKSFOUND[block].shares|default:"0" estshares=$BLOCKSFOUND[block].estshares}
|
||||
<font color="{if ($percentage <= 100)}green{elseif ($percentage <= 115)}orange{else}red{/if}">{$percentage|number_format:"2"}</font>
|
||||
@ -65,11 +65,11 @@
|
||||
{/section}
|
||||
<tr>
|
||||
<td colspan="6"><b>Totals</b></td>
|
||||
<td class="text-right">{$totalexpectedshares|number_format}</td>
|
||||
<td class="text-right">{$totalexpectedshares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
{if $GLOBAL.config.payout_system == 'pplns'}
|
||||
<td class="text-right">{$pplnsshares|number_format}</td>
|
||||
<td class="text-right">{$pplnsshares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
{/if}
|
||||
<td class="text-right">{$totalshares|number_format}</td>
|
||||
<td class="text-right">{$totalshares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td class="text-right">{if $count > 0}<font color="{if (($totalshares / $totalexpectedshares * 100) <= 100)}green{elseif (($totalshares / $totalexpectedshares * 100) <= 115)}orange{else}red{/if}">{($totalshares / $totalexpectedshares * 100)|number_format:"2"}</font>{else}0{/if}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
{/if}
|
||||
<td>{if $BLOCKSFOUND[block].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$BLOCKSFOUND[block].finder|default:"unknown"|escape}{/if}</td>
|
||||
<td>{$BLOCKSFOUND[block].time|date_format:$GLOBAL.config.date}</td>
|
||||
<td class="text-right">{$BLOCKSFOUND[block].shares|number_format}</td>
|
||||
<td class="text-right">{$BLOCKSFOUND[block].shares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
</tr>
|
||||
{/section}
|
||||
</tbody>
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
{/section}
|
||||
{if $listed != 1 && $GLOBAL.userdata.username|default:"" && $GLOBAL.userdata.rawhashrate|default:"0" > 0}
|
||||
{math assign="myestday" equation="round(reward / ( diff * pow(2,32) / ( hashrate * 1000 ) / 3600 / 24), 3)" diff=$DIFFICULTY reward=$REWARD hashrate=$GLOBAL.userdata.rawhashrate}
|
||||
{if $GLOBAL.userdata.username|default:""|lower == $CONTRIBHASHES[contrib].account|lower}{assign var=listed value=1}<tr class="success">{else}<tr>{/if}
|
||||
{if $GLOBAL.userdata.username|default:""|lower == $CONTRIBHASHES[contrib].account|default:""|lower}{assign var=listed value=1}<tr class="success">{else}<tr>{/if}
|
||||
<td>n/a</td>
|
||||
<td>{if $GLOBAL.userdata.donate_percent|default:"0" >= 2}<i class="fa fa-trophy fa-fw"></i>{elseif $GLOBAL.userdata.donate_percent|default:"0" < 2 AND $GLOBAL.userdata.donate_percent|default:"0" > 0}<i class="fa fa-star-o fa-fw"></i>{else}<i class="fa fa-ban fa-fw"></i>{/if}</td>
|
||||
<td>{$GLOBAL.userdata.username|escape}</td>
|
||||
|
||||
@ -21,15 +21,15 @@
|
||||
<td>{$rank++}</td>
|
||||
<td>{if $CONTRIBSHARES[shares].donate_percent|default:"0" >= 2}<i class="fa fa-trophy fa-fw"></i>{else if $CONTRIBSHARES[shares].donate_percent|default:"0" < 2 AND $CONTRIBSHARES[shares].donate_percent|default:"0" > 0}<i class="fa fa-star-o fa-fw"></i>{else}<i class="fa fa-ban fa-fw"></i>{/if}</td>
|
||||
<td>{if $CONTRIBSHARES[shares].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$CONTRIBSHARES[shares].account|escape}{/if}</td>
|
||||
<td class="text-right">{$CONTRIBSHARES[shares].shares|number_format}</td>
|
||||
<td class="text-right">{$CONTRIBSHARES[shares].shares|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
</tr>
|
||||
{/section}
|
||||
{if $listed != 1 && $GLOBAL.userdata.username|default:"" && $GLOBAL.userdata.shares.valid|default:"0" > 0}
|
||||
{if $GLOBAL.userdata.username|default:""|lower == $CONTRIBHASHES[contrib].account|lower}{assign var=listed value=1}<tr class="success">{else}<tr>{/if}
|
||||
{if $GLOBAL.userdata.username|default:""|lower == $CONTRIBHASHES[contrib].account|default:""|lower}{assign var=listed value=1}<tr class="success">{else}<tr>{/if}
|
||||
<td>n/a</td>
|
||||
<td>{if $GLOBAL.userdata.donate_percent|default:"0" >= 2}<i class="fa fa-trophy fa-fw"></i>{elseif $GLOBAL.userdata.donate_percent|default:"0" < 2 AND $GLOBAL.userdata.donate_percent|default:"0" > 0}<i class="fa fa-star-o fa-fw"></i>{else}<i class="fa fa-ban fa-fw"></i>{/if}</td>
|
||||
<td>{$GLOBAL.userdata.username|escape}</td>
|
||||
<td class="text-right">{$GLOBAL.userdata.shares.valid|number_format}</td>
|
||||
<td class="text-right">{$GLOBAL.userdata.shares.valid|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</tbody>
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Est. Shares this Round</th>
|
||||
<td id="b-target">{$ESTIMATES.shares|number_format} (done: {$ESTIMATES.percent}%)</td>
|
||||
<td id="b-target">{$ESTIMATES.shares|number_format:$GLOBAL.config.sharediffprecision} (done: {$ESTIMATES.percent}%)</td>
|
||||
</tr>
|
||||
{if ! $GLOBAL.website.blockexplorer.disabled}
|
||||
<tr>
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
<td>Time</td>
|
||||
<td>{$BLOCKDETAILS.time|default:"0"}</td>
|
||||
<td>Shares</td>
|
||||
<td>{$BLOCKDETAILS.shares|number_format:"0"|default:"0"}</td>
|
||||
<td>{$BLOCKDETAILS.shares|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
|
||||
<td>Finder</td>
|
||||
<td>{$BLOCKDETAILS.finder|default:"unknown"}</td>
|
||||
</tr>
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
<td>ID</td>
|
||||
<td>{$BLOCKDETAILS.id|number_format:"0"|default:"0"}</td>
|
||||
<td>PPLNS Shares</td>
|
||||
<td>{$PPLNSSHARES|number_format:"0"|default:"0"}</td>
|
||||
<td>{$PPLNSSHARES|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td>Height</td>
|
||||
@ -28,7 +28,7 @@
|
||||
<td>{$BLOCKDETAILS.height|number_format:"0"|default:"0"}</td>
|
||||
{/if}
|
||||
<td>Estimated Shares</td>
|
||||
<td>{$BLOCKDETAILS.estshares|number_format|default:"0"}</td>
|
||||
<td>{$BLOCKDETAILS.estshares|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td>Amount</td>
|
||||
@ -64,7 +64,7 @@
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td>Shares</td>
|
||||
<td>{$BLOCKDETAILS.shares|number_format:"0"|default:"0"}</td>
|
||||
<td>{$BLOCKDETAILS.shares|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
|
||||
<td>Seconds This Round</td>
|
||||
<td>{$BLOCKDETAILS.round_time|number_format:"0"|default:"0"}</td>
|
||||
</tr>
|
||||
|
||||
@ -30,9 +30,9 @@
|
||||
<td>{$BLOCKDETAILS.height|number_format:"0"|default:"0"}</td>
|
||||
{/if}
|
||||
<td>PPLNS Shares</td>
|
||||
<td>{$PPLNSSHARES|number_format:"0"|default:"0"}</td>
|
||||
<td>{$PPLNSSHARES|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
|
||||
<td>Estimated Shares</td>
|
||||
<td>{$BLOCKDETAILS.estshares|number_format|default:"0"}</td>
|
||||
<td>{$BLOCKDETAILS.estshares|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td>Amount</td>
|
||||
@ -61,7 +61,7 @@
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td>Shares</td>
|
||||
<td>{$BLOCKDETAILS.shares|number_format:"0"|default:"0"}</td>
|
||||
<td>{$BLOCKDETAILS.shares|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
|
||||
<td>Finder</td>
|
||||
<td>{$BLOCKDETAILS.finder|default:"unknown"}</td>
|
||||
<td>Seconds This Round</td>
|
||||
|
||||
@ -21,8 +21,8 @@
|
||||
<tr{if $GLOBAL.userdata.username|default:"" == $PPLNSROUNDSHARES[contrib].username} style="background-color:#99EB99;"{else}{/if}>
|
||||
<td>{$rank++}</td>
|
||||
<td>{if $PPLNSROUNDSHARES[contrib].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$PPLNSROUNDSHARES[contrib].username|default:"unknown"|escape}{/if}</td>
|
||||
<td>{$PPLNSROUNDSHARES[contrib].pplns_valid|number_format}</td>
|
||||
<td>{$PPLNSROUNDSHARES[contrib].pplns_invalid|number_format}</td>
|
||||
<td>{$PPLNSROUNDSHARES[contrib].pplns_valid|number_format:$GLOBAL.config.sharediffprecision|default:0}</td>
|
||||
<td>{$PPLNSROUNDSHARES[contrib].pplns_invalid|number_format:$GLOBAL.config.sharediffprecision|default:0}</td>
|
||||
<td>{if $PPLNSROUNDSHARES[contrib].pplns_invalid > 0 && $PPLNSROUNDSHARES[contrib].pplns_valid > 0}{($PPLNSROUNDSHARES[contrib].pplns_invalid / $PPLNSROUNDSHARES[contrib].pplns_valid * 100)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
|
||||
</tr>
|
||||
{/section}
|
||||
|
||||
@ -23,9 +23,9 @@
|
||||
{section txs $ROUNDTRANSACTIONS}
|
||||
<tr{if $GLOBAL.userdata.username|default:"" == $ROUNDTRANSACTIONS[txs].username}{assign var=listed value=1} style="background-color:#99EB99;"{else}{/if}>
|
||||
<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>
|
||||
<td>{$ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
|
||||
<td>{$ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid|number_format:$GLOBAL.config.sharediffprecision|default:0}</td>
|
||||
<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>
|
||||
<td>{$PPLNSROUNDSHARES[txs].pplns_valid|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
|
||||
<td>{$PPLNSROUNDSHARES[txs].pplns_valid|number_format:$GLOBAL.config.sharediffprecision|default:0}</td>
|
||||
<td>{if $PPLNSROUNDSHARES[txs].pplns_valid|default:"0" > 0 }{(( 100 / $PPLNSSHARES) * $PPLNSROUNDSHARES[txs].pplns_valid)|number_format:"2"|default:"0"}{else}0{/if}</td>
|
||||
<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}
|
||||
<font color="{if ($percentage1 >= 100)}green{else}red{/if}">{$percentage1|number_format:"2"}</font></b></td>
|
||||
|
||||
@ -26,12 +26,12 @@
|
||||
{section txs $ROUNDTRANSACTIONS}
|
||||
<tr{if $GLOBAL.userdata.username|default:"" == $ROUNDTRANSACTIONS[txs].username}{assign var=listed value=1} style="background-color:#99EB99;"{else}{/if}>
|
||||
<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>
|
||||
<td>{$SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid|number_format}</td>
|
||||
<td>{$SHARESDATA[$ROUNDTRANSACTIONS[txs].username].invalid|number_format}</td>
|
||||
<td>{$SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td>{$SHARESDATA[$ROUNDTRANSACTIONS[txs].username].invalid|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td>{if $SHARESDATA[$ROUNDTRANSACTIONS[txs].username].invalid > 0 }{($SHARESDATA[$ROUNDTRANSACTIONS[txs].username].invalid / $SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid * 100)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
|
||||
<td>{if $SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid > 0 }{(( 100 / $BLOCKDETAILS.shares) * $SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid)|number_format:"2"}{else}0.00{/if}</td>
|
||||
<td>{$PPLNSROUNDSHARES[txs].pplns_valid|number_format}</td>
|
||||
<td>{$PPLNSROUNDSHARES[txs].pplns_invalid|number_format}</td>
|
||||
<td>{$PPLNSROUNDSHARES[txs].pplns_valid|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td>{$PPLNSROUNDSHARES[txs].pplns_invalid|number_format:$GLOBAL.config.sharediffprecision}</td>
|
||||
<td>{if $PPLNSROUNDSHARES[txs].pplns_invalid > 0 }{($PPLNSROUNDSHARES[txs].pplns_invalid / $PPLNSROUNDSHARES[txs].pplns_valid * 100)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
|
||||
<td>{(( 100 / $PPLNSSHARES) * $PPLNSROUNDSHARES[txs].pplns_valid)|number_format:"2"}</td>
|
||||
<td>{if $SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid > 0 }{math assign="percentage1" equation=(100 / ((( 100 / $BLOCKDETAILS.shares) * $SHARESDATA[$ROUNDTRANSACTIONS[txs].username].valid) / (( 100 / $PPLNSSHARES) * $PPLNSROUNDSHARES[txs].pplns_valid)))}{else if $PPLNSROUNDSHARES[txs].pplns_valid == 0}{assign var=percentage1 value=0}{else}{assign var=percentage1 value=100}{/if}
|
||||
|
||||
@ -22,8 +22,8 @@
|
||||
<tr{if $GLOBAL.userdata.username|default:"" == $data.username}{assign var=listed value=1} style="background-color:#99EB99;"{else}{/if}>
|
||||
<td>{$rank++}</td>
|
||||
<td>{if $data.is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$data.username|default:"unknown"|escape}{/if}</td>
|
||||
<td>{$data.valid|number_format}</td>
|
||||
<td>{$data.invalid|number_format}</td>
|
||||
<td>{$data.valid|number_format:$GLOBAL.config.sharediffprecision|default:0}</td>
|
||||
<td>{$data.invalid|number_format:$GLOBAL.config.sharediffprecision|default:0}</td>
|
||||
<td>{if $data.invalid > 0 }{($data.invalid / $data.valid * 100)|number_format:"2"|default:"0"}{else}0.00{/if}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<tr{if $GLOBAL.userdata.username|default:"" == $ROUNDTRANSACTIONS[txs].username} style="background-color:#99EB99;"{else}{/if}>
|
||||
<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>
|
||||
<td>{$ROUNDTRANSACTIONS[txs].type|default:""}</td>
|
||||
<td>{$ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid|number_format:$GLOBAL.config.sharediffprecision|default:"0"}</td>
|
||||
<td>{$ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid|number_format:$GLOBAL.config.sharediffprecision|default:0}</td>
|
||||
<td>{(( 100 / $BLOCKDETAILS.shares) * $ROUNDSHARES[$ROUNDTRANSACTIONS[txs].uid].valid)|default:"0"|number_format:"2"}</td>
|
||||
<td>{$ROUNDTRANSACTIONS[txs].amount|default:"0"|number_format:"8"}</td>
|
||||
</tr>
|
||||
|
||||
@ -9,9 +9,10 @@ function run_103() {
|
||||
$db_version_now = $setting->getValue('DB_VERSION'); // Our actual version installed
|
||||
|
||||
// Upgrade specific variables
|
||||
$aSql[] = "ALTER TABLE `blocks` CHANGE `shares` `shares` DOUBLE UNSIGNED DEFAULT NULL;";
|
||||
$aSql[] = "UPDATE `statistics_shares` SET `valid` = '0' WHERE `valid` IS NULL;";
|
||||
$aSql[] = "UPDATE `statistics_shares` SET `pplns_valid` = '0' WHERE `pplns_valid` IS NULL;";
|
||||
$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';";
|
||||
$aSql[] = "ALTER TABLE `statistics_shares` CHANGE `valid` `valid` FLOAT UNSIGNED NOT NULL DEFAULT '0', CHANGE `invalid` `invalid` FLOAT UNSIGNED NOT NULL DEFAULT '0', CHANGE `pplns_valid` `pplns_valid` FLOAT UNSIGNED NOT NULL DEFAULT '0', CHANGE `pplns_invalid` `pplns_invalid` FLOAT UNSIGNED NOT NULL DEFAULT '0';";
|
||||
$aSql[] = "UPDATE " . $setting->getTableName() . " SET value = '" . $db_version_new . "' WHERE name = 'DB_VERSION';";
|
||||
|
||||
if ($db_version_now == $db_version_old && version_compare($db_version_now, DB_VERSION, '<')) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user