diff --git a/bcutils.js b/bcutils.js index 9d39692..f293daa 100644 --- a/bcutils.js +++ b/bcutils.js @@ -112,6 +112,21 @@ function extractParamsFromTransId(transId) { return params; } +function extractSubParams(param) { + const subParams = [0, 0]; + if (param.toString().length <= 20) { + subParams[1] = param; + } else if (param.toString().length > 40) { + throw 'extractSubparams error to long:' + param; + } else { + subParams[0] = param.toString().substr(0, param.toString().length - 20); + subParams[1] = param.toString().substr(param.toString().length - 20); + } + subParams[0] = utils.removeLeadZero(subParams[0]); + subParams[1] = utils.removeLeadZero(subParams[1]); + return subParams; +} + function isEmptyAddress(address) { return address.toString().length < 10; } @@ -152,5 +167,6 @@ exports.isSameAddress = isSameAddress; exports.genTransId = genTransId; exports.isValidTransId = isValidTransId; exports.extractParamsFromTransId = extractParamsFromTransId; +exports.extractSubParams = extractSubParams; exports.isEmptyAddress = isEmptyAddress; exports.isValidAddress = isValidAddress; diff --git a/utils.js b/utils.js index 0e611e4..42b230f 100644 --- a/utils.js +++ b/utils.js @@ -319,7 +319,7 @@ function removeLeadZero(data) { return dataStr.substr(i); } } - return dataStr; + return 0; } exports.rspErr = rspErr;