/* * @project: TERA * @version: Development (beta) * @license: MIT (not for evil) * @copyright: Yuriy Ivanov (Vtools) 2017-2019 [progr76@gmail.com] * Web: https://terafoundation.org * Twitter: https://twitter.com/terafoundation * Telegram: https://web.telegram.org/#/im?p=@terafoundation */ function SavePrivateKey() { var Select = document.getElementById("idTypeKey"); if(Select.value === "brain") { ConvertToPrivateKey(); return ; } var Str = document.getElementById("idKeyNew").value; Str = Str.trim(); if(Select.value === "private" && (Str.length !== 64 || !IsHexStr(Str))) { SetError("Error: Length must 64 HEX chars. (Length=" + Str.length + ")"); return ; } else if(Select.value !== "private" && (Str.length !== 66 || Str.substr(0, 1) !== "0" || !IsHexStr(Str))) { SetError("Error: Length must 66 HEX chars. (Length=" + Str.length + ")"); return ; } if(Select.value === "private" && PrivKeyStr !== Str) SetStatus("Changed privat key"); else if(Select.value === "public" && PubKeyStr !== Str) SetStatus("Changed public key"); GetData("SetWalletKey", Str, function (Data) { if(Data && Data.result === 1) { if(Select.value === "private") SelectStyle("styleContrast1"); else if(Select.value === "public") SelectStyle("styleContrast2"); SetVisibleEditKeys(0); UpdatesData(); } }); }; function CreateCheckPoint() { if(!ServerBlockNumDB || ServerBlockNumDB < 16) { SetError("Not set ServerBlockNumDB"); return ; } var BlockNum = ServerBlockNumDB - 10; SetCheckPoint(BlockNum); }; function UseAutoCheckPoint() { var Set = $("idUseAutoCheckPoint").checked; var Period = ParseNum($("idPeriodAutoCheckPoint").value); GetData("SetAutoCheckPoint", {Set:Set, Period:Period}, function (Data) { if(Data) { SetStatus(Data.text, !Data.result); } }); }; function UseAutoCorrTime() { GetData("SetAutoCorrTime", document.getElementById("idUseAutoCorrTime").checked, function (Data) { if(Data) { SetStatus(Data.text, !Data.result); } }); }; function SetCodeVersion() { var Data = JSON.parse(JSON.stringify(CONFIG_DATA.CODE_VERSION)); if(!Data.BlockNum) { Data.LevelUpdate = 160; } Data.BlockNum = CONFIG_DATA.CurBlockNum; Data.addrArr = GetHexFromArr(Data.addrArr); Data.Hash = GetHexFromArr(Data.Hash); Data.Sign = GetHexFromArr(Data.Sign); Data.Hash = undefined; Data.Sign = undefined; Data.StartLoadVersionNum = undefined; var Str = JSON.stringify(Data, "", 2); document.getElementById("idDevService").value = Str; }; function SetNewCodeVersion() { try { var Data = JSON.parse(document.getElementById("idDevService").value); } catch(e) { SetError("Error format setting data"); return ; } Data.addrArr = GetArrFromHex(Data.addrArr); GetData("SetNewCodeVersion", Data, function (Data) { if(Data) { SetStatus(Data.text, !Data.result); } }); }; function SetCorrTime() { var AutoDelta = parseInt(document.getElementById("idDevValue").value); var Data = {Num:CONFIG_DATA.CurBlockNum, bUse:1, bAddTime:1}; if(AutoDelta < 0) { AutoDelta = - AutoDelta; Data.bAddTime = 0; } Data.DeltaTime = 40; Data.StartBlockNum = ServerCurBlockNum + 10; Data.EndBlockNum = Data.StartBlockNum + Math.floor(AutoDelta / Data.DeltaTime); var Str = JSON.stringify(Data, "", 2); document.getElementById("idDevService").value = Str; }; function StartTimeCorrect() { try { var Data = JSON.parse(document.getElementById("idDevService").value); } catch(e) { SetError("Error format setting data"); return ; } GetData("SetCheckDeltaTime", Data, function (Data) { if(Data) { SetStatus(Data.text, !Data.result); } }); }; function RestartNode() { GetData("RestartNode", {}); DoRestartWallet(); }; function UseAutoUpdate() { var Data = {USE_AUTO_UPDATE:document.getElementById("idAutoUpdate").checked, DoMining:1}; GetData("SaveConstant", Data, function (Data) { if(Data && Data.result) { SetStatus("Save AutoUpdate: " + document.getElementById("idAutoUpdate").checked); } }); }; function UseMining() { if(!MiningAccount) { SetError("Not set mining account"); return ; } var Data = {USE_MINING:document.getElementById("idUseMining").checked, DoMining:1}; GetData("SaveConstant", Data, function (Data) { if(Data && Data.result) { SetStatus("Save Mining: " + document.getElementById("idUseMining").checked); } }); }; function SetPercentMining() { var Data = {POW_MAX_PERCENT:document.getElementById("idPercentMining").value}; GetData("SaveConstant", Data, function (Data) { if(Data && Data.result) { SetStatus("Save Mining percent: " + document.getElementById("idPercentMining").value + " %"); } }); }; function MiningSets() { var name = "edit_mining_set"; if(IsVisibleBlock(name)) { SetVisibleBlock(name, false); } else { SetVisibleBlock(name, true); document.getElementById("idMiningAccount").value = MiningAccount; document.getElementById("idMiningAccount").focus(); } }; function SaveMiningSet(Value) { SetVisibleBlock("edit_mining_set", false); if(Value) { MiningAccount = Value; } else { MiningAccount = ParseNum(document.getElementById("idMiningAccount").value); } GetData("SetMining", MiningAccount, function (Data) { }); }; function CancalMiningSet() { var name = "edit_mining_set"; SetVisibleBlock(name, false); }; var WasHistoryMaxNum; var WasLastNumSound = 0; function CheckNewMoney() { if(!$("idUseSoundHistory").checked) return ; if(WasHistoryMaxNum === HistoryMaxNum || !ServerBlockNumDB) return ; WasHistoryMaxNum = HistoryMaxNum; GetData("GetHistoryAct", {StartNum:HistoryMaxNum - 40, CountNum:40}, function (Data) { if(Data && Data.result) { var arr = Data.arr; for(var i = 0; i < arr.length; i++) { var Item = arr[i]; if(Item.Direct === "+" && Item.BlockNum > ServerBlockNumDB - 60 && Item.BlockNum < ServerBlockNumDB - 20 && Item.BlockNum > WasLastNumSound) { WasLastNumSound = Item.BlockNum; $("sound_coin").play(); } } } }); }; function DoRestartWallet() { SetStatus("