Browse Source

Updated peer mgt tab and native iguana exe

release/v0.1
vineetbhargav86 9 years ago
parent
commit
4056e8336b
  1. 74
      iguana/js/api.js
  2. 166
      iguana/js/old_js/test.js
  3. 204
      iguana/js/peerlist.js
  4. 2
      iguana/js/sites.js

74
iguana/js/api.js

@ -14,6 +14,12 @@ var SPNAPI = (function(SPNAPI, $, undefined) {
SPNAPI.pages = ["Settings", "eyedea", "Peers","Debug", "Coins", "Blockexplorer"];
SPNAPI.pageContent = {};
SPNAPI.page = "welcome";
/*
* added variables for flexibility
*/
SPNAPI.usePexe=true;
SPNAPI.domain="http://127.0.0.1";
SPNAPI.port="7778";
$(document).ready(function() {
//load Pages into the navbar
@ -26,6 +32,12 @@ var SPNAPI = (function(SPNAPI, $, undefined) {
var page = $(this).data("page");
$(".navigation").removeClass("active");
SPNAPI.loadSite(page);
console.log(page);
if(page==="Peers"){
peer_resonse=[];
getPeerList();
}
});
$(".page").hide();
$("#welcome_page").show();
@ -59,7 +71,7 @@ var SPNAPI = (function(SPNAPI, $, undefined) {
SPNAPI.makeRequest = function( request, callback ) {
// check if tag is already included in request
request = JSON.parse( request );
if ( request.tag == undefined ) {
if ( request.tag === undefined ) {
request = JSON.stringify( request );
var tag = tagGen(18);
request = request.substr(0, request.length - 1);
@ -68,11 +80,63 @@ var SPNAPI = (function(SPNAPI, $, undefined) {
request = JSON.stringify( request );
}
console.log('Requesting: ' + request);
postCall('iguana', request, function(response){
console.log('Response is ' + response);
/*
* typeof nacl_module !== 'undefined' will test if pexe is loaded or not
*/
if(typeof nacl_module !== 'undefined' && SPNAPI.usePexe){
postCall('iguana', request, function(response){
console.log('pexe Response is ' + response);
//if(typeof callback === 'function'){
callback(request, response);
//}
});
}else{
request = JSON.parse( request );
var url=SPNAPI.returnAJAXgetURL(request);
if(url!==false){
/*
* Ajax request will be sent if pexe is not loaded or
* if usepexe is set to false
* (this adds the user the ability to handle how requests are sent)
*/
$.ajax({
type: "GET",
url: url
}).done(function( response ) {
console.log('AJAX Response is ' + response);
//if(typeof callback === 'function'){
callback(request, response);
});
//}
});
}
}
};
SPNAPI.returnAJAXgetURL=function(request){
var url=SPNAPI.domain+":"+SPNAPI.port+"/api/";
if(request.method === undefined){
console.log("Invalid request.");
return false;
}
if(request.agent=== undefined){
url=url+"iguana/";
}else{
url=url+request.agent+"/";
}
}
url=url+request.method+"/";
for(var i in request){
if(i==="agent" ||i==="method"){
continue;
}
url=url+i+"/"+request[i]+"/";
}
console.log("Url generated from request:"+url);
return url;
};
return SPNAPI;
}(SPNAPI || {}, jQuery));

166
iguana/js/old_js/test.js

@ -1,166 +0,0 @@
var pages = [
{value:"InstantDEX", width:100,"click":InstantDEX},
{ view:"button", value:"pangea", width:100,"click":Pangea },
{ view:"button", value:"Jumblr", width:100,"click":Jumblr },
{ view:"button", value:"Atomic", width:100,"click":Atomic },
{ view:"button", value:"MGW", width:100,"click":MGW },
{ view:"button", value:"PAX", width:100,"click":PAX },
{ view:"button", value:"Wallet", width:100,"click":Wallet },
{ view:"button", value:"Debug", width:100,"click":debuglog }
];
var SPNAPI = (function(SPNAPI, $, undefined) {
SPNAPI.methods.instantDEX = [
{"id":1,"method":"allorderbooks","base":"","rel":"","exchange":"","price":"","volume":""},
{"id":2,"method":"allexchanges","base":"","rel":"","exchange":"","price":"","volume":""},
{"id":2,"method":"openorders","base":"","rel":"","exchange":"","price":"","volume":""},
{"id":3,"method":"orderbook","base":"base","rel":"rel","exchange":"active","price":"","volume":""},
{"id":4,"method":"placeask","base":"base","rel":"rel","exchange":"active","price":"price","volume":"volume"},
{"id":5,"method":"placebid","base":"base","rel":"rel","exchange":"active","price":"price","volume":"volume"},
{"id":6,"method":"orderstatus","base":"","rel":"","exchange":"","price":"","volume":"","orderid":"orderid"},
{"id":7,"method":"cancelorder","base":"","rel":"","exchange":"","price":"","volume":"","orderid":"orderid"},
{"id":8,"method":"enablequotes","base":"base","rel":"rel","exchange":"exchange","price":"","volume":""},
{"id":9,"method":"disablequotes","base":"base","rel":"rel","exchange":"exchange","price":"","volume":""},
{"id":10,"method":"lottostats","base":"","rel":"","exchange":"","price":"","volume":""},
{"id":11,"method":"tradehistory","base":"","rel":"","exchange":"","price":"","volume":""},
{"id":12,"method":"balance","base":"","rel":"","exchange":"exchange","price":"","volume":""},
{"id":13,"method":"peggyrates","base":"base","rel":"","exchange":"","price":"","volume":""}
];
SPNAPI.methods.pangea = [
{"id":1,"method":"start","base":"base","maxplayers":"maxplayers","bigblind":"bigblind","ante":"ante","hostrake":"hostrake"},
{"id":2,"method":"status","tableid":"tableid"},
{"id":3,"method":"turn","tableid":"tableid"},
{"id":4,"method":"mode"},
{"id":5,"method":"buyin","tableid":"tableid"},
{"id":6,"method":"history","tableid":"tableid","handid":"handid"},
{"id":7,"method":"rates","base":"base"},
{"id":8,"method":"lobby"},
{"id":9,"method":"tournaments"},
{"id":10,"method":"rosetta","base":"base"}
];
SPNAPI.methods.jumblr = [
{"id":1,"method":"jumblr","base":"base","maxplayers":"maxplayers","bigblind":"bigblind","ante":"ante"},
{"id":2,"method":"status","tableid":"tableid"}
];
SPNAPI.methods.mgw =[
{"id":1,"method":"MGW","base":"base","maxplayers":"maxplayers","bigblind":"bigblind","ante":"ante"},
{"id":2,"method":"status","tableid":"tableid"}
];
SPNAPI.methods.atomic = [
{"id":1,"method":"atomic","base":"base","maxplayers":"maxplayers","bigblind":"bigblind","ante":"ante"},
{"id":2,"method":"status","tableid":"tableid"}
];
SPNAPI.methods.pax = [
{"id":1,"method":"peggy","base":"base","maxplayers":"maxplayers","bigblind":"bigblind","ante":"ante"},
{"id":2,"method":"status","tableid":"tableid"}
];
SPNAPI.methods.wallet = [
{"id":1,"method":"wallet","base":"base","maxplayers":"maxplayers","bigblind":"bigblind","ante":"ante"},
{"id":2,"method":"status","tableid":"tableid"}
];
return SPNAPI;
}(SPNAPI || {}, jQuery));
var api_request = function(agent)
{
var jsonstr = '';//$$("apirequest").getValues().jsonstr;
var base = $$("formA").getValues().base;
var rel = $$("formB").getValues().rel;
var exchange = $$("formC").getValues().exchange;
var price = $$("formD").getValues().price;
var volume = $$("formE").getValues().volume;
var orderid = $$("formF").getValues().orderid;
var method = $$("method").getValues().method;
var request = '{"agent":"' + agent + '","method":"' + method + '","base":"' + base + '","rel":"' + rel + '","exchange":"' + exchange + '","price":"' + price + '","volume":"' + volume + '","orderid":"' + orderid + '"' + jsonstr + '}';
return(request);
}
function submit_request(e)
{
var request = $$("apirequest").getValues().jsonstr;
postCall('SuperNET', request, function(jsonstr)
{
$$("debuglog").add({value:jsonstr},0);
common.logMessage(jsonstr + '\n');
});
}
function InstantDEX(e)
{
$$('list').data.sync(Idata);
request = api_request('InstantDEX');
$$("submitstr").setValue(request);
/*postCall('SuperNET', request, function(jsonstr)
{
$$("debuglog").add({value:jsonstr},0);
common.logMessage(jsonstr + '\n');
});*/
}
function Pangea(e)
{
$$('list').data.sync(Pdata);
request = api_request('pangea');
$$("submitstr").setValue(request);
}
function Jumblr(e)
{
$$('list').data.sync(Jdata);
request = api_request('jumblr');
$$("submitstr").setValue(request);
}
function MGW(e)
{
$$('list').data.sync(Mdata);
request = api_request('MGW');
$$("submitstr").setValue(request);
}
function Atomic(e)
{
$$('list').data.sync(Adata);
request = api_request('atomic');
$$("submitstr").setValue(request);
}
function PAX(e)
{
$$('list').data.sync(Xdata);
request = api_request('peggy');
$$("submitstr").setValue(request);
}
function Wallet(e)
{
$$('list').data.sync(Wdata);
request = api_request('wallet');
$$("submitstr").setValue(request);
}
var debug_on = 0;
function debuglog(e) {
if ( debug_on == 0 )
{
$(".debuglog").show();
debug_on = 1;
}
else
{
$(".debuglog").hide();
debug_on = 0;
}
}

204
iguana/js/peerlist.js

@ -1,9 +1,15 @@
// placeholder of API peers response
/**
*
* @type Array
* (getpeers method will loop through this array to get list of peers)
*
*/
var coin_types = ['BTC', 'BTCD'];
var response = {
/*
var responseBTCD = {
"peers": [
{
"ipaddr": "127.0.0.1",
@ -299,55 +305,179 @@ var response = {
"tag": "12697016274367621769"
};
*/
var peer_resonse=[];//=[responseBTCD,responseBTC];
var currentCoin=0;
/*
* Gets peer list using postCall or using AJAX GET request
* (further code will need modifications when native call will be implemented)
* (Above initialized usepostCall variable must be set to true if postCall is to be used)
*
*/
function getPeerList(){
if(currentCoin<coin_types.length){
var tag = tagGen(18);
console.log("Inside getPeerList");
var request=
'{"agent":"iguana","method":"peers","coin":'+'"'+coin_types[currentCoin]+'","tag":"' + tag.toString() + '"}';
currentCoin++;
//console.log('Requesting: ' + request);
SPNAPI.makeRequest(request,addpeer_toresponse);
//SPNAPI.makeRequest(request,getPeerList());
}else{
currentCoin=0;
renderPeersGrid();
}
}
function addpeer_toresponse(request, response){
var data=JSON.parse(response);
if(data.error && data.error==="peers needs coin"){
console.log("Coin not present");
}else{
peer_resonse.push(data);
}
getPeerList();
}
/**
*
* @param {sting} ip (ip address current of peer)
* @param {string} coin (coin short name)
* @returns {undefined}
*
*/
function connectPeer(ip,coin){
var request='{"agent":"iguana","method":"addnode","ipaddr":'+'"'+ip+'","coin":"' + coin + '"}';
console.log("connection to peer:"+ip+" coin:"+coin);
SPNAPI.makeRequest(request,function(request,response){
//console.log('Response is ' + response);
var res=JSON.parse(response);
if(res.result==="addnode submitted"){
addPeerToConn(ip,coin);
}
});
}
/**
*
* @param {sting} ip (ip address current of peer)
* @param {string} coin (coin short name)
* @returns {undefined}
*
*/
function disconnectPeer(ip,coin){
var request='{"agent":"iguana","method":"removenode","ipaddr":'+'"'+ip+'","coin":"' + coin + '"}';
console.log("disconnection to peer:"+ip+" coin:"+coin);
SPNAPI.makeRequest(request, function(request,response){
//console.log('Response is ' + response);
removePeerFromConn(ip,coin);
});
}
var favPeers = [];
/**
*
* @type Array
* (used to store connected peer in a string format)
*/
var getHtmlRow = function (id, peer) {
var connectedPeers=[];
var getHtmlRow = function (id,coin, peer) {
var row = '';
row = '<tr data-id="' + id.toString() + '">';
var data=id+coin;
row = '<tr data-id="' + data.toString() + '">';
row += '<td>' + peer.ipaddr + '</td>';
row += '<td>' + peer.cointype + '</td>';
row += '<td>' + peer.height + '</td>';
row += '<td>' + peer.rank + '</td>';
if ($.inArray(id, favPeers) == -1) {
row += '<td><button class="btn btn-xs btn-success btn-raised addPeerToFav" data-id="' + id.toString() + '"> + Favorite</button></td>';
if ($.inArray(data, favPeers) === -1) {
row += '<td><button class="btn btn-xs btn-success btn-raised addPeerToFav" data-coin="'+peer.cointype.toString()+'" data-id="' + id.toString() + '"> + Favorite</button></td>';
// row += '<td><i class="material-icons addPeerToFav" data-id="' + id.toString() + '">bookmark_border</i></td>';
}
else {
row += '<td><button class="btn btn-xs btn-danger btn-raised removePeerFromFav" data-id="' + id.toString() + '"> - Unfavorite</button></td>';
row += '<td><button class="btn btn-xs btn-danger btn-raised removePeerFromFav" data-coin="'+peer.cointype.toString()+'" data-id="' + id.toString() + '"> - Unfavorite</button></td>';
// row += '<td><i class="material-icons removePeerFromFav" data-id="' + id.toString() + '">bookmark</i></td>'
}
if ($.inArray(peer.ipaddr.toString()+" "+peer.cointype.toString(), connectedPeers) === -1) {
row += '<td><button class="btn btn-xs btn-success btn-raised connectPeer" data-ip="'+peer.ipaddr.toString()+'" data-coin="'+peer.cointype.toString()+'" data-id="' + id.toString() + '"> + Connect</button>';
row +='</td>';
}else{
row += '<td><button class="btn btn-xs btn-danger btn-raised disconnectPeer" data-ip="'+peer.ipaddr.toString()+'" data-coin="'+peer.cointype.toString()+'" data-id="' + id.toString() + '"> -Disconnect</button>';
row +='</td>';
}
row += '</tr>';
return row;
};
var addPeerToFav = function (id) {
if ($.inArray(id, favPeers) == -1) {
favPeers.push(parseInt(id));
console.log('@ peer faved', favPeers);
var addPeerToConn = function (ip,coin) {
if ($.inArray(ip+" "+coin, connectedPeers) === -1) {
connectedPeers.push(ip+" "+coin);
console.log('@ peer connected', connectedPeers);
}
// refresh grid e.getAttribute('data-id'),e.getAttribute('data-coin')
renderPeersGrid(document.getElementById('cbShowFavoritePeers').checked);
};
var removePeerFromConn = function (ip,coin) {
for (var index = 0; index < connectedPeers.length; index++) {
if (ip+" "+coin === connectedPeers[index]) {
connectedPeers.splice(index, 1);
console.log('@ peer disconnected', connectedPeers);
break;
}
}
// refresh grid
renderPeersGrid(document.getElementById('cbShowFavoritePeers').checked);
};
var addPeerToFav = function (id,coin) {
if ($.inArray(id+coin, favPeers) === -1) {
favPeers.push(id+coin);
console.log('@ peer faved', favPeers);
}
// refresh grid e.getAttribute('data-id'),e.getAttribute('data-coin')
renderPeersGrid(false);
};
var removePeerFromFav = function (id) {
var removePeerFromFav = function (id,coin) {
for (var index = 0; index < favPeers.length; index++) {
if (id == favPeers[index]) {
if (id+coin === favPeers[index]) {
favPeers.splice(index, 1);
console.log('@ peer unfaved', favPeers);
break;
}
}
// refresh grid
renderPeersGrid(document.getElementById('cbShowFavoritePeers').checked);
};
/*
var renderPeersGrid = function (favoritesOnly = false) {
console.log('@ peer print grid')
console.log('@ peer print grid');
var peersTableAllHtml = '';
for (var i = 0; i < response.peers.length; i++) {
@ -359,15 +489,39 @@ var renderPeersGrid = function (favoritesOnly = false) {
response.peers[i].cointype = response.coin
peersTableAllHtml += getHtmlRow(i, response.peers[i]);
}
document.getElementById('peersTableBody').innerHTML = peersTableAllHtml;
};*/
var favoritesOnly=false;
var renderPeersGrid = function () {
console.log('@ peer print grid');
var peersTableAllHtml = '';
for(var j=0; j<peer_resonse.length;j++){
var res=peer_resonse[j];
for (var i = 0; i < res.peers.length; i++) {
var data=i+res.coin;
if (favoritesOnly === true && $.inArray(data.toString(), favPeers) === -1) {
continue;
}
//console.log(data.toString());
res.peers[i].cointype = res.coin;
peersTableAllHtml += getHtmlRow(i,res.coin, res.peers[i]);
}
}
document.getElementById('peersTableBody').innerHTML = peersTableAllHtml;
};
document.getElementById('cbShowFavoritePeers').onclick = function () {
// if (document.getElementById('cbShowFavoritePeers').checked == true) {
// // document.getElementById('peersTableBody').style.display = 'none';
// // document.getElementById('peersTable_fav').style.display = 'block';
// $('#peersTableBody').hide();
// $('#peersTable_fav').show();
// }
@ -375,15 +529,15 @@ document.getElementById('cbShowFavoritePeers').onclick = function () {
// // document.getElementById('peersTableBody').style.display = 'block';
// // document.getElementById('peersTable_fav').style.display = 'none';
// $('#peersTableBody').show();
// $('#peersTable_fav').hide();
// }
renderPeersGrid(document.getElementById('cbShowFavoritePeers').checked);
favoritesOnly=document.getElementById('cbShowFavoritePeers').checked;
renderPeersGrid();
};
var startPeerManagement = function () {
renderPeersGrid();
};
};

2
iguana/js/sites.js

@ -16,7 +16,7 @@ var SPNAPI = (function(SPNAPI, $, undefined) {
$(".debuglog").show();
debug_on = 1;
$("html, body").animate({ scrollTop: $(document).height() }, 1000);
//$("html, body").animate({ scrollTop: $(document).height() }, 1000);
};

Loading…
Cancel
Save