@orderly.network/core 2.1.3-alpha.0 → 2.2.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +10 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Bn=Object.create;var ze=Object.defineProperty;var Fn=Object.getOwnPropertyDescriptor;var On=Object.getOwnPropertyNames;var Dn=Object.getPrototypeOf,Pn=Object.prototype.hasOwnProperty;var Kn=(n,e)=>()=>(n&&(e=n(n=0)),e);var se=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),Vn=(n,e)=>{for(var t in e)ze(n,t,{get:e[t],enumerable:!0})},Hn=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of On(e))!Pn.call(n,a)&&a!==t&&ze(n,a,{get:()=>e[a],enumerable:!(r=Fn(e,a))||r.enumerable});return n};var fe=(n,e,t)=>(t=n!=null?Bn(Dn(n)):{},Hn(e||!n||!n.__esModule?ze(t,"default",{value:n,enumerable:!0}):t,n));var Ct=se(Ee=>{"use strict";c();Ee.byteLength=Wn;Ee.toByteArray=zn;Ee.fromByteArray=jn;var H=[],D=[],Ln=typeof Uint8Array<"u"?Uint8Array:Array,Xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Q=0,xt=Xe.length;Q<xt;++Q)H[Q]=Xe[Q],D[Xe.charCodeAt(Q)]=Q;var Q,xt;D[45]=62;D[95]=63;function Et(n){var e=n.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=n.indexOf("=");t===-1&&(t=e);var r=t===e?0:4-t%4;return[t,r]}function Wn(n){var e=Et(n),t=e[0],r=e[1];return(t+r)*3/4-r}function Gn(n,e,t){return(e+t)*3/4-t}function zn(n){var e,t=Et(n),r=t[0],a=t[1],s=new Ln(Gn(n,r,a)),i=0,o=a>0?r-4:r,p;for(p=0;p<o;p+=4)e=D[n.charCodeAt(p)]<<18|D[n.charCodeAt(p+1)]<<12|D[n.charCodeAt(p+2)]<<6|D[n.charCodeAt(p+3)],s[i++]=e>>16&255,s[i++]=e>>8&255,s[i++]=e&255;return a===2&&(e=D[n.charCodeAt(p)]<<2|D[n.charCodeAt(p+1)]>>4,s[i++]=e&255),a===1&&(e=D[n.charCodeAt(p)]<<10|D[n.charCodeAt(p+1)]<<4|D[n.charCodeAt(p+2)]>>2,s[i++]=e>>8&255,s[i++]=e&255),s}function Xn(n){return H[n>>18&63]+H[n>>12&63]+H[n>>6&63]+H[n&63]}function qn(n,e,t){for(var r,a=[],s=e;s<t;s+=3)r=(n[s]<<16&16711680)+(n[s+1]<<8&65280)+(n[s+2]&255),a.push(Xn(r));return a.join("")}function jn(n){for(var e,t=n.length,r=t%3,a=[],s=16383,i=0,o=t-r;i<o;i+=s)a.push(qn(n,i,i+s>o?o:i+s));return r===1?(e=n[t-1],a.push(H[e>>2]+H[e<<4&63]+"==")):r===2&&(e=(n[t-2]<<8)+n[t-1],a.push(H[e>>10]+H[e>>4&63]+H[e<<2&63]+"=")),a.join("")}});var It=se(qe=>{"use strict";c();qe.read=function(n,e,t,r,a){var s,i,o=a*8-r-1,p=(1<<o)-1,y=p>>1,d=-7,l=t?a-1:0,h=t?-1:1,f=n[e+l];for(l+=h,s=f&(1<<-d)-1,f>>=-d,d+=o;d>0;s=s*256+n[e+l],l+=h,d-=8);for(i=s&(1<<-d)-1,s>>=-d,d+=r;d>0;i=i*256+n[e+l],l+=h,d-=8);if(s===0)s=1-y;else{if(s===p)return i?NaN:(f?-1:1)*(1/0);i=i+Math.pow(2,r),s=s-y}return(f?-1:1)*i*Math.pow(2,s-r)};qe.write=function(n,e,t,r,a,s){var i,o,p,y=s*8-a-1,d=(1<<y)-1,l=d>>1,h=a===23?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:s-1,g=r?1:-1,A=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,i=d):(i=Math.floor(Math.log(e)/Math.LN2),e*(p=Math.pow(2,-i))<1&&(i--,p*=2),i+l>=1?e+=h/p:e+=h*Math.pow(2,1-l),e*p>=2&&(i++,p/=2),i+l>=d?(o=0,i=d):i+l>=1?(o=(e*p-1)*Math.pow(2,a),i=i+l):(o=e*Math.pow(2,l-1)*Math.pow(2,a),i=0));a>=8;n[t+f]=o&255,f+=g,o/=256,a-=8);for(i=i<<a|o,y+=a;y>0;n[t+f]=i&255,f+=g,i/=256,y-=8);n[t+f-g]|=A*128}});var tt=se(oe=>{"use strict";c();var je=Ct(),ie=It(),_t=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;oe.Buffer=u;oe.SlowBuffer=er;oe.INSPECT_MAX_BYTES=50;var Ce=2147483647;oe.kMaxLength=Ce;u.TYPED_ARRAY_SUPPORT=Yn();!u.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Yn(){try{var n=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(n,e),n.foo()===42}catch{return!1}}Object.defineProperty(u.prototype,"parent",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.buffer}});Object.defineProperty(u.prototype,"offset",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.byteOffset}});function q(n){if(n>Ce)throw new RangeError('The value "'+n+'" is invalid for option "size"');var e=new Uint8Array(n);return Object.setPrototypeOf(e,u.prototype),e}function u(n,e,t){if(typeof n=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return $e(n)}return kt(n,e,t)}u.poolSize=8192;function kt(n,e,t){if(typeof n=="string")return Zn(n,e);if(ArrayBuffer.isView(n))return $n(n);if(n==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof n);if(L(n,ArrayBuffer)||n&&L(n.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(L(n,SharedArrayBuffer)||n&&L(n.buffer,SharedArrayBuffer)))return Je(n,e,t);if(typeof n=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var r=n.valueOf&&n.valueOf();if(r!=null&&r!==n)return u.from(r,e,t);var a=Qn(n);if(a)return a;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof n[Symbol.toPrimitive]=="function")return u.from(n[Symbol.toPrimitive]("string"),e,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof n)}u.from=function(n,e,t){return kt(n,e,t)};Object.setPrototypeOf(u.prototype,Uint8Array.prototype);Object.setPrototypeOf(u,Uint8Array);function Nt(n){if(typeof n!="number")throw new TypeError('"size" argument must be of type number');if(n<0)throw new RangeError('The value "'+n+'" is invalid for option "size"')}function Jn(n,e,t){return Nt(n),n<=0?q(n):e!==void 0?typeof t=="string"?q(n).fill(e,t):q(n).fill(e):q(n)}u.alloc=function(n,e,t){return Jn(n,e,t)};function $e(n){return Nt(n),q(n<0?0:Qe(n)|0)}u.allocUnsafe=function(n){return $e(n)};u.allocUnsafeSlow=function(n){return $e(n)};function Zn(n,e){if((typeof e!="string"||e==="")&&(e="utf8"),!u.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var t=Rt(n,e)|0,r=q(t),a=r.write(n,e);return a!==t&&(r=r.slice(0,a)),r}function Ye(n){for(var e=n.length<0?0:Qe(n.length)|0,t=q(e),r=0;r<e;r+=1)t[r]=n[r]&255;return t}function $n(n){if(L(n,Uint8Array)){var e=new Uint8Array(n);return Je(e.buffer,e.byteOffset,e.byteLength)}return Ye(n)}function Je(n,e,t){if(e<0||n.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(n.byteLength<e+(t||0))throw new RangeError('"length" is outside of buffer bounds');var r;return e===void 0&&t===void 0?r=new Uint8Array(n):t===void 0?r=new Uint8Array(n,e):r=new Uint8Array(n,e,t),Object.setPrototypeOf(r,u.prototype),r}function Qn(n){if(u.isBuffer(n)){var e=Qe(n.length)|0,t=q(e);return t.length===0||n.copy(t,0,0,e),t}if(n.length!==void 0)return typeof n.length!="number"||et(n.length)?q(0):Ye(n);if(n.type==="Buffer"&&Array.isArray(n.data))return Ye(n.data)}function Qe(n){if(n>=Ce)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ce.toString(16)+" bytes");return n|0}function er(n){return+n!=n&&(n=0),u.alloc(+n)}u.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==u.prototype};u.compare=function(e,t){if(L(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),L(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),!u.isBuffer(e)||!u.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,a=t.length,s=0,i=Math.min(r,a);s<i;++s)if(e[s]!==t[s]){r=e[s],a=t[s];break}return r<a?-1:a<r?1:0};u.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};u.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return u.alloc(0);var r;if(t===void 0)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var a=u.allocUnsafe(t),s=0;for(r=0;r<e.length;++r){var i=e[r];if(L(i,Uint8Array))s+i.length>a.length?u.from(i).copy(a,s):Uint8Array.prototype.set.call(a,i,s);else if(u.isBuffer(i))i.copy(a,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=i.length}return a};function Rt(n,e){if(u.isBuffer(n))return n.length;if(ArrayBuffer.isView(n)||L(n,ArrayBuffer))return n.byteLength;if(typeof n!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof n);var t=n.length,r=arguments.length>2&&arguments[2]===!0;if(!r&&t===0)return 0;for(var a=!1;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return Ze(n).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return t*2;case"hex":return t>>>1;case"base64":return Pt(n).length;default:if(a)return r?-1:Ze(n).length;e=(""+e).toLowerCase(),a=!0}}u.byteLength=Rt;function tr(n,e,t){var r=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((t===void 0||t>this.length)&&(t=this.length),t<=0)||(t>>>=0,e>>>=0,t<=e))return"";for(n||(n="utf8");;)switch(n){case"hex":return yr(this,e,t);case"utf8":case"utf-8":return Bt(this,e,t);case"ascii":return pr(this,e,t);case"latin1":case"binary":return dr(this,e,t);case"base64":return or(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return lr(this,e,t);default:if(r)throw new TypeError("Unknown encoding: "+n);n=(n+"").toLowerCase(),r=!0}}u.prototype._isBuffer=!0;function ee(n,e,t){var r=n[e];n[e]=n[t],n[t]=r}u.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)ee(this,t,t+1);return this};u.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)ee(this,t,t+3),ee(this,t+1,t+2);return this};u.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)ee(this,t,t+7),ee(this,t+1,t+6),ee(this,t+2,t+5),ee(this,t+3,t+4);return this};u.prototype.toString=function(){var e=this.length;return e===0?"":arguments.length===0?Bt(this,0,e):tr.apply(this,arguments)};u.prototype.toLocaleString=u.prototype.toString;u.prototype.equals=function(e){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:u.compare(this,e)===0};u.prototype.inspect=function(){var e="",t=oe.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"};_t&&(u.prototype[_t]=u.prototype.inspect);u.prototype.compare=function(e,t,r,a,s){if(L(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),a===void 0&&(a=0),s===void 0&&(s=this.length),t<0||r>e.length||a<0||s>this.length)throw new RangeError("out of range index");if(a>=s&&t>=r)return 0;if(a>=s)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,a>>>=0,s>>>=0,this===e)return 0;for(var i=s-a,o=r-t,p=Math.min(i,o),y=this.slice(a,s),d=e.slice(t,r),l=0;l<p;++l)if(y[l]!==d[l]){i=y[l],o=d[l];break}return i<o?-1:o<i?1:0};function Ut(n,e,t,r,a){if(n.length===0)return-1;if(typeof t=="string"?(r=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,et(t)&&(t=a?0:n.length-1),t<0&&(t=n.length+t),t>=n.length){if(a)return-1;t=n.length-1}else if(t<0)if(a)t=0;else return-1;if(typeof e=="string"&&(e=u.from(e,r)),u.isBuffer(e))return e.length===0?-1:St(n,e,t,r,a);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?a?Uint8Array.prototype.indexOf.call(n,e,t):Uint8Array.prototype.lastIndexOf.call(n,e,t):St(n,[e],t,r,a);throw new TypeError("val must be string, number or Buffer")}function St(n,e,t,r,a){var s=1,i=n.length,o=e.length;if(r!==void 0&&(r=String(r).toLowerCase(),r==="ucs2"||r==="ucs-2"||r==="utf16le"||r==="utf-16le")){if(n.length<2||e.length<2)return-1;s=2,i/=2,o/=2,t/=2}function p(f,g){return s===1?f[g]:f.readUInt16BE(g*s)}var y;if(a){var d=-1;for(y=t;y<i;y++)if(p(n,y)===p(e,d===-1?0:y-d)){if(d===-1&&(d=y),y-d+1===o)return d*s}else d!==-1&&(y-=y-d),d=-1}else for(t+o>i&&(t=i-o),y=t;y>=0;y--){for(var l=!0,h=0;h<o;h++)if(p(n,y+h)!==p(e,h)){l=!1;break}if(l)return y}return-1}u.prototype.includes=function(e,t,r){return this.indexOf(e,t,r)!==-1};u.prototype.indexOf=function(e,t,r){return Ut(this,e,t,r,!0)};u.prototype.lastIndexOf=function(e,t,r){return Ut(this,e,t,r,!1)};function nr(n,e,t,r){t=Number(t)||0;var a=n.length-t;r?(r=Number(r),r>a&&(r=a)):r=a;var s=e.length;r>s/2&&(r=s/2);for(var i=0;i<r;++i){var o=parseInt(e.substr(i*2,2),16);if(et(o))return i;n[t+i]=o}return i}function rr(n,e,t,r){return Ie(Ze(e,n.length-t),n,t,r)}function ar(n,e,t,r){return Ie(fr(e),n,t,r)}function sr(n,e,t,r){return Ie(Pt(e),n,t,r)}function ir(n,e,t,r){return Ie(hr(e,n.length-t),n,t,r)}u.prototype.write=function(e,t,r,a){if(t===void 0)a="utf8",r=this.length,t=0;else if(r===void 0&&typeof t=="string")a=t,r=this.length,t=0;else if(isFinite(t))t=t>>>0,isFinite(r)?(r=r>>>0,a===void 0&&(a="utf8")):(a=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var s=this.length-t;if((r===void 0||r>s)&&(r=s),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");a||(a="utf8");for(var i=!1;;)switch(a){case"hex":return nr(this,e,t,r);case"utf8":case"utf-8":return rr(this,e,t,r);case"ascii":case"latin1":case"binary":return ar(this,e,t,r);case"base64":return sr(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ir(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+a);a=(""+a).toLowerCase(),i=!0}};u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function or(n,e,t){return e===0&&t===n.length?je.fromByteArray(n):je.fromByteArray(n.slice(e,t))}function Bt(n,e,t){t=Math.min(n.length,t);for(var r=[],a=e;a<t;){var s=n[a],i=null,o=s>239?4:s>223?3:s>191?2:1;if(a+o<=t){var p,y,d,l;switch(o){case 1:s<128&&(i=s);break;case 2:p=n[a+1],(p&192)===128&&(l=(s&31)<<6|p&63,l>127&&(i=l));break;case 3:p=n[a+1],y=n[a+2],(p&192)===128&&(y&192)===128&&(l=(s&15)<<12|(p&63)<<6|y&63,l>2047&&(l<55296||l>57343)&&(i=l));break;case 4:p=n[a+1],y=n[a+2],d=n[a+3],(p&192)===128&&(y&192)===128&&(d&192)===128&&(l=(s&15)<<18|(p&63)<<12|(y&63)<<6|d&63,l>65535&&l<1114112&&(i=l))}}i===null?(i=65533,o=1):i>65535&&(i-=65536,r.push(i>>>10&1023|55296),i=56320|i&1023),r.push(i),a+=o}return ur(r)}var Mt=4096;function ur(n){var e=n.length;if(e<=Mt)return String.fromCharCode.apply(String,n);for(var t="",r=0;r<e;)t+=String.fromCharCode.apply(String,n.slice(r,r+=Mt));return t}function pr(n,e,t){var r="";t=Math.min(n.length,t);for(var a=e;a<t;++a)r+=String.fromCharCode(n[a]&127);return r}function dr(n,e,t){var r="";t=Math.min(n.length,t);for(var a=e;a<t;++a)r+=String.fromCharCode(n[a]);return r}function yr(n,e,t){var r=n.length;(!e||e<0)&&(e=0),(!t||t<0||t>r)&&(t=r);for(var a="",s=e;s<t;++s)a+=gr[n[s]];return a}function lr(n,e,t){for(var r=n.slice(e,t),a="",s=0;s<r.length-1;s+=2)a+=String.fromCharCode(r[s]+r[s+1]*256);return a}u.prototype.slice=function(e,t){var r=this.length;e=~~e,t=t===void 0?r:~~t,e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),t<e&&(t=e);var a=this.subarray(e,t);return Object.setPrototypeOf(a,u.prototype),a};function I(n,e,t){if(n%1!==0||n<0)throw new RangeError("offset is not uint");if(n+e>t)throw new RangeError("Trying to access beyond buffer length")}u.prototype.readUintLE=u.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||I(e,t,this.length);for(var a=this[e],s=1,i=0;++i<t&&(s*=256);)a+=this[e+i]*s;return a};u.prototype.readUintBE=u.prototype.readUIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||I(e,t,this.length);for(var a=this[e+--t],s=1;t>0&&(s*=256);)a+=this[e+--t]*s;return a};u.prototype.readUint8=u.prototype.readUInt8=function(e,t){return e=e>>>0,t||I(e,1,this.length),this[e]};u.prototype.readUint16LE=u.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||I(e,2,this.length),this[e]|this[e+1]<<8};u.prototype.readUint16BE=u.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||I(e,2,this.length),this[e]<<8|this[e+1]};u.prototype.readUint32LE=u.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};u.prototype.readUint32BE=u.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||I(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};u.prototype.readIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||I(e,t,this.length);for(var a=this[e],s=1,i=0;++i<t&&(s*=256);)a+=this[e+i]*s;return s*=128,a>=s&&(a-=Math.pow(2,8*t)),a};u.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||I(e,t,this.length);for(var a=t,s=1,i=this[e+--a];a>0&&(s*=256);)i+=this[e+--a]*s;return s*=128,i>=s&&(i-=Math.pow(2,8*t)),i};u.prototype.readInt8=function(e,t){return e=e>>>0,t||I(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};u.prototype.readInt16LE=function(e,t){e=e>>>0,t||I(e,2,this.length);var r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};u.prototype.readInt16BE=function(e,t){e=e>>>0,t||I(e,2,this.length);var r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};u.prototype.readInt32LE=function(e,t){return e=e>>>0,t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};u.prototype.readInt32BE=function(e,t){return e=e>>>0,t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};u.prototype.readFloatLE=function(e,t){return e=e>>>0,t||I(e,4,this.length),ie.read(this,e,!0,23,4)};u.prototype.readFloatBE=function(e,t){return e=e>>>0,t||I(e,4,this.length),ie.read(this,e,!1,23,4)};u.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||I(e,8,this.length),ie.read(this,e,!0,52,8)};u.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||I(e,8,this.length),ie.read(this,e,!1,52,8)};function B(n,e,t,r,a,s){if(!u.isBuffer(n))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>a||e<s)throw new RangeError('"value" argument is out of bounds');if(t+r>n.length)throw new RangeError("Index out of range")}u.prototype.writeUintLE=u.prototype.writeUIntLE=function(e,t,r,a){if(e=+e,t=t>>>0,r=r>>>0,!a){var s=Math.pow(2,8*r)-1;B(this,e,t,r,s,0)}var i=1,o=0;for(this[t]=e&255;++o<r&&(i*=256);)this[t+o]=e/i&255;return t+r};u.prototype.writeUintBE=u.prototype.writeUIntBE=function(e,t,r,a){if(e=+e,t=t>>>0,r=r>>>0,!a){var s=Math.pow(2,8*r)-1;B(this,e,t,r,s,0)}var i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};u.prototype.writeUint8=u.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||B(this,e,t,1,255,0),this[t]=e&255,t+1};u.prototype.writeUint16LE=u.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||B(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};u.prototype.writeUint16BE=u.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||B(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};u.prototype.writeUint32LE=u.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||B(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};u.prototype.writeUint32BE=u.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||B(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};u.prototype.writeIntLE=function(e,t,r,a){if(e=+e,t=t>>>0,!a){var s=Math.pow(2,8*r-1);B(this,e,t,r,s-1,-s)}var i=0,o=1,p=0;for(this[t]=e&255;++i<r&&(o*=256);)e<0&&p===0&&this[t+i-1]!==0&&(p=1),this[t+i]=(e/o>>0)-p&255;return t+r};u.prototype.writeIntBE=function(e,t,r,a){if(e=+e,t=t>>>0,!a){var s=Math.pow(2,8*r-1);B(this,e,t,r,s-1,-s)}var i=r-1,o=1,p=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&p===0&&this[t+i+1]!==0&&(p=1),this[t+i]=(e/o>>0)-p&255;return t+r};u.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||B(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};u.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||B(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};u.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||B(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};u.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||B(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};u.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||B(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function Ft(n,e,t,r,a,s){if(t+r>n.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function Ot(n,e,t,r,a){return e=+e,t=t>>>0,a||Ft(n,e,t,4,34028234663852886e22,-34028234663852886e22),ie.write(n,e,t,r,23,4),t+4}u.prototype.writeFloatLE=function(e,t,r){return Ot(this,e,t,!0,r)};u.prototype.writeFloatBE=function(e,t,r){return Ot(this,e,t,!1,r)};function Dt(n,e,t,r,a){return e=+e,t=t>>>0,a||Ft(n,e,t,8,17976931348623157e292,-17976931348623157e292),ie.write(n,e,t,r,52,8),t+8}u.prototype.writeDoubleLE=function(e,t,r){return Dt(this,e,t,!0,r)};u.prototype.writeDoubleBE=function(e,t,r){return Dt(this,e,t,!1,r)};u.prototype.copy=function(e,t,r,a){if(!u.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!a&&a!==0&&(a=this.length),t>=e.length&&(t=e.length),t||(t=0),a>0&&a<r&&(a=r),a===r||e.length===0||this.length===0)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),e.length-t<a-r&&(a=e.length-t+r);var s=a-r;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(t,r,a):Uint8Array.prototype.set.call(e,this.subarray(r,a),t),s};u.prototype.fill=function(e,t,r,a){if(typeof e=="string"){if(typeof t=="string"?(a=t,t=0,r=this.length):typeof r=="string"&&(a=r,r=this.length),a!==void 0&&typeof a!="string")throw new TypeError("encoding must be a string");if(typeof a=="string"&&!u.isEncoding(a))throw new TypeError("Unknown encoding: "+a);if(e.length===1){var s=e.charCodeAt(0);(a==="utf8"&&s<128||a==="latin1")&&(e=s)}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;t=t>>>0,r=r===void 0?this.length:r>>>0,e||(e=0);var i;if(typeof e=="number")for(i=t;i<r;++i)this[i]=e;else{var o=u.isBuffer(e)?e:u.from(e,a),p=o.length;if(p===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<r-t;++i)this[i+t]=o[i%p]}return this};var cr=/[^+/0-9A-Za-z-_]/g;function mr(n){if(n=n.split("=")[0],n=n.trim().replace(cr,""),n.length<2)return"";for(;n.length%4!==0;)n=n+"=";return n}function Ze(n,e){e=e||1/0;for(var t,r=n.length,a=null,s=[],i=0;i<r;++i){if(t=n.charCodeAt(i),t>55295&&t<57344){if(!a){if(t>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(i+1===r){(e-=3)>-1&&s.push(239,191,189);continue}a=t;continue}if(t<56320){(e-=3)>-1&&s.push(239,191,189),a=t;continue}t=(a-55296<<10|t-56320)+65536}else a&&(e-=3)>-1&&s.push(239,191,189);if(a=null,t<128){if((e-=1)<0)break;s.push(t)}else if(t<2048){if((e-=2)<0)break;s.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;s.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;s.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return s}function fr(n){for(var e=[],t=0;t<n.length;++t)e.push(n.charCodeAt(t)&255);return e}function hr(n,e){for(var t,r,a,s=[],i=0;i<n.length&&!((e-=2)<0);++i)t=n.charCodeAt(i),r=t>>8,a=t%256,s.push(a),s.push(r);return s}function Pt(n){return je.toByteArray(mr(n))}function Ie(n,e,t,r){for(var a=0;a<r&&!(a+t>=e.length||a>=n.length);++a)e[a+t]=n[a];return a}function L(n,e){return n instanceof e||n!=null&&n.constructor!=null&&n.constructor.name!=null&&n.constructor.name===e.name}function et(n){return n!==n}var gr=function(){for(var n="0123456789abcdef",e=new Array(256),t=0;t<16;++t)for(var r=t*16,a=0;a<16;++a)e[r+a]=n[t]+n[a];return e}()});var Wt=se((ma,Lt)=>{"use strict";c();var v=Lt.exports={},W,G;function nt(){throw new Error("setTimeout has not been defined")}function rt(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?W=setTimeout:W=nt}catch{W=nt}try{typeof clearTimeout=="function"?G=clearTimeout:G=rt}catch{G=rt}})();function Kt(n){if(W===setTimeout)return setTimeout(n,0);if((W===nt||!W)&&setTimeout)return W=setTimeout,setTimeout(n,0);try{return W(n,0)}catch{try{return W.call(null,n,0)}catch{return W.call(this,n,0)}}}function br(n){if(G===clearTimeout)return clearTimeout(n);if((G===rt||!G)&&clearTimeout)return G=clearTimeout,clearTimeout(n);try{return G(n)}catch{try{return G.call(null,n)}catch{return G.call(this,n)}}}var j=[],ue=!1,te,_e=-1;function wr(){!ue||!te||(ue=!1,te.length?j=te.concat(j):_e=-1,j.length&&Vt())}function Vt(){if(!ue){var n=Kt(wr);ue=!0;for(var e=j.length;e;){for(te=j,j=[];++_e<e;)te&&te[_e].run();_e=-1,e=j.length}te=null,ue=!1,br(n)}}v.nextTick=function(n){var e=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)e[t-1]=arguments[t];j.push(new Ht(n,e)),j.length===1&&!ue&&Kt(Vt)};function Ht(n,e){this.fun=n,this.array=e}Ht.prototype.run=function(){this.fun.apply(null,this.array)};v.title="browser";v.browser=!0;v.env={};v.argv=[];v.version="";v.versions={};function Y(){}v.on=Y;v.addListener=Y;v.once=Y;v.off=Y;v.removeListener=Y;v.removeAllListeners=Y;v.emit=Y;v.prependListener=Y;v.prependOnceListener=Y;v.listeners=function(n){return[]};v.binding=function(n){throw new Error("process.binding is not supported")};v.cwd=function(){return"/"};v.chdir=function(n){throw new Error("process.chdir is not supported")};v.umask=function(){return 0}});var w,T,Tr,b,c=Kn(()=>{"use strict";w=fe(tt()),T=fe(Wt()),Tr=function(n){function e(){var r=this||self;return delete n.prototype.__magic__,r}if(typeof globalThis=="object")return globalThis;if(this)return e();n.defineProperty(n.prototype,"__magic__",{configurable:!0,get:e});var t=__magic__;return t}(Object),b=Tr});var zt=se((ga,Gt)=>{"use strict";c();function Ar(n){if(n.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),t=0;t<e.length;t++)e[t]=255;for(var r=0;r<n.length;r++){var a=n.charAt(r),s=a.charCodeAt(0);if(e[s]!==255)throw new TypeError(a+" is ambiguous");e[s]=r}var i=n.length,o=n.charAt(0),p=Math.log(i)/Math.log(256),y=Math.log(256)/Math.log(i);function d(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var g=0,A=0,C=0,k=f.length;C!==k&&f[C]===0;)C++,g++;for(var O=(k-C)*y+1>>>0,V=new Uint8Array(O);C!==k;){for(var M=f[C],X=0,P=O-1;(M!==0||X<A)&&P!==-1;P--,X++)M+=256*V[P]>>>0,V[P]=M%i>>>0,M=M/i>>>0;if(M!==0)throw new Error("Non-zero carry");A=X,C++}for(var N=O-A;N!==O&&V[N]===0;)N++;for(var me=o.repeat(g);N<O;++N)me+=n.charAt(V[N]);return me}function l(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;for(var g=0,A=0,C=0;f[g]===o;)A++,g++;for(var k=(f.length-g)*p+1>>>0,O=new Uint8Array(k);f[g];){var V=f.charCodeAt(g);if(V>255)return;var M=e[V];if(M===255)return;for(var X=0,P=k-1;(M!==0||X<C)&&P!==-1;P--,X++)M+=i*O[P]>>>0,O[P]=M%256>>>0,M=M/256>>>0;if(M!==0)throw new Error("Non-zero carry");C=X,g++}for(var N=k-C;N!==k&&O[N]===0;)N++;for(var me=new Uint8Array(A+(k-N)),Un=A;N!==k;)me[Un++]=O[N++];return me}function h(f){var g=l(f);if(g)return g;throw new Error("Non-base"+i+" character")}return{encode:d,decodeUnsafe:l,decode:h}}Gt.exports=Ar});var at=se((wa,Xt)=>{"use strict";c();var vr=zt(),xr="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";Xt.exports=vr(xr)});c();c();c();var ge=fe(at());c();var S=2n**255n-19n,pe=2n**252n+27742317777372353535851937790883648493n,st=0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,it=0x6666666666666666666666666666666666666666666666666666666666666658n,Se={a:-1n,d:37095705934669439343138083508754565189542113879843219016388785533085940283555n,p:S,n:pe,h:8,Gx:st,Gy:it},R=(n="")=>{throw new Error(n)},Zt=n=>typeof n=="string",Ne=(n,e)=>!(n instanceof Uint8Array)||typeof e=="number"&&e>0&&n.length!==e?R("Uint8Array expected"):n,de=n=>new Uint8Array(n),Re=(n,e)=>Ne(Zt(n)?pt(n):de(n),e),m=(n,e=S)=>{let t=n%e;return t>=0n?t:e+t},qt=n=>n instanceof J?n:R("Point expected"),jt,J=class n{constructor(e,t,r,a){this.ex=e,this.ey=t,this.ez=r,this.et=a}static fromAffine(e){return new n(e.x,e.y,1n,m(e.x*e.y))}static fromHex(e,t=!0){let{d:r}=Se;e=Re(e,32);let a=e.slice();a[31]=e[31]&-129;let s=en(a);s===0n||(t&&!(0n<s&&s<S)&&R("bad y coord 1"),!t&&!(0n<s&&s<2n**256n)&&R("bad y coord 2"));let i=m(s*s),o=m(i-1n),p=m(r*i+1n),{isValid:y,value:d}=Cr(o,p);y||R("bad y coordinate 3");let l=(d&1n)===1n;return(e[31]&128)!==0!==l&&(d=m(-d)),new n(d,s,1n,m(d*s))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}equals(e){let{ex:t,ey:r,ez:a}=this,{ex:s,ey:i,ez:o}=qt(e),p=m(t*o),y=m(s*a),d=m(r*o),l=m(i*a);return p===y&&d===l}is0(){return this.equals(Me)}negate(){return new n(m(-this.ex),this.ey,this.ez,m(-this.et))}double(){let{ex:e,ey:t,ez:r}=this,{a}=Se,s=m(e*e),i=m(t*t),o=m(2n*m(r*r)),p=m(a*s),y=e+t,d=m(m(y*y)-s-i),l=p+i,h=l-o,f=p-i,g=m(d*h),A=m(l*f),C=m(d*f),k=m(h*l);return new n(g,A,k,C)}add(e){let{ex:t,ey:r,ez:a,et:s}=this,{ex:i,ey:o,ez:p,et:y}=qt(e),{a:d,d:l}=Se,h=m(t*i),f=m(r*o),g=m(s*l*y),A=m(a*p),C=m((t+r)*(i+o)-h-f),k=m(A-g),O=m(A+g),V=m(f-d*h),M=m(C*k),X=m(O*V),P=m(C*V),N=m(k*O);return new n(M,X,N,P)}mul(e,t=!0){if(e===0n)return t===!0?R("cannot multiply by 0"):Me;if(typeof e=="bigint"&&0n<e&&e<pe||R("invalid scalar, must be < L"),!t&&this.is0()||e===1n)return this;if(this.equals(re))return kr(e).p;let r=Me,a=re;for(let s=this;e>0n;s=s.double(),e>>=1n)e&1n?r=r.add(s):t&&(a=a.add(s));return r}multiply(e){return this.mul(e)}clearCofactor(){return this.mul(BigInt(Se.h),!1)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){let e=this.mul(pe/2n,!1).double();return pe%2n&&(e=e.add(this)),e.is0()}toAffine(){let{ex:e,ey:t,ez:r}=this;if(this.is0())return{x:0n,y:0n};let a=tn(r);return m(r*a)!==1n&&R("invalid inverse"),{x:m(e*a),y:m(t*a)}}toRawBytes(){let{x:e,y:t}=this.toAffine(),r=Qt(t);return r[31]|=e&1n?128:0,r}toHex(){return ut(this.toRawBytes())}};J.BASE=new J(st,it,1n,m(st*it));J.ZERO=new J(0n,1n,1n,0n);var{BASE:re,ZERO:Me}=J,$t=(n,e)=>n.toString(16).padStart(e,"0"),ut=n=>Array.from(n).map(e=>$t(e,2)).join(""),pt=n=>{let e=n.length;(!Zt(n)||e%2)&&R("hex invalid 1");let t=de(e/2);for(let r=0;r<t.length;r++){let a=r*2,s=n.slice(a,a+2),i=Number.parseInt(s,16);(Number.isNaN(i)||i<0)&&R("hex invalid 2"),t[r]=i}return t},Qt=n=>pt($t(n,32*2)).reverse(),en=n=>BigInt("0x"+ut(de(Ne(n)).reverse())),ke=(...n)=>{let e=de(n.reduce((r,a)=>r+Ne(a).length,0)),t=0;return n.forEach(r=>{e.set(r,t),t+=r.length}),e},tn=(n,e=S)=>{(n===0n||e<=0n)&&R("no inverse n="+n+" mod="+e);let t=m(n,e),r=e,a=0n,s=1n,i=1n,o=0n;for(;t!==0n;){let p=r/t,y=r%t,d=a-i*p,l=s-o*p;r=t,t=y,a=i,s=o,i=d,o=l}return r===1n?m(a,e):R("no inverse")},z=(n,e)=>{let t=n;for(;e-- >0n;)t*=t,t%=S;return t},Er=n=>{let t=n*n%S*n%S,r=z(t,2n)*t%S,a=z(r,1n)*n%S,s=z(a,5n)*a%S,i=z(s,10n)*s%S,o=z(i,20n)*i%S,p=z(o,40n)*o%S,y=z(p,80n)*p%S,d=z(y,80n)*p%S,l=z(d,10n)*s%S;return{pow_p_5_8:z(l,2n)*n%S,b2:t}},Yt=19681161376707505956807079304988542015446066515923890162744021073123829784752n,Cr=(n,e)=>{let t=m(e*e*e),r=m(t*t*e),a=Er(n*r).pow_p_5_8,s=m(n*t*a),i=m(e*s*s),o=s,p=m(s*Yt),y=i===n,d=i===m(-n),l=i===m(-n*Yt);return y&&(s=o),(d||l)&&(s=p),(m(s)&1n)===1n&&(s=m(-s)),{isValid:y||d,value:s}},ot=n=>m(en(n),pe),he,dt=(...n)=>lt.sha512Async(...n),nn=(...n)=>typeof he=="function"?he(...n):R("etc.sha512Sync not set"),rn=n=>{let e=n.slice(0,32);e[0]&=248,e[31]&=127,e[31]|=64;let t=n.slice(32,64),r=ot(e),a=re.mul(r),s=a.toRawBytes();return{head:e,prefix:t,scalar:r,point:a,pointBytes:s}},yt=n=>dt(Re(n,32)).then(rn),Ir=n=>rn(nn(Re(n,32))),an=n=>yt(n).then(e=>e.pointBytes);function _r(n,e){return n?dt(e.hashable).then(e.finish):e.finish(nn(e.hashable))}var Sr=(n,e,t)=>{let{pointBytes:r,scalar:a}=n,s=ot(e),i=re.mul(s).toRawBytes();return{hashable:ke(i,r,t),finish:y=>{let d=m(s+ot(y)*a,pe);return Ne(ke(i,Qt(d)),64)}}},sn=async(n,e)=>{let t=Re(n),r=await yt(e),a=await dt(r.prefix,t);return _r(!0,Sr(r,a,t))};var Jt=()=>typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0,lt={bytesToHex:ut,hexToBytes:pt,concatBytes:ke,mod:m,invert:tn,randomBytes:n=>{let e=Jt();return e||R("crypto.getRandomValues must be defined"),e.getRandomValues(de(n))},sha512Async:async(...n)=>{let e=Jt();e||R("crypto.subtle or etc.sha512Async must be defined");let t=ke(...n);return de(await e.subtle.digest("SHA-512",t.buffer))},sha512Sync:void 0};Object.defineProperties(lt,{sha512Sync:{configurable:!1,get(){return he},set(n){he||(he=n)}}});var Ue={getExtendedPublicKeyAsync:yt,getExtendedPublicKey:Ir,randomPrivateKey:()=>lt.randomBytes(32),precompute(n=8,e=re){return e.multiply(3n),e}},ne=8,Mr=()=>{let n=[],e=256/ne+1,t=re,r=t;for(let a=0;a<e;a++){r=t,n.push(r);for(let s=1;s<2**(ne-1);s++)r=r.add(t),n.push(r);t=r.double()}return n},kr=n=>{let e=jt||(jt=Mr()),t=(d,l)=>{let h=l.negate();return d?h:l},r=Me,a=re,s=1+256/ne,i=2**(ne-1),o=BigInt(2**ne-1),p=2**ne,y=BigInt(ne);for(let d=0;d<s;d++){let l=d*i,h=Number(n&o);n>>=y,h>i&&(h-=p,n+=1n);let f=l,g=l+Math.abs(h)-1,A=d%2!==0,C=h<0;h===0?a=a.add(t(A,e[f])):r=r.add(t(C,e[g]))}return{p:r,f:a}};var K=class n{static generateKey(){let e,t;do e=Ue.randomPrivateKey(),t=(0,ge.encode)(e);while(t.length!==44);return new n(t)}constructor(e){this.secretKey=e;let t=(0,ge.decode)(e);this.privateKey=w.Buffer.from(t).toString("hex")}async sign(e){return await sn(e,this.privateKey)}async getPublicKey(){let e=await an(this.privateKey);return`ed25519:${(0,ge.encode)(e)}`}toString(){return this.privateKey}};var Be=class{constructor(e="testnet"){this.networkId=e}get keyPrefix(){return`orderly_${this.networkId}_`}},be=class extends Be{getOrderlyKey(e){let t;if(e)t=this.getItem(e,"orderlyKey");else{let r=this.getAddress();if(!r)return null;t=this.getItem(r,"orderlyKey")}return t?new K(t):null}getAccountId(e){return this.getItem(e,"accountId")}setAccountId(e,t){this.setItem(e,{accountId:t})}getAddress(){return localStorage.getItem(`${this.keyPrefix}address`)}setAddress(e){localStorage.setItem(`${this.keyPrefix}address`,e)}removeAddress(){localStorage.removeItem(`${this.keyPrefix}address`)}generateKey(){return K.generateKey()}setKey(e,t){this.setItem(e,{orderlyKey:t.secretKey})}cleanAllKey(e){localStorage.removeItem(`${this.keyPrefix}${e}`),localStorage.removeItem(`${this.keyPrefix}address`)}cleanKey(e,t){let r=this.getItem(e);delete r[t],localStorage.setItem(`${this.keyPrefix}${e}`,JSON.stringify(r))}setItem(e,t){let r=`${this.keyPrefix}${e}`,a=localStorage.getItem(r);a?a=JSON.parse(a):a={},localStorage.setItem(r,JSON.stringify({...a,...t}))}getItem(e,t){let r=`${this.keyPrefix}${e}`,a=localStorage.getItem(r);return a?a=JSON.parse(a):a={},typeof t>"u"?a:a[t]}},we=class{constructor(e){this.secretKey=e}generateKey(){return new K(this.secretKey)}getOrderlyKey(){return new K(this.secretKey)}getAccountId(){return""}setAccountId(e){}getAddress(){return""}setAddress(e){}removeAddress(){}setKey(e,t){}cleanAllKey(){}cleanKey(e){}};c();var un={};Vn(un,{base64url:()=>ct,calculateStringHash:()=>ft,formatByUnits:()=>Oe,getGlobalObject:()=>Ae,getTimestamp:()=>x,isHex:()=>Te,isHexString:()=>Fr,parseAccountId:()=>mt,parseBrokerHash:()=>ae,parseTokenHash:()=>Fe,parseUnits:()=>Or});c();import{keccak256 as Nr,AbiCoder as Rr,solidityPackedKeccak256 as Ur,formatUnits as Br}from"ethers";import{parseUnits as Or}from"ethers";var ct=function(n){return n.replace(/\+/g,"-").replace(/\//g,"_")};function ae(n){return ft(n)}function mt(n,e){let t=Rr.defaultAbiCoder();return Nr(t.encode(["address","bytes32"],[n,ae(e)]))}function Fe(n){return ft(n)}function ft(n){return Ur(["string"],[n])}function Oe(n,e="ether"){return Br(n,e)}function Te(n){return/^[a-f0-9]+$/iu.test(n)}function Fr(n){return typeof n=="string"&&n.startsWith("0x")&&Te(n)}var Ae=()=>{if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof b<"u")return b;throw new Error("cannot find the global object")},x=()=>{if(typeof window<"u"){let n=Ae()?.__ORDERLY_timestamp_offset;if(typeof n=="number")return Date.now()+(n||0)}return Date.now()};var ht=fe(tt()),Z=class{constructor(e){this.keyStore=e}async sign(e,t=x()){let r=t.toString(),a=[r,e.method.toUpperCase(),e.url].join("");e.data&&Object.keys(e.data).length&&(a+=JSON.stringify(e.data));let{signature:s,publicKey:i}=await this.signText(a);return{"orderly-key":i,"orderly-timestamp":r,"orderly-signature":s}}async signText(e){let t=this.keyStore.getOrderlyKey();if(!t)throw new Error("orderlyKeyPair is not defined");let r=ht.Buffer.from(e),a=await t.sign(r),s=ht.Buffer.from(a).toString("base64");return{signature:ct(s),publicKey:await t.getPublicKey()}}};import{default as pi}from"eventemitter3";c();import{definedTypes as ye}from"@orderly.network/types";var Dr=n=>{let e=new we(n||"AFmQSju4FhDwG93cMdKogcnKx7SWmViDtDv5PVzfvRDF");return new Z(e)},Pr=()=>{if(typeof window>"u")throw new Error("the default signer only supports browsers.");let n=new be("");return new Z(n)};function Kr(){return"0x8794E7260517B1766fc7b55cAfcd56e6bf08600e"}function pn(n,e){return{name:"Orderly",version:"1",chainId:n,verifyingContract:e?Kr():"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"}}function Vr(n){let{chainId:e,registrationNonce:t,brokerId:r,timestamp:a=x()}=n,s="Registration",i={brokerId:r,chainId:e,timestamp:a,registrationNonce:t},o={EIP712Domain:ye.EIP712Domain,[s]:ye[s]},p={domain:pn(e),message:i,primaryType:s,types:o};return[i,p]}function Hr(n){let{publicKey:e,chainId:t,primaryType:r,brokerId:a,expiration:s=365,timestamp:i=x(),scope:o,tag:p}=n,y={brokerId:a,orderlyKey:e,scope:o||"read,trading",chainId:t,timestamp:i,expiration:i+1e3*60*60*24*s,...typeof p<"u"?{tag:p}:{}},d={EIP712Domain:ye.EIP712Domain,[r]:ye[r]},l={domain:pn(t),message:y,primaryType:r,types:d};return[y,l]}function Lr(n){let{chainId:e,settlePnlNonce:t,domain:r,brokerId:a}=n,s="SettlePnl",i=x(),o={EIP712Domain:ye.EIP712Domain,[s]:ye[s]},p={brokerId:a,chainId:e,timestamp:i,settleNonce:t};return[p,{domain:r,message:p,primaryType:s,types:o}]}c();c();var dn="0xfd064A18f3BF249cf1f87FC203E90D8f650f2d63";var yn="0x0EaC556c0C2321BA25b9DC01e4e3c95aD5CDCd2f",ln="0x1826B75e2ef249173FC735149AE4B8e9ea10abff",cn="0xaf88d065e77c8cC2239327C5EDb3A432268e5831",mn="0x816f722424B49Cf1275cc86DA9840Fbd5a6167e9",fn="0x6F7a338F2aA472838dEFD3283eB360d4Dff5D203",hn="ErBmAD61mGFKvrFNaTJuxoPwqrS8GgtwtqJTJVjFWx9Q",gn="9shwxWDUNhtwkHocsUAmrNAQfBH2DHh4njdAEdHZZkF2";var bn="5zBjLor7vEraAt4zp2H82sy9MSqFoDnNa1Lx6EYKTYRZ",wn="4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",Tn="EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",E={statusChanged:"change:status",validateStart:"validate:start",validateEnd:"validate:end",switchAccount:"switch:account"},An="0x65B99E978d1eeE9CfEdfD463EC7A81317e5A5073",vn="0x9442e24203e999db4aE87E35Dc0c8F3C610c29A0",xn="0x77F77926C6596c78f285D230Cd0dC8dC3540e3a6",En="0xdd6E018D747D70C705BA84B67B6eAD7748a57cDa";var gt=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"authorizer",type:"address"},{indexed:!0,internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"AuthorizationCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"authorizer",type:"address"},{indexed:!0,internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"AuthorizationUsed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"_account",type:"address"}],name:"Blacklisted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newBlacklister",type:"address"}],name:"BlacklisterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"burner",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newMasterMinter",type:"address"}],name:"MasterMinterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"minter",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"minter",type:"address"},{indexed:!1,internalType:"uint256",name:"minterAllowedAmount",type:"uint256"}],name:"MinterConfigured",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldMinter",type:"address"}],name:"MinterRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[],name:"Pause",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PauserChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newRescuer",type:"address"}],name:"RescuerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"_account",type:"address"}],name:"UnBlacklisted",type:"event"},{anonymous:!1,inputs:[],name:"Unpause",type:"event"},{inputs:[],name:"CANCEL_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"RECEIVE_WITH_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"TRANSFER_WITH_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"authorizer",type:"address"},{internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"authorizationState",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"blacklist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"blacklister",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"authorizer",type:"address"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"cancelAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"},{internalType:"uint256",name:"minterAllowedAmount",type:"uint256"}],name:"configureMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"currency",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"decrement",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"increment",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"tokenName",type:"string"},{internalType:"string",name:"tokenSymbol",type:"string"},{internalType:"string",name:"tokenCurrency",type:"string"},{internalType:"uint8",name:"tokenDecimals",type:"uint8"},{internalType:"address",name:"newMasterMinter",type:"address"},{internalType:"address",name:"newPauser",type:"address"},{internalType:"address",name:"newBlacklister",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"newName",type:"string"}],name:"initializeV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"lostAndFound",type:"address"}],name:"initializeV2_1",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"isBlacklisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"masterMinter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"mint",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"}],name:"minterAllowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauser",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"receiveWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"}],name:"removeMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenContract",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueERC20",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rescuer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"transferWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"unBlacklist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newBlacklister",type:"address"}],name:"updateBlacklister",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newMasterMinter",type:"address"}],name:"updateMasterMinter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newPauser",type:"address"}],name:"updatePauser",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newRescuer",type:"address"}],name:"updateRescuer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];var Cn=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccountIdInvalid",type:"error"},{inputs:[],name:"AddressZero",type:"error"},{inputs:[{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint128",name:"amount",type:"uint128"}],name:"BalanceNotEnough",type:"error"},{inputs:[],name:"BrokerNotAllowed",type:"error"},{inputs:[],name:"EnumerableSetError",type:"error"},{inputs:[],name:"OnlyCrossChainManagerCanCall",type:"error"},{inputs:[],name:"TokenNotAllowed",type:"error"},{inputs:[],name:"ZeroDepositFee",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:!0,internalType:"address",name:"userAddress",type:"address"},{indexed:!0,internalType:"uint64",name:"depositNonce",type:"uint64"},{indexed:!1,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:!1,internalType:"uint128",name:"tokenAmount",type:"uint128"}],name:"AccountDeposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:!0,internalType:"address",name:"userAddress",type:"address"},{indexed:!0,internalType:"uint64",name:"depositNonce",type:"uint64"},{indexed:!1,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:!1,internalType:"uint128",name:"tokenAmount",type:"uint128"}],name:"AccountDepositTo",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"withdrawNonce",type:"uint64"},{indexed:!1,internalType:"bytes32",name:"brokerHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:!1,internalType:"uint128",name:"tokenAmount",type:"uint128"},{indexed:!1,internalType:"uint128",name:"fee",type:"uint128"}],name:"AccountWithdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldAddress",type:"address"},{indexed:!1,internalType:"address",name:"newAddress",type:"address"}],name:"ChangeCrossChainManager",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"_tokenAddress",type:"address"}],name:"ChangeTokenAddressAndAllow",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_brokerHash",type:"bytes32"},{indexed:!1,internalType:"bool",name:"_allowed",type:"bool"}],name:"SetAllowedBroker",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{indexed:!1,internalType:"bool",name:"_allowed",type:"bool"}],name:"SetAllowedToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"allowedToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{internalType:"address",name:"_tokenAddress",type:"address"}],name:"changeTokenAddressAndAllow",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"crossChainManagerAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"depositFeeEnabled",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"depositId",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"emergencyPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"emergencyUnpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_enabled",type:"bool"}],name:"enableDepositFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAllAllowedBroker",outputs:[{internalType:"bytes32[]",name:"",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAllAllowedToken",outputs:[{internalType:"bytes32[]",name:"",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_brokerHash",type:"bytes32"}],name:"getAllowedBroker",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_tokenHash",type:"bytes32"}],name:"getAllowedToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"getDepositFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"messageTransmitterContract",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"dstDomain",type:"uint32"},{internalType:"uint64",name:"rebalanceId",type:"uint64"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint256",name:"burnChainId",type:"uint256"},{internalType:"uint256",name:"mintChainId",type:"uint256"},{internalType:"address",name:"dstVaultAddress",type:"address"}],internalType:"struct RebalanceTypes.RebalanceBurnCCData",name:"data",type:"tuple"}],name:"rebalanceBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint64",name:"rebalanceId",type:"uint64"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint256",name:"burnChainId",type:"uint256"},{internalType:"uint256",name:"mintChainId",type:"uint256"},{internalType:"bytes",name:"messageBytes",type:"bytes"},{internalType:"bytes",name:"messageSignature",type:"bytes"}],internalType:"struct RebalanceTypes.RebalanceMintCCData",name:"data",type:"tuple"}],name:"rebalanceMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_brokerHash",type:"bytes32"},{internalType:"bool",name:"_allowed",type:"bool"}],name:"setAllowedBroker",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{internalType:"bool",name:"_allowed",type:"bool"}],name:"setAllowedToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_crossChainManagerAddress",type:"address"}],name:"setCrossChainManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_rebalanceMessengerContract",type:"address"}],name:"setRebalanceMessengerContract",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_tokenMessengerContract",type:"address"}],name:"setTokenMessengerContract",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenMessengerContract",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint64",name:"withdrawNonce",type:"uint64"}],internalType:"struct VaultTypes.VaultWithdraw",name:"data",type:"tuple"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}];var bt=[{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"},{internalType:"uint8",name:"decimals_",type:"uint8"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"issue",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"_paused",type:"bool"}],name:"pauseTransfers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];var In=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccountIdInvalid",type:"error"},{inputs:[],name:"AddressZero",type:"error"},{inputs:[{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint128",name:"amount",type:"uint128"}],name:"BalanceNotEnough",type:"error"},{inputs:[],name:"BrokerNotAllowed",type:"error"},{inputs:[],name:"EnumerableSetError",type:"error"},{inputs:[],name:"OnlyCrossChainManagerCanCall",type:"error"},{inputs:[],name:"TokenNotAllowed",type:"error"},{inputs:[],name:"ZeroDepositFee",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:!0,internalType:"address",name:"userAddress",type:"address"},{indexed:!0,internalType:"uint64",name:"depositNonce",type:"uint64"},{indexed:!1,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:!1,internalType:"uint128",name:"tokenAmount",type:"uint128"}],name:"AccountDeposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:!0,internalType:"address",name:"userAddress",type:"address"},{indexed:!0,internalType:"uint64",name:"depositNonce",type:"uint64"},{indexed:!1,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:!1,internalType:"uint128",name:"tokenAmount",type:"uint128"}],name:"AccountDepositTo",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"withdrawNonce",type:"uint64"},{indexed:!1,internalType:"bytes32",name:"brokerHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:!1,internalType:"uint128",name:"tokenAmount",type:"uint128"},{indexed:!1,internalType:"uint128",name:"fee",type:"uint128"}],name:"AccountWithdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldAddress",type:"address"},{indexed:!1,internalType:"address",name:"newAddress",type:"address"}],name:"ChangeCrossChainManager",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"_tokenAddress",type:"address"}],name:"ChangeTokenAddressAndAllow",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_brokerHash",type:"bytes32"},{indexed:!1,internalType:"bool",name:"_allowed",type:"bool"}],name:"SetAllowedBroker",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{indexed:!1,internalType:"bool",name:"_allowed",type:"bool"}],name:"SetAllowedToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"allowedToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{internalType:"address",name:"_tokenAddress",type:"address"}],name:"changeTokenAddressAndAllow",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"crossChainManagerAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"depositFeeEnabled",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"depositId",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"emergencyPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"emergencyUnpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_enabled",type:"bool"}],name:"enableDepositFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAllAllowedBroker",outputs:[{internalType:"bytes32[]",name:"",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAllAllowedToken",outputs:[{internalType:"bytes32[]",name:"",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_brokerHash",type:"bytes32"}],name:"getAllowedBroker",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_tokenHash",type:"bytes32"}],name:"getAllowedToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"getDepositFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"messageTransmitterContract",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"dstDomain",type:"uint32"},{internalType:"uint64",name:"rebalanceId",type:"uint64"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint256",name:"burnChainId",type:"uint256"},{internalType:"uint256",name:"mintChainId",type:"uint256"},{internalType:"address",name:"dstVaultAddress",type:"address"}],internalType:"struct RebalanceTypes.RebalanceBurnCCData",name:"data",type:"tuple"}],name:"rebalanceBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint64",name:"rebalanceId",type:"uint64"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint256",name:"burnChainId",type:"uint256"},{internalType:"uint256",name:"mintChainId",type:"uint256"},{internalType:"bytes",name:"messageBytes",type:"bytes"},{internalType:"bytes",name:"messageSignature",type:"bytes"}],internalType:"struct RebalanceTypes.RebalanceMintCCData",name:"data",type:"tuple"}],name:"rebalanceMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_brokerHash",type:"bytes32"},{internalType:"bool",name:"_allowed",type:"bool"}],name:"setAllowedBroker",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{internalType:"bool",name:"_allowed",type:"bool"}],name:"setAllowedToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_crossChainManagerAddress",type:"address"}],name:"setCrossChainManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_rebalanceMessengerContract",type:"address"}],name:"setRebalanceMessengerContract",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_tokenMessengerContract",type:"address"}],name:"setTokenMessengerContract",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenMessengerContract",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint64",name:"withdrawNonce",type:"uint64"}],internalType:"struct VaultTypes.VaultWithdraw",name:"data",type:"tuple"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}];var ve=class{constructor(e){this.configStore=e}getContractInfoByEnv(){let e=this.configStore.get("networkId"),t=this.configStore.get("env"),r=ln;if(e==="mainnet")return{usdcAddress:cn,usdcAbi:gt,vaultAddress:mn,vaultAbi:Cn,verifyContractAddress:fn,erc20Abi:gt,solanaUSDCAddress:Tn,solanaVaultAddress:hn};let a=gn,s=An,i=vn,o=xn;return t==="qa"&&(a=bn,r="0x50F59504D3623Ad99302835da367676d1f7E3D44",s="0xFeA61647309cA4624EfF3c86EEEeb76a6F3eaFf7",i=En),{usdcAddress:dn,usdcAbi:bt,vaultAddress:yn,solanaVaultAddress:a,solanaUSDCAddress:wn,vaultAbi:In,verifyContractAddress:r,erc20Abi:bt,storyTestnetVaultAddress:s,monadTestnetVaultAddress:i,monadTestnetUSDCAddress:o}}};c();c();var wt=class{constructor(e=[],t={}){this.providers=e;this.services=t;this.injectProperties={}}register(...e){this.providers.push(...e),e.forEach(t=>{let r=t;r instanceof Function&&(r=new t),this.add(r)})}registerByName(e,t){let r=t;r instanceof Function&&(r=new t),this.addByName(e,r)}get(e){return this.services[e]}getAll(){return Object.assign({},this.services)}add(e){return this.addByName(e.constructor.name,e)}addByName(e,t){return this.services[e]=t,this.services[e.toLowerCase()]=t,this.injectIntoProperties(t,e),this.get(e)}inject(e,t,r){e&&r&&(e[t]=r)}injectIntoProperties(e,t=e.constructor.name){this.getInjectProperty(t.toLowerCase()).forEach(r=>{this.inject(r.target,r.propertyKey,e)})}getInjectProperty(e){return this.injectProperties[e]||(this.injectProperties[e]=[]),this.injectProperties[e]}},_n=wt;var U=class U{static getContainer(){return U.container||(Ae()[U.KEY]=U.container=new _n),U.container}static register(...e){U.getContainer().register(...e)}static registerByName(e,t){U.getContainer().registerByName(e,t)}static get(e){return U.getContainer().get(e)}static getOr(e,t){return U.getContainer().get(e)||U.registerByName(e,t),t}static getAll(){return U.getContainer().getAll()}constructor(){}};U.KEY="__ORDERLY_CONTAINER__",U.container=Ae()[U.KEY]||null;var xe=U,qr=xe;c();import{AccountStatusEnum as _,SDKError as He,ChainNamespace as Yr}from"@orderly.network/types";import Jr from"eventemitter3";c();import{ApiError as jr,ChainNamespace as Sn,MaxUint256 as Mn,MONAD_TESTNET_CHAINID as De,STORY_TESTNET_CHAINID as Pe}from"@orderly.network/types";var Ke=class{constructor(e,t,r){this.configStore=e;this.contractManger=t;this.account=r}async withdraw(e){if(!this.account.walletAdapter)throw new Error("walletAdapter is undefined");if(!this.account.stateValue.address)throw new Error("account address is required");let{chainId:t,token:r,allowCrossChainWithdraw:a}=e,{amount:s}=e;typeof s=="number"&&(s=s.toString());let i="/v1/withdraw_request",o=await this.getWithdrawalNonce(),p=x(),{message:y,signatured:d,domain:l}=await this.account.walletAdapter.generateWithdrawMessage({receiver:this.account.stateValue.address,token:r,brokerId:this.configStore.get("brokerId"),amount:this.account.walletAdapter.parseUnits(s),nonce:o,timestamp:p,verifyContract:this.contractManger.getContractInfoByEnv().verifyContractAddress}),h={signature:d,message:y,userAddress:this.account.stateValue.address,verifyingContract:l.verifyingContract},f={method:"POST",url:i,data:h};a&&(h.message={...h.message,allowCrossChainWithdraw:a});let g=await this.account.signer.sign(f,x()),A=await this._simpleFetch(i,{method:"POST",body:JSON.stringify(h),headers:{"Content-Type":"application/json","orderly-account-id":this.account.stateValue.accountId,...g}});if(!A.success)throw new jr(A.message,A.code);return A}async getWithdrawalNonce(){let e=x().toString(),t="/v1/withdraw_nonce",r=[e,"GET",t].join(""),a=this.account.signer,{publicKey:s,signature:i}=await a.signText(r),o=await this._simpleFetch(t,{headers:{"orderly-account-id":this.account.stateValue.accountId,"orderly-key":s,"orderly-timestamp":e,"orderly-signature":i}});if(o.success)return o.data?.withdraw_nonce;throw new Error(o.message)}async getNativeBalance(e){if(!this.account.walletAdapter)return"0";let t=await this.account.walletAdapter.getBalance();return Oe(t,e?.decimals)}async getBalance(e,t){if(!this.account.walletAdapter)return"0";let r=this.contractManger.getContractInfoByEnv(),a=await this.account.walletAdapter?.call(e??r.usdcAddress,"balanceOf",[this.account.stateValue.address],{abi:r.usdcAbi});return this.account.walletAdapter?.formatUnits(a,t?.decimals)}async getBalanceByAddress(e,t){if(!this.account.walletAdapter)return"0";let r=this.contractManger.getContractInfoByEnv(),a=await this.account.walletAdapter?.call(e,"balanceOf",[this.account.stateValue.address],{abi:r.erc20Abi});return Oe(a,t?.decimals)}async getAllowance(e,t){let{address:r,vaultAddress:a,decimals:s}=typeof e=="object"?e:{address:e,vaultAddress:t,decimals:void 0};if(!this.account.walletAdapter)return"0";let i=this.contractManger.getContractInfoByEnv(),o=a??i.vaultAddress,p=r;this.account.walletAdapter.chainId===Pe&&(o=i.storyTestnetVaultAddress??""),this.account.walletAdapter.chainId===De&&(o=i.monadTestnetVaultAddress??"",p=i.monadTestnetUSDCAddress);let y=await this.account.walletAdapter?.call(p??"","allowance",[this.account.stateValue.address,o],{abi:i.usdcAbi});return this.account.walletAdapter?.formatUnits(y,s)}async approve(e,t,r){let{address:a,amount:s,vaultAddress:i,decimals:o}=typeof e=="object"?e:{address:e,amount:t,vaultAddress:r,decimals:void 0};if(!a)throw new Error("address is required");if(!this.account.walletAdapter)throw new Error("walletAdapter is undefined");let p=this.contractManger.getContractInfoByEnv(),y=typeof s<"u"&&s!==""?this.account.walletAdapter.parseUnits(s,o):Mn.toString(),d=i||p.vaultAddress,l=a;return this.account.walletAdapter.chainId===Pe&&(d=p.storyTestnetVaultAddress??""),this.account.walletAdapter.chainId===De&&(d=p.monadTestnetVaultAddress??"",l=p.monadTestnetUSDCAddress??""),await this.account.walletAdapter?.call(l,"approve",[d,y],{abi:p.usdcAbi})}async approveByAddress(e){let{address:t,amount:r,decimals:a}=e;if(!this.account.walletAdapter)throw new Error("walletAdapter is undefined");let s=typeof r<"u"&&r!==""?this.account.walletAdapter.parseUnits(r,a):Mn.toString(),i=this.contractManger.getContractInfoByEnv();return await this.account.walletAdapter?.call(t,"approve",[i.vaultAddress,s],{abi:i.erc20Abi})}async getDepositFee(e,t){if(!this.account.walletAdapter)throw new Error("walletAdapter is undefined");let r=this.configStore.get("brokerId");if(!r)throw new Error("[Assets]:brokerId is required");let a={accountId:this.account.accountIdHashStr,brokerHash:ae(r),tokenHash:Fe("USDC"),tokenAmount:this.account.walletAdapter?.parseUnits(e)},s=this.contractManger.getContractInfoByEnv(),i=s.vaultAddress;return this.account.walletAdapter.chainNamespace===Sn.solana&&(i=s.solanaVaultAddress,a.USDCAddress=s.solanaUSDCAddress),t.chain_id===Pe&&(i=s.storyTestnetVaultAddress??""),t.chain_id===De&&(i=s.monadTestnetVaultAddress??""),await this.account.walletAdapter.callOnChain(t,i,"getDepositFee",[this.account.stateValue.address,a],{abi:s.vaultAbi})}async deposit(e,t=0n){if(!this.account.walletAdapter)throw new Error("walletAdapter is undefined");let r=this.configStore.get("brokerId");if(!r)throw new Error("[Assets]:brokerId is required");let a=this.contractManger.getContractInfoByEnv(),s={accountId:this.account.accountIdHashStr,brokerHash:ae(r),tokenHash:Fe("USDC"),tokenAmount:this.account.walletAdapter?.parseUnits(e)},i=a.vaultAddress;return this.account.walletAdapter.chainNamespace===Sn.solana&&(i=a.solanaVaultAddress,s.USDCAddress=a.solanaUSDCAddress),this.account.walletAdapter.chainId===Pe&&(i=a.storyTestnetVaultAddress??""),this.account.walletAdapter.chainId===De&&(i=a.monadTestnetVaultAddress??""),await this.account.walletAdapter?.sendTransaction(i,"deposit",{from:this.account.stateValue.address,to:i,data:[s],value:t},{abi:a.vaultAbi})}async _simpleFetch(e,t={}){let r=`${this.configStore.get("apiBaseUrl")}${e}`;return fetch(r,t).then(a=>a.json())}get usdcAddress(){return this.contractManger.getContractInfoByEnv().usdcAddress}};c();var Ve=class{constructor(e){this.walletAdapters=e;if(!this.walletAdapters.length)throw new Error("No wallet adapters provided")}get adapter(){return this._adapter}get isEmpty(){return this.walletAdapters.length===0}get isAdapterExist(){return!!this._adapter}switchWallet(e,t,r,a){console.log("-- this.walletAdapters",this.walletAdapters,e);let s=this.walletAdapters.find(o=>o.chainNamespace===e.toUpperCase());if(!s)throw new Error("Unsupported chain namespace");let i={address:t,chain:{id:r},provider:a.provider,contractManager:a.contractManager};if(console.log("------+++++---",i),this._adapter)if(this._adapter===s){this._adapter.update(i);return}else this._adapter.deactivate();this._adapter=s,this._adapter.active(i)}get chainId(){return this.adapter?.chainId}};import{PublicKey as Zr}from"@solana/web3.js";import{AbiCoder as $r,keccak256 as Qr}from"ethers";var Le=class{constructor(e,t,r,a){this.configStore=e;this.keyStore=t;this._ee=new Jr;this._state={status:_.NotConnected,validating:!1,isNew:!1};a?.contracts?this.contractManger=a.contracts:this.contractManger=new ve(e),this.assetsManager=new Ke(e,this.contractManger,this),this.walletAdapterManager=new Ve(r),this._bindEvents()}logout(){}async setAddress(e,t){if(!e)throw new He("Address is required");if(!t)throw new He("Wallet is required");if(!t?.chain?.id)throw new He("Chain id is required");if(this.stateValue.address===e)return console.warn("address parameter is the same as the current address, if you want to change chain, please use `switchChain` method."),this.stateValue.status;this.stateValue.status>_.NotConnected&&this._ee.emit(E.switchAccount,e),t.chain.id=this.parseChainId(t?.chain?.id),this.keyStore.setAddress(e);let r={...this.stateValue,status:_.Connected,address:e,chainNamespace:t.chain.namespace,accountId:void 0,connectWallet:{name:t.wallet.name||"unknown",chainId:t.chain.id},validating:!0};this._ee.emit(E.statusChanged,r),this.walletAdapterManager.switchWallet(t.chain.namespace,e,t.chain.id,{provider:t.provider,contractManager:this.contractManger}),this.configStore.set("chainNamespace",t.chain.namespace),this._ee.emit(E.validateStart);let a=await this._checkAccount(e);return this._ee.emit(E.validateEnd,a),a}get stateValue(){return this._state}get accountId(){return this.stateValue.accountId}get accountIdHashStr(){if(!this.address)throw new Error("address is error");let e=this.configStore.get("brokerId");if(this.walletAdapter?.chainNamespace===Yr.solana){let t=new Zr(this.address),r=w.Buffer.from(t.toBytes()),a=$r.defaultAbiCoder();return Qr(a.encode(["bytes32","bytes32"],[r,ae(e)]))}return mt(this.address,e)}get address(){return this.stateValue.address}get chainId(){if(this.walletAdapterManager.isAdapterExist)return this.walletAdapterManager.chainId}get apiBaseUrl(){return this.configStore.get("apiBaseUrl")}_bindEvents(){this._ee.addListener(E.statusChanged,e=>{this._state=e})}async _checkAccount(e){let t;try{let r=await this._checkAccountExist(e);if(r&&r.account_id)this.keyStore.setAccountId(e,r.account_id),t={...this.stateValue,status:_.SignedIn,accountId:r.account_id,userId:r.user_id},this._ee.emit(E.statusChanged,t);else return t={...this.stateValue,validating:!1,status:_.NotSignedIn},this._ee.emit(E.statusChanged,t),_.NotSignedIn;let a=this.keyStore.getOrderlyKey();if(!a)return this._ee.emit(E.statusChanged,{...this.stateValue,isNew:!1,validating:!1,status:_.DisabledTrading}),_.DisabledTrading;let s=await a.getPublicKey(),i=await this._checkOrderlyKeyState(r.account_id,s);if(i&&i.orderly_key&&i.key_status==="ACTIVE"){let o=x(),p=i.expiration;return o>p?(this._ee.emit(E.statusChanged,{...this.stateValue,validating:!1}),this.keyStore.cleanKey(e,"orderlyKey"),_.DisabledTrading):(this._ee.emit(E.statusChanged,{...this.stateValue,validating:!1,status:_.EnableTrading}),_.EnableTrading)}return this._ee.emit(E.statusChanged,{...this.stateValue,validating:!1}),this.keyStore.cleanKey(e,"orderlyKey"),_.NotConnected}catch{this._ee.emit(E.statusChanged,{...this.stateValue,validating:!1})}return _.NotSignedIn}async _checkAccountExist(e,t){let r=await this._getAccountInfo(e,t);return r.success?r.data:null}async createAccount(){let{nonce:e,timestamp:t}=await this._getRegisterationNonce(),r=this.stateValue.address;if(!r)throw new Error("address is undefined");let{message:a,signatured:s}=await this.walletAdapterManager.adapter.generateRegisterAccountMessage({registrationNonce:e,brokerId:this.configStore.get("brokerId"),timestamp:t}),i=await this._simpleFetch("/v1/register_account",{method:"POST",body:JSON.stringify({signature:s,message:a,userAddress:r}),headers:{"Content-Type":"application/json"}});if(i.success){this.keyStore.setAccountId(r,i.data.account_id);let o={...this.stateValue,status:_.DisabledTrading,accountId:i.data.account_id,userId:i.data.user_id,isNew:!0};return this._ee.emit(E.statusChanged,o),i}else throw new Error(i.message)}async createApiKey(e,t){try{let{res:r,keyPair:a}=await this.generateApiKey(e,t);if(r.success)return{key:(await a.getPublicKey()).replace("ed25519:",""),secretKey:a.secretKey?.replace("ed25519:","")}}catch(r){throw console.log("createApiKey error",r),`${r}`.includes("user rejected action")?new Error("User rejected the request."):r}throw new Error("create api key failed")}async createOrderlyKey(e,t){let{res:r,address:a,keyPair:s}=await this.generateApiKey(e,t);if(r.success){this.keyStore.setKey(a,s);let i={...this.stateValue,status:_.EnableTrading};return this._ee.emit(E.statusChanged,i),r}else throw new Error(r.message)}async generateApiKey(e,t){if(this.stateValue.accountId===void 0)throw new Error("account id is undefined");if(!this.walletAdapter)throw new Error("walletAdapter is undefined");if(!this.walletAdapterManager.isAdapterExist)throw new Error("wallet adapter is not exist");if(typeof e!="number")throw new Error("the 'expiration' must be valid number");let r=this.walletAdapter.generateSecretKey(),a=new K(r),s=await a.getPublicKey(),i=this.stateValue.address;if(!i)throw new Error("address is undefined");let{message:o,signatured:p}=await this.walletAdapter.generateAddOrderlyKeyMessage({brokerId:this.configStore.get("brokerId"),publicKey:s,expiration:e,timestamp:x(),scope:t?.scope,tag:t?.tag});return console.log("generateAPiKey",s,i),{res:await this._simpleFetch("/v1/orderly_key",{method:"POST",body:JSON.stringify({signature:p,message:o,userAddress:i}),headers:{"X-Account-Id":this.stateValue.accountId,"Content-Type":"application/json"}}),address:i,keyPair:a}}async importOrderlyKey(e){let{address:t,secretKey:r,chainNamespace:a}=e;if(!t||!r||!a)return;let i=(await this._checkAccountExist(t,a))?.account_id;if(!i)return;let o=new K(r),p=await this.checkOrderlyKey(t,o,i);return p&&this.configStore.set("chainNamespace",a),p}async checkOrderlyKey(e,t,r){if(!e||!t||!r)return;let a=await t.getPublicKey(),s=await this._checkOrderlyKeyState(r,a),{orderly_key:i,key_status:o,expiration:p}=s||{},y=x();if(i&&o==="ACTIVE"&&p>y){this.keyStore.setAddress(e),this.keyStore.setKey(e,t),this.keyStore.setAccountId(e,r);let d={...this.stateValue,address:e,accountId:r,status:_.EnableTradingWithoutConnected};return this._ee.emit(E.statusChanged,d),!0}}async settle(){if(!this.walletAdapter)return Promise.reject("walletAdapter is undefined");let e=await this._getSettleNonce(),t=this.stateValue.address,r="/v1/settle_pnl",a=x(),{message:s,signatured:i,domain:o}=await this.walletAdapter.generateSettleMessage({settlePnlNonce:e,timestamp:a,brokerId:this.configStore.get("brokerId"),verifyContract:this.contractManger.getContractInfoByEnv().verifyContractAddress}),p={signature:i,message:s,userAddress:t,verifyingContract:o.verifyingContract},y={method:"POST",url:r,data:p},d=await this.signer.sign(y,x()),l=await this._simpleFetch(r,{method:"POST",body:JSON.stringify(p),headers:{"Content-Type":"application/json","orderly-account-id":this.stateValue.accountId,...d}});return l.success?Promise.resolve(l):Promise.reject(l)}async destroyOrderlyKey(){this.stateValue.address&&this.keyStore.cleanKey(this.stateValue.address,"orderlyKey");let e={...this.stateValue,status:_.DisabledTrading};this._ee.emit(E.statusChanged,e)}async disconnect(){this.stateValue.address&&this.keyStore.removeAddress();let e={...this.stateValue,status:_.NotConnected,accountId:void 0,userId:void 0,address:void 0};this._ee.emit(E.statusChanged,e)}switchChainId(e){e=this.parseChainId(e);let t={...this.stateValue,connectWallet:{...this.stateValue.connectWallet,chainId:e}};this.walletAdapter&&(this.walletAdapter.chainId=e),this._ee.emit(E.statusChanged,t)}parseChainId(e){return typeof e=="string"&&(Te(e)||e.startsWith("0x")&&Te(e.slice(2)))&&(e=parseInt(e,16)),e}async _checkOrderlyKeyState(e,t){let r=await this._simpleFetch(`/v1/get_orderly_key?account_id=${e}&orderly_key=${t}`);return r.success?r.data:null}get signer(){return this._singer||(this._singer=new Z(this.keyStore)),this._singer}get walletAdapter(){return this.walletAdapterManager.adapter}async _getRegisterationNonce(){let e=await this._simpleFetch("/v1/registration_nonce",{headers:{"orderly-account-id":this.stateValue.accountId}});if(e.success)return{nonce:e.data?.registration_nonce,timestamp:e.timestamp};throw new Error(e.message)}async _getTimestampFromServer(){let e=await this._getAccountInfo();if(e.success)return e.timestamp;throw new He("get timestamp error")}async _getAccountInfo(e,t){let r=this.configStore.get("brokerId"),a=e||this.address,s=t||this.stateValue.chainNamespace;return await this._simpleFetch(`/v1/get_account?address=${a}&broker_id=${r}&chain_type=${s}`)}async _getSettleNonce(){let e=x().toString(),r=[e,"GET","/v1/settle_nonce"].join(""),a=this.signer,{publicKey:s,signature:i}=await a.signText(r),o=await this._simpleFetch("/v1/settle_nonce",{headers:{"orderly-account-id":this.stateValue.accountId,"orderly-key":s,"orderly-timestamp":e,"orderly-signature":i}});if(o.success)return o.data?.settle_nonce;throw new Error(o.message)}async _simpleFetch(e,t={}){let r=`${this.configStore.get("apiBaseUrl")}${e}`;return fetch(r,t).then(a=>a.json())}get on(){return this._ee.on.bind(this._ee)}get once(){return this._ee.once.bind(this._ee)}get off(){return this._ee.off.bind(this._ee)}};Le.instanceName="account";c();c();import{ChainNamespace as ea}from"@orderly.network/types";var kn={mainnet:{apiBaseUrl:"https://api.orderly.org",publicWsUrl:"wss://ws-evm.orderly.org",privateWsUrl:"wss://ws-private-evm.orderly.org",operatorUrl:{EVM:"https://operator-evm.orderly.org",SOL:"https://operator-solana.orderly.org"}},testnet:{apiBaseUrl:"https://testnet-api.orderly.org",publicWsUrl:"wss://testnet-ws-evm.orderly.org",privateWsUrl:"wss://testnet-ws-private-evm.orderly.org",operatorUrl:{EVM:"https://testnet-operator-evm.orderly.org",SOL:"https://testnet-operator-sol.orderly.org"}}},Tt=class{constructor(e){let t=e.env||"prod",r=e.networkId||"mainnet",a=kn[r],s=e?.brokerId||"orderly",i=e?.brokerName||"Orderly",o=e?.chainNamespace||ea.evm;this.map=new Map([["env",t],["brokerId",s],["brokerName",i],["networkId",r],["chainNamespace",o],["apiBaseUrl",a.apiBaseUrl],["publicWsUrl",a.publicWsUrl],["privateWsUrl",a.privateWsUrl],["operatorUrl",a.operatorUrl]])}get(e){let t=this.map.get(e);return typeof t!="object"||t===null?t:t[this.get("chainNamespace")]}getOr(e,t){return this.map.get(e)??t}set(e,t){this.map.set(e,t)}clear(){throw new Error("Method not implemented.")}};c();import{SDKError as le}from"@orderly.network/types";var Rn=fe(at());import{ethers as Nn}from"ethers";var At=class{async signMessageByOrderlyKey(e){let t=xe.get("account"),a=await t.signer.sign(e,x());return a["orderly-account-id"]=t.accountId,a}get address(){throw new le("Method not implemented.")}get chainId(){throw new le("Method not implemented.")}active(e){throw new le("Method not implemented.")}update(e){throw new le("Method not implemented.")}generateSecretKey(){let e,t;do e=Ue.randomPrivateKey(),t=(0,Rn.encode)(e);while(t.length!==44);return t}parseUnits(e,t=6){return Nn.parseUnits(e,t).toString()}formatUnits(e,t=6){return Nn.formatUnits(e,t)}on(e,t){throw new le("Method not implemented.")}off(e,t){throw new le("Method not implemented.")}};c();c();import{BrowserProvider as sa,ethers as $,toNumber as ia}from"ethers";c();var F={TRANSACTION_RAN_OUT_OF_GAS:"TRANSACTION_RAN_OUT_OF_GAS",TRANSACTION_UNDERPRICED:"TRANSACTION_UNDERPRICED",REJECTED_TRANSACTION:"REJECTED_TRANSACTION",CALL_REVERTED:"CALL_REVERTED",EXECUTION_REVERTED:"EXECUTION_REVERTED",NONCE_TOO_LOW:"NONCE_TOO_LOW",INSUFFICIENT_FUNDS_FOR_GAS:"INSUFFICIENT_FUNDS_FOR_GAS",MAX_PRIORITY_FEE_PER_GAS_HIGHER_THAN_MAX_FEE_PER_GAS:"MAX_PRIORITY_FEE_PER_GAS_HIGHER_THAN_MAX_FEE_PER_GAS",MAX_FEE_PER_GAS_LESS_THAN_BLOCK_BASE_FEE:"MAX_FEE_PER_GAS_LESS_THAN_BLOCK_BASE_FEE",UNKNOWN_ERROR:"UNKNOWN_ERROR"},We={NONCE_EXPIRED:"NONCE_EXPIRED",UNPREDICTABLE_GAS_LIMIT:"UNPREDICTABLE_GAS_LIMIT",ACTION_REJECTED:"ACTION_REJECTED",CALL_EXCEPTION:"CALL_EXCEPTION"},ce={REJECTED_TRANSACTION:4001,REQUIRE_TRANSACTION:-32603,ERROR_WHILE_FORMATTING_OUTPUT_FROM_RPC:-32603,TRANSACTION_UNDERPRICED:-32e3};function ta(n,e){var t;if(n!==ce.ERROR_WHILE_FORMATTING_OUTPUT_FROM_RPC)return;let r=(t=e.split("RPC '")[1])==null?void 0:t.slice(0,-1);if(r!==void 0)try{let a=JSON.parse(r);if(a.value===void 0||a.value.data===void 0)return;if(a.value.data.code===ce.TRANSACTION_UNDERPRICED)return{errorCode:F.TRANSACTION_UNDERPRICED,context:void 0}}catch{return}}function na(n){let e=n.code,t=n.message;if(e!==void 0){if(t!==void 0){let r=ta(e,t);if(r!==void 0)return r}if(e===ce.REJECTED_TRANSACTION)return{errorCode:F.REJECTED_TRANSACTION,context:t};if(e===ce.REQUIRE_TRANSACTION&&t!==void 0&&t.includes("execution reverted: "))return{errorCode:F.EXECUTION_REVERTED,context:t.slice(20)}}}function ra(n){if(n.code===We.UNPREDICTABLE_GAS_LIMIT){if(n.error!==void 0&&n.error.code===ce.REQUIRE_TRANSACTION&&n.error.data!==void 0&&n.error.data.message!==void 0){let e=n.error.data.message;if(e.includes("execution reverted: "))return{errorCode:F.EXECUTION_REVERTED,context:e.slice(20)}}if(n.error!==void 0&&n.error.error!==void 0&&n.error.error.error!==void 0&&n.error.error.error.code===ce.TRANSACTION_UNDERPRICED&&n.error.error.body!==void 0)try{let e=JSON.parse(n.error.error.body);if(e.error!==void 0&&e.error.message!==void 0){if(e.error.message.includes("gas required exceeds allowance (0)"))return{errorCode:F.INSUFFICIENT_FUNDS_FOR_GAS,context:void 0};if(e.error.message.includes("max priority fee per gas higher than max fee per gas"))return{errorCode:F.MAX_PRIORITY_FEE_PER_GAS_HIGHER_THAN_MAX_FEE_PER_GAS,context:void 0};if(e.error.message.includes("max fee per gas less than block base fee"))return{errorCode:F.MAX_FEE_PER_GAS_LESS_THAN_BLOCK_BASE_FEE,context:void 0}}}catch{return}}}function aa(n){if(n.code===We.NONCE_EXPIRED&&n.transaction!==void 0)return{errorCode:F.NONCE_TOO_LOW,context:n.transaction.nonce.toString()};if(n.code===We.ACTION_REJECTED&&n.action==="sendTransaction")return{errorCode:F.REJECTED_TRANSACTION,context:n.message};if(n.code===We.CALL_EXCEPTION&&n.reason!==void 0)return{errorCode:F.CALL_REVERTED,context:n.reason};let e=ra(n);if(e!==void 0)return e}function Ge(n){let e=n,t=n.error,r=aa(e);if(r!==void 0)return r;if(t!==void 0){let a=na(t);if(a!==void 0)return a}if(e.transaction!==void 0&&e.receipt!==void 0){let a=e.transaction.gasLimit;if(e.receipt.gasUsed.gte(a))return{errorCode:F.TRANSACTION_RAN_OUT_OF_GAS,context:e.transaction.gasLimit.toString()}}return n.error!==void 0&&n.error.message!==void 0?{errorCode:F.UNKNOWN_ERROR,context:n.error.message}:e.code!==void 0?{errorCode:F.UNKNOWN_ERROR,context:e.code.toString()}:{errorCode:F.UNKNOWN_ERROR,context:void 0}}var vt=class{constructor(e){this._chainId=e.chain.id,this.provider=new sa(e.provider,"any"),this._address=e.address}parseUnits(e,t=6){return $.parseUnits(e,t).toString()}formatUnits(e,t=6){return $.formatUnits(e,t)}getBalance(e){return this.provider.getBalance(e).then(t=>t,t=>{})}deposit(e,t,r){throw new Error("Method not implemented.")}async call(e,t,r,a){let s=await this.provider?.getSigner();return new $.Contract(e,a.abi,s)[t].apply(null,r).catch(o=>{throw Ge(o)})}async callOnChain(e,t,r,a,s){let i=new $.JsonRpcProvider(e.public_rpc_url);return new $.Contract(t,s.abi,i)[r].apply(null,a).catch(p=>{throw Ge(p)})}get chainId(){return this._chainId}set chainId(e){this._chainId=e}get addresses(){return this._address}async send(e,t){return await this.provider?.send(e,t)}async sendTransaction(e,t,r,a){let s=await this.provider?.getSigner();if(!s)throw new Error("singer is not exist");let o=new $.Contract(e,a.abi,this.provider).interface.encodeFunctionData(t,r.data),p={from:r.from,to:r.to,data:o,value:r.value};try{return await s.sendTransaction(p)}catch(y){throw Ge(y)}}async getTransactionRecipect(e){await this.provider.getTransactionReceipt(e)}async pollTransactionReceiptWithBackoff(e,t=1e3,r=6e3,a=30){let s=t,i=0;for(;i<a;){try{let o=await this.provider.getTransactionReceipt(e);if(o)return o}catch{}await new Promise(o=>setTimeout(o,s)),s=Math.min(s*2,r),i++}throw new Error("Transaction did not complete after maximum retries.")}async estimateGas(e){let t=await this.provider.estimateGas(e);return ia(t)}async signTypedData(e,t){return await this.provider?.send("eth_signTypedData_v4",[e,t])}async verify(e,t){let{domain:r,types:a,message:s}=e,i=$.verifyTypedData(r,a,s,t)}on(e,t){this.provider?.on(e,t)}off(e,t){this.provider?.off(e,t)}getContract(e,t){return new $.Contract(e,t,this.provider)}};export{kn as API_URLS,Le as Account,ve as BaseContractManager,Be as BaseKeyStore,K as BaseOrderlyKeyPair,Z as BaseSigner,At as BaseWalletAdapter,Tt as DefaultConfigStore,E as EVENT_NAMES,vt as EtherAdapter,pi as EventEmitter,be as LocalStorageStore,we as MockKeyStore,qr as SimpleDI,Hr as generateAddOrderlyKeyMessage,Vr as generateRegisterAccountMessage,Lr as generateSettleMessage,Pr as getDefaultSigner,Dr as getMockSigner,un as utils};
|
|
1
|
+
var lr=Object.create;var $e=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var yr=Object.getOwnPropertyNames;var mr=Object.getPrototypeOf,fr=Object.prototype.hasOwnProperty;var hr=(n,e)=>()=>(n&&(e=n(n=0)),e);var de=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),gr=(n,e)=>{for(var t in e)$e(n,t,{get:e[t],enumerable:!0})},br=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of yr(e))!fr.call(n,a)&&a!==t&&$e(n,a,{get:()=>e[a],enumerable:!(r=cr(e,a))||r.enumerable});return n};var Te=(n,e,t)=>(t=n!=null?lr(mr(n)):{},br(e||!n||!n.__esModule?$e(t,"default",{value:n,enumerable:!0}):t,n));var Ut=de(Re=>{"use strict";y();Re.byteLength=wr;Re.toByteArray=vr;Re.fromByteArray=Cr;var W=[],K=[],Ar=typeof Uint8Array<"u"?Uint8Array:Array,Qe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(re=0,Nt=Qe.length;re<Nt;++re)W[re]=Qe[re],K[Qe.charCodeAt(re)]=re;var re,Nt;K[45]=62;K[95]=63;function Rt(n){var e=n.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=n.indexOf("=");t===-1&&(t=e);var r=t===e?0:4-t%4;return[t,r]}function wr(n){var e=Rt(n),t=e[0],r=e[1];return(t+r)*3/4-r}function Tr(n,e,t){return(e+t)*3/4-t}function vr(n){var e,t=Rt(n),r=t[0],a=t[1],s=new Ar(Tr(n,r,a)),i=0,o=a>0?r-4:r,u;for(u=0;u<o;u+=4)e=K[n.charCodeAt(u)]<<18|K[n.charCodeAt(u+1)]<<12|K[n.charCodeAt(u+2)]<<6|K[n.charCodeAt(u+3)],s[i++]=e>>16&255,s[i++]=e>>8&255,s[i++]=e&255;return a===2&&(e=K[n.charCodeAt(u)]<<2|K[n.charCodeAt(u+1)]>>4,s[i++]=e&255),a===1&&(e=K[n.charCodeAt(u)]<<10|K[n.charCodeAt(u+1)]<<4|K[n.charCodeAt(u+2)]>>2,s[i++]=e>>8&255,s[i++]=e&255),s}function xr(n){return W[n>>18&63]+W[n>>12&63]+W[n>>6&63]+W[n&63]}function Er(n,e,t){for(var r,a=[],s=e;s<t;s+=3)r=(n[s]<<16&16711680)+(n[s+1]<<8&65280)+(n[s+2]&255),a.push(xr(r));return a.join("")}function Cr(n){for(var e,t=n.length,r=t%3,a=[],s=16383,i=0,o=t-r;i<o;i+=s)a.push(Er(n,i,i+s>o?o:i+s));return r===1?(e=n[t-1],a.push(W[e>>2]+W[e<<4&63]+"==")):r===2&&(e=(n[t-2]<<8)+n[t-1],a.push(W[e>>10]+W[e>>4&63]+W[e<<2&63]+"=")),a.join("")}});var Bt=de(et=>{"use strict";y();et.read=function(n,e,t,r,a){var s,i,o=a*8-r-1,u=(1<<o)-1,l=u>>1,c=-7,d=t?a-1:0,b=t?-1:1,f=n[e+d];for(d+=b,s=f&(1<<-c)-1,f>>=-c,c+=o;c>0;s=s*256+n[e+d],d+=b,c-=8);for(i=s&(1<<-c)-1,s>>=-c,c+=r;c>0;i=i*256+n[e+d],d+=b,c-=8);if(s===0)s=1-l;else{if(s===u)return i?NaN:(f?-1:1)*(1/0);i=i+Math.pow(2,r),s=s-l}return(f?-1:1)*i*Math.pow(2,s-r)};et.write=function(n,e,t,r,a,s){var i,o,u,l=s*8-a-1,c=(1<<l)-1,d=c>>1,b=a===23?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:s-1,A=r?1:-1,S=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,i=c):(i=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-i))<1&&(i--,u*=2),i+d>=1?e+=b/u:e+=b*Math.pow(2,1-d),e*u>=2&&(i++,u/=2),i+d>=c?(o=0,i=c):i+d>=1?(o=(e*u-1)*Math.pow(2,a),i=i+d):(o=e*Math.pow(2,d-1)*Math.pow(2,a),i=0));a>=8;n[t+f]=o&255,f+=A,o/=256,a-=8);for(i=i<<a|o,l+=a;l>0;n[t+f]=i&255,f+=A,i/=256,l-=8);n[t+f-A]|=S*128}});var ut=de(ce=>{"use strict";y();var tt=Ut(),le=Bt(),Ft=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;ce.Buffer=p;ce.SlowBuffer=Nr;ce.INSPECT_MAX_BYTES=50;var Ue=2147483647;ce.kMaxLength=Ue;p.TYPED_ARRAY_SUPPORT=Ir();!p.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Ir(){try{var n=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(n,e),n.foo()===42}catch{return!1}}Object.defineProperty(p.prototype,"parent",{enumerable:!0,get:function(){if(p.isBuffer(this))return this.buffer}});Object.defineProperty(p.prototype,"offset",{enumerable:!0,get:function(){if(p.isBuffer(this))return this.byteOffset}});function J(n){if(n>Ue)throw new RangeError('The value "'+n+'" is invalid for option "size"');var e=new Uint8Array(n);return Object.setPrototypeOf(e,p.prototype),e}function p(n,e,t){if(typeof n=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return st(n)}return Pt(n,e,t)}p.poolSize=8192;function Pt(n,e,t){if(typeof n=="string")return Sr(n,e);if(ArrayBuffer.isView(n))return Mr(n);if(n==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof n);if(G(n,ArrayBuffer)||n&&G(n.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(G(n,SharedArrayBuffer)||n&&G(n.buffer,SharedArrayBuffer)))return rt(n,e,t);if(typeof n=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var r=n.valueOf&&n.valueOf();if(r!=null&&r!==n)return p.from(r,e,t);var a=kr(n);if(a)return a;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof n[Symbol.toPrimitive]=="function")return p.from(n[Symbol.toPrimitive]("string"),e,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof n)}p.from=function(n,e,t){return Pt(n,e,t)};Object.setPrototypeOf(p.prototype,Uint8Array.prototype);Object.setPrototypeOf(p,Uint8Array);function Kt(n){if(typeof n!="number")throw new TypeError('"size" argument must be of type number');if(n<0)throw new RangeError('The value "'+n+'" is invalid for option "size"')}function _r(n,e,t){return Kt(n),n<=0?J(n):e!==void 0?typeof t=="string"?J(n).fill(e,t):J(n).fill(e):J(n)}p.alloc=function(n,e,t){return _r(n,e,t)};function st(n){return Kt(n),J(n<0?0:it(n)|0)}p.allocUnsafe=function(n){return st(n)};p.allocUnsafeSlow=function(n){return st(n)};function Sr(n,e){if((typeof e!="string"||e==="")&&(e="utf8"),!p.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var t=Vt(n,e)|0,r=J(t),a=r.write(n,e);return a!==t&&(r=r.slice(0,a)),r}function nt(n){for(var e=n.length<0?0:it(n.length)|0,t=J(e),r=0;r<e;r+=1)t[r]=n[r]&255;return t}function Mr(n){if(G(n,Uint8Array)){var e=new Uint8Array(n);return rt(e.buffer,e.byteOffset,e.byteLength)}return nt(n)}function rt(n,e,t){if(e<0||n.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(n.byteLength<e+(t||0))throw new RangeError('"length" is outside of buffer bounds');var r;return e===void 0&&t===void 0?r=new Uint8Array(n):t===void 0?r=new Uint8Array(n,e):r=new Uint8Array(n,e,t),Object.setPrototypeOf(r,p.prototype),r}function kr(n){if(p.isBuffer(n)){var e=it(n.length)|0,t=J(e);return t.length===0||n.copy(t,0,0,e),t}if(n.length!==void 0)return typeof n.length!="number"||ot(n.length)?J(0):nt(n);if(n.type==="Buffer"&&Array.isArray(n.data))return nt(n.data)}function it(n){if(n>=Ue)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ue.toString(16)+" bytes");return n|0}function Nr(n){return+n!=n&&(n=0),p.alloc(+n)}p.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==p.prototype};p.compare=function(e,t){if(G(e,Uint8Array)&&(e=p.from(e,e.offset,e.byteLength)),G(t,Uint8Array)&&(t=p.from(t,t.offset,t.byteLength)),!p.isBuffer(e)||!p.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,a=t.length,s=0,i=Math.min(r,a);s<i;++s)if(e[s]!==t[s]){r=e[s],a=t[s];break}return r<a?-1:a<r?1:0};p.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};p.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return p.alloc(0);var r;if(t===void 0)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var a=p.allocUnsafe(t),s=0;for(r=0;r<e.length;++r){var i=e[r];if(G(i,Uint8Array))s+i.length>a.length?p.from(i).copy(a,s):Uint8Array.prototype.set.call(a,i,s);else if(p.isBuffer(i))i.copy(a,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=i.length}return a};function Vt(n,e){if(p.isBuffer(n))return n.length;if(ArrayBuffer.isView(n)||G(n,ArrayBuffer))return n.byteLength;if(typeof n!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof n);var t=n.length,r=arguments.length>2&&arguments[2]===!0;if(!r&&t===0)return 0;for(var a=!1;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return at(n).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return t*2;case"hex":return t>>>1;case"base64":return Xt(n).length;default:if(a)return r?-1:at(n).length;e=(""+e).toLowerCase(),a=!0}}p.byteLength=Vt;function Rr(n,e,t){var r=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((t===void 0||t>this.length)&&(t=this.length),t<=0)||(t>>>=0,e>>>=0,t<=e))return"";for(n||(n="utf8");;)switch(n){case"hex":return Lr(this,e,t);case"utf8":case"utf-8":return Lt(this,e,t);case"ascii":return Vr(this,e,t);case"latin1":case"binary":return Hr(this,e,t);case"base64":return Pr(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Wr(this,e,t);default:if(r)throw new TypeError("Unknown encoding: "+n);n=(n+"").toLowerCase(),r=!0}}p.prototype._isBuffer=!0;function ae(n,e,t){var r=n[e];n[e]=n[t],n[t]=r}p.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)ae(this,t,t+1);return this};p.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)ae(this,t,t+3),ae(this,t+1,t+2);return this};p.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)ae(this,t,t+7),ae(this,t+1,t+6),ae(this,t+2,t+5),ae(this,t+3,t+4);return this};p.prototype.toString=function(){var e=this.length;return e===0?"":arguments.length===0?Lt(this,0,e):Rr.apply(this,arguments)};p.prototype.toLocaleString=p.prototype.toString;p.prototype.equals=function(e){if(!p.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:p.compare(this,e)===0};p.prototype.inspect=function(){var e="",t=ce.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"};Ft&&(p.prototype[Ft]=p.prototype.inspect);p.prototype.compare=function(e,t,r,a,s){if(G(e,Uint8Array)&&(e=p.from(e,e.offset,e.byteLength)),!p.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),a===void 0&&(a=0),s===void 0&&(s=this.length),t<0||r>e.length||a<0||s>this.length)throw new RangeError("out of range index");if(a>=s&&t>=r)return 0;if(a>=s)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,a>>>=0,s>>>=0,this===e)return 0;for(var i=s-a,o=r-t,u=Math.min(i,o),l=this.slice(a,s),c=e.slice(t,r),d=0;d<u;++d)if(l[d]!==c[d]){i=l[d],o=c[d];break}return i<o?-1:o<i?1:0};function Ht(n,e,t,r,a){if(n.length===0)return-1;if(typeof t=="string"?(r=t,t=0):t>2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,ot(t)&&(t=a?0:n.length-1),t<0&&(t=n.length+t),t>=n.length){if(a)return-1;t=n.length-1}else if(t<0)if(a)t=0;else return-1;if(typeof e=="string"&&(e=p.from(e,r)),p.isBuffer(e))return e.length===0?-1:Ot(n,e,t,r,a);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?a?Uint8Array.prototype.indexOf.call(n,e,t):Uint8Array.prototype.lastIndexOf.call(n,e,t):Ot(n,[e],t,r,a);throw new TypeError("val must be string, number or Buffer")}function Ot(n,e,t,r,a){var s=1,i=n.length,o=e.length;if(r!==void 0&&(r=String(r).toLowerCase(),r==="ucs2"||r==="ucs-2"||r==="utf16le"||r==="utf-16le")){if(n.length<2||e.length<2)return-1;s=2,i/=2,o/=2,t/=2}function u(f,A){return s===1?f[A]:f.readUInt16BE(A*s)}var l;if(a){var c=-1;for(l=t;l<i;l++)if(u(n,l)===u(e,c===-1?0:l-c)){if(c===-1&&(c=l),l-c+1===o)return c*s}else c!==-1&&(l-=l-c),c=-1}else for(t+o>i&&(t=i-o),l=t;l>=0;l--){for(var d=!0,b=0;b<o;b++)if(u(n,l+b)!==u(e,b)){d=!1;break}if(d)return l}return-1}p.prototype.includes=function(e,t,r){return this.indexOf(e,t,r)!==-1};p.prototype.indexOf=function(e,t,r){return Ht(this,e,t,r,!0)};p.prototype.lastIndexOf=function(e,t,r){return Ht(this,e,t,r,!1)};function Ur(n,e,t,r){t=Number(t)||0;var a=n.length-t;r?(r=Number(r),r>a&&(r=a)):r=a;var s=e.length;r>s/2&&(r=s/2);for(var i=0;i<r;++i){var o=parseInt(e.substr(i*2,2),16);if(ot(o))return i;n[t+i]=o}return i}function Br(n,e,t,r){return Be(at(e,n.length-t),n,t,r)}function Fr(n,e,t,r){return Be(Xr(e),n,t,r)}function Or(n,e,t,r){return Be(Xt(e),n,t,r)}function Dr(n,e,t,r){return Be(qr(e,n.length-t),n,t,r)}p.prototype.write=function(e,t,r,a){if(t===void 0)a="utf8",r=this.length,t=0;else if(r===void 0&&typeof t=="string")a=t,r=this.length,t=0;else if(isFinite(t))t=t>>>0,isFinite(r)?(r=r>>>0,a===void 0&&(a="utf8")):(a=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var s=this.length-t;if((r===void 0||r>s)&&(r=s),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");a||(a="utf8");for(var i=!1;;)switch(a){case"hex":return Ur(this,e,t,r);case"utf8":case"utf-8":return Br(this,e,t,r);case"ascii":case"latin1":case"binary":return Fr(this,e,t,r);case"base64":return Or(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Dr(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+a);a=(""+a).toLowerCase(),i=!0}};p.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Pr(n,e,t){return e===0&&t===n.length?tt.fromByteArray(n):tt.fromByteArray(n.slice(e,t))}function Lt(n,e,t){t=Math.min(n.length,t);for(var r=[],a=e;a<t;){var s=n[a],i=null,o=s>239?4:s>223?3:s>191?2:1;if(a+o<=t){var u,l,c,d;switch(o){case 1:s<128&&(i=s);break;case 2:u=n[a+1],(u&192)===128&&(d=(s&31)<<6|u&63,d>127&&(i=d));break;case 3:u=n[a+1],l=n[a+2],(u&192)===128&&(l&192)===128&&(d=(s&15)<<12|(u&63)<<6|l&63,d>2047&&(d<55296||d>57343)&&(i=d));break;case 4:u=n[a+1],l=n[a+2],c=n[a+3],(u&192)===128&&(l&192)===128&&(c&192)===128&&(d=(s&15)<<18|(u&63)<<12|(l&63)<<6|c&63,d>65535&&d<1114112&&(i=d))}}i===null?(i=65533,o=1):i>65535&&(i-=65536,r.push(i>>>10&1023|55296),i=56320|i&1023),r.push(i),a+=o}return Kr(r)}var Dt=4096;function Kr(n){var e=n.length;if(e<=Dt)return String.fromCharCode.apply(String,n);for(var t="",r=0;r<e;)t+=String.fromCharCode.apply(String,n.slice(r,r+=Dt));return t}function Vr(n,e,t){var r="";t=Math.min(n.length,t);for(var a=e;a<t;++a)r+=String.fromCharCode(n[a]&127);return r}function Hr(n,e,t){var r="";t=Math.min(n.length,t);for(var a=e;a<t;++a)r+=String.fromCharCode(n[a]);return r}function Lr(n,e,t){var r=n.length;(!e||e<0)&&(e=0),(!t||t<0||t>r)&&(t=r);for(var a="",s=e;s<t;++s)a+=jr[n[s]];return a}function Wr(n,e,t){for(var r=n.slice(e,t),a="",s=0;s<r.length-1;s+=2)a+=String.fromCharCode(r[s]+r[s+1]*256);return a}p.prototype.slice=function(e,t){var r=this.length;e=~~e,t=t===void 0?r:~~t,e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),t<e&&(t=e);var a=this.subarray(e,t);return Object.setPrototypeOf(a,p.prototype),a};function M(n,e,t){if(n%1!==0||n<0)throw new RangeError("offset is not uint");if(n+e>t)throw new RangeError("Trying to access beyond buffer length")}p.prototype.readUintLE=p.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||M(e,t,this.length);for(var a=this[e],s=1,i=0;++i<t&&(s*=256);)a+=this[e+i]*s;return a};p.prototype.readUintBE=p.prototype.readUIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||M(e,t,this.length);for(var a=this[e+--t],s=1;t>0&&(s*=256);)a+=this[e+--t]*s;return a};p.prototype.readUint8=p.prototype.readUInt8=function(e,t){return e=e>>>0,t||M(e,1,this.length),this[e]};p.prototype.readUint16LE=p.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||M(e,2,this.length),this[e]|this[e+1]<<8};p.prototype.readUint16BE=p.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||M(e,2,this.length),this[e]<<8|this[e+1]};p.prototype.readUint32LE=p.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||M(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};p.prototype.readUint32BE=p.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||M(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};p.prototype.readIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||M(e,t,this.length);for(var a=this[e],s=1,i=0;++i<t&&(s*=256);)a+=this[e+i]*s;return s*=128,a>=s&&(a-=Math.pow(2,8*t)),a};p.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||M(e,t,this.length);for(var a=t,s=1,i=this[e+--a];a>0&&(s*=256);)i+=this[e+--a]*s;return s*=128,i>=s&&(i-=Math.pow(2,8*t)),i};p.prototype.readInt8=function(e,t){return e=e>>>0,t||M(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};p.prototype.readInt16LE=function(e,t){e=e>>>0,t||M(e,2,this.length);var r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};p.prototype.readInt16BE=function(e,t){e=e>>>0,t||M(e,2,this.length);var r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};p.prototype.readInt32LE=function(e,t){return e=e>>>0,t||M(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};p.prototype.readInt32BE=function(e,t){return e=e>>>0,t||M(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};p.prototype.readFloatLE=function(e,t){return e=e>>>0,t||M(e,4,this.length),le.read(this,e,!0,23,4)};p.prototype.readFloatBE=function(e,t){return e=e>>>0,t||M(e,4,this.length),le.read(this,e,!1,23,4)};p.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||M(e,8,this.length),le.read(this,e,!0,52,8)};p.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||M(e,8,this.length),le.read(this,e,!1,52,8)};function O(n,e,t,r,a,s){if(!p.isBuffer(n))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>a||e<s)throw new RangeError('"value" argument is out of bounds');if(t+r>n.length)throw new RangeError("Index out of range")}p.prototype.writeUintLE=p.prototype.writeUIntLE=function(e,t,r,a){if(e=+e,t=t>>>0,r=r>>>0,!a){var s=Math.pow(2,8*r)-1;O(this,e,t,r,s,0)}var i=1,o=0;for(this[t]=e&255;++o<r&&(i*=256);)this[t+o]=e/i&255;return t+r};p.prototype.writeUintBE=p.prototype.writeUIntBE=function(e,t,r,a){if(e=+e,t=t>>>0,r=r>>>0,!a){var s=Math.pow(2,8*r)-1;O(this,e,t,r,s,0)}var i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};p.prototype.writeUint8=p.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||O(this,e,t,1,255,0),this[t]=e&255,t+1};p.prototype.writeUint16LE=p.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||O(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};p.prototype.writeUint16BE=p.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||O(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};p.prototype.writeUint32LE=p.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||O(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};p.prototype.writeUint32BE=p.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||O(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};p.prototype.writeIntLE=function(e,t,r,a){if(e=+e,t=t>>>0,!a){var s=Math.pow(2,8*r-1);O(this,e,t,r,s-1,-s)}var i=0,o=1,u=0;for(this[t]=e&255;++i<r&&(o*=256);)e<0&&u===0&&this[t+i-1]!==0&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r};p.prototype.writeIntBE=function(e,t,r,a){if(e=+e,t=t>>>0,!a){var s=Math.pow(2,8*r-1);O(this,e,t,r,s-1,-s)}var i=r-1,o=1,u=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&u===0&&this[t+i+1]!==0&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r};p.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||O(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};p.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||O(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};p.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||O(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};p.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||O(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};p.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||O(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function Wt(n,e,t,r,a,s){if(t+r>n.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function Gt(n,e,t,r,a){return e=+e,t=t>>>0,a||Wt(n,e,t,4,34028234663852886e22,-34028234663852886e22),le.write(n,e,t,r,23,4),t+4}p.prototype.writeFloatLE=function(e,t,r){return Gt(this,e,t,!0,r)};p.prototype.writeFloatBE=function(e,t,r){return Gt(this,e,t,!1,r)};function zt(n,e,t,r,a){return e=+e,t=t>>>0,a||Wt(n,e,t,8,17976931348623157e292,-17976931348623157e292),le.write(n,e,t,r,52,8),t+8}p.prototype.writeDoubleLE=function(e,t,r){return zt(this,e,t,!0,r)};p.prototype.writeDoubleBE=function(e,t,r){return zt(this,e,t,!1,r)};p.prototype.copy=function(e,t,r,a){if(!p.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!a&&a!==0&&(a=this.length),t>=e.length&&(t=e.length),t||(t=0),a>0&&a<r&&(a=r),a===r||e.length===0||this.length===0)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),e.length-t<a-r&&(a=e.length-t+r);var s=a-r;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(t,r,a):Uint8Array.prototype.set.call(e,this.subarray(r,a),t),s};p.prototype.fill=function(e,t,r,a){if(typeof e=="string"){if(typeof t=="string"?(a=t,t=0,r=this.length):typeof r=="string"&&(a=r,r=this.length),a!==void 0&&typeof a!="string")throw new TypeError("encoding must be a string");if(typeof a=="string"&&!p.isEncoding(a))throw new TypeError("Unknown encoding: "+a);if(e.length===1){var s=e.charCodeAt(0);(a==="utf8"&&s<128||a==="latin1")&&(e=s)}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;t=t>>>0,r=r===void 0?this.length:r>>>0,e||(e=0);var i;if(typeof e=="number")for(i=t;i<r;++i)this[i]=e;else{var o=p.isBuffer(e)?e:p.from(e,a),u=o.length;if(u===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<r-t;++i)this[i+t]=o[i%u]}return this};var Gr=/[^+/0-9A-Za-z-_]/g;function zr(n){if(n=n.split("=")[0],n=n.trim().replace(Gr,""),n.length<2)return"";for(;n.length%4!==0;)n=n+"=";return n}function at(n,e){e=e||1/0;for(var t,r=n.length,a=null,s=[],i=0;i<r;++i){if(t=n.charCodeAt(i),t>55295&&t<57344){if(!a){if(t>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(i+1===r){(e-=3)>-1&&s.push(239,191,189);continue}a=t;continue}if(t<56320){(e-=3)>-1&&s.push(239,191,189),a=t;continue}t=(a-55296<<10|t-56320)+65536}else a&&(e-=3)>-1&&s.push(239,191,189);if(a=null,t<128){if((e-=1)<0)break;s.push(t)}else if(t<2048){if((e-=2)<0)break;s.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;s.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;s.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return s}function Xr(n){for(var e=[],t=0;t<n.length;++t)e.push(n.charCodeAt(t)&255);return e}function qr(n,e){for(var t,r,a,s=[],i=0;i<n.length&&!((e-=2)<0);++i)t=n.charCodeAt(i),r=t>>8,a=t%256,s.push(a),s.push(r);return s}function Xt(n){return tt.toByteArray(zr(n))}function Be(n,e,t,r){for(var a=0;a<r&&!(a+t>=e.length||a>=n.length);++a)e[a+t]=n[a];return a}function G(n,e){return n instanceof e||n!=null&&n.constructor!=null&&n.constructor.name!=null&&n.constructor.name===e.name}function ot(n){return n!==n}var jr=function(){for(var n="0123456789abcdef",e=new Array(256),t=0;t<16;++t)for(var r=t*16,a=0;a<16;++a)e[r+a]=n[t]+n[a];return e}()});var mn=de((g,yn)=>{"use strict";y();Object.defineProperty(g,"__esModule",{value:!0});var h={exports:{}},x=h.exports={},z,X;function pt(){throw new Error("setTimeout has not been defined")}function dt(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?z=setTimeout:z=pt}catch{z=pt}try{typeof clearTimeout=="function"?X=clearTimeout:X=dt}catch{X=dt}})();function qt(n){if(z===setTimeout)return setTimeout(n,0);if((z===pt||!z)&&setTimeout)return z=setTimeout,setTimeout(n,0);try{return z(n,0)}catch{try{return z.call(null,n,0)}catch{return z.call(this,n,0)}}}function Jr(n){if(X===clearTimeout)return clearTimeout(n);if((X===dt||!X)&&clearTimeout)return X=clearTimeout,clearTimeout(n);try{return X(n)}catch{try{return X.call(null,n)}catch{return X.call(this,n)}}}var Y=[],ye=!1,se,Fe=-1;function Yr(){!ye||!se||(ye=!1,se.length?Y=se.concat(Y):Fe=-1,Y.length&&jt())}function jt(){if(!ye){var n=qt(Yr);ye=!0;for(var e=Y.length;e;){for(se=Y,Y=[];++Fe<e;)se&&se[Fe].run();Fe=-1,e=Y.length}se=null,ye=!1,Jr(n)}}x.nextTick=function(n){var e=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)e[t-1]=arguments[t];Y.push(new Jt(n,e)),Y.length===1&&!ye&&qt(jt)};function Jt(n,e){this.fun=n,this.array=e}Jt.prototype.run=function(){this.fun.apply(null,this.array)};x.title="browser";x.browser=!0;x.env={};x.argv=[];x.version="";x.versions={};function Z(){}x.on=Z;x.addListener=Z;x.once=Z;x.off=Z;x.removeListener=Z;x.removeAllListeners=Z;x.emit=Z;x.prependListener=Z;x.prependOnceListener=Z;x.listeners=function(n){return[]};x.binding=function(n){throw new Error("process.binding is not supported")};x.cwd=function(){return"/"};x.chdir=function(n){throw new Error("process.chdir is not supported")};x.umask=function(){return 0};function ie(){}var Yt=h.exports.browser,Zt=ie,$t=h.exports.binding,Qt=ie,en=1,tn={},nn=ie,rn=ie,an=ie,sn=ie,on=ie,un="browser",pn="browser",dn="browser",ln=[],cn={nextTick:h.exports.nextTick,title:h.exports.title,browser:Yt,env:h.exports.env,argv:h.exports.argv,version:h.exports.version,versions:h.exports.versions,on:h.exports.on,addListener:h.exports.addListener,once:h.exports.once,off:h.exports.off,removeListener:h.exports.removeListener,removeAllListeners:h.exports.removeAllListeners,emit:h.exports.emit,emitWarning:Zt,prependListener:h.exports.prependListener,prependOnceListener:h.exports.prependOnceListener,listeners:h.exports.listeners,binding:$t,cwd:h.exports.cwd,chdir:h.exports.chdir,umask:h.exports.umask,exit:Qt,pid:en,features:tn,kill:nn,dlopen:rn,uptime:an,memoryUsage:sn,uvCounters:on,platform:un,arch:pn,execPath:dn,execArgv:ln};g.addListener=h.exports.addListener;g.arch=pn;g.argv=h.exports.argv;g.binding=$t;g.browser=Yt;g.chdir=h.exports.chdir;g.cwd=h.exports.cwd;g.default=cn;g.dlopen=rn;g.emit=h.exports.emit;g.emitWarning=Zt;g.env=h.exports.env;g.execArgv=ln;g.execPath=dn;g.exit=Qt;g.features=tn;g.kill=nn;g.listeners=h.exports.listeners;g.memoryUsage=sn;g.nextTick=h.exports.nextTick;g.off=h.exports.off;g.on=h.exports.on;g.once=h.exports.once;g.pid=en;g.platform=un;g.prependListener=h.exports.prependListener;g.prependOnceListener=h.exports.prependOnceListener;g.removeAllListeners=h.exports.removeAllListeners;g.removeListener=h.exports.removeListener;g.title=h.exports.title;g.umask=h.exports.umask;g.uptime=an;g.uvCounters=on;g.version=h.exports.version;g.versions=h.exports.versions;g=yn.exports=cn});var T,v,Zr,w,y=hr(()=>{"use strict";T=Te(ut()),v=Te(mn()),Zr=function(n){function e(){var r=this||self;return delete n.prototype.__magic__,r}if(typeof globalThis=="object")return globalThis;if(this)return e();n.defineProperty(n.prototype,"__magic__",{configurable:!0,get:e});var t=__magic__;return t}(Object),w=Zr});var hn=de((Ja,fn)=>{"use strict";y();function $r(n){if(n.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),t=0;t<e.length;t++)e[t]=255;for(var r=0;r<n.length;r++){var a=n.charAt(r),s=a.charCodeAt(0);if(e[s]!==255)throw new TypeError(a+" is ambiguous");e[s]=r}var i=n.length,o=n.charAt(0),u=Math.log(i)/Math.log(256),l=Math.log(256)/Math.log(i);function c(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var A=0,S=0,E=0,C=f.length;E!==C&&f[E]===0;)E++,A++;for(var P=(C-E)*l+1>>>0,L=new Uint8Array(P);E!==C;){for(var U=f[E],j=0,V=P-1;(U!==0||j<S)&&V!==-1;V--,j++)U+=256*L[V]>>>0,L[V]=U%i>>>0,U=U/i>>>0;if(U!==0)throw new Error("Non-zero carry");S=j,E++}for(var B=P-S;B!==P&&L[B]===0;)B++;for(var we=o.repeat(A);B<P;++B)we+=n.charAt(L[B]);return we}function d(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;for(var A=0,S=0,E=0;f[A]===o;)S++,A++;for(var C=(f.length-A)*u+1>>>0,P=new Uint8Array(C);f[A];){var L=f.charCodeAt(A);if(L>255)return;var U=e[L];if(U===255)return;for(var j=0,V=C-1;(U!==0||j<E)&&V!==-1;V--,j++)U+=i*P[V]>>>0,P[V]=U%256>>>0,U=U/256>>>0;if(U!==0)throw new Error("Non-zero carry");E=j,A++}for(var B=C-E;B!==C&&P[B]===0;)B++;for(var we=new Uint8Array(S+(C-B)),dr=S;B!==C;)we[dr++]=P[B++];return we}function b(f){var A=d(f);if(A)return A;throw new Error("Non-base"+i+" character")}return{encode:c,decodeUnsafe:d,decode:b}}fn.exports=$r});var lt=de((Za,gn)=>{"use strict";y();var Qr=hn(),ea="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";gn.exports=Qr(ea)});y();y();y();var Ee=Te(lt());y();var N=2n**255n-19n,me=2n**252n+27742317777372353535851937790883648493n,ct=0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,yt=0x6666666666666666666666666666666666666666666666666666666666666658n,ta=37095705934669439343138083508754565189542113879843219016388785533085940283555n,Oe={a:-1n,d:ta,p:N,n:me,h:8,Gx:ct,Gy:yt},R=(n="")=>{throw new Error(n)},xn=n=>typeof n=="string",na=n=>n instanceof Uint8Array||ArrayBuffer.isView(n)&&n.constructor.name==="Uint8Array",fe=(n,e)=>!na(n)||typeof e=="number"&&e>0&&n.length!==e?R("Uint8Array of valid length expected"):n,he=n=>new Uint8Array(n),Pe=(n,e)=>fe(xn(n)?ht(n):he(fe(n)),e),m=(n,e=N)=>{let t=n%e;return t>=0n?t:e+t},bn=n=>n instanceof ee?n:R("Point expected"),ee=class n{constructor(e,t,r,a){this.ex=e,this.ey=t,this.ez=r,this.et=a}static fromAffine(e){return new n(e.x,e.y,1n,m(e.x*e.y))}static fromHex(e,t=!1){let{d:r}=Oe;e=Pe(e,32);let a=e.slice(),s=e[31];a[31]=s&-129;let i=In(a);t&&!(0n<=i&&i<2n**256n)&&R("bad y coord 1"),!t&&!(0n<=i&&i<N)&&R("bad y coord 2");let o=m(i*i),u=m(o-1n),l=m(r*o+1n),{isValid:c,value:d}=aa(u,l);c||R("bad y coordinate 3");let b=(d&1n)===1n,f=(s&128)!==0;return!t&&d===0n&&f&&R("bad y coord 3"),f!==b&&(d=m(-d)),new n(d,i,1n,m(d*i))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}equals(e){let{ex:t,ey:r,ez:a}=this,{ex:s,ey:i,ez:o}=bn(e),u=m(t*o),l=m(s*a),c=m(r*o),d=m(i*a);return u===l&&c===d}is0(){return this.equals(ve)}negate(){return new n(m(-this.ex),this.ey,this.ez,m(-this.et))}double(){let{ex:e,ey:t,ez:r}=this,{a}=Oe,s=m(e*e),i=m(t*t),o=m(2n*m(r*r)),u=m(a*s),l=e+t,c=m(m(l*l)-s-i),d=u+i,b=d-o,f=u-i,A=m(c*b),S=m(d*f),E=m(c*f),C=m(b*d);return new n(A,S,C,E)}add(e){let{ex:t,ey:r,ez:a,et:s}=this,{ex:i,ey:o,ez:u,et:l}=bn(e),{a:c,d}=Oe,b=m(t*i),f=m(r*o),A=m(s*d*l),S=m(a*u),E=m((t+r)*(i+o)-b-f),C=m(S-A),P=m(S+A),L=m(f-c*b),U=m(E*C),j=m(P*L),V=m(E*L),B=m(C*P);return new n(U,j,B,V)}mul(e,t=!0){if(e===0n)return t===!0?R("cannot multiply by 0"):ve;if(typeof e=="bigint"&&0n<e&&e<me||R("invalid scalar, must be < L"),!t&&this.is0()||e===1n)return this;if(this.equals(ue))return pa(e).p;let r=ve,a=ue;for(let s=this;e>0n;s=s.double(),e>>=1n)e&1n?r=r.add(s):t&&(a=a.add(s));return r}multiply(e){return this.mul(e)}clearCofactor(){return this.mul(BigInt(Oe.h),!1)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){let e=this.mul(me/2n,!1).double();return me%2n&&(e=e.add(this)),e.is0()}toAffine(){let{ex:e,ey:t,ez:r}=this;if(this.equals(ve))return{x:0n,y:1n};let a=_n(r,N);return m(r*a)!==1n&&R("invalid inverse"),{x:m(e*a),y:m(t*a)}}toRawBytes(){let{x:e,y:t}=this.toAffine(),r=Cn(t);return r[31]|=e&1n?128:0,r}toHex(){return ft(this.toRawBytes())}};ee.BASE=new ee(ct,yt,1n,m(ct*yt));ee.ZERO=new ee(0n,1n,1n,0n);var{BASE:ue,ZERO:ve}=ee,En=(n,e)=>n.toString(16).padStart(e,"0"),ft=n=>Array.from(fe(n)).map(e=>En(e,2)).join(""),$={_0:48,_9:57,A:65,F:70,a:97,f:102},An=n=>{if(n>=$._0&&n<=$._9)return n-$._0;if(n>=$.A&&n<=$.F)return n-($.A-10);if(n>=$.a&&n<=$.f)return n-($.a-10)},ht=n=>{let e="hex invalid";if(!xn(n))return R(e);let t=n.length,r=t/2;if(t%2)return R(e);let a=he(r);for(let s=0,i=0;s<r;s++,i+=2){let o=An(n.charCodeAt(i)),u=An(n.charCodeAt(i+1));if(o===void 0||u===void 0)return R(e);a[s]=o*16+u}return a},Cn=n=>ht(En(n,32*2)).reverse(),In=n=>BigInt("0x"+ft(he(fe(n)).reverse())),De=(...n)=>{let e=he(n.reduce((r,a)=>r+fe(a).length,0)),t=0;return n.forEach(r=>{e.set(r,t),t+=r.length}),e},_n=(n,e)=>{(n===0n||e<=0n)&&R("no inverse n="+n+" mod="+e);let t=m(n,e),r=e,a=0n,s=1n,i=1n,o=0n;for(;t!==0n;){let u=r/t,l=r%t,c=a-i*u,d=s-o*u;r=t,t=l,a=i,s=o,i=c,o=d}return r===1n?m(a,e):R("no inverse")},q=(n,e)=>{let t=n;for(;e-- >0n;)t*=t,t%=N;return t},ra=n=>{let t=n*n%N*n%N,r=q(t,2n)*t%N,a=q(r,1n)*n%N,s=q(a,5n)*a%N,i=q(s,10n)*s%N,o=q(i,20n)*i%N,u=q(o,40n)*o%N,l=q(u,80n)*u%N,c=q(l,80n)*u%N,d=q(c,10n)*s%N;return{pow_p_5_8:q(d,2n)*n%N,b2:t}},wn=19681161376707505956807079304988542015446066515923890162744021073123829784752n,aa=(n,e)=>{let t=m(e*e*e),r=m(t*t*e),a=ra(n*r).pow_p_5_8,s=m(n*t*a),i=m(e*s*s),o=s,u=m(s*wn),l=i===n,c=i===m(-n),d=i===m(-n*wn);return l&&(s=o),(c||d)&&(s=u),(m(s)&1n)===1n&&(s=m(-s)),{isValid:l||c,value:s}},mt=n=>m(In(n),me),xe,gt=(...n)=>At.sha512Async(...n),Sn=(...n)=>typeof xe=="function"?xe(...n):R("etc.sha512Sync not set"),Mn=n=>{let e=n.slice(0,32);e[0]&=248,e[31]&=127,e[31]|=64;let t=n.slice(32,64),r=mt(e),a=ue.mul(r),s=a.toRawBytes();return{head:e,prefix:t,scalar:r,point:a,pointBytes:s}},bt=n=>gt(Pe(n,32)).then(Mn),sa=n=>Mn(Sn(Pe(n,32))),kn=n=>bt(n).then(e=>e.pointBytes);function ia(n,e){return n?gt(e.hashable).then(e.finish):e.finish(Sn(e.hashable))}var oa=(n,e,t)=>{let{pointBytes:r,scalar:a}=n,s=mt(e),i=ue.mul(s).toRawBytes();return{hashable:De(i,r,t),finish:l=>{let c=m(s+mt(l)*a,me);return fe(De(i,Cn(c)),64)}}},Nn=async(n,e)=>{let t=Pe(n),r=await bt(e),a=await gt(r.prefix,t);return ia(!0,oa(r,a,t))};var Tn=()=>typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0,At={bytesToHex:ft,hexToBytes:ht,concatBytes:De,mod:m,invert:_n,randomBytes:(n=32)=>{let e=Tn();return(!e||!e.getRandomValues)&&R("crypto.getRandomValues must be defined"),e.getRandomValues(he(n))},sha512Async:async(...n)=>{let e=Tn(),t=e&&e.subtle;t||R("etc.sha512Async or crypto.subtle must be defined");let r=De(...n);return he(await t.digest("SHA-512",r.buffer))},sha512Sync:void 0};Object.defineProperties(At,{sha512Sync:{configurable:!1,get(){return xe},set(n){xe||(xe=n)}}});var Ke={getExtendedPublicKeyAsync:bt,getExtendedPublicKey:sa,randomPrivateKey:()=>At.randomBytes(32),precompute:(n=8,e=ue)=>(e.multiply(3n),e)},oe=8,ua=()=>{let n=[],e=256/oe+1,t=ue,r=t;for(let a=0;a<e;a++){r=t,n.push(r);for(let s=1;s<2**(oe-1);s++)r=r.add(t),n.push(r);t=r.double()}return n},vn,pa=n=>{let e=vn||(vn=ua()),t=(c,d)=>{let b=d.negate();return c?b:d},r=ve,a=ue,s=1+256/oe,i=2**(oe-1),o=BigInt(2**oe-1),u=2**oe,l=BigInt(oe);for(let c=0;c<s;c++){let d=c*i,b=Number(n&o);n>>=l,b>i&&(b-=u,n+=1n);let f=d,A=d+Math.abs(b)-1,S=c%2!==0,E=b<0;b===0?a=a.add(t(S,e[f])):r=r.add(t(E,e[A]))}return{p:r,f:a}};var H=class n{static generateKey(){let e,t;do e=Ke.randomPrivateKey(),t=(0,Ee.encode)(e);while(t.length!==44);return new n(t)}constructor(e){this.secretKey=e;let t=(0,Ee.decode)(e);this.privateKey=T.Buffer.from(t).toString("hex")}async sign(e){return await Nn(e,this.privateKey)}async getPublicKey(){let e=await kn(this.privateKey);return`ed25519:${(0,Ee.encode)(e)}`}toString(){return this.privateKey}};var Ve=class{constructor(e="testnet"){this.networkId=e}get keyPrefix(){return`orderly_${this.networkId}_`}},Ce=class extends Ve{getOrderlyKey(e){let t;if(e)t=this.getItem(e,"orderlyKey");else{let r=this.getAddress();if(!r)return null;t=this.getItem(r,"orderlyKey")}return t?new H(t):null}getAccountId(e){return this.getItem(e,"accountId")}setAccountId(e,t){this.setItem(e,{accountId:t})}getAddress(){return localStorage.getItem(`${this.keyPrefix}address`)}setAddress(e){localStorage.setItem(`${this.keyPrefix}address`,e)}removeAddress(){localStorage.removeItem(`${this.keyPrefix}address`)}generateKey(){return H.generateKey()}setKey(e,t){this.setItem(e,{orderlyKey:t.secretKey})}cleanAllKey(e){localStorage.removeItem(`${this.keyPrefix}${e}`),localStorage.removeItem(`${this.keyPrefix}address`)}cleanKey(e,t){let r=this.getItem(e);delete r[t],localStorage.setItem(`${this.keyPrefix}${e}`,JSON.stringify(r))}setItem(e,t){let r=`${this.keyPrefix}${e}`,a=localStorage.getItem(r);a?a=JSON.parse(a):a={},localStorage.setItem(r,JSON.stringify({...a,...t}))}getItem(e,t){let r=`${this.keyPrefix}${e}`,a=localStorage.getItem(r);return a?a=JSON.parse(a):a={},typeof t>"u"?a:a[t]}},Ie=class{constructor(e){this.secretKey=e}generateKey(){return new H(this.secretKey)}getOrderlyKey(){return new H(this.secretKey)}getAccountId(){return""}setAccountId(e){}getAddress(){return""}setAddress(e){}removeAddress(){}setKey(e,t){}cleanAllKey(){}cleanKey(e){}};y();var Un={};gr(Un,{base64url:()=>wt,calculateStringHash:()=>vt,formatByUnits:()=>Le,getGlobalObject:()=>Se,getTimestamp:()=>I,isHex:()=>_e,isHexString:()=>ma,parseAccountId:()=>Tt,parseBrokerHash:()=>pe,parseTokenHash:()=>He,parseUnits:()=>fa});y();import{keccak256 as da,AbiCoder as la,solidityPackedKeccak256 as ca,formatUnits as ya}from"ethers";import{parseUnits as fa}from"ethers";var wt=function(n){return n.replace(/\+/g,"-").replace(/\//g,"_")};function pe(n){return vt(n)}function Tt(n,e){let t=la.defaultAbiCoder();return da(t.encode(["address","bytes32"],[n,pe(e)]))}function He(n){return vt(n)}function vt(n){return ca(["string"],[n])}function Le(n,e="ether"){return ya(n,e)}function _e(n){return/^[a-f0-9]+$/iu.test(n)}function ma(n){return typeof n=="string"&&n.startsWith("0x")&&_e(n)}var Se=()=>{if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof w<"u")return w;throw new Error("cannot find the global object")},I=()=>{if(typeof window<"u"){let n=Se()?.__ORDERLY_timestamp_offset;if(typeof n=="number")return Date.now()+(n||0)}return Date.now()};var xt=Te(ut()),te=class{constructor(e){this.keyStore=e}async sign(e,t=I()){let r=t.toString(),a=[r,e.method.toUpperCase(),e.url].join("");e.data&&Object.keys(e.data).length&&(a+=JSON.stringify(e.data));let{signature:s,publicKey:i}=await this.signText(a);return{"orderly-key":i,"orderly-timestamp":r,"orderly-signature":s}}async signText(e){let t=this.keyStore.getOrderlyKey();if(!t)throw new Error("orderlyKeyPair is not defined");let r=xt.Buffer.from(e),a=await t.sign(r),s=xt.Buffer.from(a).toString("base64");return{signature:wt(s),publicKey:await t.getPublicKey()}}};import{default as ji}from"eventemitter3";y();import{definedTypes as ge}from"@orderly.network/types";var ha=n=>{let e=new Ie(n||"AFmQSju4FhDwG93cMdKogcnKx7SWmViDtDv5PVzfvRDF");return new te(e)},ga=()=>{if(typeof window>"u")throw new Error("the default signer only supports browsers.");let n=new Ce("");return new te(n)};function ba(){return"0x8794E7260517B1766fc7b55cAfcd56e6bf08600e"}function Bn(n,e){return{name:"Orderly",version:"1",chainId:n,verifyingContract:e?ba():"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"}}function Aa(n){let{chainId:e,registrationNonce:t,brokerId:r,timestamp:a=I()}=n,s="Registration",i={brokerId:r,chainId:e,timestamp:a,registrationNonce:t},o={EIP712Domain:ge.EIP712Domain,[s]:ge[s]},u={domain:Bn(e),message:i,primaryType:s,types:o};return[i,u]}function wa(n){let{publicKey:e,chainId:t,primaryType:r,brokerId:a,expiration:s=365,timestamp:i=I(),scope:o,tag:u}=n,l={brokerId:a,orderlyKey:e,scope:o||"read,trading",chainId:t,timestamp:i,expiration:i+1e3*60*60*24*s,...typeof u<"u"?{tag:u}:{}},c={EIP712Domain:ge.EIP712Domain,[r]:ge[r]},d={domain:Bn(t),message:l,primaryType:r,types:c};return[l,d]}function Ta(n){let{chainId:e,settlePnlNonce:t,domain:r,brokerId:a}=n,s="SettlePnl",i=I(),o={EIP712Domain:ge.EIP712Domain,[s]:ge[s]},u={brokerId:a,chainId:e,timestamp:i,settleNonce:t};return[u,{domain:r,message:u,primaryType:s,types:o}]}y();y();var Fn="0xfd064A18f3BF249cf1f87FC203E90D8f650f2d63";var On="0x0EaC556c0C2321BA25b9DC01e4e3c95aD5CDCd2f",Dn="0x1826B75e2ef249173FC735149AE4B8e9ea10abff",Pn="0xaf88d065e77c8cC2239327C5EDb3A432268e5831",Kn="0x816f722424B49Cf1275cc86DA9840Fbd5a6167e9",Vn="0x6F7a338F2aA472838dEFD3283eB360d4Dff5D203",Hn="ErBmAD61mGFKvrFNaTJuxoPwqrS8GgtwtqJTJVjFWx9Q",Ln="9shwxWDUNhtwkHocsUAmrNAQfBH2DHh4njdAEdHZZkF2";var Wn="5zBjLor7vEraAt4zp2H82sy9MSqFoDnNa1Lx6EYKTYRZ",Gn="4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU",zn="EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",_={statusChanged:"change:status",validateStart:"validate:start",validateEnd:"validate:end",switchAccount:"switch:account"},Xn="0x65B99E978d1eeE9CfEdfD463EC7A81317e5A5073",qn="0x9442e24203e999db4aE87E35Dc0c8F3C610c29A0",jn="0x77F77926C6596c78f285D230Cd0dC8dC3540e3a6",Jn="0xdd6E018D747D70C705BA84B67B6eAD7748a57cDa",Yn="0x84A71ccD554Cc1b02749b35d22F684CC8ec987e1",Zn="0xa0BB43E2eA7fcE91F07e628d72fD6333e80F47D2",$n="0x44Df3723136b7372a61c404Dc1Bd503460833310",Qn="0xf14Ff11F3bb1011ff42665Ec869c7827c43745Fd",er="0x2c65ea2eE7265df755d7258291202690c27C6d2d",tr="0xE80F2396A266e898FBbD251b89CFE65B3e41fD18";var Et=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"authorizer",type:"address"},{indexed:!0,internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"AuthorizationCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"authorizer",type:"address"},{indexed:!0,internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"AuthorizationUsed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"_account",type:"address"}],name:"Blacklisted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newBlacklister",type:"address"}],name:"BlacklisterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"burner",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Burn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newMasterMinter",type:"address"}],name:"MasterMinterChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"minter",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Mint",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"minter",type:"address"},{indexed:!1,internalType:"uint256",name:"minterAllowedAmount",type:"uint256"}],name:"MinterConfigured",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldMinter",type:"address"}],name:"MinterRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousOwner",type:"address"},{indexed:!1,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[],name:"Pause",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newAddress",type:"address"}],name:"PauserChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newRescuer",type:"address"}],name:"RescuerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"_account",type:"address"}],name:"UnBlacklisted",type:"event"},{anonymous:!1,inputs:[],name:"Unpause",type:"event"},{inputs:[],name:"CANCEL_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PERMIT_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"RECEIVE_WITH_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"TRANSFER_WITH_AUTHORIZATION_TYPEHASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"authorizer",type:"address"},{internalType:"bytes32",name:"nonce",type:"bytes32"}],name:"authorizationState",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"blacklist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"blacklister",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"authorizer",type:"address"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"cancelAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"},{internalType:"uint256",name:"minterAllowedAmount",type:"uint256"}],name:"configureMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"currency",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"decrement",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"increment",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"tokenName",type:"string"},{internalType:"string",name:"tokenSymbol",type:"string"},{internalType:"string",name:"tokenCurrency",type:"string"},{internalType:"uint8",name:"tokenDecimals",type:"uint8"},{internalType:"address",name:"newMasterMinter",type:"address"},{internalType:"address",name:"newPauser",type:"address"},{internalType:"address",name:"newBlacklister",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"newName",type:"string"}],name:"initializeV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"lostAndFound",type:"address"}],name:"initializeV2_1",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"isBlacklisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"masterMinter",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"mint",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"}],name:"minterAllowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauser",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"receiveWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"}],name:"removeMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"tokenContract",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueERC20",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rescuer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"validAfter",type:"uint256"},{internalType:"uint256",name:"validBefore",type:"uint256"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"transferWithAuthorization",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_account",type:"address"}],name:"unBlacklist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newBlacklister",type:"address"}],name:"updateBlacklister",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newMasterMinter",type:"address"}],name:"updateMasterMinter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newPauser",type:"address"}],name:"updatePauser",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newRescuer",type:"address"}],name:"updateRescuer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];var nr=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccountIdInvalid",type:"error"},{inputs:[],name:"AddressZero",type:"error"},{inputs:[{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint128",name:"amount",type:"uint128"}],name:"BalanceNotEnough",type:"error"},{inputs:[],name:"BrokerNotAllowed",type:"error"},{inputs:[],name:"EnumerableSetError",type:"error"},{inputs:[],name:"OnlyCrossChainManagerCanCall",type:"error"},{inputs:[],name:"TokenNotAllowed",type:"error"},{inputs:[],name:"ZeroDepositFee",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:!0,internalType:"address",name:"userAddress",type:"address"},{indexed:!0,internalType:"uint64",name:"depositNonce",type:"uint64"},{indexed:!1,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:!1,internalType:"uint128",name:"tokenAmount",type:"uint128"}],name:"AccountDeposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:!0,internalType:"address",name:"userAddress",type:"address"},{indexed:!0,internalType:"uint64",name:"depositNonce",type:"uint64"},{indexed:!1,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:!1,internalType:"uint128",name:"tokenAmount",type:"uint128"}],name:"AccountDepositTo",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"withdrawNonce",type:"uint64"},{indexed:!1,internalType:"bytes32",name:"brokerHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:!1,internalType:"uint128",name:"tokenAmount",type:"uint128"},{indexed:!1,internalType:"uint128",name:"fee",type:"uint128"}],name:"AccountWithdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldAddress",type:"address"},{indexed:!1,internalType:"address",name:"newAddress",type:"address"}],name:"ChangeCrossChainManager",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"_tokenAddress",type:"address"}],name:"ChangeTokenAddressAndAllow",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_brokerHash",type:"bytes32"},{indexed:!1,internalType:"bool",name:"_allowed",type:"bool"}],name:"SetAllowedBroker",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{indexed:!1,internalType:"bool",name:"_allowed",type:"bool"}],name:"SetAllowedToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"allowedToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{internalType:"address",name:"_tokenAddress",type:"address"}],name:"changeTokenAddressAndAllow",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"crossChainManagerAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"depositFeeEnabled",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"depositId",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"emergencyPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"emergencyUnpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_enabled",type:"bool"}],name:"enableDepositFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAllAllowedBroker",outputs:[{internalType:"bytes32[]",name:"",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAllAllowedToken",outputs:[{internalType:"bytes32[]",name:"",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_brokerHash",type:"bytes32"}],name:"getAllowedBroker",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_tokenHash",type:"bytes32"}],name:"getAllowedToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"getDepositFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"messageTransmitterContract",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"dstDomain",type:"uint32"},{internalType:"uint64",name:"rebalanceId",type:"uint64"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint256",name:"burnChainId",type:"uint256"},{internalType:"uint256",name:"mintChainId",type:"uint256"},{internalType:"address",name:"dstVaultAddress",type:"address"}],internalType:"struct RebalanceTypes.RebalanceBurnCCData",name:"data",type:"tuple"}],name:"rebalanceBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint64",name:"rebalanceId",type:"uint64"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint256",name:"burnChainId",type:"uint256"},{internalType:"uint256",name:"mintChainId",type:"uint256"},{internalType:"bytes",name:"messageBytes",type:"bytes"},{internalType:"bytes",name:"messageSignature",type:"bytes"}],internalType:"struct RebalanceTypes.RebalanceMintCCData",name:"data",type:"tuple"}],name:"rebalanceMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_brokerHash",type:"bytes32"},{internalType:"bool",name:"_allowed",type:"bool"}],name:"setAllowedBroker",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{internalType:"bool",name:"_allowed",type:"bool"}],name:"setAllowedToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_crossChainManagerAddress",type:"address"}],name:"setCrossChainManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_rebalanceMessengerContract",type:"address"}],name:"setRebalanceMessengerContract",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_tokenMessengerContract",type:"address"}],name:"setTokenMessengerContract",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenMessengerContract",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint64",name:"withdrawNonce",type:"uint64"}],internalType:"struct VaultTypes.VaultWithdraw",name:"data",type:"tuple"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}];var Ct=[{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"},{internalType:"uint8",name:"decimals_",type:"uint8"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"issue",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"_paused",type:"bool"}],name:"pauseTransfers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];var rr=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccountIdInvalid",type:"error"},{inputs:[],name:"AddressZero",type:"error"},{inputs:[{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint128",name:"amount",type:"uint128"}],name:"BalanceNotEnough",type:"error"},{inputs:[],name:"BrokerNotAllowed",type:"error"},{inputs:[],name:"EnumerableSetError",type:"error"},{inputs:[],name:"OnlyCrossChainManagerCanCall",type:"error"},{inputs:[],name:"TokenNotAllowed",type:"error"},{inputs:[],name:"ZeroDepositFee",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:!0,internalType:"address",name:"userAddress",type:"address"},{indexed:!0,internalType:"uint64",name:"depositNonce",type:"uint64"},{indexed:!1,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:!1,internalType:"uint128",name:"tokenAmount",type:"uint128"}],name:"AccountDeposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:!0,internalType:"address",name:"userAddress",type:"address"},{indexed:!0,internalType:"uint64",name:"depositNonce",type:"uint64"},{indexed:!1,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:!1,internalType:"uint128",name:"tokenAmount",type:"uint128"}],name:"AccountDepositTo",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"accountId",type:"bytes32"},{indexed:!0,internalType:"uint64",name:"withdrawNonce",type:"uint64"},{indexed:!1,internalType:"bytes32",name:"brokerHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"bytes32",name:"tokenHash",type:"bytes32"},{indexed:!1,internalType:"uint128",name:"tokenAmount",type:"uint128"},{indexed:!1,internalType:"uint128",name:"fee",type:"uint128"}],name:"AccountWithdraw",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldAddress",type:"address"},{indexed:!1,internalType:"address",name:"newAddress",type:"address"}],name:"ChangeCrossChainManager",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"_tokenAddress",type:"address"}],name:"ChangeTokenAddressAndAllow",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_brokerHash",type:"bytes32"},{indexed:!1,internalType:"bool",name:"_allowed",type:"bool"}],name:"SetAllowedBroker",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{indexed:!1,internalType:"bool",name:"_allowed",type:"bool"}],name:"SetAllowedToken",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"allowedToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{internalType:"address",name:"_tokenAddress",type:"address"}],name:"changeTokenAddressAndAllow",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"crossChainManagerAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"depositFeeEnabled",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"depositId",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"emergencyPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"emergencyUnpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"_enabled",type:"bool"}],name:"enableDepositFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAllAllowedBroker",outputs:[{internalType:"bytes32[]",name:"",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAllAllowedToken",outputs:[{internalType:"bytes32[]",name:"",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_brokerHash",type:"bytes32"}],name:"getAllowedBroker",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_tokenHash",type:"bytes32"}],name:"getAllowedToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"receiver",type:"address"},{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"}],internalType:"struct VaultTypes.VaultDepositFE",name:"data",type:"tuple"}],name:"getDepositFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"messageTransmitterContract",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"dstDomain",type:"uint32"},{internalType:"uint64",name:"rebalanceId",type:"uint64"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint256",name:"burnChainId",type:"uint256"},{internalType:"uint256",name:"mintChainId",type:"uint256"},{internalType:"address",name:"dstVaultAddress",type:"address"}],internalType:"struct RebalanceTypes.RebalanceBurnCCData",name:"data",type:"tuple"}],name:"rebalanceBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint64",name:"rebalanceId",type:"uint64"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint256",name:"burnChainId",type:"uint256"},{internalType:"uint256",name:"mintChainId",type:"uint256"},{internalType:"bytes",name:"messageBytes",type:"bytes"},{internalType:"bytes",name:"messageSignature",type:"bytes"}],internalType:"struct RebalanceTypes.RebalanceMintCCData",name:"data",type:"tuple"}],name:"rebalanceMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_brokerHash",type:"bytes32"},{internalType:"bool",name:"_allowed",type:"bool"}],name:"setAllowedBroker",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"_tokenHash",type:"bytes32"},{internalType:"bool",name:"_allowed",type:"bool"}],name:"setAllowedToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_crossChainManagerAddress",type:"address"}],name:"setCrossChainManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_rebalanceMessengerContract",type:"address"}],name:"setRebalanceMessengerContract",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_tokenMessengerContract",type:"address"}],name:"setTokenMessengerContract",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenMessengerContract",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"accountId",type:"bytes32"},{internalType:"bytes32",name:"brokerHash",type:"bytes32"},{internalType:"bytes32",name:"tokenHash",type:"bytes32"},{internalType:"uint128",name:"tokenAmount",type:"uint128"},{internalType:"uint128",name:"fee",type:"uint128"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint64",name:"withdrawNonce",type:"uint64"}],internalType:"struct VaultTypes.VaultWithdraw",name:"data",type:"tuple"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}];var Me=class{constructor(e){this.configStore=e}getContractInfoByEnv(){let e=this.configStore.get("networkId"),t=this.configStore.get("env"),r=Dn;if(e==="mainnet")return{usdcAddress:Pn,usdcAbi:Et,vaultAddress:Kn,vaultAbi:nr,verifyContractAddress:Vn,erc20Abi:Et,solanaUSDCAddress:zn,solanaVaultAddress:Hn,abstractVaultAddress:tr,abstractUSDCAddress:Yn};let a=Ln,s=Xn,i=qn,o=jn,u=er,l=Zn;return t==="qa"?(a=Wn,r="0x50F59504D3623Ad99302835da367676d1f7E3D44",s="0xFeA61647309cA4624EfF3c86EEEeb76a6F3eaFf7",i=Jn,u=Qn):t==="dev"&&(u=$n,r="0x8794E7260517B1766fc7b55cAfcd56e6bf08600e"),{usdcAddress:Fn,usdcAbi:Ct,vaultAddress:On,solanaVaultAddress:a,solanaUSDCAddress:Gn,vaultAbi:rr,verifyContractAddress:r,erc20Abi:Ct,storyTestnetVaultAddress:s,monadTestnetVaultAddress:i,monadTestnetUSDCAddress:o,abstractUSDCAddress:l,abstractVaultAddress:u}}};y();y();var It=class{constructor(e=[],t={}){this.providers=e;this.services=t;this.injectProperties={}}register(...e){this.providers.push(...e),e.forEach(t=>{let r=t;r instanceof Function&&(r=new t),this.add(r)})}registerByName(e,t){let r=t;r instanceof Function&&(r=new t),this.addByName(e,r)}get(e){return this.services[e]}getAll(){return Object.assign({},this.services)}add(e){return this.addByName(e.constructor.name,e)}addByName(e,t){return this.services[e]=t,this.services[e.toLowerCase()]=t,this.injectIntoProperties(t,e),this.get(e)}inject(e,t,r){e&&r&&(e[t]=r)}injectIntoProperties(e,t=e.constructor.name){this.getInjectProperty(t.toLowerCase()).forEach(r=>{this.inject(r.target,r.propertyKey,e)})}getInjectProperty(e){return this.injectProperties[e]||(this.injectProperties[e]=[]),this.injectProperties[e]}},ar=It;var F=class F{static getContainer(){return F.container||(Se()[F.KEY]=F.container=new ar),F.container}static register(...e){F.getContainer().register(...e)}static registerByName(e,t){F.getContainer().registerByName(e,t)}static get(e){return F.getContainer().get(e)}static getOr(e,t){return F.getContainer().get(e)||F.registerByName(e,t),t}static getAll(){return F.getContainer().getAll()}constructor(){}};F.KEY="__ORDERLY_CONTAINER__",F.container=Se()[F.KEY]||null;var ke=F,Ia=ke;y();import{PublicKey as Sa}from"@solana/web3.js";import{AbiCoder as Ma,keccak256 as ka}from"ethers";import Na from"eventemitter3";import{AccountStatusEnum as k,SDKError as Je,ChainNamespace as Ra}from"@orderly.network/types";y();var We=class{constructor(e){this.repository=e}save(e,t){this.repository.save(e,t)}getAll(e){return this.repository.getAll(e)}get(e,t){return this.repository.get(e,t)}clear(e){this.repository.clear(e)}};y();import{ABSTRACT_CHAIN_ID_MAP as Q,ApiError as _a,ChainNamespace as sr,MaxUint256 as ir,MONAD_TESTNET_CHAINID as Ge,STORY_TESTNET_CHAINID as ze}from"@orderly.network/types";var Xe=class{constructor(e,t,r){this.configStore=e;this.contractManger=t;this.account=r}async withdraw(e){if(!this.account.walletAdapter)throw new Error("walletAdapter is undefined");if(!this.account.stateValue.address)throw new Error("account address is required");let{chainId:t,token:r,allowCrossChainWithdraw:a}=e,{amount:s}=e;typeof s=="number"&&(s=s.toString());let i="/v1/withdraw_request",o=await this.getWithdrawalNonce(),u=I(),l={receiver:this.account.stateValue.address,token:r,brokerId:this.configStore.get("brokerId"),amount:this.account.walletAdapter.parseUnits(s),nonce:o,timestamp:u,verifyContract:this.contractManger.getContractInfoByEnv().verifyContractAddress},c=this.account.getAdditionalInfo()?.AGWAddress??"";Q.has(t)&&c&&(l.receiver=c);let{message:d,signatured:b,domain:f}=await this.account.walletAdapter.generateWithdrawMessage(l),A={signature:b,message:d,userAddress:this.account.stateValue.address,verifyingContract:f.verifyingContract},S={method:"POST",url:i,data:A};a&&(A.message={...A.message,allowCrossChainWithdraw:a});let E=await this.account.signer.sign(S,I()),C=await this._simpleFetch(i,{method:"POST",body:JSON.stringify(A),headers:{"Content-Type":"application/json","orderly-account-id":this.account.stateValue.accountId,...E}});if(!C.success)throw new _a(C.message,C.code);return C}async getWithdrawalNonce(){let e=I().toString(),t="/v1/withdraw_nonce",r=[e,"GET",t].join(""),a=this.account.signer,{publicKey:s,signature:i}=await a.signText(r),o=await this._simpleFetch(t,{headers:{"orderly-account-id":this.account.stateValue.accountId,"orderly-key":s,"orderly-timestamp":e,"orderly-signature":i}});if(o.success)return o.data?.withdraw_nonce;throw new Error(o.message)}async getNativeBalance(e){if(!this.account.walletAdapter)return"0";let t=await this.account.walletAdapter.getBalance();return Le(t,e?.decimals)}async getBalance(e,t){if(!this.account.walletAdapter)return"0";let r=this.contractManger.getContractInfoByEnv(),a=e??r.usdcAddress,s=this.account.stateValue.address;Q.has(this.account.walletAdapter.chainId)&&(a=r.abstractUSDCAddress??"");let i=this.account.getAdditionalInfo()?.AGWAddress??"";Q.has(this.account.walletAdapter.chainId)&&i&&(s=i);let o=await this.account.walletAdapter?.call(a,"balanceOf",[s],{abi:r.usdcAbi});return this.account.walletAdapter?.formatUnits(o,t?.decimals)}async getBalanceByAddress(e,t){if(!this.account.walletAdapter)return"0";let r=this.contractManger.getContractInfoByEnv(),a=await this.account.walletAdapter?.call(e,"balanceOf",[this.account.stateValue.address],{abi:r.erc20Abi});return Le(a,t?.decimals)}async getAllowance(e,t){let{address:r,vaultAddress:a,decimals:s}=typeof e=="object"?e:{address:e,vaultAddress:t,decimals:void 0};if(!this.account.walletAdapter)return"0";let i=this.account.stateValue.address,o=this.contractManger.getContractInfoByEnv(),u=a??o.vaultAddress,l=r;this.account.walletAdapter.chainId===ze&&(u=o.storyTestnetVaultAddress??""),this.account.walletAdapter.chainId===Ge&&(u=o.monadTestnetVaultAddress??"",l=o.monadTestnetUSDCAddress),Q.has(this.account.walletAdapter.chainId)&&(u=o.abstractVaultAddress??"",l=o.abstractUSDCAddress??"");let c=this.account.getAdditionalInfo()?.AGWAddress??"";Q.has(this.account.walletAdapter.chainId)&&c&&(i=c);let d=await this.account.walletAdapter?.call(l??"","allowance",[i,u],{abi:o.usdcAbi});return this.account.walletAdapter?.formatUnits(d,s)}async approve(e,t,r){let{address:a,amount:s,vaultAddress:i,decimals:o}=typeof e=="object"?e:{address:e,amount:t,vaultAddress:r,decimals:void 0};if(!a)throw new Error("address is required");if(!this.account.walletAdapter)throw new Error("walletAdapter is undefined");let u=this.contractManger.getContractInfoByEnv(),l=typeof s<"u"&&s!==""?this.account.walletAdapter.parseUnits(s,o):ir.toString(),c=i||u.vaultAddress,d=a;return this.account.walletAdapter.chainId===ze&&(c=u.storyTestnetVaultAddress??""),this.account.walletAdapter.chainId===Ge&&(c=u.monadTestnetVaultAddress??"",d=u.monadTestnetUSDCAddress??""),Q.has(this.account.walletAdapter.chainId)&&(c=u.abstractVaultAddress??""),await this.account.walletAdapter?.call(d,"approve",[c,l],{abi:u.usdcAbi})}async approveByAddress(e){let{address:t,amount:r,decimals:a}=e;if(!this.account.walletAdapter)throw new Error("walletAdapter is undefined");let s=typeof r<"u"&&r!==""?this.account.walletAdapter.parseUnits(r,a):ir.toString(),i=this.contractManger.getContractInfoByEnv();return await this.account.walletAdapter?.call(t,"approve",[i.vaultAddress,s],{abi:i.erc20Abi})}async getDepositFee(e,t){if(!this.account.walletAdapter)throw new Error("walletAdapter is undefined");let r=this.configStore.get("brokerId");if(!r)throw new Error("[Assets]:brokerId is required");let a={accountId:this.account.accountIdHashStr,brokerHash:pe(r),tokenHash:He("USDC"),tokenAmount:this.account.walletAdapter?.parseUnits(e)},s=this.contractManger.getContractInfoByEnv(),i=this.account.stateValue.address,o=s.vaultAddress;return this.account.walletAdapter.chainNamespace===sr.solana&&(o=s.solanaVaultAddress,a.USDCAddress=s.solanaUSDCAddress),t.chain_id===ze&&(o=s.storyTestnetVaultAddress??""),t.chain_id===Ge&&(o=s.monadTestnetVaultAddress??""),Q.has(this.account.walletAdapter.chainId)&&(o=s.abstractVaultAddress??""),console.log("xxx get deposit fee",{userAddress:i,vaultAddress:o,depositData:a}),await this.account.walletAdapter.callOnChain(t,o,"getDepositFee",[i,a],{abi:s.vaultAbi})}async deposit(e,t=0n){if(!this.account.walletAdapter)throw new Error("walletAdapter is undefined");let r=this.configStore.get("brokerId");if(!r)throw new Error("[Assets]:brokerId is required");let a=this.contractManger.getContractInfoByEnv(),s={accountId:this.account.accountIdHashStr,brokerHash:pe(r),tokenHash:He("USDC"),tokenAmount:this.account.walletAdapter?.parseUnits(e)},i=a.vaultAddress,o=this.account.stateValue.address;this.account.walletAdapter.chainNamespace===sr.solana&&(i=a.solanaVaultAddress,s.USDCAddress=a.solanaUSDCAddress),this.account.walletAdapter.chainId===ze&&(i=a.storyTestnetVaultAddress??""),this.account.walletAdapter.chainId===Ge&&(i=a.monadTestnetVaultAddress??""),Q.has(this.account.walletAdapter.chainId)&&(i=a.abstractVaultAddress??"");let u=this.account.getAdditionalInfo()?.AGWAddress??"",l="deposit",c=o,d=[s];return console.log("agw address",u,this.account.walletAdapter.chainId),Q.has(this.account.walletAdapter.chainId)&&u&&(l="depositTo",c=u,d=[o,s]),console.log("xxx deposit",{fromAddress:c,contractMethod:l,contractData:d}),await this.account.walletAdapter?.sendTransaction(i,l,{from:c,to:i,data:d,value:t},{abi:a.vaultAbi})}async _simpleFetch(e,t={}){let r=`${this.configStore.get("apiBaseUrl")}${e}`;return fetch(r,t).then(a=>a.json())}get usdcAddress(){return this.contractManger.getContractInfoByEnv().usdcAddress}};y();var qe=class{constructor(e){this.name=e}save(e,t){this.run(()=>{let r=this.getAll(e);r={[e]:{...r,...t}},localStorage.setItem(this.name,JSON.stringify(r))})}get(e,t){let r=this.getAll(e);return r?r[t]:null}getAll(e){try{let t=localStorage.getItem(this.name);return t?JSON.parse(t)[e]:null}catch(t){return console.error(t),null}}clear(e){this.run(()=>{let t=this.getAll(e);t&&(delete t[e],localStorage.setItem(this.name,JSON.stringify(t)))})}update(e,t,r){this.run(()=>{let a=this.getAll(e);a[t]=r,localStorage.setItem(this.name,JSON.stringify(a))})}run(e){typeof window<"u"&&typeof localStorage<"u"&&e()}};y();var je=class{constructor(e){this.walletAdapters=e;if(!this.walletAdapters.length)throw new Error("No wallet adapters provided")}get adapter(){return this._adapter}get isEmpty(){return this.walletAdapters.length===0}get isAdapterExist(){return!!this._adapter}switchWallet(e,t,r,a){console.log("-- this.walletAdapters",this.walletAdapters,e);let s=this.walletAdapters.find(o=>o.chainNamespace===e.toUpperCase());if(!s)throw new Error("Unsupported chain namespace");let i={address:t,chain:{id:r},provider:a.provider,contractManager:a.contractManager};if(console.log("------+++++---",i),this._adapter)if(this._adapter===s){this._adapter.update(i);return}else this._adapter.deactivate();this._adapter=s,this._adapter.active(i)}get chainId(){return this.adapter?.chainId}};var Ne=class Ne{constructor(e,t,r,a){this.configStore=e;this.keyStore=t;this._ee=new Na;this._state={status:k.NotConnected,validating:!1,isNew:!1};a?.contracts?this.contractManger=a.contracts:this.contractManger=new Me(e),this.assetsManager=new Xe(e,this.contractManger,this),this.walletAdapterManager=new je(r),this.additionalInfoRepository=new We(new qe(Ne.additionalInfoRepositoryName)),this._bindEvents()}logout(){}async setAddress(e,t){if(!e)throw new Je("Address is required");if(!t)throw new Je("Wallet is required");if(!t?.chain?.id)throw new Je("Chain id is required");if(this.stateValue.address===e)return console.warn("address parameter is the same as the current address, if you want to change chain, please use `switchChain` method."),this.stateValue.status;this.stateValue.status>k.NotConnected&&this._ee.emit(_.switchAccount,e),t.chain.id=this.parseChainId(t?.chain?.id),this.keyStore.setAddress(e),this.saveAdditionalInfo(e,t);let r={...this.stateValue,status:k.Connected,address:e,chainNamespace:t.chain.namespace,accountId:void 0,connectWallet:{name:t.wallet.name||"unknown",chainId:t.chain.id},validating:!0};this._ee.emit(_.statusChanged,r),this.walletAdapterManager.switchWallet(t.chain.namespace,e,t.chain.id,{provider:t.provider,contractManager:this.contractManger}),this.configStore.set("chainNamespace",t.chain.namespace),this._ee.emit(_.validateStart);let a=await this._checkAccount(e);return this._ee.emit(_.validateEnd,a),a}saveAdditionalInfo(e,t){typeof t.additionalInfo<"u"&&(typeof t.additionalInfo!="object"?console.warn("`wallet.additionalInfo` is not an object"):this.additionalInfoRepository.save(e,t.additionalInfo))}get stateValue(){return this._state}get accountId(){return this.stateValue.accountId}get accountIdHashStr(){if(!this.address)throw new Error("address is error");let e=this.configStore.get("brokerId");if(this.walletAdapter?.chainNamespace===Ra.solana){let t=new Sa(this.address),r=T.Buffer.from(t.toBytes()),a=Ma.defaultAbiCoder();return ka(a.encode(["bytes32","bytes32"],[r,pe(e)]))}return Tt(this.address,e)}get address(){return this.stateValue.address}get chainId(){if(this.walletAdapterManager.isAdapterExist)return this.walletAdapterManager.chainId}get apiBaseUrl(){return this.configStore.get("apiBaseUrl")}_bindEvents(){this._ee.addListener(_.statusChanged,e=>{this._state=e})}async _checkAccount(e){let t;try{let r=await this._checkAccountExist(e);if(r&&r.account_id)this.keyStore.setAccountId(e,r.account_id),t={...this.stateValue,status:k.SignedIn,accountId:r.account_id,userId:r.user_id},this._ee.emit(_.statusChanged,t);else return t={...this.stateValue,validating:!1,status:k.NotSignedIn},this._ee.emit(_.statusChanged,t),k.NotSignedIn;let a=this.keyStore.getOrderlyKey();if(!a)return this._ee.emit(_.statusChanged,{...this.stateValue,isNew:!1,validating:!1,status:k.DisabledTrading}),k.DisabledTrading;let s=await a.getPublicKey(),i=await this._checkOrderlyKeyState(r.account_id,s);if(i&&i.orderly_key&&i.key_status==="ACTIVE"){let o=I(),u=i.expiration;return o>u?(this._ee.emit(_.statusChanged,{...this.stateValue,validating:!1}),this.keyStore.cleanKey(e,"orderlyKey"),k.DisabledTrading):(this._ee.emit(_.statusChanged,{...this.stateValue,validating:!1,status:k.EnableTrading}),k.EnableTrading)}return this._ee.emit(_.statusChanged,{...this.stateValue,validating:!1}),this.keyStore.cleanKey(e,"orderlyKey"),k.NotConnected}catch{this._ee.emit(_.statusChanged,{...this.stateValue,validating:!1})}return k.NotSignedIn}async _checkAccountExist(e,t){let r=await this._getAccountInfo(e,t);return r.success?r.data:null}async createAccount(){let{nonce:e,timestamp:t}=await this._getRegisterationNonce(),r=this.stateValue.address;if(!r)throw new Error("address is undefined");let{message:a,signatured:s}=await this.walletAdapterManager.adapter.generateRegisterAccountMessage({registrationNonce:e,brokerId:this.configStore.get("brokerId"),timestamp:t}),i=await this._simpleFetch("/v1/register_account",{method:"POST",body:JSON.stringify({signature:s,message:a,userAddress:r}),headers:{"Content-Type":"application/json"}});if(i.success){this.keyStore.setAccountId(r,i.data.account_id);let o={...this.stateValue,status:k.DisabledTrading,accountId:i.data.account_id,userId:i.data.user_id,isNew:!0};return this._ee.emit(_.statusChanged,o),i}else throw new Error(i.message)}async createApiKey(e,t){try{let{res:r,keyPair:a}=await this.generateApiKey(e,t);if(r.success)return{key:(await a.getPublicKey()).replace("ed25519:",""),secretKey:a.secretKey?.replace("ed25519:","")}}catch(r){throw console.log("createApiKey error",r),`${r}`.includes("user rejected action")?new Error("User rejected the request."):r}throw new Error("create api key failed")}async createOrderlyKey(e,t){let{res:r,address:a,keyPair:s}=await this.generateApiKey(e,t);if(r.success){this.keyStore.setKey(a,s);let i={...this.stateValue,status:k.EnableTrading};return this._ee.emit(_.statusChanged,i),r}else throw new Error(r.message)}async generateApiKey(e,t){if(this.stateValue.accountId===void 0)throw new Error("account id is undefined");if(!this.walletAdapter)throw new Error("walletAdapter is undefined");if(!this.walletAdapterManager.isAdapterExist)throw new Error("wallet adapter is not exist");if(typeof e!="number")throw new Error("the 'expiration' must be valid number");let r=this.walletAdapter.generateSecretKey(),a=new H(r),s=await a.getPublicKey(),i=this.stateValue.address;if(!i)throw new Error("address is undefined");let{message:o,signatured:u}=await this.walletAdapter.generateAddOrderlyKeyMessage({brokerId:this.configStore.get("brokerId"),publicKey:s,expiration:e,timestamp:I(),scope:t?.scope,tag:t?.tag});return console.log("generateAPiKey",s,i),{res:await this._simpleFetch("/v1/orderly_key",{method:"POST",body:JSON.stringify({signature:u,message:o,userAddress:i}),headers:{"X-Account-Id":this.stateValue.accountId,"Content-Type":"application/json"}}),address:i,keyPair:a}}async importOrderlyKey(e){let{address:t,secretKey:r,chainNamespace:a}=e;if(!t||!r||!a)return;let i=(await this._checkAccountExist(t,a))?.account_id;if(!i)return;let o=new H(r),u=await this.checkOrderlyKey(t,o,i);return u&&this.configStore.set("chainNamespace",a),u}async checkOrderlyKey(e,t,r){if(!e||!t||!r)return;let a=await t.getPublicKey(),s=await this._checkOrderlyKeyState(r,a),{orderly_key:i,key_status:o,expiration:u}=s||{},l=I();if(i&&o==="ACTIVE"&&u>l){this.keyStore.setAddress(e),this.keyStore.setKey(e,t),this.keyStore.setAccountId(e,r);let c={...this.stateValue,address:e,accountId:r,status:k.EnableTradingWithoutConnected};return this._ee.emit(_.statusChanged,c),!0}}async settle(){if(!this.walletAdapter)return Promise.reject("walletAdapter is undefined");let e=await this._getSettleNonce(),t=this.stateValue.address,r="/v1/settle_pnl",a=I(),{message:s,signatured:i,domain:o}=await this.walletAdapter.generateSettleMessage({settlePnlNonce:e,timestamp:a,brokerId:this.configStore.get("brokerId"),verifyContract:this.contractManger.getContractInfoByEnv().verifyContractAddress}),u={signature:i,message:s,userAddress:t,verifyingContract:o.verifyingContract},l={method:"POST",url:r,data:u},c=await this.signer.sign(l,I()),d=await this._simpleFetch(r,{method:"POST",body:JSON.stringify(u),headers:{"Content-Type":"application/json","orderly-account-id":this.stateValue.accountId,...c}});return d.success?Promise.resolve(d):Promise.reject(d)}async destroyOrderlyKey(){this.stateValue.address&&this.keyStore.cleanKey(this.stateValue.address,"orderlyKey");let e={...this.stateValue,status:k.DisabledTrading};this._ee.emit(_.statusChanged,e)}async disconnect(){this.stateValue.address&&(this.keyStore.removeAddress(),this.additionalInfoRepository.clear(this.stateValue.address));let e={...this.stateValue,status:k.NotConnected,accountId:void 0,userId:void 0,address:void 0};this._ee.emit(_.statusChanged,e)}switchChainId(e){e=this.parseChainId(e);let t={...this.stateValue,connectWallet:{...this.stateValue.connectWallet,chainId:e}};this.walletAdapter&&(this.walletAdapter.chainId=e),this._ee.emit(_.statusChanged,t)}parseChainId(e){return typeof e=="string"&&(_e(e)||e.startsWith("0x")&&_e(e.slice(2)))&&(e=parseInt(e,16)),e}async _checkOrderlyKeyState(e,t){let r=await this._simpleFetch(`/v1/get_orderly_key?account_id=${e}&orderly_key=${t}`);return r.success?r.data:null}get signer(){return this._singer||(this._singer=new te(this.keyStore)),this._singer}get walletAdapter(){return this.walletAdapterManager.adapter}async _getRegisterationNonce(){let e=await this._simpleFetch("/v1/registration_nonce",{headers:{"orderly-account-id":this.stateValue.accountId}});if(e.success)return{nonce:e.data?.registration_nonce,timestamp:e.timestamp};throw new Error(e.message)}async _getTimestampFromServer(){let e=await this._getAccountInfo();if(e.success)return e.timestamp;throw new Je("get timestamp error")}async _getAccountInfo(e,t){let r=this.configStore.get("brokerId"),a=e||this.address,s=t||this.stateValue.chainNamespace;return await this._simpleFetch(`/v1/get_account?address=${a}&broker_id=${r}&chain_type=${s}`)}async _getSettleNonce(){let e=I().toString(),r=[e,"GET","/v1/settle_nonce"].join(""),a=this.signer,{publicKey:s,signature:i}=await a.signText(r),o=await this._simpleFetch("/v1/settle_nonce",{headers:{"orderly-account-id":this.stateValue.accountId,"orderly-key":s,"orderly-timestamp":e,"orderly-signature":i}});if(o.success)return o.data?.settle_nonce;throw new Error(o.message)}async _simpleFetch(e,t={}){let r=`${this.configStore.get("apiBaseUrl")}${e}`;return fetch(r,t).then(a=>a.json())}getAdditionalInfo(){return this.stateValue.address?this.additionalInfoRepository.getAll(this.stateValue.address):null}get on(){return this._ee.on.bind(this._ee)}get once(){return this._ee.once.bind(this._ee)}get off(){return this._ee.off.bind(this._ee)}};Ne.instanceName="account",Ne.additionalInfoRepositoryName="walletAdditionalInfo";var _t=Ne;y();y();import{ChainNamespace as Ua}from"@orderly.network/types";var or={mainnet:{apiBaseUrl:"https://api.orderly.org",publicWsUrl:"wss://ws-evm.orderly.org",privateWsUrl:"wss://ws-private-evm.orderly.org",operatorUrl:{EVM:"https://operator-evm.orderly.org",SOL:"https://operator-solana.orderly.org"}},testnet:{apiBaseUrl:"https://testnet-api.orderly.org",publicWsUrl:"wss://testnet-ws-evm.orderly.org",privateWsUrl:"wss://testnet-ws-private-evm.orderly.org",operatorUrl:{EVM:"https://testnet-operator-evm.orderly.org",SOL:"https://testnet-operator-sol.orderly.org"}}},St=class{constructor(e){let t=e.env||"prod",r=e.networkId||"mainnet",a=or[r],s=e?.brokerId||"orderly",i=e?.brokerName||"Orderly",o=e?.chainNamespace||Ua.evm;this.map=new Map([["env",t],["brokerId",s],["brokerName",i],["networkId",r],["chainNamespace",o],["apiBaseUrl",a.apiBaseUrl],["publicWsUrl",a.publicWsUrl],["privateWsUrl",a.privateWsUrl],["operatorUrl",a.operatorUrl]])}get(e){let t=this.map.get(e);return typeof t!="object"||t===null?t:t[this.get("chainNamespace")]}getOr(e,t){return this.map.get(e)??t}set(e,t){this.map.set(e,t)}clear(){throw new Error("Method not implemented.")}};y();import{SDKError as be}from"@orderly.network/types";var pr=Te(lt());import{ethers as ur}from"ethers";var Mt=class{async signMessageByOrderlyKey(e){let t=ke.get("account"),a=await t.signer.sign(e,I());return a["orderly-account-id"]=t.accountId,a}get address(){throw new be("Method not implemented.")}get chainId(){throw new be("Method not implemented.")}active(e){throw new be("Method not implemented.")}update(e){throw new be("Method not implemented.")}generateSecretKey(){let e,t;do e=Ke.randomPrivateKey(),t=(0,pr.encode)(e);while(t.length!==44);return t}parseUnits(e,t=6){return ur.parseUnits(e,t).toString()}formatUnits(e,t=6){return ur.formatUnits(e,t)}on(e,t){throw new be("Method not implemented.")}off(e,t){throw new be("Method not implemented.")}};y();y();import{BrowserProvider as Pa,ethers as ne,toNumber as Ka}from"ethers";y();var D={TRANSACTION_RAN_OUT_OF_GAS:"TRANSACTION_RAN_OUT_OF_GAS",TRANSACTION_UNDERPRICED:"TRANSACTION_UNDERPRICED",REJECTED_TRANSACTION:"REJECTED_TRANSACTION",CALL_REVERTED:"CALL_REVERTED",EXECUTION_REVERTED:"EXECUTION_REVERTED",NONCE_TOO_LOW:"NONCE_TOO_LOW",INSUFFICIENT_FUNDS_FOR_GAS:"INSUFFICIENT_FUNDS_FOR_GAS",MAX_PRIORITY_FEE_PER_GAS_HIGHER_THAN_MAX_FEE_PER_GAS:"MAX_PRIORITY_FEE_PER_GAS_HIGHER_THAN_MAX_FEE_PER_GAS",MAX_FEE_PER_GAS_LESS_THAN_BLOCK_BASE_FEE:"MAX_FEE_PER_GAS_LESS_THAN_BLOCK_BASE_FEE",UNKNOWN_ERROR:"UNKNOWN_ERROR"},Ye={NONCE_EXPIRED:"NONCE_EXPIRED",UNPREDICTABLE_GAS_LIMIT:"UNPREDICTABLE_GAS_LIMIT",ACTION_REJECTED:"ACTION_REJECTED",CALL_EXCEPTION:"CALL_EXCEPTION"},Ae={REJECTED_TRANSACTION:4001,REQUIRE_TRANSACTION:-32603,ERROR_WHILE_FORMATTING_OUTPUT_FROM_RPC:-32603,TRANSACTION_UNDERPRICED:-32e3};function Ba(n,e){var t;if(n!==Ae.ERROR_WHILE_FORMATTING_OUTPUT_FROM_RPC)return;let r=(t=e.split("RPC '")[1])==null?void 0:t.slice(0,-1);if(r!==void 0)try{let a=JSON.parse(r);if(a.value===void 0||a.value.data===void 0)return;if(a.value.data.code===Ae.TRANSACTION_UNDERPRICED)return{errorCode:D.TRANSACTION_UNDERPRICED,context:void 0}}catch{return}}function Fa(n){let e=n.code,t=n.message;if(e!==void 0){if(t!==void 0){let r=Ba(e,t);if(r!==void 0)return r}if(e===Ae.REJECTED_TRANSACTION)return{errorCode:D.REJECTED_TRANSACTION,context:t};if(e===Ae.REQUIRE_TRANSACTION&&t!==void 0&&t.includes("execution reverted: "))return{errorCode:D.EXECUTION_REVERTED,context:t.slice(20)}}}function Oa(n){if(n.code===Ye.UNPREDICTABLE_GAS_LIMIT){if(n.error!==void 0&&n.error.code===Ae.REQUIRE_TRANSACTION&&n.error.data!==void 0&&n.error.data.message!==void 0){let e=n.error.data.message;if(e.includes("execution reverted: "))return{errorCode:D.EXECUTION_REVERTED,context:e.slice(20)}}if(n.error!==void 0&&n.error.error!==void 0&&n.error.error.error!==void 0&&n.error.error.error.code===Ae.TRANSACTION_UNDERPRICED&&n.error.error.body!==void 0)try{let e=JSON.parse(n.error.error.body);if(e.error!==void 0&&e.error.message!==void 0){if(e.error.message.includes("gas required exceeds allowance (0)"))return{errorCode:D.INSUFFICIENT_FUNDS_FOR_GAS,context:void 0};if(e.error.message.includes("max priority fee per gas higher than max fee per gas"))return{errorCode:D.MAX_PRIORITY_FEE_PER_GAS_HIGHER_THAN_MAX_FEE_PER_GAS,context:void 0};if(e.error.message.includes("max fee per gas less than block base fee"))return{errorCode:D.MAX_FEE_PER_GAS_LESS_THAN_BLOCK_BASE_FEE,context:void 0}}}catch{return}}}function Da(n){if(n.code===Ye.NONCE_EXPIRED&&n.transaction!==void 0)return{errorCode:D.NONCE_TOO_LOW,context:n.transaction.nonce.toString()};if(n.code===Ye.ACTION_REJECTED&&n.action==="sendTransaction")return{errorCode:D.REJECTED_TRANSACTION,context:n.message};if(n.code===Ye.CALL_EXCEPTION&&n.reason!==void 0)return{errorCode:D.CALL_REVERTED,context:n.reason};let e=Oa(n);if(e!==void 0)return e}function Ze(n){let e=n,t=n.error,r=Da(e);if(r!==void 0)return r;if(t!==void 0){let a=Fa(t);if(a!==void 0)return a}if(e.transaction!==void 0&&e.receipt!==void 0){let a=e.transaction.gasLimit;if(e.receipt.gasUsed.gte(a))return{errorCode:D.TRANSACTION_RAN_OUT_OF_GAS,context:e.transaction.gasLimit.toString()}}return n.error!==void 0&&n.error.message!==void 0?{errorCode:D.UNKNOWN_ERROR,context:n.error.message}:e.code!==void 0?{errorCode:D.UNKNOWN_ERROR,context:e.code.toString()}:{errorCode:D.UNKNOWN_ERROR,context:void 0}}var kt=class{constructor(e){this._chainId=e.chain.id,this.provider=new Pa(e.provider,"any"),this._address=e.address}parseUnits(e,t=6){return ne.parseUnits(e,t).toString()}formatUnits(e,t=6){return ne.formatUnits(e,t)}getBalance(e){return this.provider.getBalance(e).then(t=>t,t=>{})}deposit(e,t,r){throw new Error("Method not implemented.")}async call(e,t,r,a){let s=await this.provider?.getSigner();return new ne.Contract(e,a.abi,s)[t].apply(null,r).catch(o=>{throw Ze(o)})}async callOnChain(e,t,r,a,s){let i=new ne.JsonRpcProvider(e.public_rpc_url);return new ne.Contract(t,s.abi,i)[r].apply(null,a).catch(u=>{throw Ze(u)})}get chainId(){return this._chainId}set chainId(e){this._chainId=e}get addresses(){return this._address}async send(e,t){return await this.provider?.send(e,t)}async sendTransaction(e,t,r,a){let s=await this.provider?.getSigner();if(!s)throw new Error("singer is not exist");let o=new ne.Contract(e,a.abi,this.provider).interface.encodeFunctionData(t,r.data),u={from:r.from,to:r.to,data:o,value:r.value};try{return await s.sendTransaction(u)}catch(l){throw Ze(l)}}async getTransactionRecipect(e){await this.provider.getTransactionReceipt(e)}async pollTransactionReceiptWithBackoff(e,t=1e3,r=6e3,a=30){let s=t,i=0;for(;i<a;){try{let o=await this.provider.getTransactionReceipt(e);if(o)return o}catch{}await new Promise(o=>setTimeout(o,s)),s=Math.min(s*2,r),i++}throw new Error("Transaction did not complete after maximum retries.")}async estimateGas(e){let t=await this.provider.estimateGas(e);return Ka(t)}async signTypedData(e,t){return await this.provider?.send("eth_signTypedData_v4",[e,t])}async verify(e,t){let{domain:r,types:a,message:s}=e,i=ne.verifyTypedData(r,a,s,t)}on(e,t){this.provider?.on(e,t)}off(e,t){this.provider?.off(e,t)}getContract(e,t){return new ne.Contract(e,t,this.provider)}};export{or as API_URLS,_t as Account,Me as BaseContractManager,Ve as BaseKeyStore,H as BaseOrderlyKeyPair,te as BaseSigner,Mt as BaseWalletAdapter,St as DefaultConfigStore,_ as EVENT_NAMES,kt as EtherAdapter,ji as EventEmitter,Ce as LocalStorageStore,Ie as MockKeyStore,Ia as SimpleDI,wa as generateAddOrderlyKeyMessage,Aa as generateRegisterAccountMessage,Ta as generateSettleMessage,ga as getDefaultSigner,ha as getMockSigner,Un as utils};
|
|
2
2
|
/*! Bundled license information:
|
|
3
3
|
|
|
4
4
|
ieee754/index.js:
|