",{id:"jRoll3DSquareFace2"});i(this).append(ai).append(ei),i("#jRoll3DSquareFace1").css("animation","threedsqf1 1s linear 0s infinite").css("transform","perspective(200px)").css("transform-origin","50% 50% 0px"),i("#jRoll3DSquareFace2").css("animation","threedsqf2 1s linear 0s infinite").css("transform","perspective(200px)").css("transform-origin","50% "+(r.radius+r.radius/8*2)+"px 0px");var G=i('
'),I=i('
'),Z=i('
'),A=i('
'),si=i('
'),V=i('
'),W=i('
'),Y=i('
'),ri=i('
'),ti=i('
'),di=i('
'),li=i('
'),ni=i('
'),ci=i('
'),oi=i('
'),ui=i('
'),pi=i('
'),hi=i('
');i("#jRoll3DSquareFace1").append(G).append(I).append(Z).append(A).append(si).append(V).append(W).append(Y).append(ri),i("#jRoll3DSquareFace2").append(ti).append(di).append(li).append(ni).append(ci).append(oi).append(ui).append(pi).append(hi);break;case"stackedsquares":i(this).css("width",2*r.radius+"px").css("height",2*r.radius+"px").css("overflow","hidden");var gi="animation: stackedsquare 1.5s linear 0s infinite;transform: perspective(500px)rotateX(90deg)rotateZ(-45deg)translateZ(0px);position:absolute;opacity:0;left:25%;",fi="animation: stackedsquare 1.5s linear 0.5s infinite;transform: perspective(500px)rotateX(90deg)rotateZ(-45deg)translateZ(-50px);position:absolute;opacity:0;left:25%;",xi="animation: stackedsquare 1.5s linear 1s infinite;transform: perspective(500px)rotateX(90deg)rotateZ(-45deg)translateZ(-100px);position:absolute;opacity:0;left:25%;",vi=i('
'),yi=i('
'),mi=i('
');i(this).append(vi).append(yi).append(mi);break;case"waterdrop":i(this).css("width",2*r.radius+"px").css("height",2*r.radius+"px").css("overflow","hidden");var wi="animation: waterdropdrop 1.5s linear 0s infinite;",ki="transform:perspective(500px)rotateX(50deg)scale(1,1);animation: waterdropwave 3s linear 0s infinite;",bi="transform:perspective(500px)rotateX(50deg)scale(1,1);animation: waterdropwaveIn 3s linear 0s infinite;",qi="transform:perspective(500px)rotateX(50deg)scale(1,1);opacity:0;animation: waterdropwave 3s linear 1.5s infinite;",Ri="transform:perspective(500px)rotateX(50deg)scale(1,1);opacity:0;animation: waterdropwaveIn 3s linear 1.5s infinite;",Di=i('
'),u=i('
'),ji=i('
'),Bi=i('
'),Fi=i('
');i(this).append(Di).append(u).append(ji).append(Bi).append(Fi);break;case"eq":i(this).css("width",2*r.radius+"px").css("height",2*r.radius+"px").css("overflow","hidden");var zi="animation: eq 2s linear -1s infinite;margin-left:calc(50% - "+r.radius/12*2.5+"px);top:calc(50% - "+r.radius/4+"px );",Gi="animation: eq 2s linear 0s infinite;margin-left:calc(50% - "+r.radius/12*1.25+"px);top:calc(50% - "+r.radius/4+"px );",Ii="animation: eq 2s linear -0.8s infinite;margin-left:50%;top:calc(50% - "+r.radius/4+"px );",Zi="animation: eq 2s linear -1.2s infinite;margin-left:calc(50% + "+r.radius/12*1.25+"px);top:calc(50% - "+r.radius/4+"px );",Ai="animation: eq 2s linear -0.4s infinite;margin-left:calc(50% + "+r.radius/12*2.5+"px);top:calc(50% - "+r.radius/4+"px );",Oi=i('
'),Xi=i('
'),Si=i('
'),Ci=i('
'),Hi=i('
');i(this).append(Oi).append(Xi).append(Si).append(Ci).append(Hi)}}}(jQuery);
\ No newline at end of file
diff --git a/assets/mainWindow/js/loading.js b/assets/mainWindow/js/loading.js
new file mode 100644
index 0000000..445e078
--- /dev/null
+++ b/assets/mainWindow/js/loading.js
@@ -0,0 +1,215 @@
+ function closeMainWindow() {
+ const remote = require('electron').remote;
+ const window = remote.getCurrentWindow();
+
+ window.createWindow('open');
+ window.hide();
+ }
+
+ function normalStart() {
+ const remote = require('electron').remote;
+ let appConf = remote.getCurrentWindow().appConfig;
+ appConf.iguanaLessMode = false;
+
+ // run iguana-less mode with no daemons startup
+ if (appConf && appConf.iguanaLessMode) {
+ // do something
+ } else { // run normal mode with 2 iguana instances started prior loading GUI
+ if (appConf && !appConf.manualIguanaStart) {
+ StartIguana();
+ }
+
+ var portcheck;
+
+ function startcheck() {
+ portcheck = setInterval(function() {
+ Iguana_activehandle(appConf).then(function(result){
+ console.log(result);
+
+ if (result !== 'error') {
+ stopcheck();
+
+ if (appConf && appConf.useBasiliskInstance) {
+ StartIguana_Cache();
+ }
+
+ $('#loading_status_text').text('Connecting to Basilisk Network...');
+ EDEX_DEXgetinfoAll(appConf.skipBasiliskNetworkCheck, appConf.minNotaries, appConf);
+ }
+ })
+ }, 2000);
+ }
+
+ function stopcheck() {
+ clearInterval(portcheck);
+ }
+
+ startcheck();
+ }
+ }
+
+function IguanaAJAX(url, ajax_data, timeout) {
+ return $.ajax({
+ data: JSON.stringify(ajax_data),
+ url: url,
+ type: 'POST',
+ dataType: 'json',
+ timeout: timeout ? timeout : 120000
+ //beforeSend: showLoadingImgFn
+ })
+ .fail(function(xhr, textStatus, error) {
+ // handle request failures
+ });
+}
+
+function Iguana_activehandle(appConf) {
+ return new Promise((resolve) => {
+ var ajax_data = {
+ 'agent': 'SuperNET',
+ 'method': 'activehandle'
+ },
+ AjaxOutputData = IguanaAJAX('http://127.0.0.1:' + appConf.iguanaCorePort, ajax_data).done(function(data) {
+ //$('#loading_status_text').text('Retrieving active handle...');
+ //console.log(AjaxOutputData.responseText);
+ AjaxOutputData = JSON.parse(AjaxOutputData.responseText)
+ //console.log(AjaxOutputData);
+ resolve(AjaxOutputData);
+ })
+ .fail(function(xhr, textStatus, error) {
+ // $('#loading_status_text').text('Retrieving active handle error!');
+ // handle request failures
+ console.log(xhr.statusText);
+ if ( xhr.readyState == 0 ) {
+ }
+ console.log(textStatus);
+ console.log(error);
+ });
+ });
+}
+//Iguana_activehandle().then(function(result){
+ //console.log(result)
+//})
+
+function StartIguana() {
+ var ajax_data = { 'herd': 'iguana'};
+
+ console.log(ajax_data);
+ $('#agamaModeStatus').text('Starting main iguana instance...');
+
+ $.ajax({
+ type: 'POST',
+ data: JSON.stringify(ajax_data),
+ url: 'http://127.0.0.1:17777/shepherd/herd',
+ dataType: 'xml/html/script/json', // expected format for response
+ contentType: 'application/json', // send as JSON
+ success: function(data, textStatus, jqXHR) {
+ var AjaxOutputData = JSON.parse(data);
+ console.log('== ActiveHandle Data OutPut ==');
+ console.log(AjaxOutputData);
+ },
+ error: function(xhr, textStatus, error) {
+ console.log(xhr.statusText);
+ if ( xhr.readyState == 0 ) {
+ }
+ console.log(textStatus);
+ console.log(error);
+ }
+ });
+}
+
+function StartIguana_Cache() {
+ $('#agamaModeStatus').text('Starting basilisk iguana instance...');
+
+ var ajax_data = {
+ 'mode': 'basilisk',
+ 'coin': 'all'
+ };
+ var start_iguana_cache= $.ajax({
+ type: 'POST',
+ data: JSON.stringify(ajax_data),
+ url: 'http://127.0.0.1:17777/shepherd/forks',
+ contentType: 'application/json', // send as JSON
+ })
+ start_iguana_cache.done(function(data) {
+ _data = JSON.parse(data);
+ console.log(_data.result);
+ sessionStorage.setItem('IguanaCachePort', _data.result);
+ });
+}
+
+function EDEX_DEXgetinfoAll(skip, minNotaries, appConf) {
+ const remote = require('electron').remote;
+ var window = remote.getCurrentWindow();
+
+ if (!skip) {
+ var tmpIguanaRPCAuth = 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),
+ ajax_data = {
+ 'userpass': tmpIguanaRPCAuth,
+ 'agent': 'dpow',
+ 'method': 'notarychains'
+ },
+ tmp_index = 0,
+ tmp_index_failed = 0,
+ get_dex_notarychains = IguanaAJAX('http://127.0.0.1:' + appConf.iguanaCorePort, ajax_data, 10000).done(function(data) {
+ get_dex_notarychains = JSON.parse(get_dex_notarychains.responseText);
+ if (minNotaries > get_dex_notarychains.length) { // if config value exceeds total num of notaries
+ minNotaries = get_dex_notarychains.length;
+ }
+ get_dex_notarychains = get_dex_notarychains.splice(0, minNotaries);
+
+ $.each(get_dex_notarychains, function( coin_index, coin_value ) {
+ console.log(coin_index + ': ' + coin_value);
+ var tmpIguanaRPCAuth = 'tmpIgRPCUser@' + sessionStorage.getItem('IguanaRPCAuth'),
+ ajax_data = {
+ 'userpass': tmpIguanaRPCAuth,
+ 'agent': 'dex',
+ 'method': 'getinfo',
+ 'symbol': coin_value
+ };
+
+ console.log(ajax_data);
+
+ if (coin_value !== 'MESH' || coin_value !== 'CEAL') {
+ var getinfo_each_chain = IguanaAJAX('http://127.0.0.1:' + appConf.iguanaCorePort, ajax_data, 10000).done(function(data) {
+ getinfo_each_chain = JSON.parse(getinfo_each_chain.responseText);
+ console.log(getinfo_each_chain);
+
+ tmp_index++;
+ $('#loading_sub_status_text').text('Connection status... ' + tmp_index + '/' + get_dex_notarychains.length + ': ' + coin_value);
+
+ if (getinfo_each_chain.error === 'less than required responses') {
+ $('#loading_sub_status_output_text').text('Output: ' + getinfo_each_chain.error);
+ } else {
+ $('#loading_sub_status_output_text').text('Output: Connected');
+ }
+
+ if ( tmp_index + tmp_index_failed === minNotaries ) {
+ console.log('min notaries connected');
+ window.createWindow('open');
+ window.hide();
+ }
+ })
+ .fail(function(xhr, textStatus, error) {
+ tmp_index_failed++;
+
+ if ( tmp_index + tmp_index_failed === minNotaries ) {
+ console.log('min notaries connected');
+ window.createWindow('open');
+ window.hide();
+ }
+
+ // handle request failures
+ console.log(xhr.statusText);
+ if ( xhr.readyState == 0 ) {
+ }
+ console.log(textStatus);
+ console.log(error);
+ });
+ }
+ });
+ });
+ } else {
+ window.createWindow('open');
+ window.hide();
+ }
+}
\ No newline at end of file
diff --git a/assets/mainWindow/js/module-hack.js b/assets/mainWindow/js/module-hack.js
new file mode 100644
index 0000000..5bf264e
--- /dev/null
+++ b/assets/mainWindow/js/module-hack.js
@@ -0,0 +1,4 @@
+if (typeof module === 'object') {
+ window.module = module;
+ module = undefined;
+}
\ No newline at end of file