UNPKG

@cryptovarna/tedex-api

Version:

TEDEX API

1 lines 1.7 MB
import{WalletConsumer,TronTRC10Token,TronTRC20Token,TronTransaction,TronNodes,EthereumNodes,BlockchainVM,TronWebWalletProvider,Web3WalletProvider,TronLinkWalletProvider,Web3Transaction,ERC20Token,EthereumBitQuery}from"@cryptovarna/tron-web-api";import{ethers,ContractFactory,utils,Contract}from"ethers";function __awaiter(e,d,r,s){return new(r=r||Promise)(function(n,t){function a(e){try{i(s.next(e))}catch(e){t(e)}}function b(e){try{i(s.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?n(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(a,b)}i((s=s.apply(e,d||[])).next())})}var isNumeric=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,mathceil=Math.ceil,mathfloor=Math.floor,bignumberError="[BigNumber Error] ",tooManyDigits=bignumberError+"Number primitive has more than 15 significant digits: ",BASE$1=1e14,LOG_BASE=14,MAX_SAFE_INTEGER=9007199254740991,POWS_TEN=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],SQRT_BASE=1e7,MAX=1e9;function clone(e){var m,y,u,t,p,T,d,r,s,f,o,n=E.prototype={constructor:E,toString:null,valueOf:null},c=new E(1),v=20,g=4,l=-7,w=21,x=-1e7,k=1e7,h=!1,b=1,_=0,M={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},I="0123456789abcdefghijklmnopqrstuvwxyz";function E(e,t){var n,a,b,i,d,r,s,p,f=this;if(!(f instanceof E))return new E(e,t);if(null==t){if(e&&!0===e._isBigNumber)return f.s=e.s,void(!e.c||e.e>k?f.c=f.e=null:e.e<x?f.c=[f.e=0]:(f.e=e.e,f.c=e.c.slice()));if((r="number"==typeof e)&&0*e==0){if(f.s=1/e<0?(e=-e,-1):1,e===~~e){for(i=0,d=e;10<=d;d/=10,i++);return void(k<i?f.c=f.e=null:(f.e=i,f.c=[e]))}p=String(e)}else{if(!isNumeric.test(p=String(e)))return u(f,p,r);f.s=45==p.charCodeAt(0)?(p=p.slice(1),-1):1}0<(d=(p=-1<(i=p.indexOf("."))?p.replace(".",""):p).search(/e/i))?(i<0&&(i=d),i+=+p.slice(d+1),p=p.substring(0,d)):i<0&&(i=p.length)}else{if(intCheck(t,2,I.length,"Base"),10==t)return C(f=new E(e),v+f.e+1,g);if(p=String(e),r="number"==typeof e){if(0*e!=0)return u(f,p,r,t);if(f.s=1/e<0?(p=p.slice(1),-1):1,E.DEBUG&&15<p.replace(/^0\.0*|\./,"").length)throw Error(tooManyDigits+e)}else f.s=45===p.charCodeAt(0)?(p=p.slice(1),-1):1;for(n=I.slice(0,t),i=d=0,s=p.length;d<s;d++)if(n.indexOf(a=p.charAt(d))<0){if("."==a){if(i<d){i=s;continue}}else if(!b&&(p==p.toUpperCase()&&(p=p.toLowerCase())||p==p.toLowerCase()&&(p=p.toUpperCase()))){b=!0,d=-1,i=0;continue}return u(f,String(e),r,t)}r=!1,-1<(i=(p=y(p,t,10,f.s)).indexOf("."))?p=p.replace(".",""):i=p.length}for(d=0;48===p.charCodeAt(d);d++);for(s=p.length;48===p.charCodeAt(--s););if(p=p.slice(d,++s)){if(s-=d,r&&E.DEBUG&&15<s&&(MAX_SAFE_INTEGER<e||e!==mathfloor(e)))throw Error(tooManyDigits+f.s*e);if((i=i-d-1)>k)f.c=f.e=null;else if(i<x)f.c=[f.e=0];else{if(f.e=i,f.c=[],d=(i+1)%LOG_BASE,i<0&&(d+=LOG_BASE),d<s){for(d&&f.c.push(+p.slice(0,d)),s-=LOG_BASE;d<s;)f.c.push(+p.slice(d,d+=LOG_BASE));d=LOG_BASE-(p=p.slice(d)).length}else d-=s;for(;d--;p+="0");f.c.push(+p)}}else f.c=[f.e=0]}function A(e,t,n,a){for(var b,i,d=[0],r=0,s=e.length;r<s;){for(i=d.length;i--;d[i]*=t);for(d[0]+=a.indexOf(e.charAt(r++)),b=0;b<d.length;b++)d[b]>n-1&&(null==d[b+1]&&(d[b+1]=0),d[b+1]+=d[b]/n|0,d[b]%=n)}return d.reverse()}function S(e,t,n){var a,b,i,d=0,r=e.length,s=t%SQRT_BASE,p=t/SQRT_BASE|0;for(e=e.slice();r--;)d=((b=s*(b=e[r]%SQRT_BASE)+(a=p*b+(i=e[r]/SQRT_BASE|0)*s)%SQRT_BASE*SQRT_BASE+d)/n|0)+(a/SQRT_BASE|0)+p*i,e[r]=b%n;return e=d?[d].concat(e):e}function P(e,t,n,a){var b,i;if(n!=a)i=a<n?1:-1;else for(b=i=0;b<n;b++)if(e[b]!=t[b]){i=e[b]>t[b]?1:-1;break}return i}function B(e,t,n,a){for(var b=0;n--;)e[n]-=b,b=e[n]<t[n]?1:0,e[n]=b*a+e[n]-t[n];for(;!e[0]&&1<e.length;e.splice(0,1));}function a(e,t,n,a){var b,i,d,r;if(null==n?n=g:intCheck(n,0,8),!e.c)return e.toString();if(b=e.c[0],i=e.e,null==t)r=coeffToString(e.c),r=1==a||2==a&&(i<=l||w<=i)?toExponential(r,i):toFixedPoint(r,i,"0");else if(n=(e=C(new E(e),t,n)).e,d=(r=coeffToString(e.c)).length,1==a||2==a&&(t<=n||n<=l)){for(;d<t;r+="0",d++);r=toExponential(r,n)}else if(t-=i,r=toFixedPoint(r,n,"0"),d<n+1){if(0<--t)for(r+=".";t--;r+="0");}else if(0<(t+=n-d))for(n+1==d&&(r+=".");t--;r+="0");return e.s<0&&b?"-"+r:r}function i(e,t){for(var n,a=1,b=new E(e[0]);a<e.length;a++){if(!(n=new E(e[a])).s){b=n;break}t.call(b,n)&&(b=n)}return b}function O(e,t,n){for(var a=1,b=t.length;!t[--b];t.pop());for(b=t[0];10<=b;b/=10,a++);return(n=a+n*LOG_BASE-1)>k?e.c=e.e=null:n<x?e.c=[e.e=0]:(e.e=n,e.c=t),e}function C(e,t,n,a){var b,i,d,r,s,p,f,y=e.c,u=POWS_TEN;if(y){e:{for(b=1,r=y[0];10<=r;r/=10,b++);if((i=t-b)<0)i+=LOG_BASE,d=t,f=(s=y[p=0])/u[b-d-1]%10|0;else if((p=mathceil((i+1)/LOG_BASE))>=y.length){if(!a)break e;for(;y.length<=p;y.push(0));s=f=0,d=(i%=LOG_BASE)-LOG_BASE+(b=1)}else{for(s=r=y[p],b=1;10<=r;r/=10,b++);f=(d=(i%=LOG_BASE)-LOG_BASE+b)<0?0:s/u[b-d-1]%10|0}if(a=a||t<0||null!=y[p+1]||(d<0?s:s%u[b-d-1]),a=n<4?(f||a)&&(0==n||n==(e.s<0?3:2)):5<f||5==f&&(4==n||a||6==n&&(0<i?0<d?s/u[b-d]:0:y[p-1])%10&1||n==(e.s<0?8:7)),t<1||!y[0])return y.length=0,a?(t-=e.e+1,y[0]=u[(LOG_BASE-t%LOG_BASE)%LOG_BASE],e.e=-t||0):y[0]=e.e=0,e;if(0==i?(y.length=p,r=1,p--):(y.length=p+1,r=u[LOG_BASE-i],y[p]=0<d?mathfloor(s/u[b-d]%u[d])*r:0),a)for(;;){if(0==p){for(i=1,d=y[0];10<=d;d/=10,i++);for(d=y[0]+=r,r=1;10<=d;d/=10,r++);i!=r&&(e.e++,y[0]==BASE$1&&(y[0]=1));break}if(y[p]+=r,y[p]!=BASE$1)break;y[p--]=0,r=1}for(i=y.length;0===y[--i];y.pop());}e.e>k?e.c=e.e=null:e.e<x&&(e.c=[e.e=0])}return e}function R(e){var t,n=e.e;return null===n?e.toString():(t=coeffToString(e.c),t=n<=l||w<=n?toExponential(t,n):toFixedPoint(t,n,"0"),e.s<0?"-"+t:t)}return E.clone=clone,E.ROUND_UP=0,E.ROUND_DOWN=1,E.ROUND_CEIL=2,E.ROUND_FLOOR=3,E.ROUND_HALF_UP=4,E.ROUND_HALF_DOWN=5,E.ROUND_HALF_EVEN=6,E.ROUND_HALF_CEIL=7,E.ROUND_HALF_FLOOR=8,E.EUCLID=9,E.config=E.set=function(e){var t,n;if(null!=e){if("object"!=typeof e)throw Error(bignumberError+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(intCheck(n=e[t],0,MAX,t),v=n),e.hasOwnProperty(t="ROUNDING_MODE")&&(intCheck(n=e[t],0,8,t),g=n),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((n=e[t])&&n.pop?(intCheck(n[0],-MAX,0,t),intCheck(n[1],0,MAX,t),l=n[0],w=n[1]):(intCheck(n,-MAX,MAX,t),l=-(w=n<0?-n:n))),e.hasOwnProperty(t="RANGE"))if((n=e[t])&&n.pop)intCheck(n[0],-MAX,-1,t),intCheck(n[1],1,MAX,t),x=n[0],k=n[1];else{if(intCheck(n,-MAX,MAX,t),!n)throw Error(bignumberError+t+" cannot be zero: "+n);x=-(k=n<0?-n:n)}if(e.hasOwnProperty(t="CRYPTO")){if((n=e[t])!==!!n)throw Error(bignumberError+t+" not true or false: "+n);if(n){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw h=!n,Error(bignumberError+"crypto unavailable");h=n}else h=n}if(e.hasOwnProperty(t="MODULO_MODE")&&(intCheck(n=e[t],0,9,t),b=n),e.hasOwnProperty(t="POW_PRECISION")&&(intCheck(n=e[t],0,MAX,t),_=n),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(n=e[t]))throw Error(bignumberError+t+" not an object: "+n);M=n}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(n=e[t])||/^.$|[+-.\s]|(.).*\1/.test(n))throw Error(bignumberError+t+" invalid: "+n);I=n}}return{DECIMAL_PLACES:v,ROUNDING_MODE:g,EXPONENTIAL_AT:[l,w],RANGE:[x,k],CRYPTO:h,MODULO_MODE:b,POW_PRECISION:_,FORMAT:M,ALPHABET:I}},E.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!E.DEBUG)return!0;var t,n,a=e.c,b=e.e,i=e.s;e:if("[object Array]"=={}.toString.call(a)){if((1===i||-1===i)&&-MAX<=b&&b<=MAX&&b===mathfloor(b))if(0!==a[0]){if((t=(b+1)%LOG_BASE)<1&&(t+=LOG_BASE),String(a[0]).length==t){for(t=0;t<a.length;t++)if((n=a[t])<0||BASE$1<=n||n!==mathfloor(n))break e;if(0!==n)return!0}}else if(0===b&&1===a.length)return!0}else if(null===a&&null===b&&(null===i||1===i||-1===i))return!0;throw Error(bignumberError+"Invalid BigNumber: "+e)},E.maximum=E.max=function(){return i(arguments,n.lt)},E.minimum=E.min=function(){return i(arguments,n.gt)},E.random=(t=9007199254740992,p=Math.random()*t&2097151?function(){return mathfloor(Math.random()*t)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,n,a,b,i,d=0,r=[],s=new E(c);if(null==e?e=v:intCheck(e,0,MAX),b=mathceil(e/LOG_BASE),h)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(b*=2));d<b;)9e15<=(i=131072*t[d]+(t[d+1]>>>11))?(n=crypto.getRandomValues(new Uint32Array(2)),t[d]=n[0],t[d+1]=n[1]):(r.push(i%1e14),d+=2);d=b/2}else{if(!crypto.randomBytes)throw h=!1,Error(bignumberError+"crypto unavailable");for(t=crypto.randomBytes(b*=7);d<b;)9e15<=(i=281474976710656*(31&t[d])+1099511627776*t[d+1]+4294967296*t[d+2]+16777216*t[d+3]+(t[d+4]<<16)+(t[d+5]<<8)+t[d+6])?crypto.randomBytes(7).copy(t,d):(r.push(i%1e14),d+=7);d=b/7}if(!h)for(;d<b;)(i=p())<9e15&&(r[d++]=i%1e14);for(b=r[--d],e%=LOG_BASE,b&&e&&(i=POWS_TEN[LOG_BASE-e],r[d]=mathfloor(b/i)*i);0===r[d];r.pop(),d--);if(d<0)r=[a=0];else{for(a=-1;0===r[0];r.splice(0,1),a-=LOG_BASE);for(d=1,i=r[0];10<=i;i/=10,d++);d<LOG_BASE&&(a-=LOG_BASE-d)}return s.e=a,s.c=r,s}),E.sum=function(){for(var e=1,t=arguments,n=new E(t[0]);e<t.length;)n=n.plus(t[e++]);return n},T="0123456789",y=function(e,t,n,a,b){var i,d,r,s,p,f,y,u,o=e.indexOf("."),c=v,l=g;for(0<=o&&(s=_,_=0,e=e.replace(".",""),f=(u=new E(t)).pow(e.length-o),_=s,u.c=A(toFixedPoint(coeffToString(f.c),f.e,"0"),10,n,T),u.e=u.c.length),r=s=(y=A(e,t,n,b?(i=I,T):(i=T,I))).length;0==y[--s];y.pop());if(!y[0])return i.charAt(0);if(o<0?--r:(f.c=y,f.e=r,f.s=a,y=(f=m(f,u,c,l,n)).c,p=f.r,r=f.e),o=y[d=r+c+1],s=n/2,p=p||d<0||null!=y[d+1],p=l<4?(null!=o||p)&&(0==l||l==(f.s<0?3:2)):s<o||o==s&&(4==l||p||6==l&&1&y[d-1]||l==(f.s<0?8:7)),d<1||!y[0])e=p?toFixedPoint(i.charAt(1),-c,i.charAt(0)):i.charAt(0);else{if(y.length=d,p)for(--n;++y[--d]>n;)y[d]=0,d||(++r,y=[1].concat(y));for(s=y.length;!y[--s];);for(o=0,e="";o<=s;e+=i.charAt(y[o++]));e=toFixedPoint(e,r,i.charAt(0))}return e},m=function(e,t,n,a,b){var i,d,r,s,p,f,y,u,o,c,l,m,T,v,g,w,x,k=e.s==t.s?1:-1,h=e.c,_=t.c;if(!(h&&h[0]&&_&&_[0]))return new E(e.s&&t.s&&(h?!_||h[0]!=_[0]:_)?h&&0==h[0]||!_?0*k:k/0:NaN);for(o=(u=new E(k)).c=[],k=n+(d=e.e-t.e)+1,b||(b=BASE$1,d=bitFloor(e.e/LOG_BASE)-bitFloor(t.e/LOG_BASE),k=k/LOG_BASE|0),r=0;_[r]==(h[r]||0);r++);if(_[r]>(h[r]||0)&&d--,k<0)o.push(1),s=!0;else{for(v=h.length,w=_.length,k+=2,1<(p=mathfloor(b/(_[r=0]+1)))&&(_=S(_,p,b),h=S(h,p,b),w=_.length,v=h.length),T=w,l=(c=h.slice(0,w)).length;l<w;c[l++]=0);x=_.slice(),x=[0].concat(x),g=_[0],_[1]>=b/2&&g++;do{if(p=0,(i=P(_,c,w,l))<0){if(m=c[0],w!=l&&(m=m*b+(c[1]||0)),1<(p=mathfloor(m/g)))for(y=(f=S(_,p=b<=p?b-1:p,b)).length,l=c.length;1==P(f,c,y,l);)p--,B(f,w<y?x:_,y,b),y=f.length,i=1;else 0==p&&(i=p=1),y=(f=_.slice()).length;if(B(c,f=y<l?[0].concat(f):f,l,b),l=c.length,-1==i)for(;P(_,c,w,l)<1;)p++,B(c,w<l?x:_,l,b),l=c.length}else 0===i&&(p++,c=[0])}while(o[r++]=p,c[0]?c[l++]=h[T]||0:(c=[h[T]],l=1),(T++<v||null!=c[0])&&k--);s=null!=c[0],o[0]||o.splice(0,1)}if(b==BASE$1){for(r=1,k=o[0];10<=k;k/=10,r++);C(u,n+(u.e=r+d*LOG_BASE-1)+1,a,s)}else u.e=d,u.r=+s;return u},d=/^(-?)0([xbo])(?=\w[\w.]*$)/i,r=/^([^.]+)\.$/,s=/^\.([^.]+)$/,f=/^-?(Infinity|NaN)$/,o=/^\s*\+(?=[\w.])|^\s+|\s+$/g,u=function(e,t,n,a){var b,i=n?t:t.replace(o,"");if(f.test(i))e.s=isNaN(i)?null:i<0?-1:1;else{if(!n&&(i=i.replace(d,function(e,t,n){return b="x"==(n=n.toLowerCase())?16:"b"==n?2:8,a&&a!=b?e:t}),a&&(b=a,i=i.replace(r,"$1").replace(s,"0.$1")),t!=i))return new E(i,b);if(E.DEBUG)throw Error(bignumberError+"Not a"+(a?" base "+a:"")+" number: "+t);e.s=null}e.c=e.e=null},n.absoluteValue=n.abs=function(){var e=new E(this);return e.s<0&&(e.s=1),e},n.comparedTo=function(e,t){return compare(this,new E(e,t))},n.decimalPlaces=n.dp=function(e,t){var n,a;if(null!=e)return intCheck(e,0,MAX),null==t?t=g:intCheck(t,0,8),C(new E(this),e+this.e+1,t);if(!(t=this.c))return null;if(n=((a=t.length-1)-bitFloor(this.e/LOG_BASE))*LOG_BASE,a=t[a])for(;a%10==0;a/=10,n--);return n=n<0?0:n},n.dividedBy=n.div=function(e,t){return m(this,new E(e,t),v,g)},n.dividedToIntegerBy=n.idiv=function(e,t){return m(this,new E(e,t),0,1)},n.exponentiatedBy=n.pow=function(e,t){var n,a,b,i,d,r,s,p,f=this;if((e=new E(e)).c&&!e.isInteger())throw Error(bignumberError+"Exponent not an integer: "+R(e));if(null!=t&&(t=new E(t)),d=14<e.e,!f.c||!f.c[0]||1==f.c[0]&&!f.e&&1==f.c.length||!e.c||!e.c[0])return p=new E(Math.pow(+R(f),d?2-isOdd(e):+R(e))),t?p.mod(t):p;if(r=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new E(NaN);(a=!r&&f.isInteger()&&t.isInteger())&&(f=f.mod(t))}else{if(9<e.e&&(0<f.e||f.e<-1||(0==f.e?1<f.c[0]||d&&24e7<=f.c[1]:f.c[0]<8e13||d&&f.c[0]<=9999975e7)))return i=f.s<0&&isOdd(e)?-0:0,-1<f.e&&(i=1/i),new E(r?1/i:i);_&&(i=mathceil(_/LOG_BASE+2))}for(s=d?(n=new E(.5),r&&(e.s=1),isOdd(e)):(b=Math.abs(+R(e)))%2,p=new E(c);;){if(s){if(!(p=p.times(f)).c)break;i?p.c.length>i&&(p.c.length=i):a&&(p=p.mod(t))}if(b){if(0===(b=mathfloor(b/2)))break;s=b%2}else if(C(e=e.times(n),e.e+1,1),14<e.e)s=isOdd(e);else{if(0===(b=+R(e)))break;s=b%2}f=f.times(f),i?f.c&&f.c.length>i&&(f.c.length=i):a&&(f=f.mod(t))}return a?p:(r&&(p=c.div(p)),t?p.mod(t):i?C(p,_,g,void 0):p)},n.integerValue=function(e){var t=new E(this);return null==e?e=g:intCheck(e,0,8),C(t,t.e+1,e)},n.isEqualTo=n.eq=function(e,t){return 0===compare(this,new E(e,t))},n.isFinite=function(){return!!this.c},n.isGreaterThan=n.gt=function(e,t){return 0<compare(this,new E(e,t))},n.isGreaterThanOrEqualTo=n.gte=function(e,t){return 1===(t=compare(this,new E(e,t)))||0===t},n.isInteger=function(){return!!this.c&&bitFloor(this.e/LOG_BASE)>this.c.length-2},n.isLessThan=n.lt=function(e,t){return compare(this,new E(e,t))<0},n.isLessThanOrEqualTo=n.lte=function(e,t){return-1===(t=compare(this,new E(e,t)))||0===t},n.isNaN=function(){return!this.s},n.isNegative=function(){return this.s<0},n.isPositive=function(){return 0<this.s},n.isZero=function(){return!!this.c&&0==this.c[0]},n.minus=function(e,t){var n,a,b,i,d=this,r=d.s;if(t=(e=new E(e,t)).s,!r||!t)return new E(NaN);if(r!=t)return e.s=-t,d.plus(e);var s=d.e/LOG_BASE,p=e.e/LOG_BASE,f=d.c,y=e.c;if(!s||!p){if(!f||!y)return f?(e.s=-t,e):new E(y?d:NaN);if(!f[0]||!y[0])return y[0]?(e.s=-t,e):new E(f[0]?d:3==g?-0:0)}if(s=bitFloor(s),p=bitFloor(p),f=f.slice(),r=s-p){for((b=(i=r<0)?(r=-r,f):(p=s,y)).reverse(),t=r;t--;b.push(0));b.reverse()}else for(a=(i=(r=f.length)<(t=y.length))?r:t,r=t=0;t<a;t++)if(f[t]!=y[t]){i=f[t]<y[t];break}if(i&&(b=f,f=y,y=b,e.s=-e.s),0<(t=(a=y.length)-(n=f.length)))for(;t--;f[n++]=0);for(t=BASE$1-1;r<a;){if(f[--a]<y[a]){for(n=a;n&&!f[--n];f[n]=t);--f[n],f[a]+=BASE$1}f[a]-=y[a]}for(;0==f[0];f.splice(0,1),--p);return f[0]?O(e,f,p):(e.s=3==g?-1:1,e.c=[e.e=0],e)},n.modulo=n.mod=function(e,t){var n,a=this;return e=new E(e,t),!a.c||!e.s||e.c&&!e.c[0]?new E(NaN):!e.c||a.c&&!a.c[0]?new E(a):(9==b?(t=e.s,e.s=1,n=m(a,e,0,3),e.s=t,n.s*=t):n=m(a,e,0,b),(e=a.minus(n.times(e))).c[0]||1!=b||(e.s=a.s),e)},n.multipliedBy=n.times=function(e,t){var n,a,b,i,d,r,s,p,f,y,u,o,c,l=this,m=l.c,T=(e=new E(e,t)).c;if(!(m&&T&&m[0]&&T[0]))return!l.s||!e.s||m&&!m[0]&&!T||T&&!T[0]&&!m?e.c=e.e=e.s=null:(e.s*=l.s,m&&T?(e.c=[0],e.e=0):e.c=e.e=null),e;for(t=bitFloor(l.e/LOG_BASE)+bitFloor(e.e/LOG_BASE),e.s*=l.s,(r=m.length)<(l=T.length)&&(u=m,m=T,T=u,a=r,r=l,l=a),a=r+l,u=[];a--;u.push(0));for(o=BASE$1,c=SQRT_BASE,a=l;0<=--a;){for(f=T[a]%c,y=T[a]/c|(n=0),b=a+(i=r);a<b;)n=((s=f*(s=m[--i]%c)+(d=y*s+(p=m[i]/c|0)*f)%c*c+u[b]+n)/o|0)+(d/c|0)+y*p,u[b--]=s%o;u[b]=n}return n?++t:u.splice(0,1),O(e,u,t)},n.negated=function(){var e=new E(this);return e.s=-e.s||null,e},n.plus=function(e,t){var n,a=this,b=a.s;if(t=(e=new E(e,t)).s,!b||!t)return new E(NaN);if(b!=t)return e.s=-t,a.minus(e);var i=a.e/LOG_BASE,d=e.e/LOG_BASE,r=a.c,s=e.c;if(!i||!d){if(!r||!s)return new E(b/0);if(!r[0]||!s[0])return s[0]?e:new E(r[0]?a:0*b)}if(i=bitFloor(i),d=bitFloor(d),r=r.slice(),b=i-d){for((n=0<b?(d=i,s):(b=-b,r)).reverse();b--;n.push(0));n.reverse()}for((b=r.length)-(t=s.length)<0&&(n=s,s=r,r=n,t=b),b=0;t;)b=(r[--t]=r[t]+s[t]+b)/BASE$1|0,r[t]=BASE$1===r[t]?0:r[t]%BASE$1;return b&&(r=[b].concat(r),++d),O(e,r,d)},n.precision=n.sd=function(e,t){var n,a;if(null!=e&&e!==!!e)return intCheck(e,1,MAX),null==t?t=g:intCheck(t,0,8),C(new E(this),e,t);if(!(t=this.c))return null;if(n=(a=t.length-1)*LOG_BASE+1,a=t[a]){for(;a%10==0;a/=10,n--);for(a=t[0];10<=a;a/=10,n++);}return n=e&&this.e+1>n?this.e+1:n},n.shiftedBy=function(e){return intCheck(e,-MAX_SAFE_INTEGER,MAX_SAFE_INTEGER),this.times("1e"+e)},n.squareRoot=n.sqrt=function(){var e,t,n,a,b,i=this,d=i.c,r=i.s,s=i.e,p=v+4,f=new E("0.5");if(1!==r||!d||!d[0])return new E(!r||r<0&&(!d||d[0])?NaN:d?i:1/0);if((n=0==(r=Math.sqrt(+R(i)))||r==1/0?(((t=coeffToString(d)).length+s)%2==0&&(t+="0"),r=Math.sqrt(+t),s=bitFloor((s+1)/2)-(s<0||s%2),new E(t=r==1/0?"5e"+s:(t=r.toExponential()).slice(0,t.indexOf("e")+1)+s)):new E(r+"")).c[0])for((r=(s=n.e)+p)<3&&(r=0);;)if(b=n,n=f.times(b.plus(m(i,b,p,1))),coeffToString(b.c).slice(0,r)===(t=coeffToString(n.c)).slice(0,r)){if(n.e<s&&--r,"9999"!=(t=t.slice(r-3,r+1))&&(a||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(C(n,n.e+v+2,1),e=!n.times(n).eq(i));break}if(!a&&(C(b,b.e+v+2,0),b.times(b).eq(i))){n=b;break}p+=4,r+=4,a=1}return C(n,n.e+v+1,g,e)},n.toExponential=function(e,t){return null!=e&&(intCheck(e,0,MAX),e++),a(this,e,t,1)},n.toFixed=function(e,t){return null!=e&&(intCheck(e,0,MAX),e=e+this.e+1),a(this,e,t)},n.toFormat=function(e,t,n){var a;if(null==n)null!=e&&t&&"object"==typeof t?(n=t,t=null):e&&"object"==typeof e?(n=e,e=t=null):n=M;else if("object"!=typeof n)throw Error(bignumberError+"Argument not an object: "+n);if(a=this.toFixed(e,t),this.c){var b,i=a.split("."),d=+n.groupSize,e=+n.secondaryGroupSize,r=n.groupSeparator||"",s=i[0],t=i[1],i=this.s<0,p=i?s.slice(1):s,f=p.length;if(e&&(b=d,d=e,f-=e=b),0<d&&0<f){for(s=p.substr(0,b=f%d||d);b<f;b+=d)s+=r+p.substr(b,d);0<e&&(s+=r+p.slice(b)),i&&(s="-"+s)}a=t?s+(n.decimalSeparator||"")+((e=+n.fractionGroupSize)?t.replace(new RegExp("\\d{"+e+"}\\B","g"),"$&"+(n.fractionGroupSeparator||"")):t):s}return(n.prefix||"")+a+(n.suffix||"")},n.toFraction=function(e){var t,n,a,b,i,d,r,s,p,f,y=this,u=y.c;if(null!=e&&(!(d=new E(e)).isInteger()&&(d.c||1!==d.s)||d.lt(c)))throw Error(bignumberError+"Argument "+(d.isInteger()?"out of range: ":"not an integer: ")+R(d));if(!u)return new E(y);for(t=new E(c),s=n=new E(c),a=r=new E(c),f=coeffToString(u),i=t.e=f.length-y.e-1,t.c[0]=POWS_TEN[(u=i%LOG_BASE)<0?LOG_BASE+u:u],e=!e||0<d.comparedTo(t)?0<i?t:s:d,u=k,k=1/0,d=new E(f),r.c[0]=0;p=m(d,t,0,1),1!=(b=n.plus(p.times(a))).comparedTo(e);)n=a,a=b,s=r.plus(p.times(b=s)),r=b,t=d.minus(p.times(b=t)),d=b;return b=m(e.minus(n),a,0,1),r=r.plus(b.times(s)),n=n.plus(b.times(a)),r.s=s.s=y.s,y=m(s,a,i*=2,g).minus(y).abs().comparedTo(m(r,n,i,g).minus(y).abs())<1?[s,a]:[r,n],k=u,y},n.toNumber=function(){return+R(this)},n.toPrecision=function(e,t){return null!=e&&intCheck(e,1,MAX),a(this,e,t,2)},n.toString=function(e){var t,n=this,a=n.s,b=n.e;return null===b?a?(t="Infinity",a<0&&(t="-"+t)):t="NaN":(t=null==e?b<=l||w<=b?toExponential(coeffToString(n.c),b):toFixedPoint(coeffToString(n.c),b,"0"):10===e?toFixedPoint(coeffToString((n=C(new E(n),v+b+1,g)).c),n.e,"0"):(intCheck(e,2,I.length,"Base"),y(toFixedPoint(coeffToString(n.c),b,"0"),10,e,a,!0)),a<0&&n.c[0]&&(t="-"+t)),t},n.valueOf=n.toJSON=function(){return R(this)},n._isBigNumber=!0,n[Symbol.toStringTag]="BigNumber",n[Symbol.for("nodejs.util.inspect.custom")]=n.valueOf,null!=e&&E.set(e),E}function bitFloor(e){var t=0|e;return 0<e||e===t?t:t-1}function coeffToString(e){for(var t,n,a=1,b=e.length,i=e[0]+"";a<b;){for(t=e[a++]+"",n=LOG_BASE-t.length;n--;t="0"+t);i+=t}for(b=i.length;48===i.charCodeAt(--b););return i.slice(0,b+1||1)}function compare(e,t){var n,a=e.c,b=t.c,i=e.s,d=t.s,r=e.e,e=t.e;if(!i||!d)return null;if(n=a&&!a[0],t=b&&!b[0],n||t)return n?t?0:-d:i;if(i!=d)return i;if(n=i<0,t=r==e,!a||!b)return t?0:!a^n?1:-1;if(!t)return e<r^n?1:-1;for(d=(r=a.length)<(e=b.length)?r:e,i=0;i<d;i++)if(a[i]!=b[i])return a[i]>b[i]^n?1:-1;return r==e?0:e<r^n?1:-1}function intCheck(e,t,n,a){if(e<t||n<e||e!==mathfloor(e))throw Error(bignumberError+(a||"Argument")+("number"==typeof e?e<t||n<e?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function isOdd(e){var t=e.c.length-1;return bitFloor(e.e/LOG_BASE)==t&&e.c[t]%2!=0}function toExponential(e,t){return(1<e.length?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function toFixedPoint(e,t,n){var a,b;if(t<0){for(b=n+".";++t;b+=n);e=b+e}else if(++t>(a=e.length)){for(b=n,t-=a;--t;b+=n);e+=b}else t<a&&(e=e.slice(0,t)+"."+e.slice(t));return e}var NetworkType,TokenBridgeStatus,StakeType,BigNumber=clone();class TronTokenWrapper extends WalletConsumer{constructor(e,t){super(e),Object.defineProperty(this,"_fee",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_underlyingToken",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_wrappedToken",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._underlyingToken=new TronTRC10Token(e,t.underlyingToken),this._wrappedToken=new TronTRC20Token(e,t.wrappedToken),this._fee=t.fee}get fee(){return this._fee}get underlyingToken(){return this._underlyingToken}get wrappedToken(){return this._wrappedToken}wrap(a,b){return __awaiter(this,void 0,void 0,function*(){const e=new BigNumber(b),t=yield this.provider.getContractAt(this._wrappedToken.contractAddress);var n=yield t.depositFor(a).send({tokenId:this._underlyingToken.tokenId,tokenValue:e.toFixed()});return new TronTransaction(this.provider,n)})}unwrap(a,b){return __awaiter(this,void 0,void 0,function*(){const e=new BigNumber(b),t=yield this.provider.getContractAt(this._wrappedToken.contractAddress);var n=yield t.withdrawTo(a,e.toFixed()).send();return new TronTransaction(this.provider,n)})}recover(n){return __awaiter(this,void 0,void 0,function*(){const e=yield this.provider.getContractAt(this._wrappedToken.contractAddress);var t=yield e.recover(n).send();return new TronTransaction(this.provider,t)})}}const ABI_TOKEN_BRIDGE=[{inputs:[{internalType:"address",name:"token_",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"taskManager",type:"address"},{indexed:!1,internalType:"bytes",name:"networks",type:"bytes"},{indexed:!1,internalType:"bytes",name:"correspondents",type:"bytes"},{indexed:!1,internalType:"uint256",name:"swapLimit",type:"uint256"},{indexed:!1,internalType:"uint256",name:"swapResetPeriod",type:"uint256"}],name:"Configure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bytes32",name:"taskId",type:"bytes32"}],name:"TaskFinalized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bytes32",name:"targetNetwork",type:"bytes32"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"userSeed",type:"uint256"},{indexed:!1,internalType:"bytes32",name:"taskId",type:"bytes32"}],name:"TokensBridged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokensUnlocked",type:"event"},{inputs:[],name:"BRIDGE_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ITaskManager",name:"taskManager",type:"address"},{internalType:"bytes32[]",name:"networks",type:"bytes32[]"},{internalType:"address[]",name:"correspondents",type:"address[]"},{internalType:"uint256",name:"swapLimit",type:"uint256"},{internalType:"uint256",name:"swapResetPeriod",type:"uint256"}],name:"configure",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getConfiguration",outputs:[{internalType:"address",name:"bridge",type:"address"},{internalType:"bytes32[]",name:"networks",type:"bytes32[]"},{internalType:"address[]",name:"correspondents",type:"address[]"},{internalType:"address[]",name:"peggedBridges",type:"address[]"},{internalType:"uint256",name:"swapLimit",type:"uint256"},{internalType:"uint256",name:"swapResetPeriod",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDailyLimit",outputs:[{internalType:"uint256",name:"dailySwapped",type:"uint256"},{internalType:"uint256",name:"dayLimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"targetNetwork",type:"bytes32"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"userSeed",type:"uint256"}],name:"moveIn",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"moveOut",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"taskId",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"withdrawDeclinedMoveIn",outputs:[],stateMutability:"nonpayable",type:"function"}],ABI_BRIDGE=[{inputs:[{internalType:"string",name:"networkName",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"string",name:"name",type:"string"},{indexed:!1,internalType:"uint256",name:"chainId",type:"uint256"}],name:"NetworkAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"NetworkRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oracle",type:"address"}],name:"OracleAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oracle",type:"address"}],name:"OracleRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"taskId",type:"bytes32"},{indexed:!1,internalType:"address",name:"creator",type:"address"},{indexed:!1,internalType:"bytes32",name:"targetNetwork",type:"bytes32"},{indexed:!1,internalType:"address",name:"targets",type:"address"},{indexed:!1,internalType:"uint256",name:"values",type:"uint256"},{indexed:!1,internalType:"bytes",name:"calldatas",type:"bytes"},{indexed:!1,internalType:"uint256",name:"userSeed",type:"uint256"},{indexed:!1,internalType:"uint256",name:"startTime",type:"uint256"},{indexed:!1,internalType:"uint256",name:"endTime",type:"uint256"},{indexed:!1,internalType:"bytes",name:"signers",type:"bytes"},{indexed:!1,internalType:"uint256",name:"signersN",type:"uint256"}],name:"PeggedTaskCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"taskId",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"signatures",type:"bytes"},{indexed:!1,internalType:"uint256",name:"signaturesN",type:"uint256"}],name:"TaskApproved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"taskId",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"signature",type:"bytes"}],name:"TaskCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"taskId",type:"bytes32"},{indexed:!1,internalType:"address",name:"creator",type:"address"},{indexed:!1,internalType:"bytes32",name:"targetNetwork",type:"bytes32"},{indexed:!1,internalType:"address",name:"targets",type:"address"},{indexed:!1,internalType:"uint256",name:"values",type:"uint256"},{indexed:!1,internalType:"bytes",name:"calldatas",type:"bytes"},{indexed:!1,internalType:"uint256",name:"userSeed",type:"uint256"},{indexed:!1,internalType:"uint256",name:"startTime",type:"uint256"},{indexed:!1,internalType:"uint256",name:"endTime",type:"uint256"},{indexed:!1,internalType:"bytes",name:"signers",type:"bytes"},{indexed:!1,internalType:"uint256",name:"signersN",type:"uint256"}],name:"TaskCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"taskCreator",type:"address"}],name:"TaskCreatorAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"taskCreator",type:"address"}],name:"TaskCreatorRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"taskId",type:"bytes32"}],name:"TaskExecuted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"taskId",type:"bytes32"},{indexed:!1,internalType:"address",name:"signer",type:"address"},{indexed:!1,internalType:"bytes",name:"signature",type:"bytes"}],name:"TaskSigned",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"GOVERNOR_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"TASK_CREATOR_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"TASK_SIGNER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"bridge",type:"address"}],name:"addNetwork",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"oracle",type:"address"}],name:"addOracle",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"taskCreator",type:"address"}],name:"addTaskCreator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"taskId",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bool",name:"peggedTask",type:"bool"}],name:"approveTask",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"requiredSignersForTask",type:"uint256"},{internalType:"uint256",name:"taskExpirationTime",type:"uint256"}],name:"configure",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"targetNetwork",type:"bytes32"},{internalType:"address[]",name:"targets",type:"address[]"},{internalType:"uint256[]",name:"values",type:"uint256[]"},{internalType:"bytes[]",name:"calldatas",type:"bytes[]"},{internalType:"uint256",name:"userSeed",type:"uint256"},{internalType:"address[]",name:"signers",type:"address[]"},{internalType:"bytes32",name:"taskId",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"createPeggedTask",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"targetNetwork",type:"bytes32"},{internalType:"address[]",name:"targets",type:"address[]"},{internalType:"uint256[]",name:"values",type:"uint256[]"},{internalType:"bytes[]",name:"calldatas",type:"bytes[]"},{internalType:"uint256",name:"userSeed",type:"uint256"}],name:"createTask",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[],name:"currentNetworkName",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"taskId",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"declineTask",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"taskId",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"evaluateDeclineSignature",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"taskId",type:"bytes32"},{internalType:"address",name:"creator",type:"address"},{internalType:"bytes32",name:"targetNetwork",type:"bytes32"},{internalType:"address[]",name:"targets",type:"address[]"},{internalType:"uint256[]",name:"values",type:"uint256[]"},{internalType:"bytes[]",name:"calldatas",type:"bytes[]"},{internalType:"uint256",name:"userSeed",type:"uint256"},{internalType:"bytes[]",name:"signatures",type:"bytes[]"}],name:"executeTask",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"getConfiguration",outputs:[{internalType:"uint256",name:"requiredSignersForTask",type:"uint256"},{internalType:"uint256",name:"taskExpirationTime",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"taskId",type:"bytes32"}],name:"getTaskState",outputs:[{internalType:"enum ITaskManager.TaskState",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"creator",type:"address"},{internalType:"bytes32",name:"targetNetwork",type:"bytes32"},{internalType:"address[]",name:"targets",type:"address[]"},{internalType:"uint256[]",name:"values",type:"uint256[]"},{internalType:"bytes[]",name:"calldatas",type:"bytes[]"},{internalType:"uint256",name:"userSeed",type:"uint256"}],name:"hashTask",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[],name:"listNetworks",outputs:[{internalType:"bytes32[]",name:"networks",type:"bytes32[]"},{internalType:"address[]",name:"correspondents",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"listOracles",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"listTaskCreators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"removeNetwork",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"oracle",type:"address"}],name:"removeOracle",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"taskCreator",type:"address"}],name:"removeTaskCreator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],ADDRESS_PREFIX="41",ALPHABET="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",ALPHABET_MAP={};for(let e=0;e<ALPHABET.length;e++)ALPHABET_MAP[ALPHABET.charAt(e)]=e;const BASE=58;function isHexChar(e){return"A"<=e&&e<="F"||"a"<=e&&e<="f"||"0"<=e&&e<="9"}function hexChar2byte(e){let t;if("A"<=e&&e<="F"?t=e.charCodeAt(0)-"A".charCodeAt(0)+10:"a"<=e&&e<="f"?t=e.charCodeAt(0)-"a".charCodeAt(0)+10:"0"<=e&&e<="9"&&(t=e.charCodeAt(0)-"0".charCodeAt(0)),"number"==typeof t)return t;throw new Error("The passed hex char is not a valid hex char")}function hexStr2byteArray(t,e=!1){if("string"!=typeof t)throw new Error("The passed string is not a string");let n=t.length;e&&n%2&&(t=`0${t}`,n++);const a=[];let b=0,i=0,d=0;for(let e=0;e<n;e++){var r=t.charAt(e);if(!isHexChar(r))throw new Error("The passed hex char is not a valid hex string");b<<=4,b+=hexChar2byte(r),i++,0==i%2&&(a[d++]=b,b=0)}return a}function byte2hexStr(e){if("number"!=typeof e)throw new Error("Input must be a number");if(e<0||255<e)throw new Error("Input must be a byte");var t="0123456789ABCDEF",n="";return n+=t.charAt(e>>4),n+=t.charAt(15&e)}function byteArray2hexStr(t){let n="";for(let e=0;e<t.length;e++)n+=byte2hexStr(t[e]);return n}function isHex(e){return"string"==typeof e&&!isNaN(parseInt(e,16))&&/^(0x|)[a-fA-F0-9]+$/.test(e)}function encode58(t){if(0===t.length)return"";let n,a;const b=[0];for(n=0;n<t.length;n++){for(a=0;a<b.length;a++)b[a]<<=8;b[0]+=t[n];let e=0;for(a=0;a<b.length;++a)b[a]+=e,e=b[a]/BASE|0,b[a]%=BASE;for(;e;)b.push(e%BASE),e=e/BASE|0}for(n=0;0===t[n]&&n<t.length-1;n++)b.push(0);return b.reverse().map(e=>ALPHABET[e]).join("")}function decode58(t){if(0===t.length)return[];let n,a;const b=[0];for(n=0;n<t.length;n++){var i=t[n];if(!(i in ALPHABET_MAP))throw new Error("Non-base58 character");for(a=0;a<b.length;a++)b[a]*=BASE;b[0]+=ALPHABET_MAP[i];let e=0;for(a=0;a<b.length;++a)b[a]+=e,e=b[a]>>8,b[a]&=255;for(;e;)b.push(255&e),e>>=8}for(n=0;"1"===t[n]&&n<t.length-1;n++)b.push(0);return b.reverse()}function SHA256(e){e=byteArray2hexStr(e);return hexStr2byteArray(ethers.utils.sha256("0x"+e).replace(/^0x/,""))}function getBase58CheckAddress(e){var t=SHA256(e);const n=SHA256(t);t=n.slice(0,4);return encode58(t=e.concat(t))}function decodeBase58Address(e){if("string"!=typeof e)return!1;if(e.length<=4)return!1;let t=decode58(e);if(e.length<=4)return!1;var n=t.length-4,e=t.slice(n);t=t.slice(0,n);n=SHA256(t);const a=SHA256(n);n=a.slice(0,4);if(e[0]===n[0]&&e[1]===n[1]&&e[2]===n[2]&&e[3]===n[3])return t;throw new Error("Invalid address provided")}function toHex(e){let t;return t=isHex(e)?e.toLowerCase().replace(/^0x/,ADDRESS_PREFIX):byteArray2hexStr(decodeBase58Address(e)).toLowerCase(),"0x"+t.substring(2)}function fromHex(e){return isHex(e)?getBase58CheckAddress(hexStr2byteArray(e.replace(/^0x/,ADDRESS_PREFIX))):e}function without0x(e){return 0===e.indexOf("0x")?e.substr(2):e}function with0x(e){return 0!==e.indexOf("0x")?"0x"+(e=0===e.indexOf("41")?e.substring(2):e):e}function addressToBytes32(e){return"0x000000000000000000000000"+without0x(e)}function txDecoder(e,t){return ethers.utils.defaultAbiCoder.decode(e,with0x(t))}function getNodeInfoById(e){switch(e){case"0xe777f27e622843b7baef45ae2667a45ec252846cc014f9838edf0be481d97139":return TronNodes.mainnetTronGrid;case"0x06d920ad0798859f48089d86e9dd16199958f30f3e4a0bf29504cf5f04e4fbd1":return TronNodes.testnetNile;case"0x3048933aaa156da618de3c9af858fd49d681866c4ad6b9161783ae72c3a3bc67":return TronNodes.testnetShasta;case"0x958e7c3aeccf3eab7221d22839e2febcab33c0422128011d1ce135c8fe68fbb2":return EthereumNodes.ethRinkeby;case"0x29461a3a758a3b7a2b58e15a1decea46fc7814c8d2b289c5ba8cc1f6c37c89af":case"0x78aa821a71d1bebd38096ba29c74b9351dd62912e2a4275eaf04df27d4be25a9":return EthereumNodes.ethRopsten;case"0x604a75c0f82c1f62548027bdc4869073998719ae8ec15b852f3c33f8e833426d":return EthereumNodes.bscTestnet;case"0x8243a84d5f7bb35e70de32ef079a3935b52eb00bab8e017623a8c05af8ff4489":return EthereumNodes.bscMainnet;default:return}}function validateAddress(e){var t=e.substring(0,1);let n="";n="T"===t?toHex(e):e,ethers.utils.getAddress(n)}function validateAddressToNetwork(e,t){t=getNodeInfoById(t),e=e.substring(0,2);if(t.vm===BlockchainVM.EVM){if("0x"!==e)throw Error("Invalid address")}else if(t.vm===BlockchainVM.Tron&&"T"!==e[0])throw Error("Invalid address")}function decodeNetworkHash(a){return __awaiter(this,void 0,void 0,function*(){const e=new TronWebWalletProvider;var t=yield e.getNodeInfoById(a);if("Unknown"!==t.name)return{networkType:NetworkType.Tron,node:t};{const n=new Web3WalletProvider;t=yield n.getNodeInfoById(a);if("Unknown"!==t.name)return{networkType:NetworkType.ETH,node:t}}})}!function(e){e[e.Tron=0]="Tron",e[e.ETH=1]="ETH"}(NetworkType=NetworkType||{});const BLOCK_SPEED=new Map([["0x1",3250],["0x38",3250],["0x61",3e3],["mainnetTronGrid",3500],["0xD698D4192C56CB6BE724A558448E2684802DE4D6CD8690DC",3500]]),GAS_THRESHOLD=new Map([["mainnetTronGrid",11e4],["0xD698D4192C56CB6BE724A558448E2684802DE4D6CD8690DC",11e4]]),CURRENCY_THRESHOLD=new Map([["mainnetTronGrid",.1],["0xD698D4192C56CB6BE724A558448E2684802DE4D6CD8690DC",.1]]),DEADLINE_MAX=1728e5,DEFAULT_TOKEN_PRESETS=[{name:"TERC",networkMapping:new Map([[TronNodes.mainnetTronGrid,"TSUkWoaCqsy2sSbRQPJjTUDBTDdhsPJKi1"],[EthereumNodes.bscMainnet,"0x9150098d54f8db437a2e3318fdfb939037b56c9d"]])}],TOKEN_API=new Map([["0x9150098d54f8db437a2e3318fdfb939037b56c9d",{url:"https://api.bscscan.com/api",key:"W2TMW7EAAGH6XSM738PJIC52MKCIFIQNUI"}],["0xda0c0c96d1fd803cbc7068b618707a22ea8bd248",{url:"https://api.bscscan.com/api",key:"W2TMW7EAAGH6XSM738PJIC52MKCIFIQNUI"}]]),API_EVENT_LIMIT=new Map([["https://api.bscscan.com/api",1e3],["https://api-testnet.bscscan.com/api",1e3]]),CONTRACT_CREATION_BLOCKS=new Map([["0x9150098d54f8db437a2e3318fdfb939037b56c9d",19921376],["0xda0c0c96d1fd803cbc7068b618707a22ea8bd248",19921437],["TSUkWoaCqsy2sSbRQPJjTUDBTDdhsPJKi1",165893796e4]]),DEFAULT_BRIDGE_ADDRESSES=new Map([["mainnetTronGrid","TVLLW5XC9Y64WuAVp3ciU7pPn5m9d2YwFY"]]);!function(e){e.Invalid="Invalid",e.Created="Created",e.Approved="Approved",e.Declined="Declined"}(TokenBridgeStatus=TokenBridgeStatus||{});class TokenBridgeTask extends WalletConsumer{constructor(){super(...arguments),Object.defineProperty(this,"_eventSource",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_bridgeDestination",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tokenBridge",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"taskData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sourceNode",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"destinationNode",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"networkHash",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"confirmation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requiredConfirmations",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}fetch(){return __awaiter(this,void 0,void 0,function*(){const a=(yield this.provider.getNodeInfo()).vm===BlockchainVM.Tron?this.provider:yield TronLinkWalletProvider.connect();if(0<this.requiredConfirmations&&this.status===TokenBridgeStatus.Created){var b=DEFAULT_BRIDGE_ADDRESSES.get((yield a.getNodeInfo()).chainId);const r=[];let e;for(;;){let n;var t=yield a.getEvents({contractAddress:b,eventName:"TaskApproved",minTimestamp:0,maxTimestamp:Date.now()/1e3,size:200,fingerprint:e,resultFilter:(e,t)=>(n=t?t.fingerprint:void 0,e.taskId===without0x(this.taskData.taskId))});if(e||!n){if(r.push(...t),e=n,!e)break}else e=n}if(0<r.length){console.log("Approved"),this.status=TokenBridgeStatus.Approved,this.confirmation=this.requiredConfirmations;let t=r[0].result.signatures.substring(258,r[0].result.signatures.length-1);t=with0x(t.substring(0,t.length-61));const n=[""];for(let e=0;e<this.taskData.signersN;e++)n[e]=with0x(t.substring(256*e+128,256*(e+1)+2));this.taskData.signatures=n}else{const s=[];let e;for(;;){let n;var i=yield a.getEvents({contractAddress:b,eventName:"TaskCanceled",minTimestamp:0,maxTimestamp:Date.now(),size:200,fingerprint:e,resultFilter:(e,t)=>(n=t?t.fingerprint:void 0,e.taskId===without0x(this.taskData.taskId))});if(e||!n){if(s.push(...i),e=n,!e)break}else e=n}if(0<s.length)for(const f of s)if(void 0!==f.result)return this.status=TokenBridgeStatus.Declined,void(this._signature=with0x(s[0].result.signature));const p=[];let t;for(;;){let n;var d=yield a.getEvents({contractAddress:b,eventName:"TaskSigned",minTimestamp:0,maxTimestamp:Date.now()/1e3,size:200,fingerprint:t,resultFilter:(e,t)=>(n=t?t.fingerprint:void 0,e.taskId===without0x(this.taskData.taskId))});if(t||!n){if(p.push(...d),t=n,!t)break}else t=n}0<p.length&&(this.taskData.signatures=p.map(e=>with0x(e.result.signature)),this.confirmation=this.taskData.signatures.length,this.confirmation===this.requiredConfirmations&&(this.status=TokenBridgeStatus.Approved))}}else this.status!==TokenBridgeStatus.Declined&&(this.status=TokenBridgeStatus.Approved)})}execute(d){return __awaiter(this,void 0,void 0,function*(){if(this.status!==TokenBridgeStatus.Approved)throw new Error("Task still requires to be confirmed");(yield d.getNodeInfo()).chainId!==this.destinationNode.chainId&&(yield d.changeNetwork(this.destinationNode));let e;if((yield d.getNodeInfo()).vm===BlockchainVM.Tron){const n=yield d.getContractAt(fromHex(this._bridgeDestination));var t=new BigNumber(yield(yield n.getTax().call()).toString()).toNumber();this.taskData=convertITaskData(this.taskData,!1);t=yield n.executeTask(this.taskData.taskId,this.taskData.creator,this.taskData.targetNetwork,this.taskData.targets,this.taskData.values,this.taskData.calldatas,this.taskData.userSeed,this.taskData.signatures).send({callValue:t});const a=new TronTransaction(d,t);if(e=yield a.fetchResult(!1),!e.success)throw Error(e.error);return e}{const b=yield d.getContractAt(toHex(this._bridgeDestination),ABI_BRIDGE);this.taskData=convertITaskData(this.taskData,!0);t=yield b.executeTask(this.taskData.taskId,this.taskData.creator,this.taskData.targetNetwork,this.taskData.targets,this.taskData.values,this.taskData.calldatas,this.taskData.userSeed,this.taskData.signatures);const i=new Web3Transaction(d,t);if(e=yield i.fetchResult(!1),!e.success)throw Error(e.error);return e}})}withdraw(){return __awaiter(this,void 0,void 0,function*(){if(this.status!==TokenBridgeStatus.Declined)throw new Error("Task is not declined");let e;if((yield this.provider.getNodeInfo()).vm===BlockchainVM.Tron){const n=yield this.provider.getContractAt(fromHex(this._tokenBridge));this.taskData=convertITaskData(this.taskData,!1);var t=yield n.withdrawDeclinedMoveIn(this.taskData.taskId).send();const a=new TronTransaction(this._provider,t);if(e=yield a.fetchResult(!1),!e.success)throw Error(e.error);return e}{const b=yield this.provider.getContractAt(toHex(this._tokenBridge),ABI_TOKEN_BRIDGE);this.taskData=convertITaskData(this.taskData,!0);t=yield b.withdrawDeclinedMoveIn(this.taskData.taskId,this._signature);const i=new Web3Transaction(this.provider,t);if(e=yield i.fetchResult(!1),!e.success)throw Error(e.error);return e}})}}function generateITaskData(e,t){const n={taskId:with0x(null==e?void 0:e.taskId),creator:t?toHex(null==e?vo