refactor: 0 error

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2019-07-10 15:59:04 +08:00
parent cbc0ed72c4
commit 4527e437fa
39 changed files with 1802 additions and 1695 deletions

View File

@@ -41,15 +41,7 @@ ContenTypeMap[".js"] = "application/javascript";
ContenTypeMap["html"] = "text/html";
ContenTypeMap["psd"] = "application/octet-stream";
global.HTTPCaller = {};
let {
ToLog,
ToError,
DApps,
SERVER,
MAX_TRANSACTION_COUNT
} = global
let HTTPCaller = global.HTTPCaller
function DoCommand(response, Type, Path, params, remoteAddress) {
var F = global.HTTPCaller[params[0]];
if (F) {
@@ -188,7 +180,7 @@ function DappClientCodeFile(response, StrNum) {
response.end();
};
global.HTTPCaller.DappSmartHTMLFile = function(Params) {
var Data = global.DApps.Smart.ReadSmart(ParseNum(Params.Smart));
var Data = global.DApps.Smart.ReadSmart(global.ParseNum(Params.Smart));
if (Data) {
if (global.DEV_MODE && Params.DebugPath) {
global.ToLog("Load: " + Params.DebugPath);
@@ -203,7 +195,7 @@ global.SendBlockFile = SendBlockFile;
function SendBlockFile(response, BlockNum, TrNum) {
BlockNum = parseInt(BlockNum);
TrNum = parseInt(TrNum);
if (BlockNum && BlockNum <= global.SERVER.GetMaxNumBlockDB() && TrNum <= MAX_TRANSACTION_COUNT) {
if (BlockNum && BlockNum <= global.SERVER.GetMaxNumBlockDB() && TrNum <= global.MAX_TRANSACTION_COUNT) {
var Block = global.SERVER.ReadBlockDB(BlockNum);
if (Block && Block.arrContent) {
SendToResponceFile(response, Block, TrNum);
@@ -211,7 +203,7 @@ function SendBlockFile(response, BlockNum, TrNum) {
}
else
if (!Block || !Block.TrDataPos) {
LoadBlockFromNetwork({ BlockNum: BlockNum }, function(Err, Block) {
global.LoadBlockFromNetwork({ BlockNum: BlockNum }, function(Err, Block) {
if (Err) {
SendToResponce404(response);
}
@@ -247,11 +239,11 @@ function SendToResponce404(response) {
response.end();
};
HTTPCaller.DappBlockFile = function(Params, response) {
Params.BlockNum = ParseNum(Params.BlockNum);
Params.TrNum = ParseNum(Params.TrNum);
Params.BlockNum = global.ParseNum(Params.BlockNum);
Params.TrNum = global.ParseNum(Params.TrNum);
if (!Params.TrNum)
Params.TrNum = 0;
if (Params.BlockNum && Params.BlockNum <= global.SERVER.GetMaxNumBlockDB() && Params.TrNum <= MAX_TRANSACTION_COUNT) {
if (Params.BlockNum && Params.BlockNum <= global.SERVER.GetMaxNumBlockDB() && Params.TrNum <= global.MAX_TRANSACTION_COUNT) {
var Block = global.SERVER.ReadBlockDB(Params.BlockNum);
if (Block && Block.arrContent) {
SendToResponceDappFile(response, Block, Params.TrNum);
@@ -259,7 +251,7 @@ HTTPCaller.DappBlockFile = function(Params, response) {
}
else
if (!Block || !Block.TrDataPos) {
LoadBlockFromNetwork(Params, function(Err, Block) {
global.LoadBlockFromNetwork(Params, function(Err, Block) {
if (Err) {
SendToResponceResult0(response);
}
@@ -274,7 +266,7 @@ HTTPCaller.DappBlockFile = function(Params, response) {
};
function SendToResponceDappFile(response, Block, TrNum) {
var Result = { result: 0 };
var Result: any = { result: 0 };
var Body = Block.arrContent[TrNum];
if (Body) {
var Type = Body[0];
@@ -283,7 +275,7 @@ function SendToResponceDappFile(response, Block, TrNum) {
Result = { result: 1, Type: Type, ContentType: TR.ContentType, Name: TR.Name, Body: TR.Data.toString('utf8') };
}
else {
var App = DAppByType[Type];
var App = global.DAppByType[Type];
if (App) {
Body = JSON.parse(App.GetScriptTransaction(Body));
}
@@ -303,7 +295,7 @@ HTTPCaller.DappStaticCall = function(Params, response) {
global.DApps.Accounts.BeginBlock();
global.DApps.Accounts.BeginTransaction();
global.TickCounter = 100000;
var Account = global.DApps.Accounts.ReadStateTR(ParseNum(Params.Account));
var Account = global.DApps.Accounts.ReadStateTR(global.ParseNum(Params.Account));
if (!Account) {
return { result: 0, RetValue: "Error account Num: " + Params.Account };
}
@@ -324,7 +316,7 @@ HTTPCaller.DappStaticCall = function(Params, response) {
return null;
};
HTTPCaller.DappInfo = function(Params, responce, ObjectOnly) {
var SmartNum = ParseNum(Params.Smart);
var SmartNum = global.ParseNum(Params.Smart);
if (global.TX_PROCESS && global.TX_PROCESS.Worker)
global.TX_PROCESS.Worker.send({ cmd: "SetSmartEvent", Smart: SmartNum });
var Account;
@@ -349,15 +341,15 @@ HTTPCaller.DappInfo = function(Params, responce, ObjectOnly) {
var EArr = GetEventArray(SmartNum, Context);
var WLData = HTTPCaller.DappWalletList(Params);
var ArrLog = [];
for (var i = 0; i < ArrLogClient.length; i++) {
var Item = ArrLogClient[i];
for (var i = 0; i < global.ArrLogClient.length; i++) {
var Item = global.ArrLogClient[i];
if (!Item.final)
continue;
ArrLog.push(Item);
}
var Ret = {
result: 1, DELTA_CURRENT_TIME: DELTA_CURRENT_TIME, MIN_POWER_POW_TR: MIN_POWER_POW_TR, FIRST_TIME_BLOCK: FIRST_TIME_BLOCK,
CONSENSUS_PERIOD_TIME: CONSENSUS_PERIOD_TIME, PRICE_DAO: PRICE_DAO(SERVER.BlockNumDB), NEW_SIGN_TIME: NEW_SIGN_TIME, Smart: Smart,
var Ret: any = {
result: 1, DELTA_CURRENT_TIME: global.DELTA_CURRENT_TIME, MIN_POWER_POW_TR: global.MIN_POWER_POW_TR, FIRST_TIME_BLOCK: global.FIRST_TIME_BLOCK,
CONSENSUS_PERIOD_TIME: global.CONSENSUS_PERIOD_TIME, PRICE_DAO: global.PRICE_DAO(global.SERVER.BlockNumDB), NEW_SIGN_TIME: global.NEW_SIGN_TIME, Smart: Smart,
Account: Account, ArrWallet: WLData.arr, ArrEvent: EArr, ArrLog: ArrLog,
};
if (global.WALLET) {
@@ -367,7 +359,7 @@ HTTPCaller.DappInfo = function(Params, responce, ObjectOnly) {
}
if (!ObjectOnly) {
Ret.CurTime = Date.now();
Ret.CurBlockNum = GetCurrentBlockNumByTime();
Ret.CurBlockNum = global.GetCurrentBlockNumByTime();
Ret.BlockNumDB = global.SERVER.BlockNumDB;
Ret.MaxAccID = global.DApps.Accounts.GetMaxAccount();
Ret.MaxDappsID = global.DApps.Smart.GetMaxNum();
@@ -375,14 +367,14 @@ HTTPCaller.DappInfo = function(Params, responce, ObjectOnly) {
return Ret;
};
HTTPCaller.DappWalletList = function(Params) {
var arr0 = global.DApps.Accounts.GetWalletAccountsByMap(WALLET.AccountMap);
var arr0 = global.DApps.Accounts.GetWalletAccountsByMap(global.WALLET.AccountMap);
var arr = [];
for (var i = 0; i < arr0.length; i++) {
if (Params.AllAccounts || arr0[i].Value.Smart === Params.Smart) {
arr.push(arr0[i]);
}
}
var Ret = { result: 1, arr: arr, };
var Ret: any = { result: 1, arr: arr, };
return Ret;
};
HTTPCaller.DappAccountList = function(Params) {
@@ -402,13 +394,13 @@ HTTPCaller.DappTransactionList = function(Params, response) {
Params.Param3 = Params.BlockNum;
return HTTPCaller.GetTransactionAll(Params, response);
};
var sessionid = GetHexFromAddres(crypto.randomBytes(20));
var sessionid = global.GetHexFromAddres(crypto.randomBytes(20));
HTTPCaller.RestartNode = function(Params) {
global.RestartNode();
return { result: 1 };
};
HTTPCaller.ToLogServer = function(Str) {
ToLogClient(Str);
global.ToLogClient(Str);
return { result: 1 };
};
HTTPCaller.FindMyAccounts = function(Params) {
@@ -443,11 +435,11 @@ HTTPCaller.GetBlockList = function(Params, response, bOnlyNum) {
if (!Block) {
CountWait++;
WasWait = 1;
LoadBlockFromNetwork({ BlockNum: BlockNum }, function(Err, Block) {
global.LoadBlockFromNetwork({ BlockNum: BlockNum }, function(Err, Block) {
CountWait--;
if (CountWait === 0) {
var arr = global.SERVER.GetRows(Params.StartNum, Params.CountNum, Params.Filter);
var Result = { arr: arr, result: 1 };
var Result: any = { arr: arr, result: 1 };
response.end(JSON.stringify(Result));
}
});
@@ -466,7 +458,7 @@ HTTPCaller.GetTransactionAll = function(Params, response) {
if (BlockNum < global.SERVER.BlockNumDBMin) {
var Block = global.SERVER.ReadBlockHeaderDB(BlockNum);
if (!Block) {
LoadBlockFromNetwork({ BlockNum: BlockNum }, function(Err, Block) {
global.LoadBlockFromNetwork({ BlockNum: BlockNum }, function(Err, Block) {
var Result;
if (Err) {
Result = { arr: [], result: 0 };
@@ -492,7 +484,7 @@ HTTPCaller.GetHashList = function(Params) {
var arr = global.DApps.Accounts.DBAccountsHash.GetRows(Params.StartNum, Params.CountNum, Params.Filter);
for (var i = 0; i < arr.length; i++) {
var item = arr[i];
item.BlockNum = item.Num * PERIOD_ACCOUNT_HASH;
item.BlockNum = item.Num * global.PERIOD_ACCOUNT_HASH;
item.Hash100 = [];
if (item.BlockNum % 100 === 0) {
var Data = global.SERVER.DBHeader100.Read(item.BlockNum / 100);
@@ -527,24 +519,24 @@ HTTPCaller.GetWalletInfo = function(Params) {
var TXBlockNum = 0;
if (StateTX)
TXBlockNum = StateTX.BlockNum;
var Ret = {
var Ret: any = {
result: 1, WalletOpen: global.WALLET.WalletOpen, WalletIsOpen: (global.WALLET.WalletOpen !== false), WalletCanSign: (global.WALLET.WalletOpen !== false && global.WALLET.KeyPair.WasInit),
CODE_VERSION: CODE_VERSION, MAX_TRANSACTION_LIMIT: MAX_TRANSACTION_LIMIT, VersionNum: global.UPDATE_CODE_VERSION_NUM, RelayMode: global.SERVER.RelayMode,
BlockNumDB: global.SERVER.BlockNumDB, CurBlockNum: GetCurrentBlockNumByTime(), CurTime: Date.now(), IsDevelopAccount: IsDeveloperAccount(WALLET.PubKeyArr),
AccountMap: global.WALLET.AccountMap, ArrLog: ArrLogClient, MaxAccID: global.DApps.Accounts.GetMaxAccount(), MaxActNum: global.DApps.Accounts.GetActsMaxNum(),
CODE_VERSION: global.CODE_VERSION, MAX_TRANSACTION_LIMIT: global.MAX_TRANSACTION_LIMIT, VersionNum: global.UPDATE_CODE_VERSION_NUM, RelayMode: global.SERVER.RelayMode,
BlockNumDB: global.SERVER.BlockNumDB, CurBlockNum: global.GetCurrentBlockNumByTime(), CurTime: Date.now(), IsDevelopAccount: global.IsDeveloperAccount(global.WALLET.PubKeyArr),
AccountMap: global.WALLET.AccountMap, ArrLog: global.global.ArrLogClient, MaxAccID: global.DApps.Accounts.GetMaxAccount(), MaxActNum: global.DApps.Accounts.GetActsMaxNum(),
MaxDappsID: global.DApps.Smart.GetMaxNum(), NeedRestart: global.NeedRestart, ip: global.SERVER.ip, port: global.SERVER.port, NET_WORK_MODE: global.NET_WORK_MODE,
INTERNET_IP_FROM_STUN: global.INTERNET_IP_FROM_STUN, HistoryMaxNum: MaxHistory, DELTA_CURRENT_TIME: DELTA_CURRENT_TIME, FIRST_TIME_BLOCK: FIRST_TIME_BLOCK,
CONSENSUS_PERIOD_TIME: CONSENSUS_PERIOD_TIME, NEW_SIGN_TIME: NEW_SIGN_TIME, DATA_PATH: (DATA_PATH.substr(1, 1) === ":" ? DATA_PATH : GetNormalPathString(process.cwd() + "/" + DATA_PATH)),
NodeAddrStr: global.SERVER.addrStr, STAT_MODE: global.STAT_MODE, HTTPPort: global.HTTP_PORT_NUMBER, HTTPPassword: HTTP_PORT_PASSWORD,
CONSTANTS: Constants, CheckPointBlockNum: CHECK_POINT.BlockNum, MiningAccount: global.GENERATE_BLOCK_ACCOUNT, CountMiningCPU: GetCountMiningCPU(),
CountRunCPU: global.ArrMiningWrk.length, MiningPaused: global.MiningPaused, HashRate: HashRateOneSec, MIN_POWER_POW_TR: MIN_POWER_POW_TR,
PRICE_DAO: PRICE_DAO(SERVER.BlockNumDB), NWMODE: global.NWMODE, PERIOD_ACCOUNT_HASH: PERIOD_ACCOUNT_HASH, MAX_ACCOUNT_HASH: global.DApps.Accounts.DBAccountsHash.GetMaxNum(),
INTERNET_IP_FROM_STUN: global.INTERNET_IP_FROM_STUN, HistoryMaxNum: MaxHistory, DELTA_CURRENT_TIME: global.DELTA_CURRENT_TIME, FIRST_TIME_BLOCK: global.FIRST_TIME_BLOCK,
CONSENSUS_PERIOD_TIME: global.CONSENSUS_PERIOD_TIME, NEW_SIGN_TIME: global.NEW_SIGN_TIME, DATA_PATH: (global.DATA_PATH.substr(1, 1) === ":" ? global.DATA_PATH : global.GetNormalPathString(process.cwd() + "/" + global.DATA_PATH)),
NodeAddrStr: global.SERVER.addrStr, STAT_MODE: global.STAT_MODE, HTTPPort: global.HTTP_PORT_NUMBER, HTTPPassword: global.HTTP_PORT_PASSWORD,
CONSTANTS: Constants, CheckPointBlockNum: global.CHECK_POINT.BlockNum, MiningAccount: global.GENERATE_BLOCK_ACCOUNT, CountMiningCPU: global.GetCountMiningCPU(),
CountRunCPU: global.ArrMiningWrk.length, MiningPaused: global.MiningPaused, HashRate: HashRateOneSec, MIN_POWER_POW_TR: global.MIN_POWER_POW_TR,
PRICE_DAO: global.PRICE_DAO(global.SERVER.BlockNumDB), NWMODE: global.NWMODE, PERIOD_ACCOUNT_HASH: global.PERIOD_ACCOUNT_HASH, MAX_ACCOUNT_HASH: global.DApps.Accounts.DBAccountsHash.GetMaxNum(),
TXBlockNum: TXBlockNum, SpeedSignLib: global.SpeedSignLib,
};
if (Params.Account)
Ret.PrivateKey = global.GetHexFromArr(WALLET.GetPrivateKey(WALLET.AccountMap[Params.Account]));
Ret.PrivateKey = global.GetHexFromArr(global.WALLET.GetPrivateKey(global.WALLET.AccountMap[Params.Account]));
else
Ret.PrivateKey = global.GetHexFromArr(WALLET.GetPrivateKey());
Ret.PrivateKey = global.GetHexFromArr(global.WALLET.GetPrivateKey());
Ret.PublicKey = global.WALLET.KeyPair.PubKeyStr;
return Ret;
};
@@ -553,7 +545,7 @@ HTTPCaller.TestSignLib = function() {
global.TestSignLib();
};
HTTPCaller.GetWalletAccounts = function() {
var Ret = { result: 1, arr: global.DApps.Accounts.GetWalletAccountsByMap(WALLET.AccountMap), };
var Ret: any = { result: 1, arr: global.DApps.Accounts.GetWalletAccountsByMap(global.WALLET.AccountMap), };
Ret.PrivateKey = global.WALLET.KeyPair.PrivKeyStr;
Ret.PublicKey = global.WALLET.KeyPair.PubKeyStr;
return Ret;
@@ -589,14 +581,14 @@ HTTPCaller.GetSignFromHEX = function(Params) {
};
HTTPCaller.SendTransactionHex = function(Params) {
var body = global.GetArrFromHex(Params.Hex);
var Result = { result: 1 };
var Result: any = { result: 1 };
var Res = global.SERVER.AddTransactionOwn({ body: body, ToAll: 1 });
Result.sessionid = sessionid;
Result.text = AddTrMap[Res];
Result.text = global.AddTrMap[Res];
var final = false;
if (Res <= 0 && Res !== - 3)
final = true;
ToLogClient("Send: " + Result.text, global.GetHexFromArr(sha3(body)), final);
global.ToLogClient("Send: " + Result.text, global.GetHexFromArr(global.sha3(body)), final);
return Result;
};
HTTPCaller.SendDirectCode = function(Params, response) {
@@ -617,7 +609,7 @@ HTTPCaller.SendDirectCode = function(Params, response) {
else {
try {
var ret = eval(Params.Code);
Result = JSON.stringify(ret, "", 4);
Result = JSON.stringify(ret, undefined, 4);
}
catch (e) {
Result = "" + e;
@@ -634,12 +626,12 @@ HTTPCaller.SetMining = function(MiningAccount) {
function CheckCorrectDevKey() {
if (global.WALLET.WalletOpen === false) {
var StrErr = "Not open wallet";
ToLogClient(StrErr);
global.ToLogClient(StrErr);
return { result: 0, text: StrErr };
}
if (!IsDeveloperAccount(WALLET.PubKeyArr)) {
if (!global.IsDeveloperAccount(global.WALLET.PubKeyArr)) {
var StrErr = "Not developer key";
ToLogClient(StrErr);
global.ToLogClient(StrErr);
return { result: 0, text: StrErr };
}
return true;
@@ -685,8 +677,8 @@ function SetCheckPointOnBlock(BlockNum) {
var Block = global.SERVER.ReadBlockHeaderDB(BlockNum);
if (!Block)
return 0;
var SignArr = arr2(Block.Hash, GetArrFromValue(Block.BlockNum));
var Sign = secp256k1.sign(SHA3BUF(SignArr, Block.BlockNum), global.WALLET.KeyPair.getPrivateKey('')).signature;
var SignArr = global.arr2(Block.Hash, global.GetArrFromValue(Block.BlockNum));
var Sign = global.secp256k1.sign(global.SHA3BUF(SignArr, Block.BlockNum), global.WALLET.KeyPair.getPrivateKey('')).signature;
global.CHECK_POINT = { BlockNum: BlockNum, Hash: Block.Hash, Sign: Sign };
global.SERVER.ResetNextPingAllNode();
return 1;
@@ -708,17 +700,17 @@ var SumCheckPow = 0;
var CountCheckPow = 0;
function RunSetCheckPoint() {
if (!SERVER.BlockNumDB)
if (!global.SERVER.BlockNumDB)
return;
if (SERVER.BlockNumDB < 2100000)
if (global.SERVER.BlockNumDB < 2100000)
return;
var Delta = GetCurrentBlockNumByTime() - global.SERVER.BlockNumDB;
var Delta = global.GetCurrentBlockNumByTime() - global.SERVER.BlockNumDB;
if (Delta > 16)
return;
var BlockNum = global.SERVER.BlockNumDB - global.CheckPointDelta;
var Block = global.SERVER.ReadBlockHeaderDB(BlockNum);
if (Block) {
var Power = GetPowPower(Block.PowHash);
var Power = global.GetPowPower(Block.PowHash);
if (Power < 30) {
global.ToLog("CANNOT SET CHECK POINT Power=" + Power + " BlockNum=" + BlockNum);
return;
@@ -737,7 +729,7 @@ function RunSetCheckPoint() {
}
};
HTTPCaller.SetNewCodeVersion = function(Data) {
var Ret = CheckCorrectDevKey();
var Ret: any = CheckCorrectDevKey();
if (Ret !== true)
return Ret;
var Ret = global.SERVER.SetNewCodeVersion(Data, global.WALLET.KeyPair.getPrivateKey(''));
@@ -745,17 +737,17 @@ HTTPCaller.SetNewCodeVersion = function(Data) {
return { result: 1, text: Ret };
};
HTTPCaller.SetCheckNetConstant = function(Data) {
var Ret = CheckCorrectDevKey();
var Ret: any = CheckCorrectDevKey();
if (Ret !== true)
return Ret;
if (!Data) {
ToLogClient("Data not set");
global.ToLogClient("Data not set");
return { result: 0, text: "Data not set" };
}
Data.Num = GetCurrentBlockNumByTime();
Data.BlockNum = GetCurrentBlockNumByTime() + 10;
Data.Num = global.GetCurrentBlockNumByTime();
Data.BlockNum = global.GetCurrentBlockNumByTime() + 10;
var SignArr = global.SERVER.GetSignCheckNetConstant(Data);
Data.Sign = secp256k1.sign(SHA3BUF(SignArr), global.WALLET.KeyPair.getPrivateKey('')).signature;
Data.Sign = global.secp256k1.sign(global.SHA3BUF(SignArr), global.WALLET.KeyPair.getPrivateKey('')).signature;
global.SERVER.CheckNetConstant({ NetConstant: Data }, { addrStr: "local" });
global.SERVER.ResetNextPingAllNode();
return { result: 1, text: "Set NET_CONSTANT BlockNum=" + Data.BlockNum };
@@ -765,11 +757,11 @@ HTTPCaller.SetCheckDeltaTime = function(Data) {
if (Ret !== true)
return Ret;
if (!Data || !Data.Num) {
ToLogClient("Num not set");
global.ToLogClient("Num not set");
return { result: 0 };
}
var SignArr = global.SERVER.GetSignCheckDeltaTime(Data);
Data.Sign = secp256k1.sign(SHA3BUF(SignArr), global.WALLET.KeyPair.getPrivateKey('')).signature;
Data.Sign = global.secp256k1.sign(global.SHA3BUF(SignArr), global.WALLET.KeyPair.getPrivateKey('')).signature;
global.CHECK_DELTA_TIME = Data;
global.SERVER.ResetNextPingAllNode();
return { result: 1, text: "Set check time Num=" + Data.Num };
@@ -791,9 +783,9 @@ var StartCheckTimeNum = 0;
function RunAutoCorrTime() {
if (global.WALLET.WalletOpen === false)
return;
if (GetCurrentBlockNumByTime() > StartCheckTimeNum && Math.abs(global.DELTA_CURRENT_TIME) >= 120) {
if (global.GetCurrentBlockNumByTime() > StartCheckTimeNum && Math.abs(global.DELTA_CURRENT_TIME) >= 120) {
var AutoDelta = - Math.trunc(global.DELTA_CURRENT_TIME);
var Data = { Num: GetCurrentBlockNumByTime(), bUse: 1, bAddTime: 1 };
var Data: any = { Num: global.GetCurrentBlockNumByTime(), bUse: 1, bAddTime: 1 };
if (AutoDelta < 0) {
AutoDelta = - AutoDelta;
Data.bAddTime = 0;
@@ -802,7 +794,7 @@ function RunAutoCorrTime() {
Data.StartBlockNum = Data.Num + 5;
Data.EndBlockNum = Data.StartBlockNum + Math.trunc(AutoDelta / Data.DeltaTime);
var SignArr = global.SERVER.GetSignCheckDeltaTime(Data);
Data.Sign = secp256k1.sign(SHA3BUF(SignArr), global.WALLET.KeyPair.getPrivateKey('')).signature;
Data.Sign = global.secp256k1.sign(global.SHA3BUF(SignArr), global.WALLET.KeyPair.getPrivateKey('')).signature;
global.CHECK_DELTA_TIME = Data;
global.SERVER.ResetNextPingAllNode();
StartCheckTimeNum = Data.EndBlockNum + 1;
@@ -814,10 +806,10 @@ HTTPCaller.SaveConstant = function(SetObj) {
for (var key in SetObj) {
global[key] = SetObj[key];
}
SAVE_CONST(true);
global.SAVE_CONST(true);
global.SERVER.DO_CONSTANT();
if (!WasUpdate && global.USE_AUTO_UPDATE && CODE_VERSION.VersionNum && global.UPDATE_CODE_VERSION_NUM < CODE_VERSION.VersionNum) {
global.SERVER.UseCode(CODE_VERSION.VersionNum, true);
if (!WasUpdate && global.USE_AUTO_UPDATE && global.CODE_VERSION.VersionNum && global.UPDATE_CODE_VERSION_NUM < global.CODE_VERSION.VersionNum) {
global.SERVER.UseCode(global.CODE_VERSION.VersionNum, true);
}
if (SetObj.DoRestartNode)
global.RestartNode();
@@ -830,7 +822,7 @@ HTTPCaller.SaveConstant = function(SetObj) {
HTTPCaller.SetHTTPParams = function(SetObj) {
global.HTTP_PORT_NUMBER = SetObj.HTTPPort;
global.HTTP_PORT_PASSWORD = SetObj.HTTPPassword;
SAVE_CONST(true);
global.SAVE_CONST(true);
if (SetObj.DoRestartNode)
global.RestartNode();
return { result: 1 };
@@ -841,17 +833,17 @@ HTTPCaller.SetNetMode = function(SetObj) {
for (var key in SetObj) {
global.NET_WORK_MODE[key] = SetObj[key];
}
if (NET_WORK_MODE) {
global.START_IP = NET_WORK_MODE.ip;
global.START_PORT_NUMBER = NET_WORK_MODE.port;
if (global.NET_WORK_MODE) {
global.START_IP = global.NET_WORK_MODE.ip;
global.START_PORT_NUMBER = global.NET_WORK_MODE.port;
}
SAVE_CONST(true);
global.SAVE_CONST(true);
if (SetObj.DoRestartNode)
global.RestartNode();
return { result: 1 };
};
HTTPCaller.GetAccountKey = function(Num) {
var Result = {};
var Result: any = {};
Result.result = 0;
var KeyPair = global.WALLET.GetAccountKey(Num);
if (KeyPair) {
@@ -924,7 +916,7 @@ function GetCopyNode(Node, BlockCounts) {
var Item = {
VersionNum: Node.VersionNum, NoSendTx: Node.NoSendTx, GetNoSendTx: Node.GetNoSendTx, DirectMAccount: Node.DirectMAccount,
id: Node.id, ip: Node.ip, portweb: Node.portweb, port: Node.port, TransferCount: Node.TransferCount, GetTiming: GetTiming, ErrCountAll: Node.ErrCountAll,
LevelCount: Node.LevelCount, LevelEnum: Node.LevelEnum, TimeTransfer: GetStrOnlyTimeUTC(new Date(Node.LastTimeTransfer)), BlockProcessCount: Node.BlockProcessCount,
LevelCount: Node.LevelCount, LevelEnum: Node.LevelEnum, TimeTransfer: global.GetStrOnlyTimeUTC(new Date(Node.LastTimeTransfer)), BlockProcessCount: Node.BlockProcessCount,
DeltaTime: Node.DeltaTime, DeltaTimeM: Node.DeltaTimeM, DeltaGlobTime: Node.DeltaGlobTime, PingNumber: Node.PingNumber, NextConnectDelta: Node.NextConnectDelta,
NextGetNodesDelta: Node.NextGetNodesDelta, NextHotDelta: Node.NextHotDelta, Name: Node.Name, addrStr: Node.addrStr, CanHot: Node.CanHot,
Active: Node.Active, Hot: Node.Hot, Info: Node.PrevInfo + Node.Info, InConnectArr: Node.WasAddToConnect, Level: Node.Level, TransferBlockNum: Node.TransferBlockNum,
@@ -939,7 +931,7 @@ HTTPCaller.GetBlockchainStat = function(Param) {
return Result;
};
HTTPCaller.GetAllCounters = function(Params, response) {
let Result = GET_STATS();
let Result = global.GET_STATS();
Result.result = 1;
Result.sessionid = sessionid;
Result.STAT_MODE = global.STAT_MODE;
@@ -976,9 +968,9 @@ function AddStatData(Params, Result, Prefix) {
};
HTTPCaller.SetStatMode = function(flag) {
if (flag)
StartCommonStat();
global.StartCommonStat();
global.STAT_MODE = flag;
SAVE_CONST(true);
global.SAVE_CONST(true);
global.TX_PROCESS.RunRPC("LOAD_CONST");
return { result: 1, sessionid: sessionid, STAT_MODE: global.STAT_MODE };
};
@@ -995,7 +987,7 @@ HTTPCaller.ClearStat = function() {
return { result: 1, sessionid: sessionid, STAT_MODE: global.STAT_MODE };
};
HTTPCaller.RewriteAllTransactions = function(Param) {
RewriteAllTransactions();
global.RewriteAllTransactions();
return { result: 1, sessionid: sessionid };
};
HTTPCaller.RewriteTransactions = function(Param) {
@@ -1006,7 +998,7 @@ HTTPCaller.TruncateBlockChain = function(Param) {
var StartNum = global.SERVER.BlockNumDB - Param.BlockCount;
var MinBlock = global.DApps.Accounts.GetMinBlockAct();
if (MinBlock > StartNum) {
global.ToLog("Cant Truncate BlockChain. Very long length. Max length=" + (SERVER.BlockNumDB - MinBlock), 0);
global.ToLog("Cant Truncate BlockChain. Very long length. Max length=" + (global.SERVER.BlockNumDB - MinBlock), 0);
return { result: 0, sessionid: sessionid };
}
global.SERVER.TruncateBlockDB(StartNum);
@@ -1026,8 +1018,8 @@ HTTPCaller.CleanChain = function(Param) {
return { result: 0, sessionid: sessionid };
};
HTTPCaller.GetArrStats = function(Keys, response) {
var arr = GET_STATDIAGRAMS(Keys);
let Result = { result: 1, sessionid: sessionid, arr: arr, STAT_MODE: global.STAT_MODE };
var arr = global.GET_STATDIAGRAMS(Keys);
let Result: any = { result: 1, sessionid: sessionid, arr: arr, STAT_MODE: global.STAT_MODE };
if (!global.TX_PROCESS || !global.TX_PROCESS.RunRPC)
return Result;
var Keys2 = [];
@@ -1051,7 +1043,7 @@ HTTPCaller.GetArrStats = function(Keys, response) {
return null;
};
HTTPCaller.GetBlockChain = function(type) {
if (!global.SERVER || !SERVER.LoadedChainList) {
if (!global.SERVER || !global.SERVER.LoadedChainList) {
return { result: 0 };
}
var MainChains = {};
@@ -1081,13 +1073,13 @@ HTTPCaller.GetBlockChain = function(type) {
for (var List of ArrMapMapLoaded) {
AddMapList(arrLoadedBlocks, type, List);
}
var obj = {
var obj: any = {
LastCurrentBlockNum: global.SERVER.GetLastCorrectBlockNum(), CurrentBlockNum: global.SERVER.CurrentBlockNum, LoadedChainList: arrLoadedChainList,
LoadedBlocks: arrLoadedBlocks, BlockChain: arrBlocks, port: global.SERVER.port, DELTA_CURRENT_TIME: DELTA_CURRENT_TIME, memoryUsage: process.memoryUsage(),
IsDevelopAccount: IsDeveloperAccount(WALLET.PubKeyArr), LoadedChainCount: global.SERVER.LoadedChainList.length, StartLoadBlockTime: global.SERVER.StartLoadBlockTime,
LoadedBlocks: arrLoadedBlocks, BlockChain: arrBlocks, port: global.SERVER.port, DELTA_CURRENT_TIME: global.DELTA_CURRENT_TIME, memoryUsage: process.memoryUsage(),
IsDevelopAccount: global.IsDeveloperAccount(global.WALLET.PubKeyArr), LoadedChainCount: global.SERVER.LoadedChainList.length, StartLoadBlockTime: global.SERVER.StartLoadBlockTime,
sessionid: sessionid, result: 1
};
var obj2 = HTTPCaller.GetHotArray();
var obj2: any = HTTPCaller.GetHotArray();
obj.ArrTree = obj2.ArrTree;
arrBlocks = [];
arrLoadedChainList = [];
@@ -1116,9 +1108,9 @@ HTTPCaller.GetHistoryTransactions = function(Params) {
Item.Description = TR.Description;
}
}
var Result = {
var Result: any = {
Value: { SumCOIN: Account.Value.SumCOIN, SumCENT: Account.Value.SumCENT }, Name: Account.Name, Currency: Account.Currency,
MaxBlockNum: GetCurrentBlockNumByTime(), FIRST_TIME_BLOCK: FIRST_TIME_BLOCK, result: arr.length > 0 ? 1 : 0, History: arr
MaxBlockNum: global.GetCurrentBlockNumByTime(), FIRST_TIME_BLOCK: global.FIRST_TIME_BLOCK, result: arr.length > 0 ? 1 : 0, History: arr
};
return Result;
}
@@ -1126,10 +1118,10 @@ HTTPCaller.GetHistoryTransactions = function(Params) {
};
function GetCopyBlock(Block) {
var Result = {
BlockNum: Block.BlockNum, bSave: Block.bSave, TreeHash: GetHexFromAddres(Block.TreeHash), AddrHash: GetHexFromAddres(Block.AddrHash),
PrevHash: GetHexFromAddres(Block.PrevHash), SumHash: GetHexFromAddres(Block.SumHash), SumPow: Block.SumPow, TrDataPos: Block.TrDataPos,
TrDataLen: Block.TrDataLen, SeqHash: GetHexFromAddres(Block.SeqHash), Hash: GetHexFromAddres(Block.Hash), Power: GetPowPower(Block.PowHash),
var Result: any = {
BlockNum: Block.BlockNum, bSave: Block.bSave, TreeHash: global.GetHexFromAddres(Block.TreeHash), AddrHash: global.GetHexFromAddres(Block.AddrHash),
PrevHash: global.GetHexFromAddres(Block.PrevHash), SumHash: global.GetHexFromAddres(Block.SumHash), SumPow: Block.SumPow, TrDataPos: Block.TrDataPos,
TrDataLen: Block.TrDataLen, SeqHash: global.GetHexFromAddres(Block.SeqHash), Hash: global.GetHexFromAddres(Block.Hash), Power: global.GetPowPower(Block.PowHash),
TrCount: Block.TrCount, arrContent: Block.arrContent,
};
return Result;
@@ -1137,7 +1129,7 @@ function GetCopyBlock(Block) {
var AddrLength = 16;
function GetHexFromAddresShort(Hash) {
return GetHexFromAddres(Hash).substr(0, AddrLength);
return global.GetHexFromAddres(Hash).substr(0, AddrLength);
};
function GetHexFromStrShort(Str) {
@@ -1162,27 +1154,27 @@ function CopyBlockDraw(Block, MainChains) {
var MinerID = 0;
var MinerName = "";
if (Block.AddrHash) {
var Num = ReadUintFromArr(Block.AddrHash, 0);
var Num = global.ReadUintFromArr(Block.AddrHash, 0);
MinerID = Num;
var Item = global.DApps.Accounts.ReadState(Num);
if (Item && Item.Name)
MinerName = Item.Name.substr(0, 8);
}
var CheckPoint = 0;
if (Block.BlockNum === CHECK_POINT.BlockNum)
if (Block.BlockNum === global.CHECK_POINT.BlockNum)
CheckPoint = 1;
var Mining;
if (SERVER.MiningBlock === Block)
if (global.SERVER.MiningBlock === Block)
Mining = 1;
else
Mining = 0;
GetGUID(Block);
var Item = {
Item = {
guid: Block.guid, Active: Block.Active, bSave: Block.bSave, Prepared: Block.Prepared, BlockNum: Block.BlockNum, Hash: GetHexFromAddresShort(Block.Hash),
SumHash: GetHexFromAddresShort(Block.SumHash), SeqHash: GetHexFromAddresShort(Block.SeqHash), TreeHash: GetHexFromAddresShort(Block.TreeHash),
AddrHash: GetHexFromAddresShort(Block.AddrHash), MinerID: MinerID, MinerName: MinerName, Comment1: Block.Comment1, Comment2: Block.Comment2,
SumPow: Block.SumPow, Info: Block.Info, TreeLoaded: Block.TreeEq, AddToLoad: Block.AddToLoad, LoadDB: Block.LoadDB, FindBlockDB: Block.FindBlockDB,
TrCount: Block.TrCount, ArrLength: 0, TrDataLen: Block.TrDataLen, Power: GetPowPower(Block.PowHash), CheckPoint: CheckPoint, Mining: Mining,
TrCount: Block.TrCount, ArrLength: 0, TrDataLen: Block.TrDataLen, Power: global.GetPowPower(Block.PowHash), CheckPoint: CheckPoint, Mining: Mining,
TransferSize: Block.TransferSize, HasErr: Block.HasErr,
};
if (Block.chain)
@@ -1198,11 +1190,11 @@ function CopyBlockDraw(Block, MainChains) {
return Item;
};
function CopyChainDraw(Chain, bWasRecursive, bMain) {
function CopyChainDraw(Chain, bWasRecursive, bMain?) {
if (!Chain)
return Chain;
GetGUID(Chain);
var Item = {
var Item: any = {
guid: Chain.guid, id: Chain.id, chainid: Chain.id, bSave: Chain.LoadDB, FindBlockDB: Chain.FindBlockDB, GetFindDB: Chain.GetFindDB(),
BlockNum: Chain.BlockNumStart, Hash: GetHexFromAddresShort(Chain.HashStart), Comment1: Chain.Comment1, Comment2: Chain.Comment2,
StopSend: Chain.StopSend, SumPow: 0, Info: Chain.Info, IsSum: Chain.IsSum, Main: bMain,
@@ -1231,7 +1223,7 @@ function CopyChainDraw(Chain, bWasRecursive, bMain) {
return Item;
};
function AddChainList(arrLoadedChainList, LoadedChainList, bMain) {
function AddChainList(arrLoadedChainList, LoadedChainList, bMain?) {
for (var chain of LoadedChainList) {
if (chain) {
arrLoadedChainList.push(CopyChainDraw(chain, false, bMain));
@@ -1239,7 +1231,7 @@ function AddChainList(arrLoadedChainList, LoadedChainList, bMain) {
}
};
function AddMapList(arrLoadedBlocks, type, MapMapLoaded, MainChains) {
function AddMapList(arrLoadedBlocks, type, MapMapLoaded, MainChains?) {
for (var key in MapMapLoaded) {
var map = MapMapLoaded[key];
if (map) {
@@ -1278,8 +1270,7 @@ function SendWebFile(response, name?, StrCookie?, bParsing?) {
if (StrCookie)
Headers['Set-Cookie'] = StrCookie;
response.writeHead(200, Headers);
}
else {
} else {
if (StrContentType === "application/font-woff") {
response.writeHead(200, { 'Content-Type': StrContentType, 'Access-Control-Allow-Origin': "*" });
}
@@ -1287,7 +1278,7 @@ function SendWebFile(response, name?, StrCookie?, bParsing?) {
response.writeHead(200, { 'Content-Type': StrContentType });
}
if (bParsing && StrContentType === "text/html") {
var data = GetFileHTMLWithParsing(Path);
data = GetFileHTMLWithParsing(Path);
response.end(data);
return;
}
@@ -1322,11 +1313,13 @@ function ParseTag(Str, TagName, bEdit) {
if (index >= 0) {
var index2 = Str.indexOf("}}", index + 3 + TagName.length);
if (index2 < 0) {
//@ts-ignore
global.ToLog("Error teg " + TagName + " in " + Path);
break;
}
var Delta = index2 - index;
if (Delta > 210) {
//@ts-ignore
global.ToLog("Error length (more 200) teg File in " + Path);
break;
}
@@ -1383,7 +1376,7 @@ function SaveFileSimple(Path, Str) {
global.SendHTMLMap = {};
var Key = "GetFileSimple-" + Path;
global.SendHTMLMap[Key] = Str;
SaveToFile(Path, Str);
global.SaveToFile(Path, Str);
};
global.SendHTMLMap = {};
global.SendWebFile = SendWebFile;
@@ -1394,7 +1387,7 @@ global.SaveFileSimple = SaveFileSimple;
function GetStrTime(now) {
if (!now)
now = GetCurrentTime(0);
now = global.GetCurrentTime(0);
var Str = "" + now.getHours().toStringZ(2);
Str = Str + ":" + now.getMinutes().toStringZ(2);
Str = Str + ":" + now.getSeconds().toStringZ(2);
@@ -1499,7 +1492,7 @@ if (global.HTTP_PORT_NUMBER) {
global.ToLog("Path: " + Path, 0);
}
if (CheckPassword && global.HTTP_PORT_PASSWORD) {
var StrPort = "";
var StrPort: any = "";
if (global.HTTP_PORT_NUMBER !== 80)
StrPort = global.HTTP_PORT_NUMBER;
var cookies = parseCookies(request.headers.cookie);
@@ -1517,7 +1510,7 @@ if (global.HTTP_PORT_NUMBER) {
if (!nonce)
nonce = 0;
}
var hash = ClientHex(cookies_token + "-" + global.HTTP_PORT_PASSWORD, nonce);
var hash = global.ClientHex(cookies_token + "-" + global.HTTP_PORT_PASSWORD, nonce);
if (hash === cookies_hash) {
ClientTokenMap[cookies_token] = 1;
}
@@ -1563,9 +1556,9 @@ if (global.HTTP_PORT_NUMBER) {
else {
DoCommand(response, Type, Path, params, remoteAddress);
}
}).listen(port, LISTEN_IP, function() {
}).listen(port, global.LISTEN_IP, function() {
global.HTTP_SERVER_START_OK = 1;
global.ToLog("Run HTTP-server on " + LISTEN_IP + ":" + port);
global.ToLog("Run HTTP-server on " + global.LISTEN_IP + ":" + port);
});
HTTPServer.on('error', function(err) {
global.ToError("H##3");
@@ -1654,7 +1647,7 @@ function GetEventArray(SmartNum, Context) {
return ArrRet;
};
HTTPCaller.GetHashRate = function(ArrParams) {
var CurBlockNum = GetCurrentBlockNumByTime();
var CurBlockNum = global.GetCurrentBlockNumByTime();
var ResArr = [];
for (var i = 0; i < ArrParams.length; i++) {
var Item = ArrParams[i];
@@ -1693,7 +1686,7 @@ HTTPCaller.GetHashRate = function(ArrParams) {
var Block = global.SERVER.ReadBlockHeaderDB(Num + d);
if (Block) {
CountSum++;
Sum += GetPowPower(Block.PowHash);
Sum += global.GetPowPower(Block.PowHash);
}
}
if (!CountSum)