sync: sync upstream code
Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
parent
a981ccbcae
commit
88bae3a4bd
@ -241,7 +241,7 @@ textarea {
|
||||
/* background: var(--blue-grey); */
|
||||
background: transparent;
|
||||
border: none;
|
||||
color: #fff;
|
||||
color: #000;
|
||||
padding: 5px;
|
||||
width: 55px;
|
||||
font-family: inherit;
|
||||
@ -1858,7 +1858,7 @@ td.hash {
|
||||
width: 60px;
|
||||
border-radius: 3px;
|
||||
background: transparent;
|
||||
color: rgba(255, 255, 255, 0.6);
|
||||
color: #000;
|
||||
}
|
||||
.white-select {
|
||||
display: block;
|
||||
@ -2773,7 +2773,7 @@ iframe
|
||||
.btn--float
|
||||
{
|
||||
float: left;
|
||||
width: 230px;
|
||||
width: 200px;
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
|
@ -64,6 +64,7 @@ window.IsLocalClient = function ()
|
||||
{
|
||||
return (window.location.protocol.substr(0, 4) !== "http");
|
||||
};
|
||||
var glSession;
|
||||
var ServerHTTP;
|
||||
var MainServer;
|
||||
if(window.nw)
|
||||
@ -1983,3 +1984,10 @@ function isMobile()
|
||||
}
|
||||
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;
|
||||
window.onload = function ()
|
||||
{
|
||||
DoNewSession();
|
||||
InitAccountsCard();
|
||||
DoLangScript();
|
||||
InitWalletKeyName();
|
||||
@ -38,7 +39,6 @@ window.onload = function ()
|
||||
if(Data && Data.result)
|
||||
{
|
||||
Storage.setItem("NETWORK", Data.NETWORK);
|
||||
console.log("Default network: " + Data.NETWORK);
|
||||
OnLoad();
|
||||
}
|
||||
});
|
||||
@ -98,8 +98,8 @@ function OnLoad()
|
||||
LoadValues();
|
||||
InitDappsCard();
|
||||
StartWebWallet();
|
||||
setInterval(UpdatesExplorerData, 1000);
|
||||
setInterval(UpdatesAccountsData, 1000);
|
||||
setInterval(UpdatesExplorerData, 2000);
|
||||
setInterval(UpdatesAccountsData, 2000);
|
||||
DoStableScroll();
|
||||
window.onmousemove = function (event)
|
||||
{
|
||||
@ -117,12 +117,14 @@ function OnLoad()
|
||||
|
||||
function ChangeNetwork(bStart)
|
||||
{
|
||||
FirstAccountsData = 1;
|
||||
CONNECT_STATUS = 0;
|
||||
NETWORK = $("idCurNetwork").value;
|
||||
Storage.setItem("NETWORK", NETWORK);
|
||||
if(bStart)
|
||||
StartWebWallet();
|
||||
ConnectWebWallet();
|
||||
else
|
||||
ConnectWebWallet();
|
||||
};
|
||||
|
||||
function UpdateTabs()
|
||||
@ -144,6 +146,7 @@ function OnFindServer()
|
||||
CONNECT_STATUS = 2;
|
||||
Storage.setItem("MainServer", JSON.stringify({ip:MainServer.ip, port:MainServer.port}));
|
||||
FillCurrencyAsync("idAccountCur");
|
||||
SetDataUpdateTime(10);
|
||||
UpdateTabs();
|
||||
};
|
||||
|
||||
@ -188,10 +191,20 @@ function OnSelectTab(name)
|
||||
SetPrivKey($("idPrivKeyEdit").value.trim());
|
||||
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()
|
||||
@ -292,8 +305,14 @@ function OnPrivKeyCancel()
|
||||
};
|
||||
var FirstAccountsData = 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"))
|
||||
return ;
|
||||
@ -304,7 +323,16 @@ function UpdatesAccountsData()
|
||||
{
|
||||
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)
|
||||
return ;
|
||||
@ -549,8 +577,20 @@ function RestoreAllAccounts()
|
||||
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;
|
||||
for(var key in MapSendTransaction)
|
||||
{
|
||||
@ -561,7 +601,7 @@ function UpdatesExplorerData()
|
||||
break;
|
||||
}
|
||||
}
|
||||
GetData("GetCurrentInfo", {Diagram:IsVisibleBlock("idStatBlock") ? 1 : 0, ArrLog:WasSendTr}, function (Data)
|
||||
GetData("GetCurrentInfo", {Diagram:bDiagram, ArrLog:WasSendTr}, function (Data)
|
||||
{
|
||||
if(!Data || !Data.result)
|
||||
return ;
|
||||
@ -697,9 +737,11 @@ function downloadKey(fieldID)
|
||||
anchor.click();
|
||||
document.body.removeChild(anchor);
|
||||
};
|
||||
var glWasModal = 0;
|
||||
|
||||
function openModal(id)
|
||||
{
|
||||
glWasModal = 1;
|
||||
var modal = document.querySelector("#" + id);
|
||||
var overlay = document.querySelector("#overlay");
|
||||
modal.style.display = "block";
|
||||
@ -710,6 +752,7 @@ function closeModal()
|
||||
{
|
||||
if(NotModalClose)
|
||||
return ;
|
||||
glWasModal = 0;
|
||||
var modals = document.querySelectorAll(".modal");
|
||||
var overlay = document.querySelector("#overlay");
|
||||
modals.forEach(function (item)
|
||||
@ -802,14 +845,24 @@ function SendMobileBefore()
|
||||
SetVisibleClass(".send-page__setting", 0);
|
||||
SetVisibleClass(".send-page__confirm", 1);
|
||||
SetStatus("");
|
||||
UpdatesAccountsData(1);
|
||||
UpdatesExplorerData(1);
|
||||
};
|
||||
|
||||
function OKSend()
|
||||
{
|
||||
SendMoney();
|
||||
ClearSend();
|
||||
SaveValues();
|
||||
SendMoney(function ()
|
||||
{
|
||||
if(glWasModal)
|
||||
{
|
||||
ClearSend();
|
||||
SaveValues();
|
||||
}
|
||||
closeModal();
|
||||
});
|
||||
SetDataUpdateTime(20);
|
||||
CancelSend();
|
||||
openModal('idSending');
|
||||
};
|
||||
|
||||
function CancelSend()
|
||||
@ -920,6 +973,7 @@ function SetUsePassword(bUse)
|
||||
function DoExitWallet()
|
||||
{
|
||||
ClearSend();
|
||||
SaveValues();
|
||||
NotModalClose = 1;
|
||||
$("Password").value = "";
|
||||
SetWalletPassword("");
|
||||
@ -1210,7 +1264,7 @@ LangMap["RUS"] = {"TERA WALLET":"TERA КОШЕЛЕК", "Generate key":"Сген
|
||||
"Buy/sell/mine TERA":"Купить/Продать", "+ CREATE NEW":"+ СОЗДАТЬ", "Confirm Transaction":"Подтверждение транзакции", "CREATE DAPPS":"СОЗДАТЬ",
|
||||
"Set pass":"Установить пароль", "Unlock":"Разблокировать", "Entrance to sub-wallet":"Войти в под-кошелек", "Public name":"Публичное имя",
|
||||
"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":"Безопасность вашего кошелька",
|
||||
"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":"Установите пароль для безопасности",
|
||||
|
@ -347,7 +347,7 @@ function SendMoney2()
|
||||
SendMoney();
|
||||
};
|
||||
|
||||
function SendMoney()
|
||||
function SendMoney(F)
|
||||
{
|
||||
if(!CanSendTransaction)
|
||||
{
|
||||
@ -358,7 +358,9 @@ function SendMoney()
|
||||
if($("idSendButton").disabled)
|
||||
return ;
|
||||
SetVisibleBlock("idBlockOnSend", 0);
|
||||
CreateTransaction(SendMoneyTR, true, ClearAttach);
|
||||
if(!F)
|
||||
F = ClearAttach;
|
||||
CreateTransaction(SendMoneyTR, true, F);
|
||||
};
|
||||
|
||||
function GetJSONFromTransaction(TR)
|
||||
|
@ -26,9 +26,9 @@
|
||||
var NumDappGet=0;
|
||||
var NumDappInfo=0;
|
||||
|
||||
var arr = new Uint8Array(6);
|
||||
window.crypto.getRandomValues(arr);
|
||||
var glSession=GetHexFromArr(arr);
|
||||
// var arr = new Uint8Array(6);
|
||||
// window.crypto.getRandomValues(arr);
|
||||
// var glSession=GetHexFromArr(arr);
|
||||
|
||||
|
||||
//DAPP TRANSFER
|
||||
@ -295,6 +295,8 @@
|
||||
var SMART={},BASE_ACCOUNT={},OPEN_PATH="";
|
||||
window.onload=function()
|
||||
{
|
||||
DoNewSession();
|
||||
|
||||
if(window.location.hash)
|
||||
OPEN_PATH=window.location.hash.substr(1);
|
||||
if(IsLocalClient())
|
||||
|
@ -490,6 +490,13 @@
|
||||
{
|
||||
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;
|
||||
MaxDappsID=Data.MaxDappsID;
|
||||
@ -1105,10 +1112,10 @@
|
||||
ArrInfo=
|
||||
[
|
||||
{Name:"Hashrate from the beginning of the chain", Delta:1000000000, DX:310},
|
||||
{Name:"month", Delta:30.5*24*3600, DX:200},
|
||||
{Name:"day", Delta:24*3600, DX:140},
|
||||
{Name:"hour", Delta:3600, DX:90},
|
||||
{Name:"minute", Delta:60, DX:60}
|
||||
{Name:"month", Delta:30.5*24*3600, DX:200, Mult:10000},
|
||||
{Name:"day", Delta:24*3600, DX:140, Mult:1000},
|
||||
{Name:"hour", Delta:3600, DX:90, Mult:100},
|
||||
{Name:"minute", Delta:60, DX:60, Mult:2},
|
||||
];
|
||||
|
||||
for(var i=0;i<ArrInfo.length;i++)
|
||||
@ -1137,7 +1144,7 @@
|
||||
if(Item.BlockNum1<0)
|
||||
Item.BlockNum1=0;
|
||||
|
||||
CurBlockNum=Item.BlockNum1;
|
||||
CurBlockNum=Math.floor(Item.BlockNum1/Item.Mult)*Item.Mult;
|
||||
|
||||
var MustUpdate=0;
|
||||
if(Item.PowerArr)
|
||||
@ -1225,6 +1232,7 @@
|
||||
if(!Month)
|
||||
return;
|
||||
|
||||
|
||||
var AvgTotal=0;
|
||||
for(var i=0;i<ArrInfo.length;i++)
|
||||
{
|
||||
@ -1435,6 +1443,7 @@
|
||||
</DIV>
|
||||
<DIV style="float: left;display: none" id="idMiningParams">
|
||||
<DIV style="float: left; color: blue;">CPU use:<input type="number" min=0 max=100 id="idPercentMining" onchange="SetPercentMining()"/>%</DIV>
|
||||
<DIV style="float: left; margin: 2px 0 0 8px;" id="idStatusMining"></DIV>
|
||||
</DIV>
|
||||
</DIV>
|
||||
<DIV id="idDevelopService" style="display: none">
|
||||
@ -1474,7 +1483,6 @@
|
||||
</DIV>
|
||||
<canvas width='800' height='30' id='idBlockInfo'></canvas>
|
||||
<BR><BR>
|
||||
<DIV style="float: left; font-family: monospace" id="idStatusMining"></DIV>
|
||||
<DIV style="float: left; font-family: monospace">
|
||||
Block:<B id="idCurBlockNum"></B>
|
||||
DB delta:<B id="idDeltaDB" style="min-width: 30px"></B>
|
||||
@ -1676,7 +1684,7 @@
|
||||
<option value="styleContrast2">Contrast 2</option>
|
||||
<option value="styleContrast3">Contrast 3</option>
|
||||
</select>
|
||||
This Version Refactor By MiaoWoo Use TypeScript
|
||||
|
||||
|
||||
|
||||
</DIV>
|
||||
|
@ -632,9 +632,12 @@
|
||||
</form>
|
||||
</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>
|
||||
<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>
|
||||
|
||||
|
@ -1270,10 +1270,10 @@ export default class CConnect extends CMessages {
|
||||
if (!this.LastNotZeroNodesTime)
|
||||
this.LastNotZeroNodesTime = CurTime
|
||||
var DeltaTime = CurTime - this.LastNotZeroNodesTime;
|
||||
if (DeltaTime > 10 * 1000) {
|
||||
if (DeltaTime > 60 * 1000) {
|
||||
global.ToLog("DETECT GRAY 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.SAVE_CONST()
|
||||
@ -1282,7 +1282,7 @@ export default class CConnect extends CMessages {
|
||||
SetDirectMode() {
|
||||
var CountNodes = this.ActualNodes.size;
|
||||
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.SAVE_CONST()
|
||||
}
|
||||
|
@ -852,6 +852,9 @@ export default class CTransport extends CConnect {
|
||||
this.CanSend++
|
||||
return;
|
||||
}
|
||||
if (global.NET_WORK_MODE && global.NET_WORK_MODE.NOT_RUN) {
|
||||
return;
|
||||
}
|
||||
let SELF = this;
|
||||
this.Server = net.createServer(function(sock: any) {
|
||||
if (SELF.WasBanIP({ address: sock.remoteAddress })) {
|
||||
|
1
src/global.d.ts
vendored
1
src/global.d.ts
vendored
@ -74,6 +74,7 @@ declare global {
|
||||
UseDirectIP?: boolean | number;
|
||||
NodeWhiteList?: string;
|
||||
DoRestartNode?: number;
|
||||
NOT_RUN?: boolean | number;
|
||||
}
|
||||
STAT_MODE: number;
|
||||
MAX_STAT_PERIOD: number;
|
||||
|
@ -36,6 +36,13 @@ global.glCurNumFindArr = 0;
|
||||
global.ArrReconnect = [];
|
||||
global.ArrConnect = [];
|
||||
var FindList = [
|
||||
{ "ip": "91.235.136.81", "port": 30000 },
|
||||
{ "ip": "dappsgate.com", "port": 30000 },
|
||||
{ "ip": "185.240.243.182", "port": 30000 },
|
||||
{ "ip": "t1.teraexplorer.com", "port": 30000 },
|
||||
{ "ip": "t2.teraexplorer.com", "port": 30000 },
|
||||
{ "ip": "t4.teraexplorer.com", "port": 30000 },
|
||||
{ "ip": "teraexplorer.org", "port": 30000 },
|
||||
{ "ip": "60.12.241.181", "port": 30002 },
|
||||
{ "ip": "60.12.241.181", "port": 30003 },
|
||||
{ "ip": "60.12.241.181", "port": 30004 },
|
||||
@ -323,7 +330,7 @@ function StartChildProcess(Item: TeraProcess) {
|
||||
}
|
||||
}
|
||||
if (ITEM.Worker) {
|
||||
ITEM.Worker.send({ cmd: "Alive" });
|
||||
ITEM.Worker.send({ cmd: "Alive", DELTA_CURRENT_TIME: global.DELTA_CURRENT_TIME });
|
||||
}
|
||||
}, 500);
|
||||
ITEM.RunRPC = function(Name, Params, F) {
|
||||
|
@ -526,7 +526,7 @@ HostingCaller.GetNodeList = function(Params) {
|
||||
};
|
||||
var AccountKeyMap = {};
|
||||
var LastMaxNum = 0;
|
||||
HostingCaller.GetAccountListByKey = function(Params, ppp, bRet) {
|
||||
HostingCaller.GetAccountListByKey = function(Params, aaa, bbb, bRet) {
|
||||
if (typeof Params !== "object" || !Params.Key)
|
||||
return { result: 0, arr: [] };
|
||||
var Accounts = global.DApps.Accounts;
|
||||
@ -571,6 +571,8 @@ HostingCaller.GetAccountListByKey = function(Params, ppp, bRet) {
|
||||
return Ret;
|
||||
var Context = global.GetUserContext(Params);
|
||||
var StrInfo = JSON.stringify(Ret);
|
||||
if (Params.AllData === "0")
|
||||
Params.AllData = 0;
|
||||
if (!Params.AllData && Context.PrevAccountList === StrInfo) {
|
||||
return { result: 0, cache: 1 };
|
||||
}
|
||||
@ -654,7 +656,7 @@ HostingCaller.DappInfo = function(Params) {
|
||||
HostingCaller.DappWalletList = function(Params) {
|
||||
if (typeof Params !== "object")
|
||||
return { result: 0 };
|
||||
var Ret = HostingCaller.GetAccountListByKey(Params, undefined, 1);
|
||||
var Ret = HostingCaller.GetAccountListByKey(Params, undefined, undefined, 1);
|
||||
var Smart = global.ParseNum(Params.Smart);
|
||||
var arr = [];
|
||||
for (var i = 0; i < Ret.arr.length; i++) {
|
||||
|
Loading…
Reference in New Issue
Block a user