Skip to content
Snippets Groups Projects
Commit 9bbac4e5 authored by Éloïs's avatar Éloïs Committed by GitHub
Browse files

fix fork bug in blockMembers page

parent 216fc744
No related branches found
No related tags found
No related merge requests found
......@@ -1009,31 +1009,34 @@ module.exports = (host, port, duniterServer, sigValidity, msValidity, sigWindow,
try {
// get GET parameters
var begin = 0;// Default Value
if( typeof(req.query.begin) != 'undefined' ) { begin = req.query.begin; }
if( typeof(req.query.begin) != 'undefined' && req.query.begin >= 0) { begin = req.query.begin; }
var end = -1;// Default Value is current timestamp
if( typeof(req.query.end) != 'undefined' ) { begin = req.query.end; }
if( typeof(req.query.end) != 'undefined' && req.query.end >= 0) { end = req.query.end; }
// get beginBlock and endBlock
var beginBlock = yield duniterServer.dal.peerDAL.query('SELECT `medianTime` FROM block WHERE `number` = '+begin+' LIMIT 1');
var endBlock = yield duniterServer.dal.peerDAL.query('SELECT `medianTime` FROM block WHERE `number` = '+end+' LIMIT 1');
// get full blockchain
// get blockchain
if (end >= begin && begin >= 0)
{
var blockchain = yield duniterServer.dal.peerDAL.query('SELECT `issuer`,`membersCount`,`medianTime`,`dividend`,`number`,`nonce` FROM block WHERE `number` < '+end+' AND `number` > '+begin+' ORDER BY `medianTime` ASC');
var blockchain = yield duniterServer.dal.peerDAL.query('SELECT `issuer`,`membersCount`,`medianTime`,`dividend`,`number`,`nonce` FROM block WHERE `fork`=0 AND `medianTime` < '+endBlock[0].medianTime+' AND `medianTime` > '+beginBlock[0].medianTime+' ORDER BY `medianTime` ASC');
}
else
{
var blockchain = yield duniterServer.dal.peerDAL.query('SELECT `issuer`,`membersCount`,`medianTime`,`dividend`,`number`,`nonce` FROM block WHERE `number` > '+begin+' ORDER BY `medianTime` ASC');
var blockchain = yield duniterServer.dal.peerDAL.query('SELECT `issuer`,`membersCount`,`medianTime`,`dividend`,`number`,`nonce` FROM block WHERE `fork`=0 AND `medianTime` > '+beginBlock[0].medianTime+' ORDER BY `medianTime` ASC');
}
//var blockchain = yield duniterServer.dal.peerDAL.query('SELECT `issuer`,`membersCount`,`medianTime`,`dividend`,`number`,`nonce` FROM block WHERE `medianTime` < '+end+' AND `medianTime` > '+begin+' ORDER BY `medianTime` ASC');
// get blockchain timestamp
const currentBlockNumber = blockchain.length-1;
const currentBlockNumber = begin+blockchain.length-1;
const currentBlockchainTimestamp = blockchain[currentBlockNumber].medianTime;
if (end == -1) { end = currentBlockNumber; }
// get idtys list
var idtys = yield duniterServer.dal.peerDAL.query('SELECT `uid`,`pub` FROM i_index WHERE `wasMember`=1');
// get current membersCount
const currentMembersCount = blockchain[currentBlockNumber].membersCount;
//console.log("blockchain[currentBlockNumber].membersCount %s", blockchain[currentBlockNumber].membersCount);
// create and initialize tabNbBlockByMember and tabIndexMembers
var tabNbBlockByMember = [ [] ];
......@@ -1100,7 +1103,7 @@ module.exports = (host, port, duniterServer, sigValidity, msValidity, sigWindow,
}
// Appeler le module blockChart
let blockChartMod = blockChart(req, res, tabNbBlockByMemberSort, currentBlockNumber);
let blockChartMod = blockChart(req, res, tabNbBlockByMemberSort, currentBlockNumber, begin, end);
// renvoyer les données en JSON
//var response = JSON.stringify(tabNbBlockByMemberSort);
......@@ -1122,21 +1125,25 @@ module.exports = (host, port, duniterServer, sigValidity, msValidity, sigWindow,
var begin = 0;// Default Value
if( typeof(req.query.begin) != 'undefined' ) { begin = req.query.begin; }
var end = -1;// Default Value is current timestamp
if( typeof(req.query.end) != 'undefined' ) { begin = req.query.end; }
if( typeof(req.query.end) != 'undefined' ) { end = req.query.end; }
// get full blockchain
// get beginBlock and endBlock
var beginBlock = yield duniterServer.dal.peerDAL.query('SELECT `medianTime` FROM block WHERE `number` = '+begin+' LIMIT 1');
var endBlock = yield duniterServer.dal.peerDAL.query('SELECT `medianTime` FROM block WHERE `number` = '+end+' LIMIT 1');
// get blockchain
if (end >= begin && begin >= 0)
{
var blockchain = yield duniterServer.dal.peerDAL.query('SELECT `issuer`,`membersCount`,`monetaryMass`,`medianTime`,`dividend`,`number`,`nonce` FROM block WHERE `number` < '+end+' AND `number` > '+begin+' ORDER BY `medianTime` ASC');
var blockchain = yield duniterServer.dal.peerDAL.query('SELECT `issuer`,`membersCount`,`monetaryMass`,`medianTime`,`dividend`,`number`,`nonce` FROM block WHERE `fork`=0 AND `medianTime` < '+endBlock[0].medianTime+' AND `medianTime` > '+beginBlock[0].medianTime+' ORDER BY `medianTime` ASC');
}
else
{
var blockchain = yield duniterServer.dal.peerDAL.query('SELECT `issuer`,`membersCount`,`monetaryMass`,`medianTime`,`dividend`,`number`,`nonce` FROM block WHERE `number` > '+begin+' ORDER BY `medianTime` ASC');
var blockchain = yield duniterServer.dal.peerDAL.query('SELECT `issuer`,`membersCount`,`monetaryMass`,`medianTime`,`dividend`,`number`,`nonce` FROM block WHERE `fork`=0 AND `medianTime` > '+beginBlock[0].medianTime+' ORDER BY `medianTime` ASC');
}
// get blockchain timestamp
const currentBlockNumber = blockchain.length-1;
const currentBlockchainTimestamp = blockchain[currentBlockNumber].medianTime;
const currentBlockNumber = begin+blockchain.length-1;
const currentBlockchainTimestamp = blockchain[blockchain.length-1].medianTime;
// create and fill tabMembersCount, tabMonetaryMass, tabCurrency and currentDividend
var tabMembersCount = [];
......@@ -1152,7 +1159,7 @@ module.exports = (host, port, duniterServer, sigValidity, msValidity, sigWindow,
tabMembersCount.push(blockchain[b].membersCount);
tabMonetaryMass.push(blockchain[b].monetaryMass);
tabCurrency.push({
blockNumber: b,
blockNumber: blockchain[b].number,
timestamp: blockchain[b].medianTime,
membersCount: blockchain[b].membersCount,
monetaryMass: blockchain[b].monetaryMass,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment