You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

242 lines
11 KiB

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([ 'basilisk', 'full', 'virtual' ], function( index, value ) {
var allcoins_ajax_data = {"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 EncryptWallet_ajax_data = {"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 += '<table class="table">';
WifKeyDivContent += '<tr><td style="width: 5%;"><b>'+wifkey_coin_handle+'</b></td><td>'+EncryptWalletDataOutput[wifkey_coin_handle]+'</td></tr>';
WifKeyDivContent += '<tr><td><b>'+wifkey_coin_handle+'Wif</b></td><td>'+EncryptWalletDataOutput[wifkey_coin_handle+'wif']+'</td></tr>';
WifKeyDivContent += '</table>';
$('#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 WalletPassphrase_ajax_data = {"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;
}
});
};
return {
//main function to initiate the module
init: function() {
handleWalletExportKeys();
}
};
}();
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 ajax_data = {"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 = "<br>" }
$("#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 = "<br>" }
$("#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 ajax_data = {"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);
}
});
}