0.995
This commit is contained in:
parent
c49425621c
commit
e2104b0fa6
Binary file not shown.
Binary file not shown.
@ -13,6 +13,55 @@ function $(id)
|
||||
{
|
||||
return document.getElementById(id);
|
||||
};
|
||||
if(!Math.log2)
|
||||
Math.log2 = Math.log2 || function (x)
|
||||
{
|
||||
return Math.log(x) * Math.LOG2E;
|
||||
};
|
||||
if(!window.crypto)
|
||||
window.crypto = window.msCrypto;
|
||||
if(!window.toStaticHTML)
|
||||
toStaticHTML = function (Str)
|
||||
{
|
||||
return Str;
|
||||
};
|
||||
if(!String.prototype.padStart)
|
||||
{
|
||||
window.BrowserIE = 1;
|
||||
String.prototype.padStart = function padStart(targetLength,padString)
|
||||
{
|
||||
targetLength = targetLength >> 0;
|
||||
padString = String((typeof padString !== 'undefined' ? padString : ' '));
|
||||
if(this.length > targetLength)
|
||||
{
|
||||
return String(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
targetLength = targetLength - this.length;
|
||||
if(targetLength > padString.length)
|
||||
{
|
||||
padString += padString.repeat(targetLength / padString.length);
|
||||
}
|
||||
return padString.slice(0, targetLength) + String(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
window.Storage = {};
|
||||
window.Storage.setItem = function (Key,Value)
|
||||
{
|
||||
if(window.localStorage)
|
||||
localStorage.setItem(Key, Value);
|
||||
};
|
||||
window.Storage.getItem = function (Key)
|
||||
{
|
||||
if(window.localStorage)
|
||||
return localStorage.getItem(Key);
|
||||
};
|
||||
window.IsLocalClient = function ()
|
||||
{
|
||||
return (window.location.protocol.substr(0, 4) !== "http");
|
||||
};
|
||||
var ServerHTTP;
|
||||
var MainServer;
|
||||
if(window.nw)
|
||||
@ -74,7 +123,7 @@ else
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!window.location.hostname)
|
||||
if(IsLocalClient())
|
||||
return ;
|
||||
}
|
||||
}
|
||||
@ -789,7 +838,7 @@ function SetGridData(arr,id_name,TotalSum,bclear,revert)
|
||||
if(cell0.H)
|
||||
{
|
||||
var text = "" + cell0.F(Item);
|
||||
text.trim();
|
||||
text = toStaticHTML(text.trim());
|
||||
if(cell.innerHTML !== text)
|
||||
cell.innerHTML = text;
|
||||
}
|
||||
@ -873,7 +922,7 @@ function RetOpenDapps(Item,bNum,AccountNum)
|
||||
if(Item.HTMLLength > 0)
|
||||
{
|
||||
var StrText = RetIconDapp(Item) + Name;
|
||||
return '<button class="bt_open_dapp" style="margin: -2px 0 0 0" onclick="OpenDapps(' + Item.Num + ',' + AccountNum + ')">' + StrText + '</button>';
|
||||
return '<button type="button" class="bt_open_dapp" style="margin: -2px 0 0 0" onclick="OpenDapps(' + Item.Num + ',' + AccountNum + ')">' + StrText + '</button>';
|
||||
}
|
||||
else
|
||||
return RetIconDapp(Item) + Name;
|
||||
@ -1059,7 +1108,7 @@ function LoadValuesByArr(Arr,DopStr)
|
||||
{
|
||||
if(!DopStr)
|
||||
DopStr = "";
|
||||
if(localStorage["VerSave"] !== "3")
|
||||
if(Storage.getItem("VerSave") !== "3")
|
||||
return 0;
|
||||
for(var i = 0; i < Arr.length; i++)
|
||||
{
|
||||
@ -1067,9 +1116,9 @@ function LoadValuesByArr(Arr,DopStr)
|
||||
var Item = document.getElementById(name);
|
||||
var name2 = DopStr + name;
|
||||
if(Item.type === "checkbox")
|
||||
Item.checked = parseInt(localStorage.getItem(name2));
|
||||
Item.checked = parseInt(Storage.getItem(name2));
|
||||
else
|
||||
Item.value = localStorage.getItem(name2);
|
||||
Item.value = Storage.getItem(name2);
|
||||
}
|
||||
return 1;
|
||||
};
|
||||
@ -1078,16 +1127,16 @@ function SaveValuesByArr(Arr,DopStr)
|
||||
{
|
||||
if(!DopStr)
|
||||
DopStr = "";
|
||||
localStorage["VerSave"] = "3";
|
||||
Storage.setItem("VerSave", "3");
|
||||
for(var i = 0; i < Arr.length; i++)
|
||||
{
|
||||
var name = Arr[i];
|
||||
var name2 = DopStr + name;
|
||||
var Item = $(name);
|
||||
if(Item.type === "checkbox")
|
||||
window.localStorage.setItem(name2, 0 + Item.checked);
|
||||
window.Storage.setItem(name2, 0 + Item.checked);
|
||||
else
|
||||
window.localStorage.setItem(name2, Item.value);
|
||||
window.Storage.setItem(name2, Item.value);
|
||||
}
|
||||
};
|
||||
var MapCurrency = {};
|
||||
@ -1290,7 +1339,7 @@ function FillCategory(IdName)
|
||||
function AddToInvoiceList(Item)
|
||||
{
|
||||
var arr;
|
||||
var Str = localStorage["InvoiceList"];
|
||||
var Str = Storage.getItem("InvoiceList");
|
||||
if(Str)
|
||||
{
|
||||
arr = JSON.parse(Str);
|
||||
@ -1300,13 +1349,13 @@ function AddToInvoiceList(Item)
|
||||
arr = [];
|
||||
}
|
||||
arr.unshift(Item);
|
||||
localStorage["InvoiceList"] = JSON.stringify(arr);
|
||||
Storage.setItem("InvoiceList", JSON.stringify(arr));
|
||||
};
|
||||
|
||||
function OpenDapps(Num,AccountNum)
|
||||
{
|
||||
var StrPath = '/dapp/' + Num;
|
||||
if(window.location.protocol === "file:")
|
||||
if(IsLocalClient())
|
||||
{
|
||||
StrPath = "./dapp-frame.html?dapp=" + Num;
|
||||
}
|
||||
@ -1587,7 +1636,7 @@ function GetSignTransaction(TR,StrPrivKey,F)
|
||||
function GetSignFromArr(Arr,StrPrivKey)
|
||||
{
|
||||
if(!StrPrivKey)
|
||||
StrPrivKey = localStorage["idPrivKey"];
|
||||
StrPrivKey = Storage.getItem("idPrivKey");
|
||||
if(!IsHexStr(StrPrivKey) || StrPrivKey.length !== 64)
|
||||
return "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
|
||||
var PrivKey = GetArrFromHex(StrPrivKey);
|
||||
@ -1633,7 +1682,7 @@ Number.prototype.toStringF = function ()
|
||||
|
||||
function CanClientSign()
|
||||
{
|
||||
var StrPrivKey = localStorage["idPrivKey"];
|
||||
var StrPrivKey = Storage.getItem("idPrivKey");
|
||||
if(!IsHexStr(StrPrivKey) || StrPrivKey.length !== 64)
|
||||
{
|
||||
return 0;
|
||||
|
@ -35,10 +35,18 @@ function GetPowPower(arrhash)
|
||||
var SumBit = 0;
|
||||
for(var i = 0; i < arrhash.length; i++)
|
||||
{
|
||||
var CurSum = Math.clz32(arrhash[i]) - 24;
|
||||
SumBit += CurSum;
|
||||
if(CurSum !== 8)
|
||||
break;
|
||||
var byte = arrhash[i];
|
||||
for(var b = 7; b >= 0; b--)
|
||||
{
|
||||
if((byte >> b) & 1)
|
||||
{
|
||||
return SumBit;
|
||||
}
|
||||
else
|
||||
{
|
||||
SumBit++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return SumBit;
|
||||
};
|
||||
@ -265,9 +273,9 @@ function ComputeSecretWithCheck(PubKey,StrPrivKey,F)
|
||||
|
||||
function ComputeSecret(Account,PubKey,F)
|
||||
{
|
||||
if(localStorage["idPrivKey"])
|
||||
if(Storage.getItem("idPrivKey"))
|
||||
{
|
||||
ComputeSecretWithCheck(PubKey, localStorage["idPrivKey"], F);
|
||||
ComputeSecretWithCheck(PubKey, Storage.getItem("idPrivKey"), F);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -11,6 +11,11 @@
|
||||
var DiagramMap = {};
|
||||
var DiagramMapId = {};
|
||||
var LMouseOn = false;
|
||||
if(!window.toStaticHTML)
|
||||
toStaticHTML = function (Str)
|
||||
{
|
||||
return Str;
|
||||
};
|
||||
|
||||
function Rigth(Str,Count)
|
||||
{
|
||||
@ -44,11 +49,11 @@ function SetHTMLDiagramItem(Item,width)
|
||||
}
|
||||
var ElBlock = document.getElementById("B" + Item.id);
|
||||
if(ElBlock)
|
||||
ElBlock.innerHTML = Str;
|
||||
ElBlock.innerHTML = toStaticHTML(Str);
|
||||
else
|
||||
{
|
||||
var diargams = document.getElementById("diargams");
|
||||
diargams.innerHTML += "<DIV id='B" + Item.id + "'>" + Str + "</DIV>";
|
||||
diargams.innerHTML = toStaticHTML(diargams.innerHTML + "<DIV id='B" + Item.id + "'>" + Str + "</DIV>");
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -285,7 +285,7 @@ function AddWhiteList()
|
||||
{
|
||||
var ToID = ParseNum($("idTo").value);
|
||||
if(ToID && $("idWhiteOnSend").checked)
|
||||
localStorage["White:" + ToID] = 1;
|
||||
Storage.setItem("White:" + ToID, 1);
|
||||
};
|
||||
|
||||
function SendMoneyBefore()
|
||||
@ -294,7 +294,7 @@ function SendMoneyBefore()
|
||||
return ;
|
||||
var ToID = ParseNum($("idTo").value);
|
||||
var Item = MapAccounts[ToID];
|
||||
if(localStorage["White:" + ToID] || !$("idSumSend").value || Item && Item.MyAccount)
|
||||
if(Storage.getItem("White:" + ToID) || !$("idSumSend").value || Item && Item.MyAccount)
|
||||
{
|
||||
SendMoney();
|
||||
}
|
||||
@ -530,7 +530,7 @@ function CheckSendList(bRedraw)
|
||||
TitleWarning = PayList.length;
|
||||
if(AttachItem)
|
||||
TitleWarning++;
|
||||
var Str = localStorage["InvoiceList"];
|
||||
var Str = Storage.getItem("InvoiceList");
|
||||
if(!Str && !bRedraw)
|
||||
return ;
|
||||
if(!bRedraw)
|
||||
@ -544,7 +544,7 @@ function CheckSendList(bRedraw)
|
||||
{
|
||||
AddSendList(arr[i]);
|
||||
}
|
||||
localStorage["InvoiceList"] = "";
|
||||
Storage.setItem("InvoiceList", "");
|
||||
}
|
||||
var idList = $("idSendList");
|
||||
if(PayList.length)
|
||||
|
@ -43,7 +43,7 @@ function StartWebWallet()
|
||||
|
||||
function OnInitWebWallet()
|
||||
{
|
||||
var str = localStorage.getItem(NETWORK + "NodesArrayList");
|
||||
var str = Storage.getItem(NETWORK + "NodesArrayList");
|
||||
if(str)
|
||||
{
|
||||
var arr = JSON.parse(str);
|
||||
@ -68,20 +68,23 @@ function SaveServerMap()
|
||||
arr.push({ip:Item.ip, port:Item.port});
|
||||
}
|
||||
}
|
||||
localStorage.setItem(NETWORK + "NodesArrayList", JSON.stringify(arr));
|
||||
Storage.setItem(NETWORK + "NodesArrayList", JSON.stringify(arr));
|
||||
};
|
||||
|
||||
function SetStatus(Str)
|
||||
{
|
||||
var id = $("idStatus");
|
||||
id.innerHTML = Str;
|
||||
console.log(id.innerText);
|
||||
if(Str)
|
||||
console.log(id.innerText);
|
||||
};
|
||||
|
||||
function SetError(Str,bNoSound)
|
||||
{
|
||||
SetStatus("<DIV align='left' style='color:red'><B>" + Str + "</B></DIV>");
|
||||
};
|
||||
var CountConnect = 0;
|
||||
var CountWallet = 0;
|
||||
|
||||
function ConnectWebWallet()
|
||||
{
|
||||
@ -92,6 +95,13 @@ function ConnectWebWallet()
|
||||
var Item = ServerMap[key];
|
||||
Item.SendHandShake = 0;
|
||||
}
|
||||
if(window.BrowserIE && !IsLocalClient())
|
||||
{
|
||||
MainServer = undefined;
|
||||
return ;
|
||||
}
|
||||
CountConnect = 0;
|
||||
CountWallet = 0;
|
||||
SetStatus("Connecting...");
|
||||
LoopHandShake();
|
||||
setTimeout(LoopWalletInfo, 1500);
|
||||
@ -107,6 +117,9 @@ function LoopHandShake()
|
||||
var Item = ServerMap[key];
|
||||
if(Item.SendHandShake || !Item.port)
|
||||
continue;
|
||||
CountConnect++;
|
||||
if(window.BrowserIE && CountConnect > 4)
|
||||
break;
|
||||
DoNodeList(Item);
|
||||
}
|
||||
};
|
||||
@ -155,6 +168,9 @@ function LoopWalletInfo()
|
||||
var Item = ServerMap[key];
|
||||
if(Item.port)
|
||||
{
|
||||
CountWallet++;
|
||||
if(window.BrowserIE && CountWallet > 4)
|
||||
break;
|
||||
DoWalletInfo(Item);
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,8 @@
|
||||
|
||||
|
||||
<script>
|
||||
window.Storage=window.localStorage;
|
||||
|
||||
var DapNumber="#template-number#";
|
||||
var glSmart=parseInt(DapNumber);
|
||||
var CONFIG_DATA={};
|
||||
@ -62,12 +64,12 @@
|
||||
}
|
||||
case "setstorage":
|
||||
{
|
||||
localStorage.setItem("DAPP-"+DapNumber+"-"+Data.Key,JSON.stringify(Data.Value));
|
||||
Storage.setItem("DAPP-"+DapNumber+"-"+Data.Key,JSON.stringify(Data.Value));
|
||||
break;
|
||||
}
|
||||
case "getstorage":
|
||||
{
|
||||
Data.Value=localStorage.getItem("DAPP-"+DapNumber+"-"+Data.Key);
|
||||
Data.Value=Storage.getItem("DAPP-"+DapNumber+"-"+Data.Key);
|
||||
if(Data.Value)
|
||||
Data.Value=JSON.parse(Data.Value);
|
||||
SendMessage(Data);
|
||||
@ -75,12 +77,12 @@
|
||||
}
|
||||
case "setcommon":
|
||||
{
|
||||
localStorage.setItem("DAPP-"+Data.Key,JSON.stringify(Data.Value));
|
||||
Storage.setItem("DAPP-"+Data.Key,JSON.stringify(Data.Value));
|
||||
break;
|
||||
}
|
||||
case "getcommon":
|
||||
{
|
||||
Data.Value=localStorage.getItem("DAPP-"+Data.Key);
|
||||
Data.Value=Storage.getItem("DAPP-"+Data.Key);
|
||||
if(Data.Value)
|
||||
Data.Value=JSON.parse(Data.Value);
|
||||
SendMessage(Data);
|
||||
@ -129,7 +131,7 @@
|
||||
AllData=1;
|
||||
NumDappGet++;
|
||||
|
||||
var Key=localStorage["idPubKey"];
|
||||
var Key=Storage.getItem("idPubKey");
|
||||
GetData("DappInfo",{Smart:glSmart,Key:Key,Session:glSession,NumDappInfo:NumDappInfo,AllData:AllData,AllAccounts:Data.AllAccounts}, function (SetData)
|
||||
{
|
||||
if(SetData)
|
||||
@ -153,8 +155,8 @@
|
||||
if(!Data.PubKey)
|
||||
{
|
||||
//support web/light wallet mode:
|
||||
Data.PubKey=localStorage["idPubKey"];
|
||||
Data.WalletIsOpen=IsPrivateMode(localStorage["idPrivKey"]);
|
||||
Data.PubKey=Storage.getItem("idPubKey");
|
||||
Data.WalletIsOpen=IsPrivateMode(Storage.getItem("idPrivKey"));
|
||||
Data.WalletCanSign=Data.WalletIsOpen;
|
||||
}
|
||||
CONFIG_DATA.WalletCanSign=Data.WalletCanSign;
|
||||
@ -167,7 +169,7 @@
|
||||
break;
|
||||
}
|
||||
case "DappWalletList":
|
||||
var Key=localStorage["idPubKey"];
|
||||
var Key=Storage.getItem("idPubKey");
|
||||
Data.Params={Smart:glSmart,Key:Key};
|
||||
case "DappSmartHTMLFile":
|
||||
case "DappBlockFile":
|
||||
@ -182,8 +184,8 @@
|
||||
//check storage
|
||||
var StrKeyStorage=Data.Params.BlockNum+"-"+Data.Params.TrNum;
|
||||
|
||||
var Storage=sessionStorage;
|
||||
var SavedTextData=Storage[StrKeyStorage];
|
||||
var Storage2=sessionStorage;
|
||||
var SavedTextData=Storage2[StrKeyStorage];
|
||||
if(SavedTextData)
|
||||
{
|
||||
var SetData=JSON.parse(SavedTextData);
|
||||
@ -206,7 +208,7 @@
|
||||
SendMessage(Data);
|
||||
if(StrKeyStorage && SetData.result)
|
||||
{
|
||||
Storage[StrKeyStorage]=responseText;
|
||||
Storage2[StrKeyStorage]=responseText;
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -237,7 +239,11 @@
|
||||
}
|
||||
case "OpenLink":
|
||||
{
|
||||
window.open(Data.Message);
|
||||
var Path=Data.Message.substr(0,200);
|
||||
if(IsLocalClient() && Path.substr(0,6)==="/dapp/")
|
||||
Path="?dapp="+Path.substr(6);
|
||||
//console.log("OpenLink:"+Path);
|
||||
window.open(Path);
|
||||
break;
|
||||
}
|
||||
case "ComputeSecret":
|
||||
@ -284,18 +290,18 @@
|
||||
{
|
||||
if(window.location.hash)
|
||||
OPEN_PATH=window.location.hash.substr(1);
|
||||
if(window.location.protocol==="file:")
|
||||
if(IsLocalClient())
|
||||
{
|
||||
DapNumber=window.location.search.substr(6);
|
||||
if(localStorage["MainServer"])
|
||||
if(Storage.getItem("MainServer"))
|
||||
{
|
||||
MainServer=JSON.parse(localStorage["MainServer"]);
|
||||
MainServer=JSON.parse(Storage.getItem("MainServer"));
|
||||
}
|
||||
}
|
||||
glSmart=parseInt(DapNumber);
|
||||
|
||||
|
||||
var Key=localStorage["idPubKey"];
|
||||
var Key=Storage.getItem("idPubKey");
|
||||
GetData("DappInfo",{Smart:glSmart, Key:Key, Session:glSession, AllData:1}, function (SetData)
|
||||
{
|
||||
if(!SetData || !SetData.result)
|
||||
@ -414,7 +420,7 @@
|
||||
StrRef='<A class="btcreate" href="./web-wallet.html#TabAccounts">Accounts</A>';
|
||||
else
|
||||
{
|
||||
if(localStorage["BIGWALLET"])
|
||||
if(Storage.getItem("BIGWALLET"))
|
||||
StrRef='<A class="btcreate" href="/wallet.html#TabAccounts">Config</A>'
|
||||
else
|
||||
StrRef='<A class="btcreate" href="/web-wallet.html#TabAccounts">Accounts</A>';
|
||||
@ -480,9 +486,9 @@
|
||||
var arr = new Uint8Array(32);
|
||||
window.crypto.getRandomValues(arr);
|
||||
var PrivKey=GetHexFromArr(sha3(arr));
|
||||
localStorage["idPrivKey"]=PrivKey;
|
||||
localStorage["idPubKey"]=GetHexFromArr(SignLib.publicKeyCreate(PrivKey,1));
|
||||
CONFIG_DATA.PubKey=localStorage["idPubKey"];
|
||||
Storage.setItem("idPrivKey",PrivKey);
|
||||
Storage.setItem("idPubKey",GetHexFromArr(SignLib.publicKeyCreate(PrivKey,1)));
|
||||
CONFIG_DATA.PubKey=Storage.getItem("idPubKey");
|
||||
|
||||
console.log("CreateNewWebKeys: "+CONFIG_DATA.PubKey);
|
||||
}
|
||||
@ -492,7 +498,7 @@
|
||||
{
|
||||
if(!CONFIG_DATA.WalletCanSign)
|
||||
{
|
||||
if(localStorage["BIGWALLET"])
|
||||
if(Storage.getItem("BIGWALLET"))
|
||||
{
|
||||
SetError("Pls, open wallet");
|
||||
return;
|
||||
@ -533,14 +539,14 @@
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height:20px;
|
||||
height:18px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
background-color:white;
|
||||
}
|
||||
.btcreate
|
||||
{
|
||||
height:20px;
|
||||
height:18px;
|
||||
background-color: #347867;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
@ -558,18 +564,12 @@
|
||||
</html>
|
||||
<script>
|
||||
var glDebugPath="";
|
||||
// glDebugPath="./dapp-smart/forum.html";
|
||||
//glDebugPath="./dapp-smart/DEX.html";
|
||||
//glDebugPath="./dapp-smart/test-load.html";
|
||||
// glDebugPath="./dapp-smart/gambling-1.html";
|
||||
// glDebugPath="./dapp-smart/BTC-coin.html";
|
||||
// glDebugPath="./dapp-smart/freeze.html";
|
||||
// glDebugPath="./dapp-smart/promise.html";
|
||||
|
||||
//glDebugPath="./dapp-smart/forum.html";
|
||||
//glDebugPath="./dapp-smart/DEX.html";
|
||||
//glDebugPath="./dapp-smart/OnlineStore.html";
|
||||
//glDebugPath="./dapp-smart/Clicker.html";
|
||||
//{"HTMLBlock":3492141,"HTMLTr":0}
|
||||
|
||||
|
||||
//glDebugPath="./dapp-smart/BTC-coin.html";
|
||||
//glDebugPath="./dapp-smart/static/miner-list.html";
|
||||
//glDebugPath="./dapp-smart/static/ReadAccountArr.html";
|
||||
//{"HTMLBlock":24201380,"HTMLTr":0}
|
||||
</script>
|
||||
|
||||
|
@ -764,7 +764,8 @@
|
||||
{
|
||||
CurTabName=name;
|
||||
OnSelectTab(name);
|
||||
window.location.hash="#"+name;
|
||||
history.pushState(null,null,"#"+name);
|
||||
//window.location.hash="#"+name;
|
||||
|
||||
SetVisibleTab();
|
||||
SaveValues();
|
||||
@ -1483,7 +1484,7 @@
|
||||
<td>Amount</td>
|
||||
<td>
|
||||
<INPUT type="number" id="idSumSend" style="color:#1e21cb" value="" step=0 min=0 max=1000000000 onkeyup="OnEditTransactionFields()" onchange="OnEditTransactionFields()">
|
||||
<button style="font-family: monospace;" onclick="SetAllSum()"><-</button>
|
||||
<button style="font-family: monospace;" onclick="SetAllSum()">←</button>
|
||||
<B id="idCoinName"></B>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -41,7 +41,7 @@
|
||||
{
|
||||
LoadSignLib();
|
||||
|
||||
if(localStorage["NETWORK"] || window.location.protocol==="file:")
|
||||
if(localStorage["NETWORK"] || IsLocalClient())
|
||||
{
|
||||
OnLoad();
|
||||
}
|
||||
@ -914,7 +914,7 @@
|
||||
<td>数量</td>
|
||||
<td>
|
||||
<INPUT type="number" id="idSumSend" style="color:#1e21cb" value="" step=0 min=0 max=1000000000 oninput="OnEditTransactionFields()">
|
||||
<button style="font-family: monospace;" onclick="SetAllSum()"><-</button>
|
||||
<button style="font-family: monospace;" onclick="SetAllSum()">←</button>
|
||||
<B id="idCoinName"></B>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -22,13 +22,15 @@
|
||||
<script>
|
||||
// window.WEBWALLET=1;
|
||||
|
||||
|
||||
|
||||
var PubKeyStr;
|
||||
var NumAccountList=0;
|
||||
|
||||
//Pagination
|
||||
var SaveIdArr=["idAccount","idTo","idSumSend","idDescription","idCurTabName","idPubKey","idPrivKey","idViewBlockNum","idViewAccountNum","idViewDappNum"];
|
||||
var CONFIG_DATA={};
|
||||
CONFIG_DATA={PRICE_DAO:{NewAccount:10}};
|
||||
|
||||
var CONFIG_DATA={PRICE_DAO:{NewAccount:10},MaxNumBlockDB:0,MaxAccID:0,MaxDappsID:0};
|
||||
var CountViewRows=20;
|
||||
var DefAccounts={BlockName:"idPaginationAccount", NumName:"idViewAccountNum", TabName:"explorer_accounts",APIName:"GetAccountList"};
|
||||
var DefBlock={BlockName:"idPaginationBlock", NumName:"idViewBlockNum", TabName:"explorer_blocks",APIName:"GetBlockList"};
|
||||
@ -41,7 +43,7 @@
|
||||
{
|
||||
LoadSignLib();
|
||||
|
||||
if(localStorage["NETWORK"] || window.location.protocol==="file:")
|
||||
if(Storage.getItem("NETWORK") || IsLocalClient())
|
||||
{
|
||||
OnLoad();
|
||||
}
|
||||
@ -51,7 +53,7 @@
|
||||
{
|
||||
if(Data && Data.result)
|
||||
{
|
||||
localStorage["NETWORK"]=Data.NETWORK;
|
||||
Storage.setItem("NETWORK",Data.NETWORK);
|
||||
console.log("Default network: "+Data.NETWORK);
|
||||
OnLoad();
|
||||
|
||||
@ -62,8 +64,8 @@
|
||||
|
||||
function OnLoad()
|
||||
{
|
||||
if(localStorage["NETWORK"])
|
||||
NETWORK=localStorage["NETWORK"];
|
||||
if(Storage.getItem("NETWORK"))
|
||||
NETWORK=Storage.getItem("NETWORK");
|
||||
|
||||
|
||||
|
||||
@ -105,7 +107,7 @@
|
||||
{
|
||||
NETWORK="TERA-TEST2";
|
||||
}
|
||||
localStorage["NETWORK"]=NETWORK;
|
||||
Storage.setItem("NETWORK",NETWORK);
|
||||
StartWebWallet();
|
||||
|
||||
UpdatesExplorerData();
|
||||
@ -118,11 +120,11 @@
|
||||
if(!MainServer)
|
||||
{
|
||||
SetStatus("Server not found");
|
||||
delete localStorage["MainServer"];
|
||||
Storage.setItem("MainServer",undefined);
|
||||
return;
|
||||
}
|
||||
|
||||
localStorage["MainServer"]=JSON.stringify(MainServer);//for use in dapp
|
||||
Storage.setItem("MainServer",JSON.stringify(MainServer));//for use in dapp
|
||||
|
||||
//currency fill
|
||||
FillCurrencyAsync("idAccountCur");
|
||||
@ -161,7 +163,9 @@
|
||||
SetVisibleTab();
|
||||
SaveValues();
|
||||
OnSelectTab(name);
|
||||
window.location.hash="#"+name;
|
||||
|
||||
if(history.pushState)
|
||||
history.pushState(null,null,"#"+name);
|
||||
}
|
||||
function OnSelectTab(name)
|
||||
{
|
||||
@ -264,7 +268,7 @@
|
||||
{
|
||||
Str="OK. Using Private key.";
|
||||
}
|
||||
$("idPrivKeyButton").innerHTML=Str;
|
||||
$("idPrivKeyButton").innerHTML=toStaticHTML(Str);
|
||||
}
|
||||
|
||||
if(EditFlag)
|
||||
@ -421,7 +425,7 @@
|
||||
|
||||
var StrVersion=" 0."+Data.VersionNum;
|
||||
var Str="Blockchain height: <B>"+Data.MaxNumBlockDB+"</B> Current create: <B>"+Data.CurBlockNum+"</B> Wallet ver:"+"<B>"+StrVersion+"</B>";
|
||||
$("idCurrentBlockNum").innerHTML=Str;
|
||||
$("idCurrentBlockNum").innerHTML=toStaticHTML(Str);
|
||||
|
||||
|
||||
SetArrLog(Data.ArrLog);
|
||||
@ -527,7 +531,7 @@
|
||||
background-color: #22547f;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 34px;
|
||||
height: 24px;
|
||||
}
|
||||
.bttab
|
||||
{
|
||||
@ -538,7 +542,7 @@
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding-top: 7px;
|
||||
height: 100%;
|
||||
height: 24px;
|
||||
border: 1px solid white;
|
||||
}
|
||||
.bttab:hover
|
||||
@ -666,6 +670,7 @@
|
||||
{
|
||||
text-align: left;
|
||||
width: 90px;
|
||||
min-width: 90px;
|
||||
font-size: small;
|
||||
}
|
||||
td.hash
|
||||
@ -807,7 +812,7 @@
|
||||
<th><DIV id="MTabExplorer" onclick="SelectTab('TabExplorer')" class="bttab">EXPLORER</DIV></th>
|
||||
</tr>
|
||||
</table>
|
||||
<table><tr><td><DIV id="idStatus"> </DIV></td><td><button id="idNetwork" onclick="ChangeNetwork()"></button></td></tr></table>
|
||||
<table><tr><td><DIV id="idStatus"> </DIV></td><td><button id="idNetwork" style="height: 24px;" onclick="ChangeNetwork()"></button></td></tr></table>
|
||||
|
||||
|
||||
<DIV id="TabLogo" style="display: block;">
|
||||
@ -914,7 +919,7 @@
|
||||
<td>Amount</td>
|
||||
<td>
|
||||
<INPUT type="number" id="idSumSend" style="color:#1e21cb" value="" step=0 min=0 max=1000000000 oninput="OnEditTransactionFields()">
|
||||
<button style="font-family: monospace;" onclick="SetAllSum()"><-</button>
|
||||
<button style="font-family: monospace;" onclick="SetAllSum()">←</button>
|
||||
<B id="idCoinName"></B>
|
||||
</td>
|
||||
</tr>
|
||||
|
BIN
Source/SITE/PIC/TERA_logo-01.jpg
Normal file
BIN
Source/SITE/PIC/TERA_logo-01.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 73 KiB |
BIN
Source/SITE/PIC/TERA_logo-01.png
Normal file
BIN
Source/SITE/PIC/TERA_logo-01.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
BIN
Source/SITE/PIC/TERA_logo-02.jpg
Normal file
BIN
Source/SITE/PIC/TERA_logo-02.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 43 KiB |
BIN
Source/SITE/PIC/TERA_logo-02.png
Normal file
BIN
Source/SITE/PIC/TERA_logo-02.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.7 KiB |
BIN
Source/SITE/PIC/TERA_logo-03.jpg
Normal file
BIN
Source/SITE/PIC/TERA_logo-03.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 63 KiB |
BIN
Source/SITE/PIC/TERA_logo-03.png
Normal file
BIN
Source/SITE/PIC/TERA_logo-03.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
@ -149,7 +149,7 @@
|
||||
<h2 class="title">关于 TERA(泰瑞)</h2>
|
||||
</div>
|
||||
<p style="text-align: center;">
|
||||
<img src="../PIC/Tera_Logo.png" align="center" width="240" />
|
||||
<img src="../PIC/TERA_logo-03.png" align="center" width="240" />
|
||||
</p>
|
||||
<p style="text-align: justify; font-size: 15px;">
|
||||
非常荣幸邀请您加入TERA挖矿。现有加密货币在以下方面存在问题:中心化、交易吞吐量、交易速度、确认时间、交易税费以及一般可用性、难以整合到现有支付系统和金融系统。TERA提供了针对以上问题的解决方案。
|
||||
|
@ -218,7 +218,7 @@
|
||||
<h2 class="title">Über TERA</h2>
|
||||
</div>
|
||||
<p style="text-align: center;">
|
||||
<img src="../PIC/Tera_Logo.png" align="center" width="240" />
|
||||
<img src="../PIC/TERA_logo-03.png" align="center" width="240" />
|
||||
</p>
|
||||
<p style="text-align: justify; font-size: 15px;">
|
||||
Wir freuen uns darüber dich auf unserer Website begrüßen zu dürfen. Mit TERA möchten wir den Menschen das Thema Blockchain und dezentralisierte Apps (dApps) auf eine neue, einfachere und vor allem, im Sinne der Dezentralisierung, richtige Weise näher bringen. TERA vereint alle erforderlichen Eigenschaften, um bereits bekannte Technologien abzulösen und die Krypto Welt zu revolutionieren.
|
||||
|
@ -149,7 +149,7 @@
|
||||
<h1>О TERA</h1>
|
||||
</div>
|
||||
<p class="tera-logo-panel">
|
||||
<img src="../PIC/Tera_Logo.png" width="240" />
|
||||
<img src="../PIC/TERA_logo-03.png" width="240" />
|
||||
</p>
|
||||
<p>
|
||||
Рады предложить вам присоединиться к проекту TERA. Блокчейн TERA предлагает решения самых популярных проблем в области криптовалют: централизация, пропусканая способность, скорость осуществления транзакций, время подтверждения, комиссия за транзакции и общее удобство использования функционала рынка.
|
||||
|
@ -8,8 +8,8 @@
|
||||
* Telegram: https://web.telegram.org/#/im?p=@terafoundation
|
||||
*/
|
||||
|
||||
global.UPDATE_CODE_VERSION_NUM = 993;
|
||||
global.MIN_CODE_VERSION_NUM = 922;
|
||||
global.UPDATE_CODE_VERSION_NUM = 995;
|
||||
global.MIN_CODE_VERSION_NUM = 992;
|
||||
global.MINING_VERSION_NUM = 3;
|
||||
global.InitParamsArg = InitParamsArg;
|
||||
global.CONST_NAME_ARR = ["AUTO_CORRECT_TIME", "DELTA_CURRENT_TIME", "COMMON_KEY", "NODES_NAME", "SERVER_PRIVATE_KEY_HEX", "USE_NET_FOR_SERVER_ADDRES",
|
||||
|
@ -496,7 +496,7 @@ class SmartApp extends require("./dapp")
|
||||
if(global.LOCAL_RUN || global.TEST_NETWORK)
|
||||
this.RowHole = {}
|
||||
else
|
||||
this.RowHole = {"19":1, "22":1, "23":1, "24":1, "26":1, "27":1, "29":1, "30":1, "34":1}
|
||||
this.RowHole = {"19":1, "22":1, "23":1, "24":1, "26":1, "27":1, "29":1, "30":1, "34":1, "56":1, "57":1}
|
||||
}
|
||||
IsHole(num)
|
||||
{
|
||||
|
@ -35,8 +35,9 @@ setTimeout(function ()
|
||||
global.glCurNumFindArr = 0;
|
||||
global.ArrReconnect = [];
|
||||
global.ArrConnect = [];
|
||||
var FindList = [{"ip":"149.154.70.158", "port":30000}, {"ip":"69.30.225.26", "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}, ];
|
||||
var FindList = [{"ip":"91.235.136.81", "port":30005}, {"ip":"149.154.70.158", "port":30000}, {"ip":"69.30.225.26", "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}, ];
|
||||
if(global.LOCAL_RUN)
|
||||
{
|
||||
FindList = [{"ip":"127.0.0.1", "port":50001}, {"ip":"127.0.0.1", "port":50002}];
|
||||
@ -226,6 +227,7 @@ function StartChildProcess(Item)
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
ToLog("ERR KILL");
|
||||
return ;
|
||||
}
|
||||
ITEM.Worker = undefined;
|
||||
@ -236,6 +238,8 @@ function StartChildProcess(Item)
|
||||
ITEM.LastAlive = (Date.now()) + ITEM.PeriodAlive * 3;
|
||||
ToLog("STARTING " + ITEM.Name);
|
||||
ITEM.Worker = Fork(ITEM.Path, ["READONLYDB"]);
|
||||
ITEM.pid = ITEM.Worker.pid;
|
||||
ToLog("STARTED " + ITEM.Name + ":" + ITEM.pid);
|
||||
ITEM.Worker.on('message', function (msg)
|
||||
{
|
||||
if(ITEM.LastAlive < Date.now())
|
||||
@ -319,12 +323,10 @@ function StartChildProcess(Item)
|
||||
ITEM.Worker.on('error', function (err)
|
||||
{
|
||||
ToError("ERROR IN " + ITEM.Name + " Err : " + err);
|
||||
ITEM.Worker = undefined;
|
||||
});
|
||||
ITEM.Worker.on('close', function (code)
|
||||
{
|
||||
ToError("CLOSE " + ITEM.Name);
|
||||
ITEM.Worker = undefined;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -846,10 +846,8 @@ catch(e)
|
||||
}
|
||||
global.LoadBlockFromNetwork = function (Params,F)
|
||||
{
|
||||
ToLog("RUN: LoadBlockFromNetwork:" + Params.BlockNum);
|
||||
process.RunRPC("LoadBlockFromNetwork", {BlockNum:Params.BlockNum, F:1}, function (Err,Block)
|
||||
{
|
||||
ToLog("RETURN: LoadBlockFromNetwork: " + Params.BlockNum);
|
||||
F(Err, Block);
|
||||
});
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user