1
This commit is contained in:
parent
f98d9e8dfb
commit
a35b178198
21
bcutils.js
21
bcutils.js
@ -10,7 +10,7 @@ const BC_MAX_TOKEN_IDX = 99999;
|
||||
|
||||
const BC_TRANSID_MAX_PARAMS_NUM = 3;
|
||||
const BC_TRANSID_MAX_SEQID = 9999999;
|
||||
const BC_TRANS_FUNC_ACTIVATE = 11;
|
||||
const BC_TRANS_FUNC_ACTIVATE = 1;
|
||||
|
||||
const BC_EPOCH = 1643212800;
|
||||
|
||||
@ -76,7 +76,7 @@ function isSameAddress(a, b) {
|
||||
|
||||
function genTransId(funcId, time, seqId, params) {
|
||||
let transId =
|
||||
utils.pad(funcId, 2) +
|
||||
utils.pad(funcId, 1) +
|
||||
utils.pad(toBcTime(time), 9) +
|
||||
utils.pad(seqId % BC_TRANSID_MAX_SEQID, 7);
|
||||
params.forEach
|
||||
@ -92,7 +92,21 @@ function genTransId(funcId, time, seqId, params) {
|
||||
}
|
||||
|
||||
function isValidTransId(transId) {
|
||||
return utils.isPureNumberStr(transId.toString()) && transId.toString().length == 78;
|
||||
return utils.isPureNumberStr(transId.toString()) &&
|
||||
(transId.toString().length == 77 || transId.toString().length == 78);
|
||||
}
|
||||
|
||||
function extractParamsFromTransId(transId) {
|
||||
if (isValidTransId(transId)) {
|
||||
return null;
|
||||
}
|
||||
const transIdStr = transId.toString();
|
||||
const params = [];
|
||||
for (let i = 0; i < 3; ++i) {
|
||||
const param = transId.substr(transIdStr.length - 20 * i , 20);
|
||||
params.push(param);
|
||||
}
|
||||
return params;
|
||||
}
|
||||
|
||||
exports.BC_BASE_GAME_ID = BC_BASE_GAME_ID;
|
||||
@ -120,3 +134,4 @@ exports.isValidTokenId = isValidTokenId;
|
||||
exports.isSameAddress = isSameAddress;
|
||||
exports.genTransId = genTransId;
|
||||
exports.isValidTransId = isValidTransId;
|
||||
exports.extractParamsFromTransId = extractParamsFromTransId;
|
||||
|
18
utils.js
18
utils.js
@ -298,6 +298,12 @@ function mapToObject(mapObj) {
|
||||
return result;
|
||||
}
|
||||
|
||||
function arrayToStrings(arr) {
|
||||
for (let i = 0; i < arr.length; ++i) {
|
||||
arr[i] = arr[i].toString();
|
||||
}
|
||||
}
|
||||
|
||||
async function serial(obj, cb) {
|
||||
let i = 0;
|
||||
const arr = obj instanceof Map ? mapToArray(obj) : obj;
|
||||
@ -306,6 +312,16 @@ async function serial(obj, cb) {
|
||||
}
|
||||
}
|
||||
|
||||
function removeLeadZero(data) {
|
||||
const dataStr = data.toString();
|
||||
for (let i = 0; i < dataStr.length; ++i) {
|
||||
if (dataStr[i] != '0') {
|
||||
return dataStr.substr(i);
|
||||
}
|
||||
}
|
||||
return dataStr;
|
||||
}
|
||||
|
||||
exports.rspErr = rspErr;
|
||||
exports.rspOk = rspOk;
|
||||
exports.rspData = rspData;
|
||||
@ -344,3 +360,5 @@ exports.isPureNumberStr = isPureNumberStr;
|
||||
exports.serial = serial;
|
||||
exports.mapToArray = mapToArray;
|
||||
exports.mapToObject = mapToObject;
|
||||
exports.arrayToStrings = arrayToStrings;
|
||||
exports.removeLeadZero = removeLeadZero;
|
||||
|
Loading…
x
Reference in New Issue
Block a user