|
|
|
var SPNAPI = (function(SPNAPI, $,errorHandler,undefined) {
|
|
|
|
|
|
|
|
SPNAPI.settings = {maxpeers:3,prefferedExchange:"",exchange_array:[],"exchanges":""};
|
|
|
|
SPNAPI.conf_files={};
|
|
|
|
|
|
|
|
SPNAPI.getCheckBoxDetails = function(agent) {
|
|
|
|
|
|
|
|
var extraInfo = '';
|
|
|
|
|
|
|
|
switch (agent) {
|
|
|
|
|
|
|
|
case 'InstantDEX':
|
|
|
|
extraInfo = 'Extra Info on this '+agent+' Agent';
|
|
|
|
break;
|
|
|
|
case 'pangea':
|
|
|
|
extraInfo = 'Extra Info on this '+agent+' Agent';
|
|
|
|
break;
|
|
|
|
case 'Jumblr':
|
|
|
|
extraInfo = 'Extra Info on this '+agent+' Agent';
|
|
|
|
break;
|
|
|
|
case 'MGW':
|
|
|
|
extraInfo = 'Extra Info on this '+agent+' Agent';
|
|
|
|
break;
|
|
|
|
case 'Atomic':
|
|
|
|
extraInfo = 'Extra Info on this '+agent+' Agent';
|
|
|
|
break;
|
|
|
|
case 'PAX':
|
|
|
|
extraInfo = 'Extra Info on this '+agent+' Agent';
|
|
|
|
break;
|
|
|
|
case 'Tradebots':
|
|
|
|
extraInfo = 'Extra Info on this '+agent+' Agent';
|
|
|
|
break;
|
|
|
|
case 'Wallet':
|
|
|
|
extraInfo = 'Extra Info on this '+agent+' Agent';
|
|
|
|
break;
|
|
|
|
case 'Jay':
|
|
|
|
extraInfo = 'Extra Info on this '+agent+' Agent';
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return extraInfo;
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
SPNAPI.pageContent.Settings = function () {
|
|
|
|
|
|
|
|
var filehandle_map = {};
|
|
|
|
var dirhandle_map = {};
|
|
|
|
/*
|
|
|
|
var rows = '<h3>Agents</h3>';
|
|
|
|
|
|
|
|
$.each(SPNAPI.methods, function (index, value) {
|
|
|
|
|
|
|
|
var this_state;
|
|
|
|
|
|
|
|
$.each(SPNAPI.settings, function (settings_index, settings_value) {
|
|
|
|
|
|
|
|
$.each(settings_value, function (this_setting_index, this_setting_value) {
|
|
|
|
|
|
|
|
if(this_setting_value.agent == index) {
|
|
|
|
this_state = this_setting_value.state;
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
var checkbox_text = "";
|
|
|
|
var checkbox_checked = "";
|
|
|
|
var extraDetails = SPNAPI.getCheckBoxDetails(index);
|
|
|
|
if(this_state == 'inactive') { checkbox_text = '<i>Disabled</i>'; checkbox_checked = ''; extraDetails = ""; }
|
|
|
|
else {
|
|
|
|
checkbox_text = 'Enabled'; checkbox_checked = 'checked="checked"';
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
rows += '' +
|
|
|
|
'<div class="panel panel-default">'+
|
|
|
|
'<div class="panel-body">'+
|
|
|
|
'<div class="col-xs-6 col-md-6 col-lg-6">'+index+'</div>'+
|
|
|
|
'<div class="col-xs-6 col-md-6 col-lg-6" style="text-align: right;">' +
|
|
|
|
'<div class="checkbox">'+
|
|
|
|
'<label>'+
|
|
|
|
'<input type="checkbox" id="'+index+'_checkbox" '+checkbox_checked+' class="agent_checkbox" value="'+index+'" aria-label="Activate/Deactivate Agent"> <span class="checkbox_'+index+'_text">'+checkbox_text+'</span>'+
|
|
|
|
'</label>'+
|
|
|
|
'</div>' +
|
|
|
|
'</div>' +
|
|
|
|
'<div class="row"><div class="'+index+'_extra_info col-xs-10 col-md-10 col-lg-10">'+extraDetails+'</div></div>'+
|
|
|
|
'</div>'+
|
|
|
|
'</div>';
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
var filename = "/persistent/SuperNET.conf";
|
|
|
|
var access = "w+";
|
|
|
|
postCall('fopen', filename, access, function(filename_return, filehandle) {
|
|
|
|
filehandle_map[filehandle] = filename_return;
|
|
|
|
common.logMessage('File ' + filename_return + ' opened successfully.');
|
|
|
|
|
|
|
|
console.log(filehandle + " and "+filename_return);
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
var data = "SuperNETconfigurationsdaaaaa TES TEST TEST TEST";
|
|
|
|
postCall('fwrite', 0, data, function(filehandle, bytesWritten) {
|
|
|
|
var filename = filehandle_map[filehandle];
|
|
|
|
common.logMessage('Wrote ' + bytesWritten + ' bytes to file ' + filename +
|
|
|
|
'.');
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
var filesize = "";
|
|
|
|
postCall('stat', filename, function(filename, size) {
|
|
|
|
common.logMessage('File ' + filename + ' has size ' + size + '.');
|
|
|
|
filesize = size;
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
var filehandle = parseInt(filehandle_map, 10);
|
|
|
|
var numBytes = parseInt(filesize, 10);
|
|
|
|
postCall('fread', 0, 0, function(filehandle, data) {
|
|
|
|
var filename = filehandle_map[filehandle];
|
|
|
|
common.logMessage('Read "' + data + '" from file ' + filename + '.');
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$("#agent_settings").html(rows);
|
|
|
|
*/
|
|
|
|
var config = '<h3>Config</h3>';
|
|
|
|
var checkbox_text="";
|
|
|
|
var checkbox_checked="";
|
|
|
|
|
|
|
|
if(SPNAPI.usePexe === false) { checkbox_text = '<i>Disabled</i>'; checkbox_checked = ''; extraDetails = ""; }
|
|
|
|
else {
|
|
|
|
checkbox_text = 'Enabled'; checkbox_checked = 'checked="checked"';
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
config += '' +
|
|
|
|
'<div class="panel panel-default">'+
|
|
|
|
'<div class="panel-body">'+
|
|
|
|
'<div class="col-xs-6 col-md-6 col-lg-6">Pexe</div>'+
|
|
|
|
'<div class="col-xs-6 col-md-6 col-lg-6" style="text-align: right;">' +
|
|
|
|
'<div class="checkbox">'+
|
|
|
|
'<label>'+
|
|
|
|
'<input type="checkbox" id="use_pexe_checkbox" class="pexe_checkbox" value="'+checkbox_checked+'" aria-label="Activate/Deactivate Agent"> <span class="pexe_checkbox_text">'+checkbox_text+'</span>'+
|
|
|
|
'</label>'+
|
|
|
|
'</div>' +
|
|
|
|
'</div>' +
|
|
|
|
'<div class="row"><div class="pexe_extra_info col-xs-10 col-md-10 col-lg-10">Use pexe or URL requests for communications</div></div>'+
|
|
|
|
'</div>'+
|
|
|
|
'</div>';
|
|
|
|
config += '' +
|
|
|
|
'<div class="panel panel-default">'+
|
|
|
|
'<div class="panel-body">'+
|
|
|
|
'<div class="col-xs-6 col-md-6 col-lg-6">Save default conf files</div>'+
|
|
|
|
'<div class="col-xs-6 col-md-6 col-lg-6" style="text-align: right;">' +
|
|
|
|
'<div class="checkbox">'+
|
|
|
|
'<label>'+
|
|
|
|
'<span><button class="btn btn-xs btn-success btn-raised saveConfFiles_onclick" > Save</button></span>'+
|
|
|
|
'</label>'+
|
|
|
|
'</div>' +
|
|
|
|
'</div>' +
|
|
|
|
'<div class="row"><div class="pexe_extra_info col-xs-10 col-md-10 col-lg-10">Save configuration files to chrome APP</div></div>'+
|
|
|
|
'</div>'+
|
|
|
|
'</div>';
|
|
|
|
config += '' +
|
|
|
|
'<div class="panel panel-default">'+
|
|
|
|
'<div class="panel-body">'+
|
|
|
|
'<div class="col-xs-6 col-md-6 col-lg-6">Maximum peers</div>'+
|
|
|
|
'<div class="col-xs-6 col-md-6 col-lg-6" style="text-align: right;">' +
|
|
|
|
'<div class="checkbox">'+
|
|
|
|
'<label>'+
|
|
|
|
'<input type="text" id="max_peers_setting" size="4" value="'+SPNAPI.settings.maxpeers+'"/>'+
|
|
|
|
'</label>'+
|
|
|
|
'</div>' +
|
|
|
|
'</div>' +
|
|
|
|
'<div class="row"><div class="pexe_extra_info col-xs-10 col-md-10 col-lg-10">Set number of nodes connected directly per coin type</div></div>'+
|
|
|
|
'</div>'+
|
|
|
|
'</div>';
|
|
|
|
config += '' +
|
|
|
|
'<div class="panel panel-default">'+
|
|
|
|
'<div class="panel-body">'+
|
|
|
|
'<div class="col-xs-6 col-md-6 col-lg-6">Delete peer data</div>'+
|
|
|
|
'<div class="col-xs-6 col-md-6 col-lg-6" style="text-align: right;">' +
|
|
|
|
'<div class="checkbox">'+
|
|
|
|
'<label>'+
|
|
|
|
'<span><button class="btn btn-xs btn-success btn-raised deletePeertabFile_onclick" > Delete</button></span>'+
|
|
|
|
'</label>'+
|
|
|
|
'</div>' +
|
|
|
|
'</div>' +
|
|
|
|
'<div class="row"><div class="pexe_extra_info col-xs-10 col-md-10 col-lg-10">Delete peer tab data</div></div>'+
|
|
|
|
'</div>'+
|
|
|
|
'</div>';
|
|
|
|
config += '' +
|
|
|
|
'<div class="panel panel-default">'+
|
|
|
|
'<div class="panel-body">'+
|
|
|
|
'<div class="col-xs-6 col-md-6 col-lg-6">Preffered exchange</div>'+
|
|
|
|
'<div class="col-xs-6 col-md-6 col-lg-6" style="text-align: right;">' +
|
|
|
|
'<div class="checkbox">'+
|
|
|
|
'<label>'+
|
|
|
|
'<span><select name="setting_exchange" id="setting_exchange"></select></span>'+
|
|
|
|
'</label>'+
|
|
|
|
'</div>' +
|
|
|
|
'</div>' +
|
|
|
|
'<div class="row"><div class="pexe_extra_info col-xs-10 col-md-10 col-lg-10">Set preffered exchange setting</div></div>'+
|
|
|
|
'</div>'+
|
|
|
|
'</div>';
|
|
|
|
|
|
|
|
|
|
|
|
$("#advanced_settings").html(config);
|
|
|
|
|
|
|
|
$('#setting_exchange').html(exchanges);
|
|
|
|
|
|
|
|
if(SPNAPI.settings.prefferedExchange!==""){
|
|
|
|
|
|
|
|
changePrefferedEx("setting_exchange");}
|
|
|
|
|
|
|
|
var pexe_checkbox = $('.pexe_checkbox');
|
|
|
|
|
|
|
|
pexe_checkbox.on("click", function () {
|
|
|
|
if(typeof nacl_module !== 'undefined'){
|
|
|
|
|
|
|
|
var thisCheck = $(this);
|
|
|
|
if (thisCheck.is (':checked'))
|
|
|
|
{
|
|
|
|
$('.pexe_checkbox_text').html("Enabled");
|
|
|
|
SPNAPI.usePexe=true;
|
|
|
|
} else {
|
|
|
|
SPNAPI.usePexe=false;
|
|
|
|
$('.pexe_checkbox_text').html("<i>Disabled</i>");
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
console.log("Pexe not loaded!");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
$("#save_settings").on("click", function () {
|
|
|
|
|
|
|
|
//saving max peer setting
|
|
|
|
var peers=$('#max_peers_setting').val();
|
|
|
|
if(SPNAPI.settings.maxpeers!==peers){
|
|
|
|
SPNAPI.settings.maxpeers=peers;
|
|
|
|
console.log("maxpeers set to "+SPNAPI.settings.maxpeers);
|
|
|
|
sync_peers_to_maxpeers();
|
|
|
|
}
|
|
|
|
|
|
|
|
/// saving preffered exchange setting
|
|
|
|
var ex=$('#setting_exchange').val();
|
|
|
|
if(SPNAPI.settings.prefferedExchange!==ex){
|
|
|
|
SPNAPI.settings.prefferedExchange=ex;
|
|
|
|
console.log("changed preffered Exchange");
|
|
|
|
}
|
|
|
|
|
|
|
|
/*var agent_checkbox = $('.agent_checkbox');
|
|
|
|
var settings = [];
|
|
|
|
|
|
|
|
$.each(agent_checkbox, function(index, value) {
|
|
|
|
|
|
|
|
var agent = value.value;
|
|
|
|
console.log(agent);
|
|
|
|
var thisCheck = $("#"+agent+"_checkbox");
|
|
|
|
var state;
|
|
|
|
if (thisCheck.is (':checked'))
|
|
|
|
{
|
|
|
|
state = "active";
|
|
|
|
|
|
|
|
} else {
|
|
|
|
state = 'inactive';
|
|
|
|
}
|
|
|
|
|
|
|
|
var json = { "agent" : "InstantDEX", "state" : "inactive" };
|
|
|
|
json.agent = agent;
|
|
|
|
json.state = state;
|
|
|
|
settings.push(json);
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
//console.log(settings);
|
|
|
|
|
|
|
|
var filename = "/persistent/SuperNET.conf";
|
|
|
|
var access = "w";
|
|
|
|
postCall('fopen', filename, access, function(filename_return, filehandle) {
|
|
|
|
filehandle_map[filehandle] = filename_return;
|
|
|
|
common.logMessage('File ' + filename_return + ' opened successfully.');
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
//var settings = { "agent" : "InstantDEX", "state" : "active" };
|
|
|
|
chrome.storage.sync.set({ "settings" : settings }, function() {
|
|
|
|
if (chrome.runtime.error) {
|
|
|
|
console.log("Runtime error.");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
chrome.storage.sync.get("settings", function(items) {
|
|
|
|
if (!chrome.runtime.error) {
|
|
|
|
//console.log(items);
|
|
|
|
//document.getElementById("data").innerText = items.data;
|
|
|
|
SPNAPI.settings = items;
|
|
|
|
}
|
|
|
|
});*/
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
return SPNAPI;
|
|
|
|
}(SPNAPI || {}, jQuery,errorHandler));
|
|
|
|
|
|
|
|
|