diff --git a/index.html b/index.html
index 86a5827..890a308 100644
--- a/index.html
+++ b/index.html
@@ -210,8 +210,13 @@
let sender = sendForm["sender"].value,
receivers = {},
fee = parseFloat(sendForm["fee"].value);
- for (let i = 0; i < sendForm["receiver"].length; i++)
- receivers[sendForm["receiver"][i].value] = parseFloat(sendForm["amount"][i].value);
+ if (!sendForm["receiver"])
+ return console.warn("receiver cannot be empty");
+ else if (sendForm["receiver"] instanceof RadioNodeList)
+ for (let i = 0; i < sendForm["receiver"].length; i++)
+ receivers[sendForm["receiver"][i].value] = parseFloat(sendForm["amount"][i].value);
+ else
+ receivers[sendForm["receiver"].value] = parseFloat(sendForm["amount"].value);
let privKey = prompt("Enter Private Key:");
sendForm['submit'].disabled = true;
btc_api.sendTx(sender, privKey, receivers, fee).then(result => {
@@ -234,10 +239,10 @@
let row = table.insertRow();
if (tx.type === "out") {
row.insertCell().innerHTML = '↗';
- row.insertCell().textContent = tx.receiver;
+ row.insertCell().innerHTML = tx.receiver.join('
');
} else if (tx.type === "in") {
row.insertCell().innerHTML = '↙';
- row.insertCell().textContent = tx.sender;
+ row.insertCell().innerHTML = tx.sender.join('
');
} else if (tx.type === "self") {
row.insertCell().innerHTML = '⟲';
row.insertCell().textContent = tx.address;
@@ -277,6 +282,7 @@
change += parseFloat(o.value)
});
d.receiver = Array.from(d.receiver);
+ d.amount = parseFloat(d.amount.toFixed(8))
d.fee = parseFloat((tx.outgoing.value - (d.amount + change)).toFixed(8))
if (!d.amount && change > 0) {
d.type = "self";
diff --git a/lib_btc.js b/lib_btc.js
index 1f7c58e..420c5a7 100644
--- a/lib_btc.js
+++ b/lib_btc.js
@@ -2549,7 +2549,7 @@
})();
})(typeof global !== "undefined" ? global : window);
-(function(EXPORTS) { //btc_api v1.0.4a
+(function(EXPORTS) { //btc_api v1.0.4b
const btc_api = EXPORTS;
const URL = "https://chain.so/api/v2/";
@@ -2652,11 +2652,13 @@
for (let r in receivers)
total_amount += receivers[r];
total_amount = parseFloat(total_amount.toFixed(8));
+ if (total_amount < fee || total_amount <= 0)
+ return reject("Invalid receiver amount");
if (balance < total_amount + fee)
return reject("Insufficient Balance");
var tx = coinjs.transaction();
getUTXO(senderID).then(result => {
- let utxos = result.data.txs.reverse();
+ let utxos = result.data.txs;
console.debug(balance, utxos);
var input_total = 0;
for (let i = 0; i < utxos.length && input_total < total_amount + fee; i++) {
@@ -2709,4 +2711,4 @@
.catch(error => reject(error))
});
-})('object' === typeof module ? module.exports : window.btc_api = {});
+})('object' === typeof module ? module.exports : window.btc_api = {});
\ No newline at end of file