From d8b4619ab714aa10475bb5118ddbf3bc959cd0bb Mon Sep 17 00:00:00 2001 From: thelamer Date: Mon, 15 Jun 2020 16:19:50 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=2092400?= =?UTF-8?q?a209b4b6c380040b840f2bf508c74a93260=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 +- js/app.1e0b207f.js | 2 ++ js/app.1e0b207f.js.map | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 js/app.1e0b207f.js create mode 100644 js/app.1e0b207f.js.map diff --git a/index.html b/index.html index 6a3fbe2..bc6e7c8 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -LSIO Nano Wallet
\ No newline at end of file +LSIO Nano Wallet
\ No newline at end of file diff --git a/js/app.1e0b207f.js b/js/app.1e0b207f.js new file mode 100644 index 0000000..3f59c07 --- /dev/null +++ b/js/app.1e0b207f.js @@ -0,0 +1,2 @@ +(function(t){function e(e){for(var a,r,o=e[0],c=e[1],l=e[2],u=0,p=[];u-1:t.seed},on:{change:function(e){var n=t.seed,a=e.target,s=!!a.checked;if(Array.isArray(n)){var i=null,r=t._i(n,i);a.checked?r<0&&(t.seed=n.concat([i])):r>-1&&(t.seed=n.slice(0,r).concat(n.slice(r+1)))}else t.seed=s}}}):"radio"===t.logintype?n("input",{directives:[{name:"model",rawName:"v-model",value:t.seed,expression:"seed"}],attrs:{placeholder:"Seed",id:"seed",name:"seed",type:"radio"},domProps:{checked:t._q(t.seed,null)},on:{change:function(e){t.seed=null}}}):n("input",{directives:[{name:"model",rawName:"v-model",value:t.seed,expression:"seed"}],attrs:{placeholder:"Seed",id:"seed",name:"seed",type:t.logintype},domProps:{value:t.seed},on:{input:function(e){e.target.composing||(t.seed=e.target.value)}}}),n("span",{staticClass:"eye",on:{click:t.togglevisibility}},[n("span",{class:{active:"password"===t.logintype}},[n("i",{staticClass:"far fa-eye"})]),n("span",{class:{active:"text"===t.logintype}},[n("i",{staticClass:"far fa-eye-slash"})])])]):t._e(),!1===t.seedtab?n("div",{staticClass:"login"},["checkbox"===t.logintype?n("input",{directives:[{name:"model",rawName:"v-model",value:t.key,expression:"key"}],attrs:{placeholder:"Private key",id:"key",name:"key",type:"checkbox"},domProps:{checked:Array.isArray(t.key)?t._i(t.key,null)>-1:t.key},on:{change:function(e){var n=t.key,a=e.target,s=!!a.checked;if(Array.isArray(n)){var i=null,r=t._i(n,i);a.checked?r<0&&(t.key=n.concat([i])):r>-1&&(t.key=n.slice(0,r).concat(n.slice(r+1)))}else t.key=s}}}):"radio"===t.logintype?n("input",{directives:[{name:"model",rawName:"v-model",value:t.key,expression:"key"}],attrs:{placeholder:"Private key",id:"key",name:"key",type:"radio"},domProps:{checked:t._q(t.key,null)},on:{change:function(e){t.key=null}}}):n("input",{directives:[{name:"model",rawName:"v-model",value:t.key,expression:"key"}],attrs:{placeholder:"Private key",id:"key",name:"key",type:t.logintype},domProps:{value:t.key},on:{input:function(e){e.target.composing||(t.key=e.target.value)}}}),n("span",{staticClass:"eye",on:{click:t.togglevisibility}},[n("span",{class:{active:"password"===t.logintype}},[n("i",{staticClass:"far fa-eye"})]),n("span",{class:{active:"text"===t.logintype}},[n("i",{staticClass:"far fa-eye-slash"})])])]):t._e(),!0===t.showadvanced?n("div",[n("label",{attrs:{for:"seedindex"}},[t._v("Seed Index")]),n("div",{staticClass:"login"},["checkbox"===t.logintype?n("input",{directives:[{name:"model",rawName:"v-model",value:t.seedindex,expression:"seedindex"}],attrs:{id:"seedindex",name:"seedindex",type:"checkbox"},domProps:{checked:Array.isArray(t.seedindex)?t._i(t.seedindex,null)>-1:t.seedindex},on:{change:function(e){var n=t.seedindex,a=e.target,s=!!a.checked;if(Array.isArray(n)){var i=null,r=t._i(n,i);a.checked?r<0&&(t.seedindex=n.concat([i])):r>-1&&(t.seedindex=n.slice(0,r).concat(n.slice(r+1)))}else t.seedindex=s}}}):"radio"===t.logintype?n("input",{directives:[{name:"model",rawName:"v-model",value:t.seedindex,expression:"seedindex"}],attrs:{id:"seedindex",name:"seedindex",type:"radio"},domProps:{checked:t._q(t.seedindex,null)},on:{change:function(e){t.seedindex=null}}}):n("input",{directives:[{name:"model",rawName:"v-model",value:t.seedindex,expression:"seedindex"}],attrs:{id:"seedindex",name:"seedindex",type:t.logintype},domProps:{value:t.seedindex},on:{input:function(e){e.target.composing||(t.seedindex=e.target.value)}}})])]):t._e(),n("button",{staticClass:"openwallet btn",attrs:{type:"button"},on:{click:t.openWallet}},[t._v("Open Wallet")]),n("scan-qr",{on:{scanned:t.scanDone}}),!1!==t.nfcsup?n("scan-nfc",{on:{scanned:t.scanDone}}):t._e()],1),n("div",{attrs:{id:"buttons"}},[n("router-link",{staticClass:"genwallet",attrs:{to:t.$store.getters["app/nodeLink"]+"generate"}},[t._v("Generate Wallet")])],1)]),n("div",{staticClass:"page",class:{active:!0===t.open},attrs:{id:"wallet"}},[n("div",{attrs:{id:"powstatus"}},[n("div",{staticClass:"status busy",class:{active:!1===t.ready}},[t._v("Calculating Work "),n("i",{staticClass:"fas fa-spinner fa-spin"})]),n("div",{staticClass:"status ready",class:{active:!0===t.ready}},[t._v("Ready "),n("i",{staticClass:"fas fa-check"})])]),n("div",{staticClass:"inner"},[n("div",{staticClass:"block"},[n("div",{staticClass:"headingtitle top"},[n("span",{attrs:{id:"closewallet"},on:{click:t.logout}},[n("i",{staticClass:"fal fa-sign-out fa-flip-horizontal"})]),n("span",[t._v("Wallet")]),n("span",{staticClass:"refresh rotate",class:{down:t.isActive},on:{click:t.refresh}},[n("i",{staticClass:"fal fa-sync"})]),n("div",{staticClass:"lastrefresh"},[t._v("Last Refresh: "+t._s(t.lastrefresh.toLocaleTimeString()))])]),n("simplebar",{staticClass:"block pending"},[n("div",{attrs:{id:"output"}},[n("div",{staticClass:"balance"},[n("div",{staticClass:"raw",class:{active:t.balanceextra},on:{click:function(e){return t.copyToClipboard(t.address)}}},[t._v(t._s(t.address))]),n("div",{staticClass:"value",domProps:{innerHTML:t._s(t.abbreviateNumber(t.balance))}}),n("div",{staticClass:"raw",class:{active:t.balanceextra}},[t._v(t._s(t.balance))]),n("a",{staticClass:"balanceextra",attrs:{href:""},on:{click:function(e){e.preventDefault(),t.balanceextra=!t.balanceextra}}},[n("i",{staticClass:"fal fa-ellipsis-h",attrs:{"data-fa-transform":"grow-20"}})])])]),n("div",{staticClass:"headingtitle showmobile"},[t._v("History")]),t._l(t.pending,(function(e,a){return n("transaction",{key:a,attrs:{index:a,transaction:e,type:"pending"},on:{blockdetails:function(e){t.blockdetails=e},receive:t.refreshDetails}})}))],2)],1),n("simplebar",{staticClass:"block history"},[n("div",{staticClass:"headingtitle hidemobile"},[t._v("History")]),t._l(t.history,(function(e,a){return n("transaction",{key:a,attrs:{index:a,transaction:e,type:e.type},on:{blockdetails:function(e){t.blockdetails=e}}})}))],2)],1),n("div",{staticClass:"menu",attrs:{id:"walletmenu"}},[n("div",{staticClass:"bg"}),n("div",{staticClass:"content"},[n("div",{staticClass:"tab",attrs:{"data-tab":"#receive"},on:{click:function(e){t.receive=!0}}},[t._m(0),n("span",[t._v("Receive")])]),n("div",{staticClass:"tab",attrs:{"data-tab":"#send"},on:{click:function(e){t.send=!0}}},[t._m(1),n("span",[t._v("Send")])]),n("div",{staticClass:"tab",attrs:{"data-tab":"#settings"},on:{click:function(e){t.settings=!0}}},[t._m(2),n("span",[t._v("Settings")])])])])]),n("div",{staticClass:"page",class:{active:!1!==t.send},attrs:{id:"send"}},[!0===t.closebutton?n("a",{staticClass:"close",on:{click:function(e){t.send=!1}}},[n("i",{staticClass:"fal fa-times"})]):t._e(),n("send",{attrs:{open:t.send},on:{close:function(e){t.send=!1}}})],1),n("div",{staticClass:"page",class:{active:!1!==t.settings},attrs:{id:"settings"}},[!0===t.closebutton?n("a",{staticClass:"close",on:{click:function(e){t.settings=!1}}},[n("i",{staticClass:"fal fa-times"})]):t._e(),n("settings",{attrs:{open:t.settings,representative:t.representative},on:{change:t.repChange}})],1),n("div",{staticClass:"page",class:{active:!1!==t.receive},attrs:{id:"receive"}},[!0===t.closebutton?n("a",{staticClass:"close",on:{click:function(e){t.receive=!1}}},[n("i",{staticClass:"fal fa-times"})]):t._e(),n("receive",{attrs:{address:t.address}})],1),n("div",{staticClass:"page",class:{active:null!==t.blockdetails},attrs:{id:"blockdetails"}},[!0===t.closebutton?n("a",{staticClass:"close",on:{click:function(e){t.blockdetails=null}}},[n("i",{staticClass:"fal fa-times"})]):t._e(),n("block-state",{attrs:{details:t.blockdetails}})],1)])},m=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",{staticClass:"menuicon"},[n("i",{staticClass:"fal fa-wallet",attrs:{"data-fa-transform":"grow-8"}})])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",{staticClass:"menuicon"},[n("i",{staticClass:"fal fa-coins",attrs:{"data-fa-transform":"grow-8"}})])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",{staticClass:"menuicon"},[n("i",{staticClass:"fal fa-cog",attrs:{"data-fa-transform":"grow-8"}})])}],b=(n("c975"),n("b0c0"),n("b64b"),n("ac1f"),n("5319"),n("2ca0"),n("b85c")),g=(n("96cf"),n("1da1")),k=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"transaction",class:t.type},[n("div",{staticClass:"type icon",attrs:{value:t.hash},on:{click:function(e){return t.$emit("blockdetails",t.hash)}}},["send"===t.type?n("i",{staticClass:"fal fa-minus-circle"}):"pending"===t.type?n("i",{staticClass:"fal fa-exclamation-circle"}):n("i",{staticClass:"fal fa-plus-circle"})]),n("div",{staticClass:"innerdetails"},[n("div",{staticClass:"amount"},[n("div",{staticClass:"value",attrs:{title:t.rawValue},domProps:{innerHTML:t._s(t.formattedValue)}},[n("i",{staticClass:"fal fa-coin"})]),"pending"!==t.type?n("div",{staticClass:"type"},[t._v(t._s(t.transactionStatus(t.transaction.type)))]):t._e(),"pending"===t.type?n("div",{staticClass:"type"},[null!==t.privatekey?n("button",{staticClass:"pocket",on:{click:t.receive}},[t._v("Click to Receive")]):n("div",{},[t._v("Pending")])]):t._e()]),n("div",{staticClass:"address"},["pending"!==t.type?n("span",{domProps:{innerHTML:t._s(t.abbreviateAddress(t.transaction.account)+" "+t.formattedDate)},on:{click:function(e){return t.link("address",t.transaction.account)}}}):t._e(),"pending"===t.type?n("span",{domProps:{innerHTML:t._s(t.abbreviateAddress(t.transaction.source))},on:{click:function(e){return t.link("address",t.transaction.source)}}}):t._e()])])])},y=[],w=(n("a9e3"),n("b680"),n("174c")),x=(n("fb6a"),n("8722")),C=n("174c"),_={data:function(){return{rawconv:{from:"raw",to:"Nano"},nanoconv:{from:"Nano",to:"raw"}}},computed:{},mounted:function(){},methods:{abbreviateNumber:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return console.log(t),2===e?t<.005?t:x(t).format({trimMantissa:!0,mantissa:2,average:!0}):x(t).format({trimMantissa:!0,mantissa:10,average:!0})},copyToClipboard:function(t){var e=document.createElement("textarea");e.innerHTML=t,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e),r["default"].notify({title:"Success!",text:"Copied to clipboard",type:"success"})},link:function(t,e){var n=window.location.origin;"address"==t&&window.open(n+"/#"+this.$store.getters["app/nodeLink"]+"address/"+e),"block"==t&&window.open(n+"/#"+this.$store.getters["app/nodeLink"]+"block/"+e)},abbreviateAddress:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n="";return!0===e&&(n+=''),n+=t.substring(0,11)+"..."+t.slice(t.length-6),!0===e&&(n+=""),n},highlightAddress:function(t){if(null!==t&&void 0!==t){var e=t.length-6;return''+t.substring(0,11)+""+t.substring(11,e)+''+t.slice(t.length-6)+""}return null},transactionStatus:function(t){return"send"===t?"Sent":"receive"===t?"Received":void 0},checkamount:function(t){return!!C.checkAmount(t)||(this.$notify({title:"Invalid amount",text:"Please ensure the amount selected is a valid",type:"error"}),!1)}}},S=n("901e"),T=n.n(S),A={name:"Transaction",props:{transaction:Object,type:String,index:[Number,String]},mixins:[_],computed:{rawValue:function(){return w["convert"](this.transaction.amount,this.rawconv)},formattedValue:function(){return("send"===this.transaction.type?"-":"+")+this.abbreviateNumber(w["convert"](this.transaction.amount,this.rawconv),5)},formattedDate:function(){var t=new Date(1e3*this.transaction.local_timestamp);return t.getDate()+" "+t.toLocaleString("default",{month:"short"})+" "+t.getFullYear()},pow:function(){return this.$store.state.app.pow},ready:function(){return this.$store.state.app.ready},privatekey:function(){return this.$store.state.app.privatekey},hash:function(){return"pending"===this.type?this.index:this.transaction.hash}},methods:{receive:function(){var t=this;return Object(g["a"])(regeneratorRuntime.mark((function e(){var n,a,s,i,r,o,c,l,u,d,p;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return null===t.pow&&t.$notify({title:"PoW not complete",text:"Please wait for the status to be ready",type:"error"}),n=w["derivePublicKey"](t.privatekey),a=w["deriveAddress"](n,{useNanoPrefix:!0}),s={},s["action"]="account_info",s["representative"]="true",s["account"]=a,e.next=9,t.$store.dispatch("app/rpCall",s);case 9:return i=e.sent,r="0",o="open",c="0000000000000000000000000000000000000000000000000000000000000000",l=a,"balance"in i&&(r=i.balance,o="receive",c=i.frontier,l=i.representative),u=new T.a(r).plus(new T.a(t.transaction.amount)).toFixed(),d=w["createBlock"](t.privatekey,{work:t.pow,previous:c,representative:l,balance:u,link:t.index}),p={},p["action"]="process",p["json_block"]="true",p["subtype"]=o,p["block"]=d.block,e.next=24,t.$store.dispatch("app/rpCall",p);case 24:t.$emit("receive",!0);case 25:case"end":return e.stop()}}),e)})))()}}},R=A,O=Object(d["a"])(R,k,y,!1,null,"f4aa3dc0",null),$=O.exports,j=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"send"},[n("div",{attrs:{id:"sendform"}},[n("label",{attrs:{for:"amount"}},[t._v("Amount:")]),n("div",{staticClass:"login"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.amount,expression:"amount"}],attrs:{type:"text",id:"amount",name:"amount"},domProps:{value:t.amount},on:{input:function(e){e.target.composing||(t.amount=e.target.value)}}}),n("span",{staticClass:"max",on:{click:t.setmax}},[t._v("MAX")])]),n("label",{attrs:{for:"destination"}},[t._v("Destination:")]),n("input",{directives:[{name:"model",rawName:"v-model",value:t.destination,expression:"destination"}],attrs:{type:"text",id:"destination",name:"destination"},domProps:{value:t.destination},on:{input:function(e){e.target.composing||(t.destination=e.target.value)}}})]),n("scan-qr",{on:{scanned:t.scanDone}}),!1!==t.nfcsup?n("scan-nfc",{on:{scanned:t.scanDone}}):t._e(),n("button",{staticClass:"sendfunds btn",attrs:{type:"button"},on:{click:t.send}},[t._v("Send")])],1)},P=[],E=(n("4160"),n("1276"),n("159b"),function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"scan-qr-code"},[n("button",{staticClass:"scan btn outline",attrs:{type:"button"},on:{click:t.scanQR}},[t._v("Scan QR")]),n("div",{staticClass:"page",class:{active:!1!==t.scan},staticStyle:{"z-index":"9"}},[n("a",{staticClass:"close",on:{click:t.closeScan}},[n("i",{staticClass:"fal fa-times"})]),t.loadingMsg?n("div",[t._v(t._s(t.loadingMsg))]):t._e(),n("canvas",{attrs:{id:"scan_"+t._uid}})])])}),D=[],B=n("ecec"),N=n.n(B),F=document.createElement("video"),I={name:"ScanQr",props:{},data:function(){return{amount:"",destination:"",scan:!1,scanner:null,canvas:null,stream:null,continue:!0,loadingMsg:"Unable to access video stream (please make sure you have a webcam enabled)"}},methods:{closeScan:function(){F.srcObject&&F.srcObject.getTracks().forEach((function(t){t.stop()})),this.scan=!1,this.continue=!1},scanQR:function(){var t=this;return Object(g["a"])(regeneratorRuntime.mark((function e(){var n,a,s,i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:i=function(){if(a.loadingMsg="Loading video...",F.readyState===F.HAVE_ENOUGH_DATA){a.loadingMsg=null,n.height=F.videoHeight,n.width=F.videoWidth,a.canvas.drawImage(F,0,0,n.width,n.height);var t=a.canvas.getImageData(0,0,n.width,n.height),e=N()(t.data,t.width,t.height,{inversionAttempts:"dontInvert"});e&&(s(e.location.topLeftCorner,e.location.topRightCorner,"#0cd21a"),s(e.location.topRightCorner,e.location.bottomRightCorner,"#0cd21a"),s(e.location.bottomRightCorner,e.location.bottomLeftCorner,"#0cd21a"),s(e.location.bottomLeftCorner,e.location.topLeftCorner,"#0cd21a"),a.$emit("scanned",e.data),F.srcObject.getTracks().forEach((function(t){t.stop()})),a.continue=!1,setTimeout((function(){a.scan=!1}),1200))}!0===a.continue&&requestAnimationFrame(i)},s=function(t,e,n){a.canvas.beginPath(),a.canvas.moveTo(t.x,t.y),a.canvas.lineTo(e.x,e.y),a.canvas.lineWidth=4,a.canvas.strokeStyle=n,a.canvas.stroke()},t.scan=!0,t.continue=!0,n=document.getElementById("scan_"+t._uid),t.canvas=n.getContext("2d"),a=t,navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}).then((function(t){F.srcObject=t,F.setAttribute("playsinline",!0),F.play(),requestAnimationFrame(i)}));case 8:case"end":return e.stop()}}),e)})))()}}},L=I,M=Object(d["a"])(L,E,D,!1,null,null,null),W=M.exports,G=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"scan-nfc-code"},[n("button",{staticClass:"scan btn outline",attrs:{type:"button"},on:{click:t.scanNfc}},[t._v("Scan NFC")]),n("div",{staticClass:"page",class:{active:!1!==t.scannfc},staticStyle:{"z-index":"9"}},[n("a",{staticClass:"close",on:{click:t.closeScan}},[n("i",{staticClass:"fal fa-times"})]),"Scanning"===t.output?n("div",[t._v(t._s(t.output)+" "),n("i",{staticClass:"fas fa-spinner fa-spin"})]):n("div",[t._v(t._s(t.output))])])])},H=[],U={name:"ScanNfc",props:{},data:function(){return{output:"Checking for Web NFC Support",scannfc:!1,reader:null}},methods:{closeScan:function(){this.scannfc=!1,null!==this.reader&&this.reader.stop()},scanNfc:function(){var t=this;return Object(g["a"])(regeneratorRuntime.mark((function e(){var n;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return t.scannfc=!0,n=t,e.prev=2,n.reader=new NDEFReader,e.next=6,n.reader.scan();case 6:n.output="Scanning",n.reader.addEventListener("error",(function(t){n.output=t.message})),n.reader.onreading=function(t){var e,a=t.message,s=Object(b["a"])(a.records);try{for(s.s();!(e=s.n()).done;){var i=e.value;switch(i.recordType){case"text":var r=new TextDecoder(i.encoding),o=r.decode(i.data);n.$emit("scanned",o),n.closeScan();break;default:n.output="only text NDEF records are supported for scanning"}}}catch(c){s.e(c)}finally{s.f()}},e.next=14;break;case 11:e.prev=11,e.t0=e["catch"](2),n.output=e.t0;case 14:case"end":return e.stop()}}),e,null,[[2,11]])})))()}}},V=U,q=Object(d["a"])(V,G,H,!1,null,null,null),K=q.exports,J={name:"Send",mixins:[_],components:{ScanQr:W,ScanNfc:K},props:{address:String,open:Boolean},data:function(){return{amount:"",destination:"",nfcsup:!1}},computed:{pow:function(){return this.$store.state.app.pow},ready:function(){return this.$store.state.app.ready},privatekey:function(){return this.$store.state.app.privatekey}},watch:{open:function(t,e){!0===t&&!1===e&&(this.amount="",this.destination="")}},mounted:function(){"NDEFReader"in window&&(this.nfcsup=!0)},methods:{scanDone:function(t){this.amount="",this.destination="";var e=t.replace("nano:","").split("?");this.destination=e[0],e[1]&&e[1].split("&").forEach((function(t){var e=t.split("=");if("amount"==e[0]&&e[1]){var n=w["convert"](e[1],this.rawconv);this.checkamount(e[1])&&(this.amount=n)}}),this)},send:function(){var t=this;return Object(g["a"])(regeneratorRuntime.mark((function e(){var n,a,s,i,r,o,c,l;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(null===t.pow&&t.$notify({title:"PoW not complete",text:"Please wait for the status to be ready",type:"error"}),t.amount.startsWith(".")&&(t.amount="0"+t.amount),n=w["convert"](t.amount,t.nanoconv),!t.checkamount(n)||!w["checkAddress"](t.destination)){e.next=29;break}return a=w["derivePublicKey"](t.privatekey),s=w["deriveAddress"](a,{useNanoPrefix:!0}),i={},i["action"]="account_info",i["representative"]="true",i["account"]=s,e.next=12,t.$store.dispatch("app/rpCall",i);case 12:return r=e.sent,o=new T.a(r.balance).minus(new T.a(n)).toFixed(),c=w["createBlock"](t.privatekey,{work:t.pow,previous:r.frontier,representative:r.representative,balance:o,link:t.destination}),console.log(c),l={},l["action"]="process",l["json_block"]="true",l["subtype"]="send",l["block"]=c.block,e.next=23,t.$store.dispatch("app/rpCall",l);case 23:t.$store.commit("app/pow",null),t.amount="",t.destination="",t.$emit("close","true"),e.next=30;break;case 29:w["checkAddress"](t.destination)||t.$notify({title:"Destination address is not valid",text:"Please use a valid address",type:"error"});case 30:case"end":return e.stop()}}),e)})))()},setmax:function(){this.amount=this.$store.state.app.balance}}},Q=J,Y=Object(d["a"])(Q,j,P,!1,null,null,null),z=Y.exports,X=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"receive inner"},[n("div",{directives:[{name:"show",rawName:"v-show",value:!1===t.showset,expression:"showset === false"}],staticClass:"block"},[n("div",{staticClass:"address",domProps:{innerHTML:t._s(t.highlightAddress(t.address))},on:{click:function(e){return t.link("address",t.address)}}}),n("qr-block",{attrs:{address:t.receive}}),!0===t.set?n("div",{staticClass:"receive-amount"},[t._v("Amount: "+t._s(t.amount))]):t._e(),!0===t.clipboard?n("a",{staticClass:"btn",on:{click:function(e){return e.preventDefault(),t.copyToClipboard(t.address)}}},[t._v("Copy Address")]):t._e(),n("a",{staticClass:"btn outline",on:{click:function(e){return e.preventDefault(),t.setAmount()}}},[t._v("Set Amount")]),n("a",{staticClass:"btn outline",on:{click:function(e){return e.preventDefault(),t.clearReceive()}}},[t._v("Clear Amount")])],1),n("div",{directives:[{name:"show",rawName:"v-show",value:!1!==t.showset,expression:"showset !== false"}],staticClass:"block",staticStyle:{padding:"0","margin-top":"-47px"}},[n("div",{staticClass:"amount"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.amount,expression:"amount"}],ref:"amount",attrs:{type:"text"},domProps:{value:t.amount},on:{keypress:function(e){return t.isNumber(e)},paste:function(e){return t.isNumber(e)},input:function(e){e.target.composing||(t.amount=e.target.value)}}})]),n("div",{staticClass:"keypad"},[n("div",{staticClass:"row"},[n("button",{on:{click:function(e){return t.addNumber("7")}}},[t._v("7")]),n("button",{on:{click:function(e){return t.addNumber("8")}}},[t._v("8")]),n("button",{on:{click:function(e){return t.addNumber("9")}}},[t._v("9")])]),n("div",{staticClass:"row"},[n("button",{on:{click:function(e){return t.addNumber("4")}}},[t._v("4")]),n("button",{on:{click:function(e){return t.addNumber("5")}}},[t._v("5")]),n("button",{on:{click:function(e){return t.addNumber("6")}}},[t._v("6")])]),n("div",{staticClass:"row"},[n("button",{on:{click:function(e){return t.addNumber("1")}}},[t._v("1")]),n("button",{on:{click:function(e){return t.addNumber("2")}}},[t._v("2")]),n("button",{on:{click:function(e){return t.addNumber("3")}}},[t._v("3")])]),n("div",{staticClass:"row"},[n("button",{on:{click:function(e){return t.backspace()}}},[n("i",{staticClass:"fal fa-backspace"})]),n("button",{on:{click:function(e){return t.addNumber("0")}}},[t._v("0")]),n("button",{on:{click:function(e){return t.addNumber(".")}}},[t._v(".")])])]),n("a",{staticClass:"btn",on:{click:function(e){return e.preventDefault(),t.setReceive()}}},[t._v("Receive")]),n("a",{staticClass:"btn outline",on:{click:function(e){return e.preventDefault(),t.cancel()}}},[t._v("Cancel")])])])},Z=[],tt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"qrcode",attrs:{id:t._uid}})},et=[],nt=n("6ffa"),at=n.n(nt),st={name:"QrBlock",props:{address:String},data:function(){return{}},watch:{address:function(t){if(null!==t){var e=new at.a({width:512,height:512,data:t,image:"qr_logo.png",dotsOptions:{type:"rounded"},imageOptions:{hideBackgroundDots:!1},qrOptions:{}});document.getElementById(this._uid).innerHTML="",e.append(document.getElementById(this._uid))}}},methods:{}},it=st,rt=(n("ae55"),Object(d["a"])(it,tt,et,!1,null,null,null)),ot=rt.exports,ct={name:"Receive",mixins:[_],components:{QrBlock:ot},props:{address:String},data:function(){return{newrep:"",amount:"0",set:!1,showset:!1,receive:null,clipboard:!0,pendingpoll:null}},watch:{address:function(t){this.receive="nano:"+t,this.$store.dispatch("app/pending",this.address)},showset:function(t){!0===t&&this.$nextTick((function(){this.$refs.amount.focus()}))},receive:function(){if("POS"==this.$route.name&&"0"!==this.amount){var t,e,n,a,s=this;this.pendingpoll=setInterval(Object(g["a"])(regeneratorRuntime.mark((function i(){return regeneratorRuntime.wrap((function(i){while(1)switch(i.prev=i.next){case 0:return"POS"==s.$route.name&&s.amount<="0"&&(s.amount="0",s.setReceive(),clearInterval(s.pendingpoll)),t=s.pending,i.next=4,s.$store.dispatch("app/pending",s.address);case 4:s.$nextTick((function(){if(e=s.pending,JSON.stringify(t)!==JSON.stringify(e)){n=Object.keys(t),a=Object.keys(e);var i,r=Object(b["a"])(a);try{for(r.s();!(i=r.n()).done;){var o=i.value;if(-1===n.indexOf(o)){var c=w["convert"](e[o].amount,s.rawconv);c>s.amount?s.amount="0":s.amount=new T.a(s.amount).minus(new T.a(c)).toFixed(),s.setReceive(),s.$notify({title:"Funds received: "+c,text:"Received from "+s.abbreviateAddress(e[o].source,!1),type:"success"}),"0"!==s.amount&&clearInterval(s.pendingpoll)}}}catch(l){r.e(l)}finally{r.f()}}}));case 5:case"end":return i.stop()}}),i)}))),this.$store.state.app.settings.receiveinterval)}else clearInterval(this.pendingpoll)}},computed:{pending:function(){return this.$store.state.app.pending}},beforeDestroy:function(){clearInterval(this.pendingpoll)},methods:{isNumber:function(t){console.log(t);var e=t.which?t.which:t.keyCode;if(46==e){if(console.log(this.amount.indexOf(".")),-1===this.amount.indexOf("."))return!0;t.preventDefault()}else e>31&&(e<48||e>57)&&t.preventDefault();return"0"===t.key&&"0"===this.amount&&t.preventDefault(),"0"!==t.key&&"0"===this.amount&&(this.amount=t.key,t.preventDefault()),!0},setAmount:function(){this.showset=!0},addNumber:function(t){if("0"===this.amount&&"."!==t)return this.amount=t,void this.$refs.amount.focus();"."!==t||-1===this.amount.indexOf(".")?(this.amount=this.amount+t,this.$refs.amount.focus()):this.$refs.amount.focus()},backspace:function(){var t=this.amount.slice(0,-1);t.length<=0&&(t="0"),this.amount=t,this.$refs.amount.focus()},cancel:function(){this.amount="0",this.receive="nano:"+this.address,this.set=!1,this.showset=!1},setReceive:function(){if("0"===this.amount)return this.receive="nano:"+this.address,this.set=!1,this.showset=!1,!1;var t=w["convert"](this.amount,this.nanoconv);return!!this.checkamount(t)&&(this.receive="nano:"+this.address+"?amount="+t,this.set=!0,this.showset=!1,!0)},clearReceive:function(){this.receive="nano:"+this.address,this.set=!1,this.showset=!1,this.amount="0"}},mounted:function(){"POS"==this.$route.name&&(this.closebutton=!1,this.amount="0",this.clipboard=!1)}},lt=ct,ut=Object(d["a"])(lt,X,Z,!1,null,null,null),dt=ut.exports,pt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"settings inner"},[n("div",{staticClass:"block"},[n("div",{staticClass:"details"},[n("label",{attrs:{for:"representative"}},[t._v("Current Representative")]),n("a",{staticClass:"copy",attrs:{href:"#"},on:{click:function(e){return t.copyToClipboard(t.representative)}}},[n("i",{staticClass:"fad fa-clone"})]),n("div",{staticClass:"address",staticStyle:{"margin-bottom":"30px",background:"#00000014",padding:"4px 14px"},domProps:{innerHTML:t._s(t.highlightAddress(t.representative))}})]),t.change?n("div",{staticClass:"details"},[null!==t.error?n("div",{staticClass:"error"},[t._v(t._s(t.error))]):t._e(),n("label",{attrs:{for:"newrep"}},[t._v("Change Representative")]),n("input",{directives:[{name:"model",rawName:"v-model",value:t.newrep,expression:"newrep"}],staticClass:"newrep",attrs:{type:"text",name:"newrep"},domProps:{value:t.newrep},on:{input:function(e){e.target.composing||(t.newrep=e.target.value)}}})]):t._e(),t.change?n("scan-qr",{on:{scanned:t.scanDone}}):t._e(),!1!==t.nfcsup?n("scan-nfc",{staticStyle:{"margin-bottom":"15px"},on:{scanned:t.scanDone}}):t._e(),n("div",{staticClass:"inline-buttons"},[t.change?t._e():n("button",{staticClass:"repchange btn",on:{click:function(e){t.change=!0}}},[t._v("Change Representative")]),t.change?n("button",{staticClass:"repchange btn",on:{click:t.changeRep}},[t._v("Confirm")]):t._e(),t.change?n("button",{staticClass:"repchange btn outline",on:{click:function(e){t.change=!1}}},[t._v("Cancel")]):t._e()])],1)])},vt=[],ft={name:"Settings",components:{ScanQr:W,ScanNfc:K},props:{representative:String,open:Boolean},mixins:[_],data:function(){return{newrep:"",change:!1,error:null,nfcsup:!1}},computed:{pow:function(){return this.$store.state.app.pow},privatekey:function(){return this.$store.state.app.privatekey}},watch:{open:function(t,e){!1===t&&!0===e&&(this.newrep="",this.change=!1,this.error=null)}},mounted:function(){"NDEFReader"in window&&(this.nfcsup=!0)},methods:{changeRep:function(){var t=this;return Object(g["a"])(regeneratorRuntime.mark((function e(){var n,a,s,i,r,o,c,l,u;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(null===t.pow&&t.$notify({title:"PoW not complete",text:"Please wait for the status to be ready",type:"error"}),!w["checkAddress"](t.newrep)){e.next=25;break}return n=w["derivePublicKey"](t.privatekey),a=w["deriveAddress"](n,{useNanoPrefix:!0}),s={},s["action"]="account_info",s["representative"]="true",s["account"]=a,e.next=10,t.$store.dispatch("app/rpCall",s);case 10:return i=e.sent,r="change",o=i.frontier,c=i.balance,l=w["createBlock"](t.privatekey,{work:t.pow,previous:o,representative:t.newrep,balance:c,link:"0000000000000000000000000000000000000000000000000000000000000000"}),u={},u["action"]="process",u["json_block"]="true",u["subtype"]=r,u["block"]=l.block,e.next=22,t.$store.dispatch("app/rpCall",u);case 22:t.$emit("change",!0),e.next=26;break;case 25:t.error="Invalid Representative "+t.newrep;case 26:case"end":return e.stop()}}),e)})))()},scanDone:function(t){this.error=null;var e=t.replace("nanorep:","").split("?")[0];w["checkAddress"](e)?this.newrep=e:this.error="Invalid QR Data "+t}}},ht=ft,mt=Object(d["a"])(ht,pt,vt,!1,null,null,null),bt=mt.exports,gt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return null!==t.blockstate?n("simplebar",{attrs:{id:"breakdown"}},[n("header",{staticClass:"headingtitle"},[t._v("State Block "),n("span",{staticClass:"value",on:{click:function(e){return t.copyToClipboard(t.hash)}}},[n("i",{staticClass:"fad fa-clone"})]),n("span",{staticClass:"value",on:{click:function(e){return t.link("block",t.hash)}}},[n("i",{staticClass:"fad fa-external-link"})])]),n("div",{staticClass:"stateblock block"},[t._v(t._s(t.hash))]),n("div",{staticClass:"block"},[n("div",{staticClass:"title"},[t._v("Block subtype "),n("span",{staticClass:"subtype value"},[t._v(t._s(t.blockstate.subtype))])]),n("div",{staticClass:"label"},[t._v("The type of transaction that created this state block")])]),n("div",{staticClass:"block"},[n("div",{staticClass:"title"},[t._v("Account "),n("span",{staticClass:"value",on:{click:function(e){return t.copyToClipboard(t.blockstate.contents.account)}}},[n("i",{staticClass:"fad fa-clone"})]),n("span",{staticClass:"value",on:{click:function(e){return t.link("address",t.blockstate.contents.account)}}},[n("i",{staticClass:"fad fa-external-link"})])]),n("div",{staticClass:"account"},[t._v(t._s(t.blockstate.contents.account))]),n("div",{staticClass:"label"},[t._v("The account represented by this state block")])]),n("div",{staticClass:"block"},[n("div",{staticClass:"title"},[t._v("Amount "),n("span",{staticClass:"amount value",domProps:{innerHTML:t._s(t.formattedValue(t.blockstate.amount))}})]),n("div",{staticClass:"raw"},[n("span",{staticClass:"amount_raw"},[t._v(t._s(t.blockstate.amount))]),t._v(" raw")]),n("div",{staticClass:"label"},[t._v("The amount of NANO that was sent in this transaction")])]),n("div",{staticClass:"block"},[n("div",{staticClass:"title"},[t._v("Balance "),n("span",{staticClass:"balance value",domProps:{innerHTML:t._s(t.formattedValue(t.blockstate.balance))}})]),n("div",{staticClass:"raw"},[n("span",{staticClass:"balance_raw"},[t._v(t._s(t.blockstate.balance))]),t._v(" raw")]),n("div",{staticClass:"label"},[t._v("The amount of NANO that was sent in this transaction")])]),n("div",{staticClass:"block"},[n("div",{staticClass:"title"},[t._v("Representative "),n("span",{staticClass:"value",on:{click:function(e){return t.copyToClipboard(t.blockstate.contents.representative)}}},[n("i",{staticClass:"fad fa-clone"})]),n("span",{staticClass:"value",on:{click:function(e){return t.link("address",t.blockstate.contents.representative)}}},[n("i",{staticClass:"fad fa-external-link"})])]),n("div",[n("span",{staticClass:"rep_raw"},[t._v(t._s(t.blockstate.contents.representative))])]),n("div",{staticClass:"label"},[t._v("The account's representative")])]),n("div",{staticClass:"block"},[n("div",{staticClass:"title"},[t._v("Recipient "),n("span",{staticClass:"value",on:{click:function(e){return t.copyToClipboard(t.blockstate.contents.representative)}}},[n("i",{staticClass:"fad fa-clone"})]),t._v(" "),n("span",{staticClass:"value",on:{click:function(e){return t.link("address",t.blockstate.contents.link_as_account)}}},[n("i",{staticClass:"fad fa-external-link"})])]),n("div",[n("span",{staticClass:"rec_raw"},[t._v(t._s(t.blockstate.contents.link_as_account))])]),n("div",{staticClass:"label"},[t._v("The account that is receiving the transaction")])]),n("div",{staticClass:"block"},[n("div",{staticClass:"title"},[t._v("Date "),n("span",{staticClass:"value"},[t._v(t._s(t.formattedDate))])]),n("div",{staticClass:"label"},[t._v("The date and time this block was discovered (converted to your local time)")])]),n("div",{staticClass:"block"},[n("div",{staticClass:"title"},[t._v("Previous Block "),n("span",{staticClass:"value",on:{click:function(e){return t.link("block",t.blockstate.contents.previous)}}},[n("i",{staticClass:"fad fa-external-link"})])]),n("div",[t._v(" "+t._s(t.blockstate.contents.previous)+" ")]),n("div",{staticClass:"label"},[t._v("The previous block in this account's chain")])]),n("div",{staticClass:"block"},[n("div",{staticClass:"title"},[t._v("Link")]),n("div",[t._v(t._s(t.blockstate.contents.link))]),n("div",{staticClass:"label"},[t._v("The destination address encoded in hex format or the block hash if open")])]),n("div",{staticClass:"block"},[n("div",{staticClass:"title"},[t._v("Proof of Work")]),n("div",[t._v(t._s(t.blockstate.contents.work))])]),n("div",{staticClass:"block"},[n("div",{staticClass:"title"},[t._v("Signature")]),n("div",[t._v(t._s(t.blockstate.contents.signature))])]),n("div",{staticClass:"block"},[n("div",{staticClass:"title"},[t._v("JSON "),n("span",{staticClass:"value",on:{click:function(e){t.copyToClipboard(JSON.stringify(t.blockstate))}}},[n("i",{staticClass:"fad fa-clone"})])]),n("div",{staticClass:"json"},[n("pre",[t._v(t._s(JSON.stringify(t.blockstate,null,4)))])])])]):t._e()},kt=[],yt=n("8d3b"),wt=(n("f138"),{name:"BlockState",components:{simplebar:yt["a"]},props:{details:{default:null,type:String},static:{default:!1,type:Boolean}},mixins:[_],data:function(){return{hash:null,blockstate:null}},mounted:function(){this.static&&this.getDetails(this.$route.params.hash)},watch:{details:function(t){var e=this;return Object(g["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:null!==t?e.getDetails(t):e.blockstate=null;case 1:case"end":return n.stop()}}),n)})))()}},methods:{getDetails:function(t){var e=this;return Object(g["a"])(regeneratorRuntime.mark((function n(){var a;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return a={action:"block_info",json_block:"true",hash:t},e.hash=t,n.next=4,e.$store.dispatch("app/rpCall",a);case 4:e.blockstate=n.sent;case 5:case"end":return n.stop()}}),n)})))()},formattedValue:function(t){return this.abbreviateNumber(w["convert"](t,this.rawconv),5)}},computed:{formattedDate:function(){var t=new Date(1e3*this.blockstate.local_timestamp);return t.getDate()+" "+t.toLocaleString("default",{month:"short"})+" "+t.getFullYear()+" - "+t.toLocaleTimeString()}}}),xt=wt,Ct=(n("2dca"),Object(d["a"])(xt,gt,kt,!1,null,"51ce3523",null)),_t=Ct.exports;n("99af"),n("a630"),n("25f0"),n("3ca3"),n("cfc3"),n("5cc6"),n("9a8c"),n("a975"),n("735e"),n("c1ac"),n("d139"),n("3a7b"),n("d5d6"),n("82f8"),n("e91f"),n("60bd"),n("5f96"),n("3280"),n("3fcc"),n("ca91"),n("25a1"),n("cd26"),n("3c5d"),n("2954"),n("649e"),n("219c"),n("170b"),n("b39a"),n("72f7");function St(t,e,n){for(var a="",s=n-1;s>-1;s--)a+=(t[s]>15?"":"0")+t[s].toString(16);return a}function Tt(t){for(var e="",n=t.length;n>0;n-=2)e+=t.slice(n-2,n);return e}function At(t,e,n,a,s,i){var r=document.createElement("canvas");r.width=n,r.height=a;var o=r.getContext("webgl2");if(!o)throw new Error("webgl2_required");if(!/^[A-F-a-f0-9]{64}$/.test(t))throw new Error("invalid_hash");o.clearColor(0,0,0,1);var c=Tt(t),l="#version 300 es\n precision highp float;\n layout (location=0) in vec4 position;\n layout (location=1) in vec2 uv;\n\n out vec2 uv_pos;\n\n void main() {\n uv_pos = uv;\n gl_Position = position;\n }",u="#version 300 es\n precision highp float;\n precision highp int;\n\n in vec2 uv_pos;\n out vec4 fragColor;\n\n // Random work values\n // First 2 bytes will be overwritten by texture pixel position\n // Second 2 bytes will be modified if the canvas size is greater than 256x256\n uniform uvec4 u_work0;\n // Last 4 bytes remain as generated externally\n uniform uvec4 u_work1;\n\n // Defined separately from uint v[32] below as the original value is required\n // to calculate the second uint32 of the digest for threshold comparison\n #define BLAKE2B_IV32_1 0x6A09E667u\n\n // Both buffers represent 16 uint64s as 32 uint32s\n // because that's what GLSL offers, just like Javascript\n\n // Compression buffer, intialized to 2 instances of the initialization vector\n // The following values have been modified from the BLAKE2B_IV:\n // OUTLEN is constant 8 bytes\n // v[0] ^= 0x01010000u ^ uint(OUTLEN);\n // INLEN is constant 40 bytes: work value (8) + block hash (32)\n // v[24] ^= uint(INLEN);\n // It's always the \"last\" compression at this INLEN\n // v[28] = ~v[28];\n // v[29] = ~v[29];\n uint v[32] = uint[32](\n 0xF2BDC900u, 0x6A09E667u, 0x84CAA73Bu, 0xBB67AE85u,\n 0xFE94F82Bu, 0x3C6EF372u, 0x5F1D36F1u, 0xA54FF53Au,\n 0xADE682D1u, 0x510E527Fu, 0x2B3E6C1Fu, 0x9B05688Cu,\n 0xFB41BD6Bu, 0x1F83D9ABu, 0x137E2179u, 0x5BE0CD19u,\n 0xF3BCC908u, 0x6A09E667u, 0x84CAA73Bu, 0xBB67AE85u,\n 0xFE94F82Bu, 0x3C6EF372u, 0x5F1D36F1u, 0xA54FF53Au,\n 0xADE682F9u, 0x510E527Fu, 0x2B3E6C1Fu, 0x9B05688Cu,\n 0x04BE4294u, 0xE07C2654u, 0x137E2179u, 0x5BE0CD19u\n );\n // Input data buffer\n uint m[32];\n\n // These are offsets into the input data buffer for each mixing step.\n // They are multiplied by 2 from the original SIGMA values in\n // the C reference implementation, which refered to uint64s.\n const int SIGMA82[192] = int[192](\n 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,28,20,8,16,18,30,26,12,2,24,\n 0,4,22,14,10,6,22,16,24,0,10,4,30,26,20,28,6,12,14,2,18,8,14,18,6,2,26,\n 24,22,28,4,12,10,20,8,0,30,16,18,0,10,14,4,8,20,30,28,2,22,24,12,16,6,\n 26,4,24,12,20,0,22,16,6,8,26,14,10,30,28,2,18,24,10,2,30,28,26,8,20,0,\n 14,12,6,18,4,16,22,26,22,14,28,24,2,6,18,10,0,30,8,16,12,4,20,12,30,28,\n 18,22,6,0,16,24,4,26,14,2,8,20,10,20,4,16,8,14,12,2,10,30,22,18,28,6,24,\n 26,0,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,28,20,8,16,18,30,26,12,\n 2,24,0,4,22,14,10,6\n );\n\n // 64-bit unsigned addition within the compression buffer\n // Sets v[a,a+1] += b\n // b0 is the low 32 bits of b, b1 represents the high 32 bits\n void add_uint64 (int a, uint b0, uint b1) {\n uint o0 = v[a] + b0;\n uint o1 = v[a + 1] + b1;\n if (v[a] > 0xFFFFFFFFu - b0) { // did low 32 bits overflow?\n o1++;\n }\n v[a] = o0;\n v[a + 1] = o1;\n }\n // Sets v[a,a+1] += v[b,b+1]\n void add_uint64 (int a, int b) {\n add_uint64(a, v[b], v[b+1]);\n }\n\n // G Mixing function\n void B2B_G (int a, int b, int c, int d, int ix, int iy) {\n add_uint64(a, b);\n add_uint64(a, m[ix], m[ix + 1]);\n\n // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated to the right by 32 bits\n uint xor0 = v[d] ^ v[a];\n uint xor1 = v[d + 1] ^ v[a + 1];\n v[d] = xor1;\n v[d + 1] = xor0;\n\n add_uint64(c, d);\n\n // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 24 bits\n xor0 = v[b] ^ v[c];\n xor1 = v[b + 1] ^ v[c + 1];\n v[b] = (xor0 >> 24) ^ (xor1 << 8);\n v[b + 1] = (xor1 >> 24) ^ (xor0 << 8);\n\n add_uint64(a, b);\n add_uint64(a, m[iy], m[iy + 1]);\n\n // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated right by 16 bits\n xor0 = v[d] ^ v[a];\n xor1 = v[d + 1] ^ v[a + 1];\n v[d] = (xor0 >> 16) ^ (xor1 << 16);\n v[d + 1] = (xor1 >> 16) ^ (xor0 << 16);\n\n add_uint64(c, d);\n\n // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 63 bits\n xor0 = v[b] ^ v[c];\n xor1 = v[b + 1] ^ v[c + 1];\n v[b] = (xor1 >> 31) ^ (xor0 << 1);\n v[b + 1] = (xor0 >> 31) ^ (xor1 << 1);\n }\n\n void main() {\n int i;\n uint uv_x = uint(uv_pos.x * ".concat(r.width-1,".);\n uint uv_y = uint(uv_pos.y * ").concat(r.height-1,".);\n uint x_pos = uv_x % 256u;\n uint y_pos = uv_y % 256u;\n uint x_index = (uv_x - x_pos) / 256u;\n uint y_index = (uv_y - y_pos) / 256u;\n\n // First 2 work bytes are the x,y pos within the 256x256 area, the next\n // two bytes are modified from the random generated value, XOR'd with\n // the x,y area index of where this pixel is located\n m[0] = (x_pos ^ (y_pos << 8) ^ ((u_work0.b ^ x_index) << 16) ^ ((u_work0.a ^ y_index) << 24));\n // Remaining bytes are un-modified from the random generated value\n m[1] = (u_work1.r ^ (u_work1.g << 8) ^ (u_work1.b << 16) ^ (u_work1.a << 24));\n\n // Block hash\n m[2] = 0x").concat(c.slice(56,64),"u;\n m[3] = 0x").concat(c.slice(48,56),"u;\n m[4] = 0x").concat(c.slice(40,48),"u;\n m[5] = 0x").concat(c.slice(32,40),"u;\n m[6] = 0x").concat(c.slice(24,32),"u;\n m[7] = 0x").concat(c.slice(16,24),"u;\n m[8] = 0x").concat(c.slice(8,16),"u;\n m[9] = 0x").concat(c.slice(0,8),"u;\n\n // twelve rounds of mixing\n for(i=0;i<12;i++) {\n B2B_G(0, 8, 16, 24, SIGMA82[i * 16 + 0], SIGMA82[i * 16 + 1]);\n B2B_G(2, 10, 18, 26, SIGMA82[i * 16 + 2], SIGMA82[i * 16 + 3]);\n B2B_G(4, 12, 20, 28, SIGMA82[i * 16 + 4], SIGMA82[i * 16 + 5]);\n B2B_G(6, 14, 22, 30, SIGMA82[i * 16 + 6], SIGMA82[i * 16 + 7]);\n B2B_G(0, 10, 20, 30, SIGMA82[i * 16 + 8], SIGMA82[i * 16 + 9]);\n B2B_G(2, 12, 22, 24, SIGMA82[i * 16 + 10], SIGMA82[i * 16 + 11]);\n B2B_G(4, 14, 16, 26, SIGMA82[i * 16 + 12], SIGMA82[i * 16 + 13]);\n B2B_G(6, 8, 18, 28, SIGMA82[i * 16 + 14], SIGMA82[i * 16 + 15]);\n }\n\n // Threshold test, first 4 bytes not significant,\n // only calculate digest of the second 4 bytes\n if((BLAKE2B_IV32_1 ^ v[1] ^ v[17]) > ")+e+"u) {\n // Success found, return pixel data so work value can be constructed\n fragColor = vec4(\n float(x_index + 1u)/255., // +1 to distinguish from 0 (unsuccessful) pixels\n float(y_index + 1u)/255., // Same as previous\n float(x_pos)/255., // Return the 2 custom bytes used in work value\n float(y_pos)/255. // Second custom byte\n );\n }\n }",d=o.createShader(o.VERTEX_SHADER);if(o.shaderSource(d,l),o.compileShader(d),!o.getShaderParameter(d,o.COMPILE_STATUS))throw o.getShaderInfoLog(d);var p=o.createShader(o.FRAGMENT_SHADER);if(o.shaderSource(p,u),o.compileShader(p),!o.getShaderParameter(p,o.COMPILE_STATUS))throw o.getShaderInfoLog(p);var v=o.createProgram();if(o.attachShader(v,d),o.attachShader(v,p),o.linkProgram(v),!o.getProgramParameter(v,o.LINK_STATUS))throw o.getProgramInfoLog(v);o.useProgram(v);var f=o.createVertexArray();o.bindVertexArray(f);var h=new Float32Array([-1,-1,0,-1,1,0,1,1,0,1,-1,0,1,1,0,-1,-1,0]),m=o.createBuffer();o.bindBuffer(o.ARRAY_BUFFER,m),o.bufferData(o.ARRAY_BUFFER,h,o.STATIC_DRAW),o.vertexAttribPointer(0,3,o.FLOAT,!1,0,0),o.enableVertexAttribArray(0);var b=new Float32Array([1,1,1,0,0,0,0,1,0,0,1,1]),g=o.createBuffer();o.bindBuffer(o.ARRAY_BUFFER,g),o.bufferData(o.ARRAY_BUFFER,b,o.STATIC_DRAW),o.vertexAttribPointer(1,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(1);var k=o.getUniformLocation(v,"u_work0"),y=o.getUniformLocation(v,"u_work1"),w=new Uint8Array(4),x=new Uint8Array(4),C=0;function _(){if(C++,window.crypto.getRandomValues(w),window.crypto.getRandomValues(x),o.uniform4uiv(k,Array.from(w)),o.uniform4uiv(y,Array.from(x)),C%100!==0||"function"!==typeof i||!i(C)){o.clear(o.COLOR_BUFFER_BIT),o.drawArrays(o.TRIANGLES,0,6);var t=new Uint8Array(o.drawingBufferWidth*o.drawingBufferHeight*4);o.readPixels(0,0,o.drawingBufferWidth,o.drawingBufferHeight,o.RGBA,o.UNSIGNED_BYTE,t);for(var e=0;e0&&void 0!==t[0]&&t[0],s=null,"frontier"in e.details&&(s=e.details.frontier),n.prev=3,n.next=6,e.getDetails(e.privatekey);case 6:e.lastrefresh=new Date,s===e.details.frontier&&!0!==a||e.genWork(e.privatekey,e.details),e.$store.dispatch("app/history",e.address),e.$store.dispatch("app/pending",e.address),e.details.balance?(e.balance=w["convert"](e.details.balance,e.rawconv),e.$store.commit("app/balance",e.balance)):e.balance=0,e.representative=e.details.representative,n.next=18;break;case 14:n.prev=14,n.t0=n["catch"](3),e.error="Could not connect to RPC",e.open=!1;case 18:case"end":return n.stop()}}),n,null,[[3,14]])})))()},genWork:function(t,e){var n=this;return Object(g["a"])(regeneratorRuntime.mark((function a(){var s,i,r,o;return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:if(n.$store.commit("app/pow",null),n.$store.commit("app/ready",!1),"frontier"in e?(console.log("Frontier in details"),s=e.frontier):(console.log("Frontier NOT in details"),s=w["derivePublicKey"](t)),i=document.createElement("canvas").getContext("webgl2"),!i){a.next=9;break}console.log("Calculating pow for "+s+" using WebGL this may take some time"),At(s,"0xFFFFFFC0",2048,256,(function(t){n.$store.commit("app/pow",t),n.$store.commit("app/ready",!0)})),a.next=22;break;case 9:if(!window.Worker){a.next=16;break}return console.log("Calculating pow for "+s+" this may take some time"),r=function(){return new Promise((function(t){Pt=[];for(var e=0;e\n
\n \n \n
\n\n\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4fc9e34e&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wallet\"},[_c('div',{attrs:{\"type\":\"hidden\",\"id\":\"workstorage\"}}),_c('div',{staticClass:\"page\",class:{ active: _vm.open===false },attrs:{\"id\":\"login\"}},[_c('div',{staticClass:\"title rpc\"},[_vm._v(\"RPC Server : \"),_c('span',[_vm._v(_vm._s(_vm.$store.state.app.node.address))])]),_c('div',{attrs:{\"id\":\"inputs\"}},[(_vm.error !== null)?_c('div',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.error))]):_vm._e(),_c('div',{staticClass:\"labeltabs\"},[_c('label',{staticClass:\"df\",class:{ active: _vm.seedtab === true},attrs:{\"for\":\"seed\"},on:{\"click\":_vm.setSeed}},[_vm._v(\" Seed \")]),_c('label',{staticClass:\"df\",class:{ active: _vm.seedtab !== true},attrs:{\"for\":\"key\"},on:{\"click\":_vm.setPrivate}},[_vm._v(\" Private Key \")]),(_vm.seedtab === true)?_c('a',{staticClass:\"morebutton mla\",attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();_vm.showadvanced = !_vm.showadvanced}}},[_c('i',{staticClass:\"fal fa-ellipsis-h\",attrs:{\"data-fa-transform\":\"grow-20\"}})]):_vm._e()]),(_vm.seedtab === true)?_c('div',{staticClass:\"login\"},[((_vm.logintype)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.seed),expression:\"seed\"}],attrs:{\"placeholder\":\"Seed\",\"id\":\"seed\",\"name\":\"seed\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.seed)?_vm._i(_vm.seed,null)>-1:(_vm.seed)},on:{\"change\":function($event){var $$a=_vm.seed,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.seed=$$a.concat([$$v]))}else{$$i>-1&&(_vm.seed=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.seed=$$c}}}}):((_vm.logintype)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.seed),expression:\"seed\"}],attrs:{\"placeholder\":\"Seed\",\"id\":\"seed\",\"name\":\"seed\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.seed,null)},on:{\"change\":function($event){_vm.seed=null}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.seed),expression:\"seed\"}],attrs:{\"placeholder\":\"Seed\",\"id\":\"seed\",\"name\":\"seed\",\"type\":_vm.logintype},domProps:{\"value\":(_vm.seed)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.seed=$event.target.value}}}),_c('span',{staticClass:\"eye\",on:{\"click\":_vm.togglevisibility}},[_c('span',{class:{ active: _vm.logintype === 'password'}},[_c('i',{staticClass:\"far fa-eye\"})]),_c('span',{class:{ active: _vm.logintype === 'text'}},[_c('i',{staticClass:\"far fa-eye-slash\"})])])]):_vm._e(),(_vm.seedtab === false)?_c('div',{staticClass:\"login\"},[((_vm.logintype)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.key),expression:\"key\"}],attrs:{\"placeholder\":\"Private key\",\"id\":\"key\",\"name\":\"key\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.key)?_vm._i(_vm.key,null)>-1:(_vm.key)},on:{\"change\":function($event){var $$a=_vm.key,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.key=$$a.concat([$$v]))}else{$$i>-1&&(_vm.key=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.key=$$c}}}}):((_vm.logintype)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.key),expression:\"key\"}],attrs:{\"placeholder\":\"Private key\",\"id\":\"key\",\"name\":\"key\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.key,null)},on:{\"change\":function($event){_vm.key=null}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.key),expression:\"key\"}],attrs:{\"placeholder\":\"Private key\",\"id\":\"key\",\"name\":\"key\",\"type\":_vm.logintype},domProps:{\"value\":(_vm.key)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.key=$event.target.value}}}),_c('span',{staticClass:\"eye\",on:{\"click\":_vm.togglevisibility}},[_c('span',{class:{ active: _vm.logintype === 'password'}},[_c('i',{staticClass:\"far fa-eye\"})]),_c('span',{class:{ active: _vm.logintype === 'text'}},[_c('i',{staticClass:\"far fa-eye-slash\"})])])]):_vm._e(),(_vm.showadvanced === true)?_c('div',[_c('label',{attrs:{\"for\":\"seedindex\"}},[_vm._v(\"Seed Index\")]),_c('div',{staticClass:\"login\"},[((_vm.logintype)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.seedindex),expression:\"seedindex\"}],attrs:{\"id\":\"seedindex\",\"name\":\"seedindex\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.seedindex)?_vm._i(_vm.seedindex,null)>-1:(_vm.seedindex)},on:{\"change\":function($event){var $$a=_vm.seedindex,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.seedindex=$$a.concat([$$v]))}else{$$i>-1&&(_vm.seedindex=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.seedindex=$$c}}}}):((_vm.logintype)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.seedindex),expression:\"seedindex\"}],attrs:{\"id\":\"seedindex\",\"name\":\"seedindex\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.seedindex,null)},on:{\"change\":function($event){_vm.seedindex=null}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.seedindex),expression:\"seedindex\"}],attrs:{\"id\":\"seedindex\",\"name\":\"seedindex\",\"type\":_vm.logintype},domProps:{\"value\":(_vm.seedindex)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.seedindex=$event.target.value}}})])]):_vm._e(),_c('button',{staticClass:\"openwallet btn\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.openWallet}},[_vm._v(\"Open Wallet\")]),_c('scan-qr',{on:{\"scanned\":_vm.scanDone}}),(_vm.nfcsup !== false)?_c('scan-nfc',{on:{\"scanned\":_vm.scanDone}}):_vm._e()],1),_c('div',{attrs:{\"id\":\"buttons\"}},[_c('router-link',{staticClass:\"genwallet\",attrs:{\"to\":_vm.$store.getters['app/nodeLink'] + 'generate'}},[_vm._v(\"Generate Wallet\")])],1)]),_c('div',{staticClass:\"page\",class:{active: _vm.open === true},attrs:{\"id\":\"wallet\"}},[_c('div',{attrs:{\"id\":\"powstatus\"}},[_c('div',{staticClass:\"status busy\",class:{active: _vm.ready === false}},[_vm._v(\"Calculating Work \"),_c('i',{staticClass:\"fas fa-spinner fa-spin\"})]),_c('div',{staticClass:\"status ready\",class:{active: _vm.ready === true}},[_vm._v(\"Ready \"),_c('i',{staticClass:\"fas fa-check\"})])]),_c('div',{staticClass:\"inner\"},[_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"headingtitle top\"},[_c('span',{attrs:{\"id\":\"closewallet\"},on:{\"click\":_vm.logout}},[_c('i',{staticClass:\"fal fa-sign-out fa-flip-horizontal\"})]),_c('span',[_vm._v(\"Wallet\")]),_c('span',{staticClass:\"refresh rotate\",class:{ down: _vm.isActive },on:{\"click\":_vm.refresh}},[_c('i',{staticClass:\"fal fa-sync\"})]),_c('div',{staticClass:\"lastrefresh\"},[_vm._v(\"Last Refresh: \"+_vm._s(_vm.lastrefresh.toLocaleTimeString()))])]),_c('simplebar',{staticClass:\"block pending\"},[_c('div',{attrs:{\"id\":\"output\"}},[_c('div',{staticClass:\"balance\"},[_c('div',{staticClass:\"raw\",class:{ active: _vm.balanceextra },on:{\"click\":function($event){return _vm.copyToClipboard(_vm.address)}}},[_vm._v(_vm._s(_vm.address))]),_c('div',{staticClass:\"value\",domProps:{\"innerHTML\":_vm._s(_vm.abbreviateNumber(_vm.balance))}}),_c('div',{staticClass:\"raw\",class:{ active: _vm.balanceextra }},[_vm._v(_vm._s(_vm.balance))]),_c('a',{staticClass:\"balanceextra\",attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();_vm.balanceextra = !_vm.balanceextra}}},[_c('i',{staticClass:\"fal fa-ellipsis-h\",attrs:{\"data-fa-transform\":\"grow-20\"}})])])]),_c('div',{staticClass:\"headingtitle showmobile\"},[_vm._v(\"History\")]),_vm._l((_vm.pending),function(transaction,index){return _c('transaction',{key:index,attrs:{\"index\":index,\"transaction\":transaction,\"type\":\"pending\"},on:{\"blockdetails\":function($event){_vm.blockdetails = $event},\"receive\":_vm.refreshDetails}})})],2)],1),_c('simplebar',{staticClass:\"block history\"},[_c('div',{staticClass:\"headingtitle hidemobile\"},[_vm._v(\"History\")]),_vm._l((_vm.history),function(transaction,index){return _c('transaction',{key:index,attrs:{\"index\":index,\"transaction\":transaction,\"type\":transaction.type},on:{\"blockdetails\":function($event){_vm.blockdetails = $event}}})})],2)],1),_c('div',{staticClass:\"menu\",attrs:{\"id\":\"walletmenu\"}},[_c('div',{staticClass:\"bg\"}),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"tab\",attrs:{\"data-tab\":\"#receive\"},on:{\"click\":function($event){_vm.receive = true}}},[_vm._m(0),_c('span',[_vm._v(\"Receive\")])]),_c('div',{staticClass:\"tab\",attrs:{\"data-tab\":\"#send\"},on:{\"click\":function($event){_vm.send = true}}},[_vm._m(1),_c('span',[_vm._v(\"Send\")])]),_c('div',{staticClass:\"tab\",attrs:{\"data-tab\":\"#settings\"},on:{\"click\":function($event){_vm.settings = true}}},[_vm._m(2),_c('span',[_vm._v(\"Settings\")])])])])]),_c('div',{staticClass:\"page\",class:{active: _vm.send !== false},attrs:{\"id\":\"send\"}},[(_vm.closebutton === true)?_c('a',{staticClass:\"close\",on:{\"click\":function($event){_vm.send = false}}},[_c('i',{staticClass:\"fal fa-times\"})]):_vm._e(),_c('send',{attrs:{\"open\":_vm.send},on:{\"close\":function($event){_vm.send = false}}})],1),_c('div',{staticClass:\"page\",class:{active: _vm.settings !== false},attrs:{\"id\":\"settings\"}},[(_vm.closebutton === true)?_c('a',{staticClass:\"close\",on:{\"click\":function($event){_vm.settings = false}}},[_c('i',{staticClass:\"fal fa-times\"})]):_vm._e(),_c('settings',{attrs:{\"open\":_vm.settings,\"representative\":_vm.representative},on:{\"change\":_vm.repChange}})],1),_c('div',{staticClass:\"page\",class:{active: _vm.receive !== false},attrs:{\"id\":\"receive\"}},[(_vm.closebutton === true)?_c('a',{staticClass:\"close\",on:{\"click\":function($event){_vm.receive = false}}},[_c('i',{staticClass:\"fal fa-times\"})]):_vm._e(),_c('receive',{attrs:{\"address\":_vm.address}})],1),_c('div',{staticClass:\"page\",class:{active: _vm.blockdetails !== null},attrs:{\"id\":\"blockdetails\"}},[(_vm.closebutton === true)?_c('a',{staticClass:\"close\",on:{\"click\":function($event){_vm.blockdetails = null}}},[_c('i',{staticClass:\"fal fa-times\"})]):_vm._e(),_c('block-state',{attrs:{\"details\":_vm.blockdetails}})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"menuicon\"},[_c('i',{staticClass:\"fal fa-wallet\",attrs:{\"data-fa-transform\":\"grow-8\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"menuicon\"},[_c('i',{staticClass:\"fal fa-coins\",attrs:{\"data-fa-transform\":\"grow-8\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"menuicon\"},[_c('i',{staticClass:\"fal fa-cog\",attrs:{\"data-fa-transform\":\"grow-8\"}})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"transaction\",class:_vm.type},[_c('div',{staticClass:\"type icon\",attrs:{\"value\":_vm.hash},on:{\"click\":function($event){return _vm.$emit('blockdetails', _vm.hash)}}},[(_vm.type === 'send')?_c('i',{staticClass:\"fal fa-minus-circle\"}):(_vm.type === 'pending')?_c('i',{staticClass:\"fal fa-exclamation-circle\"}):_c('i',{staticClass:\"fal fa-plus-circle\"})]),_c('div',{staticClass:\"innerdetails\"},[_c('div',{staticClass:\"amount\"},[_c('div',{staticClass:\"value\",attrs:{\"title\":_vm.rawValue},domProps:{\"innerHTML\":_vm._s(_vm.formattedValue)}},[_c('i',{staticClass:\"fal fa-coin\"})]),(_vm.type !== 'pending')?_c('div',{staticClass:\"type\"},[_vm._v(_vm._s(_vm.transactionStatus(_vm.transaction.type)))]):_vm._e(),(_vm.type === 'pending')?_c('div',{staticClass:\"type\"},[(_vm.privatekey !== null)?_c('button',{staticClass:\"pocket\",on:{\"click\":_vm.receive}},[_vm._v(\"Click to Receive\")]):_c('div',{},[_vm._v(\"Pending\")])]):_vm._e()]),_c('div',{staticClass:\"address\"},[(_vm.type !== 'pending')?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.abbreviateAddress(_vm.transaction.account) + ' ' + _vm.formattedDate)},on:{\"click\":function($event){return _vm.link('address',_vm.transaction.account)}}}):_vm._e(),(_vm.type === 'pending')?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.abbreviateAddress(_vm.transaction.source))},on:{\"click\":function($event){return _vm.link('address',_vm.transaction.source)}}}):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var numbro = require('numbro')\nvar NanoCurrency = require('nanocurrency')\nimport Vue from 'vue'\n\nexport const serverMixin = {\n data() {\n return {\n rawconv: {from:'raw',to:'Nano'},\n nanoconv: {from:'Nano',to:'raw'}\n }\n },\n\n computed: {\n },\n mounted() {\n },\n\n methods: {\n \n abbreviateNumber (number, precision = 2) {\n console.log(number)\n if (precision === 2) {\n if (number < 0.005) {\n return number\n }\n return numbro(number).format({\n trimMantissa: true,\n mantissa: 2,\n average: true\n })\n }\n return numbro(number).format({\n trimMantissa: true,\n mantissa: 10,\n average: true\n })\n\n //return scaled.toFixed(precision) + '' + suffix + '';\n },\n \n copyToClipboard(text) {\n\n let input = document.createElement('textarea');\n input.innerHTML = text;\n document.body.appendChild(input);\n input.select();\n document.execCommand('copy');\n document.body.removeChild(input);\n Vue.notify({\n title: 'Success!',\n text: 'Copied to clipboard',\n type: 'success'\n })\n },\n \n link(type,data) {\n const baseurl = window.location.origin;\n if (type == 'address') {\n\twindow.open(baseurl + '/#' + this.$store.getters['app/nodeLink'] + 'address/' + data);\n }\n if (type == 'block') {\n window.open(baseurl + '/#' + this.$store.getters['app/nodeLink'] + 'block/' + data);\n }\n },\n\n /*async keyFromClipboard() {\n try {\n const text = await navigator.clipboard.readText()\n this.key = text\n } catch(e) {\n alert('This bowser does not support pasting from clipboard')\n }\n },*/\n \n abbreviateAddress (address, formatting = true) {\n let output = ''\n if (formatting === true) output += ''\n output += address.substring(0, 11) + '...' + address.slice(address.length - 6)\n if (formatting === true) output += ''\n return output\n },\n\n highlightAddress (address) {\n if (address !== null && address !== undefined) {\n const end = address.length - 6;\n return '' + address.substring(0, 11) + '' + address.substring(11, end) + '' + address.slice(address.length - 6) + ''\n }\n return null\n },\n \n transactionStatus (value) {\n if (value === 'send') return 'Sent'\n if (value === 'receive') return 'Received'\n },\n\n checkamount (amount) {\n if (!NanoCurrency.checkAmount(amount)) {\n this.$notify({\n title: 'Invalid amount',\n text: 'Please ensure the amount selected is a valid',\n type: 'error'\n })\n\treturn false\n } else {\n return true\n }\n }\n \n }\n}\n","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Transaction.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Transaction.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Transaction.vue?vue&type=template&id=f4aa3dc0&scoped=true&\"\nimport script from \"./Transaction.vue?vue&type=script&lang=js&\"\nexport * from \"./Transaction.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f4aa3dc0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"send\"},[_c('div',{attrs:{\"id\":\"sendform\"}},[_c('label',{attrs:{\"for\":\"amount\"}},[_vm._v(\"Amount:\")]),_c('div',{staticClass:\"login\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.amount),expression:\"amount\"}],attrs:{\"type\":\"text\",\"id\":\"amount\",\"name\":\"amount\"},domProps:{\"value\":(_vm.amount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.amount=$event.target.value}}}),_c('span',{staticClass:\"max\",on:{\"click\":_vm.setmax}},[_vm._v(\"MAX\")])]),_c('label',{attrs:{\"for\":\"destination\"}},[_vm._v(\"Destination:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.destination),expression:\"destination\"}],attrs:{\"type\":\"text\",\"id\":\"destination\",\"name\":\"destination\"},domProps:{\"value\":(_vm.destination)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.destination=$event.target.value}}})]),_c('scan-qr',{on:{\"scanned\":_vm.scanDone}}),(_vm.nfcsup !== false)?_c('scan-nfc',{on:{\"scanned\":_vm.scanDone}}):_vm._e(),_c('button',{staticClass:\"sendfunds btn\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.send}},[_vm._v(\"Send\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"scan-qr-code\"},[_c('button',{staticClass:\"scan btn outline\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.scanQR}},[_vm._v(\"Scan QR\")]),_c('div',{staticClass:\"page\",class:{active: _vm.scan !== false},staticStyle:{\"z-index\":\"9\"}},[_c('a',{staticClass:\"close\",on:{\"click\":_vm.closeScan}},[_c('i',{staticClass:\"fal fa-times\"})]),(_vm.loadingMsg)?_c('div',[_vm._v(_vm._s(_vm.loadingMsg))]):_vm._e(),_c('canvas',{attrs:{\"id\":'scan_' + _vm._uid}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScanQr.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScanQr.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScanQr.vue?vue&type=template&id=629b55eb&\"\nimport script from \"./ScanQr.vue?vue&type=script&lang=js&\"\nexport * from \"./ScanQr.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"scan-nfc-code\"},[_c('button',{staticClass:\"scan btn outline\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.scanNfc}},[_vm._v(\"Scan NFC\")]),_c('div',{staticClass:\"page\",class:{active: _vm.scannfc !== false},staticStyle:{\"z-index\":\"9\"}},[_c('a',{staticClass:\"close\",on:{\"click\":_vm.closeScan}},[_c('i',{staticClass:\"fal fa-times\"})]),(_vm.output === 'Scanning')?_c('div',[_vm._v(_vm._s(_vm.output)+\" \"),_c('i',{staticClass:\"fas fa-spinner fa-spin\"})]):_c('div',[_vm._v(_vm._s(_vm.output))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScanNfc.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScanNfc.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScanNfc.vue?vue&type=template&id=463628b7&\"\nimport script from \"./ScanNfc.vue?vue&type=script&lang=js&\"\nexport * from \"./ScanNfc.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Send.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Send.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Send.vue?vue&type=template&id=a1044490&\"\nimport script from \"./Send.vue?vue&type=script&lang=js&\"\nexport * from \"./Send.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"receive inner\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showset === false),expression:\"showset === false\"}],staticClass:\"block\"},[_c('div',{staticClass:\"address\",domProps:{\"innerHTML\":_vm._s(_vm.highlightAddress(_vm.address))},on:{\"click\":function($event){return _vm.link('address',_vm.address)}}}),_c('qr-block',{attrs:{\"address\":_vm.receive}}),(_vm.set === true)?_c('div',{staticClass:\"receive-amount\"},[_vm._v(\"Amount: \"+_vm._s(_vm.amount))]):_vm._e(),(_vm.clipboard === true)?_c('a',{staticClass:\"btn\",on:{\"click\":function($event){$event.preventDefault();return _vm.copyToClipboard(_vm.address)}}},[_vm._v(\"Copy Address\")]):_vm._e(),_c('a',{staticClass:\"btn outline\",on:{\"click\":function($event){$event.preventDefault();return _vm.setAmount()}}},[_vm._v(\"Set Amount\")]),_c('a',{staticClass:\"btn outline\",on:{\"click\":function($event){$event.preventDefault();return _vm.clearReceive()}}},[_vm._v(\"Clear Amount\")])],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showset !== false),expression:\"showset !== false\"}],staticClass:\"block\",staticStyle:{\"padding\":\"0\",\"margin-top\":\"-47px\"}},[_c('div',{staticClass:\"amount\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.amount),expression:\"amount\"}],ref:\"amount\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.amount)},on:{\"keypress\":function($event){return _vm.isNumber($event)},\"paste\":function($event){return _vm.isNumber($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.amount=$event.target.value}}})]),_c('div',{staticClass:\"keypad\"},[_c('div',{staticClass:\"row\"},[_c('button',{on:{\"click\":function($event){return _vm.addNumber('7')}}},[_vm._v(\"7\")]),_c('button',{on:{\"click\":function($event){return _vm.addNumber('8')}}},[_vm._v(\"8\")]),_c('button',{on:{\"click\":function($event){return _vm.addNumber('9')}}},[_vm._v(\"9\")])]),_c('div',{staticClass:\"row\"},[_c('button',{on:{\"click\":function($event){return _vm.addNumber('4')}}},[_vm._v(\"4\")]),_c('button',{on:{\"click\":function($event){return _vm.addNumber('5')}}},[_vm._v(\"5\")]),_c('button',{on:{\"click\":function($event){return _vm.addNumber('6')}}},[_vm._v(\"6\")])]),_c('div',{staticClass:\"row\"},[_c('button',{on:{\"click\":function($event){return _vm.addNumber('1')}}},[_vm._v(\"1\")]),_c('button',{on:{\"click\":function($event){return _vm.addNumber('2')}}},[_vm._v(\"2\")]),_c('button',{on:{\"click\":function($event){return _vm.addNumber('3')}}},[_vm._v(\"3\")])]),_c('div',{staticClass:\"row\"},[_c('button',{on:{\"click\":function($event){return _vm.backspace()}}},[_c('i',{staticClass:\"fal fa-backspace\"})]),_c('button',{on:{\"click\":function($event){return _vm.addNumber('0')}}},[_vm._v(\"0\")]),_c('button',{on:{\"click\":function($event){return _vm.addNumber('.')}}},[_vm._v(\".\")])])]),_c('a',{staticClass:\"btn\",on:{\"click\":function($event){$event.preventDefault();return _vm.setReceive()}}},[_vm._v(\"Receive\")]),_c('a',{staticClass:\"btn outline\",on:{\"click\":function($event){$event.preventDefault();return _vm.cancel()}}},[_vm._v(\"Cancel\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"qrcode\",attrs:{\"id\":_vm._uid}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QrBlock.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QrBlock.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QrBlock.vue?vue&type=template&id=11066046&\"\nimport script from \"./QrBlock.vue?vue&type=script&lang=js&\"\nexport * from \"./QrBlock.vue?vue&type=script&lang=js&\"\nimport style0 from \"./QrBlock.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Receive.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Receive.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Receive.vue?vue&type=template&id=2b98d36e&\"\nimport script from \"./Receive.vue?vue&type=script&lang=js&\"\nexport * from \"./Receive.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings inner\"},[_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"details\"},[_c('label',{attrs:{\"for\":\"representative\"}},[_vm._v(\"Current Representative\")]),_c('a',{staticClass:\"copy\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.copyToClipboard(_vm.representative)}}},[_c('i',{staticClass:\"fad fa-clone\"})]),_c('div',{staticClass:\"address\",staticStyle:{\"margin-bottom\":\"30px\",\"background\":\"#00000014\",\"padding\":\"4px 14px\"},domProps:{\"innerHTML\":_vm._s(_vm.highlightAddress(_vm.representative))}})]),(_vm.change)?_c('div',{staticClass:\"details\"},[(_vm.error !== null)?_c('div',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.error))]):_vm._e(),_c('label',{attrs:{\"for\":\"newrep\"}},[_vm._v(\"Change Representative\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newrep),expression:\"newrep\"}],staticClass:\"newrep\",attrs:{\"type\":\"text\",\"name\":\"newrep\"},domProps:{\"value\":(_vm.newrep)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newrep=$event.target.value}}})]):_vm._e(),(_vm.change)?_c('scan-qr',{on:{\"scanned\":_vm.scanDone}}):_vm._e(),(_vm.nfcsup !== false)?_c('scan-nfc',{staticStyle:{\"margin-bottom\":\"15px\"},on:{\"scanned\":_vm.scanDone}}):_vm._e(),_c('div',{staticClass:\"inline-buttons\"},[(!_vm.change)?_c('button',{staticClass:\"repchange btn\",on:{\"click\":function($event){_vm.change = true}}},[_vm._v(\"Change Representative\")]):_vm._e(),(_vm.change)?_c('button',{staticClass:\"repchange btn\",on:{\"click\":_vm.changeRep}},[_vm._v(\"Confirm\")]):_vm._e(),(_vm.change)?_c('button',{staticClass:\"repchange btn outline\",on:{\"click\":function($event){_vm.change = false}}},[_vm._v(\"Cancel\")]):_vm._e()])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=f00775a2&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.blockstate !== null)?_c('simplebar',{attrs:{\"id\":\"breakdown\"}},[_c('header',{staticClass:\"headingtitle\"},[_vm._v(\"State Block \"),_c('span',{staticClass:\"value\",on:{\"click\":function($event){return _vm.copyToClipboard(_vm.hash)}}},[_c('i',{staticClass:\"fad fa-clone\"})]),_c('span',{staticClass:\"value\",on:{\"click\":function($event){return _vm.link('block',_vm.hash)}}},[_c('i',{staticClass:\"fad fa-external-link\"})])]),_c('div',{staticClass:\"stateblock block\"},[_vm._v(_vm._s(_vm.hash))]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Block subtype \"),_c('span',{staticClass:\"subtype value\"},[_vm._v(_vm._s(_vm.blockstate.subtype))])]),_c('div',{staticClass:\"label\"},[_vm._v(\"The type of transaction that created this state block\")])]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Account \"),_c('span',{staticClass:\"value\",on:{\"click\":function($event){return _vm.copyToClipboard(_vm.blockstate.contents.account)}}},[_c('i',{staticClass:\"fad fa-clone\"})]),_c('span',{staticClass:\"value\",on:{\"click\":function($event){return _vm.link('address',_vm.blockstate.contents.account)}}},[_c('i',{staticClass:\"fad fa-external-link\"})])]),_c('div',{staticClass:\"account\"},[_vm._v(_vm._s(_vm.blockstate.contents.account))]),_c('div',{staticClass:\"label\"},[_vm._v(\"The account represented by this state block\")])]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Amount \"),_c('span',{staticClass:\"amount value\",domProps:{\"innerHTML\":_vm._s(_vm.formattedValue(_vm.blockstate.amount))}})]),_c('div',{staticClass:\"raw\"},[_c('span',{staticClass:\"amount_raw\"},[_vm._v(_vm._s(_vm.blockstate.amount))]),_vm._v(\" raw\")]),_c('div',{staticClass:\"label\"},[_vm._v(\"The amount of NANO that was sent in this transaction\")])]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Balance \"),_c('span',{staticClass:\"balance value\",domProps:{\"innerHTML\":_vm._s(_vm.formattedValue(_vm.blockstate.balance))}})]),_c('div',{staticClass:\"raw\"},[_c('span',{staticClass:\"balance_raw\"},[_vm._v(_vm._s(_vm.blockstate.balance))]),_vm._v(\" raw\")]),_c('div',{staticClass:\"label\"},[_vm._v(\"The amount of NANO that was sent in this transaction\")])]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Representative \"),_c('span',{staticClass:\"value\",on:{\"click\":function($event){return _vm.copyToClipboard(_vm.blockstate.contents.representative)}}},[_c('i',{staticClass:\"fad fa-clone\"})]),_c('span',{staticClass:\"value\",on:{\"click\":function($event){return _vm.link('address',_vm.blockstate.contents.representative)}}},[_c('i',{staticClass:\"fad fa-external-link\"})])]),_c('div',[_c('span',{staticClass:\"rep_raw\"},[_vm._v(_vm._s(_vm.blockstate.contents.representative))])]),_c('div',{staticClass:\"label\"},[_vm._v(\"The account's representative\")])]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Recipient \"),_c('span',{staticClass:\"value\",on:{\"click\":function($event){return _vm.copyToClipboard(_vm.blockstate.contents.representative)}}},[_c('i',{staticClass:\"fad fa-clone\"})]),_vm._v(\" \"),_c('span',{staticClass:\"value\",on:{\"click\":function($event){return _vm.link('address',_vm.blockstate.contents.link_as_account)}}},[_c('i',{staticClass:\"fad fa-external-link\"})])]),_c('div',[_c('span',{staticClass:\"rec_raw\"},[_vm._v(_vm._s(_vm.blockstate.contents.link_as_account))])]),_c('div',{staticClass:\"label\"},[_vm._v(\"The account that is receiving the transaction\")])]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Date \"),_c('span',{staticClass:\"value\"},[_vm._v(_vm._s(_vm.formattedDate))])]),_c('div',{staticClass:\"label\"},[_vm._v(\"The date and time this block was discovered (converted to your local time)\")])]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Previous Block \"),_c('span',{staticClass:\"value\",on:{\"click\":function($event){return _vm.link('block',_vm.blockstate.contents.previous)}}},[_c('i',{staticClass:\"fad fa-external-link\"})])]),_c('div',[_vm._v(\" \"+_vm._s(_vm.blockstate.contents.previous)+\" \")]),_c('div',{staticClass:\"label\"},[_vm._v(\"The previous block in this account's chain\")])]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Link\")]),_c('div',[_vm._v(_vm._s(_vm.blockstate.contents.link))]),_c('div',{staticClass:\"label\"},[_vm._v(\"The destination address encoded in hex format or the block hash if open\")])]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Proof of Work\")]),_c('div',[_vm._v(_vm._s(_vm.blockstate.contents.work))])]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Signature\")]),_c('div',[_vm._v(_vm._s(_vm.blockstate.contents.signature))])]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"JSON \"),_c('span',{staticClass:\"value\",on:{\"click\":function($event){_vm.copyToClipboard(JSON.stringify(_vm.blockstate))}}},[_c('i',{staticClass:\"fad fa-clone\"})])]),_c('div',{staticClass:\"json\"},[_c('pre',[_vm._v(_vm._s(JSON.stringify(_vm.blockstate, null, 4)))])])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlockState.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlockState.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BlockState.vue?vue&type=template&id=51ce3523&scoped=true&\"\nimport script from \"./BlockState.vue?vue&type=script&lang=js&\"\nexport * from \"./BlockState.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BlockState.vue?vue&type=style&index=0&id=51ce3523&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"51ce3523\",\n null\n \n)\n\nexport default component.exports","// nano-webgl-pow\n// Nano Currency Proof of Work Value generation using WebGL2\n// Author: numtel \n// License: MIT\n\n// window.NanoWebglPow(hashHex, callback, progressCallback);\n// @param hashHex String Previous Block Hash as Hex String\n// @param callback Function Called when work value found\n// Receives single string argument, work value as hex\n// @param progressCallback Function Optional\n// Receives single argument: n, number of frames so far\n// Return true to abort\n\nfunction array_hex(arr, index, length) {\n let out='';\n for(let i=length - 1;i>-1;i--) {\n out+=(arr[i] > 15 ? '' : '0') + arr[i].toString(16);\n }\n return out;\n}\n\nfunction hex_reverse(hex) {\n let out='';\n for(let i=hex.length;i>0;i-=2) {\n out+=hex.slice(i-2,i);\n }\n return out;\n}\n\nexport function calculate(hashHex, threshold, width, height, callback, progressCallback) {\n const canvas = document.createElement('canvas');\n\n canvas.width = width;\n canvas.height = height;\n\n const gl = canvas.getContext('webgl2');\n\n if(!gl)\n throw new Error('webgl2_required');\n\n if(!/^[A-F-a-f0-9]{64}$/.test(hashHex))\n throw new Error('invalid_hash');\n\n gl.clearColor(0, 0, 0, 1);\n\n const reverseHex = hex_reverse(hashHex);\n\n // Vertext Shader\n const vsSource = `#version 300 es\n precision highp float;\n layout (location=0) in vec4 position;\n layout (location=1) in vec2 uv;\n\n out vec2 uv_pos;\n\n void main() {\n uv_pos = uv;\n gl_Position = position;\n }`;\n\n // Fragment shader\n const fsSource = `#version 300 es\n precision highp float;\n precision highp int;\n\n in vec2 uv_pos;\n out vec4 fragColor;\n\n // Random work values\n // First 2 bytes will be overwritten by texture pixel position\n // Second 2 bytes will be modified if the canvas size is greater than 256x256\n uniform uvec4 u_work0;\n // Last 4 bytes remain as generated externally\n uniform uvec4 u_work1;\n\n // Defined separately from uint v[32] below as the original value is required\n // to calculate the second uint32 of the digest for threshold comparison\n #define BLAKE2B_IV32_1 0x6A09E667u\n\n // Both buffers represent 16 uint64s as 32 uint32s\n // because that's what GLSL offers, just like Javascript\n\n // Compression buffer, intialized to 2 instances of the initialization vector\n // The following values have been modified from the BLAKE2B_IV:\n // OUTLEN is constant 8 bytes\n // v[0] ^= 0x01010000u ^ uint(OUTLEN);\n // INLEN is constant 40 bytes: work value (8) + block hash (32)\n // v[24] ^= uint(INLEN);\n // It's always the \"last\" compression at this INLEN\n // v[28] = ~v[28];\n // v[29] = ~v[29];\n uint v[32] = uint[32](\n 0xF2BDC900u, 0x6A09E667u, 0x84CAA73Bu, 0xBB67AE85u,\n 0xFE94F82Bu, 0x3C6EF372u, 0x5F1D36F1u, 0xA54FF53Au,\n 0xADE682D1u, 0x510E527Fu, 0x2B3E6C1Fu, 0x9B05688Cu,\n 0xFB41BD6Bu, 0x1F83D9ABu, 0x137E2179u, 0x5BE0CD19u,\n 0xF3BCC908u, 0x6A09E667u, 0x84CAA73Bu, 0xBB67AE85u,\n 0xFE94F82Bu, 0x3C6EF372u, 0x5F1D36F1u, 0xA54FF53Au,\n 0xADE682F9u, 0x510E527Fu, 0x2B3E6C1Fu, 0x9B05688Cu,\n 0x04BE4294u, 0xE07C2654u, 0x137E2179u, 0x5BE0CD19u\n );\n // Input data buffer\n uint m[32];\n\n // These are offsets into the input data buffer for each mixing step.\n // They are multiplied by 2 from the original SIGMA values in\n // the C reference implementation, which refered to uint64s.\n const int SIGMA82[192] = int[192](\n 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,28,20,8,16,18,30,26,12,2,24,\n 0,4,22,14,10,6,22,16,24,0,10,4,30,26,20,28,6,12,14,2,18,8,14,18,6,2,26,\n 24,22,28,4,12,10,20,8,0,30,16,18,0,10,14,4,8,20,30,28,2,22,24,12,16,6,\n 26,4,24,12,20,0,22,16,6,8,26,14,10,30,28,2,18,24,10,2,30,28,26,8,20,0,\n 14,12,6,18,4,16,22,26,22,14,28,24,2,6,18,10,0,30,8,16,12,4,20,12,30,28,\n 18,22,6,0,16,24,4,26,14,2,8,20,10,20,4,16,8,14,12,2,10,30,22,18,28,6,24,\n 26,0,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,28,20,8,16,18,30,26,12,\n 2,24,0,4,22,14,10,6\n );\n\n // 64-bit unsigned addition within the compression buffer\n // Sets v[a,a+1] += b\n // b0 is the low 32 bits of b, b1 represents the high 32 bits\n void add_uint64 (int a, uint b0, uint b1) {\n uint o0 = v[a] + b0;\n uint o1 = v[a + 1] + b1;\n if (v[a] > 0xFFFFFFFFu - b0) { // did low 32 bits overflow?\n o1++;\n }\n v[a] = o0;\n v[a + 1] = o1;\n }\n // Sets v[a,a+1] += v[b,b+1]\n void add_uint64 (int a, int b) {\n add_uint64(a, v[b], v[b+1]);\n }\n\n // G Mixing function\n void B2B_G (int a, int b, int c, int d, int ix, int iy) {\n add_uint64(a, b);\n add_uint64(a, m[ix], m[ix + 1]);\n\n // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated to the right by 32 bits\n uint xor0 = v[d] ^ v[a];\n uint xor1 = v[d + 1] ^ v[a + 1];\n v[d] = xor1;\n v[d + 1] = xor0;\n\n add_uint64(c, d);\n\n // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 24 bits\n xor0 = v[b] ^ v[c];\n xor1 = v[b + 1] ^ v[c + 1];\n v[b] = (xor0 >> 24) ^ (xor1 << 8);\n v[b + 1] = (xor1 >> 24) ^ (xor0 << 8);\n\n add_uint64(a, b);\n add_uint64(a, m[iy], m[iy + 1]);\n\n // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated right by 16 bits\n xor0 = v[d] ^ v[a];\n xor1 = v[d + 1] ^ v[a + 1];\n v[d] = (xor0 >> 16) ^ (xor1 << 16);\n v[d + 1] = (xor1 >> 16) ^ (xor0 << 16);\n\n add_uint64(c, d);\n\n // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 63 bits\n xor0 = v[b] ^ v[c];\n xor1 = v[b + 1] ^ v[c + 1];\n v[b] = (xor1 >> 31) ^ (xor0 << 1);\n v[b + 1] = (xor0 >> 31) ^ (xor1 << 1);\n }\n\n void main() {\n int i;\n uint uv_x = uint(uv_pos.x * ${canvas.width - 1}.);\n uint uv_y = uint(uv_pos.y * ${canvas.height - 1}.);\n uint x_pos = uv_x % 256u;\n uint y_pos = uv_y % 256u;\n uint x_index = (uv_x - x_pos) / 256u;\n uint y_index = (uv_y - y_pos) / 256u;\n\n // First 2 work bytes are the x,y pos within the 256x256 area, the next\n // two bytes are modified from the random generated value, XOR'd with\n // the x,y area index of where this pixel is located\n m[0] = (x_pos ^ (y_pos << 8) ^ ((u_work0.b ^ x_index) << 16) ^ ((u_work0.a ^ y_index) << 24));\n // Remaining bytes are un-modified from the random generated value\n m[1] = (u_work1.r ^ (u_work1.g << 8) ^ (u_work1.b << 16) ^ (u_work1.a << 24));\n\n // Block hash\n m[2] = 0x${reverseHex.slice(56,64)}u;\n m[3] = 0x${reverseHex.slice(48,56)}u;\n m[4] = 0x${reverseHex.slice(40,48)}u;\n m[5] = 0x${reverseHex.slice(32,40)}u;\n m[6] = 0x${reverseHex.slice(24,32)}u;\n m[7] = 0x${reverseHex.slice(16,24)}u;\n m[8] = 0x${reverseHex.slice(8,16)}u;\n m[9] = 0x${reverseHex.slice(0,8)}u;\n\n // twelve rounds of mixing\n for(i=0;i<12;i++) {\n B2B_G(0, 8, 16, 24, SIGMA82[i * 16 + 0], SIGMA82[i * 16 + 1]);\n B2B_G(2, 10, 18, 26, SIGMA82[i * 16 + 2], SIGMA82[i * 16 + 3]);\n B2B_G(4, 12, 20, 28, SIGMA82[i * 16 + 4], SIGMA82[i * 16 + 5]);\n B2B_G(6, 14, 22, 30, SIGMA82[i * 16 + 6], SIGMA82[i * 16 + 7]);\n B2B_G(0, 10, 20, 30, SIGMA82[i * 16 + 8], SIGMA82[i * 16 + 9]);\n B2B_G(2, 12, 22, 24, SIGMA82[i * 16 + 10], SIGMA82[i * 16 + 11]);\n B2B_G(4, 14, 16, 26, SIGMA82[i * 16 + 12], SIGMA82[i * 16 + 13]);\n B2B_G(6, 8, 18, 28, SIGMA82[i * 16 + 14], SIGMA82[i * 16 + 15]);\n }\n\n // Threshold test, first 4 bytes not significant,\n // only calculate digest of the second 4 bytes\n if((BLAKE2B_IV32_1 ^ v[1] ^ v[17]) > ` + threshold + `u) {\n // Success found, return pixel data so work value can be constructed\n fragColor = vec4(\n float(x_index + 1u)/255., // +1 to distinguish from 0 (unsuccessful) pixels\n float(y_index + 1u)/255., // Same as previous\n float(x_pos)/255., // Return the 2 custom bytes used in work value\n float(y_pos)/255. // Second custom byte\n );\n }\n }`;\n\n const vertexShader = gl.createShader(gl.VERTEX_SHADER);\n gl.shaderSource(vertexShader, vsSource);\n gl.compileShader(vertexShader);\n\n if(!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS))\n throw gl.getShaderInfoLog(vertexShader);\n\n const fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);\n gl.shaderSource(fragmentShader, fsSource);\n gl.compileShader(fragmentShader);\n\n if(!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS))\n throw gl.getShaderInfoLog(fragmentShader);\n\n const program = gl.createProgram();\n gl.attachShader(program, vertexShader);\n gl.attachShader(program, fragmentShader);\n gl.linkProgram(program);\n\n if(!gl.getProgramParameter(program, gl.LINK_STATUS))\n throw gl.getProgramInfoLog(program);\n\n gl.useProgram(program);\n\n // Construct simple 2D geometry\n const triangleArray = gl.createVertexArray();\n gl.bindVertexArray(triangleArray);\n\n // Vertex Positions, 2 triangles\n const positions = new Float32Array([\n -1,-1,0, -1,1,0, 1,1,0,\n 1,-1,0, 1,1,0, -1,-1,0\n ]);\n const positionBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, positions, gl.STATIC_DRAW);\n gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);\n gl.enableVertexAttribArray(0);\n\n // Texture Positions\n const uvPosArray = new Float32Array([\n 1,1, 1,0, 0,0, 0,1, 0,0, 1,1\n ]);\n const uvBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, uvBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, uvPosArray, gl.STATIC_DRAW);\n gl.vertexAttribPointer(1, 2, gl.FLOAT, false, 0, 0);\n gl.enableVertexAttribArray(1);\n\n const work0Location = gl.getUniformLocation(program, 'u_work0');\n const work1Location = gl.getUniformLocation(program, 'u_work1');\n\n // Draw output until success or progressCallback says to stop\n const work0 = new Uint8Array(4);\n const work1 = new Uint8Array(4);\n let n=0;\n\n function draw() {\n n++;\n window.crypto.getRandomValues(work0);\n window.crypto.getRandomValues(work1);\n\n gl.uniform4uiv(work0Location, Array.from(work0));\n gl.uniform4uiv(work1Location, Array.from(work1));\n\n // Check with progressCallback every 100 frames\n if(n%100===0 && typeof progressCallback === 'function' && progressCallback(n))\n return;\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n const pixels = new Uint8Array(gl.drawingBufferWidth * gl.drawingBufferHeight * 4);\n gl.readPixels(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight, gl.RGBA, gl.UNSIGNED_BYTE, pixels);\n\n // Check the pixels for any success\n for(let i=0;i\n
\n
\n
\n
RPC Server : {{ $store.state.app.node.address }}
\n
\n
{{ error }}
\n
\n \n \n \n\n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n\n
\n \n
\n \n
\n
\n \n \n \n
\n
\n Generate Wallet\n
\n
\n
\n
\n
Calculating Work
\n
Ready
\n
\n
\n
\n
\n \n Wallet\n \n
Last Refresh: {{ lastrefresh.toLocaleTimeString() }}
\n
\n \n
\n
\n
{{ address }}
\n
\n
{{ balance }}
\n \n
\n
\n
History
\n \n\n
\n\n
\n \n
History
\n\n \n
\n
\n
\n
\n
\n
\n \n Receive\n
\n
\n \n Send\n
\n
\n \n Settings\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n\n
\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=a9c33036&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page active\",staticStyle:{\"top\":\"0\"},attrs:{\"id\":\"blockdetails\"}},[_c('block-state',{attrs:{\"static\":true}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Block.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Block.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Block.vue?vue&type=template&id=74132096&\"\nimport script from \"./Block.vue?vue&type=script&lang=js&\"\nexport * from \"./Block.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page active\",attrs:{\"id\":\"genwallet\"}},[_c('router-link',{staticClass:\"close\",attrs:{\"to\":_vm.$store.getters['app/nodeLink']}},[_c('i',{staticClass:\"fal fa-times\"})]),_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"details smaller\"},[_c('label',{attrs:{\"for\":\"seed\"}},[_vm._v(\"Seed \"),_c('a',{staticClass:\"refreshwallet\",attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.refreshWallet($event)}}},[_c('i',{staticClass:\"fal fa-sync\"})])]),_c('a',{staticClass:\"copy\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.copyToClipboard(_vm.seed)}}},[_c('i',{staticClass:\"fad fa-clone\"})]),_c('div',{staticClass:\"login\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.seed),expression:\"seed\"}],staticClass:\"copytext\",attrs:{\"type\":\"text\",\"name\":\"seed\"},domProps:{\"value\":(_vm.seed)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.seed=$event.target.value}}}),_c('span',{staticClass:\"max\",on:{\"click\":_vm.clearWallet}},[_vm._v(\"CLEAR\")])])]),_c('div',{staticClass:\"details smaller\"},[_c('label',{attrs:{\"for\":\"address\"}},[_vm._v(\"Address\")]),_c('a',{staticClass:\"copy\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.copyToClipboard(_vm.address)}}},[_c('i',{staticClass:\"fad fa-clone\"})]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.address),expression:\"address\"}],staticClass:\"copytext\",attrs:{\"type\":\"text\",\"name\":\"address\"},domProps:{\"value\":(_vm.address)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.address=$event.target.value}}})]),_c('button',{staticClass:\"btn\",staticStyle:{\"margin-top\":\"30px\"},on:{\"click\":function($event){return _vm.copyToClipboard('Seed: ' + _vm.seed + '\\nPrivate Key: ' + _vm.privatekey + '\\nPublic Key: ' + _vm.publickey + '\\nAddress: ' + _vm.address)}}},[_vm._v(\"Copy To Clipboard\")]),_c('button',{staticClass:\"btn outline\",on:{\"click\":function($event){return _vm.save('Seed: ' + _vm.seed + '\\nPrivate Key: ' + _vm.privatekey + '\\nPublic Key: ' + _vm.publickey + '\\nAddress: ' + _vm.address)}}},[_vm._v(\"Download\")]),_c('wallet',{attrs:{\"private\":_vm.seed,\"public\":_vm.address}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wallet\"},[_c('button',{staticClass:\"btn outline\",staticStyle:{\"width\":\"100%\"},attrs:{\"type\":\"button\"},on:{\"click\":_vm.createWallet}},[_vm._v(\"Create Paper Wallet\")]),_c('div',{staticClass:\"page\",class:{active: _vm.wallet !== false},staticStyle:{\"z-index\":\"9\",\"top\":\"0\",\"bottom\":\"0\",\"justtify-content\":\"flex-start\"}},[_c('div',{staticClass:\"fdcol\"},[_c('a',{staticClass:\"close\",on:{\"click\":_vm.closeWallet}},[_c('i',{staticClass:\"fal fa-times\"})]),_c('div',{staticClass:\"printpos\"},[_c('canvas',{attrs:{\"width\":\"2480\",\"height\":\"3508\",\"id\":'wallet_' + _vm._uid}}),_c('div',{staticClass:\"posbuttons\"},[_c('div',{staticClass:\"print-position\"},[_vm._v(\"Paper print position\")]),_c('button',{staticClass:\"btn\",class:{ outline: _vm.position !== 1},on:{\"click\":function($event){_vm.position = 1}}},[_c('img',{attrs:{\"src\":\"wallet_preview.png\"}})]),_c('button',{staticClass:\"btn\",class:{ outline: _vm.position !== 2},on:{\"click\":function($event){_vm.position = 2}}},[_c('img',{attrs:{\"src\":\"wallet_preview.png\"}})]),_c('button',{staticClass:\"btn\",class:{ outline: _vm.position !== 3},on:{\"click\":function($event){_vm.position = 3}}},[_c('img',{attrs:{\"src\":\"wallet_preview.png\"}})])])]),_c('button',{staticClass:\"btn\",staticStyle:{\"width\":\"100%\",\"margin-top\":\"20px\"},on:{\"click\":_vm.printWallet}},[_vm._v(\"Print\")])])]),_c('img',{attrs:{\"src\":_vm.src,\"id\":\"printimage\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Wallet.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Wallet.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Wallet.vue?vue&type=template&id=12f9c9f0&\"\nimport script from \"./Wallet.vue?vue&type=script&lang=js&\"\nexport * from \"./Wallet.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Wallet.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Generate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Generate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Generate.vue?vue&type=template&id=b3c21964&scoped=true&\"\nimport script from \"./Generate.vue?vue&type=script&lang=js&\"\nexport * from \"./Generate.vue?vue&type=script&lang=js&\"\nimport style1 from \"./Generate.vue?vue&type=style&index=1&id=b3c21964&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b3c21964\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page active\",staticStyle:{\"top\":\"0\"},attrs:{\"id\":\"wallet\"}},[_c('div',{staticClass:\"inner\"},[_c('div',{staticClass:\"block\"},[_vm._m(0),_c('div',{attrs:{\"id\":\"output\"}},[_c('div',{staticClass:\"balance\"},[_c('div',{staticClass:\"raw\",class:{ active: _vm.balanceextra },on:{\"click\":function($event){return _vm.copyToClipboard(_vm.$route.params.address)}}},[_vm._v(_vm._s(_vm.$route.params.address))]),_c('div',{staticClass:\"value\",domProps:{\"innerHTML\":_vm._s(_vm.abbreviateNumber(_vm.balance))}}),_c('div',{staticClass:\"raw\",class:{ active: _vm.balanceextra }},[_vm._v(_vm._s(_vm.balance))]),_c('a',{staticClass:\"balanceextra\",attrs:{\"href\":\"\"},on:{\"click\":function($event){$event.preventDefault();_vm.balanceextra = !_vm.balanceextra}}},[_c('i',{staticClass:\"fal fa-ellipsis-h\",attrs:{\"data-fa-transform\":\"grow-20\"}})])])]),_c('simplebar',{staticClass:\"block history\"},[_c('div',{staticClass:\"headingtitle showmobile\"},[_vm._v(\"History\")]),_c('div',{attrs:{\"id\":\"pendingblocks\"}}),_vm._l((_vm.pending),function(transaction,index){return _c('transaction',{key:index,attrs:{\"index\":index,\"transaction\":transaction,\"type\":\"pending\"},on:{\"blockdetails\":function($event){_vm.blockdetails = $event}}})})],2)],1),_c('simplebar',{staticClass:\"block history\"},[_c('div',{staticClass:\"headingtitle hidemobile\"},[_vm._v(\"History\")]),_vm._l((_vm.history),function(transaction,index){return _c('transaction',{key:index,attrs:{\"index\":index,\"transaction\":transaction,\"type\":transaction.type},on:{\"blockdetails\":function($event){_vm.blockdetails = $event}}})})],2)],1),_c('div',{staticClass:\"page\",class:{active: _vm.blockdetails !== null},staticStyle:{\"top\":\"0\"},attrs:{\"id\":\"blockdetails\"}},[_c('a',{staticClass:\"close\",on:{\"click\":function($event){_vm.blockdetails = null}}},[_c('i',{staticClass:\"fal fa-times\"})]),_c('block-state',{attrs:{\"details\":_vm.blockdetails}})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"headingtitle top\"},[_c('span',[_vm._v(\"Wallet\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Address.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Address.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Address.vue?vue&type=template&id=29004569&\"\nimport script from \"./Address.vue?vue&type=script&lang=js&\"\nexport * from \"./Address.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport Home from '../views/Home.vue'\nimport Block from '../views/Block.vue'\n// import Node from '../views/Node.vue'\nimport Generate from '../views/Generate.vue'\nimport Address from '../views/Address.vue'\n\nVue.use(VueRouter)\n\n const routes = [\n {\n path: '/',\n name: 'Home',\n component: Home\n },\n {\n path: '/generate',\n name: 'Generate',\n component: Generate\n },\n {\n path: '/about',\n name: 'About',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ '../views/About.vue')\n },\n {\n path: '/block/:hash',\n name: 'Block',\n component: Block\n },\n {\n path: '/address/:address',\n name: 'Address',\n component: Address\n },\n {\n path: '/pos/:address',\n name: 'POS',\n component: Home\n },\n\n {\n path: '/:node',\n name: 'Home',\n component: Home\n },\n {\n path: '/:node/generate',\n name: 'Generate',\n component: Generate\n },\n {\n path: '/:node/block/:hash',\n name: 'Block',\n component: Block\n },\n {\n path: '/:node/address/:address',\n name: 'Address',\n component: Address\n },\n {\n path: '/:node/pos/:address',\n name: 'POS',\n component: Home\n }\n]\n\nconst router = new VueRouter({\n routes\n})\n\nexport default router\n","export function initialState () {\n return {\n // SETTINGS CAN BE CHANGED\n settings: {\n pow: 1,\n changeaddress: true,\n receiveinterval: 10000,\n nfctoken: process.env.VUE_APP_NFC_TOKEN,\n node: [\n {\n address: 'nano.linuxserver.io',\n protocol: 'http',\n port: 7076,\n path: '',\n },\n\t{\n address: 'nano2.linuxserver.io',\n protocol: 'http',\n port: 7076,\n path: '',\n }\n ],\n presets: {\n 'mynano.ninja': {\n port: 443,\n path: '/api/node',\n protocol: 'https',\n headers: {\n 'Content-Type': 'application/json'\n }\n },\n 'proxy.nanos.cc': {\n port: 443,\n path: '/proxy',\n protocol: 'https',\n headers: {\n 'Content-Type': 'application/json'\n }\n }\n }\n },\n // DO NOT CHANGE ANYTHING BELOW\n privatekey: null,\n pow: null,\n ready: false,\n history: [],\n pending: [],\n node: {\n address: null,\n port: null,\n path: '',\n auth: null\n }\n }\n}\n\nexport default function () {\n return initialState()\n}\n","import router from '@/router'\n\nexport function nodeLink() {\n if('node' in router.currentRoute.params) {\n return '/' + router.currentRoute.params.node + '/'\n }\n return '/'\n}\n","import initialState from './state.js'\n\nexport function pow(state, data) {\n if(data !== null) {\n console.log('Finished calculating')\n console.log(data)\n }\n\n state.pow = data\n}\nexport function ready(state, data) {\n state.ready = data\n}\nexport function privatekey(state, data) {\n state.privatekey = data\n}\nexport function node(state, data) {\n state.node = data\n}\nexport function history(state, data) {\n state.history = data\n}\nexport function pending(state, data) {\n state.pending = data\n}\nexport function balance(state, data) {\n state.balance = data\n}\n\nexport function resetState(state) {\n Object.assign(state, initialState())\n}\n","import * as NanoCurrency from 'nanocurrency'\nimport router from '@/router'\n\nfunction protocol() {\n return window.location.protocol.replace(':', '')\n}\n\nfunction port() {\n if (protocol() == 'https'){\n return '7077'\n }\n return '7076'\n}\n\nexport async function node ({ commit, state }) {\n let newnode = {...state.node}\n if(state.settings.changeaddress === true) {\n newnode.address = router.currentRoute.params.node\n newnode.port = port()\n newnode.protocol = protocol()\n if(router.currentRoute.params.node in state.settings.presets) {\n const preset = state.settings.presets[router.currentRoute.params.node]\n newnode = {\n ...newnode,\n ...preset\n }\n }\n } else {\n var i\n for (i = 0; i < state.settings.node.length; i++) {\n const controller = new AbortController();\n const timeout = setTimeout(\n () => { controller.abort() },\n 10000,\n )\n const rpcurl = state.settings.node[i].protocol + '://' + state.settings.node[i].address + ':' + state.settings.node[i].port + state.settings.node[i].path\n const Init = { method:'POST',body: '{\"action\":\"block_count\"}'}\n Init.signal = controller.signal\n Init.headers = {}\n if ('headers' in state.settings.node[i]) {\n Init.headers = state.settings.node[i].headers\n }\n if ('auth' in state.settings.node[i] && state.settings.node[i].auth !== null) {\n Init.headers['Authorization'] = state.settings.node[i].auth\n }\n try {\n console.log(\"Checking backend: \" + rpcurl)\n const res = await fetch(rpcurl,Init)\n clearTimeout(timeout)\n if (res.ok) {\n let data = await res.json()\n if (data.count) {\n console.log(\"Backend OK: \" + rpcurl)\n newnode = {\n ...newnode,\n ...state.settings.node[i]\n }\n break\n } else {\n console.log(res)\n }\n } else {\n console.log(res)\n }\n }\n catch {\n clearTimeout(timeout)\n console.log(\"Timed out: \" + rpcurl)\n }\n }\n }\n if('auth' in router.currentRoute.query) {\n newnode.auth = router.currentRoute.query.auth\n }\n commit('node', newnode)\n \n}\n\nexport async function getSeed (context) {\n const seed = await NanoCurrency.generateSeed();\n return seedData(context, seed)\n}\n\nexport async function seedData (context, seed) {\n const privatekey = NanoCurrency.deriveSecretKey(seed, 0);\n const publickey = NanoCurrency.derivePublicKey(privatekey);\n const address = NanoCurrency.deriveAddress(publickey,{useNanoPrefix:true});\n const payload = {\n \"seed\":seed,\n \"privatekey\":privatekey,\n \"publickey\":publickey,\n \"address\":address\n };\n return payload;\n}\n\nexport async function getDetails (context, address) {\n const info = {\n action: 'account_info',\n representative: 'true',\n account: address\n }\n const details = await rpCall(context, info)\n return details\n}\n\nexport async function rpCall ({commit, state}, body) {\n if (state.node.address === null) {\n await node({commit, state})\n }\n var rpcurl = state.node.protocol + '://' + state.node.address + ':' + state.node.port + state.node.path\n var Init = { method:'POST',body: JSON.stringify(body)}\n Init.headers = {}\n if ('headers' in state.node) {\n Init.headers = state.node.headers\n }\n if (state.node.auth !== null) {\n Init.headers['Authorization'] = state.node.auth\n }\n var res = await fetch(rpcurl,Init)\n var data = await res.json()\n console.log(data)\n console.log(commit)\n return data\n}\n\nlet historycalls = 0\nexport async function history (context, address) {\n let history = {}\n history['action'] = 'account_history'\n history['account'] = address\n history['count'] = 64\n console.log('history')\n try {\n const details = await context.dispatch('rpCall', history);\n if (Array.isArray(details.history) && details.history.length){\n context.commit('history', details.history)\n }\n } catch (err) {\n console.log(err)\n console.log('Something went wrong, rate minited maybe? try again')\n if(historycalls < 3) {\n setTimeout(function(){ \n historycalls++\n context.dispatch('history', address)\n }, 2000);\n }\n }\n\n}\n\nlet pendingcalls = 0\nexport async function pending (context, address) {\n let pending = {}\n pending['action'] = 'pending'\n pending['source'] = 'true'\n pending['sorting'] = 'true'\n pending['account'] = address\n\n try {\n\n const details = await context.dispatch('rpCall', pending);\n console.log('pending1')\n\n if (typeof details.blocks === 'object'){\n console.log('pending')\n context.commit('pending', details.blocks)\n } else {\n context.commit('pending', [])\n }\n } catch (err) {\n console.log(err)\n console.log('Something went wrong, rate minited maybe? try again')\n if(pendingcalls < 3) {\n setTimeout(function(){ \n pendingcalls++\n context.dispatch('pending', address)\n }, 2000);\n }\n }\n\n}\n\nexport function resetState ({ dispatch, commit }) {\n commit('resetState')\n dispatch('node')\n}\n","import state from './state'\nimport * as getters from './getters'\nimport * as mutations from './mutations'\nimport * as actions from './actions'\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport app from './app'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n modules: {\n app\n }\n})","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport store from './store'\n\n// import { NanoCurrency } from 'nanocurrency'\nimport Notifications from 'vue-notification'\nVue.use(Notifications)\n// Vue.use(NanoCurrency)\nVue.config.productionTip = false\n\nnew Vue({\n router,\n store,\n render: h => h(App)\n}).$mount('#app')\n","module.exports = function() {\n return new Worker(__webpack_public_path__ + \"1602516512737beec51b.worker.js\");\n};","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QrBlock.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QrBlock.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Generate.vue?vue&type=style&index=1&id=b3c21964&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Generate.vue?vue&type=style&index=1&id=b3c21964&lang=scss&scoped=true&\""],"sourceRoot":""} \ No newline at end of file