UNPKG

@onekeyfe/blockchain-link

Version:

High-level javascript interface for blockchain communication

1 lines 90.8 kB
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)r.d(n,s,function(t){return e[t]}.bind(null,s));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="./",r(r.s=344)}({12:function(e,t){e.exports=require("crypto")},14:function(e,t){e.exports=require("events")},16:function(e,t,r){"use strict";const n=r(57),s=r(17),i=r(59),{kStatusCode:o,NOOP:a}=r(8),c=Buffer.from([0,0,255,255]),u=Symbol("permessage-deflate"),l=Symbol("total-length"),f=Symbol("callback"),h=Symbol("buffers"),d=Symbol("error");let p;function _(e){this[h].push(e),this[l]+=e.length}function m(e){this[l]+=e.length,this[u]._maxPayload<1||this[l]<=this[u]._maxPayload?this[h].push(e):(this[d]=new RangeError("Max payload size exceeded"),this[d][o]=1009,this.removeListener("data",m),this.reset())}function g(e){this[u]._inflate=null,e[o]=1007,this[f](e)}e.exports=class{constructor(e,t,r){if(this._maxPayload=0|r,this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!p){const e=void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10;p=new i(e)}}static get extensionName(){return"permessage-deflate"}offer(){const e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){const e=this._deflate[f];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){const t=this._options,r=e.find(e=>!(!1===t.serverNoContextTakeover&&e.server_no_context_takeover||e.server_max_window_bits&&(!1===t.serverMaxWindowBits||"number"==typeof t.serverMaxWindowBits&&t.serverMaxWindowBits>e.server_max_window_bits)||"number"==typeof t.clientMaxWindowBits&&!e.client_max_window_bits));if(!r)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(r.server_no_context_takeover=!0),t.clientNoContextTakeover&&(r.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(r.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?r.client_max_window_bits=t.clientMaxWindowBits:!0!==r.client_max_window_bits&&!1!==t.clientMaxWindowBits||delete r.client_max_window_bits,r}acceptAsClient(e){const t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach(e=>{Object.keys(e).forEach(t=>{let r=e[t];if(r.length>1)throw new Error(`Parameter "${t}" must have only a single value`);if(r=r[0],"client_max_window_bits"===t){if(!0!==r){const e=+r;if(!Number.isInteger(e)||e<8||e>15)throw new TypeError(`Invalid value for parameter "${t}": ${r}`);r=e}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${t}": ${r}`)}else if("server_max_window_bits"===t){const e=+r;if(!Number.isInteger(e)||e<8||e>15)throw new TypeError(`Invalid value for parameter "${t}": ${r}`);r=e}else{if("client_no_context_takeover"!==t&&"server_no_context_takeover"!==t)throw new Error(`Unknown parameter "${t}"`);if(!0!==r)throw new TypeError(`Invalid value for parameter "${t}": ${r}`)}e[t]=r})}),e}decompress(e,t,r){p.add(n=>{this._decompress(e,t,(e,t)=>{n(),r(e,t)})})}compress(e,t,r){p.add(n=>{this._compress(e,t,(e,t)=>{n(),r(e,t)})})}_decompress(e,t,r){const i=this._isServer?"client":"server";if(!this._inflate){const e=i+"_max_window_bits",t="number"!=typeof this.params[e]?n.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=n.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[u]=this,this._inflate[l]=0,this._inflate[h]=[],this._inflate.on("error",g),this._inflate.on("data",m)}this._inflate[f]=r,this._inflate.write(e),t&&this._inflate.write(c),this._inflate.flush(()=>{const e=this._inflate[d];if(e)return this._inflate.close(),this._inflate=null,void r(e);const n=s.concat(this._inflate[h],this._inflate[l]);t&&this.params[i+"_no_context_takeover"]?(this._inflate.close(),this._inflate=null):(this._inflate[l]=0,this._inflate[h]=[]),r(null,n)})}_compress(e,t,r){const i=this._isServer?"server":"client";if(!this._deflate){const e=i+"_max_window_bits",t="number"!=typeof this.params[e]?n.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=n.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[l]=0,this._deflate[h]=[],this._deflate.on("error",a),this._deflate.on("data",_)}this._deflate[f]=r,this._deflate.write(e),this._deflate.flush(n.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let e=s.concat(this._deflate[h],this._deflate[l]);t&&(e=e.slice(0,e.length-4)),this._deflate[f]=null,t&&this.params[i+"_no_context_takeover"]?(this._deflate.close(),this._deflate=null):(this._deflate[l]=0,this._deflate[h]=[]),r(null,e)})}}},17:function(e,t,r){"use strict";const{EMPTY_BUFFER:n}=r(8);function s(e,t){if(0===e.length)return n;if(1===e.length)return e[0];const r=Buffer.allocUnsafe(t);let s=0;for(let t=0;t<e.length;t++){const n=e[t];r.set(n,s),s+=n.length}return s<t?r.slice(0,s):r}function i(e,t,r,n,s){for(let i=0;i<s;i++)r[n+i]=e[i]^t[3&i]}function o(e,t){const r=e.length;for(let n=0;n<r;n++)e[n]^=t[3&n]}function a(e){return e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function c(e){if(c.readOnly=!0,Buffer.isBuffer(e))return e;let t;return e instanceof ArrayBuffer?t=Buffer.from(e):ArrayBuffer.isView(e)?t=Buffer.from(e.buffer,e.byteOffset,e.byteLength):(t=Buffer.from(e),c.readOnly=!1),t}try{const t=r(58),n=t.BufferUtil||t;e.exports={concat:s,mask(e,t,r,s,o){o<48?i(e,t,r,s,o):n.mask(e,t,r,s,o)},toArrayBuffer:a,toBuffer:c,unmask(e,t){e.length<32?o(e,t):n.unmask(e,t)}}}catch(t){e.exports={concat:s,mask:i,toArrayBuffer:a,toBuffer:c,unmask:o}}},21:function(e,t){e.exports=require("url")},23:function(e,t,r){"use strict";var n,s=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CustomError=void 0;var i="blockchain_link/",o={worker_not_found:"Worker not found",worker_invalid:"Invalid worker object",worker_timeout:"Worker timeout",worker_unknown_request:"Unknown message type:",worker_runtime:void 0,invalid_param:"Invalid parameter:",websocket_not_initialized:"WebSocket not initialized",websocket_no_url:"Cannot connect because no server was specified",websocket_timeout:"Websocket timeout",websocket_error_message:void 0,websocket_runtime_error:void 0},a=function(e){function t(t,r){void 0===r&&(r="");var n=e.call(this,r)||this;if(n.message="",n.message=r,"string"==typeof t){var s=0===t.indexOf(i)?t.substring(i.length,t.length):t;n.code=""+i+s;var a=o[s];"string"==typeof a&&(""===n.message?n.message=a:0===r.indexOf("+")&&(n.message=a+" "+r.substr(1,r.length)))}return"string"==typeof n.message&&""!==n.message||(n.message="Message not set"),n}return s(t,e),t}(Error);t.CustomError=a},3:function(e,t,r){var n;!function(s){"use strict";var i,o=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,a=Math.ceil,c=Math.floor,u="[BigNumber Error] ",l=u+"Number primitive has more than 15 significant digits: ",f=1e14,h=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],d=1e9;function p(e){var t=0|e;return e>0||e===t?t:t-1}function _(e){for(var t,r,n=1,s=e.length,i=e[0]+"";n<s;){for(r=14-(t=e[n++]+"").length;r--;t="0"+t);i+=t}for(s=i.length;48===i.charCodeAt(--s););return i.slice(0,s+1||1)}function m(e,t){var r,n,s=e.c,i=t.c,o=e.s,a=t.s,c=e.e,u=t.e;if(!o||!a)return null;if(r=s&&!s[0],n=i&&!i[0],r||n)return r?n?0:-a:o;if(o!=a)return o;if(r=o<0,n=c==u,!s||!i)return n?0:!s^r?1:-1;if(!n)return c>u^r?1:-1;for(a=(c=s.length)<(u=i.length)?c:u,o=0;o<a;o++)if(s[o]!=i[o])return s[o]>i[o]^r?1:-1;return c==u?0:c>u^r?1:-1}function g(e,t,r,n){if(e<t||e>r||e!==c(e))throw Error(u+(n||"Argument")+("number"==typeof e?e<t||e>r?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function y(e){var t=e.c.length-1;return p(e.e/14)==t&&e.c[t]%2!=0}function b(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function v(e,t,r){var n,s;if(t<0){for(s=r+".";++t;s+=r);e=s+e}else if(++t>(n=e.length)){for(s=r,t-=n;--t;s+=r);e+=s}else t<n&&(e=e.slice(0,t)+"."+e.slice(t));return e}(i=function e(t){var r,n,s,i,S,E,w,T,O,A=G.prototype={constructor:G,toString:null,valueOf:null},k=new G(1),N=20,x=4,C=-7,I=21,R=-1e7,P=1e7,B=!1,L=1,U=0,M={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},F="0123456789abcdefghijklmnopqrstuvwxyz";function G(e,t){var r,i,a,u,f,h,d,p,_=this;if(!(_ instanceof G))return new G(e,t);if(null==t){if(e&&!0===e._isBigNumber)return _.s=e.s,void(!e.c||e.e>P?_.c=_.e=null:e.e<R?_.c=[_.e=0]:(_.e=e.e,_.c=e.c.slice()));if((h="number"==typeof e)&&0*e==0){if(_.s=1/e<0?(e=-e,-1):1,e===~~e){for(u=0,f=e;f>=10;f/=10,u++);return void(u>P?_.c=_.e=null:(_.e=u,_.c=[e]))}p=String(e)}else{if(!o.test(p=String(e)))return s(_,p,h);_.s=45==p.charCodeAt(0)?(p=p.slice(1),-1):1}(u=p.indexOf("."))>-1&&(p=p.replace(".","")),(f=p.search(/e/i))>0?(u<0&&(u=f),u+=+p.slice(f+1),p=p.substring(0,f)):u<0&&(u=p.length)}else{if(g(t,2,F.length,"Base"),10==t)return W(_=new G(e),N+_.e+1,x);if(p=String(e),h="number"==typeof e){if(0*e!=0)return s(_,p,h,t);if(_.s=1/e<0?(p=p.slice(1),-1):1,G.DEBUG&&p.replace(/^0\.0*|\./,"").length>15)throw Error(l+e)}else _.s=45===p.charCodeAt(0)?(p=p.slice(1),-1):1;for(r=F.slice(0,t),u=f=0,d=p.length;f<d;f++)if(r.indexOf(i=p.charAt(f))<0){if("."==i){if(f>u){u=d;continue}}else if(!a&&(p==p.toUpperCase()&&(p=p.toLowerCase())||p==p.toLowerCase()&&(p=p.toUpperCase()))){a=!0,f=-1,u=0;continue}return s(_,String(e),h,t)}h=!1,(u=(p=n(p,t,10,_.s)).indexOf("."))>-1?p=p.replace(".",""):u=p.length}for(f=0;48===p.charCodeAt(f);f++);for(d=p.length;48===p.charCodeAt(--d););if(p=p.slice(f,++d)){if(d-=f,h&&G.DEBUG&&d>15&&(e>9007199254740991||e!==c(e)))throw Error(l+_.s*e);if((u=u-f-1)>P)_.c=_.e=null;else if(u<R)_.c=[_.e=0];else{if(_.e=u,_.c=[],f=(u+1)%14,u<0&&(f+=14),f<d){for(f&&_.c.push(+p.slice(0,f)),d-=14;f<d;)_.c.push(+p.slice(f,f+=14));f=14-(p=p.slice(f)).length}else f-=d;for(;f--;p+="0");_.c.push(+p)}}else _.c=[_.e=0]}function D(e,t,r,n){var s,i,o,a,c;if(null==r?r=x:g(r,0,8),!e.c)return e.toString();if(s=e.c[0],o=e.e,null==t)c=_(e.c),c=1==n||2==n&&(o<=C||o>=I)?b(c,o):v(c,o,"0");else if(i=(e=W(new G(e),t,r)).e,a=(c=_(e.c)).length,1==n||2==n&&(t<=i||i<=C)){for(;a<t;c+="0",a++);c=b(c,i)}else if(t-=o,c=v(c,i,"0"),i+1>a){if(--t>0)for(c+=".";t--;c+="0");}else if((t+=i-a)>0)for(i+1==a&&(c+=".");t--;c+="0");return e.s<0&&s?"-"+c:c}function j(e,t){for(var r,n=1,s=new G(e[0]);n<e.length;n++){if(!(r=new G(e[n])).s){s=r;break}t.call(s,r)&&(s=r)}return s}function H(e,t,r){for(var n=1,s=t.length;!t[--s];t.pop());for(s=t[0];s>=10;s/=10,n++);return(r=n+14*r-1)>P?e.c=e.e=null:r<R?e.c=[e.e=0]:(e.e=r,e.c=t),e}function W(e,t,r,n){var s,i,o,u,l,d,p,_=e.c,m=h;if(_){e:{for(s=1,u=_[0];u>=10;u/=10,s++);if((i=t-s)<0)i+=14,o=t,p=(l=_[d=0])/m[s-o-1]%10|0;else if((d=a((i+1)/14))>=_.length){if(!n)break e;for(;_.length<=d;_.push(0));l=p=0,s=1,o=(i%=14)-14+1}else{for(l=u=_[d],s=1;u>=10;u/=10,s++);p=(o=(i%=14)-14+s)<0?0:l/m[s-o-1]%10|0}if(n=n||t<0||null!=_[d+1]||(o<0?l:l%m[s-o-1]),n=r<4?(p||n)&&(0==r||r==(e.s<0?3:2)):p>5||5==p&&(4==r||n||6==r&&(i>0?o>0?l/m[s-o]:0:_[d-1])%10&1||r==(e.s<0?8:7)),t<1||!_[0])return _.length=0,n?(t-=e.e+1,_[0]=m[(14-t%14)%14],e.e=-t||0):_[0]=e.e=0,e;if(0==i?(_.length=d,u=1,d--):(_.length=d+1,u=m[14-i],_[d]=o>0?c(l/m[s-o]%m[o])*u:0),n)for(;;){if(0==d){for(i=1,o=_[0];o>=10;o/=10,i++);for(o=_[0]+=u,u=1;o>=10;o/=10,u++);i!=u&&(e.e++,_[0]==f&&(_[0]=1));break}if(_[d]+=u,_[d]!=f)break;_[d--]=0,u=1}for(i=_.length;0===_[--i];_.pop());}e.e>P?e.c=e.e=null:e.e<R&&(e.c=[e.e=0])}return e}function q(e){var t,r=e.e;return null===r?e.toString():(t=_(e.c),t=r<=C||r>=I?b(t,r):v(t,r,"0"),e.s<0?"-"+t:t)}return G.clone=e,G.ROUND_UP=0,G.ROUND_DOWN=1,G.ROUND_CEIL=2,G.ROUND_FLOOR=3,G.ROUND_HALF_UP=4,G.ROUND_HALF_DOWN=5,G.ROUND_HALF_EVEN=6,G.ROUND_HALF_CEIL=7,G.ROUND_HALF_FLOOR=8,G.EUCLID=9,G.config=G.set=function(e){var t,r;if(null!=e){if("object"!=typeof e)throw Error(u+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(g(r=e[t],0,d,t),N=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(g(r=e[t],0,8,t),x=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(g(r[0],-d,0,t),g(r[1],0,d,t),C=r[0],I=r[1]):(g(r,-d,d,t),C=-(I=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)g(r[0],-d,-1,t),g(r[1],1,d,t),R=r[0],P=r[1];else{if(g(r,-d,d,t),!r)throw Error(u+t+" cannot be zero: "+r);R=-(P=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error(u+t+" not true or false: "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw B=!r,Error(u+"crypto unavailable");B=r}else B=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(g(r=e[t],0,9,t),L=r),e.hasOwnProperty(t="POW_PRECISION")&&(g(r=e[t],0,d,t),U=r),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(r=e[t]))throw Error(u+t+" not an object: "+r);M=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(r))throw Error(u+t+" invalid: "+r);F=r}}return{DECIMAL_PLACES:N,ROUNDING_MODE:x,EXPONENTIAL_AT:[C,I],RANGE:[R,P],CRYPTO:B,MODULO_MODE:L,POW_PRECISION:U,FORMAT:M,ALPHABET:F}},G.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!G.DEBUG)return!0;var t,r,n=e.c,s=e.e,i=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===i||-1===i)&&s>=-d&&s<=d&&s===c(s)){if(0===n[0]){if(0===s&&1===n.length)return!0;break e}if((t=(s+1)%14)<1&&(t+=14),String(n[0]).length==t){for(t=0;t<n.length;t++)if((r=n[t])<0||r>=f||r!==c(r))break e;if(0!==r)return!0}}}else if(null===n&&null===s&&(null===i||1===i||-1===i))return!0;throw Error(u+"Invalid BigNumber: "+e)},G.maximum=G.max=function(){return j(arguments,A.lt)},G.minimum=G.min=function(){return j(arguments,A.gt)},G.random=(i=9007199254740992*Math.random()&2097151?function(){return c(9007199254740992*Math.random())}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,r,n,s,o,l=0,f=[],p=new G(k);if(null==e?e=N:g(e,0,d),s=a(e/14),B)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(s*=2));l<s;)(o=131072*t[l]+(t[l+1]>>>11))>=9e15?(r=crypto.getRandomValues(new Uint32Array(2)),t[l]=r[0],t[l+1]=r[1]):(f.push(o%1e14),l+=2);l=s/2}else{if(!crypto.randomBytes)throw B=!1,Error(u+"crypto unavailable");for(t=crypto.randomBytes(s*=7);l<s;)(o=281474976710656*(31&t[l])+1099511627776*t[l+1]+4294967296*t[l+2]+16777216*t[l+3]+(t[l+4]<<16)+(t[l+5]<<8)+t[l+6])>=9e15?crypto.randomBytes(7).copy(t,l):(f.push(o%1e14),l+=7);l=s/7}if(!B)for(;l<s;)(o=i())<9e15&&(f[l++]=o%1e14);for(e%=14,(s=f[--l])&&e&&(o=h[14-e],f[l]=c(s/o)*o);0===f[l];f.pop(),l--);if(l<0)f=[n=0];else{for(n=-1;0===f[0];f.splice(0,1),n-=14);for(l=1,o=f[0];o>=10;o/=10,l++);l<14&&(n-=14-l)}return p.e=n,p.c=f,p}),G.sum=function(){for(var e=1,t=arguments,r=new G(t[0]);e<t.length;)r=r.plus(t[e++]);return r},n=function(){function e(e,t,r,n){for(var s,i,o=[0],a=0,c=e.length;a<c;){for(i=o.length;i--;o[i]*=t);for(o[0]+=n.indexOf(e.charAt(a++)),s=0;s<o.length;s++)o[s]>r-1&&(null==o[s+1]&&(o[s+1]=0),o[s+1]+=o[s]/r|0,o[s]%=r)}return o.reverse()}return function(t,n,s,i,o){var a,c,u,l,f,h,d,p,m=t.indexOf("."),g=N,y=x;for(m>=0&&(l=U,U=0,t=t.replace(".",""),h=(p=new G(n)).pow(t.length-m),U=l,p.c=e(v(_(h.c),h.e,"0"),10,s,"0123456789"),p.e=p.c.length),u=l=(d=e(t,n,s,o?(a=F,"0123456789"):(a="0123456789",F))).length;0==d[--l];d.pop());if(!d[0])return a.charAt(0);if(m<0?--u:(h.c=d,h.e=u,h.s=i,d=(h=r(h,p,g,y,s)).c,f=h.r,u=h.e),m=d[c=u+g+1],l=s/2,f=f||c<0||null!=d[c+1],f=y<4?(null!=m||f)&&(0==y||y==(h.s<0?3:2)):m>l||m==l&&(4==y||f||6==y&&1&d[c-1]||y==(h.s<0?8:7)),c<1||!d[0])t=f?v(a.charAt(1),-g,a.charAt(0)):a.charAt(0);else{if(d.length=c,f)for(--s;++d[--c]>s;)d[c]=0,c||(++u,d=[1].concat(d));for(l=d.length;!d[--l];);for(m=0,t="";m<=l;t+=a.charAt(d[m++]));t=v(t,u,a.charAt(0))}return t}}(),r=function(){function e(e,t,r){var n,s,i,o,a=0,c=e.length,u=t%1e7,l=t/1e7|0;for(e=e.slice();c--;)a=((s=u*(i=e[c]%1e7)+(n=l*i+(o=e[c]/1e7|0)*u)%1e7*1e7+a)/r|0)+(n/1e7|0)+l*o,e[c]=s%r;return a&&(e=[a].concat(e)),e}function t(e,t,r,n){var s,i;if(r!=n)i=r>n?1:-1;else for(s=i=0;s<r;s++)if(e[s]!=t[s]){i=e[s]>t[s]?1:-1;break}return i}function r(e,t,r,n){for(var s=0;r--;)e[r]-=s,s=e[r]<t[r]?1:0,e[r]=s*n+e[r]-t[r];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(n,s,i,o,a){var u,l,h,d,_,m,g,y,b,v,S,E,w,T,O,A,k,N=n.s==s.s?1:-1,x=n.c,C=s.c;if(!(x&&x[0]&&C&&C[0]))return new G(n.s&&s.s&&(x?!C||x[0]!=C[0]:C)?x&&0==x[0]||!C?0*N:N/0:NaN);for(b=(y=new G(N)).c=[],N=i+(l=n.e-s.e)+1,a||(a=f,l=p(n.e/14)-p(s.e/14),N=N/14|0),h=0;C[h]==(x[h]||0);h++);if(C[h]>(x[h]||0)&&l--,N<0)b.push(1),d=!0;else{for(T=x.length,A=C.length,h=0,N+=2,(_=c(a/(C[0]+1)))>1&&(C=e(C,_,a),x=e(x,_,a),A=C.length,T=x.length),w=A,S=(v=x.slice(0,A)).length;S<A;v[S++]=0);k=C.slice(),k=[0].concat(k),O=C[0],C[1]>=a/2&&O++;do{if(_=0,(u=t(C,v,A,S))<0){if(E=v[0],A!=S&&(E=E*a+(v[1]||0)),(_=c(E/O))>1)for(_>=a&&(_=a-1),g=(m=e(C,_,a)).length,S=v.length;1==t(m,v,g,S);)_--,r(m,A<g?k:C,g,a),g=m.length,u=1;else 0==_&&(u=_=1),g=(m=C.slice()).length;if(g<S&&(m=[0].concat(m)),r(v,m,S,a),S=v.length,-1==u)for(;t(C,v,A,S)<1;)_++,r(v,A<S?k:C,S,a),S=v.length}else 0===u&&(_++,v=[0]);b[h++]=_,v[0]?v[S++]=x[w]||0:(v=[x[w]],S=1)}while((w++<T||null!=v[0])&&N--);d=null!=v[0],b[0]||b.splice(0,1)}if(a==f){for(h=1,N=b[0];N>=10;N/=10,h++);W(y,i+(y.e=h+14*l-1)+1,o,d)}else y.e=l,y.r=+d;return y}}(),S=/^(-?)0([xbo])(?=\w[\w.]*$)/i,E=/^([^.]+)\.$/,w=/^\.([^.]+)$/,T=/^-?(Infinity|NaN)$/,O=/^\s*\+(?=[\w.])|^\s+|\s+$/g,s=function(e,t,r,n){var s,i=r?t:t.replace(O,"");if(T.test(i))e.s=isNaN(i)?null:i<0?-1:1;else{if(!r&&(i=i.replace(S,(function(e,t,r){return s="x"==(r=r.toLowerCase())?16:"b"==r?2:8,n&&n!=s?e:t})),n&&(s=n,i=i.replace(E,"$1").replace(w,"0.$1")),t!=i))return new G(i,s);if(G.DEBUG)throw Error(u+"Not a"+(n?" base "+n:"")+" number: "+t);e.s=null}e.c=e.e=null},A.absoluteValue=A.abs=function(){var e=new G(this);return e.s<0&&(e.s=1),e},A.comparedTo=function(e,t){return m(this,new G(e,t))},A.decimalPlaces=A.dp=function(e,t){var r,n,s,i=this;if(null!=e)return g(e,0,d),null==t?t=x:g(t,0,8),W(new G(i),e+i.e+1,t);if(!(r=i.c))return null;if(n=14*((s=r.length-1)-p(this.e/14)),s=r[s])for(;s%10==0;s/=10,n--);return n<0&&(n=0),n},A.dividedBy=A.div=function(e,t){return r(this,new G(e,t),N,x)},A.dividedToIntegerBy=A.idiv=function(e,t){return r(this,new G(e,t),0,1)},A.exponentiatedBy=A.pow=function(e,t){var r,n,s,i,o,l,f,h,d=this;if((e=new G(e)).c&&!e.isInteger())throw Error(u+"Exponent not an integer: "+q(e));if(null!=t&&(t=new G(t)),o=e.e>14,!d.c||!d.c[0]||1==d.c[0]&&!d.e&&1==d.c.length||!e.c||!e.c[0])return h=new G(Math.pow(+q(d),o?2-y(e):+q(e))),t?h.mod(t):h;if(l=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new G(NaN);(n=!l&&d.isInteger()&&t.isInteger())&&(d=d.mod(t))}else{if(e.e>9&&(d.e>0||d.e<-1||(0==d.e?d.c[0]>1||o&&d.c[1]>=24e7:d.c[0]<8e13||o&&d.c[0]<=9999975e7)))return i=d.s<0&&y(e)?-0:0,d.e>-1&&(i=1/i),new G(l?1/i:i);U&&(i=a(U/14+2))}for(o?(r=new G(.5),l&&(e.s=1),f=y(e)):f=(s=Math.abs(+q(e)))%2,h=new G(k);;){if(f){if(!(h=h.times(d)).c)break;i?h.c.length>i&&(h.c.length=i):n&&(h=h.mod(t))}if(s){if(0===(s=c(s/2)))break;f=s%2}else if(W(e=e.times(r),e.e+1,1),e.e>14)f=y(e);else{if(0===(s=+q(e)))break;f=s%2}d=d.times(d),i?d.c&&d.c.length>i&&(d.c.length=i):n&&(d=d.mod(t))}return n?h:(l&&(h=k.div(h)),t?h.mod(t):i?W(h,U,x,void 0):h)},A.integerValue=function(e){var t=new G(this);return null==e?e=x:g(e,0,8),W(t,t.e+1,e)},A.isEqualTo=A.eq=function(e,t){return 0===m(this,new G(e,t))},A.isFinite=function(){return!!this.c},A.isGreaterThan=A.gt=function(e,t){return m(this,new G(e,t))>0},A.isGreaterThanOrEqualTo=A.gte=function(e,t){return 1===(t=m(this,new G(e,t)))||0===t},A.isInteger=function(){return!!this.c&&p(this.e/14)>this.c.length-2},A.isLessThan=A.lt=function(e,t){return m(this,new G(e,t))<0},A.isLessThanOrEqualTo=A.lte=function(e,t){return-1===(t=m(this,new G(e,t)))||0===t},A.isNaN=function(){return!this.s},A.isNegative=function(){return this.s<0},A.isPositive=function(){return this.s>0},A.isZero=function(){return!!this.c&&0==this.c[0]},A.minus=function(e,t){var r,n,s,i,o=this,a=o.s;if(t=(e=new G(e,t)).s,!a||!t)return new G(NaN);if(a!=t)return e.s=-t,o.plus(e);var c=o.e/14,u=e.e/14,l=o.c,h=e.c;if(!c||!u){if(!l||!h)return l?(e.s=-t,e):new G(h?o:NaN);if(!l[0]||!h[0])return h[0]?(e.s=-t,e):new G(l[0]?o:3==x?-0:0)}if(c=p(c),u=p(u),l=l.slice(),a=c-u){for((i=a<0)?(a=-a,s=l):(u=c,s=h),s.reverse(),t=a;t--;s.push(0));s.reverse()}else for(n=(i=(a=l.length)<(t=h.length))?a:t,a=t=0;t<n;t++)if(l[t]!=h[t]){i=l[t]<h[t];break}if(i&&(s=l,l=h,h=s,e.s=-e.s),(t=(n=h.length)-(r=l.length))>0)for(;t--;l[r++]=0);for(t=f-1;n>a;){if(l[--n]<h[n]){for(r=n;r&&!l[--r];l[r]=t);--l[r],l[n]+=f}l[n]-=h[n]}for(;0==l[0];l.splice(0,1),--u);return l[0]?H(e,l,u):(e.s=3==x?-1:1,e.c=[e.e=0],e)},A.modulo=A.mod=function(e,t){var n,s,i=this;return e=new G(e,t),!i.c||!e.s||e.c&&!e.c[0]?new G(NaN):!e.c||i.c&&!i.c[0]?new G(i):(9==L?(s=e.s,e.s=1,n=r(i,e,0,3),e.s=s,n.s*=s):n=r(i,e,0,L),(e=i.minus(n.times(e))).c[0]||1!=L||(e.s=i.s),e)},A.multipliedBy=A.times=function(e,t){var r,n,s,i,o,a,c,u,l,h,d,_,m,g,y=this,b=y.c,v=(e=new G(e,t)).c;if(!(b&&v&&b[0]&&v[0]))return!y.s||!e.s||b&&!b[0]&&!v||v&&!v[0]&&!b?e.c=e.e=e.s=null:(e.s*=y.s,b&&v?(e.c=[0],e.e=0):e.c=e.e=null),e;for(n=p(y.e/14)+p(e.e/14),e.s*=y.s,(c=b.length)<(h=v.length)&&(m=b,b=v,v=m,s=c,c=h,h=s),s=c+h,m=[];s--;m.push(0));for(g=f,1e7,s=h;--s>=0;){for(r=0,d=v[s]%1e7,_=v[s]/1e7|0,i=s+(o=c);i>s;)r=((u=d*(u=b[--o]%1e7)+(a=_*u+(l=b[o]/1e7|0)*d)%1e7*1e7+m[i]+r)/g|0)+(a/1e7|0)+_*l,m[i--]=u%g;m[i]=r}return r?++n:m.splice(0,1),H(e,m,n)},A.negated=function(){var e=new G(this);return e.s=-e.s||null,e},A.plus=function(e,t){var r,n=this,s=n.s;if(t=(e=new G(e,t)).s,!s||!t)return new G(NaN);if(s!=t)return e.s=-t,n.minus(e);var i=n.e/14,o=e.e/14,a=n.c,c=e.c;if(!i||!o){if(!a||!c)return new G(s/0);if(!a[0]||!c[0])return c[0]?e:new G(a[0]?n:0*s)}if(i=p(i),o=p(o),a=a.slice(),s=i-o){for(s>0?(o=i,r=c):(s=-s,r=a),r.reverse();s--;r.push(0));r.reverse()}for((s=a.length)-(t=c.length)<0&&(r=c,c=a,a=r,t=s),s=0;t;)s=(a[--t]=a[t]+c[t]+s)/f|0,a[t]=f===a[t]?0:a[t]%f;return s&&(a=[s].concat(a),++o),H(e,a,o)},A.precision=A.sd=function(e,t){var r,n,s,i=this;if(null!=e&&e!==!!e)return g(e,1,d),null==t?t=x:g(t,0,8),W(new G(i),e,t);if(!(r=i.c))return null;if(n=14*(s=r.length-1)+1,s=r[s]){for(;s%10==0;s/=10,n--);for(s=r[0];s>=10;s/=10,n++);}return e&&i.e+1>n&&(n=i.e+1),n},A.shiftedBy=function(e){return g(e,-9007199254740991,9007199254740991),this.times("1e"+e)},A.squareRoot=A.sqrt=function(){var e,t,n,s,i,o=this,a=o.c,c=o.s,u=o.e,l=N+4,f=new G("0.5");if(1!==c||!a||!a[0])return new G(!c||c<0&&(!a||a[0])?NaN:a?o:1/0);if(0==(c=Math.sqrt(+q(o)))||c==1/0?(((t=_(a)).length+u)%2==0&&(t+="0"),c=Math.sqrt(+t),u=p((u+1)/2)-(u<0||u%2),n=new G(t=c==1/0?"5e"+u:(t=c.toExponential()).slice(0,t.indexOf("e")+1)+u)):n=new G(c+""),n.c[0])for((c=(u=n.e)+l)<3&&(c=0);;)if(i=n,n=f.times(i.plus(r(o,i,l,1))),_(i.c).slice(0,c)===(t=_(n.c)).slice(0,c)){if(n.e<u&&--c,"9999"!=(t=t.slice(c-3,c+1))&&(s||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(W(n,n.e+N+2,1),e=!n.times(n).eq(o));break}if(!s&&(W(i,i.e+N+2,0),i.times(i).eq(o))){n=i;break}l+=4,c+=4,s=1}return W(n,n.e+N+1,x,e)},A.toExponential=function(e,t){return null!=e&&(g(e,0,d),e++),D(this,e,t,1)},A.toFixed=function(e,t){return null!=e&&(g(e,0,d),e=e+this.e+1),D(this,e,t)},A.toFormat=function(e,t,r){var n,s=this;if(null==r)null!=e&&t&&"object"==typeof t?(r=t,t=null):e&&"object"==typeof e?(r=e,e=t=null):r=M;else if("object"!=typeof r)throw Error(u+"Argument not an object: "+r);if(n=s.toFixed(e,t),s.c){var i,o=n.split("."),a=+r.groupSize,c=+r.secondaryGroupSize,l=r.groupSeparator||"",f=o[0],h=o[1],d=s.s<0,p=d?f.slice(1):f,_=p.length;if(c&&(i=a,a=c,c=i,_-=i),a>0&&_>0){for(i=_%a||a,f=p.substr(0,i);i<_;i+=a)f+=l+p.substr(i,a);c>0&&(f+=l+p.slice(i)),d&&(f="-"+f)}n=h?f+(r.decimalSeparator||"")+((c=+r.fractionGroupSize)?h.replace(new RegExp("\\d{"+c+"}\\B","g"),"$&"+(r.fractionGroupSeparator||"")):h):f}return(r.prefix||"")+n+(r.suffix||"")},A.toFraction=function(e){var t,n,s,i,o,a,c,l,f,d,p,m,g=this,y=g.c;if(null!=e&&(!(c=new G(e)).isInteger()&&(c.c||1!==c.s)||c.lt(k)))throw Error(u+"Argument "+(c.isInteger()?"out of range: ":"not an integer: ")+q(c));if(!y)return new G(g);for(t=new G(k),f=n=new G(k),s=l=new G(k),m=_(y),o=t.e=m.length-g.e-1,t.c[0]=h[(a=o%14)<0?14+a:a],e=!e||c.comparedTo(t)>0?o>0?t:f:c,a=P,P=1/0,c=new G(m),l.c[0]=0;d=r(c,t,0,1),1!=(i=n.plus(d.times(s))).comparedTo(e);)n=s,s=i,f=l.plus(d.times(i=f)),l=i,t=c.minus(d.times(i=t)),c=i;return i=r(e.minus(n),s,0,1),l=l.plus(i.times(f)),n=n.plus(i.times(s)),l.s=f.s=g.s,p=r(f,s,o*=2,x).minus(g).abs().comparedTo(r(l,n,o,x).minus(g).abs())<1?[f,s]:[l,n],P=a,p},A.toNumber=function(){return+q(this)},A.toPrecision=function(e,t){return null!=e&&g(e,1,d),D(this,e,t,2)},A.toString=function(e){var t,r=this,s=r.s,i=r.e;return null===i?s?(t="Infinity",s<0&&(t="-"+t)):t="NaN":(null==e?t=i<=C||i>=I?b(_(r.c),i):v(_(r.c),i,"0"):10===e?t=v(_((r=W(new G(r),N+i+1,x)).c),r.e,"0"):(g(e,2,F.length,"Base"),t=n(v(_(r.c),i,"0"),10,e,s,!0)),s<0&&r.c[0]&&(t="-"+t)),t},A.valueOf=A.toJSON=function(){return q(this)},A._isBigNumber=!0,null!=t&&G.set(t),G}()).default=i.BigNumber=i,void 0===(n=function(){return i}.call(t,r,t,e))||(e.exports=n)}()},34:function(e,t,r){"use strict";const n=r(14),s=r(56),i=r(35),o=r(47),a=r(48),{randomBytes:c,createHash:u}=r(12),{URL:l}=r(21),f=r(16),h=r(36),d=r(39),{BINARY_TYPES:p,EMPTY_BUFFER:_,GUID:m,kStatusCode:g,kWebSocket:y,NOOP:b}=r(8),{addEventListener:v,removeEventListener:S}=r(61),{format:E,parse:w}=r(40),{toBuffer:T}=r(17),O=["CONNECTING","OPEN","CLOSING","CLOSED"],A=[8,13];class k extends n{constructor(e,t,r){super(),this._binaryType=p[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=k.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(t)?t=t.join(", "):"object"==typeof t&&null!==t&&(r=t,t=void 0),function e(t,r,n,o){const a={protocolVersion:A[1],maxPayload:104857600,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...o,createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:void 0,host:void 0,path:void 0,port:void 0};if(!A.includes(a.protocolVersion))throw new RangeError(`Unsupported protocol version: ${a.protocolVersion} (supported versions: ${A.join(", ")})`);let h;r instanceof l?(h=r,t._url=r.href):(h=new l(r),t._url=r);const d="ws+unix:"===h.protocol;if(!(h.host||d&&h.pathname))throw new Error("Invalid URL: "+t.url);const p="wss:"===h.protocol||"https:"===h.protocol,_=p?443:80,g=c(16).toString("base64"),y=p?s.get:i.get;let b;a.createConnection=p?x:N,a.defaultPort=a.defaultPort||_,a.port=h.port||_,a.host=h.hostname.startsWith("[")?h.hostname.slice(1,-1):h.hostname,a.headers={"Sec-WebSocket-Version":a.protocolVersion,"Sec-WebSocket-Key":g,Connection:"Upgrade",Upgrade:"websocket",...a.headers},a.path=h.pathname+h.search,a.timeout=a.handshakeTimeout,a.perMessageDeflate&&(b=new f(!0!==a.perMessageDeflate?a.perMessageDeflate:{},!1,a.maxPayload),a.headers["Sec-WebSocket-Extensions"]=E({[f.extensionName]:b.offer()}));n&&(a.headers["Sec-WebSocket-Protocol"]=n);a.origin&&(a.protocolVersion<13?a.headers["Sec-WebSocket-Origin"]=a.origin:a.headers.Origin=a.origin);(h.username||h.password)&&(a.auth=`${h.username}:${h.password}`);if(d){const e=a.path.split(":");a.socketPath=e[0],a.path=e[1]}let v=t._req=y(a);a.timeout&&v.on("timeout",()=>{C(t,v,"Opening handshake has timed out")});v.on("error",e=>{null===v||v.aborted||(v=t._req=null,t._readyState=k.CLOSING,t.emit("error",e),t.emitClose())}),v.on("response",s=>{const i=s.headers.location,c=s.statusCode;if(i&&a.followRedirects&&c>=300&&c<400){if(++t._redirects>a.maxRedirects)return void C(t,v,"Maximum redirects exceeded");v.abort();const s=new l(i,r);e(t,s,n,o)}else t.emit("unexpected-response",v,s)||C(t,v,"Unexpected server response: "+s.statusCode)}),v.on("upgrade",(e,r,s)=>{if(t.emit("upgrade",e),t.readyState!==k.CONNECTING)return;v=t._req=null;const i=u("sha1").update(g+m).digest("base64");if(e.headers["sec-websocket-accept"]!==i)return void C(t,r,"Invalid Sec-WebSocket-Accept header");const o=e.headers["sec-websocket-protocol"],c=(n||"").split(/, */);let l;if(!n&&o?l="Server sent a subprotocol but none was requested":n&&!o?l="Server sent no subprotocol":o&&!c.includes(o)&&(l="Server sent an invalid subprotocol"),l)C(t,r,l);else{if(o&&(t._protocol=o),b)try{const r=w(e.headers["sec-websocket-extensions"]);r[f.extensionName]&&(b.accept(r[f.extensionName]),t._extensions[f.extensionName]=b)}catch(e){return void C(t,r,"Invalid Sec-WebSocket-Extensions header")}t.setSocket(r,s,a.maxPayload)}})}(this,e,t,r)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(e){p.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,r){const n=new h(this.binaryType,this._extensions,this._isServer,r);this._sender=new d(e,this._extensions),this._receiver=n,this._socket=e,n[y]=this,e[y]=this,n.on("conclude",R),n.on("drain",P),n.on("error",B),n.on("message",U),n.on("ping",M),n.on("pong",F),e.setTimeout(0),e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",G),e.on("data",D),e.on("end",j),e.on("error",H),this._readyState=k.OPEN,this.emit("open")}emitClose(){if(!this._socket)return this._readyState=k.CLOSED,void this.emit("close",this._closeCode,this._closeMessage);this._extensions[f.extensionName]&&this._extensions[f.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=k.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==k.CLOSED){if(this.readyState===k.CONNECTING){const e="WebSocket was closed before the connection was established";return C(this,this._req,e)}this.readyState!==k.CLOSING?(this._readyState=k.CLOSING,this._sender.close(e,t,!this._isServer,e=>{e||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),3e4)):this._closeFrameSent&&this._closeFrameReceived&&this._socket.end()}}ping(e,t,r){if(this.readyState===k.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof e?(r=e,e=t=void 0):"function"==typeof t&&(r=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState===k.OPEN?(void 0===t&&(t=!this._isServer),this._sender.ping(e||_,t,r)):I(this,e,r)}pong(e,t,r){if(this.readyState===k.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof e?(r=e,e=t=void 0):"function"==typeof t&&(r=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState===k.OPEN?(void 0===t&&(t=!this._isServer),this._sender.pong(e||_,t,r)):I(this,e,r)}send(e,t,r){if(this.readyState===k.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(r=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==k.OPEN)return void I(this,e,r);const n={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[f.extensionName]||(n.compress=!1),this._sender.send(e||_,n,r)}terminate(){if(this.readyState!==k.CLOSED){if(this.readyState===k.CONNECTING){const e="WebSocket was closed before the connection was established";return C(this,this._req,e)}this._socket&&(this._readyState=k.CLOSING,this._socket.destroy())}}}function N(e){return e.path=e.socketPath,o.connect(e)}function x(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=o.isIP(e.host)?"":e.host),a.connect(e)}function C(e,t,r){e._readyState=k.CLOSING;const n=new Error(r);Error.captureStackTrace(n,C),t.setHeader?(t.abort(),t.once("abort",e.emitClose.bind(e)),e.emit("error",n)):(t.destroy(n),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function I(e,t,r){if(t){const r=T(t).length;e._socket?e._sender._bufferedBytes+=r:e._bufferedAmount+=r}if(r){r(new Error(`WebSocket is not open: readyState ${e.readyState} (${O[e.readyState]})`))}}function R(e,t){const r=this[y];r._socket.removeListener("data",D),r._socket.resume(),r._closeFrameReceived=!0,r._closeMessage=t,r._closeCode=e,1005===e?r.close():r.close(e,t)}function P(){this[y]._socket.resume()}function B(e){const t=this[y];t._socket.removeListener("data",D),t._readyState=k.CLOSING,t._closeCode=e[g],t.emit("error",e),t._socket.destroy()}function L(){this[y].emitClose()}function U(e){this[y].emit("message",e)}function M(e){const t=this[y];t.pong(e,!t._isServer,b),t.emit("ping",e)}function F(e){this[y].emit("pong",e)}function G(){const e=this[y];this.removeListener("close",G),this.removeListener("end",j),e._readyState=k.CLOSING,e._socket.read(),e._receiver.end(),this.removeListener("data",D),this[y]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",L),e._receiver.on("finish",L))}function D(e){this[y]._receiver.write(e)||this.pause()}function j(){const e=this[y];e._readyState=k.CLOSING,e._receiver.end(),this.end()}function H(){const e=this[y];this.removeListener("error",H),this.on("error",b),e&&(e._readyState=k.CLOSING,this.destroy())}O.forEach((e,t)=>{const r={enumerable:!0,value:t};Object.defineProperty(k.prototype,e,r),Object.defineProperty(k,e,r)}),["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(e=>{Object.defineProperty(k.prototype,e,{enumerable:!0})}),["open","error","close","message"].forEach(e=>{Object.defineProperty(k.prototype,"on"+e,{configurable:!0,enumerable:!0,get(){const t=this.listeners(e);for(let e=0;e<t.length;e++)if(t[e]._listener)return t[e]._listener},set(t){const r=this.listeners(e);for(let t=0;t<r.length;t++)r[t]._listener&&this.removeListener(e,r[t]);this.addEventListener(e,t)}})}),k.prototype.addEventListener=v,k.prototype.removeEventListener=S,e.exports=k},344:function(e,t,r){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)},s=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return i(t,e),t},a=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(s,i){function o(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?s(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}c((n=n.apply(e,t||[])).next())}))},c=this&&this.__generator||function(e,t){var r,n,s,i,o={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(s=2&i[0]?n.return:i[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,i[1])).done)return s;switch(n=0,s&&(i=[2&i[0],s.value]),i[0]){case 0:case 1:s=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,n=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(s=o.trys,(s=s.length>0&&s[s.length-1])||6!==i[0]&&2!==i[0])){o=0;continue}if(3===i[0]&&(!s||i[1]>s[0]&&i[1]<s[3])){o.label=i[1];break}if(6===i[0]&&o.label<s[1]){o.label=s[1],s=i;break}if(s&&o.label<s[2]){o.label=s[2],o.ops.push(i);break}s[2]&&o.ops.pop(),o.trys.pop();continue}i=t.call(e,o)}catch(e){i=[6,e],n=0}finally{r=s=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}},u=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var l,f=r(23),h=r(44),d=u(r(345)),p=o(r(347)),_=new(u(r(73)).default)(postMessage),m=[],g=function(){l&&(l.dispose(),l.removeAllListeners(),l=void 0),m=[],_.removeAccounts(_.getAccounts()),_.removeAddresses(_.getAddresses()),_.clearSubscriptions()},y=function(){return a(void 0,void 0,void 0,(function(){var e,t,r,n,s,i;return c(this,(function(o){switch(o.label){case 0:if(l&&l.isConnected())return[2,l];if(e=_.getSettings(),t=e.server,r=e.timeout,n=e.pingTimeout,s=e.keepAlive,!t||!Array.isArray(t)||t.length<1)throw new f.CustomError("connect","Endpoint not set");m.length<1&&(m=_.shuffleEndpoints(t.slice(0))),_.debug("Connecting to",m[0]),i=new d.default({url:m[0],timeout:r,pingTimeout:n,keepAlive:s}),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,i.connect()];case 2:return o.sent(),l=i,[3,4];case 3:if(o.sent(),_.debug("Websocket connection failed"),l=void 0,m.splice(0,1),m.length<1)throw new f.CustomError("connect","All backends are down");return[2,y()];case 4:return i.on("disconnected",(function(){_.response({id:-1,type:h.RESPONSES.DISCONNECTED,payload:!0}),g()})),_.response({id:-1,type:h.RESPONSES.CONNECTED}),_.debug("Connected"),[2,i]}}))}))},b=function(e){_.response({id:-1,type:h.RESPONSES.NOTIFICATION,payload:{type:"block",payload:{blockHeight:e.height,blockHash:e.hash}}})},v=function(e){if(e.tx){var t=e.address,r=_.getAccount(t);_.response({id:-1,type:h.RESPONSES.NOTIFICATION,payload:{type:"notification",payload:{descriptor:r?r.descriptor:t,tx:r?p.transformTransaction(r.descriptor,r.addresses,e.tx):p.transformTransaction(t,void 0,e.tx)}}})}},S=function(e){_.response({id:-1,type:h.RESPONSES.NOTIFICATION,payload:{type:"fiatRates",payload:{rates:e.rates}}})};onmessage=function(e){if(e.data){var t=e.data,r=t.id,s=t.type;switch(_.debug("onmessage",t),t.type){case h.MESSAGES.HANDSHAKE:_.setSettings(t.settings);break;case h.MESSAGES.CONNECT:y().then((function(){_.response({id:r,type:h.RESPONSES.CONNECT,payload:!0})})).catch((function(e){return _.errorHandler({id:r,error:e})}));break;case h.MESSAGES.GET_INFO:!function(e){a(void 0,void 0,void 0,(function(){var t,r,s;return c(this,(function(i){switch(i.label){case 0:return i.trys.push([0,3,,4]),[4,y()];case 1:return[4,(t=i.sent()).getServerInfo()];case 2:return r=i.sent(),_.response({id:e.id,type:h.RESPONSES.GET_INFO,payload:n({url:t.options.url},p.transformServerInfo(r))}),[3,4];case 3:return s=i.sent(),_.errorHandler({id:e.id,error:s}),[3,4];case 4:return[2]}}))}))}(t);break;case h.MESSAGES.GET_BLOCK_HASH:!function(e){a(void 0,void 0,void 0,(function(){var t,r;return c(this,(function(n){switch(n.label){case 0:return n.trys.push([0,3,,4]),[4,y()];case 1:return[4,n.sent().getBlockHash(e.payload)];case 2:return t=n.sent(),_.response({id:e.id,type:h.RESPONSES.GET_BLOCK_HASH,payload:t.hash}),[3,4];case 3:return r=n.sent(),_.errorHandler({id:e.id,error:r}),[3,4];case 4:return[2]}}))}))}(t);break;case h.MESSAGES.GET_ACCOUNT_INFO:!function(e){a(void 0,void 0,void 0,(function(){var t,r,n;return c(this,(function(s){switch(s.label){case 0:t=e.payload,s.label=1;case 1:return s.trys.push([1,4,,5]),[4,y()];case 2:return[4,s.sent().getAccountInfo(t)];case 3:return r=s.sent(),_.response({id:e.id,type:h.RESPONSES.GET_ACCOUNT_INFO,payload:p.transformAccountInfo(r)}),[3,5];case 4:return n=s.sent(),_.errorHandler({id:e.id,error:n}),[3,5];case 5:return[2]}}))}))}(t);break;case h.MESSAGES.GET_ACCOUNT_UTXO:!function(e){a(void 0,void 0,void 0,(function(){var t,r,n;return c(this,(function(s){switch(s.label){case 0:t=e.payload,s.label=1;case 1:return s.trys.push([1,4,,5]),[4,y()];case 2:return[4,s.sent().getAccountUtxo(t)];case 3:return r=s.sent(),_.response({id:e.id,type:h.RESPONSES.GET_ACCOUNT_UTXO,payload:p.transformAccountUtxo(r)}),[3,5];case 4:return n=s.sent(),_.errorHandler({id:e.id,error:n}),[3,5];case 5:return[2]}}))}))}(t);break;case h.MESSAGES.GET_TRANSACTION:!function(e){a(void 0,void 0,void 0,(function(){var t,r,n;return c(this,(function(s){switch(s.label){case 0:t=e.payload,s.label=1;case 1:return s.trys.push([1,4,,5]),[4,y()];case 2:return[4,s.sent().getTransaction(t)];case 3:return r=s.sent(),_.response({id:e.id,type:h.RESPONSES.GET_TRANSACTION,payload:{type:"blockbook",tx:r}}),[3,5];case 4:return n=s.sent(),_.errorHandler({id:e.id,error:n}),[3,5];case 5:return[2]}}))}))}(t);break;case h.MESSAGES.GET_ACCOUNT_BALANCE_HISTORY:!function(e){a(void 0,void 0,void 0,(function(){var t,r,n;return c(this,(function(s){switch(s.label){case 0:t=e.payload,s.label=1;case 1:return s.trys.push([1,4,,5]),[4,y()];case 2:return[4,s.sent().getAccountBalanceHistory(t)];case 3:return r=s.sent(),_.response({id:e.id,type:h.RESPONSES.GET_ACCOUNT_BALANCE_HISTORY,payload:r}),[3,5];case 4:return n=s.sent(),_.errorHandler({id:e.id,error:n}),[3,5];case 5:return[2]}}))}))}(t);break;case h.MESSAGES.GET_CURRENT_FIAT_RATES:!function(e){a(void 0,void 0,void 0,(function(){var t,r,n;return c(this,(function(s){switch(s.label){case 0:t=e.payload,s.label=1;case 1:return s.trys.push([1,4,,5]),[4,y()];case 2:return[4,s.sent().getCurrentFiatRates(t)];case 3:return r=s.sent(),_.response({id:e.id,type:h.RESPONSES.GET_CURRENT_FIAT_RATES,payload:r}),[3,5];case 4:return n=s.sent(),_.errorHandler({id:e.id,error:n}),[3,5];case 5:return[2]}}))}))}(t);break;case h.MESSAGES.GET_FIAT_RATES_FOR_TIMESTAMPS:!function(e){a(void 0,void 0,void 0,(function(){var t,r,n;return c(this,(function(s){switch(s.label){case 0:t=e.payload,s.label=1;case 1:return s.trys.push([1,4,,5]),[4,y()];case 2:return[4,s.sent().getFiatRatesForTimestamps(t)];case 3:return r=s.sent().tickers,_.response({id:e.id,type:h.RESPONSES.GET_FIAT_RATES_FOR_TIMESTAMPS,payload:{tickers:r}}),[3,5];case 4:return n=s.sent(),_.errorHandler({id:e.id,error:n}),[3,5];case 5:return[2]}}))}))}(t);break;case h.MESSAGES.GET_FIAT_RATES_TICKERS_LIST:!function(e){a(void 0,void 0,void 0,(function(){var t,r,n;return c(this,(function(s){switch(s.label){case 0:t=e.payload,s.label=1;case 1:return s.trys.push([1,4,,5]),[4,y()];case 2:return[4,s.sent().getFiatRatesTickersList(t)];case 3:return r=s.sent(),_.response({id:e.id,type:h.RESPONSES.GET_FIAT_RATES_TICKERS_LIST,payload:{ts:r.ts,availableCurrencies:r.available_currencies}}),[3,5];case 4:return n=s.sent(),_.errorHandler({id:e.id,error:n}),[3,5];case 5:return[2]}}))}))}(t);break;case h.MESSAGES.ESTIMATE_FEE:!function(e){a(void 0,void 0,void 0,(function(){var t,r;return c(this,(function(n){switch(n.label){case 0:return n.trys.push([0,3,,4]),[4,y()];case 1:return[4,n.sent().estimateFee(e.payload)];case 2:return t=n.sent(),_.response({id:e.id,type:h.RESPONSES.ESTIMATE_FEE,payload:t}),[3,4];case 3:return r=n.sent(),_.errorHandler({id:e.id,error:r}),[3,4];case 4:return[2]}}))}))}(t);break;case h.MESSAGES.PUSH_TRANSACTION:!function(e){a(void 0,void 0,void 0,(function(){var t,r;return c(this,(function(n){switch(n.label){case 0:return n.trys.push([0,3,,4]),[4,y()];case 1:return[4,n.sent().pushTransaction(e.payload)];case 2:return t=n.sent(),_.response({id:e.id,type:h.RESPONSES.PUSH_TRANSACTION,payload:t.result}),[3,4];case 3:return r=n.sent(),_.errorHandler({id:e.id,error:r}),[3,4];case 4:return[2]}}))}))}(t);break;case h.MESSAGES.SUBSCRIBE:!function(e){a(void 0,void 0,void 0,(function(){var t,r,n;return c(this,(function(s){switch(s.label){case 0:t=e.payload,s.label=1;case 1:return s.trys.push([1,11,,12]),r=void 0,"accounts"!==t.type?[3,3]:[4,(u=t.accounts,a(void 0,void 0,void 0,(function(){var e;return c(this,(function(t){switch(t.label){case 0:return _.addAccounts(u),[4,y()];case 1:return e=t.sent(),_.getSubscription("notification")||(e.on("notification",v),_.addSubscription("notification")),[2,e.subscribeAddresses(_.getAddresses())]}}))})))];case 2:return r=s.sent(),[3,10];case 3:return"addresses"!==t.type?[3,5]:[4,(o=t.addresses,a(void 0,void 0,void 0,(function(){var e;return c(this,(function(t){switch(t.label){case 0:return _.addAddresses(o),[4,y()];case 1:return e=t.sent(),_.getSubscription("notification")||(e.on("notification",v),_.addSubscription("notification")),[2,e.subscribeAddresses(_.getAddresses())]}}))})))];case 4:return r=s.sent(),[3,10];case 5:return"block"!==t.type?[3,7]:[4,a(void 0,void 0,void 0,(function(){var e;return c(this,(function(t){switch(t.label){case 0:return _.getSubscription("block")?[2,{subscribed:!0}]:[4,y()];case 1:return e=t.sent(),_.addSubscription("block"),e.on("block",b),[2,e.subscribeBlock()]}}))}))];case 6:return r=s.sent(),[3,10];case 7:return"fiatRates"!==t.type?[3,9]:[4,(i=t.currency,a(void 0,void 0,void 0,(function(){var e;return c(this,(function(t){switch(t.label){case 0:return[4,y()];case 1:return e=t.sent(),_.getSubscription("fiatRates")||(_.addSubscription("fiatRates"),e.on("fiatRates",S)),[2,e.subscribeFiatRates(i)]}}))})))];case 8:return r=s.sent(),[3,10];case 9:throw new f.CustomError("invalid_param","+type");case 10:return _.response({id:e.id,type:h.RESPONSES.SUBSCRIBE,payload:r}),[3,12];case 11:return n=s.sent(),_.errorHandler({id:e.id,error:n}),[3,12];case 12:return[2]}var i,o,u}))}))}(t);break;case h.MESSAGES.UNSUBSCRIBE:!function(e){a(void 0,void 0,void 0,(function(){var t,r,n;return c(this,(function(s){switch(s.label){case 0:t=e.payload,s.label=1;case 1:return s.trys.push([1,11,,12]),r=void 0,"accounts"!==t.type?[3,3]:[4,(o=t.accounts,a(void 0,void 0,void 0,(function(){var e,t;return c(this,(function(r){switch(r.label){case 0:return _.removeAccounts(o||_.getAccounts()),[4,y()];case 1:return e=r.sent(),(t=_.getAddresses()).length<1?(e.removeListener("notification",v),_.removeSubscription("notification"),[2,e.unsubscribeAddresses()]):[2,e.subscribeAddresses(t)]}}))})))];case 2:return r=s.sent(),[3,10];case 3:return"addresses"!==t.type?[3,5]:[4,(i=t.addresses,a(void 0,void 0,void 0,(function(){var e,t;return c(this,(function(r){switch(r.label){case 0:return[4,y()];case 1:return e=r.sent(),i||_.removeAccounts(_.getAccounts()),(t=_.removeAddresses(i||_.getAddresses())).length<1?(e.removeListener("notification",v),_.removeSubscription("notification"),[2,e.unsubscribeAddresses()]):[2,e.subscribeAddresses(t)]}}))})))];case 4:return r=s.sent(),[3,10];case 5:return"block"!==t.type?[3,7]:[4,a(void 0,void 0,void 0,(function(){var e;return c(this,(function(t){switch(t.label){case 0:return _.getSubscription("block")?[4,y()]:[2,{subscribed:!1}];case 1:return(e=t.sent()).removeListener("block",b),_.removeSubscription("block"),[2,e.unsubscribeBlock()]}}))}))];case 6:return r=s.sent(),[3,10];case 7:return"fiatRates"!==t.type?[3,9]:[4,a(void 0,void 0,void 0,(function(){var e;return c(this,(function(t){switch(t.label){case 0:return _.getSubscription("fiatRates")?[4,y()]:[2,{subscribed:!1}];case 1:return(e=t.sent()).removeListener("fiatRates",b),_.removeSubscription("fiatRates"),[2,e.unsubscribeFiatRates()]}}))}))];case 8:return r=s.sent(),[3,10];case 9:throw new f.CustomError("invalid_param","+type");case 10:return _.response({id:e.id,type:h.RESPONSES.UNSUBSCRIBE,payload:r}),[3,12];case 11:return n=s.sent(),_.errorHandler({id:e.id,error:n}),[3,12];case 12:return[2]}var i,o}))}))}(t);break;case h.MESSAGES.DISCONNECT:!function(e){a(void 0,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:if(!l)return _.response({id:e.id,type:h.RESPONSES.DISCONNECTED,payload:!0}),[2];r.label=1;case 1:re