Bug fix and code refactoring
This commit is contained in:
parent
3f6c854dd6
commit
a8f6d9d4c7
@ -68,46 +68,30 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Get new Tx in blockchain since last sync using API
|
//Get new Tx in blockchain since last sync using API
|
||||||
function getNewTxs(addr, ignoreOld) {
|
async function getNewTxs(addr, ignoreOld) {
|
||||||
return new Promise((resolve, reject) => {
|
try {
|
||||||
floBlockchainAPI.readTxs(addr, 0, 1).then(response => {
|
const { totalItems } = await floBlockchainAPI.readTxs(addr, 0, 1);
|
||||||
var newItems = response.totalItems - ignoreOld;
|
const newItems = totalItems - ignoreOld;
|
||||||
if (newItems) {
|
if (newItems > 0) {
|
||||||
floBlockchainAPI.readTxs(addr, 0, newItems * 2).then(response => {
|
const { items: newTxs } = await floBlockchainAPI.readTxs(addr, 0, newItems * 2);
|
||||||
var filteredData = [];
|
const filteredData = []
|
||||||
for (let i = 0; i < newItems; i++) {
|
newTxs
|
||||||
var item = {
|
.slice(0, newItems)
|
||||||
time: response.items[i].time,
|
.forEach(({ time, txid, floData, isCoinBase, vin, vout }) => {
|
||||||
txid: response.items[i].txid,
|
const sender = isCoinBase ? `(mined)${vin[0].coinbase}` : vin[0].addr;
|
||||||
floData: response.items[i].floData
|
const receiver = isCoinBase ? addr : vout[0].scriptPubKey.addresses[0];
|
||||||
}
|
filteredData.unshift({ time, txid, floData, sender, receiver });
|
||||||
if (response.items[i].isCoinBase) {
|
|
||||||
item.sender = '(mined)' + response.items[i].vin[0].coinbase;
|
|
||||||
item.receiver = addr;
|
|
||||||
} else {
|
|
||||||
item.sender = response.items[i].vin[0].addr;
|
|
||||||
item.receiver = response.items[i].vout[0].scriptPubKey.addresses[0];
|
|
||||||
}
|
|
||||||
filteredData.unshift(item);
|
|
||||||
}
|
|
||||||
resolve({
|
|
||||||
totalItems: response.totalItems,
|
|
||||||
items: filteredData
|
|
||||||
});
|
|
||||||
}).catch(error => {
|
|
||||||
reject(error);
|
|
||||||
});
|
|
||||||
} else
|
|
||||||
resolve({
|
|
||||||
totalItems: response.totalItems,
|
|
||||||
items: []
|
|
||||||
})
|
})
|
||||||
}).catch(error => {
|
return { totalItems, items: filteredData };
|
||||||
reject(error);
|
} else {
|
||||||
});
|
return { totalItems, items: [] };
|
||||||
});
|
}
|
||||||
|
} catch (error) {
|
||||||
|
throw new Error(`Failed to get new transactions for ${addr}: ${error.message}`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//read transactions stored in IDB : resolves Array(storedItems)
|
//read transactions stored in IDB : resolves Array(storedItems)
|
||||||
floWebWallet.readTransactions = function (addr) {
|
floWebWallet.readTransactions = function (addr) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user