Sat Jul 20 20:40:02 CST 2019 Source Update...
This commit is contained in:
		@@ -241,7 +241,7 @@ textarea {
 | 
				
			|||||||
	/* background: var(--blue-grey); */
 | 
						/* background: var(--blue-grey); */
 | 
				
			||||||
	background: transparent;
 | 
						background: transparent;
 | 
				
			||||||
	border: none;
 | 
						border: none;
 | 
				
			||||||
	color: #fff;
 | 
						color: #000;
 | 
				
			||||||
	padding: 5px;
 | 
						padding: 5px;
 | 
				
			||||||
	width: 55px;
 | 
						width: 55px;
 | 
				
			||||||
	font-family: inherit;
 | 
						font-family: inherit;
 | 
				
			||||||
@@ -1858,7 +1858,7 @@ td.hash {
 | 
				
			|||||||
		width: 60px;
 | 
							width: 60px;
 | 
				
			||||||
		border-radius: 3px;
 | 
							border-radius: 3px;
 | 
				
			||||||
		background: transparent;
 | 
							background: transparent;
 | 
				
			||||||
		color: rgba(255, 255, 255, 0.6);
 | 
							color: #000;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	.white-select {
 | 
						.white-select {
 | 
				
			||||||
		display: block;
 | 
							display: block;
 | 
				
			||||||
@@ -2773,7 +2773,7 @@ iframe
 | 
				
			|||||||
.btn--float
 | 
					.btn--float
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    float: left;
 | 
					    float: left;
 | 
				
			||||||
    width: 230px;
 | 
					    width: 200px;
 | 
				
			||||||
    margin: 10px;
 | 
					    margin: 10px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -64,6 +64,7 @@ window.IsLocalClient = function ()
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    return (window.location.protocol.substr(0, 4) !== "http");
 | 
					    return (window.location.protocol.substr(0, 4) !== "http");
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					var glSession;
 | 
				
			||||||
var ServerHTTP;
 | 
					var ServerHTTP;
 | 
				
			||||||
var MainServer;
 | 
					var MainServer;
 | 
				
			||||||
if(window.nw)
 | 
					if(window.nw)
 | 
				
			||||||
@@ -1983,3 +1984,10 @@ function isMobile()
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    return false;
 | 
					    return false;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function DoNewSession()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    var arr = new Uint8Array(6);
 | 
				
			||||||
 | 
					    window.crypto.getRandomValues(arr);
 | 
				
			||||||
 | 
					    glSession = GetHexFromArr(arr);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,6 +24,7 @@ var CONNECT_STATUS = 0;
 | 
				
			|||||||
var NotModalClose = 0;
 | 
					var NotModalClose = 0;
 | 
				
			||||||
window.onload = function ()
 | 
					window.onload = function ()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    DoNewSession();
 | 
				
			||||||
    InitAccountsCard();
 | 
					    InitAccountsCard();
 | 
				
			||||||
    DoLangScript();
 | 
					    DoLangScript();
 | 
				
			||||||
    InitWalletKeyName();
 | 
					    InitWalletKeyName();
 | 
				
			||||||
@@ -38,7 +39,6 @@ window.onload = function ()
 | 
				
			|||||||
            if(Data && Data.result)
 | 
					            if(Data && Data.result)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                Storage.setItem("NETWORK", Data.NETWORK);
 | 
					                Storage.setItem("NETWORK", Data.NETWORK);
 | 
				
			||||||
                console.log("Default network: " + Data.NETWORK);
 | 
					 | 
				
			||||||
                OnLoad();
 | 
					                OnLoad();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
@@ -98,8 +98,8 @@ function OnLoad()
 | 
				
			|||||||
    LoadValues();
 | 
					    LoadValues();
 | 
				
			||||||
    InitDappsCard();
 | 
					    InitDappsCard();
 | 
				
			||||||
    StartWebWallet();
 | 
					    StartWebWallet();
 | 
				
			||||||
    setInterval(UpdatesExplorerData, 1000);
 | 
					    setInterval(UpdatesExplorerData, 2000);
 | 
				
			||||||
    setInterval(UpdatesAccountsData, 1000);
 | 
					    setInterval(UpdatesAccountsData, 2000);
 | 
				
			||||||
    DoStableScroll();
 | 
					    DoStableScroll();
 | 
				
			||||||
    window.onmousemove = function (event)
 | 
					    window.onmousemove = function (event)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@@ -117,12 +117,14 @@ function OnLoad()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
function ChangeNetwork(bStart)
 | 
					function ChangeNetwork(bStart)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    FirstAccountsData = 1;
 | 
				
			||||||
    CONNECT_STATUS = 0;
 | 
					    CONNECT_STATUS = 0;
 | 
				
			||||||
    NETWORK = $("idCurNetwork").value;
 | 
					    NETWORK = $("idCurNetwork").value;
 | 
				
			||||||
    Storage.setItem("NETWORK", NETWORK);
 | 
					    Storage.setItem("NETWORK", NETWORK);
 | 
				
			||||||
    if(bStart)
 | 
					    if(bStart)
 | 
				
			||||||
        StartWebWallet();
 | 
					        StartWebWallet();
 | 
				
			||||||
    ConnectWebWallet();
 | 
					    else
 | 
				
			||||||
 | 
					        ConnectWebWallet();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function UpdateTabs()
 | 
					function UpdateTabs()
 | 
				
			||||||
@@ -144,6 +146,7 @@ function OnFindServer()
 | 
				
			|||||||
    CONNECT_STATUS = 2;
 | 
					    CONNECT_STATUS = 2;
 | 
				
			||||||
    Storage.setItem("MainServer", JSON.stringify({ip:MainServer.ip, port:MainServer.port}));
 | 
					    Storage.setItem("MainServer", JSON.stringify({ip:MainServer.ip, port:MainServer.port}));
 | 
				
			||||||
    FillCurrencyAsync("idAccountCur");
 | 
					    FillCurrencyAsync("idAccountCur");
 | 
				
			||||||
 | 
					    SetDataUpdateTime(10);
 | 
				
			||||||
    UpdateTabs();
 | 
					    UpdateTabs();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -188,10 +191,20 @@ function OnSelectTab(name)
 | 
				
			|||||||
        SetPrivKey($("idPrivKeyEdit").value.trim());
 | 
					        SetPrivKey($("idPrivKeyEdit").value.trim());
 | 
				
			||||||
        InitPrivKey();
 | 
					        InitPrivKey();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if(name === "TabDapps")
 | 
					    if(name === "TabAccounts" || name === "TabSend")
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        ViewDapps();
 | 
					        UpdatesAccountsData(1);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        if(name === "TabExplorer")
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            UpdatesExplorerData(1);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					            if(name === "TabDapps")
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                ViewDapps();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function SetVisibleTab()
 | 
					function SetVisibleTab()
 | 
				
			||||||
@@ -292,8 +305,14 @@ function OnPrivKeyCancel()
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
var FirstAccountsData = 1;
 | 
					var FirstAccountsData = 1;
 | 
				
			||||||
var AccountsCount =  - 1;
 | 
					var AccountsCount =  - 1;
 | 
				
			||||||
 | 
					var DataUpdateTime = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function UpdatesAccountsData()
 | 
					function SetDataUpdateTime(PeriodSec)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    DataUpdateTime = Date.now() + 1000 * PeriodSec;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function UpdatesAccountsData(bGetData)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if(IsVisibleClass(".accounts-info__add"))
 | 
					    if(IsVisibleClass(".accounts-info__add"))
 | 
				
			||||||
        return ;
 | 
					        return ;
 | 
				
			||||||
@@ -304,7 +323,16 @@ function UpdatesAccountsData()
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        return ;
 | 
					        return ;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    GetData("/GetAccountListByKey", {Key:Str, AllData:FirstAccountsData}, function (Data,responseText)
 | 
					    if(!bGetData)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if(IsVisibleBlock("TabAccounts") || DataUpdateTime >= Date.now())
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            bGetData = 1;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if(!bGetData)
 | 
				
			||||||
 | 
					        return ;
 | 
				
			||||||
 | 
					    GetData("/GetAccountListByKey", {Key:Str, Session:glSession, AllData:FirstAccountsData}, function (Data,responseText)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        if(!Data || !Data.result || !Data.arr)
 | 
					        if(!Data || !Data.result || !Data.arr)
 | 
				
			||||||
            return ;
 | 
					            return ;
 | 
				
			||||||
@@ -549,8 +577,20 @@ function RestoreAllAccounts()
 | 
				
			|||||||
    DelAccount(0);
 | 
					    DelAccount(0);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function UpdatesExplorerData()
 | 
					function UpdatesExplorerData(bGetData)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    var bDiagram = 0;
 | 
				
			||||||
 | 
					    if(IsVisibleBlock("TabExplorer") && IsVisibleBlock("idStatBlock"))
 | 
				
			||||||
 | 
					        bDiagram = 1;
 | 
				
			||||||
 | 
					    if(!bGetData)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if(bDiagram || DataUpdateTime >= Date.now())
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            bGetData = 1;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if(!bGetData)
 | 
				
			||||||
 | 
					        return ;
 | 
				
			||||||
    var WasSendTr = 0;
 | 
					    var WasSendTr = 0;
 | 
				
			||||||
    for(var key in MapSendTransaction)
 | 
					    for(var key in MapSendTransaction)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@@ -561,7 +601,7 @@ function UpdatesExplorerData()
 | 
				
			|||||||
            break;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    GetData("GetCurrentInfo", {Diagram:IsVisibleBlock("idStatBlock") ? 1 : 0, ArrLog:WasSendTr}, function (Data)
 | 
					    GetData("GetCurrentInfo", {Diagram:bDiagram, ArrLog:WasSendTr}, function (Data)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        if(!Data || !Data.result)
 | 
					        if(!Data || !Data.result)
 | 
				
			||||||
            return ;
 | 
					            return ;
 | 
				
			||||||
@@ -697,9 +737,11 @@ function downloadKey(fieldID)
 | 
				
			|||||||
    anchor.click();
 | 
					    anchor.click();
 | 
				
			||||||
    document.body.removeChild(anchor);
 | 
					    document.body.removeChild(anchor);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					var glWasModal = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function openModal(id)
 | 
					function openModal(id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    glWasModal = 1;
 | 
				
			||||||
    var modal = document.querySelector("#" + id);
 | 
					    var modal = document.querySelector("#" + id);
 | 
				
			||||||
    var overlay = document.querySelector("#overlay");
 | 
					    var overlay = document.querySelector("#overlay");
 | 
				
			||||||
    modal.style.display = "block";
 | 
					    modal.style.display = "block";
 | 
				
			||||||
@@ -710,6 +752,7 @@ function closeModal()
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    if(NotModalClose)
 | 
					    if(NotModalClose)
 | 
				
			||||||
        return ;
 | 
					        return ;
 | 
				
			||||||
 | 
					    glWasModal = 0;
 | 
				
			||||||
    var modals = document.querySelectorAll(".modal");
 | 
					    var modals = document.querySelectorAll(".modal");
 | 
				
			||||||
    var overlay = document.querySelector("#overlay");
 | 
					    var overlay = document.querySelector("#overlay");
 | 
				
			||||||
    modals.forEach(function (item)
 | 
					    modals.forEach(function (item)
 | 
				
			||||||
@@ -802,14 +845,24 @@ function SendMobileBefore()
 | 
				
			|||||||
    SetVisibleClass(".send-page__setting", 0);
 | 
					    SetVisibleClass(".send-page__setting", 0);
 | 
				
			||||||
    SetVisibleClass(".send-page__confirm", 1);
 | 
					    SetVisibleClass(".send-page__confirm", 1);
 | 
				
			||||||
    SetStatus("");
 | 
					    SetStatus("");
 | 
				
			||||||
 | 
					    UpdatesAccountsData(1);
 | 
				
			||||||
 | 
					    UpdatesExplorerData(1);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function OKSend()
 | 
					function OKSend()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SendMoney();
 | 
					    SendMoney(function ()
 | 
				
			||||||
    ClearSend();
 | 
					    {
 | 
				
			||||||
    SaveValues();
 | 
					        if(glWasModal)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            ClearSend();
 | 
				
			||||||
 | 
					            SaveValues();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        closeModal();
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    SetDataUpdateTime(20);
 | 
				
			||||||
    CancelSend();
 | 
					    CancelSend();
 | 
				
			||||||
 | 
					    openModal('idSending');
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function CancelSend()
 | 
					function CancelSend()
 | 
				
			||||||
@@ -920,6 +973,7 @@ function SetUsePassword(bUse)
 | 
				
			|||||||
function DoExitWallet()
 | 
					function DoExitWallet()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    ClearSend();
 | 
					    ClearSend();
 | 
				
			||||||
 | 
					    SaveValues();
 | 
				
			||||||
    NotModalClose = 1;
 | 
					    NotModalClose = 1;
 | 
				
			||||||
    $("Password").value = "";
 | 
					    $("Password").value = "";
 | 
				
			||||||
    SetWalletPassword("");
 | 
					    SetWalletPassword("");
 | 
				
			||||||
@@ -1210,7 +1264,7 @@ LangMap["RUS"] = {"TERA WALLET":"TERA КОШЕЛЕК", "Generate key":"Сген
 | 
				
			|||||||
    "Buy/sell/mine TERA":"Купить/Продать", "+ CREATE NEW":"+ СОЗДАТЬ", "Confirm Transaction":"Подтверждение транзакции", "CREATE DAPPS":"СОЗДАТЬ",
 | 
					    "Buy/sell/mine TERA":"Купить/Продать", "+ CREATE NEW":"+ СОЗДАТЬ", "Confirm Transaction":"Подтверждение транзакции", "CREATE DAPPS":"СОЗДАТЬ",
 | 
				
			||||||
    "Set pass":"Установить пароль", "Unlock":"Разблокировать", "Entrance to sub-wallet":"Войти в под-кошелек", "Public name":"Публичное имя",
 | 
					    "Set pass":"Установить пароль", "Unlock":"Разблокировать", "Entrance to sub-wallet":"Войти в под-кошелек", "Public name":"Публичное имя",
 | 
				
			||||||
    "Currency":"Валюта", "Pay to:":"Получатель:", "Amount:":"Сумма:", "Description:":"Описание:", "Welcome to TERA Wallet":"Добропожаловать в кошелек TERA",
 | 
					    "Currency":"Валюта", "Pay to:":"Получатель:", "Amount:":"Сумма:", "Description:":"Описание:", "Welcome to TERA Wallet":"Добропожаловать в кошелек TERA",
 | 
				
			||||||
    "Edit your wallet":"Редактирование вашего кошелька", "Key settings":"Задание ключей", "KEY SETTINGS":"ЗАДАНИЕ КЛЮЧЕЙ", "Create an account":"Создание счета",
 | 
					    "Edit your wallet":"Редактирование вашего кошелька", "Key settings":"Задание ключей", "KEY SETTINGS":"КЛЮЧИ", "Create an account":"Создание счета",
 | 
				
			||||||
    "Sending coins":"Отправка монет", "Decentralized applications (dApps)":"Децентрализованные приложения (Даппс)", "Secure your wallet":"Безопасность вашего кошелька",
 | 
					    "Sending coins":"Отправка монет", "Decentralized applications (dApps)":"Децентрализованные приложения (Даппс)", "Secure your wallet":"Безопасность вашего кошелька",
 | 
				
			||||||
    "Wallet is secured":"Установлен пароль", "Total":"Всего", "Item.Name":"Item.Name", "You have no accounts yet":"У вас нет ни одного счета",
 | 
					    "Wallet is secured":"Установлен пароль", "Total":"Всего", "Item.Name":"Item.Name", "You have no accounts yet":"У вас нет ни одного счета",
 | 
				
			||||||
    "Wait 10-15 sec":"Ждите 10-15 сек", "Creating your account":"Идет создание вашего счета", "From:":"Отправитель:", "Set a password for protect entry":"Установите пароль для безопасности",
 | 
					    "Wait 10-15 sec":"Ждите 10-15 сек", "Creating your account":"Идет создание вашего счета", "From:":"Отправитель:", "Set a password for protect entry":"Установите пароль для безопасности",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -347,7 +347,7 @@ function SendMoney2()
 | 
				
			|||||||
    SendMoney();
 | 
					    SendMoney();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function SendMoney()
 | 
					function SendMoney(F)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if(!CanSendTransaction)
 | 
					    if(!CanSendTransaction)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@@ -358,7 +358,9 @@ function SendMoney()
 | 
				
			|||||||
    if($("idSendButton").disabled)
 | 
					    if($("idSendButton").disabled)
 | 
				
			||||||
        return ;
 | 
					        return ;
 | 
				
			||||||
    SetVisibleBlock("idBlockOnSend", 0);
 | 
					    SetVisibleBlock("idBlockOnSend", 0);
 | 
				
			||||||
    CreateTransaction(SendMoneyTR, true, ClearAttach);
 | 
					    if(!F)
 | 
				
			||||||
 | 
					        F = ClearAttach;
 | 
				
			||||||
 | 
					    CreateTransaction(SendMoneyTR, true, F);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function GetJSONFromTransaction(TR)
 | 
					function GetJSONFromTransaction(TR)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,9 +26,9 @@
 | 
				
			|||||||
        var NumDappGet=0;
 | 
					        var NumDappGet=0;
 | 
				
			||||||
        var NumDappInfo=0;
 | 
					        var NumDappInfo=0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        var arr = new Uint8Array(6);
 | 
					//        var arr = new Uint8Array(6);
 | 
				
			||||||
        window.crypto.getRandomValues(arr);
 | 
					//        window.crypto.getRandomValues(arr);
 | 
				
			||||||
        var glSession=GetHexFromArr(arr);
 | 
					//        var glSession=GetHexFromArr(arr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //DAPP TRANSFER
 | 
					        //DAPP TRANSFER
 | 
				
			||||||
@@ -295,6 +295,8 @@
 | 
				
			|||||||
        var SMART={},BASE_ACCOUNT={},OPEN_PATH="";
 | 
					        var SMART={},BASE_ACCOUNT={},OPEN_PATH="";
 | 
				
			||||||
        window.onload=function()
 | 
					        window.onload=function()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					            DoNewSession();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(window.location.hash)
 | 
					            if(window.location.hash)
 | 
				
			||||||
                OPEN_PATH=window.location.hash.substr(1);
 | 
					                OPEN_PATH=window.location.hash.substr(1);
 | 
				
			||||||
            if(IsLocalClient())
 | 
					            if(IsLocalClient())
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -490,6 +490,13 @@
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            CanSendTransaction=1;
 | 
					            CanSendTransaction=1;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        if(Data.NET_WORK_MODE && Data.NET_WORK_MODE.NOT_RUN)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            CanSendTransaction=0;
 | 
				
			||||||
 | 
					            WalletStatus="OK";
 | 
				
			||||||
 | 
					            SetMainStatus("<DIV align='center' style='color:#565571'><big><B>NODE NOT RUNING</B></big></DIV>",1);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        MaxAccID=Data.MaxAccID;
 | 
					        MaxAccID=Data.MaxAccID;
 | 
				
			||||||
        MaxDappsID=Data.MaxDappsID;
 | 
					        MaxDappsID=Data.MaxDappsID;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -632,9 +632,13 @@
 | 
				
			|||||||
    </form>
 | 
					    </form>
 | 
				
			||||||
</section>
 | 
					</section>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<section class="modal dapp-modal" id="idSending" onclick="closeModal()" style="display: none;">
 | 
				
			||||||
 | 
					    <h2 class="password-modal__title">Sending Tx</h2><BR>
 | 
				
			||||||
 | 
					    <p class="password-modal__subtitle">Wait 5-8 sec, pls</p>
 | 
				
			||||||
 | 
					 </section>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<section class="modal password-modal" id="idSmartEnter">
 | 
					<section class="modal dapp-modal" id="idSmartEnter" style="display: none;">
 | 
				
			||||||
    <h2 class="password-modal__title"><span>Enter number of dapp</span></h2>
 | 
					    <h2 class="password-modal__title"><span>Enter number of dapp</span></h2>
 | 
				
			||||||
    <p class="password-modal__subtitle">Enter the dapps number that will be added to your account. Attention make sure that you trust this dapp, otherwise you may lose all funds in this account.</p>
 | 
					    <p class="password-modal__subtitle">Enter the dapps number that will be added to your account. Attention make sure that you trust this dapp, otherwise you may lose all funds in this account.</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1443,12 +1443,12 @@ module.exports = class CConnect extends require("./transfer-msg")
 | 
				
			|||||||
        if(!this.LastNotZeroNodesTime)
 | 
					        if(!this.LastNotZeroNodesTime)
 | 
				
			||||||
            this.LastNotZeroNodesTime = CurTime
 | 
					            this.LastNotZeroNodesTime = CurTime
 | 
				
			||||||
        var DeltaTime = CurTime - this.LastNotZeroNodesTime;
 | 
					        var DeltaTime = CurTime - this.LastNotZeroNodesTime;
 | 
				
			||||||
        if(DeltaTime > 10 * 1000)
 | 
					        if(DeltaTime > 60 * 1000)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ToLog("DETECT GRAY MODE")
 | 
					            ToLog("DETECT GRAY MODE")
 | 
				
			||||||
            if(!global.NET_WORK_MODE)
 | 
					            if(!global.NET_WORK_MODE)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                global.NET_WORK_MODE = {ip:"", port:""}
 | 
					                global.NET_WORK_MODE = {ip:"", port:"30000"}
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            global.NET_WORK_MODE.UseDirectIP = 0
 | 
					            global.NET_WORK_MODE.UseDirectIP = 0
 | 
				
			||||||
            SAVE_CONST()
 | 
					            SAVE_CONST()
 | 
				
			||||||
@@ -1459,7 +1459,7 @@ module.exports = class CConnect extends require("./transfer-msg")
 | 
				
			|||||||
        var CountNodes = this.ActualNodes.size;
 | 
					        var CountNodes = this.ActualNodes.size;
 | 
				
			||||||
        if(CountNodes && !global.NET_WORK_MODE)
 | 
					        if(CountNodes && !global.NET_WORK_MODE)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            global.NET_WORK_MODE = {ip:"", port:"30000"}
 | 
					            global.NET_WORK_MODE = {ip:"", port:"30000", NOT_RUN:0}
 | 
				
			||||||
            global.NET_WORK_MODE.UseDirectIP = 1
 | 
					            global.NET_WORK_MODE.UseDirectIP = 1
 | 
				
			||||||
            SAVE_CONST()
 | 
					            SAVE_CONST()
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
 * Telegram:  https://t.me/terafoundation
 | 
					 * Telegram:  https://t.me/terafoundation
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
global.UPDATE_CODE_VERSION_NUM = 1159;
 | 
					global.UPDATE_CODE_VERSION_NUM = 1163;
 | 
				
			||||||
global.MIN_CODE_VERSION_NUM = 1114;
 | 
					global.MIN_CODE_VERSION_NUM = 1114;
 | 
				
			||||||
global.MINING_VERSION_NUM = 0;
 | 
					global.MINING_VERSION_NUM = 0;
 | 
				
			||||||
global.InitParamsArg = InitParamsArg;
 | 
					global.InitParamsArg = InitParamsArg;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -973,6 +973,10 @@ module.exports = class CTransport extends require("./connect")
 | 
				
			|||||||
            this.CanSend++
 | 
					            this.CanSend++
 | 
				
			||||||
            return ;
 | 
					            return ;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        if(global.NET_WORK_MODE && NET_WORK_MODE.NOT_RUN)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return ;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        let SELF = this;
 | 
					        let SELF = this;
 | 
				
			||||||
        this.Server = net.createServer(function (sock)
 | 
					        this.Server = net.createServer(function (sock)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,9 +36,9 @@ setTimeout(function ()
 | 
				
			|||||||
global.glCurNumFindArr = 0;
 | 
					global.glCurNumFindArr = 0;
 | 
				
			||||||
global.ArrReconnect = [];
 | 
					global.ArrReconnect = [];
 | 
				
			||||||
global.ArrConnect = [];
 | 
					global.ArrConnect = [];
 | 
				
			||||||
var FindList = [{"ip":"91.235.136.81", "port":30005}, {"ip":"149.154.70.158", "port":30000}, {"ip":"185.240.243.182", "port":30000},
 | 
					var FindList = [{"ip":"91.235.136.81", "port":30000}, {"ip":"dappsgate.com", "port":30000}, {"ip":"185.240.243.182", "port":30000},
 | 
				
			||||||
    {"ip":"212.109.197.205", "port":30000}, {"ip":"212.109.197.209", "port":30000}, {"ip":"80.87.192.24", "port":30000}, {"ip":"teraexplorer.org",
 | 
					    {"ip":"t1.teraexplorer.com", "port":30000}, {"ip":"t2.teraexplorer.com", "port":30000}, {"ip":"t4.teraexplorer.com", "port":30000},
 | 
				
			||||||
    "port":30000}, ];
 | 
					    {"ip":"teraexplorer.org", "port":30000}, ];
 | 
				
			||||||
if(global.LOCAL_RUN)
 | 
					if(global.LOCAL_RUN)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    FindList = [{"ip":"127.0.0.1", "port":50001}, {"ip":"127.0.0.1", "port":50002}];
 | 
					    FindList = [{"ip":"127.0.0.1", "port":50001}, {"ip":"127.0.0.1", "port":50002}];
 | 
				
			||||||
@@ -332,7 +332,7 @@ function StartChildProcess(Item)
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        if(ITEM.Worker)
 | 
					        if(ITEM.Worker)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            ITEM.Worker.send({cmd:"Alive"});
 | 
					            ITEM.Worker.send({cmd:"Alive", DELTA_CURRENT_TIME:DELTA_CURRENT_TIME});
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }, 500);
 | 
					    }, 500);
 | 
				
			||||||
    ITEM.RunRPC = function (Name,Params,F)
 | 
					    ITEM.RunRPC = function (Name,Params,F)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -591,7 +591,7 @@ HostingCaller.GetNodeList = function (Params)
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
var AccountKeyMap = {};
 | 
					var AccountKeyMap = {};
 | 
				
			||||||
var LastMaxNum = 0;
 | 
					var LastMaxNum = 0;
 | 
				
			||||||
HostingCaller.GetAccountListByKey = function (Params,ppp,bRet)
 | 
					HostingCaller.GetAccountListByKey = function (Params,aaa,bbb,bRet)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if(typeof Params !== "object" || !Params.Key)
 | 
					    if(typeof Params !== "object" || !Params.Key)
 | 
				
			||||||
        return {result:0, arr:[]};
 | 
					        return {result:0, arr:[]};
 | 
				
			||||||
@@ -642,9 +642,13 @@ HostingCaller.GetAccountListByKey = function (Params,ppp,bRet)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    var Ret = {result:1, arr:arr};
 | 
					    var Ret = {result:1, arr:arr};
 | 
				
			||||||
    if(bRet)
 | 
					    if(bRet)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
        return Ret;
 | 
					        return Ret;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    var Context = GetUserContext(Params);
 | 
					    var Context = GetUserContext(Params);
 | 
				
			||||||
    var StrInfo = JSON.stringify(Ret);
 | 
					    var StrInfo = JSON.stringify(Ret);
 | 
				
			||||||
 | 
					    if(Params.AllData === "0")
 | 
				
			||||||
 | 
					        Params.AllData = 0;
 | 
				
			||||||
    if(!Params.AllData && Context.PrevAccountList === StrInfo)
 | 
					    if(!Params.AllData && Context.PrevAccountList === StrInfo)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        return {result:0, cache:1};
 | 
					        return {result:0, cache:1};
 | 
				
			||||||
@@ -743,7 +747,7 @@ HostingCaller.DappWalletList = function (Params)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    if(typeof Params !== "object")
 | 
					    if(typeof Params !== "object")
 | 
				
			||||||
        return {result:0};
 | 
					        return {result:0};
 | 
				
			||||||
    var Ret = HostingCaller.GetAccountListByKey(Params, undefined, 1);
 | 
					    var Ret = HostingCaller.GetAccountListByKey(Params, undefined, undefined, 1);
 | 
				
			||||||
    var Smart = ParseNum(Params.Smart);
 | 
					    var Smart = ParseNum(Params.Smart);
 | 
				
			||||||
    var arr = [];
 | 
					    var arr = [];
 | 
				
			||||||
    for(var i = 0; i < Ret.arr.length; i++)
 | 
					    for(var i = 0; i < Ret.arr.length; i++)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user