diff --git a/build/asset-manifest.json b/build/asset-manifest.json index 1c6712a..7718c45 100644 --- a/build/asset-manifest.json +++ b/build/asset-manifest.json @@ -1,10 +1,10 @@ { "files": { "main.css": "/static/css/main.ad461900.chunk.css", - "main.js": "/static/js/main.c6673507.chunk.js", - "main.js.map": "/static/js/main.c6673507.chunk.js.map", - "runtime-main.js": "/static/js/runtime-main.b53b0c85.js", - "runtime-main.js.map": "/static/js/runtime-main.b53b0c85.js.map", + "main.js": "/static/js/main.bf3d6f98.chunk.js", + "main.js.map": "/static/js/main.bf3d6f98.chunk.js.map", + "runtime-main.js": "/static/js/runtime-main.340d8cc3.js", + "runtime-main.js.map": "/static/js/runtime-main.340d8cc3.js.map", "static/js/2.1c842691.chunk.js": "/static/js/2.1c842691.chunk.js", "static/js/2.1c842691.chunk.js.map": "/static/js/2.1c842691.chunk.js.map", "static/js/3.29b69b23.chunk.js": "/static/js/3.29b69b23.chunk.js", @@ -20,8 +20,8 @@ "static/js/7.7c1ce85f.chunk.js.map": "/static/js/7.7c1ce85f.chunk.js.map", "static/js/8.f8501127.chunk.js": "/static/js/8.f8501127.chunk.js", "static/js/8.f8501127.chunk.js.map": "/static/js/8.f8501127.chunk.js.map", - "static/js/9.a3dafb56.chunk.js": "/static/js/9.a3dafb56.chunk.js", - "static/js/9.a3dafb56.chunk.js.map": "/static/js/9.a3dafb56.chunk.js.map", + "static/js/9.fee51265.chunk.js": "/static/js/9.fee51265.chunk.js", + "static/js/9.fee51265.chunk.js.map": "/static/js/9.fee51265.chunk.js.map", "static/js/10.e9305b03.chunk.js": "/static/js/10.e9305b03.chunk.js", "static/js/10.e9305b03.chunk.js.map": "/static/js/10.e9305b03.chunk.js.map", "static/js/11.ca9aea22.chunk.js": "/static/js/11.ca9aea22.chunk.js", @@ -35,7 +35,7 @@ "static/js/15.de2019c0.chunk.js": "/static/js/15.de2019c0.chunk.js", "static/js/15.de2019c0.chunk.js.map": "/static/js/15.de2019c0.chunk.js.map", "index.html": "/index.html", - "precache-manifest.8902d145a51afa0711a82b331c1aea92.js": "/precache-manifest.8902d145a51afa0711a82b331c1aea92.js", + "precache-manifest.974957a48632552897d9ec9d4b69abcb.js": "/precache-manifest.974957a48632552897d9ec9d4b69abcb.js", "service-worker.js": "/service-worker.js", "static/css/4.af3c1da9.chunk.css.map": "/static/css/4.af3c1da9.chunk.css.map", "static/css/main.ad461900.chunk.css.map": "/static/css/main.ad461900.chunk.css.map", @@ -53,10 +53,10 @@ "static/media/settings_white.png": "/static/media/settings_white.d92ac4c1.png" }, "entrypoints": [ - "static/js/runtime-main.b53b0c85.js", + "static/js/runtime-main.340d8cc3.js", "static/css/4.af3c1da9.chunk.css", "static/js/4.f30740ae.chunk.js", "static/css/main.ad461900.chunk.css", - "static/js/main.c6673507.chunk.js" + "static/js/main.bf3d6f98.chunk.js" ] } \ No newline at end of file diff --git a/build/index.html b/build/index.html index cefec0f..9eac31d 100644 --- a/build/index.html +++ b/build/index.html @@ -1 +1 @@ -Elabox
\ No newline at end of file +Elabox
\ No newline at end of file diff --git a/build/precache-manifest.8902d145a51afa0711a82b331c1aea92.js b/build/precache-manifest.974957a48632552897d9ec9d4b69abcb.js similarity index 89% rename from build/precache-manifest.8902d145a51afa0711a82b331c1aea92.js rename to build/precache-manifest.974957a48632552897d9ec9d4b69abcb.js index e96111b..86537b6 100644 --- a/build/precache-manifest.8902d145a51afa0711a82b331c1aea92.js +++ b/build/precache-manifest.974957a48632552897d9ec9d4b69abcb.js @@ -1,6 +1,6 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ { - "revision": "4e27cd2eacc6e2339b24cc46c1d681e4", + "revision": "eca28805a54efe8e51b91fab4aa5c129", "url": "/index.html" }, { @@ -8,7 +8,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/css/4.af3c1da9.chunk.css" }, { - "revision": "affb572469b6a8e9ed39", + "revision": "5c4d9efe801a51cda9f8", "url": "/static/css/main.ad461900.chunk.css" }, { @@ -92,16 +92,16 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/8.f8501127.chunk.js.LICENSE.txt" }, { - "revision": "fea567231f663015609f", - "url": "/static/js/9.a3dafb56.chunk.js" + "revision": "da2d935ff6742344292f", + "url": "/static/js/9.fee51265.chunk.js" }, { - "revision": "affb572469b6a8e9ed39", - "url": "/static/js/main.c6673507.chunk.js" + "revision": "5c4d9efe801a51cda9f8", + "url": "/static/js/main.bf3d6f98.chunk.js" }, { - "revision": "b44574c322b45662a1d0", - "url": "/static/js/runtime-main.b53b0c85.js" + "revision": "a2518b4bde6c9bf54520", + "url": "/static/js/runtime-main.340d8cc3.js" }, { "revision": "fcb87bbdf1be47ab566b6b7b74e62cbc", diff --git a/build/service-worker.js b/build/service-worker.js index d8fabe1..295ab1d 100644 --- a/build/service-worker.js +++ b/build/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/precache-manifest.8902d145a51afa0711a82b331c1aea92.js" + "/precache-manifest.974957a48632552897d9ec9d4b69abcb.js" ); self.addEventListener('message', (event) => { diff --git a/build/static/js/9.a3dafb56.chunk.js b/build/static/js/9.a3dafb56.chunk.js deleted file mode 100644 index 567940d..0000000 --- a/build/static/js/9.a3dafb56.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpcompanion=this.webpackJsonpcompanion||[]).push([[9],{106:function(e,t,a){"use strict";var n=a(2),r=a(7),o=a(0),l=a.n(o),c=a(10),s=a.n(c),i=a(68),u=a.n(i),d=a(69),m={tag:d.n,inverse:s.a.bool,color:s.a.string,body:s.a.bool,outline:s.a.bool,className:s.a.string,cssModule:s.a.object,innerRef:s.a.oneOfType([s.a.object,s.a.string,s.a.func])},f=function(e){var t=e.className,a=e.cssModule,o=e.color,c=e.body,s=e.inverse,i=e.outline,m=e.tag,f=e.innerRef,p=Object(r.a)(e,["className","cssModule","color","body","inverse","outline","tag","innerRef"]),E=Object(d.j)(u()(t,"card",!!s&&"text-white",!!c&&"card-body",!!o&&(i?"border":"bg")+"-"+o),a);return l.a.createElement(m,Object(n.a)({},p,{className:E,ref:f}))};f.propTypes=m,f.defaultProps={tag:"div"},t.a=f},107:function(e,t,a){"use strict";var n=a(2),r=a(7),o=a(0),l=a.n(o),c=a(10),s=a.n(c),i=a(68),u=a.n(i),d=a(69),m={tag:d.n,className:s.a.string,cssModule:s.a.object,innerRef:s.a.oneOfType([s.a.object,s.a.string,s.a.func])},f=function(e){var t=e.className,a=e.cssModule,o=e.innerRef,c=e.tag,s=Object(r.a)(e,["className","cssModule","innerRef","tag"]),i=Object(d.j)(u()(t,"card-body"),a);return l.a.createElement(c,Object(n.a)({},s,{className:i,ref:o}))};f.propTypes=m,f.defaultProps={tag:"div"},t.a=f},108:function(e,t,a){"use strict";var n=a(2),r=a(7),o=a(0),l=a.n(o),c=a(10),s=a.n(c),i=a(68),u=a.n(i),d=a(69),m=s.a.oneOfType([s.a.number,s.a.string]),f={tag:d.n,noGutters:s.a.bool,className:s.a.string,cssModule:s.a.object,form:s.a.bool,xs:m,sm:m,md:m,lg:m,xl:m},p={tag:"div",widths:["xs","sm","md","lg","xl"]},E=function(e){var t=e.className,a=e.cssModule,o=e.noGutters,c=e.tag,s=e.form,i=e.widths,m=Object(r.a)(e,["className","cssModule","noGutters","tag","form","widths"]),f=[];i.forEach((function(t,a){var n=e[t];if(delete m[t],n){var r=!a;f.push(r?"row-cols-"+n:"row-cols-"+t+"-"+n)}}));var p=Object(d.j)(u()(t,o?"no-gutters":null,s?"form-row":"row",f),a);return l.a.createElement(c,Object(n.a)({},m,{className:p}))};E.propTypes=f,E.defaultProps=p,t.a=E},109:function(e,t,a){"use strict";var n=a(2),r=a(7),o=a(0),l=a.n(o),c=a(10),s=a.n(c),i=a(68),u=a.n(i),d=a(69),m=s.a.oneOfType([s.a.number,s.a.string]),f=s.a.oneOfType([s.a.bool,s.a.number,s.a.string,s.a.shape({size:s.a.oneOfType([s.a.bool,s.a.number,s.a.string]),order:m,offset:m})]),p={tag:d.n,xs:f,sm:f,md:f,lg:f,xl:f,className:s.a.string,cssModule:s.a.object,widths:s.a.array},E={tag:"div",widths:["xs","sm","md","lg","xl"]},h=function(e,t,a){return!0===a||""===a?e?"col":"col-"+t:"auto"===a?e?"col-auto":"col-"+t+"-auto":e?"col-"+a:"col-"+t+"-"+a},b=function(e){var t=e.className,a=e.cssModule,o=e.widths,c=e.tag,s=Object(r.a)(e,["className","cssModule","widths","tag"]),i=[];o.forEach((function(t,n){var r=e[t];if(delete s[t],r||""===r){var o=!n;if(Object(d.h)(r)){var l,c=o?"-":"-"+t+"-",m=h(o,t,r.size);i.push(Object(d.j)(u()(((l={})[m]=r.size||""===r.size,l["order"+c+r.order]=r.order||0===r.order,l["offset"+c+r.offset]=r.offset||0===r.offset,l)),a))}else{var f=h(o,t,r);i.push(f)}}})),i.length||i.push("col");var m=Object(d.j)(u()(t,i),a);return l.a.createElement(c,Object(n.a)({},s,{className:m}))};b.propTypes=p,b.defaultProps=E,t.a=b},110:function(e,t,a){"use strict";var n=a(21),r=a(9),o=a(17),l=a(19),c=a(18),s=a(0),i=a.n(s),u=a(68),d=a.n(u),m=a(81),f=a(106),p=a(107),E=a(108),h=a(109),b=a(103),y=a(10),g=a.n(y),w=(g.a.node,g.a.string,g.a.object,g.a.func,function(e){Object(l.a)(a,e);var t=Object(c.a)(a);function a(){return Object(r.a)(this,a),t.apply(this,arguments)}return Object(o.a)(a,[{key:"render",value:function(){var e=this.props,t=(e.children,e.className),a=e.cssModule,r=e.dataBox,o=(Object(n.a)(e,["children","className","cssModule","dataBox"]),r()),l=o.variant;o.title;if(!l||["facebook","twitter","linkedin","google-plus"].indexOf(l)<0)return null;var c="bg-"+l,s=(Object.keys(o),Object.values(o));d()("".concat("brand-card","-header"),c),d()("".concat("brand-card","-body")),Object(m.mapToCssModules)(d()("brand-card",t),a);return i.a.createElement(f.a,{style:{backgroundColor:"#272A3D",color:"white"}},i.a.createElement(p.a,null,i.a.createElement(E.a,{style:{height:"70px"}},i.a.createElement(h.a,{style:{display:"flex",justifyContent:"center"}},o.title)),""!=s[3]?i.a.createElement(E.a,null,i.a.createElement(h.a,{xs:"6",style:{justifyContent:"center",display:"flex"}},i.a.createElement(b.a,{onClick:this.props.onGreenPress,color:"success"},s[2])),i.a.createElement(h.a,{xs:"6",style:{justifyContent:"center",display:"flex"}},i.a.createElement(b.a,{onClick:this.props.onRedPress,color:"danger"},s[3]))):i.a.createElement(E.a,null,i.a.createElement(h.a,{xs:"12",style:{justifyContent:"center",display:"flex"}},i.a.createElement(b.a,{onClick:this.props.onGreenPress,color:"success"},s[2])))))}}]),a}(s.Component));w.defaultProps={dataBox:function(){return{variant:"facebook",friends:"-",feeds:"-"}}},t.a=w},152:function(e,t,a){"use strict";var n=a(2),r=a(7),o=a(0),l=a.n(o),c=a(10),s=a.n(c),i=a(68),u=a.n(i),d=a(69),m={tag:d.n,className:s.a.string,cssModule:s.a.object},f=function(e){var t=e.className,a=e.cssModule,o=e.tag,c=Object(r.a)(e,["className","cssModule","tag"]),s=Object(d.j)(u()(t,"card-header"),a);return l.a.createElement(o,Object(n.a)({},c,{className:s}))};f.propTypes=m,f.defaultProps={tag:"div"},t.a=f},324:function(e,t,a){"use strict";a.r(t);var n=a(87),r=a(8),o=a.n(r),l=a(105),c=a(12),s=a(9),i=a(17),u=a(19),d=a(18),m=a(0),f=a.n(m),p=a(332),E=a(318),h=a(319),b=a(138),y=a(320),g=a(103),w=a(108),v=a(109),M=a(106),R=a(152),k=a(107),O=a(110),x=a(35),C=a(20),j=function(e){Object(u.a)(a,e);var t=Object(d.a)(a);function a(e){var r;return Object(s.a)(this,a),(r=t.call(this,e)).handleChange=function(){var e=Object(c.a)(o.a.mark((function e(t){var a,n,c;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.target,n="checkbox"===a.type?a.checked:a.value,c=a.name,e.next=5,r.setState(Object(l.a)({},c,n));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.restartMainchain=function(){r.setState({mainchainRestartModal:!1}),C.a.restartMainChain(r.state.pwd).then((function(e){console.log(e),"ok"==e.ok?r.setState({sentmodal:!0}):r.setState({errormodal:!0})})).catch((function(e){console.error(e)}))},r.restartDid=function(){r.setState({mainchainRestartModal:!1}),C.a.restartDid().then((function(e){console.log(e),"ok"==e.ok?r.setState({sentmodal:!0}):r.setState({errormodal:!0})})).catch((function(e){console.error(e)}))},r.restartCarrier=function(){r.setState({mainchainRestartModal:!1}),C.a.restartCarrier().then((function(e){console.log(e),"ok"==e.ok?r.setState({sentmodal:!0}):r.setState({errormodal:!0})})).catch((function(e){console.error(e)}))},r.showRestartMain=function(){r.setState({mainchainRestartModal:!0})},r.closeRestartMain=function(){r.setState({mainchainRestartModal:!1})},r.showResyncMain=function(){r.setState({mainchainResyncModal:!0})},r.closeResyncMain=function(){r.setState({mainchainResyncModal:!1})},r.showRestartDid=function(){r.setState({didRestartModal:!0})},r.closeRestartDid=function(){r.setState({didRestartModal:!1})},r.showResyncDid=function(){r.setState({didResyncModal:!0})},r.closeResyncDid=function(){r.setState({didResyncModal:!1})},r.showRestartCarrier=function(){r.setState({carrierRestartModal:!0})},r.closeRestartCarrier=function(){r.setState({carrierRestartModal:!1})},r.checkUpdate=Object(c.a)(o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,x.a.checkUpdate();case 3:t=e.sent,r.setState({checkUpdateModal:!0,update:t.available}),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(0),console.error(e.t0),r.setState({networkErrorModal:!0});case 11:case"end":return e.stop()}}),e,null,[[0,7]])}))),r.closeCheckUpdateModal=function(){r.setState({checkUpdateModal:!1})},r.closeNetworkErrorModal=function(){r.setState({networkErrorModal:!1})},r.openUpdateNowModal=function(){r.setState({updateNowModal:!0})},r.closeUpdateNowModal=function(){r.setState({updateNowModal:!1})},r.openErrorUpdateModal=function(){r.setState({errorUpdateModal:!0})},r.closeErrorUpdateModal=function(){r.setState({errorUpdateModal:!1})},r.updateNow=Object(c.a)(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,x.a.updateNow();case 3:e.sent,setTimeout((function(){window.open("http://".concat(window.location.hostname))}),5e3),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),r.openErrorUpdateModal();case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),r.getVersion=function(){x.a.getVersion().then((function(e){r.setState(Object(n.a)({},e.data),(function(){console.log("state",r.state)}))}))},r.getOnion=function(){C.a.getOnion().then((function(e){r.setState({onion:e.data.onion})}))},r.regenerateOnion=function(){C.a.regenerateOnion().then((function(e){r.setState({onion:e.data.onion})}))},r.toggleOnion=function(){r.setState({showOnion:!r.state.showOnion}),console.log("toggleOnion")},r.state={pwd:"",mainchainRestartModal:!1,mainchainResyncModal:!1,didRestartModal:!1,didResyncModal:!1,carrierRestartModal:!1,update:!1,checkUpdateModal:!1,networkErrorModal:!1,updateNowModal:!1,errorUpdateModal:!1,version:"",onion:"",showOnion:!1},r}return Object(i.a)(a,[{key:"componentWillMount",value:function(){this.getVersion(),this.getOnion()}},{key:"render",value:function(){var e=this,t=this.props.isMobile,a=this.state,r=a.update,o=a.checkUpdateModal,l=a.networkErrorModal,c=a.updateNowModal,s=a.errorUpdateModal,i=a.onion,u=a.showOnion,d=a.companionVersion,m=a.binariesVersion,x=a.masterVersion;return console.log("render",u),f.a.createElement("div",{id:"main",style:Object(n.a)(Object(n.a)({},{paddingLeft:"18%",width:"100%",backgroundColor:"#1E1E26"}),t&&{paddingLeft:void 0}),className:"animated fadeIn w3-container"},f.a.createElement(p.a,{isOpen:this.state.mainchainRestartModal},f.a.createElement(E.a,null,"Restart Mainchain"),f.a.createElement(h.a,null,f.a.createElement("center",null,"Enter your wallet password to restart the mainchain",f.a.createElement("br",null),"This process will take a few minutes",f.a.createElement("br",null),f.a.createElement("br",null)),f.a.createElement(b.a,{type:"password",id:"pwd",name:"pwd",placeholder:"Enter ELA wallet password",required:!0,onChange:function(t){return e.handleChange(t)}})),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.restartMainchain},"Restart"),f.a.createElement(g.a,{color:"danger",onClick:this.closeRestartMain},"Cancel"))),f.a.createElement(p.a,{isOpen:this.state.mainchainResyncModal},f.a.createElement(E.a,null,"Resync Mainchain"),f.a.createElement(h.a,null,f.a.createElement("center",null,f.a.createElement("b",null,"PLEASE READ CAREFULY"),f.a.createElement("br",null),"Resycing the whole mainchain will take a few days.",f.a.createElement("br",null),"You should try to restart the node first!",f.a.createElement("br",null),f.a.createElement("br",null),"Enter your wallet password to re-sync the mainchain",f.a.createElement("br",null)),f.a.createElement(b.a,{type:"password",id:"pwd",name:"pwd",placeholder:"Enter ELA wallet password",required:!0,onChange:function(t){return e.handleChange(t)}})),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.resyncMainchain},"Re-sync"),f.a.createElement(g.a,{color:"danger",onClick:this.closeResyncMain},"Cancel"))),f.a.createElement(p.a,{isOpen:o},f.a.createElement(E.a,null,"Update Elabox"),f.a.createElement(h.a,null,r?f.a.createElement("center",null,"A firmware update is available for the Elabox!"):f.a.createElement("center",null,"You are currently using the latest Elabox firmware!")),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.closeCheckUpdateModal},"OK"))),f.a.createElement(p.a,{isOpen:l},f.a.createElement(E.a,null,"Network Error"),f.a.createElement(h.a,null,f.a.createElement("center",null,"There was a Network Error please check your internet connection")),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.closeNetworkErrorModal},"OK"))),f.a.createElement(p.a,{isOpen:s},f.a.createElement(E.a,null,"Network Error"),f.a.createElement(h.a,null,f.a.createElement("center",null,"There was a Network Error please check your internet connection")),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.closeErrorUpdateModal},"OK"))),f.a.createElement(p.a,{isOpen:c},f.a.createElement(E.a,null,"Update Elabox"),f.a.createElement(h.a,null,f.a.createElement("center",null,f.a.createElement("b",null,"PLEASE READ CAREFULY"),f.a.createElement("br",null),"Installing the new updates can take up to 30 minutes",f.a.createElement("br",null),"Do not turn off the Elabox",f.a.createElement("br",null),f.a.createElement("br",null),"Click Update Now to update the Elabox",f.a.createElement("br",null))),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.updateNow},"Update Now"),f.a.createElement(g.a,{color:"danger",onClick:this.closeUpdateNowModal},"Cancel"))),f.a.createElement(p.a,{isOpen:this.state.didRestartModal},f.a.createElement(E.a,null,"Restart DID sidechain"),f.a.createElement(h.a,null,f.a.createElement("center",null,"You are about to restart the DID sidechain",f.a.createElement("br",null),"This process will take a few minutes",f.a.createElement("br",null),f.a.createElement("br",null))),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.restartDid},"Restart"),f.a.createElement(g.a,{color:"danger",onClick:this.closeRestartDid},"Cancel"))),f.a.createElement(p.a,{isOpen:this.state.didResyncModal},f.a.createElement(E.a,null,"Resync DID sidechain"),f.a.createElement(h.a,null,f.a.createElement("center",null,f.a.createElement("b",null,"PLEASE READ CAREFULY"),f.a.createElement("br",null),"Resycing the DID sidechain will take a few days.",f.a.createElement("br",null),"You should try to restart the node first!",f.a.createElement("br",null),f.a.createElement("br",null),"Click Re-sync to re-sync the DID sidechain",f.a.createElement("br",null))),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.resyncDid},"Re-sync"),f.a.createElement(g.a,{color:"danger",onClick:this.closeResyncDid},"Cancel"))),f.a.createElement(p.a,{isOpen:this.state.carrierRestartModal},f.a.createElement(E.a,null,"Restart Carrier"),f.a.createElement(h.a,null,f.a.createElement("center",null,"You are about to restart your Carrier node",f.a.createElement("br",null),"This process will take a few minutes",f.a.createElement("br",null),f.a.createElement("br",null))),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.restartCarrier},"Restart"),f.a.createElement(g.a,{color:"danger",onClick:this.closeRestartCarrier},"Cancel"))),f.a.createElement(w.a,null,f.a.createElement(v.a,null,f.a.createElement(M.a,{style:{backgroundColor:"#272A3D",color:"white",fontSize:"16px",marginBottom:"20px"}},f.a.createElement(R.a,null,"Control your Elabox")))),f.a.createElement(w.a,null,f.a.createElement(v.a,{xs:"12",sm:"6",lg:"4"},f.a.createElement(O.a,{dataBox:function(){return{title:"MainChain",variant:"facebook",Restart:"Restart",Resync:"Re-sync"}},onGreenPress:this.showRestartMain,onRedPress:this.showResyncMain})),f.a.createElement(v.a,{xs:"12",sm:"6",lg:"4"},f.a.createElement(O.a,{dataBox:function(){return{title:"DID",variant:"facebook",Restart:"Restart",Resync:"Re-sync"}},onGreenPress:this.showRestartDid,onRedPress:this.showResyncDid})),f.a.createElement(v.a,{xs:"12",sm:"6",lg:"4"},f.a.createElement(O.a,{dataBox:function(){return{title:"Carrier",variant:"facebook",Restart:"Relaunch",Resync:""}},onGreenPress:this.showRestartCarrier}))),f.a.createElement(w.a,null,f.a.createElement(v.a,null,f.a.createElement(M.a,{style:{backgroundColor:"#272A3D",color:"white",fontSize:"16px",marginTop:"40px"}},f.a.createElement(R.a,null,"Backup your wallet file"),f.a.createElement(k.a,null,"You can download your wallet file at any time.",f.a.createElement("br",null),"The ",f.a.createElement("b",null,"keystore.dat")," wallet file is the only way to recover your fund in case of problems.",f.a.createElement("br",null),"For better security keep your ",f.a.createElement("b",null,"keystore.dat")," file on a USB stick not connected to a computer",f.a.createElement("br",null))))),f.a.createElement(w.a,{style:{marginTop:"20px"}},f.a.createElement(v.a,{xs:"12",sm:"6",lg:"4"},f.a.createElement(O.a,{dataBox:function(){return{title:"Backup wallet file",variant:"facebook",Restart:"Download",Resync:""}}}))),f.a.createElement(w.a,null,f.a.createElement(v.a,null,f.a.createElement(M.a,{style:{backgroundColor:"#272A3D",color:"white",fontSize:"16px",marginTop:"40px"}},f.a.createElement(R.a,null,"Check for updates"),f.a.createElement(k.a,null,"You are currently running: ",f.a.createElement("br",null),f.a.createElement("ul",{style:{listStyleType:"none"}},f.a.createElement("li",null,"Elabox ",f.a.createElement("b",null,"v ",x)),f.a.createElement("li",null,"Elabox App ",f.a.createElement("b",null,"v ",d)),f.a.createElement("li",null,"Elastos Node ",f.a.createElement("b",null,"v ",m))))))),f.a.createElement(w.a,{style:{marginTop:"20px"}},f.a.createElement(v.a,{xs:"12",sm:"6",lg:"4"},f.a.createElement(O.a,{dataBox:function(){return{title:"Check for updates",variant:"facebook",Restart:"Check",Resync:r?"Update Now":""}},onGreenPress:this.checkUpdate,onRedPress:this.openUpdateNowModal}))),f.a.createElement(w.a,null,f.a.createElement(v.a,null,f.a.createElement(M.a,{style:{backgroundColor:"#272A3D",color:"white",fontSize:"16px",marginTop:"40px"}},f.a.createElement(R.a,null,"Your onion address"),f.a.createElement(k.a,null,"You can access your Elabox from the outside using TOR browser.",f.a.createElement("br",null),f.a.createElement("b",null,"Never share your onion address with anyone."),f.a.createElement("br",null),f.a.createElement("br",null),u&&i)))),f.a.createElement(w.a,{style:{marginTop:"20px"}},f.a.createElement(v.a,{xs:"12",sm:"6",lg:"4"},f.a.createElement(O.a,{dataBox:function(){return{title:"Onion Address",variant:"facebook",Restart:u?"Hide":"Show",Resync:"Regenerate"}},onGreenPress:this.toggleOnion,onRedPress:this.regenerateOnion}))))}}]),a}(m.Component);t.default=j},81:function(e,t,a){"use strict";var n=a(92);t.__esModule=!0,t.getScrollbarWidth=l,t.setScrollbarWidth=c,t.isBodyOverflowing=s,t.getOriginalBodyPadding=function(){var e=window.getComputedStyle(document.body,null);return parseInt(e&&e.getPropertyValue("padding-right")||0,10)},t.conditionallyUpdateScrollbar=function(){var e=l(),t=document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")[0],a=t?parseInt(t.style.paddingRight||0,10):0;s()&&c(a+e)},t.setGlobalCssModule=function(e){r=e},t.mapToCssModules=function(e,t){void 0===e&&(e="");void 0===t&&(t=r);return t?e.split(" ").map((function(e){return t[e]||e})).join(" "):e},t.omit=function(e,t){var a={};return Object.keys(e).forEach((function(n){-1===t.indexOf(n)&&(a[n]=e[n])})),a},t.pick=function(e,t){var a,n=Array.isArray(t)?t:[t],r=n.length,o={};for(;r>0;)a=n[r-=1],o[a]=e[a];return o},t.warnOnce=u,t.deprecated=function(e,t){return function(a,n,r){null!==a[n]&&"undefined"!==typeof a[n]&&u('"'+n+'" property of "'+r+'" has been deprecated.\n'+t);for(var o=arguments.length,l=new Array(o>3?o-3:0),c=3;c0?e+"px":null}function s(){return document.body.clientWidth ({ variant: 'facebook', friends: '-', feeds: '-' }),\n};\n\nclass Widget05 extends Component {\n\n // constructor(props){\n // super(props)\n // }\n\n render() {\n\n // eslint-disable-next-line\n const { children, className, cssModule, dataBox, ...attributes } = this.props;\n\n // demo purposes only\n const data = dataBox();\n const variant = data.variant;\n const title = data.title;\n if (!variant || ['facebook', 'twitter', 'linkedin', 'google-plus'].indexOf(variant) < 0) {\n return (null);\n }\n\n const back = 'bg-' + variant;\n const icon = 'fa fa-' + variant;\n const keys = Object.keys(data);\n const vals = Object.values(data);\n\n const classCard = 'brand-card';\n const classCardHeader = classNames(`${classCard}-header`, back);\n const classCardBody = classNames(`${classCard}-body`);\n const classes = mapToCssModules(classNames(classCard, className), cssModule);\n\n return (\n \n \n \n \n {data.title}\n \n \n \n\n {vals[3] != \"\" ?\n \n \n \n \n \n \n \n \n :\n \n \n \n \n \n }\n \n \n\n );\n }\n}\n\nWidget05.defaultProps = defaultProps;\n\nexport default Widget05;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object\n};\nvar defaultProps = {\n tag: 'div'\n};\n\nvar CardHeader = function CardHeader(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, [\"className\", \"cssModule\", \"tag\"]);\n\n var classes = mapToCssModules(classNames(className, 'card-header'), cssModule);\n return React.createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n};\n\nCardHeader.propTypes = propTypes;\nCardHeader.defaultProps = defaultProps;\nexport default CardHeader;","import React, { Component } from \"react\";\nimport {\n Button,\n Modal,\n ModalBody,\n ModalFooter,\n Input,\n ModalHeader,\n Badge,\n Line,\n Card,\n CardBody,\n CardHeader,\n Col,\n Pagination,\n PaginationItem,\n PaginationLink,\n Row,\n Table,\n} from \"reactstrap\";\nimport Widget05 from \"./widgets/Widget05\";\n\nimport master from \"../api/master\";\nimport backend from \"../api/backend\";\n\nclass Settings extends Component {\n constructor(props) {\n super(props);\n this.state = {\n pwd: \"\",\n mainchainRestartModal: false,\n mainchainResyncModal: false,\n didRestartModal: false,\n didResyncModal: false,\n carrierRestartModal: false,\n update: false,\n checkUpdateModal: false,\n networkErrorModal: false,\n updateNowModal: false,\n errorUpdateModal: false,\n version: \"\",\n onion: \"\",\n showOnion: false,\n };\n }\n\n componentWillMount() {\n this.getVersion();\n this.getOnion();\n }\n\n handleChange = async (event) => {\n const { target } = event;\n const value = target.type === \"checkbox\" ? target.checked : target.value;\n const { name } = target;\n await this.setState({\n [name]: value,\n });\n };\n\n restartMainchain = () => {\n // e.preventDefault();\n this.setState({ mainchainRestartModal: false });\n\n backend\n .restartMainChain(this.state.pwd)\n .then((responseJson) => {\n console.log(responseJson);\n if (responseJson.ok == \"ok\") {\n this.setState({ sentmodal: true });\n } else {\n this.setState({ errormodal: true });\n }\n })\n .catch((error) => {\n console.error(error);\n });\n };\n\n restartDid = () => {\n // e.preventDefault();\n this.setState({ mainchainRestartModal: false });\n\n backend\n .restartDid()\n .then((responseJson) => {\n console.log(responseJson);\n if (responseJson.ok == \"ok\") {\n this.setState({ sentmodal: true });\n } else {\n this.setState({ errormodal: true });\n }\n })\n .catch((error) => {\n console.error(error);\n });\n };\n\n restartCarrier = () => {\n // e.preventDefault();\n this.setState({ mainchainRestartModal: false });\n\n backend\n .restartCarrier()\n .then((responseJson) => {\n console.log(responseJson);\n if (responseJson.ok == \"ok\") {\n this.setState({ sentmodal: true });\n } else {\n this.setState({ errormodal: true });\n }\n })\n .catch((error) => {\n console.error(error);\n });\n };\n\n showRestartMain = () => {\n this.setState({ mainchainRestartModal: true });\n };\n closeRestartMain = () => {\n this.setState({ mainchainRestartModal: false });\n };\n showResyncMain = () => {\n this.setState({ mainchainResyncModal: true });\n };\n closeResyncMain = () => {\n this.setState({ mainchainResyncModal: false });\n };\n showRestartDid = () => {\n this.setState({ didRestartModal: true });\n };\n closeRestartDid = () => {\n this.setState({ didRestartModal: false });\n };\n showResyncDid = () => {\n this.setState({ didResyncModal: true });\n };\n closeResyncDid = () => {\n this.setState({ didResyncModal: false });\n };\n showRestartCarrier = () => {\n this.setState({ carrierRestartModal: true });\n };\n closeRestartCarrier = () => {\n this.setState({ carrierRestartModal: false });\n };\n\n // checkUpdate = async () => {\n // const data = await master.checkUpdate();\n // };\n\n checkUpdate = async () => {\n try {\n const data = await master.checkUpdate();\n this.setState({ checkUpdateModal: true, update: data.available });\n } catch (error) {\n console.error(error);\n this.setState({ networkErrorModal: true });\n }\n };\n closeCheckUpdateModal = () => {\n this.setState({\n checkUpdateModal: false,\n });\n };\n\n closeNetworkErrorModal = () => {\n this.setState({\n networkErrorModal: false,\n });\n };\n\n openUpdateNowModal = () => {\n this.setState({\n updateNowModal: true,\n });\n };\n\n closeUpdateNowModal = () => {\n this.setState({\n updateNowModal: false,\n });\n };\n\n openErrorUpdateModal = () => {\n this.setState({\n errorUpdateModal: true,\n });\n };\n\n closeErrorUpdateModal = () => {\n this.setState({\n errorUpdateModal: false,\n });\n };\n\n updateNow = async () => {\n try {\n const data = await master.updateNow();\n setTimeout(() => {\n window.open(`http://${window.location.hostname}`);\n }, 5000);\n } catch (error) {\n this.openErrorUpdateModal();\n }\n };\n\n getVersion = () => {\n master.getVersion().then((response) => {\n this.setState({ ...response.data }, () => {\n console.log(\"state\", this.state);\n });\n });\n };\n\n getOnion = () => {\n backend.getOnion().then((response) => {\n this.setState({ onion: response.data.onion });\n });\n };\n\n regenerateOnion = () => {\n backend.regenerateOnion().then((response) => {\n this.setState({ onion: response.data.onion });\n });\n };\n\n toggleOnion = () => {\n this.setState({ showOnion: !this.state.showOnion });\n console.log(\"toggleOnion\");\n };\n\n render() {\n const { isMobile } = this.props;\n\n const {\n update,\n checkUpdateModal,\n networkErrorModal,\n updateNowModal,\n errorUpdateModal,\n onion,\n showOnion,\n companionVersion,\n binariesVersion,\n masterVersion,\n } = this.state;\n console.log(\"render\", showOnion);\n return (\n \n \n Restart Mainchain\n \n
\n Enter your wallet password to restart the mainchain\n
\n This process will take a few minutes\n
\n
\n
\n this.handleChange(e)}\n />\n
\n \n \n \n \n
\n\n \n Resync Mainchain\n \n
\n PLEASE READ CAREFULY\n
\n Resycing the whole mainchain will take a few days.\n
\n You should try to restart the node first!\n
\n
\n Enter your wallet password to re-sync the mainchain\n
\n
\n this.handleChange(e)}\n />\n
\n \n \n \n \n
\n \n Update Elabox\n \n {update ? (\n
A firmware update is available for the Elabox!
\n ) : (\n
\n You are currently using the latest Elabox firmware!\n
\n )}\n
\n \n \n \n
\n \n Network Error\n \n
\n There was a Network Error please check your internet connection\n
\n
\n \n \n \n
\n \n Network Error\n \n
\n There was a Network Error please check your internet connection\n
\n
\n \n \n \n
\n \n Update Elabox\n \n
\n PLEASE READ CAREFULY\n
\n Installing the new updates can take up to 30 minutes\n
\n Do not turn off the Elabox\n
\n
\n Click Update Now to update the Elabox\n
\n
\n
\n \n \n \n \n
\n\n \n Restart DID sidechain\n \n
\n You are about to restart the DID sidechain\n
\n This process will take a few minutes\n
\n
\n
\n
\n \n \n \n \n
\n\n \n Resync DID sidechain\n \n
\n PLEASE READ CAREFULY\n
\n Resycing the DID sidechain will take a few days.\n
\n You should try to restart the node first!\n
\n
\n Click Re-sync to re-sync the DID sidechain\n
\n
\n
\n \n \n \n \n
\n\n \n Restart Carrier\n \n
\n You are about to restart your Carrier node\n
\n This process will take a few minutes\n
\n
\n
\n
\n \n \n \n \n
\n\n \n \n \n Control your Elabox\n \n \n \n\n \n \n ({\n title: \"MainChain\",\n variant: \"facebook\",\n Restart: \"Restart\",\n Resync: \"Re-sync\",\n })}\n onGreenPress={this.showRestartMain}\n onRedPress={this.showResyncMain}\n >\n \n\n \n ({\n title: \"DID\",\n variant: \"facebook\",\n Restart: \"Restart\",\n Resync: \"Re-sync\",\n })}\n onGreenPress={this.showRestartDid}\n onRedPress={this.showResyncDid}\n >\n \n\n \n ({\n title: \"Carrier\",\n variant: \"facebook\",\n Restart: \"Relaunch\",\n Resync: \"\",\n })}\n onGreenPress={this.showRestartCarrier}\n >\n \n \n\n \n \n \n Backup your wallet file\n \n You can download your wallet file at any time.\n
\n The keystore.dat wallet file is the only way to recover\n your fund in case of problems.\n
\n For better security keep your keystore.dat file on a USB\n stick not connected to a computer\n
\n
\n \n \n
\n\n \n \n ({\n title: \"Backup wallet file\",\n variant: \"facebook\",\n Restart: \"Download\",\n Resync: \"\",\n })}\n >\n \n \n\n \n \n \n Check for updates\n \n You are currently running:
\n
    \n
  • Elabox v {masterVersion}
  • \n
  • Elabox App v {companionVersion}
  • \n
  • Elastos Node v {binariesVersion}
  • \n
\n
\n \n \n
\n\n \n \n ({\n title: \"Check for updates\",\n variant: \"facebook\",\n Restart: \"Check\",\n Resync: update ? \"Update Now\" : \"\",\n })}\n onGreenPress={this.checkUpdate}\n onRedPress={this.openUpdateNowModal}\n >\n \n \n\n \n \n \n Your onion address\n \n You can access your Elabox from the outside using TOR browser.\n
\n Never share your onion address with anyone.\n
\n
\n {showOnion && onion}\n
\n \n \n
\n \n \n ({\n title: \"Onion Address\",\n variant: \"facebook\",\n Restart: showOnion ? \"Hide\" : \"Show\",\n Resync: \"Regenerate\",\n })}\n onGreenPress={this.toggleOnion}\n onRedPress={this.regenerateOnion}\n >\n \n \n \n );\n }\n}\n\nexport default Settings;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.getScrollbarWidth = getScrollbarWidth;\nexports.setScrollbarWidth = setScrollbarWidth;\nexports.isBodyOverflowing = isBodyOverflowing;\nexports.getOriginalBodyPadding = getOriginalBodyPadding;\nexports.conditionallyUpdateScrollbar = conditionallyUpdateScrollbar;\nexports.setGlobalCssModule = setGlobalCssModule;\nexports.mapToCssModules = mapToCssModules;\nexports.omit = omit;\nexports.pick = pick;\nexports.warnOnce = warnOnce;\nexports.deprecated = deprecated;\nexports.DOMElement = DOMElement;\nexports.isReactRefObj = isReactRefObj;\nexports.toNumber = toNumber;\nexports.isObject = isObject;\nexports.isFunction = isFunction;\nexports.findDOMElements = findDOMElements;\nexports.isArrayOrNodeList = isArrayOrNodeList;\nexports.getTarget = getTarget;\nexports.addMultipleEventListeners = addMultipleEventListeners;\nexports.focusableElements = exports.defaultToggleEvents = exports.canUseDOM = exports.PopperPlacements = exports.keyCodes = exports.TransitionStatuses = exports.TransitionPropTypeKeys = exports.TransitionTimeouts = exports.tagPropType = exports.targetPropType = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\n// https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/js/src/modal.js#L436-L443\nfunction getScrollbarWidth() {\n var scrollDiv = document.createElement('div'); // .modal-scrollbar-measure styles // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/scss/_modal.scss#L106-L113\n\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n}\n\nfunction setScrollbarWidth(padding) {\n document.body.style.paddingRight = padding > 0 ? padding + \"px\" : null;\n}\n\nfunction isBodyOverflowing() {\n return document.body.clientWidth < window.innerWidth;\n}\n\nfunction getOriginalBodyPadding() {\n var style = window.getComputedStyle(document.body, null);\n return parseInt(style && style.getPropertyValue('padding-right') || 0, 10);\n}\n\nfunction conditionallyUpdateScrollbar() {\n var scrollbarWidth = getScrollbarWidth(); // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.6/js/src/modal.js#L433\n\n var fixedContent = document.querySelectorAll('.fixed-top, .fixed-bottom, .is-fixed, .sticky-top')[0];\n var bodyPadding = fixedContent ? parseInt(fixedContent.style.paddingRight || 0, 10) : 0;\n\n if (isBodyOverflowing()) {\n setScrollbarWidth(bodyPadding + scrollbarWidth);\n }\n}\n\nvar globalCssModule;\n\nfunction setGlobalCssModule(cssModule) {\n globalCssModule = cssModule;\n}\n\nfunction mapToCssModules(className, cssModule) {\n if (className === void 0) {\n className = '';\n }\n\n if (cssModule === void 0) {\n cssModule = globalCssModule;\n }\n\n if (!cssModule) return className;\n return className.split(' ').map(function (c) {\n return cssModule[c] || c;\n }).join(' ');\n}\n/**\n * Returns a new object with the key/value pairs from `obj` that are not in the array `omitKeys`.\n */\n\n\nfunction omit(obj, omitKeys) {\n var result = {};\n Object.keys(obj).forEach(function (key) {\n if (omitKeys.indexOf(key) === -1) {\n result[key] = obj[key];\n }\n });\n return result;\n}\n/**\n * Returns a filtered copy of an object with only the specified keys.\n */\n\n\nfunction pick(obj, keys) {\n var pickKeys = Array.isArray(keys) ? keys : [keys];\n var length = pickKeys.length;\n var key;\n var result = {};\n\n while (length > 0) {\n length -= 1;\n key = pickKeys[length];\n result[key] = obj[key];\n }\n\n return result;\n}\n\nvar warned = {};\n\nfunction warnOnce(message) {\n if (!warned[message]) {\n /* istanbul ignore else */\n if (typeof console !== 'undefined') {\n console.error(message); // eslint-disable-line no-console\n }\n\n warned[message] = true;\n }\n}\n\nfunction deprecated(propType, explanation) {\n return function validate(props, propName, componentName) {\n if (props[propName] !== null && typeof props[propName] !== 'undefined') {\n warnOnce(\"\\\"\" + propName + \"\\\" property of \\\"\" + componentName + \"\\\" has been deprecated.\\n\" + explanation);\n }\n\n for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n\n return propType.apply(void 0, [props, propName, componentName].concat(rest));\n };\n} // Shim Element if needed (e.g. in Node environment)\n\n\nvar Element = typeof window === 'object' && window.Element || function () {};\n\nfunction DOMElement(props, propName, componentName) {\n if (!(props[propName] instanceof Element)) {\n return new Error('Invalid prop `' + propName + '` supplied to `' + componentName + '`. Expected prop to be an instance of Element. Validation failed.');\n }\n}\n\nvar targetPropType = _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, DOMElement, _propTypes.default.shape({\n current: _propTypes.default.any\n})]);\n\nexports.targetPropType = targetPropType;\n\nvar tagPropType = _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string, _propTypes.default.shape({\n $$typeof: _propTypes.default.symbol,\n render: _propTypes.default.func\n}), _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string, _propTypes.default.shape({\n $$typeof: _propTypes.default.symbol,\n render: _propTypes.default.func\n})]))]);\n/* eslint key-spacing: [\"error\", { afterColon: true, align: \"value\" }] */\n// These are all setup to match what is in the bootstrap _variables.scss\n// https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss\n\n\nexports.tagPropType = tagPropType;\nvar TransitionTimeouts = {\n Fade: 150,\n // $transition-fade\n Collapse: 350,\n // $transition-collapse\n Modal: 300,\n // $modal-transition\n Carousel: 600 // $carousel-transition\n\n}; // Duplicated Transition.propType keys to ensure that Reactstrap builds\n// for distribution properly exclude these keys for nested child HTML attributes\n// since `react-transition-group` removes propTypes in production builds.\n\nexports.TransitionTimeouts = TransitionTimeouts;\nvar TransitionPropTypeKeys = ['in', 'mountOnEnter', 'unmountOnExit', 'appear', 'enter', 'exit', 'timeout', 'onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited'];\nexports.TransitionPropTypeKeys = TransitionPropTypeKeys;\nvar TransitionStatuses = {\n ENTERING: 'entering',\n ENTERED: 'entered',\n EXITING: 'exiting',\n EXITED: 'exited'\n};\nexports.TransitionStatuses = TransitionStatuses;\nvar keyCodes = {\n esc: 27,\n space: 32,\n enter: 13,\n tab: 9,\n up: 38,\n down: 40,\n home: 36,\n end: 35,\n n: 78,\n p: 80\n};\nexports.keyCodes = keyCodes;\nvar PopperPlacements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\nexports.PopperPlacements = PopperPlacements;\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexports.canUseDOM = canUseDOM;\n\nfunction isReactRefObj(target) {\n if (target && typeof target === 'object') {\n return 'current' in target;\n }\n\n return false;\n}\n\nfunction getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n\n return Object.prototype.toString.call(value);\n}\n\nfunction toNumber(value) {\n var type = typeof value;\n var NAN = 0 / 0;\n\n if (type === 'number') {\n return value;\n }\n\n if (type === 'symbol' || type === 'object' && getTag(value) === '[object Symbol]') {\n return NAN;\n }\n\n if (isObject(value)) {\n var other = typeof value.valueOf === 'function' ? value.valueOf() : value;\n value = isObject(other) ? \"\" + other : other;\n }\n\n if (type !== 'string') {\n return value === 0 ? value : +value;\n }\n\n value = value.replace(/^\\s+|\\s+$/g, '');\n var isBinary = /^0b[01]+$/i.test(value);\n return isBinary || /^0o[0-7]+$/i.test(value) ? parseInt(value.slice(2), isBinary ? 2 : 8) : /^[-+]0x[0-9a-f]+$/i.test(value) ? NAN : +value;\n}\n\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n\n var tag = getTag(value);\n return tag === '[object Function]' || tag === '[object AsyncFunction]' || tag === '[object GeneratorFunction]' || tag === '[object Proxy]';\n}\n\nfunction findDOMElements(target) {\n if (isReactRefObj(target)) {\n return target.current;\n }\n\n if (isFunction(target)) {\n return target();\n }\n\n if (typeof target === 'string' && canUseDOM) {\n var selection = document.querySelectorAll(target);\n\n if (!selection.length) {\n selection = document.querySelectorAll(\"#\" + target);\n }\n\n if (!selection.length) {\n throw new Error(\"The target '\" + target + \"' could not be identified in the dom, tip: check spelling\");\n }\n\n return selection;\n }\n\n return target;\n}\n\nfunction isArrayOrNodeList(els) {\n if (els === null) {\n return false;\n }\n\n return Array.isArray(els) || canUseDOM && typeof els.length === 'number';\n}\n\nfunction getTarget(target, allElements) {\n var els = findDOMElements(target);\n\n if (allElements) {\n if (isArrayOrNodeList(els)) {\n return els;\n }\n\n if (els === null) {\n return [];\n }\n\n return [els];\n } else {\n if (isArrayOrNodeList(els)) {\n return els[0];\n }\n\n return els;\n }\n}\n\nvar defaultToggleEvents = ['touchstart', 'click'];\nexports.defaultToggleEvents = defaultToggleEvents;\n\nfunction addMultipleEventListeners(_els, handler, _events, useCapture) {\n var els = _els;\n\n if (!isArrayOrNodeList(els)) {\n els = [els];\n }\n\n var events = _events;\n\n if (typeof events === 'string') {\n events = events.split(/\\s+/);\n }\n\n if (!isArrayOrNodeList(els) || typeof handler !== 'function' || !Array.isArray(events)) {\n throw new Error(\"\\n The first argument of this function must be DOM node or an array on DOM nodes or NodeList.\\n The second must be a function.\\n The third is a string or an array of strings that represents DOM events\\n \");\n }\n\n Array.prototype.forEach.call(events, function (event) {\n Array.prototype.forEach.call(els, function (el) {\n el.addEventListener(event, handler, useCapture);\n });\n });\n return function removeEvents() {\n Array.prototype.forEach.call(events, function (event) {\n Array.prototype.forEach.call(els, function (el) {\n el.removeEventListener(event, handler, useCapture);\n });\n });\n };\n}\n\nvar focusableElements = ['a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'object', 'embed', '[tabindex]:not(.modal)', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'];\nexports.focusableElements = focusableElements;"],"sourceRoot":""} \ No newline at end of file diff --git a/build/static/js/9.fee51265.chunk.js b/build/static/js/9.fee51265.chunk.js new file mode 100644 index 0000000..76a25bd --- /dev/null +++ b/build/static/js/9.fee51265.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpcompanion=this.webpackJsonpcompanion||[]).push([[9],{106:function(e,t,a){"use strict";var n=a(2),r=a(7),o=a(0),l=a.n(o),c=a(10),s=a.n(c),i=a(68),u=a.n(i),d=a(69),m={tag:d.n,inverse:s.a.bool,color:s.a.string,body:s.a.bool,outline:s.a.bool,className:s.a.string,cssModule:s.a.object,innerRef:s.a.oneOfType([s.a.object,s.a.string,s.a.func])},f=function(e){var t=e.className,a=e.cssModule,o=e.color,c=e.body,s=e.inverse,i=e.outline,m=e.tag,f=e.innerRef,p=Object(r.a)(e,["className","cssModule","color","body","inverse","outline","tag","innerRef"]),E=Object(d.j)(u()(t,"card",!!s&&"text-white",!!c&&"card-body",!!o&&(i?"border":"bg")+"-"+o),a);return l.a.createElement(m,Object(n.a)({},p,{className:E,ref:f}))};f.propTypes=m,f.defaultProps={tag:"div"},t.a=f},107:function(e,t,a){"use strict";var n=a(2),r=a(7),o=a(0),l=a.n(o),c=a(10),s=a.n(c),i=a(68),u=a.n(i),d=a(69),m={tag:d.n,className:s.a.string,cssModule:s.a.object,innerRef:s.a.oneOfType([s.a.object,s.a.string,s.a.func])},f=function(e){var t=e.className,a=e.cssModule,o=e.innerRef,c=e.tag,s=Object(r.a)(e,["className","cssModule","innerRef","tag"]),i=Object(d.j)(u()(t,"card-body"),a);return l.a.createElement(c,Object(n.a)({},s,{className:i,ref:o}))};f.propTypes=m,f.defaultProps={tag:"div"},t.a=f},108:function(e,t,a){"use strict";var n=a(2),r=a(7),o=a(0),l=a.n(o),c=a(10),s=a.n(c),i=a(68),u=a.n(i),d=a(69),m=s.a.oneOfType([s.a.number,s.a.string]),f={tag:d.n,noGutters:s.a.bool,className:s.a.string,cssModule:s.a.object,form:s.a.bool,xs:m,sm:m,md:m,lg:m,xl:m},p={tag:"div",widths:["xs","sm","md","lg","xl"]},E=function(e){var t=e.className,a=e.cssModule,o=e.noGutters,c=e.tag,s=e.form,i=e.widths,m=Object(r.a)(e,["className","cssModule","noGutters","tag","form","widths"]),f=[];i.forEach((function(t,a){var n=e[t];if(delete m[t],n){var r=!a;f.push(r?"row-cols-"+n:"row-cols-"+t+"-"+n)}}));var p=Object(d.j)(u()(t,o?"no-gutters":null,s?"form-row":"row",f),a);return l.a.createElement(c,Object(n.a)({},m,{className:p}))};E.propTypes=f,E.defaultProps=p,t.a=E},109:function(e,t,a){"use strict";var n=a(2),r=a(7),o=a(0),l=a.n(o),c=a(10),s=a.n(c),i=a(68),u=a.n(i),d=a(69),m=s.a.oneOfType([s.a.number,s.a.string]),f=s.a.oneOfType([s.a.bool,s.a.number,s.a.string,s.a.shape({size:s.a.oneOfType([s.a.bool,s.a.number,s.a.string]),order:m,offset:m})]),p={tag:d.n,xs:f,sm:f,md:f,lg:f,xl:f,className:s.a.string,cssModule:s.a.object,widths:s.a.array},E={tag:"div",widths:["xs","sm","md","lg","xl"]},h=function(e,t,a){return!0===a||""===a?e?"col":"col-"+t:"auto"===a?e?"col-auto":"col-"+t+"-auto":e?"col-"+a:"col-"+t+"-"+a},b=function(e){var t=e.className,a=e.cssModule,o=e.widths,c=e.tag,s=Object(r.a)(e,["className","cssModule","widths","tag"]),i=[];o.forEach((function(t,n){var r=e[t];if(delete s[t],r||""===r){var o=!n;if(Object(d.h)(r)){var l,c=o?"-":"-"+t+"-",m=h(o,t,r.size);i.push(Object(d.j)(u()(((l={})[m]=r.size||""===r.size,l["order"+c+r.order]=r.order||0===r.order,l["offset"+c+r.offset]=r.offset||0===r.offset,l)),a))}else{var f=h(o,t,r);i.push(f)}}})),i.length||i.push("col");var m=Object(d.j)(u()(t,i),a);return l.a.createElement(c,Object(n.a)({},s,{className:m}))};b.propTypes=p,b.defaultProps=E,t.a=b},110:function(e,t,a){"use strict";var n=a(21),r=a(9),o=a(17),l=a(19),c=a(18),s=a(0),i=a.n(s),u=a(68),d=a.n(u),m=a(81),f=a(106),p=a(107),E=a(108),h=a(109),b=a(103),y=a(10),g=a.n(y),w=(g.a.node,g.a.string,g.a.object,g.a.func,function(e){Object(l.a)(a,e);var t=Object(c.a)(a);function a(){return Object(r.a)(this,a),t.apply(this,arguments)}return Object(o.a)(a,[{key:"render",value:function(){var e=this.props,t=(e.children,e.className),a=e.cssModule,r=e.dataBox,o=(Object(n.a)(e,["children","className","cssModule","dataBox"]),r()),l=o.variant;o.title;if(!l||["facebook","twitter","linkedin","google-plus"].indexOf(l)<0)return null;var c="bg-"+l,s=(Object.keys(o),Object.values(o));d()("".concat("brand-card","-header"),c),d()("".concat("brand-card","-body")),Object(m.mapToCssModules)(d()("brand-card",t),a);return i.a.createElement(f.a,{style:{backgroundColor:"#272A3D",color:"white"}},i.a.createElement(p.a,null,i.a.createElement(E.a,{style:{height:"70px"}},i.a.createElement(h.a,{style:{display:"flex",justifyContent:"center"}},o.title)),""!=s[3]?i.a.createElement(E.a,null,i.a.createElement(h.a,{xs:"6",style:{justifyContent:"center",display:"flex"}},i.a.createElement(b.a,{onClick:this.props.onGreenPress,color:"success"},s[2])),i.a.createElement(h.a,{xs:"6",style:{justifyContent:"center",display:"flex"}},i.a.createElement(b.a,{onClick:this.props.onRedPress,color:"danger"},s[3]))):i.a.createElement(E.a,null,i.a.createElement(h.a,{xs:"12",style:{justifyContent:"center",display:"flex"}},i.a.createElement(b.a,{onClick:this.props.onGreenPress,color:"success"},s[2])))))}}]),a}(s.Component));w.defaultProps={dataBox:function(){return{variant:"facebook",friends:"-",feeds:"-"}}},t.a=w},152:function(e,t,a){"use strict";var n=a(2),r=a(7),o=a(0),l=a.n(o),c=a(10),s=a.n(c),i=a(68),u=a.n(i),d=a(69),m={tag:d.n,className:s.a.string,cssModule:s.a.object},f=function(e){var t=e.className,a=e.cssModule,o=e.tag,c=Object(r.a)(e,["className","cssModule","tag"]),s=Object(d.j)(u()(t,"card-header"),a);return l.a.createElement(o,Object(n.a)({},c,{className:s}))};f.propTypes=m,f.defaultProps={tag:"div"},t.a=f},324:function(e,t,a){"use strict";a.r(t);var n=a(87),r=a(8),o=a.n(r),l=a(105),c=a(12),s=a(9),i=a(17),u=a(19),d=a(18),m=a(0),f=a.n(m),p=a(332),E=a(318),h=a(319),b=a(138),y=a(320),g=a(103),w=a(108),v=a(109),k=a(106),M=a(152),R=a(107),O=a(110),x=a(35),C=a(20),j=function(e){Object(u.a)(a,e);var t=Object(d.a)(a);function a(e){var r;return Object(s.a)(this,a),(r=t.call(this,e)).handleChange=function(){var e=Object(c.a)(o.a.mark((function e(t){var a,n,c;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.target,n="checkbox"===a.type?a.checked:a.value,c=a.name,e.next=5,r.setState(Object(l.a)({},c,n));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.restartMainchain=function(){r.setState({mainchainRestartModal:!1}),C.a.restartMainChain(r.state.pwd).then((function(e){console.log(e),"ok"==e.ok?r.setState({sentmodal:!0}):r.setState({errormodal:!0})})).catch((function(e){console.error(e)}))},r.restartDid=function(){r.setState({mainchainRestartModal:!1}),C.a.restartDid().then((function(e){console.log(e),"ok"==e.ok?r.setState({sentmodal:!0}):r.setState({errormodal:!0})})).catch((function(e){console.error(e)}))},r.resyncDid=function(){r.setState({didResyncModal:!1}),C.a.resyncDid().then((function(e){console.log(e),"ok"==e.ok?r.setState({sentmodal:!0}):r.setState({errormodal:!0})})).catch((function(e){console.error(e)}))},r.restartCarrier=function(){r.setState({mainchainRestartModal:!1}),C.a.restartCarrier().then((function(e){console.log(e),"ok"==e.ok?r.setState({sentmodal:!0}):r.setState({errormodal:!0})})).catch((function(e){console.error(e)}))},r.showRestartMain=function(){r.setState({mainchainRestartModal:!0})},r.closeRestartMain=function(){r.setState({mainchainRestartModal:!1})},r.showResyncMain=function(){r.setState({mainchainResyncModal:!0})},r.closeResyncMain=function(){r.setState({mainchainResyncModal:!1})},r.showRestartDid=function(){r.setState({didRestartModal:!0})},r.closeRestartDid=function(){r.setState({didRestartModal:!1})},r.showResyncDid=function(){r.setState({didResyncModal:!0})},r.closeResyncDid=function(){r.setState({didResyncModal:!1})},r.showRestartCarrier=function(){r.setState({carrierRestartModal:!0})},r.closeRestartCarrier=function(){r.setState({carrierRestartModal:!1})},r.checkUpdate=Object(c.a)(o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,x.a.checkUpdate();case 3:t=e.sent,r.setState({checkUpdateModal:!0,update:t.available}),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(0),console.error(e.t0),r.setState({networkErrorModal:!0});case 11:case"end":return e.stop()}}),e,null,[[0,7]])}))),r.closeCheckUpdateModal=function(){r.setState({checkUpdateModal:!1})},r.closeNetworkErrorModal=function(){r.setState({networkErrorModal:!1})},r.openUpdateNowModal=function(){r.setState({updateNowModal:!0})},r.closeUpdateNowModal=function(){r.setState({updateNowModal:!1})},r.openErrorUpdateModal=function(){r.setState({errorUpdateModal:!0})},r.closeErrorUpdateModal=function(){r.setState({errorUpdateModal:!1})},r.updateNow=Object(c.a)(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,x.a.updateNow();case 3:e.sent,setTimeout((function(){window.open("http://".concat(window.location.hostname))}),5e3),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),r.openErrorUpdateModal();case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),r.getVersion=function(){x.a.getVersion().then((function(e){r.setState(Object(n.a)({},e.data),(function(){console.log("state",r.state)}))}))},r.getOnion=function(){C.a.getOnion().then((function(e){r.setState({onion:e.data.onion})}))},r.regenerateOnion=function(){C.a.regenerateOnion().then((function(e){r.setState({onion:e.data.onion})}))},r.toggleOnion=function(){r.setState({showOnion:!r.state.showOnion}),console.log("toggleOnion")},r.state={pwd:"",mainchainRestartModal:!1,mainchainResyncModal:!1,didRestartModal:!1,didResyncModal:!1,carrierRestartModal:!1,update:!1,checkUpdateModal:!1,networkErrorModal:!1,updateNowModal:!1,errorUpdateModal:!1,version:"",onion:"",showOnion:!1},r}return Object(i.a)(a,[{key:"componentWillMount",value:function(){this.getVersion(),this.getOnion()}},{key:"render",value:function(){var e=this,t=this.props.isMobile,a=this.state,r=a.update,o=a.checkUpdateModal,l=a.networkErrorModal,c=a.updateNowModal,s=a.errorUpdateModal,i=a.onion,u=a.showOnion,d=a.companionVersion,m=a.binariesVersion,x=a.masterVersion;return console.log("render",u),f.a.createElement("div",{id:"main",style:Object(n.a)(Object(n.a)({},{paddingLeft:"18%",width:"100%",backgroundColor:"#1E1E26"}),t&&{paddingLeft:void 0}),className:"animated fadeIn w3-container"},f.a.createElement(p.a,{isOpen:this.state.mainchainRestartModal},f.a.createElement(E.a,null,"Restart Mainchain"),f.a.createElement(h.a,null,f.a.createElement("center",null,"Enter your wallet password to restart the mainchain",f.a.createElement("br",null),"This process will take a few minutes",f.a.createElement("br",null),f.a.createElement("br",null)),f.a.createElement(b.a,{type:"password",id:"pwd",name:"pwd",placeholder:"Enter ELA wallet password",required:!0,onChange:function(t){return e.handleChange(t)}})),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.restartMainchain},"Restart"),f.a.createElement(g.a,{color:"danger",onClick:this.closeRestartMain},"Cancel"))),f.a.createElement(p.a,{isOpen:this.state.mainchainResyncModal},f.a.createElement(E.a,null,"Resync Mainchain"),f.a.createElement(h.a,null,f.a.createElement("center",null,f.a.createElement("b",null,"PLEASE READ CAREFULY"),f.a.createElement("br",null),"Resycing the whole mainchain will take a few days.",f.a.createElement("br",null),"You should try to restart the node first!",f.a.createElement("br",null),f.a.createElement("br",null),"Enter your wallet password to re-sync the mainchain",f.a.createElement("br",null)),f.a.createElement(b.a,{type:"password",id:"pwd",name:"pwd",placeholder:"Enter ELA wallet password",required:!0,onChange:function(t){return e.handleChange(t)}})),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.resyncMainchain},"Re-sync"),f.a.createElement(g.a,{color:"danger",onClick:this.closeResyncMain},"Cancel"))),f.a.createElement(p.a,{isOpen:o},f.a.createElement(E.a,null,"Update Elabox"),f.a.createElement(h.a,null,r?f.a.createElement("center",null,"A firmware update is available for the Elabox!"):f.a.createElement("center",null,"You are currently using the latest Elabox firmware!")),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.closeCheckUpdateModal},"OK"))),f.a.createElement(p.a,{isOpen:l},f.a.createElement(E.a,null,"Network Error"),f.a.createElement(h.a,null,f.a.createElement("center",null,"There was a Network Error please check your internet connection")),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.closeNetworkErrorModal},"OK"))),f.a.createElement(p.a,{isOpen:s},f.a.createElement(E.a,null,"Network Error"),f.a.createElement(h.a,null,f.a.createElement("center",null,"There was a Network Error please check your internet connection")),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.closeErrorUpdateModal},"OK"))),f.a.createElement(p.a,{isOpen:c},f.a.createElement(E.a,null,"Update Elabox"),f.a.createElement(h.a,null,f.a.createElement("center",null,f.a.createElement("b",null,"PLEASE READ CAREFULY"),f.a.createElement("br",null),"Installing the new updates can take up to 30 minutes",f.a.createElement("br",null),"Do not turn off the Elabox",f.a.createElement("br",null),f.a.createElement("br",null),"Click Update Now to update the Elabox",f.a.createElement("br",null))),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.updateNow},"Update Now"),f.a.createElement(g.a,{color:"danger",onClick:this.closeUpdateNowModal},"Cancel"))),f.a.createElement(p.a,{isOpen:this.state.didRestartModal},f.a.createElement(E.a,null,"Restart DID sidechain"),f.a.createElement(h.a,null,f.a.createElement("center",null,"You are about to restart the DID sidechain",f.a.createElement("br",null),"This process will take a few minutes",f.a.createElement("br",null),f.a.createElement("br",null))),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.restartDid},"Restart"),f.a.createElement(g.a,{color:"danger",onClick:this.closeRestartDid},"Cancel"))),f.a.createElement(p.a,{isOpen:this.state.didResyncModal},f.a.createElement(E.a,null,"Resync DID sidechain"),f.a.createElement(h.a,null,f.a.createElement("center",null,f.a.createElement("b",null,"PLEASE READ CAREFULY"),f.a.createElement("br",null),"Resycing the DID sidechain will take a few days.",f.a.createElement("br",null),"You should try to restart the node first!",f.a.createElement("br",null),f.a.createElement("br",null),"Click Re-sync to re-sync the DID sidechain",f.a.createElement("br",null))),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.resyncDid},"Re-sync"),f.a.createElement(g.a,{color:"danger",onClick:this.closeResyncDid},"Cancel"))),f.a.createElement(p.a,{isOpen:this.state.carrierRestartModal},f.a.createElement(E.a,null,"Restart Carrier"),f.a.createElement(h.a,null,f.a.createElement("center",null,"You are about to restart your Carrier node",f.a.createElement("br",null),"This process will take a few minutes",f.a.createElement("br",null),f.a.createElement("br",null))),f.a.createElement(y.a,null,f.a.createElement(g.a,{color:"success",onClick:this.restartCarrier},"Restart"),f.a.createElement(g.a,{color:"danger",onClick:this.closeRestartCarrier},"Cancel"))),f.a.createElement(w.a,null,f.a.createElement(v.a,null,f.a.createElement(k.a,{style:{backgroundColor:"#272A3D",color:"white",fontSize:"16px",marginBottom:"20px"}},f.a.createElement(M.a,null,"Control your Elabox")))),f.a.createElement(w.a,null,f.a.createElement(v.a,{xs:"12",sm:"6",lg:"4"},f.a.createElement(O.a,{dataBox:function(){return{title:"MainChain",variant:"facebook",Restart:"Restart",Resync:"Re-sync"}},onGreenPress:this.showRestartMain,onRedPress:this.showResyncMain})),f.a.createElement(v.a,{xs:"12",sm:"6",lg:"4"},f.a.createElement(O.a,{dataBox:function(){return{title:"DID",variant:"facebook",Restart:"Restart",Resync:"Re-sync"}},onGreenPress:this.showRestartDid,onRedPress:this.showResyncDid})),f.a.createElement(v.a,{xs:"12",sm:"6",lg:"4"},f.a.createElement(O.a,{dataBox:function(){return{title:"Carrier",variant:"facebook",Restart:"Relaunch",Resync:""}},onGreenPress:this.showRestartCarrier}))),f.a.createElement(w.a,null,f.a.createElement(v.a,null,f.a.createElement(k.a,{style:{backgroundColor:"#272A3D",color:"white",fontSize:"16px",marginTop:"40px"}},f.a.createElement(M.a,null,"Backup your wallet file"),f.a.createElement(R.a,null,"You can download your wallet file at any time.",f.a.createElement("br",null),"The ",f.a.createElement("b",null,"keystore.dat")," wallet file is the only way to recover your fund in case of problems.",f.a.createElement("br",null),"For better security keep your ",f.a.createElement("b",null,"keystore.dat")," file on a USB stick not connected to a computer",f.a.createElement("br",null))))),f.a.createElement(w.a,{style:{marginTop:"20px"}},f.a.createElement(v.a,{xs:"12",sm:"6",lg:"4"},f.a.createElement(O.a,{dataBox:function(){return{title:"Backup wallet file",variant:"facebook",Restart:"Download",Resync:""}}}))),f.a.createElement(w.a,null,f.a.createElement(v.a,null,f.a.createElement(k.a,{style:{backgroundColor:"#272A3D",color:"white",fontSize:"16px",marginTop:"40px"}},f.a.createElement(M.a,null,"Check for updates"),f.a.createElement(R.a,null,"You are currently running: ",f.a.createElement("br",null),f.a.createElement("ul",{style:{listStyleType:"none"}},f.a.createElement("li",null,"Elabox ",f.a.createElement("b",null,"v ",x)),f.a.createElement("li",null,"Elabox App ",f.a.createElement("b",null,"v ",d)),f.a.createElement("li",null,"Elastos Node ",f.a.createElement("b",null,"v ",m))))))),f.a.createElement(w.a,{style:{marginTop:"20px"}},f.a.createElement(v.a,{xs:"12",sm:"6",lg:"4"},f.a.createElement(O.a,{dataBox:function(){return{title:"Check for updates",variant:"facebook",Restart:"Check",Resync:r?"Update Now":""}},onGreenPress:this.checkUpdate,onRedPress:this.openUpdateNowModal}))),f.a.createElement(w.a,null,f.a.createElement(v.a,null,f.a.createElement(k.a,{style:{backgroundColor:"#272A3D",color:"white",fontSize:"16px",marginTop:"40px"}},f.a.createElement(M.a,null,"Your onion address"),f.a.createElement(R.a,null,"You can access your Elabox from the outside using TOR browser.",f.a.createElement("br",null),f.a.createElement("b",null,"Never share your onion address with anyone."),f.a.createElement("br",null),f.a.createElement("br",null),u&&i)))),f.a.createElement(w.a,{style:{marginTop:"20px"}},f.a.createElement(v.a,{xs:"12",sm:"6",lg:"4"},f.a.createElement(O.a,{dataBox:function(){return{title:"Onion Address",variant:"facebook",Restart:u?"Hide":"Show",Resync:"Regenerate"}},onGreenPress:this.toggleOnion,onRedPress:this.regenerateOnion}))))}}]),a}(m.Component);t.default=j},81:function(e,t,a){"use strict";var n=a(92);t.__esModule=!0,t.getScrollbarWidth=l,t.setScrollbarWidth=c,t.isBodyOverflowing=s,t.getOriginalBodyPadding=function(){var e=window.getComputedStyle(document.body,null);return parseInt(e&&e.getPropertyValue("padding-right")||0,10)},t.conditionallyUpdateScrollbar=function(){var e=l(),t=document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")[0],a=t?parseInt(t.style.paddingRight||0,10):0;s()&&c(a+e)},t.setGlobalCssModule=function(e){r=e},t.mapToCssModules=function(e,t){void 0===e&&(e="");void 0===t&&(t=r);return t?e.split(" ").map((function(e){return t[e]||e})).join(" "):e},t.omit=function(e,t){var a={};return Object.keys(e).forEach((function(n){-1===t.indexOf(n)&&(a[n]=e[n])})),a},t.pick=function(e,t){var a,n=Array.isArray(t)?t:[t],r=n.length,o={};for(;r>0;)a=n[r-=1],o[a]=e[a];return o},t.warnOnce=u,t.deprecated=function(e,t){return function(a,n,r){null!==a[n]&&"undefined"!==typeof a[n]&&u('"'+n+'" property of "'+r+'" has been deprecated.\n'+t);for(var o=arguments.length,l=new Array(o>3?o-3:0),c=3;c0?e+"px":null}function s(){return document.body.clientWidth ({ variant: 'facebook', friends: '-', feeds: '-' }),\n};\n\nclass Widget05 extends Component {\n\n // constructor(props){\n // super(props)\n // }\n\n render() {\n\n // eslint-disable-next-line\n const { children, className, cssModule, dataBox, ...attributes } = this.props;\n\n // demo purposes only\n const data = dataBox();\n const variant = data.variant;\n const title = data.title;\n if (!variant || ['facebook', 'twitter', 'linkedin', 'google-plus'].indexOf(variant) < 0) {\n return (null);\n }\n\n const back = 'bg-' + variant;\n const icon = 'fa fa-' + variant;\n const keys = Object.keys(data);\n const vals = Object.values(data);\n\n const classCard = 'brand-card';\n const classCardHeader = classNames(`${classCard}-header`, back);\n const classCardBody = classNames(`${classCard}-body`);\n const classes = mapToCssModules(classNames(classCard, className), cssModule);\n\n return (\n \n \n \n \n {data.title}\n \n \n \n\n {vals[3] != \"\" ?\n \n \n \n \n \n \n \n \n :\n \n \n \n \n \n }\n \n \n\n );\n }\n}\n\nWidget05.defaultProps = defaultProps;\n\nexport default Widget05;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object\n};\nvar defaultProps = {\n tag: 'div'\n};\n\nvar CardHeader = function CardHeader(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, [\"className\", \"cssModule\", \"tag\"]);\n\n var classes = mapToCssModules(classNames(className, 'card-header'), cssModule);\n return React.createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n};\n\nCardHeader.propTypes = propTypes;\nCardHeader.defaultProps = defaultProps;\nexport default CardHeader;","import React, { Component } from \"react\";\nimport {\n Button,\n Modal,\n ModalBody,\n ModalFooter,\n Input,\n ModalHeader,\n Badge,\n Line,\n Card,\n CardBody,\n CardHeader,\n Col,\n Pagination,\n PaginationItem,\n PaginationLink,\n Row,\n Table,\n} from \"reactstrap\";\nimport Widget05 from \"./widgets/Widget05\";\n\nimport master from \"../api/master\";\nimport backend from \"../api/backend\";\n\nclass Settings extends Component {\n constructor(props) {\n super(props);\n this.state = {\n pwd: \"\",\n mainchainRestartModal: false,\n mainchainResyncModal: false,\n didRestartModal: false,\n didResyncModal: false,\n carrierRestartModal: false,\n update: false,\n checkUpdateModal: false,\n networkErrorModal: false,\n updateNowModal: false,\n errorUpdateModal: false,\n version: \"\",\n onion: \"\",\n showOnion: false,\n };\n }\n\n componentWillMount() {\n this.getVersion();\n this.getOnion();\n }\n\n handleChange = async (event) => {\n const { target } = event;\n const value = target.type === \"checkbox\" ? target.checked : target.value;\n const { name } = target;\n await this.setState({\n [name]: value,\n });\n };\n\n restartMainchain = () => {\n // e.preventDefault();\n this.setState({ mainchainRestartModal: false });\n\n backend\n .restartMainChain(this.state.pwd)\n .then((responseJson) => {\n console.log(responseJson);\n if (responseJson.ok == \"ok\") {\n this.setState({ sentmodal: true });\n } else {\n this.setState({ errormodal: true });\n }\n })\n .catch((error) => {\n console.error(error);\n });\n };\n\n restartDid = () => {\n // e.preventDefault();\n this.setState({ mainchainRestartModal: false });\n\n backend\n .restartDid()\n .then((responseJson) => {\n console.log(responseJson);\n if (responseJson.ok == \"ok\") {\n this.setState({ sentmodal: true });\n } else {\n this.setState({ errormodal: true });\n }\n })\n .catch((error) => {\n console.error(error);\n });\n };\n\n resyncDid = () => {\n // e.preventDefault();\n this.setState({ didResyncModal: false });\n\n backend\n .resyncDid()\n .then((responseJson) => {\n console.log(responseJson);\n if (responseJson.ok == \"ok\") {\n this.setState({ sentmodal: true });\n } else {\n this.setState({ errormodal: true });\n }\n })\n .catch((error) => {\n console.error(error);\n });\n };\n\n restartCarrier = () => {\n // e.preventDefault();\n this.setState({ mainchainRestartModal: false });\n\n backend\n .restartCarrier()\n .then((responseJson) => {\n console.log(responseJson);\n if (responseJson.ok == \"ok\") {\n this.setState({ sentmodal: true });\n } else {\n this.setState({ errormodal: true });\n }\n })\n .catch((error) => {\n console.error(error);\n });\n };\n\n showRestartMain = () => {\n this.setState({ mainchainRestartModal: true });\n };\n closeRestartMain = () => {\n this.setState({ mainchainRestartModal: false });\n };\n showResyncMain = () => {\n this.setState({ mainchainResyncModal: true });\n };\n closeResyncMain = () => {\n this.setState({ mainchainResyncModal: false });\n };\n showRestartDid = () => {\n this.setState({ didRestartModal: true });\n };\n closeRestartDid = () => {\n this.setState({ didRestartModal: false });\n };\n showResyncDid = () => {\n this.setState({ didResyncModal: true });\n };\n closeResyncDid = () => {\n this.setState({ didResyncModal: false });\n };\n showRestartCarrier = () => {\n this.setState({ carrierRestartModal: true });\n };\n closeRestartCarrier = () => {\n this.setState({ carrierRestartModal: false });\n };\n\n // checkUpdate = async () => {\n // const data = await master.checkUpdate();\n // };\n\n checkUpdate = async () => {\n try {\n const data = await master.checkUpdate();\n this.setState({ checkUpdateModal: true, update: data.available });\n } catch (error) {\n console.error(error);\n this.setState({ networkErrorModal: true });\n }\n };\n closeCheckUpdateModal = () => {\n this.setState({\n checkUpdateModal: false,\n });\n };\n\n closeNetworkErrorModal = () => {\n this.setState({\n networkErrorModal: false,\n });\n };\n\n openUpdateNowModal = () => {\n this.setState({\n updateNowModal: true,\n });\n };\n\n closeUpdateNowModal = () => {\n this.setState({\n updateNowModal: false,\n });\n };\n\n openErrorUpdateModal = () => {\n this.setState({\n errorUpdateModal: true,\n });\n };\n\n closeErrorUpdateModal = () => {\n this.setState({\n errorUpdateModal: false,\n });\n };\n\n updateNow = async () => {\n try {\n const data = await master.updateNow();\n setTimeout(() => {\n window.open(`http://${window.location.hostname}`);\n }, 5000);\n } catch (error) {\n this.openErrorUpdateModal();\n }\n };\n\n getVersion = () => {\n master.getVersion().then((response) => {\n this.setState({ ...response.data }, () => {\n console.log(\"state\", this.state);\n });\n });\n };\n\n getOnion = () => {\n backend.getOnion().then((response) => {\n this.setState({ onion: response.data.onion });\n });\n };\n\n regenerateOnion = () => {\n backend.regenerateOnion().then((response) => {\n this.setState({ onion: response.data.onion });\n });\n };\n\n toggleOnion = () => {\n this.setState({ showOnion: !this.state.showOnion });\n console.log(\"toggleOnion\");\n };\n\n render() {\n const { isMobile } = this.props;\n\n const {\n update,\n checkUpdateModal,\n networkErrorModal,\n updateNowModal,\n errorUpdateModal,\n onion,\n showOnion,\n companionVersion,\n binariesVersion,\n masterVersion,\n } = this.state;\n console.log(\"render\", showOnion);\n return (\n \n \n Restart Mainchain\n \n
\n Enter your wallet password to restart the mainchain\n
\n This process will take a few minutes\n
\n
\n
\n this.handleChange(e)}\n />\n
\n \n \n \n \n
\n\n \n Resync Mainchain\n \n
\n PLEASE READ CAREFULY\n
\n Resycing the whole mainchain will take a few days.\n
\n You should try to restart the node first!\n
\n
\n Enter your wallet password to re-sync the mainchain\n
\n
\n this.handleChange(e)}\n />\n
\n \n \n \n \n
\n \n Update Elabox\n \n {update ? (\n
A firmware update is available for the Elabox!
\n ) : (\n
\n You are currently using the latest Elabox firmware!\n
\n )}\n
\n \n \n \n
\n \n Network Error\n \n
\n There was a Network Error please check your internet connection\n
\n
\n \n \n \n
\n \n Network Error\n \n
\n There was a Network Error please check your internet connection\n
\n
\n \n \n \n
\n \n Update Elabox\n \n
\n PLEASE READ CAREFULY\n
\n Installing the new updates can take up to 30 minutes\n
\n Do not turn off the Elabox\n
\n
\n Click Update Now to update the Elabox\n
\n
\n
\n \n \n \n \n
\n\n \n Restart DID sidechain\n \n
\n You are about to restart the DID sidechain\n
\n This process will take a few minutes\n
\n
\n
\n
\n \n \n \n \n
\n\n \n Resync DID sidechain\n \n
\n PLEASE READ CAREFULY\n
\n Resycing the DID sidechain will take a few days.\n
\n You should try to restart the node first!\n
\n
\n Click Re-sync to re-sync the DID sidechain\n
\n
\n
\n \n \n \n \n
\n\n \n Restart Carrier\n \n
\n You are about to restart your Carrier node\n
\n This process will take a few minutes\n
\n
\n
\n
\n \n \n \n \n
\n\n \n \n \n Control your Elabox\n \n \n \n\n \n \n ({\n title: \"MainChain\",\n variant: \"facebook\",\n Restart: \"Restart\",\n Resync: \"Re-sync\",\n })}\n onGreenPress={this.showRestartMain}\n onRedPress={this.showResyncMain}\n >\n \n\n \n ({\n title: \"DID\",\n variant: \"facebook\",\n Restart: \"Restart\",\n Resync: \"Re-sync\",\n })}\n onGreenPress={this.showRestartDid}\n onRedPress={this.showResyncDid}\n >\n \n\n \n ({\n title: \"Carrier\",\n variant: \"facebook\",\n Restart: \"Relaunch\",\n Resync: \"\",\n })}\n onGreenPress={this.showRestartCarrier}\n >\n \n \n\n \n \n \n Backup your wallet file\n \n You can download your wallet file at any time.\n
\n The keystore.dat wallet file is the only way to recover\n your fund in case of problems.\n
\n For better security keep your keystore.dat file on a USB\n stick not connected to a computer\n
\n
\n \n \n
\n\n \n \n ({\n title: \"Backup wallet file\",\n variant: \"facebook\",\n Restart: \"Download\",\n Resync: \"\",\n })}\n >\n \n \n\n \n \n \n Check for updates\n \n You are currently running:
\n
    \n
  • Elabox v {masterVersion}
  • \n
  • Elabox App v {companionVersion}
  • \n
  • Elastos Node v {binariesVersion}
  • \n
\n
\n \n \n
\n\n \n \n ({\n title: \"Check for updates\",\n variant: \"facebook\",\n Restart: \"Check\",\n Resync: update ? \"Update Now\" : \"\",\n })}\n onGreenPress={this.checkUpdate}\n onRedPress={this.openUpdateNowModal}\n >\n \n \n\n \n \n \n Your onion address\n \n You can access your Elabox from the outside using TOR browser.\n
\n Never share your onion address with anyone.\n
\n
\n {showOnion && onion}\n
\n \n \n
\n \n \n ({\n title: \"Onion Address\",\n variant: \"facebook\",\n Restart: showOnion ? \"Hide\" : \"Show\",\n Resync: \"Regenerate\",\n })}\n onGreenPress={this.toggleOnion}\n onRedPress={this.regenerateOnion}\n >\n \n \n \n );\n }\n}\n\nexport default Settings;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.getScrollbarWidth = getScrollbarWidth;\nexports.setScrollbarWidth = setScrollbarWidth;\nexports.isBodyOverflowing = isBodyOverflowing;\nexports.getOriginalBodyPadding = getOriginalBodyPadding;\nexports.conditionallyUpdateScrollbar = conditionallyUpdateScrollbar;\nexports.setGlobalCssModule = setGlobalCssModule;\nexports.mapToCssModules = mapToCssModules;\nexports.omit = omit;\nexports.pick = pick;\nexports.warnOnce = warnOnce;\nexports.deprecated = deprecated;\nexports.DOMElement = DOMElement;\nexports.isReactRefObj = isReactRefObj;\nexports.toNumber = toNumber;\nexports.isObject = isObject;\nexports.isFunction = isFunction;\nexports.findDOMElements = findDOMElements;\nexports.isArrayOrNodeList = isArrayOrNodeList;\nexports.getTarget = getTarget;\nexports.addMultipleEventListeners = addMultipleEventListeners;\nexports.focusableElements = exports.defaultToggleEvents = exports.canUseDOM = exports.PopperPlacements = exports.keyCodes = exports.TransitionStatuses = exports.TransitionPropTypeKeys = exports.TransitionTimeouts = exports.tagPropType = exports.targetPropType = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\n// https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/js/src/modal.js#L436-L443\nfunction getScrollbarWidth() {\n var scrollDiv = document.createElement('div'); // .modal-scrollbar-measure styles // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/scss/_modal.scss#L106-L113\n\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n}\n\nfunction setScrollbarWidth(padding) {\n document.body.style.paddingRight = padding > 0 ? padding + \"px\" : null;\n}\n\nfunction isBodyOverflowing() {\n return document.body.clientWidth < window.innerWidth;\n}\n\nfunction getOriginalBodyPadding() {\n var style = window.getComputedStyle(document.body, null);\n return parseInt(style && style.getPropertyValue('padding-right') || 0, 10);\n}\n\nfunction conditionallyUpdateScrollbar() {\n var scrollbarWidth = getScrollbarWidth(); // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.6/js/src/modal.js#L433\n\n var fixedContent = document.querySelectorAll('.fixed-top, .fixed-bottom, .is-fixed, .sticky-top')[0];\n var bodyPadding = fixedContent ? parseInt(fixedContent.style.paddingRight || 0, 10) : 0;\n\n if (isBodyOverflowing()) {\n setScrollbarWidth(bodyPadding + scrollbarWidth);\n }\n}\n\nvar globalCssModule;\n\nfunction setGlobalCssModule(cssModule) {\n globalCssModule = cssModule;\n}\n\nfunction mapToCssModules(className, cssModule) {\n if (className === void 0) {\n className = '';\n }\n\n if (cssModule === void 0) {\n cssModule = globalCssModule;\n }\n\n if (!cssModule) return className;\n return className.split(' ').map(function (c) {\n return cssModule[c] || c;\n }).join(' ');\n}\n/**\n * Returns a new object with the key/value pairs from `obj` that are not in the array `omitKeys`.\n */\n\n\nfunction omit(obj, omitKeys) {\n var result = {};\n Object.keys(obj).forEach(function (key) {\n if (omitKeys.indexOf(key) === -1) {\n result[key] = obj[key];\n }\n });\n return result;\n}\n/**\n * Returns a filtered copy of an object with only the specified keys.\n */\n\n\nfunction pick(obj, keys) {\n var pickKeys = Array.isArray(keys) ? keys : [keys];\n var length = pickKeys.length;\n var key;\n var result = {};\n\n while (length > 0) {\n length -= 1;\n key = pickKeys[length];\n result[key] = obj[key];\n }\n\n return result;\n}\n\nvar warned = {};\n\nfunction warnOnce(message) {\n if (!warned[message]) {\n /* istanbul ignore else */\n if (typeof console !== 'undefined') {\n console.error(message); // eslint-disable-line no-console\n }\n\n warned[message] = true;\n }\n}\n\nfunction deprecated(propType, explanation) {\n return function validate(props, propName, componentName) {\n if (props[propName] !== null && typeof props[propName] !== 'undefined') {\n warnOnce(\"\\\"\" + propName + \"\\\" property of \\\"\" + componentName + \"\\\" has been deprecated.\\n\" + explanation);\n }\n\n for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n\n return propType.apply(void 0, [props, propName, componentName].concat(rest));\n };\n} // Shim Element if needed (e.g. in Node environment)\n\n\nvar Element = typeof window === 'object' && window.Element || function () {};\n\nfunction DOMElement(props, propName, componentName) {\n if (!(props[propName] instanceof Element)) {\n return new Error('Invalid prop `' + propName + '` supplied to `' + componentName + '`. Expected prop to be an instance of Element. Validation failed.');\n }\n}\n\nvar targetPropType = _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, DOMElement, _propTypes.default.shape({\n current: _propTypes.default.any\n})]);\n\nexports.targetPropType = targetPropType;\n\nvar tagPropType = _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string, _propTypes.default.shape({\n $$typeof: _propTypes.default.symbol,\n render: _propTypes.default.func\n}), _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string, _propTypes.default.shape({\n $$typeof: _propTypes.default.symbol,\n render: _propTypes.default.func\n})]))]);\n/* eslint key-spacing: [\"error\", { afterColon: true, align: \"value\" }] */\n// These are all setup to match what is in the bootstrap _variables.scss\n// https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss\n\n\nexports.tagPropType = tagPropType;\nvar TransitionTimeouts = {\n Fade: 150,\n // $transition-fade\n Collapse: 350,\n // $transition-collapse\n Modal: 300,\n // $modal-transition\n Carousel: 600 // $carousel-transition\n\n}; // Duplicated Transition.propType keys to ensure that Reactstrap builds\n// for distribution properly exclude these keys for nested child HTML attributes\n// since `react-transition-group` removes propTypes in production builds.\n\nexports.TransitionTimeouts = TransitionTimeouts;\nvar TransitionPropTypeKeys = ['in', 'mountOnEnter', 'unmountOnExit', 'appear', 'enter', 'exit', 'timeout', 'onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited'];\nexports.TransitionPropTypeKeys = TransitionPropTypeKeys;\nvar TransitionStatuses = {\n ENTERING: 'entering',\n ENTERED: 'entered',\n EXITING: 'exiting',\n EXITED: 'exited'\n};\nexports.TransitionStatuses = TransitionStatuses;\nvar keyCodes = {\n esc: 27,\n space: 32,\n enter: 13,\n tab: 9,\n up: 38,\n down: 40,\n home: 36,\n end: 35,\n n: 78,\n p: 80\n};\nexports.keyCodes = keyCodes;\nvar PopperPlacements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\nexports.PopperPlacements = PopperPlacements;\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexports.canUseDOM = canUseDOM;\n\nfunction isReactRefObj(target) {\n if (target && typeof target === 'object') {\n return 'current' in target;\n }\n\n return false;\n}\n\nfunction getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n\n return Object.prototype.toString.call(value);\n}\n\nfunction toNumber(value) {\n var type = typeof value;\n var NAN = 0 / 0;\n\n if (type === 'number') {\n return value;\n }\n\n if (type === 'symbol' || type === 'object' && getTag(value) === '[object Symbol]') {\n return NAN;\n }\n\n if (isObject(value)) {\n var other = typeof value.valueOf === 'function' ? value.valueOf() : value;\n value = isObject(other) ? \"\" + other : other;\n }\n\n if (type !== 'string') {\n return value === 0 ? value : +value;\n }\n\n value = value.replace(/^\\s+|\\s+$/g, '');\n var isBinary = /^0b[01]+$/i.test(value);\n return isBinary || /^0o[0-7]+$/i.test(value) ? parseInt(value.slice(2), isBinary ? 2 : 8) : /^[-+]0x[0-9a-f]+$/i.test(value) ? NAN : +value;\n}\n\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n\n var tag = getTag(value);\n return tag === '[object Function]' || tag === '[object AsyncFunction]' || tag === '[object GeneratorFunction]' || tag === '[object Proxy]';\n}\n\nfunction findDOMElements(target) {\n if (isReactRefObj(target)) {\n return target.current;\n }\n\n if (isFunction(target)) {\n return target();\n }\n\n if (typeof target === 'string' && canUseDOM) {\n var selection = document.querySelectorAll(target);\n\n if (!selection.length) {\n selection = document.querySelectorAll(\"#\" + target);\n }\n\n if (!selection.length) {\n throw new Error(\"The target '\" + target + \"' could not be identified in the dom, tip: check spelling\");\n }\n\n return selection;\n }\n\n return target;\n}\n\nfunction isArrayOrNodeList(els) {\n if (els === null) {\n return false;\n }\n\n return Array.isArray(els) || canUseDOM && typeof els.length === 'number';\n}\n\nfunction getTarget(target, allElements) {\n var els = findDOMElements(target);\n\n if (allElements) {\n if (isArrayOrNodeList(els)) {\n return els;\n }\n\n if (els === null) {\n return [];\n }\n\n return [els];\n } else {\n if (isArrayOrNodeList(els)) {\n return els[0];\n }\n\n return els;\n }\n}\n\nvar defaultToggleEvents = ['touchstart', 'click'];\nexports.defaultToggleEvents = defaultToggleEvents;\n\nfunction addMultipleEventListeners(_els, handler, _events, useCapture) {\n var els = _els;\n\n if (!isArrayOrNodeList(els)) {\n els = [els];\n }\n\n var events = _events;\n\n if (typeof events === 'string') {\n events = events.split(/\\s+/);\n }\n\n if (!isArrayOrNodeList(els) || typeof handler !== 'function' || !Array.isArray(events)) {\n throw new Error(\"\\n The first argument of this function must be DOM node or an array on DOM nodes or NodeList.\\n The second must be a function.\\n The third is a string or an array of strings that represents DOM events\\n \");\n }\n\n Array.prototype.forEach.call(events, function (event) {\n Array.prototype.forEach.call(els, function (el) {\n el.addEventListener(event, handler, useCapture);\n });\n });\n return function removeEvents() {\n Array.prototype.forEach.call(events, function (event) {\n Array.prototype.forEach.call(els, function (el) {\n el.removeEventListener(event, handler, useCapture);\n });\n });\n };\n}\n\nvar focusableElements = ['a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'object', 'embed', '[tabindex]:not(.modal)', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'];\nexports.focusableElements = focusableElements;"],"sourceRoot":""} \ No newline at end of file diff --git a/build/static/js/main.bf3d6f98.chunk.js b/build/static/js/main.bf3d6f98.chunk.js new file mode 100644 index 0000000..77c2e47 --- /dev/null +++ b/build/static/js/main.bf3d6f98.chunk.js @@ -0,0 +1,2 @@ +(this.webpackJsonpcompanion=this.webpackJsonpcompanion||[]).push([[0],{20:function(t,n,e){"use strict";var a=e(9),r=e(11),c=e.n(r),o=window.location.hostname+":3001";n.a=new function t(){Object(a.a)(this,t),this.login=function(t){return fetch("http://".concat(o,"/login"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({pwd:t})}).then((function(t){return t.json()}))},this.checkInstallation=function(){return fetch("http://".concat(o,"/checkInstallation")).then((function(t){return t.json()}))},this.createWallet=function(t){return fetch("http://".concat(o,"/createWallet"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({pwd:t})}).then((function(t){return t.json()}))},this.latestBlock=function(){return fetch("http://".concat(o,"/latestblock")).then((function(t){return t.json()}))},this.blockSizes=function(){return fetch("http://".concat(o,"/blocksizes")).then((function(t){return t.json()}))},this.serviceStatus=function(){return fetch("http://".concat(o,"/serviceStatus")).then((function(t){return t.json()}))},this.nbOfTx=function(){return fetch("http://".concat(o,"/nbOfTx")).then((function(t){return t.json()}))},this.restartAllServices=function(t){return fetch("http://".concat(o,"/restartAll"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({pwd:t})}).then((function(t){return t.json()}))},this.restartMainChain=function(t){return fetch("http://".concat(o,"/restartMainchain"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({pwd:t})}).then((function(t){return t.json()}))},this.restartDid=function(){return fetch("http://".concat(o,"/restartDid"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"}}).then((function(t){return t.json()}))},this.resyncDid=function(){return fetch("http://".concat(o,"/resyncDid"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"}}).then((function(t){return t.json()}))},this.restartCarrier=function(){return fetch("http://".concat(o,"/restartCarrier"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"}}).then((function(t){return t.json()}))},this.getBalance=function(t){return fetch("http://".concat(o,"/getBalance"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({address:t})}).then((function(t){return t.json()}))},this.sendTx=function(t,n,e){return fetch("http://".concat(o,"/sendTx"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({recipient:t,amount:n,pwd:e})}).then((function(t){return t.json()}))},this.txHistory=function(t){return console.log("https://node1.elaphant.app/api/3/history/"+t+"?pageNum=1&pageSize=10&order=desc"),fetch("https://node1.elaphant.app/api/3/history/"+t+"?pageNum=1&pageSize=10&order=desc").then((function(t){return t.json()}))},this.getOnion=function(){return c.a.get("http://".concat(o,"/getOnion"))},this.regenerateOnion=function(){return c.a.get("http://".concat(o,"/regenerateOnion"))}}},35:function(t,n,e){"use strict";var a=e(8),r=e.n(a),c=e(12),o=e(9),i=e(11),s=e.n(i);n.a=new function t(){var n=this;Object(o.a)(this,t),this.checkUpdate=function(){return new Promise(function(){var t=Object(c.a)(r.a.mark((function t(e,a){var c;return r.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,n.axios.get("/checkUpdate");case 3:return c=t.sent,t.abrupt("return",e(c.data));case 7:return t.prev=7,t.t0=t.catch(0),t.abrupt("return",a(t.t0));case 10:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(n,e){return t.apply(this,arguments)}}())},this.updateNow=function(){return new Promise(function(){var t=Object(c.a)(r.a.mark((function t(e,a){var c;return r.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,n.axios.get("/updateNow");case 3:return c=t.sent,t.abrupt("return",e(c.data));case 7:return t.prev=7,t.t0=t.catch(0),t.abrupt("return",a(t.t0));case 10:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(n,e){return t.apply(this,arguments)}}())},this.getVersion=function(){return n.axios.get("/getVersion")},this.submitForm=function(t){return new Promise(function(){var e=Object(c.a)(r.a.mark((function e(a,c){var o;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,n.axios.post("/sendSupportEmail",t);case 3:return o=e.sent,e.abrupt("return",a(o.data));case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",c(e.t0));case 10:case"end":return e.stop()}}),e,null,[[0,7]])})));return function(t,n){return e.apply(this,arguments)}}())},this.axios=s.a.create({baseURL:"http://"+window.location.hostname+":3002"})}},38:function(t,n,e){t.exports=e(67)},43:function(t,n,e){},66:function(t,n,e){},67:function(t,n,e){"use strict";e.r(n);var a=e(0),r=e.n(a),c=e(22),o=e.n(c),i=(e(43),e(21)),s=e(9),u=e(17),p=e(19),l=e(18),h=e(13),f=e(1),d=(e(35),e(20)),m=function(){return r.a.createElement("div",{className:"animated fadeIn pt-3 text-center"},"Loading...")},g=r.a.lazy((function(){return e.e(15).then(e.bind(null,314))})),b=r.a.lazy((function(){return e.e(7).then(e.bind(null,331))})),j=r.a.lazy((function(){return e.e(10).then(e.bind(null,315))}));function y(t){var n=t.children,e=Object(i.a)(t,["children"]),a=localStorage.getItem("isconfiged");return console.log(localStorage),console.log(a),r.a.createElement(f.b,Object.assign({},e,{render:function(t){var e=t.location;return"true"==a?n:r.a.createElement(f.a,{to:{pathname:"/config",state:{from:e}}})}}))}var w=function(t){Object(p.a)(e,t);var n=Object(l.a)(e);function e(t){var a;Object(s.a)(this,e),(a=n.call(this,t)).state={loading:!0};try{d.a.checkInstallation().then((function(t){localStorage.setItem("isconfiged",t.configed.trim()),a.setState({loading:!1})}))}catch(r){console.error(r)}return a}return Object(u.a)(e,[{key:"render",value:function(){return this.state.loading?r.a.createElement(h.a,null,r.a.createElement("div",null,r.a.createElement(r.a.Suspense,{fallback:m()},r.a.createElement(f.d,null,r.a.createElement(f.b,{path:"/check"},r.a.createElement("pre",{style:{wordWrap:"break-word",whiteSpace:"pre-wrap"}},JSON.stringify({ok:!0}))),r.a.createElement(f.b,{path:"/",component:m}))))):r.a.createElement(h.a,null,r.a.createElement("div",null,r.a.createElement(r.a.Suspense,{fallback:m()},r.a.createElement(f.d,null,r.a.createElement(f.b,{path:"/config"},r.a.createElement(b,null)),r.a.createElement(f.b,{path:"/download"},r.a.createElement(j,null)),r.a.createElement(f.b,{path:"/check"},r.a.createElement("pre",{style:{wordWrap:"break-word",whiteSpace:"pre-wrap"}},JSON.stringify({ok:!0}))),r.a.createElement(y,{path:"/"},r.a.createElement(g,null))))))}}]),e}(r.a.Component);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));e(65),e(66);o.a.render(r.a.createElement(w,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(t){t.unregister()}))}},[[38,1,4]]]); +//# sourceMappingURL=main.bf3d6f98.chunk.js.map \ No newline at end of file diff --git a/build/static/js/main.bf3d6f98.chunk.js.map b/build/static/js/main.bf3d6f98.chunk.js.map new file mode 100644 index 0000000..226b319 --- /dev/null +++ b/build/static/js/main.bf3d6f98.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["api/backend.js","api/master.js","App.js","serviceWorker.js","index.js"],"names":["PUBLIC_URI","window","location","hostname","login","pwd","fetch","method","headers","Accept","body","JSON","stringify","then","response","json","checkInstallation","createWallet","latestBlock","blockSizes","serviceStatus","nbOfTx","restartAllServices","restartMainChain","restartDid","resyncDid","restartCarrier","getBalance","address","sendTx","recipient","amount","txHistory","console","log","getOnion","axios","get","regenerateOnion","checkUpdate","Promise","resolve","reject","a","data","updateNow","getVersion","submitForm","post","this","create","baseURL","loading","className","Auth","React","lazy","Config","Download","PrivateRoute","children","rest","isConfiged","localStorage","getItem","render","to","pathname","state","from","App","props","backend","responseJson","setItem","configed","trim","setState","e","error","Suspense","fallback","path","style","wordWrap","whiteSpace","ok","component","Component","Boolean","match","ReactDOM","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.bf3d6f98.chunk.js","sourcesContent":["import axios from \"axios\"\nconst PUBLIC_URI = window.location.hostname + \":3001\"\nclass API {\n login = (pwd) => {\n return fetch(`http://${PUBLIC_URI}/login`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n pwd,\n }),\n }).then((response) => response.json());\n };\n\n checkInstallation = () => {\n return fetch(`http://${PUBLIC_URI}/checkInstallation`).then((response) =>\n response.json()\n );\n };\n\n createWallet = (pwd) => {\n return fetch(`http://${PUBLIC_URI}/createWallet`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n pwd,\n }),\n }).then((response) => response.json());\n };\n\n latestBlock = () => {\n return fetch(`http://${PUBLIC_URI}/latestblock`).then((response) =>\n response.json()\n );\n };\n\n blockSizes = () => {\n return fetch(`http://${PUBLIC_URI}/blocksizes`).then((response) =>\n response.json()\n );\n };\n\n serviceStatus = () => {\n return fetch(`http://${PUBLIC_URI}/serviceStatus`).then((response) =>\n response.json()\n );\n };\n\n nbOfTx = () => {\n return fetch(`http://${PUBLIC_URI}/nbOfTx`).then((response) => response.json());\n };\n\n\n restartAllServices = (pwd) => {\n return fetch(`http://${PUBLIC_URI}/restartAll`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n pwd: pwd,\n }),\n }).then((response) => response.json());\n };\n\n restartMainChain = (pwd) => {\n return fetch(`http://${PUBLIC_URI}/restartMainchain`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n pwd: pwd,\n }),\n }).then((response) => response.json());\n };\n\n\n restartDid = () => {\n return fetch(`http://${PUBLIC_URI}/restartDid`, {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n },\n\n })\n .then(response => response.json())\n };\n\n resyncDid = () => {\n return fetch(`http://${PUBLIC_URI}/resyncDid`, {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n },\n\n })\n .then(response => response.json())\n };\n\n\n restartCarrier = () => {\n return fetch(`http://${PUBLIC_URI}/restartCarrier`, {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n }\n })\n .then(response => response.json())\n };\n\n\n getBalance = (address) => {\n return fetch(`http://${PUBLIC_URI}/getBalance`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n address,\n }),\n }).then((response) => response.json());\n };\n\n sendTx = (recipient, amount, pwd) => {\n return fetch(`http://${PUBLIC_URI}/sendTx`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n recipient: recipient,\n amount: amount,\n pwd: pwd,\n }),\n }).then((response) => response.json());\n };\n\n txHistory = (address) => {\n console.log(\"https://node1.elaphant.app/api/3/history/\" + address + \"?pageNum=1&pageSize=10&order=desc\")\n\n return fetch(\n \"https://node1.elaphant.app/api/3/history/\" +\n address +\n \"?pageNum=1&pageSize=10&order=desc\"\n ).then((response) => response.json());\n };\n\n\n\n getOnion = () => {\n return axios.get(`http://${PUBLIC_URI}/getOnion`)\n }\n\n regenerateOnion = () => {\n return axios.get(`http://${PUBLIC_URI}/regenerateOnion`)\n }\n}\n\nexport default new API();","import axios from \"axios\";\r\n\r\nclass API {\r\n constructor() {\r\n this.axios = axios.create({\r\n baseURL: \"http://\" + window.location.hostname + \":3002\",\r\n });\r\n }\r\n\r\n checkUpdate = () => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const response = await this.axios.get(\"/checkUpdate\");\r\n return resolve(response.data);\r\n } catch (error) {\r\n return reject(error);\r\n }\r\n });\r\n };\r\n\r\n updateNow = () => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const response = await this.axios.get(\"/updateNow\");\r\n return resolve(response.data);\r\n } catch (error) {\r\n return reject(error);\r\n }\r\n });\r\n };\r\n\r\n getVersion = () => {\r\n return this.axios.get(`/getVersion`)\r\n }\r\n\r\n\r\n submitForm = (data) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const response = await this.axios.post(\"/sendSupportEmail\", data);\r\n return resolve(response.data);\r\n } catch (error) {\r\n return reject(error);\r\n }\r\n });\r\n };\r\n}\r\n\r\nexport default new API();\r\n","import React, { useEffect } from \"react\";\nimport {\n BrowserRouter as Router,\n Switch,\n Route,\n Redirect,\n} from \"react-router-dom\";\n\nimport master from \"./api/master\"\nimport backend from \"./api/backend\"\n\nconst loading = () => (\n
Loading...
\n);\nconst Auth = React.lazy(() => import(\"./views/Auth\"));\nconst Config = React.lazy(() => import(\"./views/Config\"));\nconst Download = React.lazy(() => import(\"./views/Download\"));\n\nclass App extends React.Component {\n constructor(props) {\n super(props);\n try {\n backend.checkInstallation()\n .then((responseJson) => {\n localStorage.setItem(\"isconfiged\", responseJson.configed.trim());\n this.setState({ loading: false });\n });\n } catch (e) {\n console.error(e)\n }\n }\n\n state = {\n loading: true,\n };\n\n render() {\n if (this.state.loading) {\n return (\n \n
\n \n \n \n \n {JSON.stringify({ ok: true })}\n \n \n \n \n \n
\n
\n );\n } else {\n return (\n \n
\n \n \n \n \n \n \n \n \n \n \n {JSON.stringify({ ok: true })}\n \n \n \n \n \n \n \n
\n
\n );\n }\n }\n}\n\n// A wrapper for that redirects to the login\n// screen if you're not yet authenticated.\nfunction PrivateRoute({ children, ...rest }) {\n const isConfiged = localStorage.getItem(\"isconfiged\");\n console.log(localStorage);\n console.log(isConfiged);\n return (\n \n isConfiged == \"true\" ? (\n children\n ) : (\n \n )\n }\n />\n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './w3.css';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/build/static/js/main.c6673507.chunk.js b/build/static/js/main.c6673507.chunk.js deleted file mode 100644 index 6bdc2f5..0000000 --- a/build/static/js/main.c6673507.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this.webpackJsonpcompanion=this.webpackJsonpcompanion||[]).push([[0],{20:function(t,e,n){"use strict";var a=n(9),r=n(11),c=n.n(r),o=window.location.hostname+":3001";e.a=new function t(){Object(a.a)(this,t),this.login=function(t){return fetch("http://".concat(o,"/login"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({pwd:t})}).then((function(t){return t.json()}))},this.checkInstallation=function(){return fetch("http://".concat(o,"/checkInstallation")).then((function(t){return t.json()}))},this.createWallet=function(t){return fetch("http://".concat(o,"/createWallet"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({pwd:t})}).then((function(t){return t.json()}))},this.latestBlock=function(){return fetch("http://".concat(o,"/latestblock")).then((function(t){return t.json()}))},this.blockSizes=function(){return fetch("http://".concat(o,"/blocksizes")).then((function(t){return t.json()}))},this.serviceStatus=function(){return fetch("http://".concat(o,"/serviceStatus")).then((function(t){return t.json()}))},this.nbOfTx=function(){return fetch("http://".concat(o,"/nbOfTx")).then((function(t){return t.json()}))},this.restartAllServices=function(t){return fetch("http://".concat(o,"/restartAll"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({pwd:t})}).then((function(t){return t.json()}))},this.restartMainChain=function(t){return fetch("http://".concat(o,"/restartMainchain"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({pwd:t})}).then((function(t){return t.json()}))},this.restartDid=function(){return fetch("http://".concat(o,"/restartDid"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"}}).then((function(t){return t.json()}))},this.restartCarrier=function(){return fetch("http://".concat(o,"/restartCarrier"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"}}).then((function(t){return t.json()}))},this.getBalance=function(t){return fetch("http://".concat(o,"/getBalance"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({address:t})}).then((function(t){return t.json()}))},this.sendTx=function(t,e,n){return fetch("http://".concat(o,"/sendTx"),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({recipient:t,amount:e,pwd:n})}).then((function(t){return t.json()}))},this.txHistory=function(t){return console.log("https://node1.elaphant.app/api/3/history/"+t+"?pageNum=1&pageSize=10&order=desc"),fetch("https://node1.elaphant.app/api/3/history/"+t+"?pageNum=1&pageSize=10&order=desc").then((function(t){return t.json()}))},this.getOnion=function(){return c.a.get("http://".concat(o,"/getOnion"))},this.regenerateOnion=function(){return c.a.get("http://".concat(o,"/regenerateOnion"))}}},35:function(t,e,n){"use strict";var a=n(8),r=n.n(a),c=n(12),o=n(9),i=n(11),s=n.n(i);e.a=new function t(){var e=this;Object(o.a)(this,t),this.checkUpdate=function(){return new Promise(function(){var t=Object(c.a)(r.a.mark((function t(n,a){var c;return r.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e.axios.get("/checkUpdate");case 3:return c=t.sent,t.abrupt("return",n(c.data));case 7:return t.prev=7,t.t0=t.catch(0),t.abrupt("return",a(t.t0));case 10:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e,n){return t.apply(this,arguments)}}())},this.updateNow=function(){return new Promise(function(){var t=Object(c.a)(r.a.mark((function t(n,a){var c;return r.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e.axios.get("/updateNow");case 3:return c=t.sent,t.abrupt("return",n(c.data));case 7:return t.prev=7,t.t0=t.catch(0),t.abrupt("return",a(t.t0));case 10:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(e,n){return t.apply(this,arguments)}}())},this.getVersion=function(){return e.axios.get("/getVersion")},this.submitForm=function(t){return new Promise(function(){var n=Object(c.a)(r.a.mark((function n(a,c){var o;return r.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,e.axios.post("/sendSupportEmail",t);case 3:return o=n.sent,n.abrupt("return",a(o.data));case 7:return n.prev=7,n.t0=n.catch(0),n.abrupt("return",c(n.t0));case 10:case"end":return n.stop()}}),n,null,[[0,7]])})));return function(t,e){return n.apply(this,arguments)}}())},this.axios=s.a.create({baseURL:"http://"+window.location.hostname+":3002"})}},38:function(t,e,n){t.exports=n(67)},43:function(t,e,n){},66:function(t,e,n){},67:function(t,e,n){"use strict";n.r(e);var a=n(0),r=n.n(a),c=n(22),o=n.n(c),i=(n(43),n(21)),s=n(9),u=n(17),p=n(19),l=n(18),h=n(13),f=n(1),d=(n(35),n(20)),m=function(){return r.a.createElement("div",{className:"animated fadeIn pt-3 text-center"},"Loading...")},g=r.a.lazy((function(){return n.e(15).then(n.bind(null,314))})),b=r.a.lazy((function(){return n.e(7).then(n.bind(null,331))})),j=r.a.lazy((function(){return n.e(10).then(n.bind(null,315))}));function w(t){var e=t.children,n=Object(i.a)(t,["children"]),a=localStorage.getItem("isconfiged");return console.log(localStorage),console.log(a),r.a.createElement(f.b,Object.assign({},n,{render:function(t){var n=t.location;return"true"==a?e:r.a.createElement(f.a,{to:{pathname:"/config",state:{from:n}}})}}))}var y=function(t){Object(p.a)(n,t);var e=Object(l.a)(n);function n(t){var a;Object(s.a)(this,n),(a=e.call(this,t)).state={loading:!0};try{d.a.checkInstallation().then((function(t){localStorage.setItem("isconfiged",t.configed.trim()),a.setState({loading:!1})}))}catch(r){console.error(r)}return a}return Object(u.a)(n,[{key:"render",value:function(){return this.state.loading?r.a.createElement(h.a,null,r.a.createElement("div",null,r.a.createElement(r.a.Suspense,{fallback:m()},r.a.createElement(f.d,null,r.a.createElement(f.b,{path:"/check"},r.a.createElement("pre",{style:{wordWrap:"break-word",whiteSpace:"pre-wrap"}},JSON.stringify({ok:!0}))),r.a.createElement(f.b,{path:"/",component:m}))))):r.a.createElement(h.a,null,r.a.createElement("div",null,r.a.createElement(r.a.Suspense,{fallback:m()},r.a.createElement(f.d,null,r.a.createElement(f.b,{path:"/config"},r.a.createElement(b,null)),r.a.createElement(f.b,{path:"/download"},r.a.createElement(j,null)),r.a.createElement(f.b,{path:"/check"},r.a.createElement("pre",{style:{wordWrap:"break-word",whiteSpace:"pre-wrap"}},JSON.stringify({ok:!0}))),r.a.createElement(w,{path:"/"},r.a.createElement(g,null))))))}}]),n}(r.a.Component);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));n(65),n(66);o.a.render(r.a.createElement(y,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(t){t.unregister()}))}},[[38,1,4]]]); -//# sourceMappingURL=main.c6673507.chunk.js.map \ No newline at end of file diff --git a/build/static/js/main.c6673507.chunk.js.map b/build/static/js/main.c6673507.chunk.js.map deleted file mode 100644 index 485b9e7..0000000 --- a/build/static/js/main.c6673507.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["api/backend.js","api/master.js","App.js","serviceWorker.js","index.js"],"names":["PUBLIC_URI","window","location","hostname","login","pwd","fetch","method","headers","Accept","body","JSON","stringify","then","response","json","checkInstallation","createWallet","latestBlock","blockSizes","serviceStatus","nbOfTx","restartAllServices","restartMainChain","restartDid","restartCarrier","getBalance","address","sendTx","recipient","amount","txHistory","console","log","getOnion","axios","get","regenerateOnion","checkUpdate","Promise","resolve","reject","a","data","updateNow","getVersion","submitForm","post","this","create","baseURL","loading","className","Auth","React","lazy","Config","Download","PrivateRoute","children","rest","isConfiged","localStorage","getItem","render","to","pathname","state","from","App","props","backend","responseJson","setItem","configed","trim","setState","e","error","Suspense","fallback","path","style","wordWrap","whiteSpace","ok","component","Component","Boolean","match","ReactDOM","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.c6673507.chunk.js","sourcesContent":["import axios from \"axios\"\nconst PUBLIC_URI = window.location.hostname + \":3001\"\nclass API {\n login = (pwd) => {\n return fetch(`http://${PUBLIC_URI}/login`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n pwd,\n }),\n }).then((response) => response.json());\n };\n\n checkInstallation = () => {\n return fetch(`http://${PUBLIC_URI}/checkInstallation`).then((response) =>\n response.json()\n );\n };\n\n createWallet = (pwd) => {\n return fetch(`http://${PUBLIC_URI}/createWallet`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n pwd,\n }),\n }).then((response) => response.json());\n };\n\n latestBlock = () => {\n return fetch(`http://${PUBLIC_URI}/latestblock`).then((response) =>\n response.json()\n );\n };\n\n blockSizes = () => {\n return fetch(`http://${PUBLIC_URI}/blocksizes`).then((response) =>\n response.json()\n );\n };\n\n serviceStatus = () => {\n return fetch(`http://${PUBLIC_URI}/serviceStatus`).then((response) =>\n response.json()\n );\n };\n\n nbOfTx = () => {\n return fetch(`http://${PUBLIC_URI}/nbOfTx`).then((response) => response.json());\n };\n\n\n restartAllServices = (pwd) => {\n return fetch(`http://${PUBLIC_URI}/restartAll`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n pwd: pwd,\n }),\n }).then((response) => response.json());\n };\n\n restartMainChain = (pwd) => {\n return fetch(`http://${PUBLIC_URI}/restartMainchain`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n pwd: pwd,\n }),\n }).then((response) => response.json());\n };\n\n\n restartDid = () => {\n return fetch(`http://${PUBLIC_URI}/restartDid`, {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n },\n\n })\n .then(response => response.json())\n };\n\n\n restartCarrier = () => {\n return fetch(`http://${PUBLIC_URI}/restartCarrier`, {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n }\n })\n .then(response => response.json())\n };\n\n\n getBalance = (address) => {\n return fetch(`http://${PUBLIC_URI}/getBalance`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n address,\n }),\n }).then((response) => response.json());\n };\n\n sendTx = (recipient, amount, pwd) => {\n return fetch(`http://${PUBLIC_URI}/sendTx`, {\n method: \"POST\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n recipient: recipient,\n amount: amount,\n pwd: pwd,\n }),\n }).then((response) => response.json());\n };\n\n txHistory = (address) => {\n console.log(\"https://node1.elaphant.app/api/3/history/\" + address + \"?pageNum=1&pageSize=10&order=desc\")\n\n return fetch(\n \"https://node1.elaphant.app/api/3/history/\" +\n address +\n \"?pageNum=1&pageSize=10&order=desc\"\n ).then((response) => response.json());\n };\n\n\n\n getOnion = () => {\n return axios.get(`http://${PUBLIC_URI}/getOnion`)\n }\n\n regenerateOnion = () => {\n return axios.get(`http://${PUBLIC_URI}/regenerateOnion`)\n }\n}\n\nexport default new API();","import axios from \"axios\";\r\n\r\nclass API {\r\n constructor() {\r\n this.axios = axios.create({\r\n baseURL: \"http://\" + window.location.hostname + \":3002\",\r\n });\r\n }\r\n\r\n checkUpdate = () => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const response = await this.axios.get(\"/checkUpdate\");\r\n return resolve(response.data);\r\n } catch (error) {\r\n return reject(error);\r\n }\r\n });\r\n };\r\n\r\n updateNow = () => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const response = await this.axios.get(\"/updateNow\");\r\n return resolve(response.data);\r\n } catch (error) {\r\n return reject(error);\r\n }\r\n });\r\n };\r\n\r\n getVersion = () => {\r\n return this.axios.get(`/getVersion`)\r\n }\r\n\r\n\r\n submitForm = (data) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const response = await this.axios.post(\"/sendSupportEmail\", data);\r\n return resolve(response.data);\r\n } catch (error) {\r\n return reject(error);\r\n }\r\n });\r\n };\r\n}\r\n\r\nexport default new API();\r\n","import React, { useEffect } from \"react\";\nimport {\n BrowserRouter as Router,\n Switch,\n Route,\n Redirect,\n} from \"react-router-dom\";\n\nimport master from \"./api/master\"\nimport backend from \"./api/backend\"\n\nconst loading = () => (\n
Loading...
\n);\nconst Auth = React.lazy(() => import(\"./views/Auth\"));\nconst Config = React.lazy(() => import(\"./views/Config\"));\nconst Download = React.lazy(() => import(\"./views/Download\"));\n\nclass App extends React.Component {\n constructor(props) {\n super(props);\n try {\n backend.checkInstallation()\n .then((responseJson) => {\n localStorage.setItem(\"isconfiged\", responseJson.configed.trim());\n this.setState({ loading: false });\n });\n } catch (e) {\n console.error(e)\n }\n }\n\n state = {\n loading: true,\n };\n\n render() {\n if (this.state.loading) {\n return (\n \n
\n \n \n \n \n {JSON.stringify({ ok: true })}\n \n \n \n \n \n
\n
\n );\n } else {\n return (\n \n
\n \n \n \n \n \n \n \n \n \n \n {JSON.stringify({ ok: true })}\n \n \n \n \n \n \n \n
\n
\n );\n }\n }\n}\n\n// A wrapper for that redirects to the login\n// screen if you're not yet authenticated.\nfunction PrivateRoute({ children, ...rest }) {\n const isConfiged = localStorage.getItem(\"isconfiged\");\n console.log(localStorage);\n console.log(isConfiged);\n return (\n \n isConfiged == \"true\" ? (\n children\n ) : (\n \n )\n }\n />\n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './w3.css';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/build/static/js/runtime-main.b53b0c85.js b/build/static/js/runtime-main.340d8cc3.js similarity index 95% rename from build/static/js/runtime-main.b53b0c85.js rename to build/static/js/runtime-main.340d8cc3.js index e8048a9..59a069b 100644 --- a/build/static/js/runtime-main.b53b0c85.js +++ b/build/static/js/runtime-main.340d8cc3.js @@ -1,2 +1,2 @@ -!function(e){function r(r){for(var n,u,c=r[0],i=r[1],f=r[2],p=0,s=[];p response.json()) }; + resyncDid = () => { + return fetch(`http://${PUBLIC_URI}/resyncDid`, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json' + }, + + }) + .then(response => response.json()) + }; + restartCarrier = () => { return fetch(`http://${PUBLIC_URI}/restartCarrier`, { diff --git a/src/views/Settings.js b/src/views/Settings.js index 15bb614..48ee87f 100644 --- a/src/views/Settings.js +++ b/src/views/Settings.js @@ -96,6 +96,25 @@ class Settings extends Component { }); }; + resyncDid = () => { + // e.preventDefault(); + this.setState({ didResyncModal: false }); + + backend + .resyncDid() + .then((responseJson) => { + console.log(responseJson); + if (responseJson.ok == "ok") { + this.setState({ sentmodal: true }); + } else { + this.setState({ errormodal: true }); + } + }) + .catch((error) => { + console.error(error); + }); + }; + restartCarrier = () => { // e.preventDefault(); this.setState({ mainchainRestartModal: false });