diff --git a/index.html b/index.html index a177600..2484299 100644 --- a/index.html +++ b/index.html @@ -1341,7 +1341,7 @@ }, async transactions(address) { try { - if (!address || address === '') return + if (!address || address === '' || !btcOperator.validateAddress(address)) return; getRef('address_details').classList.remove('hidden') getRef('transactions_list').innerHTML = ''; getRef('address_balance').innerHTML = ''; @@ -1554,6 +1554,7 @@ }, queryResult(query) { const type = checkQueryStringType(query); + console.log(type) if (type === 'address') { getRef('tx_details').classList.add('hidden') render.addressDetails(query) @@ -1591,16 +1592,18 @@ } let globalExchangeRate = {} async function getExchangeRate() { - return new Promise((resolve, reject) => { - Promise.all(['usd', 'inr'].map(cur => fetch(`https://bitpay.com/api/rates/btc/${cur}`))).then(responses => { - Promise.all(responses.map(res => res.json())).then(rates => { - rates.forEach(rate => { - globalExchangeRate[rate.code.toLowerCase()] = rate.rate - }) - globalExchangeRate.btc = 1 - resolve(globalExchangeRate) - }).catch(err => reject(err)) - }).catch(err => reject(err)) + return new Promise(async (resolve, reject) => { + try { + const responses = await Promise.all(['usd', 'inr'].map(cur => fetch(`https://bitpay.com/api/rates/btc/${cur}`))) + const rates = await Promise.all(responses.map(res => res.json())) + rates.forEach(rate => { + globalExchangeRate[rate.code.toLowerCase()] = rate.rate + }) + globalExchangeRate.btc = 1; + resolve(globalExchangeRate) + } catch (err) { + reject(err) + } }) } function getConvertedAmount(amount, { shouldFormatAmount = false, onDate } = {}) { @@ -1934,21 +1937,17 @@ return [senders, privKeys, receivers, amounts] } function calculateApproxFee() { - return new Promise((resolve, reject) => { - fetch('https://bitcoiner.live/api/fees/estimates/latest') - .then(res => { - res.json() - .then(data => { - const satPerByte = data.estimates['60'].sat_per_vbyte; - const legacyBytes = 200; - const segwitBytes = 77; - resolve((legacyBytes * satPerByte + (0.25 * satPerByte) * segwitBytes) / Math.pow(10, 8)); - }).catch(e => { - reject(e) - }) - }).catch(e => { - reject(e) - }) + return new Promise(async (resolve, reject) => { + try { + const res = await fetch('https://bitcoiner.live/api/fees/estimates/latest') + const data = await res.json() + const satPerByte = data.estimates['60'].sat_per_vbyte; + const legacyBytes = 200; + const segwitBytes = 77; + resolve((legacyBytes * satPerByte + (0.25 * satPerByte) * segwitBytes) / Math.pow(10, 8)); + } catch (e) { + reject(e) + } }) } function calculateExactFee() { diff --git a/scripts/btcOperator.js b/scripts/btcOperator.js index 2c7d87e..e8b03ab 100644 --- a/scripts/btcOperator.js +++ b/scripts/btcOperator.js @@ -1459,11 +1459,13 @@ } catch (error) { reject(error) } - }).catch(error => reject(error)) + }) getTx.hex = btcOperator.getTx.hex = txid => multiApi('txHex', { txid }); btcOperator.getAddressData = address => new Promise((resolve, reject) => { + if (!validateAddress(address)) + return reject("Invalid address"); Promise.all([ multiApi('balance', { addr: address }), multiApi('txs', { addr: address })