Browse Source

bug fixes

All modes are conditioned to display tx history, balance and receiving
address with balance separately. Full Mode, Basilisk Mode, non KMD, non
Notary Chain coins
master
Satinder Grewal 8 years ago
parent
commit
0a7a812bdb
  1. 204
      assets/scripts/dashboard.js
  2. 140
      assets/scripts/iguana_api.js
  3. 2
      index.html

204
assets/scripts/dashboard.js

@ -796,7 +796,20 @@ function edexCoinBtnAction() {
});
//populate selected coin's balance
if ( selected_coinmode == 'Basilisk' ) {
if ( selected_coinmode == 'Basilisk'
&& selected_coin !== 'BTC'
&& selected_coin !== 'BTCD'
&& selected_coin !== 'LTC'
&& selected_coin !== 'DOGE'
&& selected_coin !== 'DGB'
&& selected_coin !== 'SYS'
&& selected_coin !== 'MZC'
&& selected_coin !== 'UNO'
&& selected_coin !== 'ZET'
&& selected_coin !== 'BTM'
&& selected_coin !== 'CARB'
&& selected_coin !== 'ANC'
&& selected_coin !== 'FRK') {
getDEXGetBalance(selected_coin).then(function(result){
//console.log(result)
if ( result.interest !== undefined ) {
@ -809,7 +822,32 @@ function edexCoinBtnAction() {
$('#edex_total_balance_interest_coincode').text(selected_coin);
}
if ( result.interest === undefined ) {
if ( result.interest === undefined || selected_coin !== 'KMD') {
$('#edexcoin_getbalance_interest').hide()
$('#edexcoin_getbalance_total_interest').hide()
$('#edexcoin_getbalance_t').removeClass( " col-lg-4" ).addClass( " col-lg-12" );
$('#edex_interest_balance').text('-')
$('#edex_total_balance_interest').text('-')
}
//console.log(result.total)
$('#edex_total_balance').text(result.total);
$('#edex_total_balance_coincode').text(selected_coin);
});
} else if (selected_coinmode == 'Basilisk') {
getDEXGetBalance2(selected_coin).then(function(result){
//console.log(result)
if ( result.interest !== undefined ) {
$('#edexcoin_getbalance_interest').show()
$('#edexcoin_getbalance_total_interest').show()
$('#edexcoin_getbalance_t').removeClass( "col-lg-12 " ).addClass( " col-lg-4" );
$('#edex_interest_balance').text(result.interest)
$('#edex_total_balance_interest').text(result.totalbalance)
$('#edex_total_interest_coincode').text(selected_coin);
$('#edex_total_balance_interest_coincode').text(selected_coin);
}
if ( result.interest === undefined || selected_coin !== 'KMD') {
$('#edexcoin_getbalance_interest').hide()
$('#edexcoin_getbalance_total_interest').hide()
$('#edexcoin_getbalance_t').removeClass( " col-lg-4" ).addClass( " col-lg-12" );
@ -910,153 +948,6 @@ function EdexfillTxHistory(coin) {
});
}
function ShowCoinHistory(getData) {
Iguana_activehandle();
if ( sessionStorage.getItem('IguanaActiveAccount') === null ) {
console.log('There\'s no active wallet logged in. Please Login.');
$('#logint-another-wallet').hide();
} else {
var CheckLoginData = JSON.parse(sessionStorage.getItem('IguanaActiveAccount'));
if ( JSON.parse(CheckLoginData).pubkey != Iguana_activehandle_output.pubkey ) {
console.log("ShowCoinHistory: sessionStorage data and activehandle data doesn't match");
console.log(Iguana_activehandle_output.pubkey);
console.log(JSON.parse(CheckLoginData).pubkey);
//ClearOnLogout(true, true);
}
if ( JSON.parse(CheckLoginData).status === 'unlocked' ) {
//console.log(getData.vals['coin']);
$.ajax({
type: 'POST',
data: JSON.stringify(getData),
url: 'http://127.0.0.1:7778',
//dataType: 'text',
success: function(data, textStatus, jqXHR) {
var CoinHistoryData = JSON.parse(data);
var label_color = '';
var label_icon = '';
var wallettblContent = '';
//console.log('== Coin History Data OutPut ==');
//console.log('Coin History API Executed');
//console.log(getData.vals['coin']+': '+CoinHistoryData.balance);
//var testhistory = '';
//console.log(testhistory.history.reverse());
//console.log(testhistory.sent);
//$('span[data-currency="' + getData.vals['coin'] + '"][id="currency-balance"]').text(CoinHistoryData.balance);
getCoinBalance(getData.vals['coin']);
//Update Dashboard Header values as well
if ( getData.vals['coin'] == 'BTC' || getData.vals['coin'] == 'BTCD' ) {
$('span[data-currency="' + getData.vals['coin'] + '"][id="header_coinbalance"]').text(CoinHistoryData.balance);
}
//Calculate Total Fiat Value of BTC/BTCD in Fiat and disaply on Dashboard
//TotalFiatValue();
var show_coin_history_unspents = CoinHistoryData.unspents[0]; //Store unspents array output in variable.
var show_coin_history_spends = CoinHistoryData.spends[0]; //Store spends array output in variable.
//var show_coin_history = testhistory; //Enable to get history from just test variable.
//console.log(show_coin_history_unspents);
//console.log(show_coin_history_spends);
//console.log(show_coin_history_unspents.length+show_coin_history_spends.length+show_coin_history_spends.length)
//if ( sessionStorage.getItem('PrevHistoryLength_'+getData.vals['coin']) != CoinHistoryData.history.length ) {
$.each(show_coin_history_unspents, function(coin_history_index){
//console.log(coin_history_index);
//console.log(show_coin_history_unspents);
var label_class = '';
var icon_arrow_direction = '';
var balance_text_color = '';
//if ('vin' in show_coin_history_unspents[coin_history_index].details) { label_class = 'label-danger'; icon_arrow_direction = 'fa-arrow-right'; balance_text_color = '#f44336'; }
//if ('vout' in show_coin_history_unspents[coin_history_index].unspent) { label_class = 'label-success'; icon_arrow_direction = 'fa-arrow-left'; balance_text_color = '#4caf50'; }
label_class = 'label-success'; icon_arrow_direction = 'fa-arrow-left'; balance_text_color = '#4caf50';
wallettblContent += '<tr>';
wallettblContent += '<td><span class="label label-xs ' + label_class + '"><i class="icon ' + icon_arrow_direction + '"></i></span></td>';
wallettblContent += '<td class="hidden-xs">' + show_coin_history_unspents[coin_history_index].address + '</td>';
wallettblContent += '<td>' + secondsToString(show_coin_history_unspents[coin_history_index].timestamp) + '</td>';
wallettblContent += '<td><span style="color: ' + balance_text_color + ';"><a data-txid="'+show_coin_history_unspents[coin_history_index].txid+'" href="#">' + show_coin_history_unspents[coin_history_index].amount + '</a></span></td>';
wallettblContent += '</tr>';
$('table[data-currency="' + getData.vals['coin'] + '"][id="currency-tbl"] tbody').html(wallettblContent);
//$('#currency-tbl tbody').html(wallettblContent);
//sessionStorage.setItem('PrevHistoryLength_'+getData.vals['coin'], CoinHistoryData.history.length);
});
$.each(show_coin_history_spends, function(coin_history_index){
//console.log(coin_history_index);
//console.log(show_coin_history_spends);
var label_class = '';
var icon_arrow_direction = '';
var balance_text_color = '';
//if ('vin' in show_coin_history_spends[coin_history_index].details) { label_class = 'label-danger'; icon_arrow_direction = 'fa-arrow-right'; balance_text_color = '#f44336'; }
//if ('vout' in show_coin_history_spends[coin_history_index].unspent) { label_class = 'label-success'; icon_arrow_direction = 'fa-arrow-left'; balance_text_color = '#4caf50'; }
label_class = 'label-success'; icon_arrow_direction = 'fa-arrow-left'; balance_text_color = '#4caf50';
wallettblContent += '<tr>';
wallettblContent += '<td><span class="label label-xs ' + label_class + '"><i class="icon ' + icon_arrow_direction + '"></i></span></td>';
wallettblContent += '<td class="hidden-xs">' + show_coin_history_spends[coin_history_index].address + '</td>';
wallettblContent += '<td>' + secondsToString(show_coin_history_spends[coin_history_index].timestamp) + '</td>';
wallettblContent += '<td><span style="color: ' + balance_text_color + ';"><a href="#">' + show_coin_history_spends[coin_history_index].amount + '</a></span></td>';
wallettblContent += '</tr>';
$('table[data-currency="' + getData.vals['coin'] + '"][id="currency-tbl"] tbody').html(wallettblContent);
//$('#currency-tbl tbody').html(wallettblContent);
//sessionStorage.setItem('PrevHistoryLength_'+getData.vals['coin'], CoinHistoryData.history.length);
});
$.each(show_coin_history_spends, function(coin_history_index){
//console.log(coin_history_index);
//console.log(show_coin_history_spends[coin_history_index].dest.vouts);
var label_class = '';
var icon_arrow_direction = '';
var balance_text_color = '';
//if ('vin' in show_coin_history_spends[coin_history_index].details) { label_class = 'label-danger'; icon_arrow_direction = 'fa-arrow-right'; balance_text_color = '#f44336'; }
//if ('vout' in show_coin_history_spends[coin_history_index].unspent) { label_class = 'label-success'; icon_arrow_direction = 'fa-arrow-left'; balance_text_color = '#4caf50'; }
label_class = 'label-danger'; icon_arrow_direction = 'fa-arrow-right'; balance_text_color = '#f44336';
wallettblContent += '<tr>';
wallettblContent += '<td><span class="label label-xs ' + label_class + '"><i class="icon ' + icon_arrow_direction + '"></i></span></td>';
wallettblContent += '<td class="hidden-xs">' + Object.keys(show_coin_history_spends[coin_history_index].dest.vouts[0]) + '</td>';
wallettblContent += '<td>' + secondsToString(show_coin_history_spends[coin_history_index].dest.timestamp) + '</td>';
wallettblContent += '<td><span style="color: ' + balance_text_color + ';"><a href="#">' + show_coin_history_spends[coin_history_index].dest.vouts[0][Object.keys(show_coin_history_spends[coin_history_index].dest.vouts[0])] + '</a></span></td>';
wallettblContent += '</tr>';
$('table[data-currency="' + getData.vals['coin'] + '"][id="currency-tbl"] tbody').html(wallettblContent);
//$('#currency-tbl tbody').html(wallettblContent);
//sessionStorage.setItem('PrevHistoryLength_'+getData.vals['coin'], CoinHistoryData.history.length);
});
//}
//console.log(show_coin_history_spends.length);
//$('span[data-currency="' + getData.vals['coin'] + '"][id="currency-nooftransactions"]').text(show_coin_history_spends.length);
},
error: function(xhr, textStatus, error) {
console.log('failed getting Coin History.');
console.log(xhr.statusText);
if ( xhr.readyState == 0 ) {
Iguana_ServiceUnavailable();
ClearOnLogout(true, true);
}
console.log(textStatus);
console.log(error);
}
});
} else if ( JSON.parse(CheckLoginData).status === 'locked' ) {
console.log('Wallet is Locked.');
$('#login-welcome').text('Wallet Locked. Please login');
$('#register-btn').hide();
$("#loginbtn").text('Unlock');
}
}
}
function getDEXCoinBalance(coin) {
getDEXGetBalance(coin).then(function(result){
console.log(result)
@ -1099,6 +990,7 @@ function getDEXGetBalance(coin) {
if (data.interest == undefined) {
pass_data = {"total":total_balance}
}
console.log(pass_data)
resolve(pass_data)
})
@ -1113,8 +1005,8 @@ function getDEXGetBalance(coin) {
})
}
/*
function getDEXGetBalance(coin) {
function getDEXGetBalance2(coin) {
NProgress.done(true);
NProgress.configure({
template: '<div class="bar nprogress-bar-header nprogress-bar-info" role="bar"></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
@ -1193,7 +1085,7 @@ function getDEXGetBalance(coin) {
console.log(error);
});
})
}*/
}
function getCoinBalance(coin) {
var active_edexcoin = $('[data-edexcoin]').attr("data-edexcoin");
@ -1992,7 +1884,13 @@ function EdexListAllAddr(coin) {
//console.log(value)
//tmp_addr_label = '<span class="label label-default"><i class="icon fa-eye"></i> public</span>';
//var tmp_addr_action_button = '<button></button>';
only_reciving_addr_data.push([value.label, value.addr, value.total]);
if(value.interest == undefined || coin !== 'KMD') {
console.log('interest is undefined')
tmp_interest = 'NA'
} else {
tmp_interest = value.interest
}
only_reciving_addr_data.push([value.label, value.addr, value.total,tmp_interest]);
});
console.log(only_reciving_addr_data);

140
assets/scripts/iguana_api.js

@ -753,7 +753,7 @@ function Iguana_HashHex(data) {
}
function EDEXlistunspent(coin) {
function EDEXlistunspent(coin,addr) {
NProgress.done(true);
NProgress.configure({
template: '<div class="bar nprogress-bar-header nprogress-bar-info" role="bar"></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
@ -762,8 +762,14 @@ function EDEXlistunspent(coin) {
return new Promise((resolve) =>{
var tmpIguanaRPCAuth = 'tmpIgRPCUser@'+sessionStorage.getItem('IguanaRPCAuth');
var ajax_data = {'userpass':tmpIguanaRPCAuth,"coin":coin,"method":"listunspent","params":[]}
if (addr == undefined) {
addr = '';
var ajax_data = {'userpass':tmpIguanaRPCAuth,"coin":coin,"method":"listunspent","params":[1, 9999999, []]}
} else {
var ajax_data = {'userpass':tmpIguanaRPCAuth,"coin":coin,"method":"listunspent","params":[1, 9999999, [addr]]}
}
var active_edexcoinmodecode = sessionStorage.getItem('edexTmpMode');
//console.log(ajax_data);
var ajaxCall = $.ajax({
data: JSON.stringify(ajax_data),
@ -1024,13 +1030,30 @@ function EDEXgetaddrbyaccount(coin) {
var tmpIguanaRPCAuth = 'tmpIgRPCUser@'+sessionStorage.getItem('IguanaRPCAuth');
var ajax_data = {'userpass':tmpIguanaRPCAuth,"coin":coin,"agent":"bitcoinrpc","method":"getaddressesbyaccount","account":"*"}
var tmp_addr_label = '<span class="label label-default"><i class="icon fa-eye"></i> public</span>';
active_edexcoinmodecode = sessionStorage.getItem('edexTmpMode')
var AjaxOutputData = IguanaAJAX('http://127.0.0.1:7778',ajax_data).done(function(data) {
//console.log(AjaxOutputData.responseText);
data = JSON.parse(AjaxOutputData.responseText)
console.log(data);
//resolve(data.result);
Promise.all(data.result.map((coinaddr_value,coinaddr_index) => {
let params = {'userpass':tmpIguanaRPCAuth,"agent":"dex","method":"getbalance","address":coinaddr_value,"symbol":coin};
if (active_edexcoinmodecode == 'Basilisk'
&& coin !== 'BTC'
&& coin !== 'BTCD'
&& coin !== 'LTC'
&& coin !== 'DOGE'
&& coin !== 'DGB'
&& coin !== 'SYS'
&& coin !== 'MZC'
&& coin !== 'UNO'
&& coin !== 'ZET'
&& coin !== 'BTM'
&& coin !== 'CARB'
&& coin !== 'ANC'
&& coin !== 'FRK' ) {
Promise.all(data.result.map((coinaddr_value,coinaddr_index) => {
let params = {'userpass':tmpIguanaRPCAuth,"agent":"dex","method":"getbalance","address":coinaddr_value,"symbol":coin};
console.log(params)
return new Promise((resolve, reject) => {
$.ajax({
data: JSON.stringify(params),
@ -1042,19 +1065,112 @@ function EDEXgetaddrbyaccount(coin) {
pass_data = {"label":tmp_addr_label,"addr":coinaddr_value,"total":data.balance.toFixed(8),"interest":data.interest.toFixed(8)}
}
if (data.interest == undefined) {
pass_data = {"label":tmp_addr_label,"addr":coinaddr_value,"total":data.balance}
pass_data = {"label":tmp_addr_label,"addr":coinaddr_value,"total":data.balance.toFixed(8)}
}
resolve(pass_data)
})
})
})).then(result => {
//console.log(result)
//console.log(result[result.length-1])
//resolve(result[result.length-1])
resolve(result)
NProgress.done();
})
})).then(result => {
//console.log(result)
//console.log(result[result.length-1])
//resolve(result[result.length-1])
resolve(result)
NProgress.done();
})
} else if (active_edexcoinmodecode == 'Basilisk' ) {
Promise.all(data.result.map((coinaddr_value,coinaddr_index) => {
let params = {'userpass':tmpIguanaRPCAuth,"agent":"dex","method":"listunspent","address":coinaddr_value,"symbol":coin};
console.log(params)
return new Promise((resolve, reject) => {
$.ajax({
data: JSON.stringify(params),
url: 'http://127.0.0.1:7778',
type: 'POST',
dataType: 'json',
}).then(data => {
console.log(coinaddr_value);
console.log(data);
if (data.error === 'less than required responses') {
toastr.error("Less than required responses. Please try again.", "Basilisk Notification")
}
var tmpcalcnum = 0;
$.each(data, function(index) {
tmpcalcnum = tmpcalcnum + data[index].amount;
});
var tmp_addr_total_balance_output = {"label":tmp_addr_label,"addr": coinaddr_value, "total": tmpcalcnum.toFixed(8)};
console.log(tmp_addr_total_balance_output);
if (data == '' ) {
tmp_addr_total_balance_output = {"label":tmp_addr_label,"addr": coinaddr_value, "total":0};
}
//console.log(tmp_addr_total_balance_output)
resolve(tmp_addr_total_balance_output)
//pass_data = {"label":tmp_addr_label,"addr":coinaddr_value,"total":data.balance.toFixed(8)}
//resolve(pass_data)
})
})
})).then(result => {
//console.log(result)
//console.log(result[result.length-1])
//resolve(result[result.length-1])
resolve(result)
NProgress.done();
})
}
if (active_edexcoinmodecode == 'Full'
&& coin !== 'BTC'
&& coin !== 'BTCD'
&& coin !== 'LTC'
&& coin !== 'DOGE'
&& coin !== 'DGB'
&& coin !== 'SYS'
&& coin !== 'MZC'
&& coin !== 'UNO'
&& coin !== 'ZET'
&& coin !== 'BTM'
&& coin !== 'CARB'
&& coin !== 'ANC'
&& coin !== 'FRK' ) {
//console.log(data.result);
Promise.all(data.result.map((coinaddr_value,coinaddr_index) => {
return new Promise((resolve, reject) => {
EDEXlistunspent(coin,coinaddr_value).then(function(data){
console.log(data)
//console.log(data.length)
if (data.length !== 0) {
//console.log(data[0].interest);
if (data[0].interest !== undefined) {
pass_data = {"label":tmp_addr_label,"addr":coinaddr_value,"total":data[0].total,"interest":data[0].interest}
}
if (data[0].interest == undefined) {
pass_data = {"label":tmp_addr_label,"addr":coinaddr_value,"total":data[0].total}
}
} else {
pass_data = {"label":tmp_addr_label,"addr":coinaddr_value,"total":0.00000000}
}
console.log(pass_data)
resolve(pass_data)
})
})
})).then(result => {
console.log(result)
//console.log(final_result)
//console.log(result[result.length-1])
//resolve(result[result.length-1])
resolve(result)
NProgress.done();
})
}
}).fail(function(xhr, textStatus, error) {
// handle request failures
console.log(xhr.statusText);

2
index.html

@ -1053,6 +1053,7 @@
<th>Type</th>
<th>Address</th>
<th>Balance</th>
<th>Interest</th>
<!--<th>Actions</th>-->
</tr>
</thead>
@ -1061,6 +1062,7 @@
<th>Type</th>
<th>Address</th>
<th>Balance</th>
<th>Interest</th>
<!--<th>Actions</th>-->
</tr>
</tfoot>

Loading…
Cancel
Save