mirror of
https://github.com/monero-project/monero-gui.git
synced 2024-11-17 00:07:51 +00:00
Fix restore height when using stagenet/testnet
This commit is contained in:
parent
c286c7e5a8
commit
ca9883b6c0
4 changed files with 18 additions and 7 deletions
16
js/Wizard.js
16
js/Wizard.js
|
@ -134,15 +134,15 @@ function restoreWalletCheckViewSpendAddress(walletmanager, nettype, viewkey, spe
|
|||
|
||||
//usage: getApproximateBlockchainHeight("March 18 2016") or getApproximateBlockchainHeight("2016-11-11")
|
||||
//returns estimated block height with 1 month buffer prior to requested date.
|
||||
function getApproximateBlockchainHeight(_date){
|
||||
function getApproximateBlockchainHeight(_date, _nettype){
|
||||
// time of monero birth 2014-04-18 10:49:53 (1397818193)
|
||||
var moneroBirthTime = 1397818193;
|
||||
var moneroBirthTime = _nettype == "Mainnet" ? 1397818193 : _nettype == "Testnet" ? 1410295020 : 1518932025;
|
||||
// avg seconds per block in v1
|
||||
var secondsPerBlockV1 = 60;
|
||||
// time of v2 fork 2016-03-23 15:57:38 (1458748658)
|
||||
var forkTime = 1458748658;
|
||||
var forkTime = _nettype == "Mainnet" ? 1458748658 : _nettype == "Testnet" ? 1448285909 : 1520937818;
|
||||
// v2 fork block
|
||||
var forkBlock = 1009827;
|
||||
var forkBlock = _nettype == "Mainnet" ? 1009827 : _nettype == "Testnet" ? 624634 : 32000;
|
||||
// avg seconds per block in V2
|
||||
var secondsPerBlockV2 = 120;
|
||||
// time in UTC
|
||||
|
@ -166,6 +166,14 @@ function getApproximateBlockchainHeight(_date){
|
|||
console.log("Calculated blockchain height: " + approxBlockchainHeight );
|
||||
secondsPerBlock = secondsPerBlockV2;
|
||||
}
|
||||
|
||||
if(_nettype == "Testnet"){
|
||||
// testnet got some huge rollbacks, so the estimation is way off
|
||||
var approximateTestnetRolledBackBlocks = 303967;
|
||||
if(approxBlockchainHeight > approximateTestnetRolledBackBlocks)
|
||||
approxBlockchainHeight -= approximateTestnetRolledBackBlocks
|
||||
}
|
||||
|
||||
var blocksPerMonth = 60*60*24*30/secondsPerBlock;
|
||||
if(approxBlockchainHeight - blocksPerMonth > 0){
|
||||
return approxBlockchainHeight - blocksPerMonth;
|
||||
|
|
|
@ -32,6 +32,7 @@ import QtQuick.Controls 2.0
|
|||
import QtQuick.Dialogs 1.2
|
||||
|
||||
import "../../js/Wizard.js" as Wizard
|
||||
import "../../js/Utils.js" as Utils
|
||||
import "../../version.js" as Version
|
||||
import "../../components" as MoneroComponents
|
||||
|
||||
|
@ -184,7 +185,7 @@ Rectangle {
|
|||
var restoreHeightText = inputDialog.inputText;
|
||||
// Parse date string or restore height as integer
|
||||
if(restoreHeightText.indexOf('-') === 4 && restoreHeightText.length === 10) {
|
||||
_restoreHeight = Wizard.getApproximateBlockchainHeight(restoreHeightText);
|
||||
_restoreHeight = Wizard.getApproximateBlockchainHeight(restoreHeightText, Utils.netTypeToString());
|
||||
} else {
|
||||
_restoreHeight = parseInt(restoreHeightText)
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ import QtQuick.Controls 2.0
|
|||
|
||||
import moneroComponents.Wallet 1.0
|
||||
import "../js/Wizard.js" as Wizard
|
||||
import "../js/Utils.js" as Utils
|
||||
import "../components"
|
||||
import "../components" as MoneroComponents
|
||||
|
||||
|
@ -195,7 +196,7 @@ Rectangle {
|
|||
if(restoreHeight.text){
|
||||
// Parse date string or restore height as integer
|
||||
if(restoreHeight.text.indexOf('-') === 4 && restoreHeight.text.length === 10){
|
||||
_restoreHeight = Wizard.getApproximateBlockchainHeight(restoreHeight.text);
|
||||
_restoreHeight = Wizard.getApproximateBlockchainHeight(restoreHeight.text, Utils.netTypeToString());
|
||||
} else {
|
||||
_restoreHeight = parseInt(restoreHeight.text)
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ import QtQuick.Layouts 1.2
|
|||
import QtQuick.Controls 2.0
|
||||
|
||||
import "../js/Wizard.js" as Wizard
|
||||
import "../js/Utils.js" as Utils
|
||||
import "../components" as MoneroComponents
|
||||
|
||||
Rectangle {
|
||||
|
@ -292,7 +293,7 @@ Rectangle {
|
|||
if(restoreHeight.text){
|
||||
// Parse date string or restore height as integer
|
||||
if(restoreHeight.text.indexOf('-') === 4 && restoreHeight.text.length === 10){
|
||||
_restoreHeight = Wizard.getApproximateBlockchainHeight(restoreHeight.text);
|
||||
_restoreHeight = Wizard.getApproximateBlockchainHeight(restoreHeight.text, Utils.netTypeToString());
|
||||
} else {
|
||||
_restoreHeight = parseInt(restoreHeight.text)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue