bugfix for mn voting at 320000

This commit is contained in:
admin@arionum.com
2019-11-15 13:36:40 +02:00
parent 73be045de9
commit 8a9715f306
3 changed files with 19 additions and 9 deletions

View File

@@ -96,9 +96,13 @@ class Block
if ($height>=80458) { if ($height>=80458) {
//reward the masternode //reward the masternode
// do not reward blacklisted mns after 320000
$check_mn_votes="";
if ($height>320000) {
$check_mn_votes="and voted=0";
}
$mn_winner=$db->single( $mn_winner=$db->single(
"SELECT public_key FROM masternode WHERE status=1 AND blacklist<:current AND height<:start ORDER by last_won ASC, public_key ASC LIMIT 1", "SELECT public_key FROM masternode WHERE status=1 AND blacklist<:current AND height<:start $check_mn_votes ORDER by last_won ASC, public_key ASC LIMIT 1",
[":current"=>$height, ":start"=>$height-360] [":current"=>$height, ":start"=>$height-360]
); );
_log("MN Winner: $mn_winner", 2); _log("MN Winner: $mn_winner", 2);
@@ -921,8 +925,14 @@ class Block
if ($height>=80458) { if ($height>=80458) {
//reward the masternode //reward the masternode
// do not reward blacklisted mns after 320000
$check_mn_votes="";
if ($height>320000) {
$check_mn_votes="and voted=0";
}
$mn_winner=$db->single( $mn_winner=$db->single(
"SELECT public_key FROM masternode WHERE status=1 AND blacklist<:current AND height<:start ORDER by last_won ASC, public_key ASC LIMIT 1", "SELECT public_key FROM masternode WHERE status=1 AND blacklist<:current AND height<:start $check_mn_votes ORDER by last_won ASC, public_key ASC LIMIT 1",
[":current"=>$height, ":start"=>$height-360] [":current"=>$height, ":start"=>$height-360]
); );
_log("MN Winner: $mn_winner", 2); _log("MN Winner: $mn_winner", 2);

View File

@@ -1,6 +1,6 @@
<?php <?php
// ARO version // ARO version
define("VERSION", "1.0.0-alpha.3"); define("VERSION", "1.0.0-alpha.4");
// UTC timezone by default // UTC timezone by default
date_default_timezone_set("UTC"); date_default_timezone_set("UTC");

View File

@@ -384,9 +384,9 @@ foreach ($r as $x) {
// get the current block and check it's blockchain // get the current block and check it's blockchain
$data = peer_post($url."currentBlock", [], 5); $data = peer_post($url."currentBlock", [], 5);
if ($data === false) { if ($data === false) {
_log("Peer $x[hostname] unresponsive"); _log("Peer $x[hostname] unresponsive");
// if the peer is unresponsive, mark it as failed and blacklist it for a while // if the peer is unresponsive, mark it as failed and blacklist it for a while
$db->run( $db->run(
"UPDATE peers SET fails=fails+1, blacklisted=UNIX_TIMESTAMP()+((fails+1)*3600) WHERE id=:id", "UPDATE peers SET fails=fails+1, blacklisted=UNIX_TIMESTAMP()+((fails+1)*3600) WHERE id=:id",
[":id" => $x['id']] [":id" => $x['id']]
); );
@@ -620,7 +620,7 @@ if ($current['height'] < $largest_height && $largest_height > 1) {
if ($block_parse_failed==true||$argv[1]=="resync") { if ($block_parse_failed==true||$argv[1]=="resync") {
$last_resync=$db->single("SELECT val FROM config WHERE cfg='last_resync'"); $last_resync=$db->single("SELECT val FROM config WHERE cfg='last_resync'");
if ($last_resync<time()-(3600*24)||$argv[1]=="resync") { if ($last_resync<time()-(3600*24)||$argv[1]=="resync") {
if (((($current['date']<time()-(3600*72))&&$_config['auto_resync'])!==false)||$argv[1]=="resync") { if ((( ($current['date']<time()-(3600*72) ) && $_config['auto_resync'])!==false ) || $argv[1]=="resync" ) {
$db->run("SET foreign_key_checks=0;"); $db->run("SET foreign_key_checks=0;");
$tables = ["accounts", "transactions", "mempool", "masternode","blocks"]; $tables = ["accounts", "transactions", "mempool", "masternode","blocks"];
foreach ($tables as $table) { foreach ($tables as $table) {
@@ -825,7 +825,7 @@ if ($_config['masternode']==true&&!empty($_config['masternode_public_key'])&&!em
if ($f) { if ($f) {
$res=json_decode($f, true); $res=json_decode($f, true);
$res=$res['data']; $res=$res['data'];
if ($res['height']<$current['height']-10080) { if ($res['height']<$current['height']-10080) {
$blacklist=1; $blacklist=1;
} }
echo "Masternode Height: ".$res['height']."\n"; echo "Masternode Height: ".$res['height']."\n";