var WalletSettings = function() { var handleWalletExportKeys = function() { $('.wifkeys-form').validate({ //errorElement: 'span', //default input error message container //errorClass: 'help-block', // default input error message class //focusInvalid: false, // do not focus the last invalid input rules: { wifkeys_passphrase: { required: true } }, messages: { wifkeys_passphrase: { required: "Passphrase is required." } }, submitHandler: function(form) { console.log("wait till peer ip added to selected coin...") var Getwifkeys_passphrase = $("#wifkeys_passphrase").val(); var WifKeyDivContent = ''; //First check which coins are active. Execute API for each mode of wallet $.each([ 'native','basilisk', 'full' ], function( index, value ) { var tmpIguanaRPCAuth = 'tmpIgRPCUser@'+sessionStorage.getItem('IguanaRPCAuth'); var allcoins_ajax_data = {'userpass':tmpIguanaRPCAuth,"agent":"InstantDEX","method":"allcoins"}; $.ajax({ type: 'POST', data: JSON.stringify(allcoins_ajax_data), url: 'http://127.0.0.1:7778', //dataType: 'text', success: function(data, textStatus, jqXHR) { var AllcoinsDataOutput = JSON.parse(data); //Only execute further code if that mode has any coins active it. if none, skill checking on them. if (AllcoinsDataOutput[value].length !== 0 ) { console.log('== AllCoins Data OutPut =='); console.log(value); console.log(AllcoinsDataOutput[value]); //First Run Encryptwallet API to get wif keys for each active coin $.each(AllcoinsDataOutput[value], function(index) { var wifkey_coin_handle = AllcoinsDataOutput[value][index]; console.log(AllcoinsDataOutput[value][index]); var tmpIguanaRPCAuth = 'tmpIgRPCUser@'+sessionStorage.getItem('IguanaRPCAuth'); var EncryptWallet_ajax_data = {'userpass':tmpIguanaRPCAuth,"agent":"bitcoinrpc","method":"encryptwallet","passphrase":Getwifkeys_passphrase} $.ajax({ type: 'POST', data: JSON.stringify(EncryptWallet_ajax_data), url: 'http://127.0.0.1:7778', //dataType: 'text', success: function(data, textStatus, jqXHR) { var EncryptWalletDataOutput = JSON.parse(data); console.log(EncryptWalletDataOutput[wifkey_coin_handle+'wif']); WifKeyDivContent += ''; WifKeyDivContent += ''; WifKeyDivContent += ''; WifKeyDivContent += '
'+wifkey_coin_handle+''+EncryptWalletDataOutput[wifkey_coin_handle]+'
'+wifkey_coin_handle+'Wif'+EncryptWalletDataOutput[wifkey_coin_handle+'wif']+'
'; $('#wif-priv-keys').html(WifKeyDivContent); }, 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); } }); }); //Second run walletpassphrase again to make sure wallet is unlocked as before login. var tmpIguanaRPCAuth = 'tmpIgRPCUser@'+sessionStorage.getItem('IguanaRPCAuth'); var WalletPassphrase_ajax_data = {'userpass':tmpIguanaRPCAuth,"agent":"bitcoinrpc","method":"walletpassphrase","password":Getwifkeys_passphrase,'timeout': '2592000'} $.ajax({ type: 'POST', data: JSON.stringify(WalletPassphrase_ajax_data), url: 'http://127.0.0.1:7778', //dataType: 'text', success: function(data, textStatus, jqXHR) { var WalletPassphraseDataOutput = JSON.parse(data); console.log(WalletPassphraseDataOutput); }, 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); } }); } }, 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); } }); }); } }); $('.wifkeys-form input').keypress(function(e) { if (e.which == 13) { if ($('.wifkeys-form').validate().form()) { $('.wifkeys-form').submit(); //form validation success, call ajax form submit } return false; } }); }; var handleWalletImportKeys = function() { $('.wifkeys-import-form').validate({ //errorElement: 'span', //default input error message container //errorClass: 'help-block', // default input error message class //focusInvalid: false, // do not focus the last invalid input rules: { import_wifkey: { required: true } }, messages: { import_wifkey: { required: "Private Key is required." } }, submitHandler: function(form) { var Getimport_wifkey = $("#import_wifkey").val(); //console.log(Getimport_wifkey); EDEXimportprivkey(Getimport_wifkey).then(function(result){ console.log(result) if ( result.result !== undefined && result.result == 'success' ) { toastr.success("Private Key Imported Successfully!", "Settings Notification"); } if ( result.error !== undefined && result.error == 'null return from iguana_bitcoinRPC' ) { toastr.info("Private Key is not imported.", "Settings Notification"); toastr.error("null return from iguana_bitcoinRPC", "Settings Notification"); } }) } }); $('.wifkeys-import-form input').keypress(function(e) { if (e.which == 13) { if ($('.wifkeys-import-form').validate().form()) { $('.wifkeys-import-form').submit(); //form validation success, call ajax form submit } return false; } }); }; return { //main function to initiate the module init: function() { handleWalletExportKeys(); handleWalletImportKeys(); } }; }(); jQuery(document).ready(function() { WalletSettings.init(); }); // DOM Ready ============================================================= $(document).ready(function() { }); // Functions ============================================================= function Settings_ShowWalletInfo() { var CheckLoginData = JSON.parse(sessionStorage.getItem('IguanaActiveAccount')); console.log(JSON.parse(CheckLoginData)); $("#winfo_pubkey_value").text(JSON.parse(CheckLoginData).pubkey); $("#winfo_btcpubkey_value").text(JSON.parse(CheckLoginData).btcpubkey); $("#winfo_rmd160_value").text(JSON.parse(CheckLoginData).rmd160); $("#winfo_NXT_value").text(JSON.parse(CheckLoginData).NXT); $("#winfo_notary_value").text(JSON.parse(CheckLoginData).notary); $("#winfo_status_value").text(JSON.parse(CheckLoginData).status); //$("#winfo_duration_value").text(JSON.parse(CheckLoginData).duration); } function Settings_ShowCoinPeers() { console.log('waiting getpeers api to complete...'); $("#coin_supernetpeers_h").text(''); $("#coin_supernetpeers").text(''); $("#coin_rawpeers_h").text(''); $("#coin_rawpeers").text(''); var settings_selected_coinname_code_val = $("option:selected","#settings_select_coin_options").val(); var tmpIguanaRPCAuth = 'tmpIgRPCUser@'+sessionStorage.getItem('IguanaRPCAuth'); var ajax_data = {'userpass':tmpIguanaRPCAuth,"agent":"SuperNET","method":"getpeers","activecoin": settings_selected_coinname_code_val}; $.ajax({ type: 'POST', data: JSON.stringify(ajax_data), url: 'http://127.0.0.1:7778', //dataType: 'text', success: function(data, textStatus, jqXHR) { var getCoinPeers = JSON.parse(data); console.log(getCoinPeers); if (getCoinPeers.supernet[0].peers !== undefined ) { var supernet_peers_list = getCoinPeers.supernet[0].peers; if (supernet_peers_list != 0 ) { $("#coin_supernetpeers_h").text(getCoinPeers.supernet[0].coin); $.each(supernet_peers_list, function( index, value ) { var br_val = ""; if ( index != 0 ) { br_val = "
" } $("#coin_supernetpeers").append(br_val+value); }); } } if (getCoinPeers.rawpeers[0].peers !== undefined ) { var raw_peers_list = getCoinPeers.rawpeers[0].peers; if (raw_peers_list != 0 ) { $("#coin_rawpeers_h").text(getCoinPeers.supernet[0].coin); $.each(raw_peers_list, function( index, value ) { var br_val = ""; if ( index != 0 ) { br_val = "
" } $("#coin_rawpeers").append(br_val+value); }); } } }, 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 Settings_AddCoinPeers() { console.log("wait till peer ip added to selected coin...") var settings_selected_coinname_code_val = $("option:selected","#settings_select_coin_addpeer_options").val(); var settings_add_peer_ip_val = $("#settings_add_peer_ip").val(); var tmpIguanaRPCAuth = 'tmpIgRPCUser@'+sessionStorage.getItem('IguanaRPCAuth'); var ajax_data = {'userpass':tmpIguanaRPCAuth,"agent":"iguana","method":"addnode","activecoin": settings_selected_coinname_code_val,"ipaddr": settings_add_peer_ip_val}; $.ajax({ type: 'POST', data: JSON.stringify(ajax_data), url: 'http://127.0.0.1:7778', //dataType: 'text', success: function(data, textStatus, jqXHR) { var getAddCoinPeers = JSON.parse(data); console.log(getAddCoinPeers); if ( getAddCoinPeers.result == 'addnode submitted' ) { toastr.success(settings_add_peer_ip_val + " added to " + settings_selected_coinname_code_val + " Successfully", "Coin Notification"); $("#settings_add_peer_ip").val(''); } }, 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); } }); }