var KMDWalletDashboard = function ( ) {
var handle_KMD_Dashboard = function ( ) {
$ ( '#btn_kmd_wallet_dashboard' ) . click ( function ( ) {
//console.log('kmd wallet dashbaord button clicked...');
$ ( '#kmd_wallet_dashoard_section' ) . show ( ) ;
getTotalKMDBalance ( ) ;
getKMDWalletInfo ( ) ;
getKMDInfo ( ) ;
} ) ;
}
return {
//main function to initiate the module
init : function ( ) {
handle_KMD_Dashboard ( ) ;
RunInitFunctions ( ) ;
}
} ;
} ( ) ;
jQuery ( document ) . ready ( function ( ) {
//KMDWalletDashboard.init();
} ) ;
function RunInitFunctions ( ) {
getTotalKMDBalance ( ) ;
getKMDWalletInfo ( ) ;
getKMDInfo ( ) ;
}
function getTotalKMDBalance ( ) {
var ajax_data = { "agent" : "komodo" , "method" : "passthru" , "function" : "z_gettotalbalance" , "hex" : "3100" }
console . log ( ajax_data ) ;
$ . ajax ( {
type : 'POST' ,
data : JSON . stringify ( ajax_data ) ,
url : 'http://127.0.0.1:7778' ,
//dataType: 'text',
success : function ( data , textStatus , jqXHR ) {
var AjaxOutputData = JSON . parse ( data ) ;
//console.log('== Data OutPut ==');
//console.log(AjaxOutputData);
$ ( '#kmd_transparent_balance' ) . text ( AjaxOutputData . transparent ) ;
$ ( '#kmd_private_balance' ) . text ( AjaxOutputData . private ) ;
$ ( '#kmd_total_tz_balance' ) . text ( AjaxOutputData . total ) ;
} ,
error : function ( xhr , textStatus , error ) {
console . log ( 'failed getting Coin History.' ) ;
console . log ( xhr . statusText ) ;
if ( xhr . readyState == 0 ) {
Iguana_ServiceUnavailable ( ) ;
}
console . log ( textStatus ) ;
console . log ( error ) ;
}
} ) ;
}
function getKMDBalanceT ( ) {
var ajax_data = { "agent" : "komodo" , "method" : "passthru" , "function" : "getbalance" , "hex" : "" }
console . log ( ajax_data ) ;
$ . ajax ( {
type : 'POST' ,
data : JSON . stringify ( ajax_data ) ,
url : 'http://127.0.0.1:7778' ,
//dataType: 'text',
success : function ( data , textStatus , jqXHR ) {
var AjaxOutputData = JSON . parse ( data ) ;
//console.log('== Data OutPut ==');
//console.log(AjaxOutputData);
//$('#kmd_transparent_balance').text(AjaxOutputData);
} ,
error : function ( xhr , textStatus , error ) {
console . log ( 'failed getting Coin History.' ) ;
console . log ( xhr . statusText ) ;
if ( xhr . readyState == 0 ) {
Iguana_ServiceUnavailable ( ) ;
}
console . log ( textStatus ) ;
console . log ( error ) ;
}
} ) ;
}
function getKMDBalanceZ ( ) {
var ajax_data = { "agent" : "komodo" , "method" : "passthru" , "function" : "z_getbalance" , "hex" : "" }
console . log ( ajax_data ) ;
$ . ajax ( {
type : 'POST' ,
data : JSON . stringify ( ajax_data ) ,
url : 'http://127.0.0.1:7778' ,
//dataType: 'text',
success : function ( data , textStatus , jqXHR ) {
var AjaxOutputData = JSON . parse ( data ) ;
//console.log('== Data OutPut ==');
//console.log(AjaxOutputData);
//$('#kmd_private_balance').text(AjaxOutputData);
} ,
error : function ( xhr , textStatus , error ) {
console . log ( 'failed getting Coin History.' ) ;
console . log ( xhr . statusText ) ;
if ( xhr . readyState == 0 ) {
Iguana_ServiceUnavailable ( ) ;
}
console . log ( textStatus ) ;
console . log ( error ) ;
}
} ) ;
}
function getKMDWalletInfo ( ) {
var ajax_data = { "agent" : "komodo" , "method" : "passthru" , "function" : "getwalletinfo" , "hex" : "" }
console . log ( ajax_data ) ;
$ . ajax ( {
type : 'POST' ,
data : JSON . stringify ( ajax_data ) ,
url : 'http://127.0.0.1:7778' ,
//dataType: 'text',
success : function ( data , textStatus , jqXHR ) {
var AjaxOutputData = JSON . parse ( data ) ;
//console.log('== Data OutPut ==');
//console.log(AjaxOutputData);
$ ( '#kmd_walletversion' ) . text ( AjaxOutputData . walletversion ) ;
$ ( '#kmd_balance' ) . text ( AjaxOutputData . balance ) ;
$ ( '#kmd_unconfirmed_balance' ) . text ( AjaxOutputData . unconfirmed_balance ) ;
$ ( '#kmd_immature_balance' ) . text ( AjaxOutputData . immature_balance ) ;
$ ( '#KMDTotalTransactionsCount' ) . text ( AjaxOutputData . txcount ) ;
} ,
error : function ( xhr , textStatus , error ) {
console . log ( 'failed getting Coin History.' ) ;
console . log ( xhr . statusText ) ;
if ( xhr . readyState == 0 ) {
Iguana_ServiceUnavailable ( ) ;
}
console . log ( textStatus ) ;
console . log ( error ) ;
}
} ) ;
}
function getKMDInfo ( ) {
var ajax_data = { "agent" : "komodo" , "method" : "passthru" , "function" : "getinfo" , "hex" : "" }
console . log ( ajax_data ) ;
$ . ajax ( {
type : 'POST' ,
data : JSON . stringify ( ajax_data ) ,
url : 'http://127.0.0.1:7778' ,
//dataType: 'text',
success : function ( data , textStatus , jqXHR ) {
var AjaxOutputData = JSON . parse ( data ) ;
//console.log('== Data OutPut ==');
//console.log(AjaxOutputData);
$ ( '#kmd_version' ) . text ( AjaxOutputData . version ) ;
$ ( '#kmd_protocolversion' ) . text ( AjaxOutputData . protocolversion ) ;
$ ( '#kmd_notarized' ) . text ( AjaxOutputData . notarized ) ;
$ ( '#kmd_notarizedhash' ) . text ( AjaxOutputData . notarizedhash ) ;
$ ( '#kmd_notarizedbtc' ) . text ( AjaxOutputData . notarizedbtc ) ;
$ ( '#kmd_blocks' ) . text ( AjaxOutputData . blocks ) ;
$ ( '#kmd_connections' ) . text ( AjaxOutputData . connections ) ;
$ ( '#kmd_difficulty' ) . text ( AjaxOutputData . difficulty ) ;
$ ( '#kmd_testnet' ) . text ( AjaxOutputData . testnet ) ;
$ ( '#kmd_paytxfee' ) . text ( AjaxOutputData . paytxfee ) ;
$ ( '#kmd_relayfee' ) . text ( AjaxOutputData . relayfee ) ;
$ ( '#kmd_errors' ) . text ( AjaxOutputData . errors ) ;
} ,
error : function ( xhr , textStatus , error ) {
console . log ( 'failed getting Coin History.' ) ;
console . log ( xhr . statusText ) ;
if ( xhr . readyState == 0 ) {
Iguana_ServiceUnavailable ( ) ;
}
console . log ( textStatus ) ;
console . log ( error ) ;
}
} ) ;
}
function KMDlistunspentT ( ) {
var result = [ ] ;
var ajax_data = { "agent" : "komodo" , "method" : "passthru" , "function" : "listunspent" , "hex" : "" }
//console.log(ajax_data);
$ . ajax ( {
async : false ,
type : 'POST' ,
data : JSON . stringify ( ajax_data ) ,
url : 'http://127.0.0.1:7778' ,
//dataType: 'text',
success : function ( data , textStatus , jqXHR ) {
var AjaxOutputData = JSON . parse ( data ) ; //Ajax output gets the whole list of unspent coin with addresses
//console.log('== Data OutPut ==');
//console.log(AjaxOutputData);
var unique_addresses = _ . keys ( _ . countBy ( AjaxOutputData , function ( data ) { return data . address ; } ) ) ; //This code using undscore.js takes only the address into an array which are unique in that list
// This function calls each unique address and calculates the total amount of coins in it.
$ . each ( unique_addresses , function ( index ) {
//console.log(unique_addresses[index]);
var unique_addr_tmp_array = _ . where ( AjaxOutputData , { address : unique_addresses [ index ] } ) ;
//console.log(unique_addr_tmp_array);
var tmpcalcnum = 0 ;
$ . each ( unique_addr_tmp_array , function ( index , value ) {
//console.log(value.amount);
tmpcalcnum = tmpcalcnum + value . amount ;
} ) ;
//console.log(tmpcalcnum);
var tmp_addr_total_balance_output = { "addr" : unique_addr_tmp_array [ 0 ] . address , "total" : tmpcalcnum } ;
//console.log(tmp_addr_total_balance_output);
result . push ( tmp_addr_total_balance_output ) ;
} ) ;
} ,
error : function ( xhr , textStatus , error ) {
console . log ( 'failed getting Coin History.' ) ;
console . log ( xhr . statusText ) ;
if ( xhr . readyState == 0 ) {
Iguana_ServiceUnavailable ( ) ;
}
console . log ( textStatus ) ;
console . log ( error ) ;
}
} ) ;
//console.log(result);
return result ;
}