improved truncateDecimals, fixed sendMultipleInputsTransaction privatekey signing error
This commit is contained in:
parent
8b16b8cbd9
commit
b29c9fc050
26
index.html
26
index.html
@ -20879,15 +20879,19 @@
|
|||||||
|
|
||||||
let trx = bitjs[crypto_type].transaction();
|
let trx = bitjs[crypto_type].transaction();
|
||||||
let sum = 0;
|
let sum = 0;
|
||||||
|
let signing_private_keys_array = [];
|
||||||
|
|
||||||
for (var key in utxo_list) {
|
for (var key in utxo_list) {
|
||||||
if (utxo_list[key].confirmations > 0) {
|
if (utxo_list[key].confirmations > 0) {
|
||||||
var obj = utxo_list[key];
|
var obj = utxo_list[key];
|
||||||
sum += helper_functions.truncateDecimals(obj.amount);
|
|
||||||
// let signing_private_keys_array = [];
|
|
||||||
// Find the private key of this utxo (signingPk)
|
// Find the private key of this utxo (signingPk)
|
||||||
// Then signing_private_keys_array.push(signingPk)
|
let signingPk = utxo_addr_wif
|
||||||
// trx.sign(signing_private_keys_array, 1)
|
.filter(pk=>RM_WALLET.generateFloKeys(pk).address===obj.address);
|
||||||
|
|
||||||
|
if(typeof signingPk[0]=="string") {
|
||||||
|
signing_private_keys_array.push(signingPk[0]);
|
||||||
|
} else continue;
|
||||||
|
sum += helper_functions.truncateDecimals(obj.amount);
|
||||||
|
|
||||||
if (btc_eq_receiving_amount <= sum) {
|
if (btc_eq_receiving_amount <= sum) {
|
||||||
trx.addinput(obj.txid, obj.vout, obj.scriptPubKey);
|
trx.addinput(obj.txid, obj.vout, obj.scriptPubKey);
|
||||||
@ -20940,7 +20944,7 @@
|
|||||||
try {
|
try {
|
||||||
console.log(trx);
|
console.log(trx);
|
||||||
|
|
||||||
let signedTxHash = trx.sign(utxo_addr_wif, 1); //SIGHASH_ALL DEFAULT 1
|
let signedTxHash = trx.sign(signing_private_keys_array, 1); //SIGHASH_ALL DEFAULT 1
|
||||||
console.log(signedTxHash);
|
console.log(signedTxHash);
|
||||||
|
|
||||||
var http = new XMLHttpRequest();
|
var http = new XMLHttpRequest();
|
||||||
@ -21599,14 +21603,22 @@
|
|||||||
},
|
},
|
||||||
// https://stackoverflow.com/a/9232092/5348972
|
// https://stackoverflow.com/a/9232092/5348972
|
||||||
truncateDecimals: (num, digits=8)=> {
|
truncateDecimals: (num, digits=8)=> {
|
||||||
|
num = Number(num).toFixed(digits);
|
||||||
|
if(num<0.000000001) num = 0;
|
||||||
|
if(num>100000000000) {
|
||||||
|
console.trace(num);
|
||||||
|
throw new Error("Maximum 'number' upper limit crossed");
|
||||||
|
}
|
||||||
var numS = num.toString(),
|
var numS = num.toString(),
|
||||||
decPos = numS.indexOf('.'),
|
decPos = numS.indexOf('.'),
|
||||||
substrLength = decPos == -1 ? numS.length : 1 + decPos + digits,
|
substrLength = decPos == -1 ? numS.length : 1 + decPos + digits,
|
||||||
trimmedResult = numS.substr(0, substrLength),
|
trimmedResult = numS.substr(0, substrLength),
|
||||||
finalResult = isNaN(trimmedResult) ? 0 : trimmedResult;
|
finalResult = isNaN(trimmedResult) ? 0 : trimmedResult;
|
||||||
|
|
||||||
if(finalResult>100000000000) return NaN;
|
if((Number.MIN_SAFE_INTEGER>finalResult)||(finalResult>Number.MAX_SAFE_INTEGER)) {
|
||||||
|
console.trace(num);
|
||||||
|
throw new Error("SAFE INTEGER Limit Crossed.");
|
||||||
|
}
|
||||||
return Number(finalResult);
|
return Number(finalResult);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user