Bug fix
- send tx not working when single receiver is entered (UI bug) - View details UI: Aligned the addresses in view tx table - sendTx: reject when total receiver amount is less than fee or zero
This commit is contained in:
parent
9458f4855e
commit
fb54b96221
14
index.html
14
index.html
@ -210,8 +210,13 @@
|
|||||||
let sender = sendForm["sender"].value,
|
let sender = sendForm["sender"].value,
|
||||||
receivers = {},
|
receivers = {},
|
||||||
fee = parseFloat(sendForm["fee"].value);
|
fee = parseFloat(sendForm["fee"].value);
|
||||||
for (let i = 0; i < sendForm["receiver"].length; i++)
|
if (!sendForm["receiver"])
|
||||||
receivers[sendForm["receiver"][i].value] = parseFloat(sendForm["amount"][i].value);
|
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:");
|
let privKey = prompt("Enter Private Key:");
|
||||||
sendForm['submit'].disabled = true;
|
sendForm['submit'].disabled = true;
|
||||||
btc_api.sendTx(sender, privKey, receivers, fee).then(result => {
|
btc_api.sendTx(sender, privKey, receivers, fee).then(result => {
|
||||||
@ -234,10 +239,10 @@
|
|||||||
let row = table.insertRow();
|
let row = table.insertRow();
|
||||||
if (tx.type === "out") {
|
if (tx.type === "out") {
|
||||||
row.insertCell().innerHTML = '↗';
|
row.insertCell().innerHTML = '↗';
|
||||||
row.insertCell().textContent = tx.receiver;
|
row.insertCell().innerHTML = tx.receiver.join('<br/>');
|
||||||
} else if (tx.type === "in") {
|
} else if (tx.type === "in") {
|
||||||
row.insertCell().innerHTML = '↙';
|
row.insertCell().innerHTML = '↙';
|
||||||
row.insertCell().textContent = tx.sender;
|
row.insertCell().innerHTML = tx.sender.join('<br/>');
|
||||||
} else if (tx.type === "self") {
|
} else if (tx.type === "self") {
|
||||||
row.insertCell().innerHTML = '⟲';
|
row.insertCell().innerHTML = '⟲';
|
||||||
row.insertCell().textContent = tx.address;
|
row.insertCell().textContent = tx.address;
|
||||||
@ -277,6 +282,7 @@
|
|||||||
change += parseFloat(o.value)
|
change += parseFloat(o.value)
|
||||||
});
|
});
|
||||||
d.receiver = Array.from(d.receiver);
|
d.receiver = Array.from(d.receiver);
|
||||||
|
d.amount = parseFloat(d.amount.toFixed(8))
|
||||||
d.fee = parseFloat((tx.outgoing.value - (d.amount + change)).toFixed(8))
|
d.fee = parseFloat((tx.outgoing.value - (d.amount + change)).toFixed(8))
|
||||||
if (!d.amount && change > 0) {
|
if (!d.amount && change > 0) {
|
||||||
d.type = "self";
|
d.type = "self";
|
||||||
|
|||||||
@ -2549,7 +2549,7 @@
|
|||||||
})();
|
})();
|
||||||
})(typeof global !== "undefined" ? global : window);
|
})(typeof global !== "undefined" ? global : window);
|
||||||
|
|
||||||
(function(EXPORTS) { //btc_api v1.0.4a
|
(function(EXPORTS) { //btc_api v1.0.4b
|
||||||
const btc_api = EXPORTS;
|
const btc_api = EXPORTS;
|
||||||
|
|
||||||
const URL = "https://chain.so/api/v2/";
|
const URL = "https://chain.so/api/v2/";
|
||||||
@ -2652,11 +2652,13 @@
|
|||||||
for (let r in receivers)
|
for (let r in receivers)
|
||||||
total_amount += receivers[r];
|
total_amount += receivers[r];
|
||||||
total_amount = parseFloat(total_amount.toFixed(8));
|
total_amount = parseFloat(total_amount.toFixed(8));
|
||||||
|
if (total_amount < fee || total_amount <= 0)
|
||||||
|
return reject("Invalid receiver amount");
|
||||||
if (balance < total_amount + fee)
|
if (balance < total_amount + fee)
|
||||||
return reject("Insufficient Balance");
|
return reject("Insufficient Balance");
|
||||||
var tx = coinjs.transaction();
|
var tx = coinjs.transaction();
|
||||||
getUTXO(senderID).then(result => {
|
getUTXO(senderID).then(result => {
|
||||||
let utxos = result.data.txs.reverse();
|
let utxos = result.data.txs;
|
||||||
console.debug(balance, utxos);
|
console.debug(balance, utxos);
|
||||||
var input_total = 0;
|
var input_total = 0;
|
||||||
for (let i = 0; i < utxos.length && input_total < total_amount + fee; i++) {
|
for (let i = 0; i < utxos.length && input_total < total_amount + fee; i++) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user