0.886
This commit is contained in:
@@ -13,7 +13,7 @@ const fs = require('fs');
|
||||
const DBRow = require("../core/db/db-row");
|
||||
const MAX_SUM_TER = 1e9;
|
||||
const MAX_SUM_CENT = 1e9;
|
||||
const TYPE_TRANSACTION_CREATE = 100;
|
||||
global.TYPE_TRANSACTION_CREATE = 100;
|
||||
const TYPE_TRANSACTION_TRANSFER = 105;
|
||||
const TYPE_TRANSACTION_TRANSFER2 = 110;
|
||||
const TYPE_TRANSACTION_TRANSFER3 = 111;
|
||||
@@ -419,7 +419,7 @@ class AccountApp extends require("./dapp")
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
GetScriptTransaction(Body)
|
||||
GetObjectTransaction(Body)
|
||||
{
|
||||
var Type = Body[0];
|
||||
var format;
|
||||
@@ -453,14 +453,21 @@ class AccountApp extends require("./dapp")
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
var TR;
|
||||
try
|
||||
{
|
||||
var TR = BufLib.GetObjectFromBuffer(Body, format, {});
|
||||
TR = BufLib.GetObjectFromBuffer(Body, format, {})
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
return TR;
|
||||
}
|
||||
GetScriptTransaction(Body)
|
||||
{
|
||||
var TR = this.GetObjectTransaction(Body);
|
||||
if(!TR)
|
||||
return "";
|
||||
if(TR.Body && TR.Body.length)
|
||||
{
|
||||
var App = DAppByType[TR.Body[0]];
|
||||
@@ -528,7 +535,7 @@ class AccountApp extends require("./dapp")
|
||||
{
|
||||
power = GetPowPower(shaarr(Body))
|
||||
}
|
||||
if(CheckMinPower)
|
||||
if(CheckMinPower && BlockNum < 19600000)
|
||||
{
|
||||
var MinPower;
|
||||
if(BlockNum < 2500000)
|
||||
@@ -537,7 +544,7 @@ class AccountApp extends require("./dapp")
|
||||
if(BlockNum < 2800000)
|
||||
MinPower = MIN_POWER_POW_ACC_CREATE + 2
|
||||
else
|
||||
MinPower = MIN_POWER_POW_ACC_CREATE + 3
|
||||
MinPower = MIN_POWER_POW_ACC_CREATE_LAST
|
||||
if(power < MinPower)
|
||||
return "Error min power POW for create account (update client)";
|
||||
}
|
||||
@@ -1285,6 +1292,39 @@ class AccountApp extends require("./dapp")
|
||||
RunSmartMethod(Block, ToData.Value.Smart, ToData, BlockNum, TrNum, Context, "OnGet")
|
||||
}
|
||||
}
|
||||
GetSignTransferTx(TR, PrivKey)
|
||||
{
|
||||
var Arr;
|
||||
if(TR.Version === 2 || TR.Version === 3)
|
||||
{
|
||||
var format;
|
||||
if(TR.Version === 2)
|
||||
format = FORMAT_MONEY_TRANSFER_BODY2
|
||||
else
|
||||
format = FORMAT_MONEY_TRANSFER_BODY3
|
||||
Arr = []
|
||||
for(var i = 0; i < TR.To.length; i++)
|
||||
{
|
||||
var Item = TR.To[i];
|
||||
var DataTo = DApps.Accounts.ReadState(Item.ID);
|
||||
if(!DataTo)
|
||||
return [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
||||
for(var j = 0; j < 33; j++)
|
||||
Arr[Arr.length] = DataTo.PubKey[j]
|
||||
}
|
||||
var Body = BufLib.GetBufferFromObject(TR, format, MAX_TRANSACTION_SIZE, {});
|
||||
for(var j = 0; j < Body.length; j++)
|
||||
Arr[Arr.length] = Body[j]
|
||||
}
|
||||
else
|
||||
{
|
||||
Arr = BufLib.GetBufferFromObject(TR, FORMAT_MONEY_TRANSFER_BODY, MAX_TRANSACTION_SIZE, {})
|
||||
}
|
||||
var hash = shabuf(Arr);
|
||||
var sigObj = secp256k1.sign(hash, Buffer.from(PrivKey));
|
||||
return sigObj.signature;
|
||||
}
|
||||
};
|
||||
module.exports = AccountApp;
|
||||
var App = new AccountApp;
|
||||
|
||||
Reference in New Issue
Block a user