diff --git a/.gitignore b/.gitignore index 4ca7acf..3648ad4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ !docs/*/*.js node_modules/ .env +.secret diff --git a/bns-browser.js b/bns-browser.js index 72a3daf..b7134a8 100644 --- a/bns-browser.js +++ b/bns-browser.js @@ -1,4 +1,4 @@ -(()=>{var zn=Object.create;var Ze=Object.defineProperty;var Wn=Object.getOwnPropertyDescriptor;var Zn=Object.getOwnPropertyNames;var $n=Object.getPrototypeOf,ei=Object.prototype.hasOwnProperty;var I=(e,r)=>Ze(e,"name",{value:r,configurable:!0}),Br=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var S=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),vt=(e,r)=>{for(var t in r)Ze(e,t,{get:r[t],enumerable:!0})},ti=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of Zn(r))!ei.call(e,s)&&s!==t&&Ze(e,s,{get:()=>r[s],enumerable:!(n=Wn(r,s))||n.enumerable});return e};var Ke=(e,r,t)=>(t=e!=null?zn($n(e)):{},ti(r||!e||!e.__esModule?Ze(t,"default",{value:e,enumerable:!0}):t,e));var Ft=S((po,pr)=>{pr.exports=Qr;var $e=class extends Error{static{I(this,"AssertionError")}};$e.prototype.name="AssertionError";function Qr(e,r){if(!e){var t=new $e(r);throw Error.captureStackTrace&&Error.captureStackTrace(t,Qr),t}}I(Qr,"assert")});var mr=S((Do,Dr)=>{function br(e){return e.length}I(br,"byteLength");function ri(e){let r=e.byteLength,t="";for(let n=0;n{var ye="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ae=new Uint8Array(256);for(let e=0;e1&&e.charCodeAt(r-1)===61&&r--,r*3>>>2}I(Sr,"byteLength");function ii(e){let r=e.byteLength,t="";for(let n=0;n>2]+ye[(e[n]&3)<<4|e[n+1]>>4]+ye[(e[n+1]&15)<<2|e[n+2]>>6]+ye[e[n+2]&63];return r%3===2?t=t.substring(0,t.length-1)+"=":r%3===1&&(t=t.substring(0,t.length-2)+"=="),t}I(ii,"toString");function oi(e,r,t=0,n=Sr(r)){let s=Math.min(n,e.byteLength-t);for(let g=0,l=0;l>4,e[l++]=(w&15)<<4|B>>2,e[l++]=(B&3)<<6|b&63}return s}I(oi,"write");Ur.exports={byteLength:Sr,toString:ii,write:oi}});var kr=S((vo,Yr)=>{function Kr(e){return e.length>>>1}I(Kr,"byteLength");function Ai(e){let r=e.byteLength;e=new DataView(e.buffer,e.byteOffset,r);let t="",n=0;for(let s=r-r%4;n=48&&e<=57)return e-48;if(e>=65&&e<=70)return e-65+10;if(e>=97&&e<=102)return e-97+10}I(Fr,"hexValue")});var Mr=S((Ko,Lr)=>{function Kt(e){let r=0;for(let t=0,n=e.length;t=55296&&s<=56319&&t+1=56320&&g<=57343){r+=4,t++;continue}}s<=127?r+=1:s<=2047?r+=2:r+=3}return r}I(Kt,"byteLength");var Yt;if(typeof TextDecoder<"u"){let e=new TextDecoder;Yt=I(function(t){return e.decode(t)},"toString")}else Yt=I(function(r){let t=r.byteLength,n="",s=0;for(;s0){let w=0;for(;w>B,B-=6;B>=0;)r[_++]=128|w>>B&63,B-=6;l+=w>=65536?2:1}return g},"write");Lr.exports={byteLength:Kt,toString:Yt,write:kt}});var Vr=S((ko,Pr)=>{function Hr(e){return e.length*2}I(Hr,"byteLength");function si(e){let r=e.byteLength,t="";for(let n=0;n>8,B=_%256;e[t+l*2]=B,e[t+l*2+1]=w}return s}I(Ii,"write");Pr.exports={byteLength:Hr,toString:si,write:Ii}});var Tr=S((Mt,Rr)=>{var hi=mr(),ci=vr(),gi=kr(),fi=Mr(),ui=Vr(),et=new Uint8Array(Uint16Array.of(255).buffer)[0]===255;function Ye(e){switch(e){case"ascii":return hi;case"base64":return ci;case"hex":return gi;case"utf8":case"utf-8":case void 0:return fi;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ui;default:throw new Error(`Unknown encoding: ${e}`)}}I(Ye,"codecFor");function Or(e){return e instanceof Uint8Array}I(Or,"isBuffer");function Ci(e){try{return Ye(e),!0}catch{return!1}}I(Ci,"isEncoding");function li(e,r,t){let n=new Uint8Array(e);return r!==void 0&&Mt.fill(n,r,0,n.byteLength,t),n}I(li,"alloc");function yi(e){return new Uint8Array(e)}I(yi,"allocUnsafe");function _i(e){return new Uint8Array(e)}I(_i,"allocUnsafeSlow");function di(e,r){return Ye(r).byteLength(e)}I(di,"byteLength");function wi(e,r){if(e===r)return 0;let t=Math.min(e.byteLength,r.byteLength);e=new DataView(e.buffer,e.byteOffset,e.byteLength),r=new DataView(r.buffer,r.byteOffset,r.byteLength);let n=0;for(let s=t-t%4;ng)return 1}return e.byteLength>r.byteLength?1:e.byteLengths+g.byteLength,0));let t=new Uint8Array(r),n=0;for(let s of e){if(n+s.byteLength>t.byteLength){let g=s.subarray(0,t.byteLength-n);return t.set(g,n),t}t.set(s,n),n+=s.byteLength}return t}I(Ei,"concat");function xi(e,r,t=0,n=0,s=e.byteLength){if(s>0&&s=e.byteLength)throw new RangeError("sourceStart is out of range");if(s<0)throw new RangeError("sourceEnd is out of range");t>=r.byteLength&&(t=r.byteLength),s>e.byteLength&&(s=e.byteLength),r.byteLength-t=e.byteLength){if(s)return-1;t=e.byteLength-1}else if(t<0)if(s)t=0;else return-1;if(typeof r=="string")r=Lt(r,n);else if(typeof r=="number")return r=r&255,s?e.indexOf(r,t):e.lastIndexOf(r,t);if(r.byteLength===0)return-1;if(s){let g=-1;for(let l=t;le.byteLength&&(t=e.byteLength-r.byteLength);for(let g=t;g>=0;g--){let l=!0;for(let _=0;_=s||n<=t?"":(t<0&&(t=0),n>s&&(n=s),(t!==0||n{var Ti=I((e,r)=>I(function(){return r||(0,e[Object.keys(e)[0]])((r={exports:{}}).exports,r),r.exports},"__require"),"__commonJS"),ji=(()=>{for(var e=new Uint8Array(128),r=0;r<64;r++)e[r<26?r+65:r<52?r+71:r<62?r-4:r*4-205]=r;return t=>{for(var n=t.length,s=new Uint8Array((n-(t[n-1]=="=")-(t[n-2]=="="))*3/4|0),g=0,l=0;g>4,s[l++]=w<<4|B>>2,s[l++]=B<<6|b}return s}})(),Ji=Ti({"wasm-binary:./blake2b.wat"(e,r){r.exports=ji("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")}}),Xi=Ji(),qi=WebAssembly.compile(Xi);jr.exports=async e=>(await WebAssembly.instantiate(await qi,e)).exports});var tn=S((Go,J)=>{var M=Ft(),zi=Tr(),W=null,Xr=typeof WebAssembly<"u"&&Jr()().then(e=>{W=e}),z=64,tt=[];J.exports=Y;var qr=J.exports.BYTES_MIN=16,zr=J.exports.BYTES_MAX=64,Vo=J.exports.BYTES=32,Wr=J.exports.KEYBYTES_MIN=16,Zr=J.exports.KEYBYTES_MAX=64,Oo=J.exports.KEYBYTES=32,$r=J.exports.SALTBYTES=16,en=J.exports.PERSONALBYTES=16;function Y(e,r,t,n,s){if(!(this instanceof Y))return new Y(e,r,t,n,s);if(!W)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");e||(e=32),s!==!0&&(M(e>=qr,"digestLength must be at least "+qr+", was given "+e),M(e<=zr,"digestLength must be at most "+zr+", was given "+e),r!=null&&(M(r instanceof Uint8Array,"key must be Uint8Array or Buffer"),M(r.length>=Wr,"key must be at least "+Wr+", was given "+r.length),M(r.length<=Zr,"key must be at least "+Zr+", was given "+r.length)),t!=null&&(M(t instanceof Uint8Array,"salt must be Uint8Array or Buffer"),M(t.length===$r,"salt must be exactly "+$r+", was given "+t.length)),n!=null&&(M(n instanceof Uint8Array,"personal must be Uint8Array or Buffer"),M(n.length===en,"personal must be exactly "+en+", was given "+n.length))),tt.length||(tt.push(z),z+=216),this.digestLength=e,this.finalized=!1,this.pointer=tt.pop(),this._memory=new Uint8Array(W.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=r?r.length:0,this._memory[2]=1,this._memory[3]=1,t&&this._memory.set(t,32),n&&this._memory.set(n,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),W.blake2b_init(this.pointer,this.digestLength),r&&(this.update(r),this._memory.fill(0,z,z+r.length),this._memory[this.pointer+200]=128)}I(Y,"Blake2b");Y.prototype._realloc=function(e){W.memory.grow(Math.max(0,Math.ceil(Math.abs(e-this._memory.length)/65536))),this._memory=new Uint8Array(W.memory.buffer)};Y.prototype.update=function(e){return M(this.finalized===!1,"Hash instance finalized"),M(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),z+e.length>this._memory.length&&this._realloc(z+e.length),this._memory.set(e,z),W.blake2b_update(this.pointer,z,z+e.length),this};Y.prototype.digest=function(e){if(M(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,tt.push(this.pointer),W.blake2b_final(this.pointer),!e||e==="binary")return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(typeof e=="string")return zi.toString(this._memory,e,this.pointer+128,this.pointer+128+this.digestLength);M(e instanceof Uint8Array&&e.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var r=0;re(),e):e(new Error("WebAssembly not supported"))};Y.prototype.ready=Y.ready;Y.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)};Y.prototype.setPartialHash=function(e){this._memory.set(e,this.pointer)};function Wi(){}I(Wi,"noop")});var Ht=S((jo,k)=>{var P=Ft(),Le=tn();function rt(e,r,t){var n=e[r]+e[t],s=e[r+1]+e[t+1];n>=4294967296&&s++,e[r]=n,e[r+1]=s}I(rt,"ADD64AA");function rn(e,r,t,n){var s=e[r]+t;t<0&&(s+=4294967296);var g=e[r+1]+n;s>=4294967296&&g++,e[r]=s,e[r+1]=g}I(rn,"ADD64AC");function hn(e,r){return e[r]^e[r+1]<<8^e[r+2]<<16^e[r+3]<<24}I(hn,"B2B_GET32");function te(e,r,t,n,s,g){var l=ke[s],_=ke[s+1],w=ke[g],B=ke[g+1];rt(x,e,r),rn(x,e,l,_);var b=x[n]^x[e],m=x[n+1]^x[e+1];x[n]=m,x[n+1]=b,rt(x,t,n),b=x[r]^x[t],m=x[r+1]^x[t+1],x[r]=b>>>24^m<<8,x[r+1]=m>>>24^b<<8,rt(x,e,r),rn(x,e,w,B),b=x[n]^x[e],m=x[n+1]^x[e+1],x[n]=b>>>16^m<<16,x[n+1]=m>>>16^b<<16,rt(x,t,n),b=x[r]^x[t],m=x[r+1]^x[t+1],x[r]=m>>>31^b<<1,x[r+1]=b>>>31^m<<1}I(te,"B2B_G");var cn=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Zi=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],v=new Uint8Array(Zi.map(function(e){return e*2})),x=new Uint32Array(32),ke=new Uint32Array(32);function gn(e,r){var t=0;for(t=0;t<16;t++)x[t]=e.h[t],x[t+16]=cn[t];for(x[24]=x[24]^e.t,x[25]=x[25]^e.t/4294967296,r&&(x[28]=~x[28],x[29]=~x[29]),t=0;t<32;t++)ke[t]=hn(e.b,4*t);for(t=0;t<12;t++)te(0,8,16,24,v[t*16+0],v[t*16+1]),te(2,10,18,26,v[t*16+2],v[t*16+3]),te(4,12,20,28,v[t*16+4],v[t*16+5]),te(6,14,22,30,v[t*16+6],v[t*16+7]),te(0,10,20,30,v[t*16+8],v[t*16+9]),te(2,12,22,24,v[t*16+10],v[t*16+11]),te(4,14,16,26,v[t*16+12],v[t*16+13]),te(6,8,18,28,v[t*16+14],v[t*16+15]);for(t=0;t<16;t++)e.h[t]=e.h[t]^x[t]^x[t+16]}I(gn,"blake2bCompress");var re=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function _e(e,r,t,n){re.fill(0),this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.outlen=e,re[0]=e,r&&(re[1]=r.length),re[2]=1,re[3]=1,t&&re.set(t,32),n&&re.set(n,48);for(var s=0;s<16;s++)this.h[s]=cn[s]^hn(re,s*4);r&&(fn(this,r),this.c=128)}I(_e,"Blake2b");_e.prototype.update=function(e){return P(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),fn(this,e),this};_e.prototype.digest=function(e){var r=!e||e==="binary"||e==="hex"?new Uint8Array(this.outlen):e;return P(r instanceof Uint8Array,'out must be "binary", "hex", Uint8Array, or Buffer'),P(r.length>=this.outlen,"out must have at least outlen bytes of space"),$i(this,r),e==="hex"?eo(r):r};_e.prototype.final=_e.prototype.digest;_e.ready=function(e){Le.ready(function(){e()})};function fn(e,r){for(var t=0;t>2]>>8*(t&3);return r}I($i,"blake2bFinal");function eo(e){for(var r="",t=0;t=nn,"outlen must be at least "+nn+", was given "+r),P(r<=on,"outlen must be at most "+on+", was given "+r),t!=null&&(P(t instanceof Uint8Array,"key must be Uint8Array or Buffer"),P(t.length>=An,"key must be at least "+An+", was given "+t.length),P(t.length<=an,"key must be at most "+an+", was given "+t.length)),n!=null&&(P(n instanceof Uint8Array,"salt must be Uint8Array or Buffer"),P(n.length===sn,"salt must be exactly "+sn+", was given "+n.length)),s!=null&&(P(s instanceof Uint8Array,"personal must be Uint8Array or Buffer"),P(s.length===In,"personal must be exactly "+In+", was given "+s.length))),new ro(r,t,n,s)},"createHash");k.exports.ready=function(e){Le.ready(function(){e()})};k.exports.WASM_SUPPORTED=Le.SUPPORTED;k.exports.WASM_LOADED=!1;var nn=k.exports.BYTES_MIN=16,on=k.exports.BYTES_MAX=64,Ro=k.exports.BYTES=32,An=k.exports.KEYBYTES_MIN=16,an=k.exports.KEYBYTES_MAX=64,To=k.exports.KEYBYTES=32,sn=k.exports.SALTBYTES=16,In=k.exports.PERSONALBYTES=16;Le.ready(function(e){e||(k.exports.WASM_LOADED=!0,k.exports=Le)})});var un=S((Xo,nt)=>{(function(e){"use strict";let r=Ht();var t=I(function(i,A){this.hi=i|0,this.lo=A|0},"u64"),n=I(function(i){var A,o=new Float64Array(16);if(i)for(A=0;A>>32-A}I(ee,"L32");function he(i,A){var o=i[A+3]&255;return o=o<<8|i[A+2]&255,o=o<<8|i[A+1]&255,o<<8|i[A+0]&255}I(he,"ld32");function er(i,A){var o=i[A]<<24|i[A+1]<<16|i[A+2]<<8|i[A+3],a=i[A+4]<<24|i[A+5]<<16|i[A+6]<<8|i[A+7];return new t(o,a)}I(er,"dl64");function gt(i,A,o){var a;for(a=0;a<4;a++)i[A+a]=o&255,o>>>=8}I(gt,"st32");function tr(i,A,o){i[A]=o.hi>>24&255,i[A+1]=o.hi>>16&255,i[A+2]=o.hi>>8&255,i[A+3]=o.hi&255,i[A+4]=o.lo>>24&255,i[A+5]=o.lo>>16&255,i[A+6]=o.lo>>8&255,i[A+7]=o.lo&255}I(tr,"ts64");function ft(i,A,o,a,h){var c,C=0;for(c=0;c>>8)-1}I(ft,"vn");function rr(i,A,o,a){return ft(i,A,o,a,16)}I(rr,"crypto_verify_16");function ut(i,A,o,a){return ft(i,A,o,a,32)}I(ut,"crypto_verify_32");function nr(i,A,o,a,h){var c=new Uint32Array(16),C=new Uint32Array(16),y=new Uint32Array(16),f=new Uint32Array(4),u,d,p;for(u=0;u<4;u++)C[5*u]=he(a,4*u),C[1+u]=he(o,4*u),C[6+u]=he(A,4*u),C[11+u]=he(o,16+4*u);for(u=0;u<16;u++)y[u]=C[u];for(u=0;u<20;u++){for(d=0;d<4;d++){for(p=0;p<4;p++)f[p]=C[(5*d+4*p)%16];for(f[1]^=ee(f[0]+f[3]|0,7),f[2]^=ee(f[1]+f[0]|0,9),f[3]^=ee(f[2]+f[1]|0,13),f[0]^=ee(f[3]+f[2]|0,18),p=0;p<4;p++)c[4*d+(d+p)%4]=f[p]}for(p=0;p<16;p++)C[p]=c[p]}if(h){for(u=0;u<16;u++)C[u]=C[u]+y[u]|0;for(u=0;u<4;u++)C[5*u]=C[5*u]-he(a,4*u)|0,C[6+u]=C[6+u]-he(A,4*u)|0;for(u=0;u<4;u++)gt(i,4*u,C[5*u]),gt(i,16+4*u,C[6+u])}else for(u=0;u<16;u++)gt(i,4*u,C[u]+y[u]|0)}I(nr,"core");function ir(i,A,o,a){return nr(i,A,o,a,!1),0}I(ir,"crypto_core_salsa20");function Ge(i,A,o,a){return nr(i,A,o,a,!0),0}I(Ge,"crypto_core_hsalsa20");var pe=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function Ct(i,A,o,a,h,c,C){var y=new Uint8Array(16),f=new Uint8Array(64),u,d;if(!h)return 0;for(d=0;d<16;d++)y[d]=0;for(d=0;d<8;d++)y[d]=c[d];for(;h>=64;){for(ir(f,y,C,pe),d=0;d<64;d++)i[A+d]=(o?o[a+d]:0)^f[d];for(u=1,d=8;d<16;d++)u=u+(y[d]&255)|0,y[d]=u&255,u>>>=8;h-=64,A+=64,o&&(a+=64)}if(h>0)for(ir(f,y,C,pe),d=0;d>>=8}I(yt,"add1305");var Yn=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function _t(i,A,o,a,h,c){var C,y,f,u,d=new Uint32Array(17),p=new Uint32Array(17),D=new Uint32Array(17),N=new Uint32Array(17),le=new Uint32Array(17);for(f=0;f<17;f++)p[f]=D[f]=0;for(f=0;f<16;f++)p[f]=c[f];for(p[3]&=15,p[4]&=252,p[7]&=15,p[8]&=252,p[11]&=15,p[12]&=252,p[15]&=15;h>0;){for(f=0;f<17;f++)N[f]=0;for(f=0;f<16&&f>>=8;for(u=u+D[16]|0,D[16]=u&3,u=5*(u>>>2)|0,f=0;f<16;f++)u=u+D[f]|0,D[f]=u&255,u>>>=8;u=u+D[16]|0,D[16]=u}for(f=0;f<17;f++)le[f]=D[f];for(yt(D,Yn),C=-(D[16]>>>7)|0,f=0;f<17;f++)D[f]^=C&(le[f]^D[f]);for(f=0;f<16;f++)N[f]=c[f+16];for(N[16]=0,yt(D,N),f=0;f<16;f++)i[A+f]=D[f];return 0}I(_t,"crypto_onetimeauth");function ar(i,A,o,a,h,c){var C=new Uint8Array(16);return _t(C,0,o,a,h,c),rr(i,A,C,0)}I(ar,"crypto_onetimeauth_verify");function dt(i,A,o,a,h){var c;if(o<32)return-1;for(lt(i,0,A,0,o,a,h),_t(i,16,i,32,o-32,i),c=0;c<16;c++)i[c]=0;return 0}I(dt,"crypto_secretbox");function wt(i,A,o,a,h){var c,C=new Uint8Array(32);if(o<32||(Ar(C,0,32,a,h),ar(A,16,A,32,o-32,C)!==0))return-1;for(lt(i,0,A,0,o,a,h),c=0;c<32;c++)i[c]=0;return 0}I(wt,"crypto_secretbox_open");function X(i,A){var o;for(o=0;o<16;o++)i[o]=A[o]|0}I(X,"set25519");function be(i){var A,o;for(o=0;o<16;o++)i[o]+=65536,A=Math.floor(i[o]/65536),i[(o+1)*(o<15?1:0)]+=A-1+37*(A-1)*(o===15?1:0),i[o]-=A*65536}I(be,"car25519");function ce(i,A,o){for(var a,h=~(o-1),c=0;c<16;c++)a=h&(i[c]^A[c]),i[c]^=a,A[c]^=a}I(ce,"sel25519");function ge(i,A){var o,a,h,c=n(),C=n();for(o=0;o<16;o++)C[o]=A[o];for(be(C),be(C),be(C),a=0;a<2;a++){for(c[0]=C[0]-65517,o=1;o<15;o++)c[o]=C[o]-65535-(c[o-1]>>16&1),c[o-1]&=65535;c[15]=C[15]-32767-(c[14]>>16&1),h=c[15]>>16&1,c[14]&=65535,ce(C,c,1-h)}for(o=0;o<16;o++)i[2*o]=C[o]&255,i[2*o+1]=C[o]>>8}I(ge,"pack25519");function sr(i,A){var o=new Uint8Array(32),a=new Uint8Array(32);return ge(o,i),ge(a,A),ut(o,0,a,0)}I(sr,"neq25519");function Ir(i){var A=new Uint8Array(32);return ge(A,i),A[0]&1}I(Ir,"par25519");function Et(i,A){var o;for(o=0;o<16;o++)i[o]=A[2*o]+(A[2*o+1]<<8);i[15]&=32767}I(Et,"unpack25519");function O(i,A,o){var a;for(a=0;a<16;a++)i[a]=A[a]+o[a]|0}I(O,"A");function G(i,A,o){var a;for(a=0;a<16;a++)i[a]=A[a]-o[a]|0}I(G,"Z");function Q(i,A,o){var a,h,c=new Float64Array(31);for(a=0;a<31;a++)c[a]=0;for(a=0;a<16;a++)for(h=0;h<16;h++)c[a+h]+=A[a]*o[h];for(a=0;a<15;a++)c[a]+=38*c[a+16];for(a=0;a<16;a++)i[a]=c[a];be(i),be(i)}I(Q,"M");function H(i,A){Q(i,A,A)}I(H,"S");function hr(i,A){var o=n(),a;for(a=0;a<16;a++)o[a]=A[a];for(a=253;a>=0;a--)H(o,o),a!==2&&a!==4&&Q(o,o,A);for(a=0;a<16;a++)i[a]=o[a]}I(hr,"inv25519");function cr(i,A){var o=n(),a;for(a=0;a<16;a++)o[a]=A[a];for(a=250;a>=0;a--)H(o,o),a!==1&&Q(o,o,A);for(a=0;a<16;a++)i[a]=o[a]}I(cr,"pow2523");function Ne(i,A,o){var a=new Uint8Array(32),h=new Float64Array(80),c,C,y=n(),f=n(),u=n(),d=n(),p=n(),D=n();for(C=0;C<31;C++)a[C]=A[C];for(a[31]=A[31]&127|64,a[0]&=248,Et(h,o),C=0;C<16;C++)f[C]=h[C],d[C]=y[C]=u[C]=0;for(y[0]=d[0]=1,C=254;C>=0;--C)c=a[C>>>3]>>>(C&7)&1,ce(y,f,c),ce(u,d,c),O(p,y,u),G(y,y,u),O(u,f,d),G(f,f,d),H(d,p),H(D,y),Q(y,u,y),Q(u,f,p),O(p,y,u),G(y,y,u),H(f,y),G(u,d,D),Q(y,u,B),O(y,y,d),Q(u,u,y),Q(y,d,D),Q(d,f,h),H(f,p),ce(y,f,c),ce(u,d,c);for(C=0;C<16;C++)h[C+16]=y[C],h[C+32]=u[C],h[C+48]=f[C],h[C+64]=d[C];var N=h.subarray(32),le=h.subarray(16);return hr(N,N),Q(le,le,N),ge(i,le),0}I(Ne,"crypto_scalarmult");function Re(i,A){return Ne(i,A,l)}I(Re,"crypto_scalarmult_base");function gr(i,A){return s(A,32),Re(i,A)}I(gr,"crypto_box_keypair");function Te(i,A,o){var a=new Uint8Array(32);return Ne(a,o,A),Ge(i,g,a,pe)}I(Te,"crypto_box_beforenm");var fr=dt,kn=wt;function Ln(i,A,o,a,h,c){var C=new Uint8Array(32);return Te(C,h,c),fr(i,A,o,a,C)}I(Ln,"crypto_box");function Mn(i,A,o,a,h,c){var C=new Uint8Array(32);return Te(C,h,c),kn(i,A,o,a,C)}I(Mn,"crypto_box_open");function De(){var i=0,A=0,o=0,a=0,h=65535,c,C,y;for(y=0;y>>16,o+=C&h,a+=C>>>16;return A+=i>>>16,o+=A>>>16,a+=o>>>16,new t(o&h|a<<16,i&h|A<<16)}I(De,"add64");function ur(i,A){return new t(i.hi>>>A,i.lo>>>A|i.hi<<32-A)}I(ur,"shr64");function je(){var i=0,A=0,o;for(o=0;o>>A|i.lo<>>A|i.hi<>>A|i.hi<>>A|i.lo<=128;){for(f=0;f<16;f++)C[f]=er(A,8*f+d);for(f=0;f<80;f++){for(u=0;u<8;u++)h[u]=c[u];for(y=De(c[7],On(c[4]),Hn(c[4],c[5],c[6]),Rn[f],C[f%16]),h[7]=De(y,Vn(c[0]),Pn(c[0],c[1],c[2])),h[3]=De(h[3],y),u=0;u<8;u++)c[(u+1)%8]=h[u];if(f%16===15)for(u=0;u<16;u++)C[u]=De(C[u],C[(u+9)%16],Gn(C[(u+1)%16]),Nn(C[(u+14)%16]))}for(f=0;f<8;f++)c[f]=De(c[f],a[f]),a[f]=c[f];d+=128,o-=128}for(f=0;f<8;f++)tr(i,8*f,a[f]);return o}I(Cr,"crypto_hashblocks");let fe=I((i,A)=>r(A).update(i).digest(),"crypto_hash_blake2b");var Tn=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function lr(i,A,o){var a=new Uint8Array(64),h=new Uint8Array(256),c,C=o;for(c=0;c<64;c++)a[c]=Tn[c];for(Cr(a,A,o),o%=128,c=0;c<256;c++)h[c]=0;for(c=0;c=0;--h)a=o[h/8|0]>>(h&7)&1,yr(i,A,a),Je(A,i),Je(i,i),yr(i,A,a)}I(xt,"scalarmult");function me(i,A){var o=[n(),n(),n(),n()];X(o[0],K),X(o[1],$),X(o[2],w),Q(o[3],K,$),xt(i,o,A)}I(me,"scalarbase");function Bt(i,A,o){var a=new Uint8Array(64),h=[n(),n(),n(),n()],c;o||s(A,32);a=fe(A,64),a[0]&=248,a[31]&=127,a[31]|=64,me(h,a),Xe(i,h);return 0}I(Bt,"crypto_sign_keypair");var qe=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Qt(i,A){var o,a,h,c;for(a=63;a>=32;--a){for(o=0,h=a-32,c=a-12;h>4)*qe[h],o=A[h]>>8,A[h]&=255;for(h=0;h<32;h++)A[h]-=o*qe[h];for(a=0;a<32;a++)A[a+1]+=A[a]>>8,i[a]=A[a]&255}I(Qt,"modL");function pt(i){var A=new Float64Array(64),o;for(o=0;o<64;o++)A[o]=i[o];for(o=0;o<64;o++)i[o]=0;Qt(i,A)}I(pt,"reduce");function _r(i,A,o,a){var h=new Uint8Array(64),c=new Uint8Array(64),C=new Uint8Array(64),y,f,u=new Float64Array(64),d=[n(),n(),n(),n()];let p=xr(a);h=fe(a,64),h[0]&=248,h[31]&=127,h[31]|=64;var D=o+64;for(y=0;y>7&&G(i[0],_,i[0]),Q(i[3],i[0],i[1]),0)}I(jn,"unpackneg");function bt(i,A,o,a){var h,c=new Uint8Array(32),C=new Uint8Array(64),y=[n(),n(),n(),n()],f=[n(),n(),n(),n()];if(o<64||jn(f,a))return-1;for(h=0;h=0};function xr(i){let A=new Uint8Array(64),o=[n(),n(),n(),n()],a,h=new Uint8Array(32);return A=fe(i,64),A[0]&=248,A[31]&=127,A[31]|=64,me(o,A),Xe(h,o),h}I(xr,"derivePublicFromSecret"),e.sign.keyPair=function(){var i=new Uint8Array(oe),A=new Uint8Array(Ce);return Bt(i,A),{publicKey:i,secretKey:A}},e.sign.keyPair.fromSecretKey=function(i){if(L(i),i.length!==Ce)throw new Error("bad secret key size");var A=new Uint8Array(oe);return A=xr(i),{publicKey:A,secretKey:new Uint8Array(i)}},e.sign.keyPair.fromSeed=function(i){if(L(i),i.length!==St)throw new Error("bad seed size");for(var A=new Uint8Array(oe),o=new Uint8Array(Ce),a=0;a<32;a++)o[a]=i[a];return Bt(A,o,!0),{publicKey:A,secretKey:o}},e.sign.publicKeyLength=oe,e.sign.secretKeyLength=Ce,e.sign.seedLength=St,e.sign.signatureLength=q,e.hash=function(i){L(i);var A=new Uint8Array(Ut);return lr(A,i,i.length),A},e.hash.hashLength=Ut,e.verify=function(i,A){return L(i,A),i.length===0||A.length===0||i.length!==A.length?!1:ft(i,0,A,0,i.length)===0},e.setPRNG=function(i){s=i},function(){var i=typeof self<"u"?self.crypto||self.msCrypto:null;if(i&&i.getRandomValues){var A=65536;e.setPRNG(function(o,a){var h,c=new Uint8Array(a);for(h=0;h{"use strict";var no=E&&E.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),io=E&&E.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),oo=E&&E.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&no(r,e,t);return io(r,e),r},Ao=E&&E.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(E,"__esModule",{value:!0});E.verify_signed_message=E.sign_message=E.construct_message_block_and_hash=E.verify_block_hash=E.sign_block_hash=E.hash_block=E.get_public_key_from_address=E.get_address_from_public_key=E.get_public_key_from_private_key=E.get_private_key_from_seed=E.raw_to_whole=E.whole_to_raw=E.utf8_to_uint8array=E.base32_to_uint8array=E.uint8array_to_base32=E.int_to_uint8array=E.hex_to_uint8array=E.uint8array_to_hex=void 0;var Vt=oo(un()),ot=Ao(Ht()),ao="0000000000000000000000000000000000000000000000000000000000000006",Ot="62616E616E6F6D73672D",Me=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];function He(e){let r="";for(let t=0;t0;g--)s-=t[r-g]*16**(2*(g-1));t[r-n]=Math.floor(s/16**(2*(n-1)))}return t}I(Cn,"int_to_uint8array");E.int_to_uint8array=Cn;var ln=["1","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","m","n","o","p","q","r","s","t","u","w","x","y","z"];function Pt(e){let r="";for(let t=0;t=5)l=e[s]>>_-5&31;else{let w=5-_;l=(e[s]<>8-w&2**(8-w)-1)}r+=ln[l]}return r}I(Pt,"uint8array_to_base32");E.uint8array_to_base32=Pt;function so(e,r){let t="",n=e;for(let s=0;s=2**(r-1-s)?(t+="1",n-=2**(r-1-s)):t+="0";return t}I(so,"int_to_binary");function Io(e){let r=0;for(let t=0;tso(ln.indexOf(n),5)).join(""),t=new Uint8Array(Math.ceil(e.length*5/8));for(let n=0;nr-n[1].length)throw Error(`Too many decimals, cannot exceed ${r}`);t=BigInt(n[0])*BigInt(10)**BigInt(r)+BigInt(n[1])*BigInt(10)**BigInt(r-n[1].length)}else t=BigInt(e)*BigInt(10)**BigInt(r);return t}I(ho,"whole_to_raw");E.whole_to_raw=ho;function co(e,r=dn){let t=e.toString(),n;if(t.length>r)n=t.slice(0,-r)+"."+t.slice(-r);else{let g=r-t.length;n="0."+"0".repeat(g>0?g:0)+t}let s=n.length;for(let g=0;g{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.RPCWithBackup=de.RPC=void 0;var Co=At(),at=class{static{I(this,"RPC")}constructor(r,t=!1){this.DECIMALS=void 0,this.debug=!1,this.rpc_url=r,this.use_pending=t}async call(r){this.debug&&console.log(JSON.stringify(r));let t=await fetch(this.rpc_url,{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!t.ok&&this.debug&&console.log(await t.text()),!t.ok)throw Error(`Request to RPC node failed with status code ${t.status}`);let n=await t.json();if(n.error)throw Error(`RPC node response: ${n.error}`);return n}async get_block_count(){return await this.call({action:"block_count"})}async get_block_info(r){return await this.call({action:"block_info",hash:r,json_block:!0})}async get_blocks(r){return await this.call({action:"blocks",hashes:r,json_block:!0})}async get_blocks_info(r){return await this.call({action:"blocks_info",hashes:r,json_block:!0})}async get_representatives(){return await this.call({action:"representatives"})}async get_representatives_online(r){return await this.call({action:"representatives_online",weight:r?"true":void 0})}async get_account_history(r,t,n,s,g,l,_){return await this.call({action:"account_history",account:r,count:`${t}`,raw:n?"true":void 0,head:s,offset:g?`${g}`:void 0,reverse:l?"true":void 0,account_filter:_})}async get_account_info(r,t,n,s,g){return await this.call({action:"account_info",account:r,representative:n?"true":void 0,weight:s?"true":void 0,pending:g?"true":void 0})}async get_account_balance(r){return await this.call({action:"account_balance",account:r})}async get_accounts_balances(r){return await this.call({action:"accounts_balances",accounts:r})}async get_account_representative(r){return await this.call({action:"account_representative",account:r})}async get_accounts_representatives(r){return await this.call({action:"accounts_representatives",account:r})}async get_account_weight(r){return await this.call({action:"account_weight",account:r})}async get_account_receivable(r,t,n,s){return await this.call({action:this.use_pending?"pending":"receivable",account:r,count:t?`${t}`:void 0,threshold:n?(0,Co.whole_to_raw)(n,this.DECIMALS).toString():void 0,source:s?"true":void 0})}async get_delegators(r,t,n,s){return await this.call({action:"delegators",account:r,threshold:t?`${t}`:void 0,count:n?`${n}`:void 0,start:s})}async get_delegators_count(r){return await this.call({action:"account_weight",account:r})}};de.RPC=at;var Rt=class extends at{static{I(this,"RPCWithBackup")}constructor(r,t,n=!1){if(r.length<2)throw Error("Must provide at least two RPC URLs");super(r[0],n),this.rpc_urls=r,this.timeout=t}async call(r){let t=0;for(;;)try{let n=await fetch(this.rpc_urls[t],{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(r),signal:AbortSignal.timeout(this.timeout)});if(!n.ok)throw Error(`Request to RPC node failed with status code ${n.status}`);let s=await n.json();if(s.error)throw Error(`RPC node response: ${s.error}`);return s}catch(n){if(!this.rpc_urls[++t])throw Error(n)}}};de.RPCWithBackup=Rt});var bn=S(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0})});var Dn=S(V=>{"use strict";var lo=V&&V.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),yo=V&&V.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),_o=V&&V.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&lo(r,e,t);return yo(r,e),r};Object.defineProperty(V,"__esModule",{value:!0});V.PrivateKeyAccount=V.Wallet=void 0;var F=_o(At()),st=class e{static{I(this,"Wallet")}constructor(r,t,n=0,s){if(this.add_do_work=!0,this.rpc=r,typeof t!="string"||t?.length!==64)throw Error("Seed needs to be 64 character (hex) string");this.seed=t,this.index=n,this.work_function=s}static gen_random_wallet(r){let t=new Uint8Array(32);crypto.getRandomValues(t);let n=F.uint8array_to_hex(t);return new e(r,n)}get private_key(){return F.get_private_key_from_seed(this.seed,this.index)}get public_key(){return F.get_public_key_from_private_key(this.private_key)}get address(){return F.get_address_from_public_key(this.public_key)}async send_process(r,t){return(await this.rpc.call({action:"process",json_block:"true",subtype:t,block:r,do_work:!r.work&&this.add_do_work?!0:void 0})).hash}async send(r,t,n,s,g){let l=F.whole_to_raw(t,this.rpc.DECIMALS),_=g??await this.get_account_info(void 0,!0),w=F.get_public_key_from_address(r);s||(s=_.representative);let B=BigInt(_.balance),b=B-l;if(b<0n)throw Error(`Insufficient funds to send. Cannot send more than balance; ie, Before balance (raw: ${B}) less than send amount (raw: ${l})`);let m={type:"state",account:this.address,previous:_.frontier,representative:s,balance:b.toString(),link:w,link_as_account:r},K=F.hash_block(m),$;n&&($=await this.work_function(K));let Qe=F.sign_block_hash(this.private_key,K),ee={...m,signature:Qe,work:$};return await this.send_process(ee,"send")}async send_all(r,t,n){let s=await this.get_account_info(void 0,!0);return await this.send(r,F.raw_to_whole(BigInt(s.balance),this.rpc.DECIMALS),t,n,s)}async receive(r,t,n){let s=await this.rpc.get_block_info(r),g=0n;n||(n=this.address);let l;try{let K=await this.get_account_info(void 0,!0);l=K.frontier,n=K.representative,g=BigInt(K.balance)}catch{l="0".repeat(64)}let _={type:"state",account:this.address,previous:l,representative:n,balance:(g+BigInt(s.amount)).toString(),link:r},w=F.hash_block(_),B;t&&(B=await this.work_function(w));let b=F.sign_block_hash(this.private_key,w),m={..._,signature:b,work:B};return await this.send_process(m,"receive")}async receive_all(r=20,t,n){let s=(await this.get_account_receivable(r,t,!0)).blocks,g,l,_;try{let B=await this.get_account_info(void 0,!0);g=B.frontier,l=B.representative,_=BigInt(B.balance)}catch{g="0".repeat(64),l=this.address,_=BigInt(0)}let w=[];for(let B of Object.keys(s)){let b=(_+BigInt(s[B].amount)).toString(),m={type:"state",account:this.address,previous:g,representative:l,balance:b,link:B},K=F.hash_block(m),$;n&&($=await this.work_function(K));let Qe=F.sign_block_hash(this.private_key,K),ee={...m,signature:Qe,work:$};await this.send_process(ee,"receive"),w.push(K),g=K,_=BigInt(b)}return w}async change_representative(r,t){let n=await this.get_account_info(),s={type:"state",account:this.address,previous:n.frontier,representative:r,balance:n.balance,link:"0".repeat(64)},g=F.hash_block(s),l;t&&(l=await this.work_function(g));let _=F.sign_block_hash(this.private_key,g),w={...s,signature:_,work:l};return await this.send_process(w,"change")}async change_rep(r,t){return await this.change_representative(r,t)}async get_account_info(r,t,n,s){return await this.rpc.get_account_info(this.address,r,t,n,s)}async get_account_receivable(r,t,n){return await this.rpc.get_account_receivable(this.address,r,t,n)}sign_message(r){return F.sign_message(this.private_key,r)}};V.Wallet=st;var Tt=class extends st{static{I(this,"PrivateKeyAccount")}constructor(r,t,n){if(typeof t!="string"||t?.length!==64)throw Error("Priv key needs to be 64 character (hex) string");super(r,t,0,n),this._private_key=t}get private_key(){return this._private_key}};V.PrivateKeyAccount=Tt});var mn=S(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.RPCWorkProvider=void 0;var jt=class{static{I(this,"RPCWorkProvider")}constructor(r){this.extra_payload={},this.rpc=r}async request_work(r){return(await this.rpc.call({action:"work_generate",hash:r,...this.extra_payload})).work}};It.RPCWorkProvider=jt});var we=S(R=>{"use strict";var wo=R&&R.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),Pe=R&&R.__exportStar||function(e,r){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(r,t)&&wo(r,e,t)};Object.defineProperty(R,"__esModule",{value:!0});Pe(At(),R);Pe(Qn(),R);Pe(bn(),R);Pe(Dn(),R);Pe(mn(),R)});var Jt={};vt(Jt,{LOG:()=>Ve,address_to_cid_v0:()=>xo,base58_to_hex:()=>Fn,bigint_to_uint8array:()=>vn,cid_v0_to_address:()=>Eo,decode_domain_name:()=>Ee,encode_domain_name:()=>ht,hex_to_base58:()=>Un});var Z=Ke(we());var Ve=!0;function ht(e){if(e.includes(".")||e.includes("\0")||e.includes('"'))throw new Error(`Domain name cannot include '.' or '"' or '\\u0000'`);let r=(0,Z.uint8array_to_hex)(new TextEncoder().encode(e));if(r.length>64)throw new Error("Cannot be more than 32 bytes");return r.length<64&&(r="0".repeat(64-r.length)+r),r}I(ht,"encode_domain_name");function Ee(e){return new TextDecoder().decode((0,Z.hex_to_uint8array)(e)).replaceAll("\0","")}I(Ee,"decode_domain_name");var Sn="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";function Un(e){let r=BigInt(`0x${e}`),t="";for(;t+=Sn[Number(r%BigInt(58))],r=r/BigInt(58),r!==0n;);return t.split("").reverse().join("")}I(Un,"hex_to_base58");function vn(e,r){let t=new Uint8Array(r),n=e;for(let s=1;s<=r;s++)t[r-s]=Number(n%256n),n/=256n;return t}I(vn,"bigint_to_uint8array");function Fn(e){let r=0n;for(let t=0;tBe,Resolver:()=>qt,TLDAccount:()=>xe});var T=Ke(we());var ct=class{static{I(this,"Account")}constructor(r,t){this.rpc=r,this.address=t}async get_open_and_frontier(){let r=await this.rpc.get_account_info(this.address,!0);return[r.open_block,r.confirmation_height_frontier??r.frontier]}async get_history_from_open(r,t){return await this.rpc.get_account_history(this.address,t,!0,r,void 0,!0)}},xe=class extends ct{static{I(this,"TLDAccount")}constructor(r,t){super(r,t),this.all_issued=[]}async get_specific(r){let[t,n]=await this.get_open_and_frontier(),s=t;for(;;){let{history:g}=await this.get_history_from_open(s,100);for(let l of g){let _=BigInt(l.amount??0);if(l.subtype==="send"&&_>=se&&_<=ne){let w=Ee((0,T.get_public_key_from_address)(l.representative));if(r===w)return{tld:this.address,name:r,history:[{type:"transfer",block:l,to:(0,T.get_address_from_public_key)(l.link)}]}}if(l.representative===Ie&&l.subtype==="change"||l.hash===n)return}s=g[g.length-1].hash}}async get_all_issued(){let[r,t]=await this.get_open_and_frontier(),n=r,s={};for(;;){let{history:g}=await this.get_history_from_open(n,100);for(let l of g){let _=BigInt(l.amount??0);if(l.subtype==="send"&&_>=se&&_<=ne){let w=Ee((0,T.get_public_key_from_address)(l.representative));s[w]?Ve&&console.log(`"${w}" already issued but TLD tried to issue again. Invalid.`):s[w]={tld:this.address,name:w,history:[{type:"transfer",block:l,to:(0,T.get_address_from_public_key)(l.link)}]}}if(l.representative===Ie&&l.subtype==="change"||l.hash===t)return this.all_issued=Object.values(s),this.all_issued}n=g[g.length-1].hash}}},Be=class extends ct{static{I(this,"DomainAccount")}constructor(r,t,n){super(r,t),this.domain=n}async crawl(){let r,t;try{[r,t]=await this.get_open_and_frontier()}catch{return Ve&&console.log("Not yet received"),this.domain}let n=r;for(;;){let{history:s}=await this.get_history_from_open(n,1e3);for(let g of s){let l=BigInt(g.amount??0);if(g.height==="1"){if(g.link!==this.domain.history[this.domain.history.length-1]?.block.hash)return Ve&&console.log("Domain burned"),this.domain.burned=!0,this.domain;this.domain.history.push({type:"receive",block:g})}else if(g.subtype==="send"&&l>=se&&l<=ne){let _=Ee((0,T.get_public_key_from_address)(g.representative));if(this.domain.name===_)return this.domain.resolved_address=void 0,this.domain.metadata_hash=void 0,this.domain.history.push({type:"transfer",block:g,to:(0,T.get_address_from_public_key)(g.link)}),this.domain}else{if(g.subtype==="change"&&g.representative===Ie)return this.domain.history.push({type:"freeze",block:g}),this.domain;g.subtype==="change"?(this.domain.metadata_hash=(0,T.get_public_key_from_address)(g.representative),this.domain.history.push({type:"metadata",block:g,metadata_hash:this.domain.metadata_hash})):g.subtype==="send"&&l===4224n&&(this.domain.resolved_address=(0,T.get_address_from_public_key)(g.link),this.domain.history.push({type:"resolver",block:g,resolved_address:this.domain.resolved_address}))}if(g.hash===t)return this.domain}n=s[s.length-1].hash}}},qt=class{static{I(this,"Resolver")}constructor(r,t){this.rpc=r,this.tld_mapping=t}async resolve(r,t){if(!this.tld_mapping[t])throw new Error("No TLD Account found for that TLD");let s=await new xe(this.rpc,this.tld_mapping[t]).get_specific(r);if(!s)return s;for(;;){let g=s.history[s.history.length-1].to,l=new Be(this.rpc,g,s),_=s.history.length;if(s=await l.crawl(),s.history[s.history.length-1].type!=="transfer"||s.burned||_===s.history.length)break}return s}async resolve_backwards_ish(r,t){let n=(await this.rpc.get_account_info(r,!0)).open_block,s=(await this.rpc.get_block_info(n)).contents.link,g=await this.rpc.get_block_info(s),l=Ee((0,T.get_public_key_from_address)(g.contents.representative)),_=await this.resolve(l,t);if((_?.history.slice().reverse().find(B=>B.type==="transfer")).to===r)return _}};var $t={};vt($t,{DomainAccountManager:()=>Zt,TLDAccountManager:()=>Wt});var ie=Ke(we());var Wt=class extends xe{static{I(this,"TLDAccountManager")}constructor(r,t){super(r,t.address),this.wallet=t}async issue_domain_name(r,t){if(this.all_issued.some(s=>s.name===r))throw new Error("Cannot issue a domain name that is already issued");return await this.wallet.send(t,"0.00120703011",void 0,(0,ie.get_address_from_public_key)(ht(r)))}async freeze(){await this.wallet.change_representative(Ie)}async receive(){await this.wallet.receive_all()}},Zt=class extends Be{static{I(this,"DomainAccountManager")}constructor(r,t,n){super(r,t.address),this.wallet=t,this.domain=n}async receive_domain(r,t,n){let s=!1,{history:g}=await this.rpc.get_account_history(this.address,1);if(g.length>1&&!n)throw s=!0,new Error("`allow_burning` must be true in order to receive this domain");let l=await this.rpc.get_block_info(r),_=BigInt(l.amount);if(_ne)throw new Error("`receive_hash` is not a Domain Transfer block");await this.wallet.receive(r,void 0,t)}async transfer_domain(r,t){let n=(await this.wallet.get_account_info()).balance,s=(0,ie.raw_to_whole)(ne);return ne>BigInt(n)&&se<=BigInt(n)&&(s=(0,ie.raw_to_whole)(BigInt(n))),await this.wallet.send(t,s,void 0,(0,ie.get_address_from_public_key)(ht(r)))}async declare_domain_metadata(r){if(r===Xt)throw new Error("A metadata hash of all 1s freezes the domain");await this.wallet.change_representative((0,ie.get_address_from_public_key)(r))}async declare_domain_resolve_to(r){await this.wallet.send(r,(0,ie.raw_to_whole)(4224n))}async freeze(){await this.wallet.change_representative(Ie)}};var Kn={};var Bo=Ke(we());window.bns={...Jt,...zt,...$t,...Kn,banani:Bo};})(); +(()=>{var zn=Object.create;var Ze=Object.defineProperty;var Wn=Object.getOwnPropertyDescriptor;var Zn=Object.getOwnPropertyNames;var $n=Object.getPrototypeOf,ei=Object.prototype.hasOwnProperty;var I=(e,r)=>Ze(e,"name",{value:r,configurable:!0}),Br=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var S=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),vt=(e,r)=>{for(var t in r)Ze(e,t,{get:r[t],enumerable:!0})},ti=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of Zn(r))!ei.call(e,s)&&s!==t&&Ze(e,s,{get:()=>r[s],enumerable:!(n=Wn(r,s))||n.enumerable});return e};var Ke=(e,r,t)=>(t=e!=null?zn($n(e)):{},ti(r||!e||!e.__esModule?Ze(t,"default",{value:e,enumerable:!0}):t,e));var Ft=S((po,pr)=>{pr.exports=Qr;var $e=class extends Error{static{I(this,"AssertionError")}};$e.prototype.name="AssertionError";function Qr(e,r){if(!e){var t=new $e(r);throw Error.captureStackTrace&&Error.captureStackTrace(t,Qr),t}}I(Qr,"assert")});var mr=S((Do,Dr)=>{function br(e){return e.length}I(br,"byteLength");function ri(e){let r=e.byteLength,t="";for(let n=0;n{var ye="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ae=new Uint8Array(256);for(let e=0;e1&&e.charCodeAt(r-1)===61&&r--,r*3>>>2}I(Sr,"byteLength");function ii(e){let r=e.byteLength,t="";for(let n=0;n>2]+ye[(e[n]&3)<<4|e[n+1]>>4]+ye[(e[n+1]&15)<<2|e[n+2]>>6]+ye[e[n+2]&63];return r%3===2?t=t.substring(0,t.length-1)+"=":r%3===1&&(t=t.substring(0,t.length-2)+"=="),t}I(ii,"toString");function oi(e,r,t=0,n=Sr(r)){let s=Math.min(n,e.byteLength-t);for(let g=0,l=0;l>4,e[l++]=(w&15)<<4|B>>2,e[l++]=(B&3)<<6|b&63}return s}I(oi,"write");Ur.exports={byteLength:Sr,toString:ii,write:oi}});var kr=S((vo,Yr)=>{function Kr(e){return e.length>>>1}I(Kr,"byteLength");function Ai(e){let r=e.byteLength;e=new DataView(e.buffer,e.byteOffset,r);let t="",n=0;for(let s=r-r%4;n=48&&e<=57)return e-48;if(e>=65&&e<=70)return e-65+10;if(e>=97&&e<=102)return e-97+10}I(Fr,"hexValue")});var Mr=S((Ko,Lr)=>{function Kt(e){let r=0;for(let t=0,n=e.length;t=55296&&s<=56319&&t+1=56320&&g<=57343){r+=4,t++;continue}}s<=127?r+=1:s<=2047?r+=2:r+=3}return r}I(Kt,"byteLength");var Yt;if(typeof TextDecoder<"u"){let e=new TextDecoder;Yt=I(function(t){return e.decode(t)},"toString")}else Yt=I(function(r){let t=r.byteLength,n="",s=0;for(;s0){let w=0;for(;w>B,B-=6;B>=0;)r[_++]=128|w>>B&63,B-=6;l+=w>=65536?2:1}return g},"write");Lr.exports={byteLength:Kt,toString:Yt,write:kt}});var Vr=S((ko,Pr)=>{function Hr(e){return e.length*2}I(Hr,"byteLength");function si(e){let r=e.byteLength,t="";for(let n=0;n>8,B=_%256;e[t+l*2]=B,e[t+l*2+1]=w}return s}I(Ii,"write");Pr.exports={byteLength:Hr,toString:si,write:Ii}});var Tr=S((Mt,Rr)=>{var hi=mr(),ci=vr(),gi=kr(),fi=Mr(),ui=Vr(),et=new Uint8Array(Uint16Array.of(255).buffer)[0]===255;function Ye(e){switch(e){case"ascii":return hi;case"base64":return ci;case"hex":return gi;case"utf8":case"utf-8":case void 0:return fi;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ui;default:throw new Error(`Unknown encoding: ${e}`)}}I(Ye,"codecFor");function Or(e){return e instanceof Uint8Array}I(Or,"isBuffer");function Ci(e){try{return Ye(e),!0}catch{return!1}}I(Ci,"isEncoding");function li(e,r,t){let n=new Uint8Array(e);return r!==void 0&&Mt.fill(n,r,0,n.byteLength,t),n}I(li,"alloc");function yi(e){return new Uint8Array(e)}I(yi,"allocUnsafe");function _i(e){return new Uint8Array(e)}I(_i,"allocUnsafeSlow");function di(e,r){return Ye(r).byteLength(e)}I(di,"byteLength");function wi(e,r){if(e===r)return 0;let t=Math.min(e.byteLength,r.byteLength);e=new DataView(e.buffer,e.byteOffset,e.byteLength),r=new DataView(r.buffer,r.byteOffset,r.byteLength);let n=0;for(let s=t-t%4;ng)return 1}return e.byteLength>r.byteLength?1:e.byteLengths+g.byteLength,0));let t=new Uint8Array(r),n=0;for(let s of e){if(n+s.byteLength>t.byteLength){let g=s.subarray(0,t.byteLength-n);return t.set(g,n),t}t.set(s,n),n+=s.byteLength}return t}I(Ei,"concat");function xi(e,r,t=0,n=0,s=e.byteLength){if(s>0&&s=e.byteLength)throw new RangeError("sourceStart is out of range");if(s<0)throw new RangeError("sourceEnd is out of range");t>=r.byteLength&&(t=r.byteLength),s>e.byteLength&&(s=e.byteLength),r.byteLength-t=e.byteLength){if(s)return-1;t=e.byteLength-1}else if(t<0)if(s)t=0;else return-1;if(typeof r=="string")r=Lt(r,n);else if(typeof r=="number")return r=r&255,s?e.indexOf(r,t):e.lastIndexOf(r,t);if(r.byteLength===0)return-1;if(s){let g=-1;for(let l=t;le.byteLength&&(t=e.byteLength-r.byteLength);for(let g=t;g>=0;g--){let l=!0;for(let _=0;_=s||n<=t?"":(t<0&&(t=0),n>s&&(n=s),(t!==0||n{var Ti=I((e,r)=>I(function(){return r||(0,e[Object.keys(e)[0]])((r={exports:{}}).exports,r),r.exports},"__require"),"__commonJS"),ji=(()=>{for(var e=new Uint8Array(128),r=0;r<64;r++)e[r<26?r+65:r<52?r+71:r<62?r-4:r*4-205]=r;return t=>{for(var n=t.length,s=new Uint8Array((n-(t[n-1]=="=")-(t[n-2]=="="))*3/4|0),g=0,l=0;g>4,s[l++]=w<<4|B>>2,s[l++]=B<<6|b}return s}})(),Ji=Ti({"wasm-binary:./blake2b.wat"(e,r){r.exports=ji("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")}}),Xi=Ji(),qi=WebAssembly.compile(Xi);jr.exports=async e=>(await WebAssembly.instantiate(await qi,e)).exports});var tn=S((Go,J)=>{var M=Ft(),zi=Tr(),W=null,Xr=typeof WebAssembly<"u"&&Jr()().then(e=>{W=e}),z=64,tt=[];J.exports=Y;var qr=J.exports.BYTES_MIN=16,zr=J.exports.BYTES_MAX=64,Vo=J.exports.BYTES=32,Wr=J.exports.KEYBYTES_MIN=16,Zr=J.exports.KEYBYTES_MAX=64,Oo=J.exports.KEYBYTES=32,$r=J.exports.SALTBYTES=16,en=J.exports.PERSONALBYTES=16;function Y(e,r,t,n,s){if(!(this instanceof Y))return new Y(e,r,t,n,s);if(!W)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");e||(e=32),s!==!0&&(M(e>=qr,"digestLength must be at least "+qr+", was given "+e),M(e<=zr,"digestLength must be at most "+zr+", was given "+e),r!=null&&(M(r instanceof Uint8Array,"key must be Uint8Array or Buffer"),M(r.length>=Wr,"key must be at least "+Wr+", was given "+r.length),M(r.length<=Zr,"key must be at least "+Zr+", was given "+r.length)),t!=null&&(M(t instanceof Uint8Array,"salt must be Uint8Array or Buffer"),M(t.length===$r,"salt must be exactly "+$r+", was given "+t.length)),n!=null&&(M(n instanceof Uint8Array,"personal must be Uint8Array or Buffer"),M(n.length===en,"personal must be exactly "+en+", was given "+n.length))),tt.length||(tt.push(z),z+=216),this.digestLength=e,this.finalized=!1,this.pointer=tt.pop(),this._memory=new Uint8Array(W.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=r?r.length:0,this._memory[2]=1,this._memory[3]=1,t&&this._memory.set(t,32),n&&this._memory.set(n,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),W.blake2b_init(this.pointer,this.digestLength),r&&(this.update(r),this._memory.fill(0,z,z+r.length),this._memory[this.pointer+200]=128)}I(Y,"Blake2b");Y.prototype._realloc=function(e){W.memory.grow(Math.max(0,Math.ceil(Math.abs(e-this._memory.length)/65536))),this._memory=new Uint8Array(W.memory.buffer)};Y.prototype.update=function(e){return M(this.finalized===!1,"Hash instance finalized"),M(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),z+e.length>this._memory.length&&this._realloc(z+e.length),this._memory.set(e,z),W.blake2b_update(this.pointer,z,z+e.length),this};Y.prototype.digest=function(e){if(M(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,tt.push(this.pointer),W.blake2b_final(this.pointer),!e||e==="binary")return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(typeof e=="string")return zi.toString(this._memory,e,this.pointer+128,this.pointer+128+this.digestLength);M(e instanceof Uint8Array&&e.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var r=0;re(),e):e(new Error("WebAssembly not supported"))};Y.prototype.ready=Y.ready;Y.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)};Y.prototype.setPartialHash=function(e){this._memory.set(e,this.pointer)};function Wi(){}I(Wi,"noop")});var Ht=S((jo,k)=>{var P=Ft(),Le=tn();function rt(e,r,t){var n=e[r]+e[t],s=e[r+1]+e[t+1];n>=4294967296&&s++,e[r]=n,e[r+1]=s}I(rt,"ADD64AA");function rn(e,r,t,n){var s=e[r]+t;t<0&&(s+=4294967296);var g=e[r+1]+n;s>=4294967296&&g++,e[r]=s,e[r+1]=g}I(rn,"ADD64AC");function hn(e,r){return e[r]^e[r+1]<<8^e[r+2]<<16^e[r+3]<<24}I(hn,"B2B_GET32");function te(e,r,t,n,s,g){var l=ke[s],_=ke[s+1],w=ke[g],B=ke[g+1];rt(x,e,r),rn(x,e,l,_);var b=x[n]^x[e],m=x[n+1]^x[e+1];x[n]=m,x[n+1]=b,rt(x,t,n),b=x[r]^x[t],m=x[r+1]^x[t+1],x[r]=b>>>24^m<<8,x[r+1]=m>>>24^b<<8,rt(x,e,r),rn(x,e,w,B),b=x[n]^x[e],m=x[n+1]^x[e+1],x[n]=b>>>16^m<<16,x[n+1]=m>>>16^b<<16,rt(x,t,n),b=x[r]^x[t],m=x[r+1]^x[t+1],x[r]=m>>>31^b<<1,x[r+1]=b>>>31^m<<1}I(te,"B2B_G");var cn=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Zi=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],v=new Uint8Array(Zi.map(function(e){return e*2})),x=new Uint32Array(32),ke=new Uint32Array(32);function gn(e,r){var t=0;for(t=0;t<16;t++)x[t]=e.h[t],x[t+16]=cn[t];for(x[24]=x[24]^e.t,x[25]=x[25]^e.t/4294967296,r&&(x[28]=~x[28],x[29]=~x[29]),t=0;t<32;t++)ke[t]=hn(e.b,4*t);for(t=0;t<12;t++)te(0,8,16,24,v[t*16+0],v[t*16+1]),te(2,10,18,26,v[t*16+2],v[t*16+3]),te(4,12,20,28,v[t*16+4],v[t*16+5]),te(6,14,22,30,v[t*16+6],v[t*16+7]),te(0,10,20,30,v[t*16+8],v[t*16+9]),te(2,12,22,24,v[t*16+10],v[t*16+11]),te(4,14,16,26,v[t*16+12],v[t*16+13]),te(6,8,18,28,v[t*16+14],v[t*16+15]);for(t=0;t<16;t++)e.h[t]=e.h[t]^x[t]^x[t+16]}I(gn,"blake2bCompress");var re=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function _e(e,r,t,n){re.fill(0),this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.outlen=e,re[0]=e,r&&(re[1]=r.length),re[2]=1,re[3]=1,t&&re.set(t,32),n&&re.set(n,48);for(var s=0;s<16;s++)this.h[s]=cn[s]^hn(re,s*4);r&&(fn(this,r),this.c=128)}I(_e,"Blake2b");_e.prototype.update=function(e){return P(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),fn(this,e),this};_e.prototype.digest=function(e){var r=!e||e==="binary"||e==="hex"?new Uint8Array(this.outlen):e;return P(r instanceof Uint8Array,'out must be "binary", "hex", Uint8Array, or Buffer'),P(r.length>=this.outlen,"out must have at least outlen bytes of space"),$i(this,r),e==="hex"?eo(r):r};_e.prototype.final=_e.prototype.digest;_e.ready=function(e){Le.ready(function(){e()})};function fn(e,r){for(var t=0;t>2]>>8*(t&3);return r}I($i,"blake2bFinal");function eo(e){for(var r="",t=0;t=nn,"outlen must be at least "+nn+", was given "+r),P(r<=on,"outlen must be at most "+on+", was given "+r),t!=null&&(P(t instanceof Uint8Array,"key must be Uint8Array or Buffer"),P(t.length>=An,"key must be at least "+An+", was given "+t.length),P(t.length<=an,"key must be at most "+an+", was given "+t.length)),n!=null&&(P(n instanceof Uint8Array,"salt must be Uint8Array or Buffer"),P(n.length===sn,"salt must be exactly "+sn+", was given "+n.length)),s!=null&&(P(s instanceof Uint8Array,"personal must be Uint8Array or Buffer"),P(s.length===In,"personal must be exactly "+In+", was given "+s.length))),new ro(r,t,n,s)},"createHash");k.exports.ready=function(e){Le.ready(function(){e()})};k.exports.WASM_SUPPORTED=Le.SUPPORTED;k.exports.WASM_LOADED=!1;var nn=k.exports.BYTES_MIN=16,on=k.exports.BYTES_MAX=64,Ro=k.exports.BYTES=32,An=k.exports.KEYBYTES_MIN=16,an=k.exports.KEYBYTES_MAX=64,To=k.exports.KEYBYTES=32,sn=k.exports.SALTBYTES=16,In=k.exports.PERSONALBYTES=16;Le.ready(function(e){e||(k.exports.WASM_LOADED=!0,k.exports=Le)})});var un=S((Xo,nt)=>{(function(e){"use strict";let r=Ht();var t=I(function(i,A){this.hi=i|0,this.lo=A|0},"u64"),n=I(function(i){var A,o=new Float64Array(16);if(i)for(A=0;A>>32-A}I(ee,"L32");function he(i,A){var o=i[A+3]&255;return o=o<<8|i[A+2]&255,o=o<<8|i[A+1]&255,o<<8|i[A+0]&255}I(he,"ld32");function er(i,A){var o=i[A]<<24|i[A+1]<<16|i[A+2]<<8|i[A+3],a=i[A+4]<<24|i[A+5]<<16|i[A+6]<<8|i[A+7];return new t(o,a)}I(er,"dl64");function gt(i,A,o){var a;for(a=0;a<4;a++)i[A+a]=o&255,o>>>=8}I(gt,"st32");function tr(i,A,o){i[A]=o.hi>>24&255,i[A+1]=o.hi>>16&255,i[A+2]=o.hi>>8&255,i[A+3]=o.hi&255,i[A+4]=o.lo>>24&255,i[A+5]=o.lo>>16&255,i[A+6]=o.lo>>8&255,i[A+7]=o.lo&255}I(tr,"ts64");function ft(i,A,o,a,h){var c,C=0;for(c=0;c>>8)-1}I(ft,"vn");function rr(i,A,o,a){return ft(i,A,o,a,16)}I(rr,"crypto_verify_16");function ut(i,A,o,a){return ft(i,A,o,a,32)}I(ut,"crypto_verify_32");function nr(i,A,o,a,h){var c=new Uint32Array(16),C=new Uint32Array(16),y=new Uint32Array(16),f=new Uint32Array(4),u,d,p;for(u=0;u<4;u++)C[5*u]=he(a,4*u),C[1+u]=he(o,4*u),C[6+u]=he(A,4*u),C[11+u]=he(o,16+4*u);for(u=0;u<16;u++)y[u]=C[u];for(u=0;u<20;u++){for(d=0;d<4;d++){for(p=0;p<4;p++)f[p]=C[(5*d+4*p)%16];for(f[1]^=ee(f[0]+f[3]|0,7),f[2]^=ee(f[1]+f[0]|0,9),f[3]^=ee(f[2]+f[1]|0,13),f[0]^=ee(f[3]+f[2]|0,18),p=0;p<4;p++)c[4*d+(d+p)%4]=f[p]}for(p=0;p<16;p++)C[p]=c[p]}if(h){for(u=0;u<16;u++)C[u]=C[u]+y[u]|0;for(u=0;u<4;u++)C[5*u]=C[5*u]-he(a,4*u)|0,C[6+u]=C[6+u]-he(A,4*u)|0;for(u=0;u<4;u++)gt(i,4*u,C[5*u]),gt(i,16+4*u,C[6+u])}else for(u=0;u<16;u++)gt(i,4*u,C[u]+y[u]|0)}I(nr,"core");function ir(i,A,o,a){return nr(i,A,o,a,!1),0}I(ir,"crypto_core_salsa20");function Ge(i,A,o,a){return nr(i,A,o,a,!0),0}I(Ge,"crypto_core_hsalsa20");var pe=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function Ct(i,A,o,a,h,c,C){var y=new Uint8Array(16),f=new Uint8Array(64),u,d;if(!h)return 0;for(d=0;d<16;d++)y[d]=0;for(d=0;d<8;d++)y[d]=c[d];for(;h>=64;){for(ir(f,y,C,pe),d=0;d<64;d++)i[A+d]=(o?o[a+d]:0)^f[d];for(u=1,d=8;d<16;d++)u=u+(y[d]&255)|0,y[d]=u&255,u>>>=8;h-=64,A+=64,o&&(a+=64)}if(h>0)for(ir(f,y,C,pe),d=0;d>>=8}I(yt,"add1305");var Yn=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function _t(i,A,o,a,h,c){var C,y,f,u,d=new Uint32Array(17),p=new Uint32Array(17),D=new Uint32Array(17),N=new Uint32Array(17),le=new Uint32Array(17);for(f=0;f<17;f++)p[f]=D[f]=0;for(f=0;f<16;f++)p[f]=c[f];for(p[3]&=15,p[4]&=252,p[7]&=15,p[8]&=252,p[11]&=15,p[12]&=252,p[15]&=15;h>0;){for(f=0;f<17;f++)N[f]=0;for(f=0;f<16&&f>>=8;for(u=u+D[16]|0,D[16]=u&3,u=5*(u>>>2)|0,f=0;f<16;f++)u=u+D[f]|0,D[f]=u&255,u>>>=8;u=u+D[16]|0,D[16]=u}for(f=0;f<17;f++)le[f]=D[f];for(yt(D,Yn),C=-(D[16]>>>7)|0,f=0;f<17;f++)D[f]^=C&(le[f]^D[f]);for(f=0;f<16;f++)N[f]=c[f+16];for(N[16]=0,yt(D,N),f=0;f<16;f++)i[A+f]=D[f];return 0}I(_t,"crypto_onetimeauth");function ar(i,A,o,a,h,c){var C=new Uint8Array(16);return _t(C,0,o,a,h,c),rr(i,A,C,0)}I(ar,"crypto_onetimeauth_verify");function dt(i,A,o,a,h){var c;if(o<32)return-1;for(lt(i,0,A,0,o,a,h),_t(i,16,i,32,o-32,i),c=0;c<16;c++)i[c]=0;return 0}I(dt,"crypto_secretbox");function wt(i,A,o,a,h){var c,C=new Uint8Array(32);if(o<32||(Ar(C,0,32,a,h),ar(A,16,A,32,o-32,C)!==0))return-1;for(lt(i,0,A,0,o,a,h),c=0;c<32;c++)i[c]=0;return 0}I(wt,"crypto_secretbox_open");function X(i,A){var o;for(o=0;o<16;o++)i[o]=A[o]|0}I(X,"set25519");function be(i){var A,o;for(o=0;o<16;o++)i[o]+=65536,A=Math.floor(i[o]/65536),i[(o+1)*(o<15?1:0)]+=A-1+37*(A-1)*(o===15?1:0),i[o]-=A*65536}I(be,"car25519");function ce(i,A,o){for(var a,h=~(o-1),c=0;c<16;c++)a=h&(i[c]^A[c]),i[c]^=a,A[c]^=a}I(ce,"sel25519");function ge(i,A){var o,a,h,c=n(),C=n();for(o=0;o<16;o++)C[o]=A[o];for(be(C),be(C),be(C),a=0;a<2;a++){for(c[0]=C[0]-65517,o=1;o<15;o++)c[o]=C[o]-65535-(c[o-1]>>16&1),c[o-1]&=65535;c[15]=C[15]-32767-(c[14]>>16&1),h=c[15]>>16&1,c[14]&=65535,ce(C,c,1-h)}for(o=0;o<16;o++)i[2*o]=C[o]&255,i[2*o+1]=C[o]>>8}I(ge,"pack25519");function sr(i,A){var o=new Uint8Array(32),a=new Uint8Array(32);return ge(o,i),ge(a,A),ut(o,0,a,0)}I(sr,"neq25519");function Ir(i){var A=new Uint8Array(32);return ge(A,i),A[0]&1}I(Ir,"par25519");function Et(i,A){var o;for(o=0;o<16;o++)i[o]=A[2*o]+(A[2*o+1]<<8);i[15]&=32767}I(Et,"unpack25519");function O(i,A,o){var a;for(a=0;a<16;a++)i[a]=A[a]+o[a]|0}I(O,"A");function G(i,A,o){var a;for(a=0;a<16;a++)i[a]=A[a]-o[a]|0}I(G,"Z");function Q(i,A,o){var a,h,c=new Float64Array(31);for(a=0;a<31;a++)c[a]=0;for(a=0;a<16;a++)for(h=0;h<16;h++)c[a+h]+=A[a]*o[h];for(a=0;a<15;a++)c[a]+=38*c[a+16];for(a=0;a<16;a++)i[a]=c[a];be(i),be(i)}I(Q,"M");function H(i,A){Q(i,A,A)}I(H,"S");function hr(i,A){var o=n(),a;for(a=0;a<16;a++)o[a]=A[a];for(a=253;a>=0;a--)H(o,o),a!==2&&a!==4&&Q(o,o,A);for(a=0;a<16;a++)i[a]=o[a]}I(hr,"inv25519");function cr(i,A){var o=n(),a;for(a=0;a<16;a++)o[a]=A[a];for(a=250;a>=0;a--)H(o,o),a!==1&&Q(o,o,A);for(a=0;a<16;a++)i[a]=o[a]}I(cr,"pow2523");function Ne(i,A,o){var a=new Uint8Array(32),h=new Float64Array(80),c,C,y=n(),f=n(),u=n(),d=n(),p=n(),D=n();for(C=0;C<31;C++)a[C]=A[C];for(a[31]=A[31]&127|64,a[0]&=248,Et(h,o),C=0;C<16;C++)f[C]=h[C],d[C]=y[C]=u[C]=0;for(y[0]=d[0]=1,C=254;C>=0;--C)c=a[C>>>3]>>>(C&7)&1,ce(y,f,c),ce(u,d,c),O(p,y,u),G(y,y,u),O(u,f,d),G(f,f,d),H(d,p),H(D,y),Q(y,u,y),Q(u,f,p),O(p,y,u),G(y,y,u),H(f,y),G(u,d,D),Q(y,u,B),O(y,y,d),Q(u,u,y),Q(y,d,D),Q(d,f,h),H(f,p),ce(y,f,c),ce(u,d,c);for(C=0;C<16;C++)h[C+16]=y[C],h[C+32]=u[C],h[C+48]=f[C],h[C+64]=d[C];var N=h.subarray(32),le=h.subarray(16);return hr(N,N),Q(le,le,N),ge(i,le),0}I(Ne,"crypto_scalarmult");function Re(i,A){return Ne(i,A,l)}I(Re,"crypto_scalarmult_base");function gr(i,A){return s(A,32),Re(i,A)}I(gr,"crypto_box_keypair");function Te(i,A,o){var a=new Uint8Array(32);return Ne(a,o,A),Ge(i,g,a,pe)}I(Te,"crypto_box_beforenm");var fr=dt,kn=wt;function Ln(i,A,o,a,h,c){var C=new Uint8Array(32);return Te(C,h,c),fr(i,A,o,a,C)}I(Ln,"crypto_box");function Mn(i,A,o,a,h,c){var C=new Uint8Array(32);return Te(C,h,c),kn(i,A,o,a,C)}I(Mn,"crypto_box_open");function De(){var i=0,A=0,o=0,a=0,h=65535,c,C,y;for(y=0;y>>16,o+=C&h,a+=C>>>16;return A+=i>>>16,o+=A>>>16,a+=o>>>16,new t(o&h|a<<16,i&h|A<<16)}I(De,"add64");function ur(i,A){return new t(i.hi>>>A,i.lo>>>A|i.hi<<32-A)}I(ur,"shr64");function je(){var i=0,A=0,o;for(o=0;o>>A|i.lo<>>A|i.hi<>>A|i.hi<>>A|i.lo<=128;){for(f=0;f<16;f++)C[f]=er(A,8*f+d);for(f=0;f<80;f++){for(u=0;u<8;u++)h[u]=c[u];for(y=De(c[7],On(c[4]),Hn(c[4],c[5],c[6]),Rn[f],C[f%16]),h[7]=De(y,Vn(c[0]),Pn(c[0],c[1],c[2])),h[3]=De(h[3],y),u=0;u<8;u++)c[(u+1)%8]=h[u];if(f%16===15)for(u=0;u<16;u++)C[u]=De(C[u],C[(u+9)%16],Gn(C[(u+1)%16]),Nn(C[(u+14)%16]))}for(f=0;f<8;f++)c[f]=De(c[f],a[f]),a[f]=c[f];d+=128,o-=128}for(f=0;f<8;f++)tr(i,8*f,a[f]);return o}I(Cr,"crypto_hashblocks");let fe=I((i,A)=>r(A).update(i).digest(),"crypto_hash_blake2b");var Tn=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function lr(i,A,o){var a=new Uint8Array(64),h=new Uint8Array(256),c,C=o;for(c=0;c<64;c++)a[c]=Tn[c];for(Cr(a,A,o),o%=128,c=0;c<256;c++)h[c]=0;for(c=0;c=0;--h)a=o[h/8|0]>>(h&7)&1,yr(i,A,a),Je(A,i),Je(i,i),yr(i,A,a)}I(xt,"scalarmult");function me(i,A){var o=[n(),n(),n(),n()];X(o[0],K),X(o[1],$),X(o[2],w),Q(o[3],K,$),xt(i,o,A)}I(me,"scalarbase");function Bt(i,A,o){var a=new Uint8Array(64),h=[n(),n(),n(),n()],c;o||s(A,32);a=fe(A,64),a[0]&=248,a[31]&=127,a[31]|=64,me(h,a),Xe(i,h);return 0}I(Bt,"crypto_sign_keypair");var qe=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Qt(i,A){var o,a,h,c;for(a=63;a>=32;--a){for(o=0,h=a-32,c=a-12;h>4)*qe[h],o=A[h]>>8,A[h]&=255;for(h=0;h<32;h++)A[h]-=o*qe[h];for(a=0;a<32;a++)A[a+1]+=A[a]>>8,i[a]=A[a]&255}I(Qt,"modL");function pt(i){var A=new Float64Array(64),o;for(o=0;o<64;o++)A[o]=i[o];for(o=0;o<64;o++)i[o]=0;Qt(i,A)}I(pt,"reduce");function _r(i,A,o,a){var h=new Uint8Array(64),c=new Uint8Array(64),C=new Uint8Array(64),y,f,u=new Float64Array(64),d=[n(),n(),n(),n()];let p=xr(a);h=fe(a,64),h[0]&=248,h[31]&=127,h[31]|=64;var D=o+64;for(y=0;y>7&&G(i[0],_,i[0]),Q(i[3],i[0],i[1]),0)}I(jn,"unpackneg");function bt(i,A,o,a){var h,c=new Uint8Array(32),C=new Uint8Array(64),y=[n(),n(),n(),n()],f=[n(),n(),n(),n()];if(o<64||jn(f,a))return-1;for(h=0;h=0};function xr(i){let A=new Uint8Array(64),o=[n(),n(),n(),n()],a,h=new Uint8Array(32);return A=fe(i,64),A[0]&=248,A[31]&=127,A[31]|=64,me(o,A),Xe(h,o),h}I(xr,"derivePublicFromSecret"),e.sign.keyPair=function(){var i=new Uint8Array(oe),A=new Uint8Array(Ce);return Bt(i,A),{publicKey:i,secretKey:A}},e.sign.keyPair.fromSecretKey=function(i){if(L(i),i.length!==Ce)throw new Error("bad secret key size");var A=new Uint8Array(oe);return A=xr(i),{publicKey:A,secretKey:new Uint8Array(i)}},e.sign.keyPair.fromSeed=function(i){if(L(i),i.length!==St)throw new Error("bad seed size");for(var A=new Uint8Array(oe),o=new Uint8Array(Ce),a=0;a<32;a++)o[a]=i[a];return Bt(A,o,!0),{publicKey:A,secretKey:o}},e.sign.publicKeyLength=oe,e.sign.secretKeyLength=Ce,e.sign.seedLength=St,e.sign.signatureLength=q,e.hash=function(i){L(i);var A=new Uint8Array(Ut);return lr(A,i,i.length),A},e.hash.hashLength=Ut,e.verify=function(i,A){return L(i,A),i.length===0||A.length===0||i.length!==A.length?!1:ft(i,0,A,0,i.length)===0},e.setPRNG=function(i){s=i},function(){var i=typeof self<"u"?self.crypto||self.msCrypto:null;if(i&&i.getRandomValues){var A=65536;e.setPRNG(function(o,a){var h,c=new Uint8Array(a);for(h=0;h{"use strict";var no=E&&E.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),io=E&&E.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),oo=E&&E.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&no(r,e,t);return io(r,e),r},Ao=E&&E.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(E,"__esModule",{value:!0});E.verify_signed_message=E.sign_message=E.construct_message_block_and_hash=E.verify_block_hash=E.sign_block_hash=E.hash_block=E.get_public_key_from_address=E.get_address_from_public_key=E.get_public_key_from_private_key=E.get_private_key_from_seed=E.raw_to_whole=E.whole_to_raw=E.utf8_to_uint8array=E.base32_to_uint8array=E.uint8array_to_base32=E.int_to_uint8array=E.hex_to_uint8array=E.uint8array_to_hex=void 0;var Vt=oo(un()),ot=Ao(Ht()),ao="0000000000000000000000000000000000000000000000000000000000000006",Ot="62616E616E6F6D73672D",Me=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];function He(e){let r="";for(let t=0;t0;g--)s-=t[r-g]*16**(2*(g-1));t[r-n]=Math.floor(s/16**(2*(n-1)))}return t}I(Cn,"int_to_uint8array");E.int_to_uint8array=Cn;var ln=["1","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","m","n","o","p","q","r","s","t","u","w","x","y","z"];function Pt(e){let r="";for(let t=0;t=5)l=e[s]>>_-5&31;else{let w=5-_;l=(e[s]<>8-w&2**(8-w)-1)}r+=ln[l]}return r}I(Pt,"uint8array_to_base32");E.uint8array_to_base32=Pt;function so(e,r){let t="",n=e;for(let s=0;s=2**(r-1-s)?(t+="1",n-=2**(r-1-s)):t+="0";return t}I(so,"int_to_binary");function Io(e){let r=0;for(let t=0;tso(ln.indexOf(n),5)).join(""),t=new Uint8Array(Math.ceil(e.length*5/8));for(let n=0;nr-n[1].length)throw Error(`Too many decimals, cannot exceed ${r}`);t=BigInt(n[0])*BigInt(10)**BigInt(r)+BigInt(n[1])*BigInt(10)**BigInt(r-n[1].length)}else t=BigInt(e)*BigInt(10)**BigInt(r);return t}I(ho,"whole_to_raw");E.whole_to_raw=ho;function co(e,r=dn){let t=e.toString(),n;if(t.length>r)n=t.slice(0,-r)+"."+t.slice(-r);else{let g=r-t.length;n="0."+"0".repeat(g>0?g:0)+t}let s=n.length;for(let g=0;g{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.RPCWithBackup=de.RPC=void 0;var Co=At(),at=class{static{I(this,"RPC")}constructor(r,t=!1){this.DECIMALS=void 0,this.debug=!1,this.rpc_url=r,this.use_pending=t}async call(r){this.debug&&console.log(JSON.stringify(r));let t=await fetch(this.rpc_url,{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!t.ok&&this.debug&&console.log(await t.text()),!t.ok)throw Error(`Request to RPC node failed with status code ${t.status}`);let n=await t.json();if(n.error)throw Error(`RPC node response: ${n.error}`);return n}async get_block_count(){return await this.call({action:"block_count"})}async get_block_info(r){return await this.call({action:"block_info",hash:r,json_block:!0})}async get_blocks(r){return await this.call({action:"blocks",hashes:r,json_block:!0})}async get_blocks_info(r){return await this.call({action:"blocks_info",hashes:r,json_block:!0})}async get_representatives(){return await this.call({action:"representatives"})}async get_representatives_online(r){return await this.call({action:"representatives_online",weight:r?!0:void 0})}async get_account_history(r,t,n,s,g,l,_){return await this.call({action:"account_history",account:r,count:`${t}`,raw:n?!0:void 0,head:s,offset:g?`${g}`:void 0,reverse:l?!0:void 0,account_filter:_})}async get_account_info(r,t,n,s,g){return await this.call({action:"account_info",account:r,representative:n?!0:void 0,weight:s?!0:void 0,pending:g?!0:void 0})}async get_account_balance(r){return await this.call({action:"account_balance",account:r})}async get_accounts_balances(r){return await this.call({action:"accounts_balances",accounts:r})}async get_account_representative(r){return await this.call({action:"account_representative",account:r})}async get_accounts_representatives(r){return await this.call({action:"accounts_representatives",account:r})}async get_account_weight(r){return await this.call({action:"account_weight",account:r})}async get_account_receivable(r,t,n,s){return await this.call({action:this.use_pending?"pending":"receivable",account:r,count:t?`${t}`:void 0,threshold:n?(0,Co.whole_to_raw)(n,this.DECIMALS).toString():void 0,source:s?!0:void 0})}async get_delegators(r,t,n,s){return await this.call({action:"delegators",account:r,threshold:t?`${t}`:void 0,count:n?`${n}`:void 0,start:s})}async get_delegators_count(r){return await this.call({action:"account_weight",account:r})}};de.RPC=at;var Rt=class extends at{static{I(this,"RPCWithBackup")}constructor(r,t,n=!1){if(r.length<2)throw Error("Must provide at least two RPC URLs");super(r[0],n),this.rpc_urls=r,this.timeout=t}async call(r){let t=0;for(;;)try{let n=await fetch(this.rpc_urls[t],{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(r),signal:AbortSignal.timeout(this.timeout)});if(!n.ok)throw Error(`Request to RPC node failed with status code ${n.status}`);let s=await n.json();if(s.error)throw Error(`RPC node response: ${s.error}`);return s}catch(n){if(!this.rpc_urls[++t])throw Error(n)}}};de.RPCWithBackup=Rt});var bn=S(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0})});var Dn=S(V=>{"use strict";var lo=V&&V.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),yo=V&&V.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),_o=V&&V.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&lo(r,e,t);return yo(r,e),r};Object.defineProperty(V,"__esModule",{value:!0});V.PrivateKeyAccount=V.Wallet=void 0;var F=_o(At()),st=class e{static{I(this,"Wallet")}constructor(r,t,n=0,s){if(this.add_do_work=!0,this.rpc=r,typeof t!="string"||t?.length!==64)throw Error("Seed needs to be 64 character (hex) string");this.seed=t,this.index=n,this.work_function=s}static gen_random_wallet(r){let t=new Uint8Array(32);crypto.getRandomValues(t);let n=F.uint8array_to_hex(t);return new e(r,n)}get private_key(){return F.get_private_key_from_seed(this.seed,this.index)}get public_key(){return F.get_public_key_from_private_key(this.private_key)}get address(){return F.get_address_from_public_key(this.public_key)}async send_process(r,t){return(await this.rpc.call({action:"process",json_block:"true",subtype:t,block:r,do_work:!r.work&&this.add_do_work?!0:void 0})).hash}async send(r,t,n,s,g){let l=F.whole_to_raw(t,this.rpc.DECIMALS),_=g??await this.get_account_info(void 0,!0),w=F.get_public_key_from_address(r);s||(s=_.representative);let B=BigInt(_.balance),b=B-l;if(b<0n)throw Error(`Insufficient funds to send. Cannot send more than balance; ie, Before balance (raw: ${B}) less than send amount (raw: ${l})`);let m={type:"state",account:this.address,previous:_.frontier,representative:s,balance:b.toString(),link:w,link_as_account:r},K=F.hash_block(m),$;n&&($=await this.work_function(K));let Qe=F.sign_block_hash(this.private_key,K),ee={...m,signature:Qe,work:$};return await this.send_process(ee,"send")}async send_all(r,t,n){let s=await this.get_account_info(void 0,!0);return await this.send(r,F.raw_to_whole(BigInt(s.balance),this.rpc.DECIMALS),t,n,s)}async receive(r,t,n){let s=await this.rpc.get_block_info(r),g=0n;n||(n=this.address);let l;try{let K=await this.get_account_info(void 0,!0);l=K.frontier,n=K.representative,g=BigInt(K.balance)}catch{l="0".repeat(64)}let _={type:"state",account:this.address,previous:l,representative:n,balance:(g+BigInt(s.amount)).toString(),link:r},w=F.hash_block(_),B;t&&(B=await this.work_function(w));let b=F.sign_block_hash(this.private_key,w),m={..._,signature:b,work:B};return await this.send_process(m,"receive")}async receive_all(r=20,t,n){let s=(await this.get_account_receivable(r,t,!0)).blocks,g,l,_;try{let B=await this.get_account_info(void 0,!0);g=B.frontier,l=B.representative,_=BigInt(B.balance)}catch{g="0".repeat(64),l=this.address,_=BigInt(0)}let w=[];for(let B of Object.keys(s)){let b=(_+BigInt(s[B].amount)).toString(),m={type:"state",account:this.address,previous:g,representative:l,balance:b,link:B},K=F.hash_block(m),$;n&&($=await this.work_function(K));let Qe=F.sign_block_hash(this.private_key,K),ee={...m,signature:Qe,work:$};await this.send_process(ee,"receive"),w.push(K),g=K,_=BigInt(b)}return w}async change_representative(r,t){let n=await this.get_account_info(),s={type:"state",account:this.address,previous:n.frontier,representative:r,balance:n.balance,link:"0".repeat(64)},g=F.hash_block(s),l;t&&(l=await this.work_function(g));let _=F.sign_block_hash(this.private_key,g),w={...s,signature:_,work:l};return await this.send_process(w,"change")}async change_rep(r,t){return await this.change_representative(r,t)}async get_account_info(r,t,n,s){return await this.rpc.get_account_info(this.address,r,t,n,s)}async get_account_receivable(r,t,n){return await this.rpc.get_account_receivable(this.address,r,t,n)}sign_message(r){return F.sign_message(this.private_key,r)}};V.Wallet=st;var Tt=class extends st{static{I(this,"PrivateKeyAccount")}constructor(r,t,n){if(typeof t!="string"||t?.length!==64)throw Error("Priv key needs to be 64 character (hex) string");super(r,t,0,n),this._private_key=t}get private_key(){return this._private_key}};V.PrivateKeyAccount=Tt});var mn=S(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.RPCWorkProvider=void 0;var jt=class{static{I(this,"RPCWorkProvider")}constructor(r){this.extra_payload={},this.rpc=r}async request_work(r){return(await this.rpc.call({action:"work_generate",hash:r,...this.extra_payload})).work}};It.RPCWorkProvider=jt});var we=S(R=>{"use strict";var wo=R&&R.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),Pe=R&&R.__exportStar||function(e,r){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(r,t)&&wo(r,e,t)};Object.defineProperty(R,"__esModule",{value:!0});Pe(At(),R);Pe(Qn(),R);Pe(bn(),R);Pe(Dn(),R);Pe(mn(),R)});var Jt={};vt(Jt,{LOG:()=>Ve,address_to_cid_v0:()=>xo,base58_to_hex:()=>Fn,bigint_to_uint8array:()=>vn,cid_v0_to_address:()=>Eo,decode_domain_name:()=>Ee,encode_domain_name:()=>ht,hex_to_base58:()=>Un});var Z=Ke(we());var Ve=!0;function ht(e){if(e.includes(".")||e.includes("\0")||e.includes('"'))throw new Error(`Domain name cannot include '.' or '"' or '\\u0000'`);let r=(0,Z.uint8array_to_hex)(new TextEncoder().encode(e));if(r.length>64)throw new Error("Cannot be more than 32 bytes");return r.length<64&&(r="0".repeat(64-r.length)+r),r}I(ht,"encode_domain_name");function Ee(e){return new TextDecoder().decode((0,Z.hex_to_uint8array)(e)).replaceAll("\0","")}I(Ee,"decode_domain_name");var Sn="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";function Un(e){let r=BigInt(`0x${e}`),t="";for(;t+=Sn[Number(r%BigInt(58))],r=r/BigInt(58),r!==0n;);return t.split("").reverse().join("")}I(Un,"hex_to_base58");function vn(e,r){let t=new Uint8Array(r),n=e;for(let s=1;s<=r;s++)t[r-s]=Number(n%256n),n/=256n;return t}I(vn,"bigint_to_uint8array");function Fn(e){let r=0n;for(let t=0;tBe,Resolver:()=>qt,TLDAccount:()=>xe});var T=Ke(we());var ct=class{static{I(this,"Account")}constructor(r,t){this.rpc=r,this.address=t}async get_open_and_frontier(){let r=await this.rpc.get_account_info(this.address,!0);return[r.open_block,r.confirmation_height_frontier??r.frontier]}async get_history_from_open(r,t){return await this.rpc.get_account_history(this.address,t,!0,r,void 0,!0)}},xe=class extends ct{static{I(this,"TLDAccount")}constructor(r,t){super(r,t),this.all_issued=[]}async get_specific(r){let[t,n]=await this.get_open_and_frontier(),s=t;for(;;){let{history:g}=await this.get_history_from_open(s,100);for(let l of g){let _=BigInt(l.amount??0);if(l.subtype==="send"&&_>=se&&_<=ne){let w=Ee((0,T.get_public_key_from_address)(l.representative));if(r===w)return{tld:this.address,name:r,history:[{type:"transfer",block:l,to:(0,T.get_address_from_public_key)(l.link)}]}}if(l.representative===Ie&&l.subtype==="change"||l.hash===n)return}s=g[g.length-1].hash}}async get_all_issued(){let[r,t]=await this.get_open_and_frontier(),n=r,s={};for(;;){let{history:g}=await this.get_history_from_open(n,100);for(let l of g){let _=BigInt(l.amount??0);if(l.subtype==="send"&&_>=se&&_<=ne){let w=Ee((0,T.get_public_key_from_address)(l.representative));s[w]?Ve&&console.log(`"${w}" already issued but TLD tried to issue again. Invalid.`):s[w]={tld:this.address,name:w,history:[{type:"transfer",block:l,to:(0,T.get_address_from_public_key)(l.link)}]}}if(l.representative===Ie&&l.subtype==="change"||l.hash===t)return this.all_issued=Object.values(s),this.all_issued}n=g[g.length-1].hash}}},Be=class extends ct{static{I(this,"DomainAccount")}constructor(r,t,n){super(r,t),this.domain=n}async crawl(){let r,t;try{[r,t]=await this.get_open_and_frontier()}catch{return Ve&&console.log("Not yet received"),this.domain}let n=r;for(;;){let{history:s}=await this.get_history_from_open(n,1e3);for(let g of s){let l=BigInt(g.amount??0);if(g.height==="1"){if(g.link!==this.domain.history[this.domain.history.length-1]?.block.hash)return Ve&&console.log("Domain burned"),this.domain.burned=!0,this.domain;this.domain.history.push({type:"receive",block:g})}else if(g.subtype==="send"&&l>=se&&l<=ne){let _=Ee((0,T.get_public_key_from_address)(g.representative));if(this.domain.name===_)return this.domain.resolved_address=void 0,this.domain.metadata_hash=void 0,this.domain.history.push({type:"transfer",block:g,to:(0,T.get_address_from_public_key)(g.link)}),this.domain}else{if(g.subtype==="change"&&g.representative===Ie)return this.domain.history.push({type:"freeze",block:g}),this.domain;g.subtype==="change"?(this.domain.metadata_hash=(0,T.get_public_key_from_address)(g.representative),this.domain.history.push({type:"metadata",block:g,metadata_hash:this.domain.metadata_hash})):g.subtype==="send"&&l===4224n&&(this.domain.resolved_address=(0,T.get_address_from_public_key)(g.link),this.domain.history.push({type:"resolver",block:g,resolved_address:this.domain.resolved_address}))}if(g.hash===t)return this.domain}n=s[s.length-1].hash}}},qt=class{static{I(this,"Resolver")}constructor(r,t){this.rpc=r,this.tld_mapping=t}async resolve(r,t){if(r=r.toLowerCase(),!this.tld_mapping[t])throw new Error("No TLD Account found for that TLD");let s=await new xe(this.rpc,this.tld_mapping[t]).get_specific(r);if(!s)return s;for(;;){let g=s.history[s.history.length-1].to,l=new Be(this.rpc,g,s),_=s.history.length;if(s=await l.crawl(),s.history[s.history.length-1].type!=="transfer"||s.burned||_===s.history.length)break}return s}async resolve_backwards_ish(r,t){let n=(await this.rpc.get_account_info(r,!0)).open_block,s=(await this.rpc.get_block_info(n)).contents.link,g=await this.rpc.get_block_info(s),l=Ee((0,T.get_public_key_from_address)(g.contents.representative)),_=await this.resolve(l,t);if((_?.history.slice().reverse().find(B=>B.type==="transfer")).to===r)return _}};var $t={};vt($t,{DomainAccountManager:()=>Zt,TLDAccountManager:()=>Wt});var ie=Ke(we());var Wt=class extends xe{static{I(this,"TLDAccountManager")}constructor(r,t){super(r,t.address),this.wallet=t}async issue_domain_name(r,t){if(r=r.toLowerCase(),this.all_issued.some(s=>s.name===r))throw new Error("Cannot issue a domain name that is already issued");return await this.wallet.send(t,"0.00120703011",void 0,(0,ie.get_address_from_public_key)(ht(r)))}async freeze(){await this.wallet.change_representative(Ie)}async receive(){await this.wallet.receive_all()}},Zt=class extends Be{static{I(this,"DomainAccountManager")}constructor(r,t,n){super(r,t.address),this.wallet=t,this.domain=n}async receive_domain(r,t,n){let s=!1,{history:g}=await this.rpc.get_account_history(this.address,1);if(g.length>1&&!n)throw s=!0,new Error("`allow_burning` must be true in order to receive this domain");let l=await this.rpc.get_block_info(r),_=BigInt(l.amount);if(_ne)throw new Error("`receive_hash` is not a Domain Transfer block");await this.wallet.receive(r,void 0,t)}async transfer_domain(r,t){let n=(await this.wallet.get_account_info()).balance,s=(0,ie.raw_to_whole)(ne);return ne>BigInt(n)&&se<=BigInt(n)&&(s=(0,ie.raw_to_whole)(BigInt(n))),await this.wallet.send(t,s,void 0,(0,ie.get_address_from_public_key)(ht(r)))}async declare_domain_metadata(r){if(r===Xt)throw new Error("A metadata hash of all 1s freezes the domain");await this.wallet.change_representative((0,ie.get_address_from_public_key)(r))}async declare_domain_resolve_to(r){await this.wallet.send(r,(0,ie.raw_to_whole)(4224n))}async freeze(){await this.wallet.change_representative(Ie)}};var Kn={};var Bo=Ke(we());window.bns={...Jt,...zt,...$t,...Kn,banani:Bo};})(); /*! Bundled license information: banani/tweetnacl_mod.js: diff --git a/bns_protocol.md b/bns_protocol.md index 1a409b5..2d2b36a 100644 --- a/bns_protocol.md +++ b/bns_protocol.md @@ -118,7 +118,7 @@ Domain metadata can be anything. However, in order for domain metadata to be eas # Domain name validity -A domain name cannot have the `.`, `\u0000`, or `"` characters in it. +A domain name cannot have the `.`, `\u0000`, or `"` characters in it. Domain names are all lowercase. > Maybe alphanumeric only? @@ -126,7 +126,7 @@ A domain name cannot have the `.`, `\u0000`, or `"` characters in it. ## Resolving domains -To resolve a domain to a Domain Account (after checking the domain name for validity), and to resolve into an address and some metadata, first a resolver needs to consult its mapping of TLD names to TLD Accounts. It should encode the utf-8 domain name and front pad it to 32 bytes (TLD name should not be included in the hash). Then, it should crawl the account, starting from height 1. It should keep crawling up the chain until it finds the first Domain Transfer whose representative matches the domain name's hash. +To resolve a domain to a Domain Account (after checking the domain name for validity, and turning it lowercase), and to resolve into an address and some metadata, first a resolver needs to consult its mapping of TLD names to TLD Accounts. It should encode the utf-8 domain name and front pad it to 32 bytes (TLD name should not be included in the hash). Then, it should crawl the account, starting from height 1. It should keep crawling up the chain until it finds the first Domain Transfer whose representative matches the domain name's hash. The resolver should then go to the recipient of the Domain Transfer. If the opening block (height 1) is not a Domain Receive block for that Domain Transfer, then the resolver knows the domain has been burned, and the resolving process is over. The burned domain has no domain metadata or resolved address. If it does find the opening block is the Domain Receive block for that Domain Transfer, it should then crawl up the chain again, keeping note of any Domain Metadata or Domain Resolver blocks. Newer blocks replace the older ones. If it encounters a Domain Transfer block, it should discard the noted domain metadata and resolved address, and repeat. If it does not encounter a Domain Transfer block, and reaches the frontier (latest) block, then it should return the noted domain metadata and resolved address (or lack thereof). diff --git a/browser_test/index.html b/browser_test/index.html index 1ad8869..047b750 100644 --- a/browser_test/index.html +++ b/browser_test/index.html @@ -171,7 +171,9 @@ const bns = window.bns; const rpc = new bns.banani.RPC("https://kaliumapi.appditto.com/api"); //for sending cause it does work - const rpc2 = new bns.banani.RPC("https://api.banano.trade/proxy", true); //for resolver cause it supports raw account history + //const rpc2 = new bns.banani.RPC("https://api.banano.trade/proxy", true); //for resolver cause it supports raw account history + //const rpc2 = new bns.banani.RPC("https://booster.dev-ptera.com/banano-rpc"); //for resolver cause it supports raw account history + const rpc2 = rpc; let wallet = bns.banani.Wallet.gen_random_wallet(rpc); diff --git a/docs/bns-browser.js b/docs/bns-browser.js index 72a3daf..5bda3c8 100644 --- a/docs/bns-browser.js +++ b/docs/bns-browser.js @@ -1,4 +1,4 @@ -(()=>{var zn=Object.create;var Ze=Object.defineProperty;var Wn=Object.getOwnPropertyDescriptor;var Zn=Object.getOwnPropertyNames;var $n=Object.getPrototypeOf,ei=Object.prototype.hasOwnProperty;var I=(e,r)=>Ze(e,"name",{value:r,configurable:!0}),Br=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var S=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),vt=(e,r)=>{for(var t in r)Ze(e,t,{get:r[t],enumerable:!0})},ti=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of Zn(r))!ei.call(e,s)&&s!==t&&Ze(e,s,{get:()=>r[s],enumerable:!(n=Wn(r,s))||n.enumerable});return e};var Ke=(e,r,t)=>(t=e!=null?zn($n(e)):{},ti(r||!e||!e.__esModule?Ze(t,"default",{value:e,enumerable:!0}):t,e));var Ft=S((po,pr)=>{pr.exports=Qr;var $e=class extends Error{static{I(this,"AssertionError")}};$e.prototype.name="AssertionError";function Qr(e,r){if(!e){var t=new $e(r);throw Error.captureStackTrace&&Error.captureStackTrace(t,Qr),t}}I(Qr,"assert")});var mr=S((Do,Dr)=>{function br(e){return e.length}I(br,"byteLength");function ri(e){let r=e.byteLength,t="";for(let n=0;n{var ye="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ae=new Uint8Array(256);for(let e=0;e1&&e.charCodeAt(r-1)===61&&r--,r*3>>>2}I(Sr,"byteLength");function ii(e){let r=e.byteLength,t="";for(let n=0;n>2]+ye[(e[n]&3)<<4|e[n+1]>>4]+ye[(e[n+1]&15)<<2|e[n+2]>>6]+ye[e[n+2]&63];return r%3===2?t=t.substring(0,t.length-1)+"=":r%3===1&&(t=t.substring(0,t.length-2)+"=="),t}I(ii,"toString");function oi(e,r,t=0,n=Sr(r)){let s=Math.min(n,e.byteLength-t);for(let g=0,l=0;l>4,e[l++]=(w&15)<<4|B>>2,e[l++]=(B&3)<<6|b&63}return s}I(oi,"write");Ur.exports={byteLength:Sr,toString:ii,write:oi}});var kr=S((vo,Yr)=>{function Kr(e){return e.length>>>1}I(Kr,"byteLength");function Ai(e){let r=e.byteLength;e=new DataView(e.buffer,e.byteOffset,r);let t="",n=0;for(let s=r-r%4;n=48&&e<=57)return e-48;if(e>=65&&e<=70)return e-65+10;if(e>=97&&e<=102)return e-97+10}I(Fr,"hexValue")});var Mr=S((Ko,Lr)=>{function Kt(e){let r=0;for(let t=0,n=e.length;t=55296&&s<=56319&&t+1=56320&&g<=57343){r+=4,t++;continue}}s<=127?r+=1:s<=2047?r+=2:r+=3}return r}I(Kt,"byteLength");var Yt;if(typeof TextDecoder<"u"){let e=new TextDecoder;Yt=I(function(t){return e.decode(t)},"toString")}else Yt=I(function(r){let t=r.byteLength,n="",s=0;for(;s0){let w=0;for(;w>B,B-=6;B>=0;)r[_++]=128|w>>B&63,B-=6;l+=w>=65536?2:1}return g},"write");Lr.exports={byteLength:Kt,toString:Yt,write:kt}});var Vr=S((ko,Pr)=>{function Hr(e){return e.length*2}I(Hr,"byteLength");function si(e){let r=e.byteLength,t="";for(let n=0;n>8,B=_%256;e[t+l*2]=B,e[t+l*2+1]=w}return s}I(Ii,"write");Pr.exports={byteLength:Hr,toString:si,write:Ii}});var Tr=S((Mt,Rr)=>{var hi=mr(),ci=vr(),gi=kr(),fi=Mr(),ui=Vr(),et=new Uint8Array(Uint16Array.of(255).buffer)[0]===255;function Ye(e){switch(e){case"ascii":return hi;case"base64":return ci;case"hex":return gi;case"utf8":case"utf-8":case void 0:return fi;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ui;default:throw new Error(`Unknown encoding: ${e}`)}}I(Ye,"codecFor");function Or(e){return e instanceof Uint8Array}I(Or,"isBuffer");function Ci(e){try{return Ye(e),!0}catch{return!1}}I(Ci,"isEncoding");function li(e,r,t){let n=new Uint8Array(e);return r!==void 0&&Mt.fill(n,r,0,n.byteLength,t),n}I(li,"alloc");function yi(e){return new Uint8Array(e)}I(yi,"allocUnsafe");function _i(e){return new Uint8Array(e)}I(_i,"allocUnsafeSlow");function di(e,r){return Ye(r).byteLength(e)}I(di,"byteLength");function wi(e,r){if(e===r)return 0;let t=Math.min(e.byteLength,r.byteLength);e=new DataView(e.buffer,e.byteOffset,e.byteLength),r=new DataView(r.buffer,r.byteOffset,r.byteLength);let n=0;for(let s=t-t%4;ng)return 1}return e.byteLength>r.byteLength?1:e.byteLengths+g.byteLength,0));let t=new Uint8Array(r),n=0;for(let s of e){if(n+s.byteLength>t.byteLength){let g=s.subarray(0,t.byteLength-n);return t.set(g,n),t}t.set(s,n),n+=s.byteLength}return t}I(Ei,"concat");function xi(e,r,t=0,n=0,s=e.byteLength){if(s>0&&s=e.byteLength)throw new RangeError("sourceStart is out of range");if(s<0)throw new RangeError("sourceEnd is out of range");t>=r.byteLength&&(t=r.byteLength),s>e.byteLength&&(s=e.byteLength),r.byteLength-t=e.byteLength){if(s)return-1;t=e.byteLength-1}else if(t<0)if(s)t=0;else return-1;if(typeof r=="string")r=Lt(r,n);else if(typeof r=="number")return r=r&255,s?e.indexOf(r,t):e.lastIndexOf(r,t);if(r.byteLength===0)return-1;if(s){let g=-1;for(let l=t;le.byteLength&&(t=e.byteLength-r.byteLength);for(let g=t;g>=0;g--){let l=!0;for(let _=0;_=s||n<=t?"":(t<0&&(t=0),n>s&&(n=s),(t!==0||n{var Ti=I((e,r)=>I(function(){return r||(0,e[Object.keys(e)[0]])((r={exports:{}}).exports,r),r.exports},"__require"),"__commonJS"),ji=(()=>{for(var e=new Uint8Array(128),r=0;r<64;r++)e[r<26?r+65:r<52?r+71:r<62?r-4:r*4-205]=r;return t=>{for(var n=t.length,s=new Uint8Array((n-(t[n-1]=="=")-(t[n-2]=="="))*3/4|0),g=0,l=0;g>4,s[l++]=w<<4|B>>2,s[l++]=B<<6|b}return s}})(),Ji=Ti({"wasm-binary:./blake2b.wat"(e,r){r.exports=ji("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")}}),Xi=Ji(),qi=WebAssembly.compile(Xi);jr.exports=async e=>(await WebAssembly.instantiate(await qi,e)).exports});var tn=S((Go,J)=>{var M=Ft(),zi=Tr(),W=null,Xr=typeof WebAssembly<"u"&&Jr()().then(e=>{W=e}),z=64,tt=[];J.exports=Y;var qr=J.exports.BYTES_MIN=16,zr=J.exports.BYTES_MAX=64,Vo=J.exports.BYTES=32,Wr=J.exports.KEYBYTES_MIN=16,Zr=J.exports.KEYBYTES_MAX=64,Oo=J.exports.KEYBYTES=32,$r=J.exports.SALTBYTES=16,en=J.exports.PERSONALBYTES=16;function Y(e,r,t,n,s){if(!(this instanceof Y))return new Y(e,r,t,n,s);if(!W)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");e||(e=32),s!==!0&&(M(e>=qr,"digestLength must be at least "+qr+", was given "+e),M(e<=zr,"digestLength must be at most "+zr+", was given "+e),r!=null&&(M(r instanceof Uint8Array,"key must be Uint8Array or Buffer"),M(r.length>=Wr,"key must be at least "+Wr+", was given "+r.length),M(r.length<=Zr,"key must be at least "+Zr+", was given "+r.length)),t!=null&&(M(t instanceof Uint8Array,"salt must be Uint8Array or Buffer"),M(t.length===$r,"salt must be exactly "+$r+", was given "+t.length)),n!=null&&(M(n instanceof Uint8Array,"personal must be Uint8Array or Buffer"),M(n.length===en,"personal must be exactly "+en+", was given "+n.length))),tt.length||(tt.push(z),z+=216),this.digestLength=e,this.finalized=!1,this.pointer=tt.pop(),this._memory=new Uint8Array(W.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=r?r.length:0,this._memory[2]=1,this._memory[3]=1,t&&this._memory.set(t,32),n&&this._memory.set(n,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),W.blake2b_init(this.pointer,this.digestLength),r&&(this.update(r),this._memory.fill(0,z,z+r.length),this._memory[this.pointer+200]=128)}I(Y,"Blake2b");Y.prototype._realloc=function(e){W.memory.grow(Math.max(0,Math.ceil(Math.abs(e-this._memory.length)/65536))),this._memory=new Uint8Array(W.memory.buffer)};Y.prototype.update=function(e){return M(this.finalized===!1,"Hash instance finalized"),M(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),z+e.length>this._memory.length&&this._realloc(z+e.length),this._memory.set(e,z),W.blake2b_update(this.pointer,z,z+e.length),this};Y.prototype.digest=function(e){if(M(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,tt.push(this.pointer),W.blake2b_final(this.pointer),!e||e==="binary")return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(typeof e=="string")return zi.toString(this._memory,e,this.pointer+128,this.pointer+128+this.digestLength);M(e instanceof Uint8Array&&e.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var r=0;re(),e):e(new Error("WebAssembly not supported"))};Y.prototype.ready=Y.ready;Y.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)};Y.prototype.setPartialHash=function(e){this._memory.set(e,this.pointer)};function Wi(){}I(Wi,"noop")});var Ht=S((jo,k)=>{var P=Ft(),Le=tn();function rt(e,r,t){var n=e[r]+e[t],s=e[r+1]+e[t+1];n>=4294967296&&s++,e[r]=n,e[r+1]=s}I(rt,"ADD64AA");function rn(e,r,t,n){var s=e[r]+t;t<0&&(s+=4294967296);var g=e[r+1]+n;s>=4294967296&&g++,e[r]=s,e[r+1]=g}I(rn,"ADD64AC");function hn(e,r){return e[r]^e[r+1]<<8^e[r+2]<<16^e[r+3]<<24}I(hn,"B2B_GET32");function te(e,r,t,n,s,g){var l=ke[s],_=ke[s+1],w=ke[g],B=ke[g+1];rt(x,e,r),rn(x,e,l,_);var b=x[n]^x[e],m=x[n+1]^x[e+1];x[n]=m,x[n+1]=b,rt(x,t,n),b=x[r]^x[t],m=x[r+1]^x[t+1],x[r]=b>>>24^m<<8,x[r+1]=m>>>24^b<<8,rt(x,e,r),rn(x,e,w,B),b=x[n]^x[e],m=x[n+1]^x[e+1],x[n]=b>>>16^m<<16,x[n+1]=m>>>16^b<<16,rt(x,t,n),b=x[r]^x[t],m=x[r+1]^x[t+1],x[r]=m>>>31^b<<1,x[r+1]=b>>>31^m<<1}I(te,"B2B_G");var cn=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Zi=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],v=new Uint8Array(Zi.map(function(e){return e*2})),x=new Uint32Array(32),ke=new Uint32Array(32);function gn(e,r){var t=0;for(t=0;t<16;t++)x[t]=e.h[t],x[t+16]=cn[t];for(x[24]=x[24]^e.t,x[25]=x[25]^e.t/4294967296,r&&(x[28]=~x[28],x[29]=~x[29]),t=0;t<32;t++)ke[t]=hn(e.b,4*t);for(t=0;t<12;t++)te(0,8,16,24,v[t*16+0],v[t*16+1]),te(2,10,18,26,v[t*16+2],v[t*16+3]),te(4,12,20,28,v[t*16+4],v[t*16+5]),te(6,14,22,30,v[t*16+6],v[t*16+7]),te(0,10,20,30,v[t*16+8],v[t*16+9]),te(2,12,22,24,v[t*16+10],v[t*16+11]),te(4,14,16,26,v[t*16+12],v[t*16+13]),te(6,8,18,28,v[t*16+14],v[t*16+15]);for(t=0;t<16;t++)e.h[t]=e.h[t]^x[t]^x[t+16]}I(gn,"blake2bCompress");var re=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function _e(e,r,t,n){re.fill(0),this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.outlen=e,re[0]=e,r&&(re[1]=r.length),re[2]=1,re[3]=1,t&&re.set(t,32),n&&re.set(n,48);for(var s=0;s<16;s++)this.h[s]=cn[s]^hn(re,s*4);r&&(fn(this,r),this.c=128)}I(_e,"Blake2b");_e.prototype.update=function(e){return P(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),fn(this,e),this};_e.prototype.digest=function(e){var r=!e||e==="binary"||e==="hex"?new Uint8Array(this.outlen):e;return P(r instanceof Uint8Array,'out must be "binary", "hex", Uint8Array, or Buffer'),P(r.length>=this.outlen,"out must have at least outlen bytes of space"),$i(this,r),e==="hex"?eo(r):r};_e.prototype.final=_e.prototype.digest;_e.ready=function(e){Le.ready(function(){e()})};function fn(e,r){for(var t=0;t>2]>>8*(t&3);return r}I($i,"blake2bFinal");function eo(e){for(var r="",t=0;t=nn,"outlen must be at least "+nn+", was given "+r),P(r<=on,"outlen must be at most "+on+", was given "+r),t!=null&&(P(t instanceof Uint8Array,"key must be Uint8Array or Buffer"),P(t.length>=An,"key must be at least "+An+", was given "+t.length),P(t.length<=an,"key must be at most "+an+", was given "+t.length)),n!=null&&(P(n instanceof Uint8Array,"salt must be Uint8Array or Buffer"),P(n.length===sn,"salt must be exactly "+sn+", was given "+n.length)),s!=null&&(P(s instanceof Uint8Array,"personal must be Uint8Array or Buffer"),P(s.length===In,"personal must be exactly "+In+", was given "+s.length))),new ro(r,t,n,s)},"createHash");k.exports.ready=function(e){Le.ready(function(){e()})};k.exports.WASM_SUPPORTED=Le.SUPPORTED;k.exports.WASM_LOADED=!1;var nn=k.exports.BYTES_MIN=16,on=k.exports.BYTES_MAX=64,Ro=k.exports.BYTES=32,An=k.exports.KEYBYTES_MIN=16,an=k.exports.KEYBYTES_MAX=64,To=k.exports.KEYBYTES=32,sn=k.exports.SALTBYTES=16,In=k.exports.PERSONALBYTES=16;Le.ready(function(e){e||(k.exports.WASM_LOADED=!0,k.exports=Le)})});var un=S((Xo,nt)=>{(function(e){"use strict";let r=Ht();var t=I(function(i,A){this.hi=i|0,this.lo=A|0},"u64"),n=I(function(i){var A,o=new Float64Array(16);if(i)for(A=0;A>>32-A}I(ee,"L32");function he(i,A){var o=i[A+3]&255;return o=o<<8|i[A+2]&255,o=o<<8|i[A+1]&255,o<<8|i[A+0]&255}I(he,"ld32");function er(i,A){var o=i[A]<<24|i[A+1]<<16|i[A+2]<<8|i[A+3],a=i[A+4]<<24|i[A+5]<<16|i[A+6]<<8|i[A+7];return new t(o,a)}I(er,"dl64");function gt(i,A,o){var a;for(a=0;a<4;a++)i[A+a]=o&255,o>>>=8}I(gt,"st32");function tr(i,A,o){i[A]=o.hi>>24&255,i[A+1]=o.hi>>16&255,i[A+2]=o.hi>>8&255,i[A+3]=o.hi&255,i[A+4]=o.lo>>24&255,i[A+5]=o.lo>>16&255,i[A+6]=o.lo>>8&255,i[A+7]=o.lo&255}I(tr,"ts64");function ft(i,A,o,a,h){var c,C=0;for(c=0;c>>8)-1}I(ft,"vn");function rr(i,A,o,a){return ft(i,A,o,a,16)}I(rr,"crypto_verify_16");function ut(i,A,o,a){return ft(i,A,o,a,32)}I(ut,"crypto_verify_32");function nr(i,A,o,a,h){var c=new Uint32Array(16),C=new Uint32Array(16),y=new Uint32Array(16),f=new Uint32Array(4),u,d,p;for(u=0;u<4;u++)C[5*u]=he(a,4*u),C[1+u]=he(o,4*u),C[6+u]=he(A,4*u),C[11+u]=he(o,16+4*u);for(u=0;u<16;u++)y[u]=C[u];for(u=0;u<20;u++){for(d=0;d<4;d++){for(p=0;p<4;p++)f[p]=C[(5*d+4*p)%16];for(f[1]^=ee(f[0]+f[3]|0,7),f[2]^=ee(f[1]+f[0]|0,9),f[3]^=ee(f[2]+f[1]|0,13),f[0]^=ee(f[3]+f[2]|0,18),p=0;p<4;p++)c[4*d+(d+p)%4]=f[p]}for(p=0;p<16;p++)C[p]=c[p]}if(h){for(u=0;u<16;u++)C[u]=C[u]+y[u]|0;for(u=0;u<4;u++)C[5*u]=C[5*u]-he(a,4*u)|0,C[6+u]=C[6+u]-he(A,4*u)|0;for(u=0;u<4;u++)gt(i,4*u,C[5*u]),gt(i,16+4*u,C[6+u])}else for(u=0;u<16;u++)gt(i,4*u,C[u]+y[u]|0)}I(nr,"core");function ir(i,A,o,a){return nr(i,A,o,a,!1),0}I(ir,"crypto_core_salsa20");function Ge(i,A,o,a){return nr(i,A,o,a,!0),0}I(Ge,"crypto_core_hsalsa20");var pe=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function Ct(i,A,o,a,h,c,C){var y=new Uint8Array(16),f=new Uint8Array(64),u,d;if(!h)return 0;for(d=0;d<16;d++)y[d]=0;for(d=0;d<8;d++)y[d]=c[d];for(;h>=64;){for(ir(f,y,C,pe),d=0;d<64;d++)i[A+d]=(o?o[a+d]:0)^f[d];for(u=1,d=8;d<16;d++)u=u+(y[d]&255)|0,y[d]=u&255,u>>>=8;h-=64,A+=64,o&&(a+=64)}if(h>0)for(ir(f,y,C,pe),d=0;d>>=8}I(yt,"add1305");var Yn=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function _t(i,A,o,a,h,c){var C,y,f,u,d=new Uint32Array(17),p=new Uint32Array(17),D=new Uint32Array(17),N=new Uint32Array(17),le=new Uint32Array(17);for(f=0;f<17;f++)p[f]=D[f]=0;for(f=0;f<16;f++)p[f]=c[f];for(p[3]&=15,p[4]&=252,p[7]&=15,p[8]&=252,p[11]&=15,p[12]&=252,p[15]&=15;h>0;){for(f=0;f<17;f++)N[f]=0;for(f=0;f<16&&f>>=8;for(u=u+D[16]|0,D[16]=u&3,u=5*(u>>>2)|0,f=0;f<16;f++)u=u+D[f]|0,D[f]=u&255,u>>>=8;u=u+D[16]|0,D[16]=u}for(f=0;f<17;f++)le[f]=D[f];for(yt(D,Yn),C=-(D[16]>>>7)|0,f=0;f<17;f++)D[f]^=C&(le[f]^D[f]);for(f=0;f<16;f++)N[f]=c[f+16];for(N[16]=0,yt(D,N),f=0;f<16;f++)i[A+f]=D[f];return 0}I(_t,"crypto_onetimeauth");function ar(i,A,o,a,h,c){var C=new Uint8Array(16);return _t(C,0,o,a,h,c),rr(i,A,C,0)}I(ar,"crypto_onetimeauth_verify");function dt(i,A,o,a,h){var c;if(o<32)return-1;for(lt(i,0,A,0,o,a,h),_t(i,16,i,32,o-32,i),c=0;c<16;c++)i[c]=0;return 0}I(dt,"crypto_secretbox");function wt(i,A,o,a,h){var c,C=new Uint8Array(32);if(o<32||(Ar(C,0,32,a,h),ar(A,16,A,32,o-32,C)!==0))return-1;for(lt(i,0,A,0,o,a,h),c=0;c<32;c++)i[c]=0;return 0}I(wt,"crypto_secretbox_open");function X(i,A){var o;for(o=0;o<16;o++)i[o]=A[o]|0}I(X,"set25519");function be(i){var A,o;for(o=0;o<16;o++)i[o]+=65536,A=Math.floor(i[o]/65536),i[(o+1)*(o<15?1:0)]+=A-1+37*(A-1)*(o===15?1:0),i[o]-=A*65536}I(be,"car25519");function ce(i,A,o){for(var a,h=~(o-1),c=0;c<16;c++)a=h&(i[c]^A[c]),i[c]^=a,A[c]^=a}I(ce,"sel25519");function ge(i,A){var o,a,h,c=n(),C=n();for(o=0;o<16;o++)C[o]=A[o];for(be(C),be(C),be(C),a=0;a<2;a++){for(c[0]=C[0]-65517,o=1;o<15;o++)c[o]=C[o]-65535-(c[o-1]>>16&1),c[o-1]&=65535;c[15]=C[15]-32767-(c[14]>>16&1),h=c[15]>>16&1,c[14]&=65535,ce(C,c,1-h)}for(o=0;o<16;o++)i[2*o]=C[o]&255,i[2*o+1]=C[o]>>8}I(ge,"pack25519");function sr(i,A){var o=new Uint8Array(32),a=new Uint8Array(32);return ge(o,i),ge(a,A),ut(o,0,a,0)}I(sr,"neq25519");function Ir(i){var A=new Uint8Array(32);return ge(A,i),A[0]&1}I(Ir,"par25519");function Et(i,A){var o;for(o=0;o<16;o++)i[o]=A[2*o]+(A[2*o+1]<<8);i[15]&=32767}I(Et,"unpack25519");function O(i,A,o){var a;for(a=0;a<16;a++)i[a]=A[a]+o[a]|0}I(O,"A");function G(i,A,o){var a;for(a=0;a<16;a++)i[a]=A[a]-o[a]|0}I(G,"Z");function Q(i,A,o){var a,h,c=new Float64Array(31);for(a=0;a<31;a++)c[a]=0;for(a=0;a<16;a++)for(h=0;h<16;h++)c[a+h]+=A[a]*o[h];for(a=0;a<15;a++)c[a]+=38*c[a+16];for(a=0;a<16;a++)i[a]=c[a];be(i),be(i)}I(Q,"M");function H(i,A){Q(i,A,A)}I(H,"S");function hr(i,A){var o=n(),a;for(a=0;a<16;a++)o[a]=A[a];for(a=253;a>=0;a--)H(o,o),a!==2&&a!==4&&Q(o,o,A);for(a=0;a<16;a++)i[a]=o[a]}I(hr,"inv25519");function cr(i,A){var o=n(),a;for(a=0;a<16;a++)o[a]=A[a];for(a=250;a>=0;a--)H(o,o),a!==1&&Q(o,o,A);for(a=0;a<16;a++)i[a]=o[a]}I(cr,"pow2523");function Ne(i,A,o){var a=new Uint8Array(32),h=new Float64Array(80),c,C,y=n(),f=n(),u=n(),d=n(),p=n(),D=n();for(C=0;C<31;C++)a[C]=A[C];for(a[31]=A[31]&127|64,a[0]&=248,Et(h,o),C=0;C<16;C++)f[C]=h[C],d[C]=y[C]=u[C]=0;for(y[0]=d[0]=1,C=254;C>=0;--C)c=a[C>>>3]>>>(C&7)&1,ce(y,f,c),ce(u,d,c),O(p,y,u),G(y,y,u),O(u,f,d),G(f,f,d),H(d,p),H(D,y),Q(y,u,y),Q(u,f,p),O(p,y,u),G(y,y,u),H(f,y),G(u,d,D),Q(y,u,B),O(y,y,d),Q(u,u,y),Q(y,d,D),Q(d,f,h),H(f,p),ce(y,f,c),ce(u,d,c);for(C=0;C<16;C++)h[C+16]=y[C],h[C+32]=u[C],h[C+48]=f[C],h[C+64]=d[C];var N=h.subarray(32),le=h.subarray(16);return hr(N,N),Q(le,le,N),ge(i,le),0}I(Ne,"crypto_scalarmult");function Re(i,A){return Ne(i,A,l)}I(Re,"crypto_scalarmult_base");function gr(i,A){return s(A,32),Re(i,A)}I(gr,"crypto_box_keypair");function Te(i,A,o){var a=new Uint8Array(32);return Ne(a,o,A),Ge(i,g,a,pe)}I(Te,"crypto_box_beforenm");var fr=dt,kn=wt;function Ln(i,A,o,a,h,c){var C=new Uint8Array(32);return Te(C,h,c),fr(i,A,o,a,C)}I(Ln,"crypto_box");function Mn(i,A,o,a,h,c){var C=new Uint8Array(32);return Te(C,h,c),kn(i,A,o,a,C)}I(Mn,"crypto_box_open");function De(){var i=0,A=0,o=0,a=0,h=65535,c,C,y;for(y=0;y>>16,o+=C&h,a+=C>>>16;return A+=i>>>16,o+=A>>>16,a+=o>>>16,new t(o&h|a<<16,i&h|A<<16)}I(De,"add64");function ur(i,A){return new t(i.hi>>>A,i.lo>>>A|i.hi<<32-A)}I(ur,"shr64");function je(){var i=0,A=0,o;for(o=0;o>>A|i.lo<>>A|i.hi<>>A|i.hi<>>A|i.lo<=128;){for(f=0;f<16;f++)C[f]=er(A,8*f+d);for(f=0;f<80;f++){for(u=0;u<8;u++)h[u]=c[u];for(y=De(c[7],On(c[4]),Hn(c[4],c[5],c[6]),Rn[f],C[f%16]),h[7]=De(y,Vn(c[0]),Pn(c[0],c[1],c[2])),h[3]=De(h[3],y),u=0;u<8;u++)c[(u+1)%8]=h[u];if(f%16===15)for(u=0;u<16;u++)C[u]=De(C[u],C[(u+9)%16],Gn(C[(u+1)%16]),Nn(C[(u+14)%16]))}for(f=0;f<8;f++)c[f]=De(c[f],a[f]),a[f]=c[f];d+=128,o-=128}for(f=0;f<8;f++)tr(i,8*f,a[f]);return o}I(Cr,"crypto_hashblocks");let fe=I((i,A)=>r(A).update(i).digest(),"crypto_hash_blake2b");var Tn=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function lr(i,A,o){var a=new Uint8Array(64),h=new Uint8Array(256),c,C=o;for(c=0;c<64;c++)a[c]=Tn[c];for(Cr(a,A,o),o%=128,c=0;c<256;c++)h[c]=0;for(c=0;c=0;--h)a=o[h/8|0]>>(h&7)&1,yr(i,A,a),Je(A,i),Je(i,i),yr(i,A,a)}I(xt,"scalarmult");function me(i,A){var o=[n(),n(),n(),n()];X(o[0],K),X(o[1],$),X(o[2],w),Q(o[3],K,$),xt(i,o,A)}I(me,"scalarbase");function Bt(i,A,o){var a=new Uint8Array(64),h=[n(),n(),n(),n()],c;o||s(A,32);a=fe(A,64),a[0]&=248,a[31]&=127,a[31]|=64,me(h,a),Xe(i,h);return 0}I(Bt,"crypto_sign_keypair");var qe=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Qt(i,A){var o,a,h,c;for(a=63;a>=32;--a){for(o=0,h=a-32,c=a-12;h>4)*qe[h],o=A[h]>>8,A[h]&=255;for(h=0;h<32;h++)A[h]-=o*qe[h];for(a=0;a<32;a++)A[a+1]+=A[a]>>8,i[a]=A[a]&255}I(Qt,"modL");function pt(i){var A=new Float64Array(64),o;for(o=0;o<64;o++)A[o]=i[o];for(o=0;o<64;o++)i[o]=0;Qt(i,A)}I(pt,"reduce");function _r(i,A,o,a){var h=new Uint8Array(64),c=new Uint8Array(64),C=new Uint8Array(64),y,f,u=new Float64Array(64),d=[n(),n(),n(),n()];let p=xr(a);h=fe(a,64),h[0]&=248,h[31]&=127,h[31]|=64;var D=o+64;for(y=0;y>7&&G(i[0],_,i[0]),Q(i[3],i[0],i[1]),0)}I(jn,"unpackneg");function bt(i,A,o,a){var h,c=new Uint8Array(32),C=new Uint8Array(64),y=[n(),n(),n(),n()],f=[n(),n(),n(),n()];if(o<64||jn(f,a))return-1;for(h=0;h=0};function xr(i){let A=new Uint8Array(64),o=[n(),n(),n(),n()],a,h=new Uint8Array(32);return A=fe(i,64),A[0]&=248,A[31]&=127,A[31]|=64,me(o,A),Xe(h,o),h}I(xr,"derivePublicFromSecret"),e.sign.keyPair=function(){var i=new Uint8Array(oe),A=new Uint8Array(Ce);return Bt(i,A),{publicKey:i,secretKey:A}},e.sign.keyPair.fromSecretKey=function(i){if(L(i),i.length!==Ce)throw new Error("bad secret key size");var A=new Uint8Array(oe);return A=xr(i),{publicKey:A,secretKey:new Uint8Array(i)}},e.sign.keyPair.fromSeed=function(i){if(L(i),i.length!==St)throw new Error("bad seed size");for(var A=new Uint8Array(oe),o=new Uint8Array(Ce),a=0;a<32;a++)o[a]=i[a];return Bt(A,o,!0),{publicKey:A,secretKey:o}},e.sign.publicKeyLength=oe,e.sign.secretKeyLength=Ce,e.sign.seedLength=St,e.sign.signatureLength=q,e.hash=function(i){L(i);var A=new Uint8Array(Ut);return lr(A,i,i.length),A},e.hash.hashLength=Ut,e.verify=function(i,A){return L(i,A),i.length===0||A.length===0||i.length!==A.length?!1:ft(i,0,A,0,i.length)===0},e.setPRNG=function(i){s=i},function(){var i=typeof self<"u"?self.crypto||self.msCrypto:null;if(i&&i.getRandomValues){var A=65536;e.setPRNG(function(o,a){var h,c=new Uint8Array(a);for(h=0;h{"use strict";var no=E&&E.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),io=E&&E.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),oo=E&&E.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&no(r,e,t);return io(r,e),r},Ao=E&&E.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(E,"__esModule",{value:!0});E.verify_signed_message=E.sign_message=E.construct_message_block_and_hash=E.verify_block_hash=E.sign_block_hash=E.hash_block=E.get_public_key_from_address=E.get_address_from_public_key=E.get_public_key_from_private_key=E.get_private_key_from_seed=E.raw_to_whole=E.whole_to_raw=E.utf8_to_uint8array=E.base32_to_uint8array=E.uint8array_to_base32=E.int_to_uint8array=E.hex_to_uint8array=E.uint8array_to_hex=void 0;var Vt=oo(un()),ot=Ao(Ht()),ao="0000000000000000000000000000000000000000000000000000000000000006",Ot="62616E616E6F6D73672D",Me=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];function He(e){let r="";for(let t=0;t0;g--)s-=t[r-g]*16**(2*(g-1));t[r-n]=Math.floor(s/16**(2*(n-1)))}return t}I(Cn,"int_to_uint8array");E.int_to_uint8array=Cn;var ln=["1","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","m","n","o","p","q","r","s","t","u","w","x","y","z"];function Pt(e){let r="";for(let t=0;t=5)l=e[s]>>_-5&31;else{let w=5-_;l=(e[s]<>8-w&2**(8-w)-1)}r+=ln[l]}return r}I(Pt,"uint8array_to_base32");E.uint8array_to_base32=Pt;function so(e,r){let t="",n=e;for(let s=0;s=2**(r-1-s)?(t+="1",n-=2**(r-1-s)):t+="0";return t}I(so,"int_to_binary");function Io(e){let r=0;for(let t=0;tso(ln.indexOf(n),5)).join(""),t=new Uint8Array(Math.ceil(e.length*5/8));for(let n=0;nr-n[1].length)throw Error(`Too many decimals, cannot exceed ${r}`);t=BigInt(n[0])*BigInt(10)**BigInt(r)+BigInt(n[1])*BigInt(10)**BigInt(r-n[1].length)}else t=BigInt(e)*BigInt(10)**BigInt(r);return t}I(ho,"whole_to_raw");E.whole_to_raw=ho;function co(e,r=dn){let t=e.toString(),n;if(t.length>r)n=t.slice(0,-r)+"."+t.slice(-r);else{let g=r-t.length;n="0."+"0".repeat(g>0?g:0)+t}let s=n.length;for(let g=0;g{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.RPCWithBackup=de.RPC=void 0;var Co=At(),at=class{static{I(this,"RPC")}constructor(r,t=!1){this.DECIMALS=void 0,this.debug=!1,this.rpc_url=r,this.use_pending=t}async call(r){this.debug&&console.log(JSON.stringify(r));let t=await fetch(this.rpc_url,{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!t.ok&&this.debug&&console.log(await t.text()),!t.ok)throw Error(`Request to RPC node failed with status code ${t.status}`);let n=await t.json();if(n.error)throw Error(`RPC node response: ${n.error}`);return n}async get_block_count(){return await this.call({action:"block_count"})}async get_block_info(r){return await this.call({action:"block_info",hash:r,json_block:!0})}async get_blocks(r){return await this.call({action:"blocks",hashes:r,json_block:!0})}async get_blocks_info(r){return await this.call({action:"blocks_info",hashes:r,json_block:!0})}async get_representatives(){return await this.call({action:"representatives"})}async get_representatives_online(r){return await this.call({action:"representatives_online",weight:r?"true":void 0})}async get_account_history(r,t,n,s,g,l,_){return await this.call({action:"account_history",account:r,count:`${t}`,raw:n?"true":void 0,head:s,offset:g?`${g}`:void 0,reverse:l?"true":void 0,account_filter:_})}async get_account_info(r,t,n,s,g){return await this.call({action:"account_info",account:r,representative:n?"true":void 0,weight:s?"true":void 0,pending:g?"true":void 0})}async get_account_balance(r){return await this.call({action:"account_balance",account:r})}async get_accounts_balances(r){return await this.call({action:"accounts_balances",accounts:r})}async get_account_representative(r){return await this.call({action:"account_representative",account:r})}async get_accounts_representatives(r){return await this.call({action:"accounts_representatives",account:r})}async get_account_weight(r){return await this.call({action:"account_weight",account:r})}async get_account_receivable(r,t,n,s){return await this.call({action:this.use_pending?"pending":"receivable",account:r,count:t?`${t}`:void 0,threshold:n?(0,Co.whole_to_raw)(n,this.DECIMALS).toString():void 0,source:s?"true":void 0})}async get_delegators(r,t,n,s){return await this.call({action:"delegators",account:r,threshold:t?`${t}`:void 0,count:n?`${n}`:void 0,start:s})}async get_delegators_count(r){return await this.call({action:"account_weight",account:r})}};de.RPC=at;var Rt=class extends at{static{I(this,"RPCWithBackup")}constructor(r,t,n=!1){if(r.length<2)throw Error("Must provide at least two RPC URLs");super(r[0],n),this.rpc_urls=r,this.timeout=t}async call(r){let t=0;for(;;)try{let n=await fetch(this.rpc_urls[t],{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(r),signal:AbortSignal.timeout(this.timeout)});if(!n.ok)throw Error(`Request to RPC node failed with status code ${n.status}`);let s=await n.json();if(s.error)throw Error(`RPC node response: ${s.error}`);return s}catch(n){if(!this.rpc_urls[++t])throw Error(n)}}};de.RPCWithBackup=Rt});var bn=S(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0})});var Dn=S(V=>{"use strict";var lo=V&&V.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),yo=V&&V.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),_o=V&&V.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&lo(r,e,t);return yo(r,e),r};Object.defineProperty(V,"__esModule",{value:!0});V.PrivateKeyAccount=V.Wallet=void 0;var F=_o(At()),st=class e{static{I(this,"Wallet")}constructor(r,t,n=0,s){if(this.add_do_work=!0,this.rpc=r,typeof t!="string"||t?.length!==64)throw Error("Seed needs to be 64 character (hex) string");this.seed=t,this.index=n,this.work_function=s}static gen_random_wallet(r){let t=new Uint8Array(32);crypto.getRandomValues(t);let n=F.uint8array_to_hex(t);return new e(r,n)}get private_key(){return F.get_private_key_from_seed(this.seed,this.index)}get public_key(){return F.get_public_key_from_private_key(this.private_key)}get address(){return F.get_address_from_public_key(this.public_key)}async send_process(r,t){return(await this.rpc.call({action:"process",json_block:"true",subtype:t,block:r,do_work:!r.work&&this.add_do_work?!0:void 0})).hash}async send(r,t,n,s,g){let l=F.whole_to_raw(t,this.rpc.DECIMALS),_=g??await this.get_account_info(void 0,!0),w=F.get_public_key_from_address(r);s||(s=_.representative);let B=BigInt(_.balance),b=B-l;if(b<0n)throw Error(`Insufficient funds to send. Cannot send more than balance; ie, Before balance (raw: ${B}) less than send amount (raw: ${l})`);let m={type:"state",account:this.address,previous:_.frontier,representative:s,balance:b.toString(),link:w,link_as_account:r},K=F.hash_block(m),$;n&&($=await this.work_function(K));let Qe=F.sign_block_hash(this.private_key,K),ee={...m,signature:Qe,work:$};return await this.send_process(ee,"send")}async send_all(r,t,n){let s=await this.get_account_info(void 0,!0);return await this.send(r,F.raw_to_whole(BigInt(s.balance),this.rpc.DECIMALS),t,n,s)}async receive(r,t,n){let s=await this.rpc.get_block_info(r),g=0n;n||(n=this.address);let l;try{let K=await this.get_account_info(void 0,!0);l=K.frontier,n=K.representative,g=BigInt(K.balance)}catch{l="0".repeat(64)}let _={type:"state",account:this.address,previous:l,representative:n,balance:(g+BigInt(s.amount)).toString(),link:r},w=F.hash_block(_),B;t&&(B=await this.work_function(w));let b=F.sign_block_hash(this.private_key,w),m={..._,signature:b,work:B};return await this.send_process(m,"receive")}async receive_all(r=20,t,n){let s=(await this.get_account_receivable(r,t,!0)).blocks,g,l,_;try{let B=await this.get_account_info(void 0,!0);g=B.frontier,l=B.representative,_=BigInt(B.balance)}catch{g="0".repeat(64),l=this.address,_=BigInt(0)}let w=[];for(let B of Object.keys(s)){let b=(_+BigInt(s[B].amount)).toString(),m={type:"state",account:this.address,previous:g,representative:l,balance:b,link:B},K=F.hash_block(m),$;n&&($=await this.work_function(K));let Qe=F.sign_block_hash(this.private_key,K),ee={...m,signature:Qe,work:$};await this.send_process(ee,"receive"),w.push(K),g=K,_=BigInt(b)}return w}async change_representative(r,t){let n=await this.get_account_info(),s={type:"state",account:this.address,previous:n.frontier,representative:r,balance:n.balance,link:"0".repeat(64)},g=F.hash_block(s),l;t&&(l=await this.work_function(g));let _=F.sign_block_hash(this.private_key,g),w={...s,signature:_,work:l};return await this.send_process(w,"change")}async change_rep(r,t){return await this.change_representative(r,t)}async get_account_info(r,t,n,s){return await this.rpc.get_account_info(this.address,r,t,n,s)}async get_account_receivable(r,t,n){return await this.rpc.get_account_receivable(this.address,r,t,n)}sign_message(r){return F.sign_message(this.private_key,r)}};V.Wallet=st;var Tt=class extends st{static{I(this,"PrivateKeyAccount")}constructor(r,t,n){if(typeof t!="string"||t?.length!==64)throw Error("Priv key needs to be 64 character (hex) string");super(r,t,0,n),this._private_key=t}get private_key(){return this._private_key}};V.PrivateKeyAccount=Tt});var mn=S(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.RPCWorkProvider=void 0;var jt=class{static{I(this,"RPCWorkProvider")}constructor(r){this.extra_payload={},this.rpc=r}async request_work(r){return(await this.rpc.call({action:"work_generate",hash:r,...this.extra_payload})).work}};It.RPCWorkProvider=jt});var we=S(R=>{"use strict";var wo=R&&R.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),Pe=R&&R.__exportStar||function(e,r){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(r,t)&&wo(r,e,t)};Object.defineProperty(R,"__esModule",{value:!0});Pe(At(),R);Pe(Qn(),R);Pe(bn(),R);Pe(Dn(),R);Pe(mn(),R)});var Jt={};vt(Jt,{LOG:()=>Ve,address_to_cid_v0:()=>xo,base58_to_hex:()=>Fn,bigint_to_uint8array:()=>vn,cid_v0_to_address:()=>Eo,decode_domain_name:()=>Ee,encode_domain_name:()=>ht,hex_to_base58:()=>Un});var Z=Ke(we());var Ve=!0;function ht(e){if(e.includes(".")||e.includes("\0")||e.includes('"'))throw new Error(`Domain name cannot include '.' or '"' or '\\u0000'`);let r=(0,Z.uint8array_to_hex)(new TextEncoder().encode(e));if(r.length>64)throw new Error("Cannot be more than 32 bytes");return r.length<64&&(r="0".repeat(64-r.length)+r),r}I(ht,"encode_domain_name");function Ee(e){return new TextDecoder().decode((0,Z.hex_to_uint8array)(e)).replaceAll("\0","")}I(Ee,"decode_domain_name");var Sn="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";function Un(e){let r=BigInt(`0x${e}`),t="";for(;t+=Sn[Number(r%BigInt(58))],r=r/BigInt(58),r!==0n;);return t.split("").reverse().join("")}I(Un,"hex_to_base58");function vn(e,r){let t=new Uint8Array(r),n=e;for(let s=1;s<=r;s++)t[r-s]=Number(n%256n),n/=256n;return t}I(vn,"bigint_to_uint8array");function Fn(e){let r=0n;for(let t=0;tBe,Resolver:()=>qt,TLDAccount:()=>xe});var T=Ke(we());var ct=class{static{I(this,"Account")}constructor(r,t){this.rpc=r,this.address=t}async get_open_and_frontier(){let r=await this.rpc.get_account_info(this.address,!0);return[r.open_block,r.confirmation_height_frontier??r.frontier]}async get_history_from_open(r,t){return await this.rpc.get_account_history(this.address,t,!0,r,void 0,!0)}},xe=class extends ct{static{I(this,"TLDAccount")}constructor(r,t){super(r,t),this.all_issued=[]}async get_specific(r){let[t,n]=await this.get_open_and_frontier(),s=t;for(;;){let{history:g}=await this.get_history_from_open(s,100);for(let l of g){let _=BigInt(l.amount??0);if(l.subtype==="send"&&_>=se&&_<=ne){let w=Ee((0,T.get_public_key_from_address)(l.representative));if(r===w)return{tld:this.address,name:r,history:[{type:"transfer",block:l,to:(0,T.get_address_from_public_key)(l.link)}]}}if(l.representative===Ie&&l.subtype==="change"||l.hash===n)return}s=g[g.length-1].hash}}async get_all_issued(){let[r,t]=await this.get_open_and_frontier(),n=r,s={};for(;;){let{history:g}=await this.get_history_from_open(n,100);for(let l of g){let _=BigInt(l.amount??0);if(l.subtype==="send"&&_>=se&&_<=ne){let w=Ee((0,T.get_public_key_from_address)(l.representative));s[w]?Ve&&console.log(`"${w}" already issued but TLD tried to issue again. Invalid.`):s[w]={tld:this.address,name:w,history:[{type:"transfer",block:l,to:(0,T.get_address_from_public_key)(l.link)}]}}if(l.representative===Ie&&l.subtype==="change"||l.hash===t)return this.all_issued=Object.values(s),this.all_issued}n=g[g.length-1].hash}}},Be=class extends ct{static{I(this,"DomainAccount")}constructor(r,t,n){super(r,t),this.domain=n}async crawl(){let r,t;try{[r,t]=await this.get_open_and_frontier()}catch{return Ve&&console.log("Not yet received"),this.domain}let n=r;for(;;){let{history:s}=await this.get_history_from_open(n,1e3);for(let g of s){let l=BigInt(g.amount??0);if(g.height==="1"){if(g.link!==this.domain.history[this.domain.history.length-1]?.block.hash)return Ve&&console.log("Domain burned"),this.domain.burned=!0,this.domain;this.domain.history.push({type:"receive",block:g})}else if(g.subtype==="send"&&l>=se&&l<=ne){let _=Ee((0,T.get_public_key_from_address)(g.representative));if(this.domain.name===_)return this.domain.resolved_address=void 0,this.domain.metadata_hash=void 0,this.domain.history.push({type:"transfer",block:g,to:(0,T.get_address_from_public_key)(g.link)}),this.domain}else{if(g.subtype==="change"&&g.representative===Ie)return this.domain.history.push({type:"freeze",block:g}),this.domain;g.subtype==="change"?(this.domain.metadata_hash=(0,T.get_public_key_from_address)(g.representative),this.domain.history.push({type:"metadata",block:g,metadata_hash:this.domain.metadata_hash})):g.subtype==="send"&&l===4224n&&(this.domain.resolved_address=(0,T.get_address_from_public_key)(g.link),this.domain.history.push({type:"resolver",block:g,resolved_address:this.domain.resolved_address}))}if(g.hash===t)return this.domain}n=s[s.length-1].hash}}},qt=class{static{I(this,"Resolver")}constructor(r,t){this.rpc=r,this.tld_mapping=t}async resolve(r,t){if(!this.tld_mapping[t])throw new Error("No TLD Account found for that TLD");let s=await new xe(this.rpc,this.tld_mapping[t]).get_specific(r);if(!s)return s;for(;;){let g=s.history[s.history.length-1].to,l=new Be(this.rpc,g,s),_=s.history.length;if(s=await l.crawl(),s.history[s.history.length-1].type!=="transfer"||s.burned||_===s.history.length)break}return s}async resolve_backwards_ish(r,t){let n=(await this.rpc.get_account_info(r,!0)).open_block,s=(await this.rpc.get_block_info(n)).contents.link,g=await this.rpc.get_block_info(s),l=Ee((0,T.get_public_key_from_address)(g.contents.representative)),_=await this.resolve(l,t);if((_?.history.slice().reverse().find(B=>B.type==="transfer")).to===r)return _}};var $t={};vt($t,{DomainAccountManager:()=>Zt,TLDAccountManager:()=>Wt});var ie=Ke(we());var Wt=class extends xe{static{I(this,"TLDAccountManager")}constructor(r,t){super(r,t.address),this.wallet=t}async issue_domain_name(r,t){if(this.all_issued.some(s=>s.name===r))throw new Error("Cannot issue a domain name that is already issued");return await this.wallet.send(t,"0.00120703011",void 0,(0,ie.get_address_from_public_key)(ht(r)))}async freeze(){await this.wallet.change_representative(Ie)}async receive(){await this.wallet.receive_all()}},Zt=class extends Be{static{I(this,"DomainAccountManager")}constructor(r,t,n){super(r,t.address),this.wallet=t,this.domain=n}async receive_domain(r,t,n){let s=!1,{history:g}=await this.rpc.get_account_history(this.address,1);if(g.length>1&&!n)throw s=!0,new Error("`allow_burning` must be true in order to receive this domain");let l=await this.rpc.get_block_info(r),_=BigInt(l.amount);if(_ne)throw new Error("`receive_hash` is not a Domain Transfer block");await this.wallet.receive(r,void 0,t)}async transfer_domain(r,t){let n=(await this.wallet.get_account_info()).balance,s=(0,ie.raw_to_whole)(ne);return ne>BigInt(n)&&se<=BigInt(n)&&(s=(0,ie.raw_to_whole)(BigInt(n))),await this.wallet.send(t,s,void 0,(0,ie.get_address_from_public_key)(ht(r)))}async declare_domain_metadata(r){if(r===Xt)throw new Error("A metadata hash of all 1s freezes the domain");await this.wallet.change_representative((0,ie.get_address_from_public_key)(r))}async declare_domain_resolve_to(r){await this.wallet.send(r,(0,ie.raw_to_whole)(4224n))}async freeze(){await this.wallet.change_representative(Ie)}};var Kn={};var Bo=Ke(we());window.bns={...Jt,...zt,...$t,...Kn,banani:Bo};})(); +(()=>{var zn=Object.create;var Ze=Object.defineProperty;var Wn=Object.getOwnPropertyDescriptor;var Zn=Object.getOwnPropertyNames;var $n=Object.getPrototypeOf,ei=Object.prototype.hasOwnProperty;var I=(e,r)=>Ze(e,"name",{value:r,configurable:!0}),Br=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var S=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),vt=(e,r)=>{for(var t in r)Ze(e,t,{get:r[t],enumerable:!0})},ti=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of Zn(r))!ei.call(e,s)&&s!==t&&Ze(e,s,{get:()=>r[s],enumerable:!(n=Wn(r,s))||n.enumerable});return e};var Ke=(e,r,t)=>(t=e!=null?zn($n(e)):{},ti(r||!e||!e.__esModule?Ze(t,"default",{value:e,enumerable:!0}):t,e));var Ft=S((po,pr)=>{pr.exports=Qr;var $e=class extends Error{static{I(this,"AssertionError")}};$e.prototype.name="AssertionError";function Qr(e,r){if(!e){var t=new $e(r);throw Error.captureStackTrace&&Error.captureStackTrace(t,Qr),t}}I(Qr,"assert")});var mr=S((Do,Dr)=>{function br(e){return e.length}I(br,"byteLength");function ri(e){let r=e.byteLength,t="";for(let n=0;n{var ye="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ae=new Uint8Array(256);for(let e=0;e1&&e.charCodeAt(r-1)===61&&r--,r*3>>>2}I(Sr,"byteLength");function ii(e){let r=e.byteLength,t="";for(let n=0;n>2]+ye[(e[n]&3)<<4|e[n+1]>>4]+ye[(e[n+1]&15)<<2|e[n+2]>>6]+ye[e[n+2]&63];return r%3===2?t=t.substring(0,t.length-1)+"=":r%3===1&&(t=t.substring(0,t.length-2)+"=="),t}I(ii,"toString");function oi(e,r,t=0,n=Sr(r)){let s=Math.min(n,e.byteLength-t);for(let g=0,l=0;l>4,e[l++]=(w&15)<<4|B>>2,e[l++]=(B&3)<<6|b&63}return s}I(oi,"write");Ur.exports={byteLength:Sr,toString:ii,write:oi}});var kr=S((vo,Yr)=>{function Kr(e){return e.length>>>1}I(Kr,"byteLength");function Ai(e){let r=e.byteLength;e=new DataView(e.buffer,e.byteOffset,r);let t="",n=0;for(let s=r-r%4;n=48&&e<=57)return e-48;if(e>=65&&e<=70)return e-65+10;if(e>=97&&e<=102)return e-97+10}I(Fr,"hexValue")});var Mr=S((Ko,Lr)=>{function Kt(e){let r=0;for(let t=0,n=e.length;t=55296&&s<=56319&&t+1=56320&&g<=57343){r+=4,t++;continue}}s<=127?r+=1:s<=2047?r+=2:r+=3}return r}I(Kt,"byteLength");var Yt;if(typeof TextDecoder<"u"){let e=new TextDecoder;Yt=I(function(t){return e.decode(t)},"toString")}else Yt=I(function(r){let t=r.byteLength,n="",s=0;for(;s0){let w=0;for(;w>B,B-=6;B>=0;)r[_++]=128|w>>B&63,B-=6;l+=w>=65536?2:1}return g},"write");Lr.exports={byteLength:Kt,toString:Yt,write:kt}});var Vr=S((ko,Pr)=>{function Hr(e){return e.length*2}I(Hr,"byteLength");function si(e){let r=e.byteLength,t="";for(let n=0;n>8,B=_%256;e[t+l*2]=B,e[t+l*2+1]=w}return s}I(Ii,"write");Pr.exports={byteLength:Hr,toString:si,write:Ii}});var Tr=S((Mt,Rr)=>{var hi=mr(),ci=vr(),gi=kr(),fi=Mr(),ui=Vr(),et=new Uint8Array(Uint16Array.of(255).buffer)[0]===255;function Ye(e){switch(e){case"ascii":return hi;case"base64":return ci;case"hex":return gi;case"utf8":case"utf-8":case void 0:return fi;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ui;default:throw new Error(`Unknown encoding: ${e}`)}}I(Ye,"codecFor");function Or(e){return e instanceof Uint8Array}I(Or,"isBuffer");function Ci(e){try{return Ye(e),!0}catch{return!1}}I(Ci,"isEncoding");function li(e,r,t){let n=new Uint8Array(e);return r!==void 0&&Mt.fill(n,r,0,n.byteLength,t),n}I(li,"alloc");function yi(e){return new Uint8Array(e)}I(yi,"allocUnsafe");function _i(e){return new Uint8Array(e)}I(_i,"allocUnsafeSlow");function di(e,r){return Ye(r).byteLength(e)}I(di,"byteLength");function wi(e,r){if(e===r)return 0;let t=Math.min(e.byteLength,r.byteLength);e=new DataView(e.buffer,e.byteOffset,e.byteLength),r=new DataView(r.buffer,r.byteOffset,r.byteLength);let n=0;for(let s=t-t%4;ng)return 1}return e.byteLength>r.byteLength?1:e.byteLengths+g.byteLength,0));let t=new Uint8Array(r),n=0;for(let s of e){if(n+s.byteLength>t.byteLength){let g=s.subarray(0,t.byteLength-n);return t.set(g,n),t}t.set(s,n),n+=s.byteLength}return t}I(Ei,"concat");function xi(e,r,t=0,n=0,s=e.byteLength){if(s>0&&s=e.byteLength)throw new RangeError("sourceStart is out of range");if(s<0)throw new RangeError("sourceEnd is out of range");t>=r.byteLength&&(t=r.byteLength),s>e.byteLength&&(s=e.byteLength),r.byteLength-t=e.byteLength){if(s)return-1;t=e.byteLength-1}else if(t<0)if(s)t=0;else return-1;if(typeof r=="string")r=Lt(r,n);else if(typeof r=="number")return r=r&255,s?e.indexOf(r,t):e.lastIndexOf(r,t);if(r.byteLength===0)return-1;if(s){let g=-1;for(let l=t;le.byteLength&&(t=e.byteLength-r.byteLength);for(let g=t;g>=0;g--){let l=!0;for(let _=0;_=s||n<=t?"":(t<0&&(t=0),n>s&&(n=s),(t!==0||n{var Ti=I((e,r)=>I(function(){return r||(0,e[Object.keys(e)[0]])((r={exports:{}}).exports,r),r.exports},"__require"),"__commonJS"),ji=(()=>{for(var e=new Uint8Array(128),r=0;r<64;r++)e[r<26?r+65:r<52?r+71:r<62?r-4:r*4-205]=r;return t=>{for(var n=t.length,s=new Uint8Array((n-(t[n-1]=="=")-(t[n-2]=="="))*3/4|0),g=0,l=0;g>4,s[l++]=w<<4|B>>2,s[l++]=B<<6|b}return s}})(),Ji=Ti({"wasm-binary:./blake2b.wat"(e,r){r.exports=ji("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")}}),Xi=Ji(),qi=WebAssembly.compile(Xi);jr.exports=async e=>(await WebAssembly.instantiate(await qi,e)).exports});var tn=S((Go,J)=>{var M=Ft(),zi=Tr(),W=null,Xr=typeof WebAssembly<"u"&&Jr()().then(e=>{W=e}),z=64,tt=[];J.exports=Y;var qr=J.exports.BYTES_MIN=16,zr=J.exports.BYTES_MAX=64,Vo=J.exports.BYTES=32,Wr=J.exports.KEYBYTES_MIN=16,Zr=J.exports.KEYBYTES_MAX=64,Oo=J.exports.KEYBYTES=32,$r=J.exports.SALTBYTES=16,en=J.exports.PERSONALBYTES=16;function Y(e,r,t,n,s){if(!(this instanceof Y))return new Y(e,r,t,n,s);if(!W)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");e||(e=32),s!==!0&&(M(e>=qr,"digestLength must be at least "+qr+", was given "+e),M(e<=zr,"digestLength must be at most "+zr+", was given "+e),r!=null&&(M(r instanceof Uint8Array,"key must be Uint8Array or Buffer"),M(r.length>=Wr,"key must be at least "+Wr+", was given "+r.length),M(r.length<=Zr,"key must be at least "+Zr+", was given "+r.length)),t!=null&&(M(t instanceof Uint8Array,"salt must be Uint8Array or Buffer"),M(t.length===$r,"salt must be exactly "+$r+", was given "+t.length)),n!=null&&(M(n instanceof Uint8Array,"personal must be Uint8Array or Buffer"),M(n.length===en,"personal must be exactly "+en+", was given "+n.length))),tt.length||(tt.push(z),z+=216),this.digestLength=e,this.finalized=!1,this.pointer=tt.pop(),this._memory=new Uint8Array(W.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=r?r.length:0,this._memory[2]=1,this._memory[3]=1,t&&this._memory.set(t,32),n&&this._memory.set(n,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),W.blake2b_init(this.pointer,this.digestLength),r&&(this.update(r),this._memory.fill(0,z,z+r.length),this._memory[this.pointer+200]=128)}I(Y,"Blake2b");Y.prototype._realloc=function(e){W.memory.grow(Math.max(0,Math.ceil(Math.abs(e-this._memory.length)/65536))),this._memory=new Uint8Array(W.memory.buffer)};Y.prototype.update=function(e){return M(this.finalized===!1,"Hash instance finalized"),M(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),z+e.length>this._memory.length&&this._realloc(z+e.length),this._memory.set(e,z),W.blake2b_update(this.pointer,z,z+e.length),this};Y.prototype.digest=function(e){if(M(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,tt.push(this.pointer),W.blake2b_final(this.pointer),!e||e==="binary")return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(typeof e=="string")return zi.toString(this._memory,e,this.pointer+128,this.pointer+128+this.digestLength);M(e instanceof Uint8Array&&e.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var r=0;re(),e):e(new Error("WebAssembly not supported"))};Y.prototype.ready=Y.ready;Y.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)};Y.prototype.setPartialHash=function(e){this._memory.set(e,this.pointer)};function Wi(){}I(Wi,"noop")});var Ht=S((jo,k)=>{var P=Ft(),Le=tn();function rt(e,r,t){var n=e[r]+e[t],s=e[r+1]+e[t+1];n>=4294967296&&s++,e[r]=n,e[r+1]=s}I(rt,"ADD64AA");function rn(e,r,t,n){var s=e[r]+t;t<0&&(s+=4294967296);var g=e[r+1]+n;s>=4294967296&&g++,e[r]=s,e[r+1]=g}I(rn,"ADD64AC");function hn(e,r){return e[r]^e[r+1]<<8^e[r+2]<<16^e[r+3]<<24}I(hn,"B2B_GET32");function te(e,r,t,n,s,g){var l=ke[s],_=ke[s+1],w=ke[g],B=ke[g+1];rt(x,e,r),rn(x,e,l,_);var b=x[n]^x[e],m=x[n+1]^x[e+1];x[n]=m,x[n+1]=b,rt(x,t,n),b=x[r]^x[t],m=x[r+1]^x[t+1],x[r]=b>>>24^m<<8,x[r+1]=m>>>24^b<<8,rt(x,e,r),rn(x,e,w,B),b=x[n]^x[e],m=x[n+1]^x[e+1],x[n]=b>>>16^m<<16,x[n+1]=m>>>16^b<<16,rt(x,t,n),b=x[r]^x[t],m=x[r+1]^x[t+1],x[r]=m>>>31^b<<1,x[r+1]=b>>>31^m<<1}I(te,"B2B_G");var cn=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),Zi=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],v=new Uint8Array(Zi.map(function(e){return e*2})),x=new Uint32Array(32),ke=new Uint32Array(32);function gn(e,r){var t=0;for(t=0;t<16;t++)x[t]=e.h[t],x[t+16]=cn[t];for(x[24]=x[24]^e.t,x[25]=x[25]^e.t/4294967296,r&&(x[28]=~x[28],x[29]=~x[29]),t=0;t<32;t++)ke[t]=hn(e.b,4*t);for(t=0;t<12;t++)te(0,8,16,24,v[t*16+0],v[t*16+1]),te(2,10,18,26,v[t*16+2],v[t*16+3]),te(4,12,20,28,v[t*16+4],v[t*16+5]),te(6,14,22,30,v[t*16+6],v[t*16+7]),te(0,10,20,30,v[t*16+8],v[t*16+9]),te(2,12,22,24,v[t*16+10],v[t*16+11]),te(4,14,16,26,v[t*16+12],v[t*16+13]),te(6,8,18,28,v[t*16+14],v[t*16+15]);for(t=0;t<16;t++)e.h[t]=e.h[t]^x[t]^x[t+16]}I(gn,"blake2bCompress");var re=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function _e(e,r,t,n){re.fill(0),this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.outlen=e,re[0]=e,r&&(re[1]=r.length),re[2]=1,re[3]=1,t&&re.set(t,32),n&&re.set(n,48);for(var s=0;s<16;s++)this.h[s]=cn[s]^hn(re,s*4);r&&(fn(this,r),this.c=128)}I(_e,"Blake2b");_e.prototype.update=function(e){return P(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),fn(this,e),this};_e.prototype.digest=function(e){var r=!e||e==="binary"||e==="hex"?new Uint8Array(this.outlen):e;return P(r instanceof Uint8Array,'out must be "binary", "hex", Uint8Array, or Buffer'),P(r.length>=this.outlen,"out must have at least outlen bytes of space"),$i(this,r),e==="hex"?eo(r):r};_e.prototype.final=_e.prototype.digest;_e.ready=function(e){Le.ready(function(){e()})};function fn(e,r){for(var t=0;t>2]>>8*(t&3);return r}I($i,"blake2bFinal");function eo(e){for(var r="",t=0;t=nn,"outlen must be at least "+nn+", was given "+r),P(r<=on,"outlen must be at most "+on+", was given "+r),t!=null&&(P(t instanceof Uint8Array,"key must be Uint8Array or Buffer"),P(t.length>=An,"key must be at least "+An+", was given "+t.length),P(t.length<=an,"key must be at most "+an+", was given "+t.length)),n!=null&&(P(n instanceof Uint8Array,"salt must be Uint8Array or Buffer"),P(n.length===sn,"salt must be exactly "+sn+", was given "+n.length)),s!=null&&(P(s instanceof Uint8Array,"personal must be Uint8Array or Buffer"),P(s.length===In,"personal must be exactly "+In+", was given "+s.length))),new ro(r,t,n,s)},"createHash");k.exports.ready=function(e){Le.ready(function(){e()})};k.exports.WASM_SUPPORTED=Le.SUPPORTED;k.exports.WASM_LOADED=!1;var nn=k.exports.BYTES_MIN=16,on=k.exports.BYTES_MAX=64,Ro=k.exports.BYTES=32,An=k.exports.KEYBYTES_MIN=16,an=k.exports.KEYBYTES_MAX=64,To=k.exports.KEYBYTES=32,sn=k.exports.SALTBYTES=16,In=k.exports.PERSONALBYTES=16;Le.ready(function(e){e||(k.exports.WASM_LOADED=!0,k.exports=Le)})});var un=S((Xo,nt)=>{(function(e){"use strict";let r=Ht();var t=I(function(i,A){this.hi=i|0,this.lo=A|0},"u64"),n=I(function(i){var A,o=new Float64Array(16);if(i)for(A=0;A>>32-A}I(ee,"L32");function he(i,A){var o=i[A+3]&255;return o=o<<8|i[A+2]&255,o=o<<8|i[A+1]&255,o<<8|i[A+0]&255}I(he,"ld32");function er(i,A){var o=i[A]<<24|i[A+1]<<16|i[A+2]<<8|i[A+3],a=i[A+4]<<24|i[A+5]<<16|i[A+6]<<8|i[A+7];return new t(o,a)}I(er,"dl64");function gt(i,A,o){var a;for(a=0;a<4;a++)i[A+a]=o&255,o>>>=8}I(gt,"st32");function tr(i,A,o){i[A]=o.hi>>24&255,i[A+1]=o.hi>>16&255,i[A+2]=o.hi>>8&255,i[A+3]=o.hi&255,i[A+4]=o.lo>>24&255,i[A+5]=o.lo>>16&255,i[A+6]=o.lo>>8&255,i[A+7]=o.lo&255}I(tr,"ts64");function ft(i,A,o,a,h){var c,C=0;for(c=0;c>>8)-1}I(ft,"vn");function rr(i,A,o,a){return ft(i,A,o,a,16)}I(rr,"crypto_verify_16");function ut(i,A,o,a){return ft(i,A,o,a,32)}I(ut,"crypto_verify_32");function nr(i,A,o,a,h){var c=new Uint32Array(16),C=new Uint32Array(16),y=new Uint32Array(16),f=new Uint32Array(4),u,d,p;for(u=0;u<4;u++)C[5*u]=he(a,4*u),C[1+u]=he(o,4*u),C[6+u]=he(A,4*u),C[11+u]=he(o,16+4*u);for(u=0;u<16;u++)y[u]=C[u];for(u=0;u<20;u++){for(d=0;d<4;d++){for(p=0;p<4;p++)f[p]=C[(5*d+4*p)%16];for(f[1]^=ee(f[0]+f[3]|0,7),f[2]^=ee(f[1]+f[0]|0,9),f[3]^=ee(f[2]+f[1]|0,13),f[0]^=ee(f[3]+f[2]|0,18),p=0;p<4;p++)c[4*d+(d+p)%4]=f[p]}for(p=0;p<16;p++)C[p]=c[p]}if(h){for(u=0;u<16;u++)C[u]=C[u]+y[u]|0;for(u=0;u<4;u++)C[5*u]=C[5*u]-he(a,4*u)|0,C[6+u]=C[6+u]-he(A,4*u)|0;for(u=0;u<4;u++)gt(i,4*u,C[5*u]),gt(i,16+4*u,C[6+u])}else for(u=0;u<16;u++)gt(i,4*u,C[u]+y[u]|0)}I(nr,"core");function ir(i,A,o,a){return nr(i,A,o,a,!1),0}I(ir,"crypto_core_salsa20");function Ge(i,A,o,a){return nr(i,A,o,a,!0),0}I(Ge,"crypto_core_hsalsa20");var pe=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function Ct(i,A,o,a,h,c,C){var y=new Uint8Array(16),f=new Uint8Array(64),u,d;if(!h)return 0;for(d=0;d<16;d++)y[d]=0;for(d=0;d<8;d++)y[d]=c[d];for(;h>=64;){for(ir(f,y,C,pe),d=0;d<64;d++)i[A+d]=(o?o[a+d]:0)^f[d];for(u=1,d=8;d<16;d++)u=u+(y[d]&255)|0,y[d]=u&255,u>>>=8;h-=64,A+=64,o&&(a+=64)}if(h>0)for(ir(f,y,C,pe),d=0;d>>=8}I(yt,"add1305");var Yn=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function _t(i,A,o,a,h,c){var C,y,f,u,d=new Uint32Array(17),p=new Uint32Array(17),D=new Uint32Array(17),N=new Uint32Array(17),le=new Uint32Array(17);for(f=0;f<17;f++)p[f]=D[f]=0;for(f=0;f<16;f++)p[f]=c[f];for(p[3]&=15,p[4]&=252,p[7]&=15,p[8]&=252,p[11]&=15,p[12]&=252,p[15]&=15;h>0;){for(f=0;f<17;f++)N[f]=0;for(f=0;f<16&&f>>=8;for(u=u+D[16]|0,D[16]=u&3,u=5*(u>>>2)|0,f=0;f<16;f++)u=u+D[f]|0,D[f]=u&255,u>>>=8;u=u+D[16]|0,D[16]=u}for(f=0;f<17;f++)le[f]=D[f];for(yt(D,Yn),C=-(D[16]>>>7)|0,f=0;f<17;f++)D[f]^=C&(le[f]^D[f]);for(f=0;f<16;f++)N[f]=c[f+16];for(N[16]=0,yt(D,N),f=0;f<16;f++)i[A+f]=D[f];return 0}I(_t,"crypto_onetimeauth");function ar(i,A,o,a,h,c){var C=new Uint8Array(16);return _t(C,0,o,a,h,c),rr(i,A,C,0)}I(ar,"crypto_onetimeauth_verify");function dt(i,A,o,a,h){var c;if(o<32)return-1;for(lt(i,0,A,0,o,a,h),_t(i,16,i,32,o-32,i),c=0;c<16;c++)i[c]=0;return 0}I(dt,"crypto_secretbox");function wt(i,A,o,a,h){var c,C=new Uint8Array(32);if(o<32||(Ar(C,0,32,a,h),ar(A,16,A,32,o-32,C)!==0))return-1;for(lt(i,0,A,0,o,a,h),c=0;c<32;c++)i[c]=0;return 0}I(wt,"crypto_secretbox_open");function X(i,A){var o;for(o=0;o<16;o++)i[o]=A[o]|0}I(X,"set25519");function be(i){var A,o;for(o=0;o<16;o++)i[o]+=65536,A=Math.floor(i[o]/65536),i[(o+1)*(o<15?1:0)]+=A-1+37*(A-1)*(o===15?1:0),i[o]-=A*65536}I(be,"car25519");function ce(i,A,o){for(var a,h=~(o-1),c=0;c<16;c++)a=h&(i[c]^A[c]),i[c]^=a,A[c]^=a}I(ce,"sel25519");function ge(i,A){var o,a,h,c=n(),C=n();for(o=0;o<16;o++)C[o]=A[o];for(be(C),be(C),be(C),a=0;a<2;a++){for(c[0]=C[0]-65517,o=1;o<15;o++)c[o]=C[o]-65535-(c[o-1]>>16&1),c[o-1]&=65535;c[15]=C[15]-32767-(c[14]>>16&1),h=c[15]>>16&1,c[14]&=65535,ce(C,c,1-h)}for(o=0;o<16;o++)i[2*o]=C[o]&255,i[2*o+1]=C[o]>>8}I(ge,"pack25519");function sr(i,A){var o=new Uint8Array(32),a=new Uint8Array(32);return ge(o,i),ge(a,A),ut(o,0,a,0)}I(sr,"neq25519");function Ir(i){var A=new Uint8Array(32);return ge(A,i),A[0]&1}I(Ir,"par25519");function Et(i,A){var o;for(o=0;o<16;o++)i[o]=A[2*o]+(A[2*o+1]<<8);i[15]&=32767}I(Et,"unpack25519");function O(i,A,o){var a;for(a=0;a<16;a++)i[a]=A[a]+o[a]|0}I(O,"A");function G(i,A,o){var a;for(a=0;a<16;a++)i[a]=A[a]-o[a]|0}I(G,"Z");function Q(i,A,o){var a,h,c=new Float64Array(31);for(a=0;a<31;a++)c[a]=0;for(a=0;a<16;a++)for(h=0;h<16;h++)c[a+h]+=A[a]*o[h];for(a=0;a<15;a++)c[a]+=38*c[a+16];for(a=0;a<16;a++)i[a]=c[a];be(i),be(i)}I(Q,"M");function H(i,A){Q(i,A,A)}I(H,"S");function hr(i,A){var o=n(),a;for(a=0;a<16;a++)o[a]=A[a];for(a=253;a>=0;a--)H(o,o),a!==2&&a!==4&&Q(o,o,A);for(a=0;a<16;a++)i[a]=o[a]}I(hr,"inv25519");function cr(i,A){var o=n(),a;for(a=0;a<16;a++)o[a]=A[a];for(a=250;a>=0;a--)H(o,o),a!==1&&Q(o,o,A);for(a=0;a<16;a++)i[a]=o[a]}I(cr,"pow2523");function Ne(i,A,o){var a=new Uint8Array(32),h=new Float64Array(80),c,C,y=n(),f=n(),u=n(),d=n(),p=n(),D=n();for(C=0;C<31;C++)a[C]=A[C];for(a[31]=A[31]&127|64,a[0]&=248,Et(h,o),C=0;C<16;C++)f[C]=h[C],d[C]=y[C]=u[C]=0;for(y[0]=d[0]=1,C=254;C>=0;--C)c=a[C>>>3]>>>(C&7)&1,ce(y,f,c),ce(u,d,c),O(p,y,u),G(y,y,u),O(u,f,d),G(f,f,d),H(d,p),H(D,y),Q(y,u,y),Q(u,f,p),O(p,y,u),G(y,y,u),H(f,y),G(u,d,D),Q(y,u,B),O(y,y,d),Q(u,u,y),Q(y,d,D),Q(d,f,h),H(f,p),ce(y,f,c),ce(u,d,c);for(C=0;C<16;C++)h[C+16]=y[C],h[C+32]=u[C],h[C+48]=f[C],h[C+64]=d[C];var N=h.subarray(32),le=h.subarray(16);return hr(N,N),Q(le,le,N),ge(i,le),0}I(Ne,"crypto_scalarmult");function Re(i,A){return Ne(i,A,l)}I(Re,"crypto_scalarmult_base");function gr(i,A){return s(A,32),Re(i,A)}I(gr,"crypto_box_keypair");function Te(i,A,o){var a=new Uint8Array(32);return Ne(a,o,A),Ge(i,g,a,pe)}I(Te,"crypto_box_beforenm");var fr=dt,kn=wt;function Ln(i,A,o,a,h,c){var C=new Uint8Array(32);return Te(C,h,c),fr(i,A,o,a,C)}I(Ln,"crypto_box");function Mn(i,A,o,a,h,c){var C=new Uint8Array(32);return Te(C,h,c),kn(i,A,o,a,C)}I(Mn,"crypto_box_open");function De(){var i=0,A=0,o=0,a=0,h=65535,c,C,y;for(y=0;y>>16,o+=C&h,a+=C>>>16;return A+=i>>>16,o+=A>>>16,a+=o>>>16,new t(o&h|a<<16,i&h|A<<16)}I(De,"add64");function ur(i,A){return new t(i.hi>>>A,i.lo>>>A|i.hi<<32-A)}I(ur,"shr64");function je(){var i=0,A=0,o;for(o=0;o>>A|i.lo<>>A|i.hi<>>A|i.hi<>>A|i.lo<=128;){for(f=0;f<16;f++)C[f]=er(A,8*f+d);for(f=0;f<80;f++){for(u=0;u<8;u++)h[u]=c[u];for(y=De(c[7],On(c[4]),Hn(c[4],c[5],c[6]),Rn[f],C[f%16]),h[7]=De(y,Vn(c[0]),Pn(c[0],c[1],c[2])),h[3]=De(h[3],y),u=0;u<8;u++)c[(u+1)%8]=h[u];if(f%16===15)for(u=0;u<16;u++)C[u]=De(C[u],C[(u+9)%16],Gn(C[(u+1)%16]),Nn(C[(u+14)%16]))}for(f=0;f<8;f++)c[f]=De(c[f],a[f]),a[f]=c[f];d+=128,o-=128}for(f=0;f<8;f++)tr(i,8*f,a[f]);return o}I(Cr,"crypto_hashblocks");let fe=I((i,A)=>r(A).update(i).digest(),"crypto_hash_blake2b");var Tn=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function lr(i,A,o){var a=new Uint8Array(64),h=new Uint8Array(256),c,C=o;for(c=0;c<64;c++)a[c]=Tn[c];for(Cr(a,A,o),o%=128,c=0;c<256;c++)h[c]=0;for(c=0;c=0;--h)a=o[h/8|0]>>(h&7)&1,yr(i,A,a),Je(A,i),Je(i,i),yr(i,A,a)}I(xt,"scalarmult");function me(i,A){var o=[n(),n(),n(),n()];X(o[0],K),X(o[1],$),X(o[2],w),Q(o[3],K,$),xt(i,o,A)}I(me,"scalarbase");function Bt(i,A,o){var a=new Uint8Array(64),h=[n(),n(),n(),n()],c;o||s(A,32);a=fe(A,64),a[0]&=248,a[31]&=127,a[31]|=64,me(h,a),Xe(i,h);return 0}I(Bt,"crypto_sign_keypair");var qe=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Qt(i,A){var o,a,h,c;for(a=63;a>=32;--a){for(o=0,h=a-32,c=a-12;h>4)*qe[h],o=A[h]>>8,A[h]&=255;for(h=0;h<32;h++)A[h]-=o*qe[h];for(a=0;a<32;a++)A[a+1]+=A[a]>>8,i[a]=A[a]&255}I(Qt,"modL");function pt(i){var A=new Float64Array(64),o;for(o=0;o<64;o++)A[o]=i[o];for(o=0;o<64;o++)i[o]=0;Qt(i,A)}I(pt,"reduce");function _r(i,A,o,a){var h=new Uint8Array(64),c=new Uint8Array(64),C=new Uint8Array(64),y,f,u=new Float64Array(64),d=[n(),n(),n(),n()];let p=xr(a);h=fe(a,64),h[0]&=248,h[31]&=127,h[31]|=64;var D=o+64;for(y=0;y>7&&G(i[0],_,i[0]),Q(i[3],i[0],i[1]),0)}I(jn,"unpackneg");function bt(i,A,o,a){var h,c=new Uint8Array(32),C=new Uint8Array(64),y=[n(),n(),n(),n()],f=[n(),n(),n(),n()];if(o<64||jn(f,a))return-1;for(h=0;h=0};function xr(i){let A=new Uint8Array(64),o=[n(),n(),n(),n()],a,h=new Uint8Array(32);return A=fe(i,64),A[0]&=248,A[31]&=127,A[31]|=64,me(o,A),Xe(h,o),h}I(xr,"derivePublicFromSecret"),e.sign.keyPair=function(){var i=new Uint8Array(oe),A=new Uint8Array(Ce);return Bt(i,A),{publicKey:i,secretKey:A}},e.sign.keyPair.fromSecretKey=function(i){if(L(i),i.length!==Ce)throw new Error("bad secret key size");var A=new Uint8Array(oe);return A=xr(i),{publicKey:A,secretKey:new Uint8Array(i)}},e.sign.keyPair.fromSeed=function(i){if(L(i),i.length!==St)throw new Error("bad seed size");for(var A=new Uint8Array(oe),o=new Uint8Array(Ce),a=0;a<32;a++)o[a]=i[a];return Bt(A,o,!0),{publicKey:A,secretKey:o}},e.sign.publicKeyLength=oe,e.sign.secretKeyLength=Ce,e.sign.seedLength=St,e.sign.signatureLength=q,e.hash=function(i){L(i);var A=new Uint8Array(Ut);return lr(A,i,i.length),A},e.hash.hashLength=Ut,e.verify=function(i,A){return L(i,A),i.length===0||A.length===0||i.length!==A.length?!1:ft(i,0,A,0,i.length)===0},e.setPRNG=function(i){s=i},function(){var i=typeof self<"u"?self.crypto||self.msCrypto:null;if(i&&i.getRandomValues){var A=65536;e.setPRNG(function(o,a){var h,c=new Uint8Array(a);for(h=0;h{"use strict";var no=E&&E.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),io=E&&E.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),oo=E&&E.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&no(r,e,t);return io(r,e),r},Ao=E&&E.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(E,"__esModule",{value:!0});E.verify_signed_message=E.sign_message=E.construct_message_block_and_hash=E.verify_block_hash=E.sign_block_hash=E.hash_block=E.get_public_key_from_address=E.get_address_from_public_key=E.get_public_key_from_private_key=E.get_private_key_from_seed=E.raw_to_whole=E.whole_to_raw=E.utf8_to_uint8array=E.base32_to_uint8array=E.uint8array_to_base32=E.int_to_uint8array=E.hex_to_uint8array=E.uint8array_to_hex=void 0;var Vt=oo(un()),ot=Ao(Ht()),ao="0000000000000000000000000000000000000000000000000000000000000006",Ot="62616E616E6F6D73672D",Me=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];function He(e){let r="";for(let t=0;t0;g--)s-=t[r-g]*16**(2*(g-1));t[r-n]=Math.floor(s/16**(2*(n-1)))}return t}I(Cn,"int_to_uint8array");E.int_to_uint8array=Cn;var ln=["1","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","m","n","o","p","q","r","s","t","u","w","x","y","z"];function Pt(e){let r="";for(let t=0;t=5)l=e[s]>>_-5&31;else{let w=5-_;l=(e[s]<>8-w&2**(8-w)-1)}r+=ln[l]}return r}I(Pt,"uint8array_to_base32");E.uint8array_to_base32=Pt;function so(e,r){let t="",n=e;for(let s=0;s=2**(r-1-s)?(t+="1",n-=2**(r-1-s)):t+="0";return t}I(so,"int_to_binary");function Io(e){let r=0;for(let t=0;tso(ln.indexOf(n),5)).join(""),t=new Uint8Array(Math.ceil(e.length*5/8));for(let n=0;nr-n[1].length)throw Error(`Too many decimals, cannot exceed ${r}`);t=BigInt(n[0])*BigInt(10)**BigInt(r)+BigInt(n[1])*BigInt(10)**BigInt(r-n[1].length)}else t=BigInt(e)*BigInt(10)**BigInt(r);return t}I(ho,"whole_to_raw");E.whole_to_raw=ho;function co(e,r=dn){let t=e.toString(),n;if(t.length>r)n=t.slice(0,-r)+"."+t.slice(-r);else{let g=r-t.length;n="0."+"0".repeat(g>0?g:0)+t}let s=n.length;for(let g=0;g{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.RPCWithBackup=de.RPC=void 0;var Co=At(),at=class{static{I(this,"RPC")}constructor(r,t=!1){this.DECIMALS=void 0,this.debug=!1,this.rpc_url=r,this.use_pending=t}async call(r){this.debug&&console.log(JSON.stringify(r));let t=await fetch(this.rpc_url,{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!t.ok&&this.debug&&console.log(await t.text()),!t.ok)throw Error(`Request to RPC node failed with status code ${t.status}`);let n=await t.json();if(n.error)throw Error(`RPC node response: ${n.error}`);return n}async get_block_count(){return await this.call({action:"block_count"})}async get_block_info(r){return await this.call({action:"block_info",hash:r,json_block:!0})}async get_blocks(r){return await this.call({action:"blocks",hashes:r,json_block:!0})}async get_blocks_info(r){return await this.call({action:"blocks_info",hashes:r,json_block:!0})}async get_representatives(){return await this.call({action:"representatives"})}async get_representatives_online(r){return await this.call({action:"representatives_online",weight:r?!0:void 0})}async get_account_history(r,t,n,s,g,l,_){return await this.call({action:"account_history",account:r,count:`${t}`,raw:n?!0:void 0,head:s,offset:g?`${g}`:void 0,reverse:l?!0:void 0,account_filter:_})}async get_account_info(r,t,n,s,g){return await this.call({action:"account_info",account:r,representative:n?!0:void 0,weight:s?!0:void 0,pending:g?!0:void 0})}async get_account_balance(r){return await this.call({action:"account_balance",account:r})}async get_accounts_balances(r){return await this.call({action:"accounts_balances",accounts:r})}async get_account_representative(r){return await this.call({action:"account_representative",account:r})}async get_accounts_representatives(r){return await this.call({action:"accounts_representatives",account:r})}async get_account_weight(r){return await this.call({action:"account_weight",account:r})}async get_account_receivable(r,t,n,s){return await this.call({action:this.use_pending?"pending":"receivable",account:r,count:t?`${t}`:void 0,threshold:n?(0,Co.whole_to_raw)(n,this.DECIMALS).toString():void 0,source:s?!0:void 0})}async get_delegators(r,t,n,s){return await this.call({action:"delegators",account:r,threshold:t?`${t}`:void 0,count:n?`${n}`:void 0,start:s})}async get_delegators_count(r){return await this.call({action:"account_weight",account:r})}};de.RPC=at;var Rt=class extends at{static{I(this,"RPCWithBackup")}constructor(r,t,n=!1){if(r.length<2)throw Error("Must provide at least two RPC URLs");super(r[0],n),this.rpc_urls=r,this.timeout=t}async call(r){let t=0;for(;;)try{let n=await fetch(this.rpc_urls[t],{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(r),signal:AbortSignal.timeout(this.timeout)});if(!n.ok)throw Error(`Request to RPC node failed with status code ${n.status}`);let s=await n.json();if(s.error)throw Error(`RPC node response: ${s.error}`);return s}catch(n){if(!this.rpc_urls[++t])throw Error(n)}}};de.RPCWithBackup=Rt});var bn=S(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0})});var Dn=S(V=>{"use strict";var lo=V&&V.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),yo=V&&V.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),_o=V&&V.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&lo(r,e,t);return yo(r,e),r};Object.defineProperty(V,"__esModule",{value:!0});V.PrivateKeyAccount=V.Wallet=void 0;var F=_o(At()),st=class e{static{I(this,"Wallet")}constructor(r,t,n=0,s){if(this.add_do_work=!0,this.rpc=r,typeof t!="string"||t?.length!==64)throw Error("Seed needs to be 64 character (hex) string");this.seed=t,this.index=n,this.work_function=s}static gen_random_wallet(r){let t=new Uint8Array(32);crypto.getRandomValues(t);let n=F.uint8array_to_hex(t);return new e(r,n)}get private_key(){return F.get_private_key_from_seed(this.seed,this.index)}get public_key(){return F.get_public_key_from_private_key(this.private_key)}get address(){return F.get_address_from_public_key(this.public_key)}async send_process(r,t){return(await this.rpc.call({action:"process",json_block:"true",subtype:t,block:r,do_work:!r.work&&this.add_do_work?!0:void 0})).hash}async send(r,t,n,s,g){let l=F.whole_to_raw(t,this.rpc.DECIMALS),_=g??await this.get_account_info(void 0,!0),w=F.get_public_key_from_address(r);s||(s=_.representative);let B=BigInt(_.balance),b=B-l;if(b<0n)throw Error(`Insufficient funds to send. Cannot send more than balance; ie, Before balance (raw: ${B}) less than send amount (raw: ${l})`);let m={type:"state",account:this.address,previous:_.frontier,representative:s,balance:b.toString(),link:w,link_as_account:r},K=F.hash_block(m),$;n&&($=await this.work_function(K));let Qe=F.sign_block_hash(this.private_key,K),ee={...m,signature:Qe,work:$};return await this.send_process(ee,"send")}async send_all(r,t,n){let s=await this.get_account_info(void 0,!0);return await this.send(r,F.raw_to_whole(BigInt(s.balance),this.rpc.DECIMALS),t,n,s)}async receive(r,t,n){let s=await this.rpc.get_block_info(r),g=0n;n||(n=this.address);let l;try{let K=await this.get_account_info(void 0,!0);l=K.frontier,n=K.representative,g=BigInt(K.balance)}catch{l="0".repeat(64)}let _={type:"state",account:this.address,previous:l,representative:n,balance:(g+BigInt(s.amount)).toString(),link:r},w=F.hash_block(_),B;t&&(B=await this.work_function(w));let b=F.sign_block_hash(this.private_key,w),m={..._,signature:b,work:B};return await this.send_process(m,"receive")}async receive_all(r=20,t,n){let s=(await this.get_account_receivable(r,t,!0)).blocks,g,l,_;try{let B=await this.get_account_info(void 0,!0);g=B.frontier,l=B.representative,_=BigInt(B.balance)}catch{g="0".repeat(64),l=this.address,_=BigInt(0)}let w=[];for(let B of Object.keys(s)){let b=(_+BigInt(s[B].amount)).toString(),m={type:"state",account:this.address,previous:g,representative:l,balance:b,link:B},K=F.hash_block(m),$;n&&($=await this.work_function(K));let Qe=F.sign_block_hash(this.private_key,K),ee={...m,signature:Qe,work:$};await this.send_process(ee,"receive"),w.push(K),g=K,_=BigInt(b)}return w}async change_representative(r,t){let n=await this.get_account_info(),s={type:"state",account:this.address,previous:n.frontier,representative:r,balance:n.balance,link:"0".repeat(64)},g=F.hash_block(s),l;t&&(l=await this.work_function(g));let _=F.sign_block_hash(this.private_key,g),w={...s,signature:_,work:l};return await this.send_process(w,"change")}async change_rep(r,t){return await this.change_representative(r,t)}async get_account_info(r,t,n,s){return await this.rpc.get_account_info(this.address,r,t,n,s)}async get_account_receivable(r,t,n){return await this.rpc.get_account_receivable(this.address,r,t,n)}sign_message(r){return F.sign_message(this.private_key,r)}};V.Wallet=st;var Tt=class extends st{static{I(this,"PrivateKeyAccount")}constructor(r,t,n){if(typeof t!="string"||t?.length!==64)throw Error("Priv key needs to be 64 character (hex) string");super(r,t,0,n),this._private_key=t}get private_key(){return this._private_key}};V.PrivateKeyAccount=Tt});var mn=S(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.RPCWorkProvider=void 0;var jt=class{static{I(this,"RPCWorkProvider")}constructor(r){this.extra_payload={},this.rpc=r}async request_work(r){return(await this.rpc.call({action:"work_generate",hash:r,...this.extra_payload})).work}};It.RPCWorkProvider=jt});var we=S(R=>{"use strict";var wo=R&&R.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),Pe=R&&R.__exportStar||function(e,r){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(r,t)&&wo(r,e,t)};Object.defineProperty(R,"__esModule",{value:!0});Pe(At(),R);Pe(Qn(),R);Pe(bn(),R);Pe(Dn(),R);Pe(mn(),R)});var Jt={};vt(Jt,{LOG:()=>Ve,address_to_cid_v0:()=>xo,base58_to_hex:()=>Fn,bigint_to_uint8array:()=>vn,cid_v0_to_address:()=>Eo,decode_domain_name:()=>Ee,encode_domain_name:()=>ht,hex_to_base58:()=>Un});var Z=Ke(we());var Ve=!0;function ht(e){if(e.includes(".")||e.includes("\0")||e.includes('"'))throw new Error(`Domain name cannot include '.' or '"' or '\\u0000'`);let r=(0,Z.uint8array_to_hex)(new TextEncoder().encode(e));if(r.length>64)throw new Error("Cannot be more than 32 bytes");return r.length<64&&(r="0".repeat(64-r.length)+r),r}I(ht,"encode_domain_name");function Ee(e){return new TextDecoder().decode((0,Z.hex_to_uint8array)(e)).replaceAll("\0","")}I(Ee,"decode_domain_name");var Sn="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";function Un(e){let r=BigInt(`0x${e}`),t="";for(;t+=Sn[Number(r%BigInt(58))],r=r/BigInt(58),r!==0n;);return t.split("").reverse().join("")}I(Un,"hex_to_base58");function vn(e,r){let t=new Uint8Array(r),n=e;for(let s=1;s<=r;s++)t[r-s]=Number(n%256n),n/=256n;return t}I(vn,"bigint_to_uint8array");function Fn(e){let r=0n;for(let t=0;tBe,Resolver:()=>qt,TLDAccount:()=>xe});var T=Ke(we());var ct=class{static{I(this,"Account")}constructor(r,t){this.rpc=r,this.address=t}async get_open_and_frontier(){let r=await this.rpc.get_account_info(this.address,!0);return[r.open_block,r.confirmation_height_frontier??r.frontier]}async get_history_from_open(r,t){return await this.rpc.get_account_history(this.address,t,!0,r,void 0,!0)}},xe=class extends ct{static{I(this,"TLDAccount")}constructor(r,t){super(r,t),this.all_issued=[]}async get_specific(r){let[t,n]=await this.get_open_and_frontier(),s=t;for(;;){let{history:g}=await this.get_history_from_open(s,100);for(let l of g){let _=BigInt(l.amount??0);if(l.subtype==="send"&&_>=se&&_<=ne){let w=Ee((0,T.get_public_key_from_address)(l.representative));if(r===w)return{tld:this.address,name:r,history:[{type:"transfer",block:l,to:(0,T.get_address_from_public_key)(l.link)}]}}if(l.representative===Ie&&l.subtype==="change"||l.hash===n)return}s=g[g.length-1].hash}}async get_all_issued(){let[r,t]=await this.get_open_and_frontier(),n=r,s={};for(;;){let{history:g}=await this.get_history_from_open(n,100);for(let l of g){let _=BigInt(l.amount??0);if(l.subtype==="send"&&_>=se&&_<=ne){let w=Ee((0,T.get_public_key_from_address)(l.representative));s[w]?Ve&&console.log(`"${w}" already issued but TLD tried to issue again. Invalid.`):s[w]={tld:this.address,name:w,history:[{type:"transfer",block:l,to:(0,T.get_address_from_public_key)(l.link)}]}}if(l.representative===Ie&&l.subtype==="change"||l.hash===t)return this.all_issued=Object.values(s),this.all_issued}n=g[g.length-1].hash}}},Be=class extends ct{static{I(this,"DomainAccount")}constructor(r,t,n){super(r,t),this.domain=n}async crawl(){let r,t;try{[r,t]=await this.get_open_and_frontier()}catch{return Ve&&console.log("Not yet received"),this.domain}let n=r;for(;;){let{history:s}=await this.get_history_from_open(n,1e3);for(let g of s){let l=BigInt(g.amount??0);if(g.height==="1"){if(g.link!==this.domain.history[this.domain.history.length-1]?.block.hash)return Ve&&console.log("Domain burned"),this.domain.burned=!0,this.domain;this.domain.history.push({type:"receive",block:g})}else if(g.subtype==="send"&&l>=se&&l<=ne){let _=Ee((0,T.get_public_key_from_address)(g.representative));if(this.domain.name===_)return this.domain.resolved_address=void 0,this.domain.metadata_hash=void 0,this.domain.history.push({type:"transfer",block:g,to:(0,T.get_address_from_public_key)(g.link)}),this.domain}else{if(g.subtype==="change"&&g.representative===Ie)return this.domain.history.push({type:"freeze",block:g}),this.domain;g.subtype==="change"?(this.domain.metadata_hash=(0,T.get_public_key_from_address)(g.representative),this.domain.history.push({type:"metadata",block:g,metadata_hash:this.domain.metadata_hash})):g.subtype==="send"&&l===4224n&&(this.domain.resolved_address=(0,T.get_address_from_public_key)(g.link),this.domain.history.push({type:"resolver",block:g,resolved_address:this.domain.resolved_address}))}if(g.hash===t)return this.domain}n=s[s.length-1].hash}}},qt=class{static{I(this,"Resolver")}constructor(r,t){this.rpc=r,this.tld_mapping=t}async resolve(r,t){if(!this.tld_mapping[t])throw new Error("No TLD Account found for that TLD");let s=await new xe(this.rpc,this.tld_mapping[t]).get_specific(r);if(!s)return s;for(;;){let g=s.history[s.history.length-1].to,l=new Be(this.rpc,g,s),_=s.history.length;if(s=await l.crawl(),s.history[s.history.length-1].type!=="transfer"||s.burned||_===s.history.length)break}return s}async resolve_backwards_ish(r,t){let n=(await this.rpc.get_account_info(r,!0)).open_block,s=(await this.rpc.get_block_info(n)).contents.link,g=await this.rpc.get_block_info(s),l=Ee((0,T.get_public_key_from_address)(g.contents.representative)),_=await this.resolve(l,t);if((_?.history.slice().reverse().find(B=>B.type==="transfer")).to===r)return _}};var $t={};vt($t,{DomainAccountManager:()=>Zt,TLDAccountManager:()=>Wt});var ie=Ke(we());var Wt=class extends xe{static{I(this,"TLDAccountManager")}constructor(r,t){super(r,t.address),this.wallet=t}async issue_domain_name(r,t){if(this.all_issued.some(s=>s.name===r))throw new Error("Cannot issue a domain name that is already issued");return await this.wallet.send(t,"0.00120703011",void 0,(0,ie.get_address_from_public_key)(ht(r)))}async freeze(){await this.wallet.change_representative(Ie)}async receive(){await this.wallet.receive_all()}},Zt=class extends Be{static{I(this,"DomainAccountManager")}constructor(r,t,n){super(r,t.address),this.wallet=t,this.domain=n}async receive_domain(r,t,n){let s=!1,{history:g}=await this.rpc.get_account_history(this.address,1);if(g.length>1&&!n)throw s=!0,new Error("`allow_burning` must be true in order to receive this domain");let l=await this.rpc.get_block_info(r),_=BigInt(l.amount);if(_ne)throw new Error("`receive_hash` is not a Domain Transfer block");await this.wallet.receive(r,void 0,t)}async transfer_domain(r,t){let n=(await this.wallet.get_account_info()).balance,s=(0,ie.raw_to_whole)(ne);return ne>BigInt(n)&&se<=BigInt(n)&&(s=(0,ie.raw_to_whole)(BigInt(n))),await this.wallet.send(t,s,void 0,(0,ie.get_address_from_public_key)(ht(r)))}async declare_domain_metadata(r){if(r===Xt)throw new Error("A metadata hash of all 1s freezes the domain");await this.wallet.change_representative((0,ie.get_address_from_public_key)(r))}async declare_domain_resolve_to(r){await this.wallet.send(r,(0,ie.raw_to_whole)(4224n))}async freeze(){await this.wallet.change_representative(Ie)}};var Kn={};var Bo=Ke(we());window.bns={...Jt,...zt,...$t,...Kn,banani:Bo};})(); /*! Bundled license information: banani/tweetnacl_mod.js: diff --git a/docs/browser_test/index.html b/docs/browser_test/index.html index 1ad8869..047b750 100644 --- a/docs/browser_test/index.html +++ b/docs/browser_test/index.html @@ -171,7 +171,9 @@ const bns = window.bns; const rpc = new bns.banani.RPC("https://kaliumapi.appditto.com/api"); //for sending cause it does work - const rpc2 = new bns.banani.RPC("https://api.banano.trade/proxy", true); //for resolver cause it supports raw account history + //const rpc2 = new bns.banani.RPC("https://api.banano.trade/proxy", true); //for resolver cause it supports raw account history + //const rpc2 = new bns.banani.RPC("https://booster.dev-ptera.com/banano-rpc"); //for resolver cause it supports raw account history + const rpc2 = rpc; let wallet = bns.banani.Wallet.gen_random_wallet(rpc); diff --git a/docs/classes/DomainAccount.html b/docs/classes/DomainAccount.html index f5e80d8..202dc1b 100644 --- a/docs/classes/DomainAccount.html +++ b/docs/classes/DomainAccount.html @@ -1,8 +1,8 @@ -DomainAccount | bns

Class DomainAccount

Hierarchy (view full)

Constructors

constructor +DomainAccount | bns

Class DomainAccount

Hierarchy (view full)

Constructors

Properties

address: `ban_${string}` | `nano_${string}`
domain?: Domain
rpc: RPC

Methods

  • Returns Promise<[string, string]>

\ No newline at end of file +

Constructors

Properties

address: `ban_${string}` | `nano_${string}`
domain?: Domain
rpc: RPC

Methods

  • Returns Promise<[string, string]>

\ No newline at end of file diff --git a/docs/classes/DomainAccountManager.html b/docs/classes/DomainAccountManager.html index b110e2f..c8717ae 100644 --- a/docs/classes/DomainAccountManager.html +++ b/docs/classes/DomainAccountManager.html @@ -1,4 +1,4 @@ -DomainAccountManager | bns

Class DomainAccountManager

Hierarchy (view full)

Constructors

constructor +DomainAccountManager | bns

Class DomainAccountManager

Hierarchy (view full)

Constructors

Properties

address: `ban_${string}` | `nano_${string}`
domain?: Domain
rpc: RPC
wallet: Wallet

Methods

  • Parameters

    • metadata_hash: string

    Returns Promise<void>

  • Parameters

    • address: `ban_${string}` | `nano_${string}`

    Returns Promise<void>

  • Returns Promise<void>

  • Parameters

    • receive_hash: string
    • Optional tld: `ban_${string}` | `nano_${string}`
    • Optional allow_burning: boolean

    Returns Promise<void>

  • Parameters

    • domain_name: string
    • to: `ban_${string}` | `nano_${string}`

    Returns Promise<string>

\ No newline at end of file +

Constructors

Properties

address: `ban_${string}` | `nano_${string}`
domain?: Domain
rpc: RPC
wallet: Wallet

Methods

  • Parameters

    • metadata_hash: string

    Returns Promise<void>

  • Parameters

    • address: `ban_${string}` | `nano_${string}`

    Returns Promise<void>

  • Returns Promise<void>

  • Parameters

    • receive_hash: string
    • Optional tld: `ban_${string}` | `nano_${string}`
    • Optional allow_burning: boolean

    Returns Promise<void>

  • Parameters

    • domain_name: string
    • to: `ban_${string}` | `nano_${string}`

    Returns Promise<string>

\ No newline at end of file diff --git a/docs/classes/Resolver.html b/docs/classes/Resolver.html index bb022c9..594dd56 100644 --- a/docs/classes/Resolver.html +++ b/docs/classes/Resolver.html @@ -1,6 +1,6 @@ -Resolver | bns

Class Resolver

Constructors

constructor +Resolver | bns

Class Resolver

Constructors

Properties

rpc: RPC
tld_mapping: Record<string, `ban_${string}` | `nano_${string}`>

Methods

  • Parameters

    • domain_account_address: `ban_${string}` | `nano_${string}`
    • tld: string

    Returns Promise<Domain>

\ No newline at end of file +

Constructors

Properties

rpc: RPC
tld_mapping: Record<string, `ban_${string}` | `nano_${string}`>

Methods

  • Parameters

    • domain_account_address: `ban_${string}` | `nano_${string}`
    • tld: string

    Returns Promise<Domain>

\ No newline at end of file diff --git a/docs/classes/TLDAccount.html b/docs/classes/TLDAccount.html index d0a3f9a..b3e424d 100644 --- a/docs/classes/TLDAccount.html +++ b/docs/classes/TLDAccount.html @@ -1,4 +1,4 @@ -TLDAccount | bns

Class TLDAccount

Hierarchy (view full)

Constructors

constructor +TLDAccount | bns

Class TLDAccount

Hierarchy (view full)

Constructors

Properties

address: `ban_${string}` | `nano_${string}`
all_issued: Domain[]
rpc: RPC

Methods

  • Returns Promise<[string, string]>

\ No newline at end of file +

Constructors

Properties

address: `ban_${string}` | `nano_${string}`
all_issued: Domain[]
rpc: RPC

Methods

  • Returns Promise<[string, string]>

\ No newline at end of file diff --git a/docs/classes/TLDAccountManager.html b/docs/classes/TLDAccountManager.html index 00203bd..9da230f 100644 --- a/docs/classes/TLDAccountManager.html +++ b/docs/classes/TLDAccountManager.html @@ -1,4 +1,4 @@ -TLDAccountManager | bns

Class TLDAccountManager

Hierarchy (view full)

Constructors

constructor +TLDAccountManager | bns

Class TLDAccountManager

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

address: `ban_${string}` | `nano_${string}`
all_issued: Domain[]
rpc: RPC
wallet: Wallet

Methods

  • Returns Promise<void>

  • Parameters

    • domain_name: string
    • to: `ban_${string}` | `nano_${string}`

    Returns Promise<string>

  • Returns Promise<void>

\ No newline at end of file +

Constructors

Properties

address: `ban_${string}` | `nano_${string}`
all_issued: Domain[]
rpc: RPC
wallet: Wallet

Methods

  • Returns Promise<void>

  • Parameters

    • domain_name: string
    • to: `ban_${string}` | `nano_${string}`

    Returns Promise<string>

  • Returns Promise<void>

\ No newline at end of file diff --git a/docs/functions/address_to_cid_v0.html b/docs/functions/address_to_cid_v0.html index bbb2bcd..7ceb1bf 100644 --- a/docs/functions/address_to_cid_v0.html +++ b/docs/functions/address_to_cid_v0.html @@ -1,2 +1,2 @@ address_to_cid_v0 | bns

Function address_to_cid_v0

  • Banano address to IPFS CID v0

    -

    Parameters

    • address: `ban_${string}` | `nano_${string}`

    Returns string

\ No newline at end of file +

Parameters

  • address: `ban_${string}` | `nano_${string}`

Returns string

\ No newline at end of file diff --git a/docs/functions/base58_to_hex.html b/docs/functions/base58_to_hex.html index 570d9d3..5288d84 100644 --- a/docs/functions/base58_to_hex.html +++ b/docs/functions/base58_to_hex.html @@ -1 +1 @@ -base58_to_hex | bns

Function base58_to_hex

  • Parameters

    • base58: string

    Returns string

\ No newline at end of file +base58_to_hex | bns

Function base58_to_hex

  • Parameters

    • base58: string

    Returns string

\ No newline at end of file diff --git a/docs/functions/bigint_to_uint8array.html b/docs/functions/bigint_to_uint8array.html index e78dd51..5c0e985 100644 --- a/docs/functions/bigint_to_uint8array.html +++ b/docs/functions/bigint_to_uint8array.html @@ -1 +1 @@ -bigint_to_uint8array | bns

Function bigint_to_uint8array

  • Parameters

    • bint: bigint
    • len: number

    Returns Uint8Array

\ No newline at end of file +bigint_to_uint8array | bns

Function bigint_to_uint8array

  • Parameters

    • bint: bigint
    • len: number

    Returns Uint8Array

\ No newline at end of file diff --git a/docs/functions/cid_v0_to_address.html b/docs/functions/cid_v0_to_address.html index 7f1db7e..c5022da 100644 --- a/docs/functions/cid_v0_to_address.html +++ b/docs/functions/cid_v0_to_address.html @@ -1,2 +1,2 @@ cid_v0_to_address | bns

Function cid_v0_to_address

  • IPFS CID v0 to Banano address

    -

    Parameters

    • cid_v0: string

    Returns Address

\ No newline at end of file +

Parameters

  • cid_v0: string

Returns Address

\ No newline at end of file diff --git a/docs/functions/decode_domain_name.html b/docs/functions/decode_domain_name.html index ecf7950..da0cc20 100644 --- a/docs/functions/decode_domain_name.html +++ b/docs/functions/decode_domain_name.html @@ -1 +1 @@ -decode_domain_name | bns

Function decode_domain_name

  • Parameters

    • encoded_domain_name: string

    Returns string

\ No newline at end of file +decode_domain_name | bns

Function decode_domain_name

  • Parameters

    • encoded_domain_name: string

    Returns string

\ No newline at end of file diff --git a/docs/functions/encode_domain_name.html b/docs/functions/encode_domain_name.html index 1de11af..cf3fdfa 100644 --- a/docs/functions/encode_domain_name.html +++ b/docs/functions/encode_domain_name.html @@ -1 +1 @@ -encode_domain_name | bns

Function encode_domain_name

  • Parameters

    • domain_name: string

    Returns string

\ No newline at end of file +encode_domain_name | bns

Function encode_domain_name

  • Parameters

    • domain_name: string

    Returns string

\ No newline at end of file diff --git a/docs/functions/hex_to_base58.html b/docs/functions/hex_to_base58.html index 617e0fd..81d3602 100644 --- a/docs/functions/hex_to_base58.html +++ b/docs/functions/hex_to_base58.html @@ -1 +1 @@ -hex_to_base58 | bns

Function hex_to_base58

  • Parameters

    • hex: string

    Returns string

\ No newline at end of file +hex_to_base58 | bns

Function hex_to_base58

  • Parameters

    • hex: string

    Returns string

\ No newline at end of file diff --git a/docs/interfaces/Domain.html b/docs/interfaces/Domain.html index 79cd257..7dbe7a3 100644 --- a/docs/interfaces/Domain.html +++ b/docs/interfaces/Domain.html @@ -1,7 +1,7 @@ -Domain | bns

Interface Domain

interface Domain {
    burned?: boolean;
    history: DomainBlocks[];
    metadata_hash?: string;
    name: string;
    resolved_address?: `ban_${string}` | `nano_${string}`;
    tld: `ban_${string}` | `nano_${string}`;
}

Properties

burned? +Domain | bns

Interface Domain

interface Domain {
    burned?: boolean;
    history: DomainBlocks[];
    metadata_hash?: string;
    name: string;
    resolved_address?: `ban_${string}` | `nano_${string}`;
    tld: `ban_${string}` | `nano_${string}`;
}

Properties

burned?: boolean
history: DomainBlocks[]
metadata_hash?: string
name: string
resolved_address?: `ban_${string}` | `nano_${string}`
tld: `ban_${string}` | `nano_${string}`
\ No newline at end of file +

Properties

burned?: boolean
history: DomainBlocks[]
metadata_hash?: string
name: string
resolved_address?: `ban_${string}` | `nano_${string}`
tld: `ban_${string}` | `nano_${string}`
\ No newline at end of file diff --git a/docs/interfaces/DomainBlock.html b/docs/interfaces/DomainBlock.html index 6ba1e15..483e7d2 100644 --- a/docs/interfaces/DomainBlock.html +++ b/docs/interfaces/DomainBlock.html @@ -1,3 +1,3 @@ -DomainBlock | bns

Interface DomainBlock

interface DomainBlock {
    block: AccountHistoryRawBlock;
    type: "receive" | "transfer" | "metadata" | "resolver" | "freeze";
}

Hierarchy (view full)

Properties

block +DomainBlock | bns

Interface DomainBlock

interface DomainBlock {
    block: AccountHistoryRawBlock;
    type: "receive" | "transfer" | "metadata" | "resolver" | "freeze";
}

Hierarchy (view full)

Properties

Properties

type: "receive" | "transfer" | "metadata" | "resolver" | "freeze"
\ No newline at end of file +

Properties

type: "receive" | "transfer" | "metadata" | "resolver" | "freeze"
\ No newline at end of file diff --git a/docs/interfaces/DomainFreeze.html b/docs/interfaces/DomainFreeze.html index bcd8f43..9389f40 100644 --- a/docs/interfaces/DomainFreeze.html +++ b/docs/interfaces/DomainFreeze.html @@ -1,3 +1,3 @@ -DomainFreeze | bns

Interface DomainFreeze

interface DomainFreeze {
    block: AccountHistoryRawBlock;
    type: "freeze";
}

Hierarchy (view full)

Properties

block +DomainFreeze | bns

Interface DomainFreeze

interface DomainFreeze {
    block: AccountHistoryRawBlock;
    type: "freeze";
}

Hierarchy (view full)

Properties

Properties

type: "freeze"
\ No newline at end of file +

Properties

type: "freeze"
\ No newline at end of file diff --git a/docs/interfaces/DomainMetadata.html b/docs/interfaces/DomainMetadata.html index bbe0bf1..de8303a 100644 --- a/docs/interfaces/DomainMetadata.html +++ b/docs/interfaces/DomainMetadata.html @@ -1,4 +1,4 @@ -DomainMetadata | bns

Interface DomainMetadata

interface DomainMetadata {
    block: AccountHistoryRawBlock;
    metadata_hash: string;
    type: "metadata";
}

Hierarchy (view full)

Properties

block +DomainMetadata | bns

Interface DomainMetadata

interface DomainMetadata {
    block: AccountHistoryRawBlock;
    metadata_hash: string;
    type: "metadata";
}

Hierarchy (view full)

Properties

metadata_hash: string
type: "metadata"
\ No newline at end of file +

Properties

metadata_hash: string
type: "metadata"
\ No newline at end of file diff --git a/docs/interfaces/DomainReceive.html b/docs/interfaces/DomainReceive.html index a6720e0..628ae0e 100644 --- a/docs/interfaces/DomainReceive.html +++ b/docs/interfaces/DomainReceive.html @@ -1,3 +1,3 @@ -DomainReceive | bns

Interface DomainReceive

interface DomainReceive {
    block: AccountHistoryRawBlock;
    type: "receive";
}

Hierarchy (view full)

Properties

block +DomainReceive | bns

Interface DomainReceive

interface DomainReceive {
    block: AccountHistoryRawBlock;
    type: "receive";
}

Hierarchy (view full)

Properties

Properties

type: "receive"
\ No newline at end of file +

Properties

type: "receive"
\ No newline at end of file diff --git a/docs/interfaces/DomainResolver.html b/docs/interfaces/DomainResolver.html index b3fa5bd..90be4e5 100644 --- a/docs/interfaces/DomainResolver.html +++ b/docs/interfaces/DomainResolver.html @@ -1,4 +1,4 @@ -DomainResolver | bns

Interface DomainResolver

interface DomainResolver {
    block: AccountHistoryRawBlock;
    resolved_address: `ban_${string}` | `nano_${string}`;
    type: "resolver";
}

Hierarchy (view full)

Properties

block +DomainResolver | bns

Interface DomainResolver

interface DomainResolver {
    block: AccountHistoryRawBlock;
    resolved_address: `ban_${string}` | `nano_${string}`;
    type: "resolver";
}

Hierarchy (view full)

Properties

resolved_address: `ban_${string}` | `nano_${string}`
type: "resolver"
\ No newline at end of file +

Properties

resolved_address: `ban_${string}` | `nano_${string}`
type: "resolver"
\ No newline at end of file diff --git a/docs/interfaces/DomainTransfer.html b/docs/interfaces/DomainTransfer.html index d2efb8e..32a3f88 100644 --- a/docs/interfaces/DomainTransfer.html +++ b/docs/interfaces/DomainTransfer.html @@ -1,4 +1,4 @@ -DomainTransfer | bns

Interface DomainTransfer

interface DomainTransfer {
    block: AccountHistoryRawBlock;
    to: `ban_${string}` | `nano_${string}`;
    type: "transfer";
}

Hierarchy (view full)

Properties

block +DomainTransfer | bns

Interface DomainTransfer

interface DomainTransfer {
    block: AccountHistoryRawBlock;
    to: `ban_${string}` | `nano_${string}`;
    type: "transfer";
}

Hierarchy (view full)

Properties

Properties

to: `ban_${string}` | `nano_${string}`
type: "transfer"
\ No newline at end of file +

Properties

to: `ban_${string}` | `nano_${string}`
type: "transfer"
\ No newline at end of file diff --git a/docs/types/DomainBlocks.html b/docs/types/DomainBlocks.html index 9b15e66..f1d00ab 100644 --- a/docs/types/DomainBlocks.html +++ b/docs/types/DomainBlocks.html @@ -1 +1 @@ -DomainBlocks | bns
\ No newline at end of file +DomainBlocks | bns
\ No newline at end of file diff --git a/docs/variables/FREEZE_PUB_KEY.html b/docs/variables/FREEZE_PUB_KEY.html index 7f25a6f..1d6efad 100644 --- a/docs/variables/FREEZE_PUB_KEY.html +++ b/docs/variables/FREEZE_PUB_KEY.html @@ -1 +1 @@ -FREEZE_PUB_KEY | bns

Variable FREEZE_PUB_KEYConst

FREEZE_PUB_KEY: string = ...
\ No newline at end of file +FREEZE_PUB_KEY | bns

Variable FREEZE_PUB_KEYConst

FREEZE_PUB_KEY: string = ...
\ No newline at end of file diff --git a/docs/variables/FREEZE_REP.html b/docs/variables/FREEZE_REP.html index c16bfd5..952a568 100644 --- a/docs/variables/FREEZE_REP.html +++ b/docs/variables/FREEZE_REP.html @@ -1 +1 @@ -FREEZE_REP | bns

Variable FREEZE_REPConst

FREEZE_REP: `ban_${string}` | `nano_${string}` = ...
\ No newline at end of file +FREEZE_REP | bns

Variable FREEZE_REPConst

FREEZE_REP: `ban_${string}` | `nano_${string}` = ...
\ No newline at end of file diff --git a/docs/variables/LOG.html b/docs/variables/LOG.html index 9df2673..6fd3aad 100644 --- a/docs/variables/LOG.html +++ b/docs/variables/LOG.html @@ -1 +1 @@ -LOG | bns

Variable LOGConst

LOG: boolean = true
\ No newline at end of file +LOG | bns

Variable LOGConst

LOG: boolean = true
\ No newline at end of file diff --git a/docs/variables/TRANS_MAX.html b/docs/variables/TRANS_MAX.html index ad7a09a..cf1398a 100644 --- a/docs/variables/TRANS_MAX.html +++ b/docs/variables/TRANS_MAX.html @@ -1 +1 @@ -TRANS_MAX | bns

Variable TRANS_MAXConst

TRANS_MAX: bigint = ...
\ No newline at end of file +TRANS_MAX | bns

Variable TRANS_MAXConst

TRANS_MAX: bigint = ...
\ No newline at end of file diff --git a/docs/variables/TRANS_MIN.html b/docs/variables/TRANS_MIN.html index 1d8f010..6807624 100644 --- a/docs/variables/TRANS_MIN.html +++ b/docs/variables/TRANS_MIN.html @@ -1 +1 @@ -TRANS_MIN | bns

Variable TRANS_MINConst

TRANS_MIN: bigint = ...
\ No newline at end of file +TRANS_MIN | bns

Variable TRANS_MINConst

TRANS_MIN: bigint = ...
\ No newline at end of file diff --git a/manager.ts b/manager.ts index 4ed4d4c..ab5fe30 100644 --- a/manager.ts +++ b/manager.ts @@ -16,6 +16,7 @@ export class TLDAccountManager extends TLDAccount { //highly recommended to call `this.get_all_issued` first or otherwise populate `this.all_issued` in order to not issue a domain name that has already been issued already (the second issuance will be invalid and unrecognised) async issue_domain_name(domain_name: string, to: Address): Promise { + domain_name = domain_name.toLowerCase(); if (this.all_issued.some((domain) => domain.name === domain_name)) throw new Error("Cannot issue a domain name that is already issued"); const block_hash = await this.wallet.send(to, "0.00120703011", undefined, get_address_from_public_key(encode_domain_name(domain_name))); // diff --git a/node_test/.secret b/node_test/.secret deleted file mode 100644 index bbe2a39..0000000 --- a/node_test/.secret +++ /dev/null @@ -1 +0,0 @@ -D250AD4A09B9EF5D5A2F50A99C03864816A9216A1F08F3C0D8B7FF648EF89DEF diff --git a/node_test/index.js b/node_test/index.js index 0e4c341..2bb6b8a 100644 --- a/node_test/index.js +++ b/node_test/index.js @@ -8,8 +8,9 @@ import * as crypto from "crypto"; const test_seed = fs.readFileSync("./.secret", "utf-8").trim(); - let rpc = new bns.banani.RPC("https://kaliumapi.appditto.com/api"); //for sending cause it does work - let rpc2 = new bns.banani.RPC("https://api.banano.trade/proxy", true); //for resolver cause it supports raw account history + const rpc = new bns.banani.RPC("https://kaliumapi.appditto.com/api"); //for sending cause it does work + //let rpc2 = new bns.banani.RPC("https://api.banano.trade/proxy", true); //for resolver cause it supports raw account history + const rpc2 = rpc; let tld_wallet = new bns.banani.Wallet(rpc, test_seed); diff --git a/package-lock.json b/package-lock.json index fe74578..228d34d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,14 @@ { - "name": "bns", - "version": "0.0.1", + "name": "banani-bns", + "version": "0.0.3", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "bns", - "version": "0.0.1", + "name": "banani-bns", + "version": "0.0.3", "dependencies": { - "banani": "^1.0.2" + "banani": "^1.0.3" }, "devDependencies": { "esbuild": "^0.21.4", @@ -428,9 +428,9 @@ "license": "MIT" }, "node_modules/banani": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/banani/-/banani-1.0.2.tgz", - "integrity": "sha512-oOpAdRM8lA8nrgLLeGtZsHufYUEeo0ZoA7HhK3k2QWJu7e5CJN9j7TRiJNTQYT8p4QR5gUThCu2MlkmbYOkN7Q==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/banani/-/banani-1.0.3.tgz", + "integrity": "sha512-2hr3RUXWRUE9yOMH6wlJYaRdwdFUAjWQ8eHz2QRcYHKWjs+b9wnJ0bgAi85DFVKArQtJ3cFZ8oq/TDVB5GHWVw==", "license": "MIT", "dependencies": { "blake2b": "^2.1.4" diff --git a/package.json b/package.json index bc4dcc9..4f350f0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "banani-bns", - "version": "0.0.3", + "version": "0.0.5", "description": "JS/TS library for the Banano cryptocurrency's currently unofficial Banano Name System (BNS)", "main": "main.js", "scripts": { @@ -16,6 +16,6 @@ "typescript": "^5.4.5" }, "dependencies": { - "banani": "^1.0.2" + "banani": "^1.0.3" } } diff --git a/resolver.ts b/resolver.ts index 2690847..e53c297 100644 --- a/resolver.ts +++ b/resolver.ts @@ -195,6 +195,7 @@ export class Resolver { } async resolve(domain_name: string, tld: string): Promise { + domain_name = domain_name.toLowerCase(); if (!this.tld_mapping[tld]) throw new Error("No TLD Account found for that TLD"); const tld_account = new TLDAccount(this.rpc, this.tld_mapping[tld]); let domain = await tld_account.get_specific(domain_name);