2017-10-19 06:43:14 -07:00
/*** Simple GUI JS ***/
//var CheckOrderbook_Interval = null;
//var CheckPortfolio_Interval = null;
var check _coin _balance _Interval = null ;
var coin _pair = [ "BTC" , "KMD" ]
$ ( '.coin.pair-one' ) . html ( coin _pair [ 0 ] ) ;
$ ( '.coin.pair-two' ) . html ( coin _pair [ 1 ] ) ;
$ . each ( $ ( '.pair-one[data-coin]' ) , function ( index , value ) {
$ ( '.pair-one[data-coin]' ) . attr ( 'data-coin' , coin _pair [ 0 ] ) ;
} ) ;
$ . each ( $ ( '.pair-two[data-coin]' ) , function ( index , value ) {
$ ( '.pair-two[data-coin]' ) . attr ( 'data-coin' , coin _pair [ 1 ] ) ;
} ) ;
$ ( document ) . ready ( function ( ) {
var mmstatus = ShepherdIPC ( { "command" : "mmstatus" } ) ;
if ( mmstatus !== 'closed' ) {
$ ( '.mainbody' ) . show ( ) ;
$ ( '.loginbody' ) . hide ( ) ;
//var refresh_data = {"coin":" ", "status": "enable"};
//enable_disable_coin(refresh_data);
//get_myprices();
check _coin _balance _Interval = setInterval ( check _coin _balance , 3000 ) ;
check _coin _balance ( ) ;
} else {
$ ( '.mainbody' ) . hide ( ) ;
$ ( '.loginbody' ) . show ( ) ;
}
//$('.set_goal_label_portfolio').html($('.sell_coin_p').selectpicker('val'));
} ) ;
$ ( '.btn-receive' ) . click ( function ( ) {
console . log ( 'btn-receive clicked' ) ;
console . log ( $ ( this ) . data ( ) ) ;
if ( $ ( this ) . data ( 'pair' ) == 'one' ) {
var coin _pair _one = sessionStorage . getItem ( 'coin_pair_one' ) ;
var coin _pair = JSON . parse ( coin _pair _one ) ;
}
if ( $ ( this ) . data ( 'pair' ) == 'two' ) {
var coin _pair _two = sessionStorage . getItem ( 'coin_pair_two' ) ;
var coin _pair = JSON . parse ( coin _pair _two ) ;
}
console . log ( coin _pair . smartaddress ) ;
bootbox . dialog ( {
//title: 'A custom dialog with init',
message : '<div style="text-align: center; margin-top: -40px;"><img src="img/cryptologo/' + $ ( this ) . data ( 'coin' ) + '.png" style="border: 10px solid #fff;border-radius: 50px; background: #fff;"/></div><div style="text-align: center;"><div id="receive_addr_qrcode"></div><pre style="font-size: 18px;">' + coin _pair . smartaddress + '</pre class="receive_addr_qrcode_addr"></div>'
} ) ;
var qrcode = new QRCode ( "receive_addr_qrcode" ) ;
qrcode . makeCode ( coin _pair . smartaddress ) ; // make another code.
$ ( '#receive_addr_qrcode > img' ) . removeAttr ( 'style' ) ;
$ ( '#receive_addr_qrcode > img' ) . css ( 'display' , 'initial' ) ;
$ ( '#receive_addr_qrcode > img' ) . css ( 'border' , '9px solid #f1f1f1' , 'border-radius' , '5px' , 'margin' , '5px' ) ;
$ ( '#receive_addr_qrcode > img' ) . css ( 'border-radius' , '5px' ) ;
$ ( '#receive_addr_qrcode > img' ) . css ( 'margin' , '5px' ) ;
} )
$ ( '.btn-enable' ) . click ( function ( ) {
console . log ( 'btn-enable clicked' ) ;
//console.log($(this).data());
var electrum _option = $ ( '#toggle_pair_one' ) . prop ( 'checked' ) ;
//console.log(electrum_option);
var enable _data = $ ( this ) . data ( ) ;
enable _data [ 'electrum' ] = electrum _option ;
//console.log(enable_data);
enable _disable _coin ( enable _data ) ;
} ) ;
$ ( '.btn-disable' ) . click ( function ( ) {
console . log ( 'btn-disable clicked' ) ;
//console.log($(this).data());
var electrum _option = $ ( '#toggle_pair_one' ) . prop ( 'checked' ) ;
//console.log(electrum_option);
var enable _data = $ ( this ) . data ( ) ;
enable _data [ 'electrum' ] = electrum _option ;
//console.log(enable_data);
enable _disable _coin ( enable _data ) ;
} ) ;
2017-10-26 02:56:05 -07:00
$ ( '.btn-send' ) . click ( function ( e ) {
e . preventDefault ( ) ;
console . log ( 'btn-send clicked' ) ;
console . log ( $ ( this ) . data ( ) ) ;
$ ( '.coindashboard' ) . hide ( )
$ ( '.screen-sendcoin' ) . show ( ) ;
check _coin _balance ( false ) ;
$ ( '.sendcoin-title' ) . html ( 'Send (' + $ ( '.balance.pair-' + $ ( this ) . data ( 'pair' ) + '' ) . html ( ) + ' ' + $ ( this ) . data ( 'coin' ) + ')' ) ;
$ ( '.sendcoin-title' ) . data ( 'coin' , $ ( this ) . data ( 'coin' ) ) ;
} ) ;
$ ( '.btn-sendcoin' ) . click ( function ( e ) {
e . preventDefault ( ) ;
console . log ( 'btn-sendcoin clicked' ) ;
//console.log($(this).data());
var coin = $ ( '.sendcoin-title' ) . data ( 'coin' ) ;
console . log ( coin ) ;
var to _addr = $ ( '#send-toaddr' ) . val ( ) ;
var send _amount = $ ( '#send-amount' ) . val ( ) ;
//console.log(to_addr);
//console.log(send_amount);
var output _data = { } ;
output _data [ to _addr ] = send _amount ;
//console.log(output_data);
var userpass = sessionStorage . getItem ( 'mm_userpass' ) ;
var ajax _data = { "userpass" : userpass , "method" : "withdraw" , "coin" : coin , "outputs" : [ output _data ] } ;
var url = "http://127.0.0.1:7783" ;
console . log ( ajax _data ) ;
$ . ajax ( {
data : JSON . stringify ( ajax _data ) ,
dataType : 'json' ,
type : 'POST' ,
url : url
} ) . done ( function ( data ) {
// If successful
console . log ( data ) ;
if ( data . complete == false ) {
toastr . error ( 'Uncessful Transaction. Please try again.' , 'Tansaction info' ) ;
}
if ( data . complete == true ) {
//toastr.info('Transaction made','Tansaction info');
bootbox . confirm ( {
message : ` <b>Send</b>: ` + send _amount + ` ` + ajax _data . coin + ` <br>
< b > To < / b > : ` + t o _ a d d r + ` < b r > ` ,
buttons : {
confirm : {
label : 'Confirm' ,
className : 'btn-primary'
} ,
cancel : {
label : 'Cancel' ,
className : 'btn-default'
}
} ,
callback : function ( result ) {
console . log ( 'This was logged in the callback: ' + result ) ;
var ajax _data2 = { "userpass" : userpass , "method" : "sendrawtransaction" , "coin" : coin , "signedtx" : data . hex } ;
console . log ( ajax _data2 ) ;
$ . ajax ( {
data : JSON . stringify ( ajax _data2 ) ,
dataType : 'json' ,
type : 'POST' ,
url : url
} ) . done ( function ( data2 ) {
// If successful
console . log ( data2 ) ;
} ) . fail ( function ( jqXHR , textStatus , errorThrown ) {
// If fail
console . log ( textStatus + ': ' + errorThrown ) ;
} ) ;
}
} ) ;
}
} ) . fail ( function ( jqXHR , textStatus , errorThrown ) {
// If fail
console . log ( textStatus + ': ' + errorThrown ) ;
} ) ;
} )
2017-10-19 06:43:14 -07:00
//$('.toggle_checkbox[data-coin="' + val.coin + '"]')
2017-10-26 02:56:05 -07:00
$ ( '.btn-sendcoinclose' ) . click ( function ( e ) {
e . preventDefault ( ) ;
console . log ( 'btn-sendcoinclose clicked' ) ;
console . log ( $ ( this ) . data ( ) ) ;
$ ( '.coindashboard' ) . show ( )
$ ( '.screen-sendcoin' ) . hide ( ) ;
$ ( '#send-toaddr' ) . val ( '' ) ;
$ ( '#send-amount' ) . val ( '' ) ;
check _coin _balance _Interval = setInterval ( check _coin _balance , 3000 ) ;
} ) ;
2017-10-19 06:43:14 -07:00
function check _coin _balance ( sig ) {
if ( sig == false ) {
clearInterval ( check _coin _balance _Interval ) ;
2017-10-26 02:56:05 -07:00
console . log ( 'checking coin balance stopped.' )
2017-10-19 06:43:14 -07:00
} else {
console . log ( 'checking coin balance' ) ;
}
$ . each ( coin _pair , function ( index , val ) {
//console.log(index);
//console.log(val);
if ( val == 'BTC' ) {
if ( index == 0 ) {
$ ( '#toggle_pair_one' ) . bootstrapToggle ( 'enable' )
} else {
$ ( '#toggle_pair_two' ) . bootstrapToggle ( 'enable' )
}
} else {
if ( index == 0 ) {
$ ( '#toggle_pair_one' ) . bootstrapToggle ( 'disable' )
} else {
$ ( '#toggle_pair_two' ) . bootstrapToggle ( 'disable' )
}
}
var userpass = sessionStorage . getItem ( 'mm_userpass' ) ;
var ajax _data = { "userpass" : userpass , "method" : "getcoin" , "coin" : val } ;
var url = "http://127.0.0.1:7783" ;
$ . ajax ( {
2017-10-26 02:56:05 -07:00
//async: false,
2017-10-19 06:43:14 -07:00
data : JSON . stringify ( ajax _data ) ,
dataType : 'json' ,
type : 'POST' ,
url : url
} ) . done ( function ( data ) {
// If successful
//console.log(data);
if ( ! data . userpass === false ) {
console . log ( 'first marketmaker api call execution after marketmaker started.' )
sessionStorage . setItem ( 'mm_usercoins' , JSON . stringify ( data . coins ) ) ;
sessionStorage . setItem ( 'mm_userpass' , data . userpass ) ;
sessionStorage . setItem ( 'mm_mypubkey' , data . mypubkey ) ;
}
if ( ! data . error === false && data . error == 'coin is disabled' ) {
2017-10-20 12:05:10 -07:00
console . log ( data . coin ) ;
2017-10-19 06:43:14 -07:00
console . log ( 'coin ' + val + ' is disabled' ) ;
$ ( '.btn-send[data-coin="' + val + '"]' ) . hide ( ) ;
$ ( '.btn-receive[data-coin="' + val + '"]' ) . hide ( ) ;
$ ( '.btn-exchange[data-coin="' + val + '"]' ) . hide ( ) ;
$ ( '.btn-inventory[data-coin="' + val + '"]' ) . hide ( ) ;
$ ( '.btn-enable[data-coin="' + val + '"]' ) . show ( ) ;
$ ( '.btn-disable[data-coin="' + val + '"]' ) . hide ( ) ;
if ( index == 0 ) {
$ ( '.balance.pair-one' ) . html ( 'Coin is disabled.<br>Please enable before trading ' )
$ ( '.balance.pair-one' ) . css ( "font-size" , "35px" ) ;
sessionStorage . setItem ( 'coin_pair_one' , JSON . stringify ( { "coin" : val , "address" : null } ) ) ;
} else {
$ ( '.balance.pair-two' ) . html ( 'Coin is disabled.<br>Please enable before trading ' )
$ ( '.balance.pair-two' ) . css ( "font-size" , "35px" ) ;
sessionStorage . setItem ( 'coin_pair_one' , JSON . stringify ( { "coin" : val , "address" : null } ) ) ;
}
/ * i f ( i n d e x = = 0 ) {
//$('#toggle_pair_one').show();
//$('#toggle_pair_one').bootstrapToggle('initialize');
} else {
//$('#toggle_pair_two').show();
//$('#toggle_pair_two').bootstrapToggle('initialize');
} * /
} else {
//console.log(data);
2017-10-20 12:05:10 -07:00
console . log ( data . coin ) ;
2017-10-19 06:43:14 -07:00
//console.log(data.coin.smartaddress);
//console.log(val);
$ ( '.btn-send[data-coin="' + val + '"]' ) . show ( ) ;
$ ( '.btn-receive[data-coin="' + val + '"]' ) . show ( ) ;
$ ( '.btn-exchange[data-coin="' + val + '"]' ) . show ( ) ;
$ ( '.btn-inventory[data-coin="' + val + '"]' ) . show ( ) ;
$ ( '.btn-enable[data-coin="' + val + '"]' ) . hide ( ) ;
$ ( '.btn-disable[data-coin="' + val + '"]' ) . show ( ) ;
2017-10-20 12:05:10 -07:00
$ ( '.pair-address[data-coin="' + val + '"]' ) . html ( data . coin . smartaddress ) ;
2017-10-19 06:43:14 -07:00
if ( index == 0 ) {
//$('#toggle_pair_one').bootstrapToggle('destroy');
//$('#toggle_pair_one').hide();
sessionStorage . setItem ( 'coin_pair_one' , JSON . stringify ( data . coin ) ) ;
2017-10-26 02:56:05 -07:00
$ ( '.balance.pair-one' ) . css ( "font-size" , "55px" ) ;
$ ( '.balance.pair-one' ) . html ( data . coin . balance ) ;
2017-10-19 06:43:14 -07:00
} else {
//$('#toggle_pair_two').bootstrapToggle('destroy');
//$('#toggle_pair_two').hide();
sessionStorage . setItem ( 'coin_pair_two' , JSON . stringify ( data . coin ) ) ;
2017-10-26 02:56:05 -07:00
$ ( '.balance.pair-two' ) . css ( "font-size" , "55px" ) ;
$ ( '.balance.pair-two' ) . html ( data . coin . balance ) ;
2017-10-19 06:43:14 -07:00
}
2017-10-26 02:56:05 -07:00
//get_balance();
2017-10-19 06:43:14 -07:00
}
//if (data.error == 'coin is disabled') {
//console.log('coin '+ val + ' is disabled');
//}
} ) . fail ( function ( jqXHR , textStatus , errorThrown ) {
// If fail
console . log ( textStatus + ': ' + errorThrown ) ;
} ) ;
} )
}
function get _balance ( ) {
var coin _pair _one = sessionStorage . getItem ( 'coin_pair_one' ) ;
var coin _pair _one = JSON . parse ( coin _pair _one ) ;
var coin _pair _two = sessionStorage . getItem ( 'coin_pair_two' ) ;
var coin _pair _two = JSON . parse ( coin _pair _two ) ;
//console.log(coin_pair_one);
//console.log(coin_pair_two);
$ . each ( [ coin _pair _one , coin _pair _two ] , function ( index , value ) {
//console.log(index);
//console.log(value.coin);
var userpass = sessionStorage . getItem ( 'mm_userpass' ) ;
var ajax _data = { "userpass" : userpass , "method" : "balance" , "coin" : value . coin , "address" : value . smartaddress } ;
var url = "http://127.0.0.1:7783" ;
$ . ajax ( {
2017-10-26 02:56:05 -07:00
// async: false,
2017-10-19 06:43:14 -07:00
data : JSON . stringify ( ajax _data ) ,
dataType : 'json' ,
type : 'POST' ,
url : url
} ) . done ( function ( data ) {
// If successful
//console.log(value.coin);
//console.log(data);
if ( ! data . userpass === false ) {
console . log ( 'first marketmaker api call execution after marketmaker started.' )
sessionStorage . setItem ( 'mm_usercoins' , JSON . stringify ( data . coins ) ) ;
sessionStorage . setItem ( 'mm_userpass' , data . userpass ) ;
sessionStorage . setItem ( 'mm_mypubkey' , data . mypubkey ) ;
}
if ( ! data . error == true ) {
if ( index == 0 ) {
$ ( '.balance.pair-one' ) . css ( "font-size" , "55px" ) ;
$ ( '.balance.pair-one' ) . html ( data . balance ) ;
} else {
$ ( '.balance.pair-two' ) . css ( "font-size" , "55px" ) ;
$ ( '.balance.pair-two' ) . html ( data . balance ) ;
}
}
} ) . fail ( function ( jqXHR , textStatus , errorThrown ) {
// If fail
console . log ( textStatus + ': ' + errorThrown ) ;
} ) ;
} )
}
function get _coin ( data ) {
console . log ( data ) ;
var userpass = sessionStorage . getItem ( 'mm_userpass' ) ;
var ajax _data = { "userpass" : userpass , "method" : "getcoin" , "coin" : data . coin } ;
var url = "http://127.0.0.1:7783" ;
$ . ajax ( {
data : JSON . stringify ( ajax _data ) ,
dataType : 'json' ,
type : 'POST' ,
url : url
} ) . done ( function ( data ) {
// If successful
2017-10-20 12:05:10 -07:00
//console.log(data);
2017-10-19 06:43:14 -07:00
if ( ! data . userpass === false ) {
console . log ( 'first marketmaker api call execution after marketmaker started.' )
sessionStorage . setItem ( 'mm_usercoins' , JSON . stringify ( data . coins ) ) ;
sessionStorage . setItem ( 'mm_userpass' , data . userpass ) ;
sessionStorage . setItem ( 'mm_mypubkey' , data . mypubkey ) ;
}
//toastr.success('Auto goal setup executed!', 'Portfolio Info')
//$('.initcoinswap-output').html(JSON.stringify(data, null, 2));
} ) . fail ( function ( jqXHR , textStatus , errorThrown ) {
// If fail
console . log ( textStatus + ': ' + errorThrown ) ;
} ) ;
}
function enable _disable _coin ( data ) {
console . log ( data ) ;
var electrum _option = data . electrum //If 'false', electrum option selected
var userpass = sessionStorage . getItem ( 'mm_userpass' ) ;
var url = "http://127.0.0.1:7783" ;
if ( electrum _option == false ) {
console . log ( electrum _option ) ;
console . log ( "electrum selected for " + data . coin ) ;
var ajax _data = { "userpass" : userpass , "method" : "electrum" , "coin" : data . coin , "ipaddr" : "46.4.125.2" , "port" : 50001 } ;
} else {
console . log ( electrum _option ) ;
console . log ( "native selected for " + data . coin ) ;
var ajax _data = { "userpass" : userpass , "method" : data . method , "coin" : data . coin } ;
}
/ * i f ( d a t a . c o i n ! = = ' ' ) {
console . log ( 'coin value is not empty' ) ;
} else {
console . log ( 'coin value is empty' ) ;
}
if ( data . coin !== ' ' && data . status == 'enable' ) {
} else if ( data . coin !== ' ' && data . status == 'disable' ) {
var ajax _data = { "userpass" : userpass , "method" : data . status , "coin" : data . coin } ;
} else if ( data . coin == ' ' ) {
var ajax _data = { "userpass" : userpass , "method" : "getcoins" } ;
} * /
console . log ( ajax _data ) ;
$ . ajax ( {
data : JSON . stringify ( ajax _data ) ,
dataType : 'json' ,
type : 'POST' ,
url : url
} ) . done ( function ( data ) {
// If successful
console . log ( data ) ;
if ( ! data . userpass === false ) {
console . log ( 'first marketmaker api call execution after marketmaker started.' )
sessionStorage . setItem ( 'mm_usercoins' , JSON . stringify ( data . coins ) ) ;
sessionStorage . setItem ( 'mm_userpass' , data . userpass ) ;
sessionStorage . setItem ( 'mm_mypubkey' , data . mypubkey ) ;
if ( ajax _data . status === 'enable' ) {
toastr . success ( ajax _data . coin + ' Enabled' , 'Coin Status' ) ;
}
if ( ajax _data . status === 'disable' ) {
toastr . success ( ajax _data . coin + ' Disabled' , 'Coin Status' ) ;
}
//get_coins_list(data.coins);
} else {
//get_coins_list(data);
if ( electrum _option == false ) {
//get_coins_list('');
//$('.refresh_dex_balances').trigger('click');
} else {
//get_coins_list(data);
}
}
2017-10-20 12:05:10 -07:00
if ( ! data . error === false ) {
//console.log(data.error);
if ( data . error == 'couldnt find coin locally installed' ) { //{error: "couldnt find coin locally installed", coin: "BTC"}
bootbox . alert ( {
title : "Couldn't find " + data . coin + " locally installed" ,
message : ` <p>It seems you don't have ` + data . coin + ` wallet installed on your OS. Please check these following points to make sure you have your wallet setup properly:</p>
< ol >
< li > Make sure your wallet is installed properly . < / l i >
< li > Make sure your wallet is running and synced to network . < / l i >
< li > Make sure your wallet has proper RPC settings configured in it ' s configuration file . < / l i >
< li > If you have all the above covered properly , please logout and then login back and try activating the coin again . < / l i >
< / o l >
< p > If you still having issues activating the your wallet , please get in touch with our support desk . < / p >
< ul >
< li > < a href = "https://support.supernet.org/" target = "_blank" > https : //support.supernet.org</a></li>
< / u l > ` ,
size : 'large'
} ) ;
}
}
2017-10-19 06:43:14 -07:00
} ) . fail ( function ( jqXHR , textStatus , errorThrown ) {
// If fail
console . log ( textStatus + ': ' + errorThrown ) ;
} ) ;
2017-10-20 12:05:10 -07:00
}
2017-10-26 02:56:05 -07:00