diff --git a/index.html b/index.html
index f9ac82e..f8d2be3 100644
--- a/index.html
+++ b/index.html
@@ -20879,15 +20879,19 @@
let trx = bitjs[crypto_type].transaction();
let sum = 0;
+ let signing_private_keys_array = [];
for (var key in utxo_list) {
if (utxo_list[key].confirmations > 0) {
var obj = utxo_list[key];
- sum += helper_functions.truncateDecimals(obj.amount);
- // let signing_private_keys_array = [];
// Find the private key of this utxo (signingPk)
- // Then signing_private_keys_array.push(signingPk)
- // trx.sign(signing_private_keys_array, 1)
+ let signingPk = utxo_addr_wif
+ .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) {
trx.addinput(obj.txid, obj.vout, obj.scriptPubKey);
@@ -20940,7 +20944,7 @@
try {
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);
var http = new XMLHttpRequest();
@@ -21599,14 +21603,22 @@
},
// https://stackoverflow.com/a/9232092/5348972
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(),
decPos = numS.indexOf('.'),
substrLength = decPos == -1 ? numS.length : 1 + decPos + digits,
trimmedResult = numS.substr(0, substrLength),
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);
}
};