brahma-trade-widget
Version:
A React component for trade automation within the Brahma ecosystem.
1 lines • 86 kB
JavaScript
"use strict";(self.webpackChunkbrahma_trade_widget=self.webpackChunkbrahma_trade_widget||[]).push([[767],{6639:(t,e,r)=>{r.d(e,{x6:()=>A,wt:()=>g});var n=r(90531),o=r(38905),i=r(88943),s=r(97664),a=r(7720);var l=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{l(n.next(t))}catch(t){i(t)}}function a(t){try{l(n.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};function c(t,e){return l(this,void 0,void 0,(function*(){null==e&&(e={});const r={method:e.method||"GET",headers:e.headers||{},body:e.body||void 0};if(!0!==e.skipFetchSetup&&(r.mode="cors",r.cache="no-cache",r.credentials="same-origin",r.redirect="follow",r.referrer="client"),null!=e.fetchOptions){const t=e.fetchOptions;t.mode&&(r.mode=t.mode),t.cache&&(r.cache=t.cache),t.credentials&&(r.credentials=t.credentials),t.redirect&&(r.redirect=t.redirect),t.referrer&&(r.referrer=t.referrer)}const n=yield fetch(t,r),i=yield n.arrayBuffer(),s={};return n.headers.forEach?n.headers.forEach(((t,e)=>{s[e.toLowerCase()]=t})):n.headers.keys().forEach((t=>{s[t.toLowerCase()]=n.headers.get(t)})),{headers:s,statusCode:n.status,statusMessage:n.statusText,body:(0,o.k9)(new Uint8Array(i))}}))}var u=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{l(n.next(t))}catch(t){i(t)}}function a(t){try{l(n.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};const h=new a.Vy("web/5.7.1");function d(t){return new Promise((e=>{setTimeout(e,t)}))}function f(t,e){if(null==t)return null;if("string"==typeof t)return t;if((0,o.f)(t)){if(e&&("text"===e.split("/")[0]||"application/json"===e.split(";")[0].trim()))try{return(0,s._v)(t)}catch(t){}return(0,o.c$)(t)}return t}function A(t,e,r){let o=null;if(null!=e){o=(0,s.YW)(e);const r="string"==typeof t?{url:t}:(0,i.Ic)(t);if(r.headers){0!==Object.keys(r.headers).filter((t=>"content-type"===t.toLowerCase())).length||(r.headers=(0,i.Ic)(r.headers),r.headers["content-type"]="application/json")}else r.headers={"content-type":"application/json"};t=r}return function(t,e,r){const o="object"==typeof t&&null!=t.throttleLimit?t.throttleLimit:12;h.assertArgument(o>0&&o%1==0,"invalid connection throttle limit","connection.throttleLimit",o);const l="object"==typeof t?t.throttleCallback:null,A="object"==typeof t&&"number"==typeof t.throttleSlotInterval?t.throttleSlotInterval:100;h.assertArgument(A>0&&A%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",A);const g="object"==typeof t&&!!t.errorPassThrough,m={};let p=null;const w={method:"GET"};let y=!1,v=12e4;if("string"==typeof t)p=t;else if("object"==typeof t){if(null!=t&&null!=t.url||h.throwArgumentError("missing URL","connection.url",t),p=t.url,"number"==typeof t.timeout&&t.timeout>0&&(v=t.timeout),t.headers)for(const e in t.headers)m[e.toLowerCase()]={key:e,value:String(t.headers[e])},["if-none-match","if-modified-since"].indexOf(e.toLowerCase())>=0&&(y=!0);if(w.allowGzip=!!t.allowGzip,null!=t.user&&null!=t.password){"https:"!==p.substring(0,6)&&!0!==t.allowInsecureAuthentication&&h.throwError("basic authentication requires a secure https url",a.Vy.errors.INVALID_ARGUMENT,{argument:"url",url:p,user:t.user,password:"[REDACTED]"});const e=t.user+":"+t.password;m.authorization={key:"Authorization",value:"Basic "+(0,n.l)((0,s.YW)(e))}}null!=t.skipFetchSetup&&(w.skipFetchSetup=!!t.skipFetchSetup),null!=t.fetchOptions&&(w.fetchOptions=(0,i.Ic)(t.fetchOptions))}const k=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),b=p?p.match(k):null;if(b)try{const t={statusCode:200,statusMessage:"OK",headers:{"content-type":b[1]||"text/plain"},body:b[2]?(0,n.D)(b[3]):(E=b[3],(0,s.YW)(E.replace(/%([0-9a-f][0-9a-f])/gi,((t,e)=>String.fromCharCode(parseInt(e,16))))))};let e=t.body;return r&&(e=r(t.body,t)),Promise.resolve(e)}catch(t){h.throwError("processing response error",a.Vy.errors.SERVER_ERROR,{body:f(b[1],b[2]),error:t,requestBody:null,requestMethod:"GET",url:p})}var E;e&&(w.method="POST",w.body=e,null==m["content-type"]&&(m["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==m["content-length"]&&(m["content-length"]={key:"Content-Length",value:String(e.length)}));const N={};Object.keys(m).forEach((t=>{const e=m[t];N[e.key]=e.value})),w.headers=N;const B=function(){let t=null;return{promise:new Promise((function(e,r){v&&(t=setTimeout((()=>{null!=t&&(t=null,r(h.makeError("timeout",a.Vy.errors.TIMEOUT,{requestBody:f(w.body,N["content-type"]),requestMethod:w.method,timeout:v,url:p})))}),v))})),cancel:function(){null!=t&&(clearTimeout(t),t=null)}}}(),C=function(){return u(this,void 0,void 0,(function*(){for(let t=0;t<o;t++){let e=null;try{if(e=yield c(p,w),t<o)if(301===e.statusCode||302===e.statusCode){const t=e.headers.location||"";if("GET"===w.method&&t.match(/^https:/)){p=e.headers.location;continue}}else if(429===e.statusCode){let r=!0;if(l&&(r=yield l(t,p)),r){let r=0;const n=e.headers["retry-after"];r="string"==typeof n&&n.match(/^[1-9][0-9]*$/)?1e3*parseInt(n):A*parseInt(String(Math.random()*Math.pow(2,t))),yield d(r);continue}}}catch(t){e=t.response,null==e&&(B.cancel(),h.throwError("missing response",a.Vy.errors.SERVER_ERROR,{requestBody:f(w.body,N["content-type"]),requestMethod:w.method,serverError:t,url:p}))}let n=e.body;if(y&&304===e.statusCode?n=null:!g&&(e.statusCode<200||e.statusCode>=300)&&(B.cancel(),h.throwError("bad response",a.Vy.errors.SERVER_ERROR,{status:e.statusCode,headers:e.headers,body:f(n,e.headers?e.headers["content-type"]:null),requestBody:f(w.body,N["content-type"]),requestMethod:w.method,url:p})),r)try{const t=yield r(n,e);return B.cancel(),t}catch(r){if(r.throttleRetry&&t<o){let e=!0;if(l&&(e=yield l(t,p)),e){const e=A*parseInt(String(Math.random()*Math.pow(2,t)));yield d(e);continue}}B.cancel(),h.throwError("processing response error",a.Vy.errors.SERVER_ERROR,{body:f(n,e.headers?e.headers["content-type"]:null),error:r,requestBody:f(w.body,N["content-type"]),requestMethod:w.method,url:p})}return B.cancel(),n}return h.throwError("failed response",a.Vy.errors.SERVER_ERROR,{requestBody:f(w.body,N["content-type"]),requestMethod:w.method,url:p})}))}();return Promise.race([B.promise,C])}(t,o,((t,e)=>{let n=null;if(null!=t)try{n=JSON.parse((0,s._v)(t))}catch(e){h.throwError("invalid JSON",a.Vy.errors.SERVER_ERROR,{body:t,error:e})}return r&&(n=r(n,e)),n}))}function g(t,e){return e||(e={}),null==(e=(0,i.Ic)(e)).floor&&(e.floor=0),null==e.ceiling&&(e.ceiling=1e4),null==e.interval&&(e.interval=250),new Promise((function(r,n){let o=null,i=!1;const s=()=>!i&&(i=!0,o&&clearTimeout(o),!0);e.timeout&&(o=setTimeout((()=>{s()&&n(new Error("timeout"))}),e.timeout));const a=e.retryLimit;let l=0;!function o(){return t().then((function(t){if(void 0!==t)s()&&r(t);else if(e.oncePoll)e.oncePoll.once("poll",o);else if(e.onceBlock)e.onceBlock.once("block",o);else if(!i){if(l++,l>a)return void(s()&&n(new Error("retry limit reached")));let t=e.interval*parseInt(String(Math.random()*Math.pow(2,l)));t<e.floor&&(t=e.floor),t>e.ceiling&&(t=e.ceiling),setTimeout(o,t)}return null}),(function(t){s()&&n(t)}))}()}))}},10767:(t,e,r)=>{r.r(e),r.d(e,{AlchemyProvider:()=>l});var n=r(34302),o=r(93525),i=r(13199),s=r(6639);class a{constructor(t,e=100){this.sendBatchFn=t,this.maxBatchSize=e,this.pendingBatch=[]}enqueueRequest(t){return(0,n._)(this,void 0,void 0,(function*(){const e={request:t,resolve:void 0,reject:void 0},r=new Promise(((t,r)=>{e.resolve=t,e.reject=r}));return this.pendingBatch.push(e),this.pendingBatch.length===this.maxBatchSize?this.sendBatchRequest():this.pendingBatchTimer||(this.pendingBatchTimer=setTimeout((()=>this.sendBatchRequest()),10)),r}))}sendBatchRequest(){return(0,n._)(this,void 0,void 0,(function*(){const t=this.pendingBatch;this.pendingBatch=[],this.pendingBatchTimer&&(clearTimeout(this.pendingBatchTimer),this.pendingBatchTimer=void 0);const e=t.map((t=>t.request));return this.sendBatchFn(e).then((e=>{t.forEach(((t,r)=>{const n=e[r];if(n.error){const e=new Error(n.error.message);e.code=n.error.code,e.data=n.error.data,t.reject(e)}else t.resolve(n.result)}))}),(e=>{t.forEach((t=>{t.reject(e)}))}))}))}}class l extends i.F{constructor(t){const e=l.getApiKey(t.apiKey),r=l.getAlchemyNetwork(t.network);let o=l.getAlchemyConnectionInfo(r,e,"http");void 0!==t.url&&(o.url=t.url),o.throttleLimit=t.maxRetries,t.connectionInfoOverrides&&(o=Object.assign(Object.assign({},o),t.connectionInfoOverrides));super(o,n.E[r]),this.apiKey=t.apiKey,this.maxRetries=t.maxRetries,this.batchRequests=t.batchRequests;const i=Object.assign(Object.assign({},this.connection),{headers:Object.assign(Object.assign({},this.connection.headers),{"Alchemy-Ethers-Sdk-Method":"batchSend"})});this.batcher=new a((t=>(0,s.x6)(i,JSON.stringify(t)))),this.modifyFormatter()}static getApiKey(t){if(null==t)return n.D;if(t&&"string"!=typeof t)throw new Error(`Invalid apiKey '${t}' provided. apiKey must be a string.`);return t}static getNetwork(t){return"string"==typeof t&&t in n.C?n.C[t]:(0,o.N)(t)}static getAlchemyNetwork(t){if(void 0===t)return n.a;if("number"==typeof t)throw new Error(`Invalid network '${t}' provided. Network must be a string.`);if(!Object.values(n.N).includes(t))throw new Error(`Invalid network '${t}' provided. Network must be one of: ${Object.values(n.N).join(", ")}.`);return t}static getAlchemyConnectionInfo(t,e,r){const o="http"===r?(0,n.g)(t,e):(0,n.b)(t,e);return{headers:n.I?{"Alchemy-Ethers-Sdk-Version":n.V}:{"Alchemy-Ethers-Sdk-Version":n.V,"Accept-Encoding":"gzip"},allowGzip:!0,url:o}}detectNetwork(){const t=Object.create(null,{detectNetwork:{get:()=>super.detectNetwork}});return(0,n._)(this,void 0,void 0,(function*(){let e=this.network;if(null==e&&(e=yield t.detectNetwork.call(this),!e))throw new Error("No network detected");return e}))}_startPending(){(0,n.l)("WARNING: Alchemy Provider does not support pending filters")}isCommunityResource(){return this.apiKey===n.D}send(t,e){return this._send(t,e,"send")}_send(t,e,r,o=!1){const i={method:t,params:e,id:this._nextId++,jsonrpc:"2.0"};if(Object.assign({},this.connection).headers["Alchemy-Ethers-Sdk-Method"]=r,this.batchRequests||o)return this.batcher.enqueueRequest(i);this.emit("debug",{action:"request",request:(0,n.d)(i),provider:this});const a=["eth_chainId","eth_blockNumber"].indexOf(t)>=0;if(a&&this._cache[t])return this._cache[t];const l=(0,s.x6)(this.connection,JSON.stringify(i),c).then((t=>(this.emit("debug",{action:"response",request:i,response:t,provider:this}),t)),(t=>{throw this.emit("debug",{action:"response",error:t,request:i,provider:this}),t}));return a&&(this._cache[t]=l,setTimeout((()=>{this._cache[t]=null}),0)),l}modifyFormatter(){this.formatter.formats.receiptLog.removed=t=>{if("boolean"==typeof t)return t}}}function c(t){if(t.error){const e=new Error(t.error.message);throw e.code=t.error.code,e.data=t.error.data,e}return t.result}},13199:(t,e,r)=>{r.d(e,{F:()=>Pt});var n=r(10077),o=r(37457),i=r(38905),s=r(72218),a=r(88943),l=r(97664),c=r(55523),u=r(6639),h=r(7720),d=r(88004),f=r(48532),A=r(90531),g=r(41730);var m=r(50234),p=r(62801);function w(t,e){null==e&&(e=1);const r=[],n=r.forEach,o=function(t,e){n.call(t,(function(t){e>0&&Array.isArray(t)?o(t,e-1):r.push(t)}))};return o(t,e),r}function y(t){return function(t){let e=0;return()=>t[e++]}(function(t){let e=0;function r(){return t[e++]<<8|t[e++]}let n=r(),o=1,i=[0,1];for(let t=1;t<n;t++)i.push(o+=r());let s=r(),a=e;e+=s;let l=0,c=0;function u(){return 0==l&&(c=c<<8|t[e++],l=8),c>>--l&1}const h=Math.pow(2,31),d=h>>>1,f=d>>1,A=h-1;let g=0;for(let t=0;t<31;t++)g=g<<1|u();let m=[],p=0,w=h;for(;;){let t=Math.floor(((g-p+1)*o-1)/w),e=0,r=n;for(;r-e>1;){let n=e+r>>>1;t<i[n]?r=n:e=n}if(0==e)break;m.push(e);let s=p+Math.floor(w*i[e]/o),a=p+Math.floor(w*i[e+1]/o)-1;for(;!((s^a)&d);)g=g<<1&A|u(),s=s<<1&A,a=a<<1&A|1;for(;s&~a&f;)g=g&d|g<<1&A>>>1|u(),s=s<<1^d,a=(a^d)<<1|d|1;p=s,w=1+a-s}let y=n-4;return m.map((e=>{switch(e-y){case 3:return y+65792+(t[a++]<<16|t[a++]<<8|t[a++]);case 2:return y+256+(t[a++]<<8|t[a++]);case 1:return y+t[a++];default:return e-1}}))}(t))}function v(t){return 1&t?~t>>1:t>>1}function k(t,e){let r=Array(t);for(let n=0,o=-1;n<t;n++)r[n]=o+=1+e();return r}function b(t,e){let r=Array(t);for(let n=0,o=0;n<t;n++)r[n]=o+=v(e());return r}function E(t,e){let r=k(t(),t),n=t(),o=k(n,t),i=function(t,e){let r=Array(t);for(let n=0;n<t;n++)r[n]=1+e();return r}(n,t);for(let t=0;t<n;t++)for(let e=0;e<i[t];e++)r.push(o[t]+e);return e?r.map((t=>e[t])):r}function N(t,e,r){let n=Array(t).fill(void 0).map((()=>[]));for(let o=0;o<e;o++)b(t,r).forEach(((t,e)=>n[e].push(t)));return n}function B(t,e){let r=1+e(),n=e(),o=function(t){let e=[];for(;;){let r=t();if(0==r)break;e.push(r)}return e}(e);return w(N(o.length,1+t,e).map(((t,e)=>{const i=t[0],s=t.slice(1);return Array(o[e]).fill(void 0).map(((t,e)=>{let o=e*n;return[i+e*r,s.map((t=>t+o))]}))})))}function C(t,e){return N(1+e(),1+t,e).map((t=>[t[0],t.slice(1)]))}const I=y((0,A.D)("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")),T=new Set(E(I)),R=new Set(E(I)),_=function(t){let e=[];for(;;){let r=t();if(0==r)break;e.push(B(r,t))}for(;;){let r=t()-1;if(r<0)break;e.push(C(r,t))}return function(t){const e={};for(let r=0;r<t.length;r++){const n=t[r];e[n[0]]=n[1]}return e}(w(e))}(I),P=function(t){let e=E(t).sort(((t,e)=>t-e));return function r(){let n=[];for(;;){let o=E(t,e);if(0==o.length)break;n.push({set:new Set(o),node:r()})}n.sort(((t,e)=>e.set.size-t.set.size));let o=t(),i=o%3;o=o/3|0;let s=!!(1&o);return o>>=1,{branches:n,valid:i,fe0f:s,save:1==o,check:2==o}}()}(I);function x(t){return(0,l.dg)(t)}function O(t){return t.filter((t=>65039!=t))}function L(t){for(let e of t.split(".")){let t=x(e);try{for(let e=t.lastIndexOf(95)-1;e>=0;e--)if(95!==t[e])throw new Error("underscore only allowed at start");if(t.length>=4&&t.every((t=>t<128))&&45===t[2]&&45===t[3])throw new Error("invalid label extension")}catch(t){throw new Error(`Invalid label "${e}": ${t.message}`)}}return t}function D(t){return L(function(t,e){let r=x(t).reverse(),n=[];for(;r.length;){let t=S(r);if(t){n.push(...e(t));continue}let o=r.pop();if(T.has(o)){n.push(o);continue}if(R.has(o))continue;let i=_[o];if(!i)throw new Error(`Disallowed codepoint: 0x${o.toString(16).toUpperCase()}`);n.push(...i)}return L((o=String.fromCodePoint(...n),o.normalize("NFC")));var o}(t,O))}function S(t,e){var r;let n,o,i=P,s=[],a=t.length;for(e&&(e.length=0);a;){let l=t[--a];if(i=null===(r=i.branches.find((t=>t.set.has(l))))||void 0===r?void 0:r.node,!i)break;if(i.save)o=l;else if(i.check&&l===o)break;s.push(l),i.fe0f&&(s.push(65039),a>0&&65039==t[a-1]&&a--),i.valid&&(n=s.slice(),2==i.valid&&n.splice(1,1),e&&e.push(...t.slice(a).reverse()),t.length=a)}return n}const H=new h.Vy(p.r),F=new Uint8Array(32);function Q(t){if(0===t.length)throw new Error("invalid ENS name; empty component");return t}function U(t){const e=(0,l.YW)(D(t)),r=[];if(0===t.length)return r;let n=0;for(let t=0;t<e.length;t++){46===e[t]&&(r.push(Q(e.slice(n,t))),n=t+1)}if(n>=e.length)throw new Error("invalid ENS name; empty component");return r.push(Q(e.slice(n))),r}function M(t){"string"!=typeof t&&H.throwArgumentError("invalid ENS name; not a string","name",t);let e=F;const r=U(t);for(;r.length;)e=(0,m.S)((0,i.xW)([e,(0,m.S)(r.pop())]));return(0,i.c$)(e)}F.fill(0);var Y=r(93525),q=r(63632),V=r(69674),G=r.n(V),J=r(58908);const K=new h.Vy(d.r);class z{constructor(){this.formats=this.getDefaultFormats()}getDefaultFormats(){const t={},e=this.address.bind(this),r=this.bigNumber.bind(this),n=this.blockTag.bind(this),o=this.data.bind(this),i=this.hash.bind(this),s=this.hex.bind(this),l=this.number.bind(this),c=this.type.bind(this);return t.transaction={hash:i,type:c,accessList:z.allowNull(this.accessList.bind(this),null),blockHash:z.allowNull(i,null),blockNumber:z.allowNull(l,null),transactionIndex:z.allowNull(l,null),confirmations:z.allowNull(l,null),from:e,gasPrice:z.allowNull(r),maxPriorityFeePerGas:z.allowNull(r),maxFeePerGas:z.allowNull(r),gasLimit:r,to:z.allowNull(e,null),value:r,nonce:l,data:o,r:z.allowNull(this.uint256),s:z.allowNull(this.uint256),v:z.allowNull(l),creates:z.allowNull(e,null),raw:z.allowNull(o)},t.transactionRequest={from:z.allowNull(e),nonce:z.allowNull(l),gasLimit:z.allowNull(r),gasPrice:z.allowNull(r),maxPriorityFeePerGas:z.allowNull(r),maxFeePerGas:z.allowNull(r),to:z.allowNull(e),value:z.allowNull(r),data:z.allowNull((t=>this.data(t,!0))),type:z.allowNull(l),accessList:z.allowNull(this.accessList.bind(this),null)},t.receiptLog={transactionIndex:l,blockNumber:l,transactionHash:i,address:e,topics:z.arrayOf(i),data:o,logIndex:l,blockHash:i},t.receipt={to:z.allowNull(this.address,null),from:z.allowNull(this.address,null),contractAddress:z.allowNull(e,null),transactionIndex:l,root:z.allowNull(s),gasUsed:r,logsBloom:z.allowNull(o),blockHash:i,transactionHash:i,logs:z.arrayOf(this.receiptLog.bind(this)),blockNumber:l,confirmations:z.allowNull(l,null),cumulativeGasUsed:r,effectiveGasPrice:z.allowNull(r),status:z.allowNull(l),type:c},t.block={hash:z.allowNull(i),parentHash:i,number:l,timestamp:l,nonce:z.allowNull(s),difficulty:this.difficulty.bind(this),gasLimit:r,gasUsed:r,miner:z.allowNull(e),extraData:o,transactions:z.allowNull(z.arrayOf(i)),baseFeePerGas:z.allowNull(r)},t.blockWithTransactions=(0,a.Ic)(t.block),t.blockWithTransactions.transactions=z.allowNull(z.arrayOf(this.transactionResponse.bind(this))),t.filter={fromBlock:z.allowNull(n,void 0),toBlock:z.allowNull(n,void 0),blockHash:z.allowNull(i,void 0),address:z.allowNull(e,void 0),topics:z.allowNull(this.topics.bind(this),void 0)},t.filterLog={blockNumber:z.allowNull(l),blockHash:z.allowNull(i),transactionIndex:l,removed:z.allowNull(this.boolean.bind(this)),address:e,data:z.allowFalsish(o,"0x"),topics:z.arrayOf(i),transactionHash:i,logIndex:l},t}accessList(t){return(0,c.$2)(t||[])}number(t){return"0x"===t?0:o.gH.from(t).toNumber()}type(t){return"0x"===t||null==t?0:o.gH.from(t).toNumber()}bigNumber(t){return o.gH.from(t)}boolean(t){if("boolean"==typeof t)return t;if("string"==typeof t){if("true"===(t=t.toLowerCase()))return!0;if("false"===t)return!1}throw new Error("invalid boolean - "+t)}hex(t,e){return"string"==typeof t&&(e||"0x"===t.substring(0,2)||(t="0x"+t),(0,i.Lo)(t))?t.toLowerCase():K.throwArgumentError("invalid hash","value",t)}data(t,e){const r=this.hex(t,e);if(r.length%2!=0)throw new Error("invalid data; odd-length - "+t);return r}address(t){return(0,J.bv)(t)}callAddress(t){if(!(0,i.Lo)(t,32))return null;const e=(0,J.bv)((0,i.Ab)(t,12));return"0x0000000000000000000000000000000000000000"===e?null:e}contractAddress(t){return(0,J.RZ)(t)}blockTag(t){if(null==t)return"latest";if("earliest"===t)return"0x0";switch(t){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return t}if("number"==typeof t||(0,i.Lo)(t))return(0,i.Fh)(t);throw new Error("invalid blockTag")}hash(t,e){const r=this.hex(t,e);return 32!==(0,i.cm)(r)?K.throwArgumentError("invalid hash","value",t):r}difficulty(t){if(null==t)return null;const e=o.gH.from(t);try{return e.toNumber()}catch(t){}return null}uint256(t){if(!(0,i.Lo)(t))throw new Error("invalid uint256");return(0,i.bj)(t,32)}_block(t,e){null!=t.author&&null==t.miner&&(t.miner=t.author);const r=null!=t._difficulty?t._difficulty:t.difficulty,n=z.check(e,t);return n._difficulty=null==r?null:o.gH.from(r),n}block(t){return this._block(t,this.formats.block)}blockWithTransactions(t){return this._block(t,this.formats.blockWithTransactions)}transactionRequest(t){return z.check(this.formats.transactionRequest,t)}transactionResponse(t){null!=t.gas&&null==t.gasLimit&&(t.gasLimit=t.gas),t.to&&o.gH.from(t.to).isZero()&&(t.to="0x0000000000000000000000000000000000000000"),null!=t.input&&null==t.data&&(t.data=t.input),null==t.to&&null==t.creates&&(t.creates=this.contractAddress(t)),1!==t.type&&2!==t.type||null!=t.accessList||(t.accessList=[]);const e=z.check(this.formats.transaction,t);if(null!=t.chainId){let r=t.chainId;(0,i.Lo)(r)&&(r=o.gH.from(r).toNumber()),e.chainId=r}else{let r=t.networkId;null==r&&null==e.v&&(r=t.chainId),(0,i.Lo)(r)&&(r=o.gH.from(r).toNumber()),"number"!=typeof r&&null!=e.v&&(r=(e.v-35)/2,r<0&&(r=0),r=parseInt(r)),"number"!=typeof r&&(r=0),e.chainId=r}return e.blockHash&&"x"===e.blockHash.replace(/0/g,"")&&(e.blockHash=null),e}transaction(t){return(0,c.qg)(t)}receiptLog(t){return z.check(this.formats.receiptLog,t)}receipt(t){const e=z.check(this.formats.receipt,t);if(null!=e.root)if(e.root.length<=4){const t=o.gH.from(e.root).toNumber();0===t||1===t?(null!=e.status&&e.status!==t&&K.throwArgumentError("alt-root-status/status mismatch","value",{root:e.root,status:e.status}),e.status=t,delete e.root):K.throwArgumentError("invalid alt-root-status","value.root",e.root)}else 66!==e.root.length&&K.throwArgumentError("invalid root hash","value.root",e.root);return null!=e.status&&(e.byzantium=!0),e}topics(t){return Array.isArray(t)?t.map((t=>this.topics(t))):null!=t?this.hash(t,!0):null}filter(t){return z.check(this.formats.filter,t)}filterLog(t){return z.check(this.formats.filterLog,t)}static check(t,e){const r={};for(const n in t)try{const o=t[n](e[n]);void 0!==o&&(r[n]=o)}catch(t){throw t.checkKey=n,t.checkValue=e[n],t}return r}static allowNull(t,e){return function(r){return null==r?e:t(r)}}static allowFalsish(t,e){return function(r){return r?t(r):e}}static arrayOf(t){return function(e){if(!Array.isArray(e))throw new Error("not an array");const r=[];return e.forEach((function(e){r.push(t(e))})),r}}}var W=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{l(n.next(t))}catch(t){i(t)}}function a(t){try{l(n.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}l((n=n.apply(t,e||[])).next())}))};const j=new h.Vy(d.r);function X(t){return null==t?"null":(32!==(0,i.cm)(t)&&j.throwArgumentError("invalid topic","topic",t),t.toLowerCase())}function Z(t){for(t=t.slice();t.length>0&&null==t[t.length-1];)t.pop();return t.map((t=>{if(Array.isArray(t)){const e={};t.forEach((t=>{e[X(t)]=!0}));const r=Object.keys(e);return r.sort(),r.join("|")}return X(t)})).join("&")}function $(t){if("string"==typeof t){if(t=t.toLowerCase(),32===(0,i.cm)(t))return"tx:"+t;if(-1===t.indexOf(":"))return t}else{if(Array.isArray(t))return"filter:*:"+Z(t);if(f.Rj.isForkEvent(t))throw j.warn("not implemented"),new Error("not implemented");if(t&&"object"==typeof t)return"filter:"+(t.address||"*")+":"+Z(t.topics||[])}throw new Error("invalid event - "+t)}function tt(){return(new Date).getTime()}function et(t){return new Promise((e=>{setTimeout(e,t)}))}const rt=["block","network","pending","poll"];class nt{constructor(t,e,r){(0,a.yY)(this,"tag",t),(0,a.yY)(this,"listener",e),(0,a.yY)(this,"once",r),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const t=this.tag.split(":");return"tx"!==t[0]?null:t[1]}get filter(){const t=this.tag.split(":");if("filter"!==t[0])return null;const e=t[1],r=""===(n=t[2])?[]:n.split(/&/g).map((t=>{if(""===t)return[];const e=t.split("|").map((t=>"null"===t?null:t));return 1===e.length?e[0]:e}));var n;const o={};return r.length>0&&(o.topics=r),e&&"*"!==e&&(o.address=e),o}pollable(){return this.tag.indexOf(":")>=0||rt.indexOf(this.tag)>=0}}const ot={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function it(t){return(0,i.bj)(o.gH.from(t).toHexString(),32)}function st(t){return g.zn.encode((0,i.xW)([t,(0,i.Ab)((0,q.sc)((0,q.sc)(t)),0,4)]))}const at=new RegExp("^(ipfs)://(.*)$","i"),lt=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),at,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function ct(t,e){try{return(0,l._v)(ut(t,e))}catch(t){}return null}function ut(t,e){if("0x"===t)return null;const r=o.gH.from((0,i.Ab)(t,e,e+32)).toNumber(),n=o.gH.from((0,i.Ab)(t,r,r+32)).toNumber();return(0,i.Ab)(t,r+32,r+32+n)}function ht(t){return t.match(/^ipfs:\/\/ipfs\//i)?t=t.substring(12):t.match(/^ipfs:\/\//i)?t=t.substring(7):j.throwArgumentError("unsupported IPFS format","link",t),`https://gateway.ipfs.io/ipfs/${t}`}function dt(t){const e=(0,i.k9)(t);if(e.length>32)throw new Error("internal; should not happen");const r=new Uint8Array(32);return r.set(e,32-e.length),r}function ft(t){if(t.length%32==0)return t;const e=new Uint8Array(32*Math.ceil(t.length/32));return e.set(t),e}function At(t){const e=[];let r=0;for(let n=0;n<t.length;n++)e.push(null),r+=32;for(let n=0;n<t.length;n++){const o=(0,i.k9)(t[n]);e[n]=dt(r),e.push(dt(o.length)),e.push(ft(o)),r+=32+32*Math.ceil(o.length/32)}return(0,i.qn)(e)}class gt{constructor(t,e,r,n){(0,a.yY)(this,"provider",t),(0,a.yY)(this,"name",r),(0,a.yY)(this,"address",t.formatter.address(e)),(0,a.yY)(this,"_resolvedAddress",n)}supportsWildcard(){return this._supportsEip2544||(this._supportsEip2544=this.provider.call({to:this.address,data:"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000"}).then((t=>o.gH.from(t).eq(1))).catch((t=>{if(t.code===h.Vy.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,t}))),this._supportsEip2544}_fetch(t,e){return W(this,void 0,void 0,(function*(){const r={to:this.address,ccipReadEnabled:!0,data:(0,i.qn)([t,M(this.name),e||"0x"])};let n=!1;var o;(yield this.supportsWildcard())&&(n=!0,r.data=(0,i.qn)(["0x9061b923",At([(o=this.name,(0,i.c$)((0,i.xW)(U(o).map((t=>{if(t.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");const e=new Uint8Array(t.length+1);return e.set(t,1),e[0]=e.length-1,e}))))+"00"),r.data])]));try{let t=yield this.provider.call(r);return(0,i.k9)(t).length%32==4&&j.throwError("resolver threw error",h.Vy.errors.CALL_EXCEPTION,{transaction:r,data:t}),n&&(t=ut(t,0)),t}catch(t){if(t.code===h.Vy.errors.CALL_EXCEPTION)return null;throw t}}))}_fetchBytes(t,e){return W(this,void 0,void 0,(function*(){const r=yield this._fetch(t,e);return null!=r?ut(r,0):null}))}_getAddress(t,e){const r=ot[String(t)];if(null==r&&j.throwError(`unsupported coin type: ${t}`,h.Vy.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${t})`}),"eth"===r.ilk)return this.provider.formatter.address(e);const n=(0,i.k9)(e);if(null!=r.p2pkh){const t=e.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(t){const e=parseInt(t[1],16);if(t[2].length===2*e&&e>=1&&e<=75)return st((0,i.xW)([[r.p2pkh],"0x"+t[2]]))}}if(null!=r.p2sh){const t=e.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(t){const e=parseInt(t[1],16);if(t[2].length===2*e&&e>=1&&e<=75)return st((0,i.xW)([[r.p2sh],"0x"+t[2]]))}}if(null!=r.prefix){const t=n[1];let e=n[0];if(0===e?20!==t&&32!==t&&(e=-1):e=-1,e>=0&&n.length===2+t&&t>=1&&t<=75){const t=G().toWords(n.slice(2));return t.unshift(e),G().encode(r.prefix,t)}}return null}getAddress(t){return W(this,void 0,void 0,(function*(){if(null==t&&(t=60),60===t)try{const t=yield this._fetch("0x3b3b57de");return"0x"===t||"0x0000000000000000000000000000000000000000000000000000000000000000"===t?null:this.provider.formatter.callAddress(t)}catch(t){if(t.code===h.Vy.errors.CALL_EXCEPTION)return null;throw t}const e=yield this._fetchBytes("0xf1cb7e06",it(t));if(null==e||"0x"===e)return null;const r=this._getAddress(t,e);return null==r&&j.throwError("invalid or unsupported coin data",h.Vy.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${t})`,coinType:t,data:e}),r}))}getAvatar(){return W(this,void 0,void 0,(function*(){const t=[{type:"name",content:this.name}];try{const e=yield this.getText("avatar");if(null==e)return null;for(let r=0;r<lt.length;r++){const n=e.match(lt[r]);if(null==n)continue;const s=n[1].toLowerCase();switch(s){case"https":return t.push({type:"url",content:e}),{linkage:t,url:e};case"data":return t.push({type:"data",content:e}),{linkage:t,url:e};case"ipfs":return t.push({type:"ipfs",content:e}),{linkage:t,url:ht(e)};case"erc721":case"erc1155":{const r="erc721"===s?"0xc87b56dd":"0x0e89341c";t.push({type:s,content:e});const a=this._resolvedAddress||(yield this.getAddress()),l=(n[2]||"").split("/");if(2!==l.length)return null;const c=yield this.provider.formatter.address(l[0]),h=(0,i.bj)(o.gH.from(l[1]).toHexString(),32);if("erc721"===s){const e=this.provider.formatter.callAddress(yield this.provider.call({to:c,data:(0,i.qn)(["0x6352211e",h])}));if(a!==e)return null;t.push({type:"owner",content:e})}else if("erc1155"===s){const e=o.gH.from(yield this.provider.call({to:c,data:(0,i.qn)(["0x00fdd58e",(0,i.bj)(a,32),h])}));if(e.isZero())return null;t.push({type:"balance",content:e.toString()})}const d={to:this.provider.formatter.address(l[0]),data:(0,i.qn)([r,h])};let f=ct(yield this.provider.call(d),0);if(null==f)return null;t.push({type:"metadata-url-base",content:f}),"erc1155"===s&&(f=f.replace("{id}",h.substring(2)),t.push({type:"metadata-url-expanded",content:f})),f.match(/^ipfs:/i)&&(f=ht(f)),t.push({type:"metadata-url",content:f});const A=yield(0,u.x6)(f);if(!A)return null;t.push({type:"metadata",content:JSON.stringify(A)});let g=A.image;if("string"!=typeof g)return null;if(g.match(/^(https:\/\/|data:)/i));else{if(null==g.match(at))return null;t.push({type:"url-ipfs",content:g}),g=ht(g)}return t.push({type:"url",content:g}),{linkage:t,url:g}}}}}catch(t){}return null}))}getContentHash(){return W(this,void 0,void 0,(function*(){const t=yield this._fetchBytes("0xbc1c58d1");if(null==t||"0x"===t)return null;const e=t.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(e){const t=parseInt(e[3],16);if(e[4].length===2*t)return"ipfs://"+g.zn.encode("0x"+e[1])}const r=t.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(r){const t=parseInt(r[3],16);if(r[4].length===2*t)return"ipns://"+g.zn.encode("0x"+r[1])}const n=t.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(n&&64===n[1].length)return"bzz://"+n[1];const o=t.match(/^0x90b2c605([0-9a-f]*)$/);if(o&&68===o[1].length){const t={"=":"","+":"-","/":"_"};return"sia://"+(0,A.l)("0x"+o[1]).replace(/[=+\/]/g,(e=>t[e]))}return j.throwError("invalid or unsupported content hash data",h.Vy.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:t})}))}getText(t){return W(this,void 0,void 0,(function*(){let e=(0,l.YW)(t);e=(0,i.xW)([it(64),it(e.length),e]),e.length%32!=0&&(e=(0,i.xW)([e,(0,i.bj)("0x",32-t.length%32)]));const r=yield this._fetchBytes("0x59d1d43c",(0,i.c$)(e));return null==r||"0x"===r?null:(0,l._v)(r)}))}}let mt=null,pt=1;class wt extends f.Kq{constructor(t){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),(0,a.yY)(this,"anyNetwork","any"===t),this.anyNetwork&&(t=this.detectNetwork()),t instanceof Promise)this._networkPromise=t,t.catch((t=>{})),this._ready().catch((t=>{}));else{const e=(0,a.$J)(new.target,"getNetwork")(t);e?((0,a.yY)(this,"_network",e),this.emit("network",e,null)):j.throwArgumentError("invalid network","network",t)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return W(this,void 0,void 0,(function*(){if(null==this._network){let t=null;if(this._networkPromise)try{t=yield this._networkPromise}catch(t){}null==t&&(t=yield this.detectNetwork()),t||j.throwError("no network detected",h.Vy.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=t:(0,a.yY)(this,"_network",t),this.emit("network",t,null))}return this._network}))}get ready(){return(0,u.wt)((()=>this._ready().then((t=>t),(t=>{if(t.code!==h.Vy.errors.NETWORK_ERROR||"noNetwork"!==t.event)throw t}))))}static getFormatter(){return null==mt&&(mt=new z),mt}static getNetwork(t){return(0,Y.N)(null==t?"homestead":t)}ccipReadFetch(t,e,r){return W(this,void 0,void 0,(function*(){if(this.disableCcipRead||0===r.length)return null;const n=t.to.toLowerCase(),o=e.toLowerCase(),i=[];for(let t=0;t<r.length;t++){const e=r[t],s=e.replace("{sender}",n).replace("{data}",o),a=e.indexOf("{data}")>=0?null:JSON.stringify({data:o,sender:n}),l=yield(0,u.x6)({url:s,errorPassThrough:!0},a,((t,e)=>(t.status=e.statusCode,t)));if(l.data)return l.data;const c=l.message||"unknown error";if(l.status>=400&&l.status<500)return j.throwError(`response not found during CCIP fetch: ${c}`,h.Vy.errors.SERVER_ERROR,{url:e,errorMessage:c});i.push(c)}return j.throwError(`error encountered during CCIP fetch: ${i.map((t=>JSON.stringify(t))).join(", ")}`,h.Vy.errors.SERVER_ERROR,{urls:r,errorMessages:i})}))}_getInternalBlockNumber(t){return W(this,void 0,void 0,(function*(){if(yield this._ready(),t>0)for(;this._internalBlockNumber;){const e=this._internalBlockNumber;try{const r=yield e;if(tt()-r.respTime<=t)return r.blockNumber;break}catch(t){if(this._internalBlockNumber===e)break}}const e=tt(),r=(0,a.k_)({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((t=>null),(t=>t))}).then((({blockNumber:t,networkError:n})=>{if(n)throw this._internalBlockNumber===r&&(this._internalBlockNumber=null),n;const i=tt();return(t=o.gH.from(t).toNumber())<this._maxInternalBlockNumber&&(t=this._maxInternalBlockNumber),this._maxInternalBlockNumber=t,this._setFastBlockNumber(t),{blockNumber:t,reqTime:e,respTime:i}}));return this._internalBlockNumber=r,r.catch((t=>{this._internalBlockNumber===r&&(this._internalBlockNumber=null)})),(yield r).blockNumber}))}poll(){return W(this,void 0,void 0,(function*(){const t=pt++,e=[];let r=null;try{r=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(t){return void this.emit("error",t)}if(this._setFastBlockNumber(r),this.emit("poll",t,r),r!==this._lastBlockNumber){if(-2===this._emitted.block&&(this._emitted.block=r-1),Math.abs(this._emitted.block-r)>1e3)j.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${r})`),this.emit("error",j.makeError("network block skew detected",h.Vy.errors.NETWORK_ERROR,{blockNumber:r,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",r);else for(let t=this._emitted.block+1;t<=r;t++)this.emit("block",t);this._emitted.block!==r&&(this._emitted.block=r,Object.keys(this._emitted).forEach((t=>{if("block"===t)return;const e=this._emitted[t];"pending"!==e&&r-e>12&&delete this._emitted[t]}))),-2===this._lastBlockNumber&&(this._lastBlockNumber=r-1),this._events.forEach((t=>{switch(t.type){case"tx":{const r=t.hash;let n=this.getTransactionReceipt(r).then((t=>t&&null!=t.blockNumber?(this._emitted["t:"+r]=t.blockNumber,this.emit(r,t),null):null)).catch((t=>{this.emit("error",t)}));e.push(n);break}case"filter":if(!t._inflight){t._inflight=!0,-2===t._lastBlockNumber&&(t._lastBlockNumber=r-1);const n=t.filter;n.fromBlock=t._lastBlockNumber+1,n.toBlock=r;const o=n.toBlock-this._maxFilterBlockRange;o>n.fromBlock&&(n.fromBlock=o),n.fromBlock<0&&(n.fromBlock=0);const i=this.getLogs(n).then((e=>{t._inflight=!1,0!==e.length&&e.forEach((e=>{e.blockNumber>t._lastBlockNumber&&(t._lastBlockNumber=e.blockNumber),this._emitted[