superstack-wallet-sdk 0.6.5 → 0.6.6

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.cjs CHANGED
@@ -1,15 +1,15 @@
1
- "use strict";var e=require("axios"),t=require("@solana/web3.js"),n=require("bs58"),r=require("uuid"),o=require("react"),s=require("lucide-react"),a=require("qs");function i(e){return e&&e.__esModule?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var u,l,d,f,h,p,m,g,b,y,w=i(e),v=i(n),x=i(o),E=c(a);function P(e){return"version"in e}"undefined"!=typeof globalThis&&void 0===globalThis.globalThis&&(globalThis.global=globalThis),exports.Network=void 0,(u=exports.Network||(exports.Network={})).Solana="Solana",u.Ethereum="Ethereum",exports.WalletType=void 0,(l=exports.WalletType||(exports.WalletType={})).Phantom="Phantom",l.Embedded="Embedded",exports.SocialType=void 0,(d=exports.SocialType||(exports.SocialType={})).Google="Google",d.Twitter="Twitter",d.Telegram="Telegram",d.Apple="Apple",exports.AccountMode=void 0,(f=exports.AccountMode||(exports.AccountMode={})).Basic="Basic",f.Advanced="Advanced",f.Unified="Unified",exports.VaultId=void 0,(h=exports.VaultId||(exports.VaultId={})).HyperbeatUltraHype="HyperbeatUltraHype",h.HyperbeatUltraUbtc="HyperbeatUltraUbtc",h.HyperbeatUsdt="HyperbeatUsdt",h.HyperbeatUsdc="HyperbeatUsdc",h.HyperbeatXaut="HyperbeatXaut",h.VentualsVlp="VentualsVlp",h.DnHype="DnHype",h.DnPump="DnPump",exports.LighterOrderSide=void 0,(p=exports.LighterOrderSide||(exports.LighterOrderSide={})).Buy="buy",p.Sell="sell",exports.LighterOrderType=void 0,(m=exports.LighterOrderType||(exports.LighterOrderType={})).Limit="limit",m.Market="market",m.StopLoss="stop_loss",m.StopLossLimit="stop_loss_limit",m.TakeProfit="take_profit",m.TakeProfitLimit="take_profit_limit",m.Twap="twap",m.TwapSub="twap_sub",exports.LighterTimeInForce=void 0,(g=exports.LighterTimeInForce||(exports.LighterTimeInForce={})).ImmediateOrCancel="immediate_or_cancel",g.GoodTillTime="good_till_time",g.PostOnly="post_only",exports.LighterMarginMode=void 0,(b=exports.LighterMarginMode||(exports.LighterMarginMode={})).Cross="cross",b.Isolated="isolated",exports.LighterGroupingType=void 0,(y=exports.LighterGroupingType||(exports.LighterGroupingType={})).Default="default",y.OneTriggersTheOther="one_triggers_the_other",y.OneCancelsTheOther="one_cancels_the_other",y.OneTriggersAOneCancelsTheOther="one_triggers_a_one_cancels_the_other";const k="embedded_wallet_state",A="superstack_wallet_type",I="superstack_backup_wallet_type",S="embedded_wallet_access_token",N="backup_wallet_info",T="is_google_auth_bind";class ${static saveState(e,t){const n={accessToken:e,socials:t,lastConnected:Date.now()};localStorage.setItem(k,JSON.stringify(n))}static saveAccessToken(e){localStorage.setItem(S,e)}static saveWalletType(e){localStorage.setItem(A,e)}static saveBackupWalletType(e){localStorage.setItem(I,e)}static saveBackupWalletInfo(e){localStorage.setItem(N,JSON.stringify(e))}static saveIsGoogleAuthBind(e){localStorage.setItem(T,JSON.stringify(e))}static getWalletType(){return localStorage.getItem(A)}static getBackupWalletType(){return localStorage.getItem(I)}static getIsGoogleAuthBind(){const e=localStorage.getItem(T);return e?JSON.parse(e):null}static getState(){try{const e=localStorage.getItem(k);if(!e)return null;const t=JSON.parse(e);return Date.now()-t.lastConnected<6048e5?t:(this.clear(),null)}catch(e){return null}}static getSocials(){try{const e=localStorage.getItem(k);if(!e)return null;return JSON.parse(e).socials}catch(e){return null}}static getAccessToken(){return localStorage.getItem(S)}static getBackupWalletInfo(){try{const e=localStorage.getItem(N);return e?JSON.parse(e):null}catch(e){return null}}static clear(){localStorage.removeItem(k),localStorage.removeItem(A),localStorage.removeItem(S),localStorage.removeItem(I)}static clearBackup(){localStorage.removeItem(I),localStorage.removeItem(N)}}function B(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var C={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}function o(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function s(e,t,r,s,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var i=new o(r,s||e,a),c=n?n+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],i]:e._events[c].push(i):(e._events[c]=i,e._eventsCount++),e}function a(e,t){0===--e._eventsCount?e._events=new r:delete e._events[t]}function i(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),i.prototype.eventNames=function(){var e,r,o=[];if(0===this._eventsCount)return o;for(r in e=this._events)t.call(e,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},i.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,s=r.length,a=new Array(s);o<s;o++)a[o]=r[o].fn;return a},i.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},i.prototype.emit=function(e,t,r,o,s,a){var i=n?n+e:e;if(!this._events[i])return!1;var c,u,l=this._events[i],d=arguments.length;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),d){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,t),!0;case 3:return l.fn.call(l.context,t,r),!0;case 4:return l.fn.call(l.context,t,r,o),!0;case 5:return l.fn.call(l.context,t,r,o,s),!0;case 6:return l.fn.call(l.context,t,r,o,s,a),!0}for(u=1,c=new Array(d-1);u<d;u++)c[u-1]=arguments[u];l.fn.apply(l.context,c)}else{var f,h=l.length;for(u=0;u<h;u++)switch(l[u].once&&this.removeListener(e,l[u].fn,void 0,!0),d){case 1:l[u].fn.call(l[u].context);break;case 2:l[u].fn.call(l[u].context,t);break;case 3:l[u].fn.call(l[u].context,t,r);break;case 4:l[u].fn.call(l[u].context,t,r,o);break;default:if(!c)for(f=1,c=new Array(d-1);f<d;f++)c[f-1]=arguments[f];l[u].fn.apply(l[u].context,c)}}return!0},i.prototype.on=function(e,t,n){return s(this,e,t,n,!1)},i.prototype.once=function(e,t,n){return s(this,e,t,n,!0)},i.prototype.removeListener=function(e,t,r,o){var s=n?n+e:e;if(!this._events[s])return this;if(!t)return a(this,s),this;var i=this._events[s];if(i.fn)i.fn!==t||o&&!i.once||r&&i.context!==r||a(this,s);else{for(var c=0,u=[],l=i.length;c<l;c++)(i[c].fn!==t||o&&!i[c].once||r&&i[c].context!==r)&&u.push(i[c]);u.length?this._events[s]=1===u.length?u[0]:u:a(this,s)}return this},i.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&a(this,t)):(this._events=new r,this._eventsCount=0),this},i.prototype.off=i.prototype.removeListener,i.prototype.addListener=i.prototype.on,i.prefixed=n,i.EventEmitter=i,e.exports=i}(C);var O,_=B(C.exports);class R extends Error{constructor(e,t){super(e),this.error=t}}class z extends R{constructor(){super(...arguments),this.name="WalletNotReadyError"}}class M extends R{constructor(){super(...arguments),this.name="WalletConnectionError"}}class L extends R{constructor(){super(...arguments),this.name="WalletDisconnectedError"}}class F extends R{constructor(){super(...arguments),this.name="WalletDisconnectionError"}}class j extends R{constructor(){super(...arguments),this.name="WalletAccountError"}}class U extends R{constructor(){super(...arguments),this.name="WalletPublicKeyError"}}class D extends R{constructor(){super(...arguments),this.name="WalletNotConnectedError"}}class G extends R{constructor(){super(...arguments),this.name="WalletSendTransactionError"}}class q extends R{constructor(){super(...arguments),this.name="WalletSignTransactionError"}}class V extends R{constructor(){super(...arguments),this.name="WalletSignMessageError"}}!function(e){e.Installed="Installed",e.NotDetected="NotDetected",e.Loadable="Loadable",e.Unsupported="Unsupported"}(O||(O={}));class W extends _{get connected(){return!!this.publicKey}async autoConnect(){await this.connect()}async prepareTransaction(e,t,n={}){const r=this.publicKey;if(!r)throw new D;return e.feePayer=e.feePayer||r,e.recentBlockhash=e.recentBlockhash||(await t.getLatestBlockhash({commitment:n.preflightCommitment,minContextSlot:n.minContextSlot})).blockhash,e}}function H(e){return"version"in e}class Y extends W{async sendTransaction(e,t,n={}){let r=!0;try{if(H(e)){if(!this.supportedTransactionVersions)throw new G("Sending versioned transactions isn't supported by this wallet");if(!this.supportedTransactionVersions.has(e.version))throw new G(`Sending transaction version ${e.version} isn't supported by this wallet`);try{const r=(e=await this.signTransaction(e)).serialize();return await t.sendRawTransaction(r,n)}catch(e){if(e instanceof q)throw r=!1,e;throw new G(e?.message,e)}}else try{const{signers:r,...o}=n;e=await this.prepareTransaction(e,t,o),r?.length&&e.partialSign(...r);const s=(e=await this.signTransaction(e)).serialize();return await t.sendRawTransaction(s,o)}catch(e){if(e instanceof q)throw r=!1,e;throw new G(e?.message,e)}}catch(e){throw r&&this.emit("error",e),e}}async signAllTransactions(e){for(const t of e)if(H(t)){if(!this.supportedTransactionVersions)throw new q("Signing versioned transactions isn't supported by this wallet");if(!this.supportedTransactionVersions.has(t.version))throw new q(`Signing transaction version ${t.version} isn't supported by this wallet`)}const t=[];for(const n of e)t.push(await this.signTransaction(n));return t}}class Z extends Y{}class K extends Z{constructor(e={}){super(),this.name="Phantom",this.url="https://phantom.app",this.icon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDgiIGhlaWdodD0iMTA4IiB2aWV3Qm94PSIwIDAgMTA4IDEwOCIgZmlsbD0ibm9uZSI+CjxyZWN0IHdpZHRoPSIxMDgiIGhlaWdodD0iMTA4IiByeD0iMjYiIGZpbGw9IiNBQjlGRjIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Ni41MjY3IDY5LjkyMjlDNDIuMDA1NCA3Ni44NTA5IDM0LjQyOTIgODUuNjE4MiAyNC4zNDggODUuNjE4MkMxOS41ODI0IDg1LjYxODIgMTUgODMuNjU2MyAxNSA3NS4xMzQyQzE1IDUzLjQzMDUgNDQuNjMyNiAxOS44MzI3IDcyLjEyNjggMTkuODMyN0M4Ny43NjggMTkuODMyNyA5NCAzMC42ODQ2IDk0IDQzLjAwNzlDOTQgNTguODI1OCA4My43MzU1IDc2LjkxMjIgNzMuNTMyMSA3Ni45MTIyQzcwLjI5MzkgNzYuOTEyMiA2OC43MDUzIDc1LjEzNDIgNjguNzA1MyA3Mi4zMTRDNjguNzA1MyA3MS41NzgzIDY4LjgyNzUgNzAuNzgxMiA2OS4wNzE5IDY5LjkyMjlDNjUuNTg5MyA3NS44Njk5IDU4Ljg2ODUgODEuMzg3OCA1Mi41NzU0IDgxLjM4NzhDNDcuOTkzIDgxLjM4NzggNDUuNjcxMyA3OC41MDYzIDQ1LjY3MTMgNzQuNDU5OEM0NS42NzEzIDcyLjk4ODQgNDUuOTc2OCA3MS40NTU2IDQ2LjUyNjcgNjkuOTIyOVpNODMuNjc2MSA0Mi41Nzk0QzgzLjY3NjEgNDYuMTcwNCA4MS41NTc1IDQ3Ljk2NTggNzkuMTg3NSA0Ny45NjU4Qzc2Ljc4MTYgNDcuOTY1OCA3NC42OTg5IDQ2LjE3MDQgNzQuNjk4OSA0Mi41Nzk0Qzc0LjY5ODkgMzguOTg4NSA3Ni43ODE2IDM3LjE5MzEgNzkuMTg3NSAzNy4xOTMxQzgxLjU1NzUgMzcuMTkzMSA4My42NzYxIDM4Ljk4ODUgODMuNjc2MSA0Mi41Nzk0Wk03MC4yMTAzIDQyLjU3OTVDNzAuMjEwMyA0Ni4xNzA0IDY4LjA5MTYgNDcuOTY1OCA2NS43MjE2IDQ3Ljk2NThDNjMuMzE1NyA0Ny45NjU4IDYxLjIzMyA0Ni4xNzA0IDYxLjIzMyA0Mi41Nzk1QzYxLjIzMyAzOC45ODg1IDYzLjMxNTcgMzcuMTkzMSA2NS43MjE2IDM3LjE5MzFDNjguMDkxNiAzNy4xOTMxIDcwLjIxMDMgMzguOTg4NSA3MC4yMTAzIDQyLjU3OTVaIiBmaWxsPSIjRkZGREY4Ii8+Cjwvc3ZnPg==",this.supportedTransactionVersions=new Set(["legacy",0]),this._readyState="undefined"==typeof window||"undefined"==typeof document?O.Unsupported:O.NotDetected,this._disconnected=()=>{const e=this._wallet;e&&(e.off("disconnect",this._disconnected),e.off("accountChanged",this._accountChanged),this._wallet=null,this._publicKey=null,this.emit("error",new L),this.emit("disconnect"))},this._accountChanged=e=>{const n=this._publicKey;if(n){try{e=new t.PublicKey(e.toBytes())}catch(e){return void this.emit("error",new U(null==e?void 0:e.message,e))}n.equals(e)||(this._publicKey=e,this.emit("connect",e))}},this._connecting=!1,this._wallet=null,this._publicKey=null,this._readyState!==O.Unsupported&&(function(){if(!navigator)return!1;const e=navigator.userAgent.toLowerCase(),t=e.includes("iphone")||e.includes("ipad"),n=e.includes("safari");return t&&n}()?(this._readyState=O.Loadable,this.emit("readyStateChange",this._readyState)):function(e){if("undefined"==typeof window||"undefined"==typeof document)return;const t=[];function n(){if(e())for(const e of t)e()}const r=setInterval(n,1e3);t.push(()=>clearInterval(r)),"loading"===document.readyState&&(document.addEventListener("DOMContentLoaded",n,{once:!0}),t.push(()=>document.removeEventListener("DOMContentLoaded",n))),"complete"!==document.readyState&&(window.addEventListener("load",n,{once:!0}),t.push(()=>window.removeEventListener("load",n))),n()}(()=>{var e,t,n;return!(!(null===(t=null===(e=window.phantom)||void 0===e?void 0:e.solana)||void 0===t?void 0:t.isPhantom)&&!(null===(n=window.solana)||void 0===n?void 0:n.isPhantom))&&(this._readyState=O.Installed,this.emit("readyStateChange",this._readyState),!0)}))}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get readyState(){return this._readyState}async autoConnect(){this.readyState===O.Installed&&await this.connect()}async connect(){var e;try{if(this.connected||this.connecting)return;if(this.readyState===O.Loadable){const e=encodeURIComponent(window.location.href),t=encodeURIComponent(window.location.origin);return void(window.location.href=`https://phantom.app/ul/browse/${e}?ref=${t}`)}if(this.readyState!==O.Installed)throw new z;this._connecting=!0;const n=(null===(e=window.phantom)||void 0===e?void 0:e.solana)||window.solana;if(!n.isConnected)try{await n.connect()}catch(e){throw new M(null==e?void 0:e.message,e)}if(!n.publicKey)throw new j;let r;try{r=new t.PublicKey(n.publicKey.toBytes())}catch(e){throw new U(null==e?void 0:e.message,e)}n.on("disconnect",this._disconnected),n.on("accountChanged",this._accountChanged),this._wallet=n,this._publicKey=r,this.emit("connect",r)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){const e=this._wallet;if(e){e.off("disconnect",this._disconnected),e.off("accountChanged",this._accountChanged),this._wallet=null,this._publicKey=null;try{await e.disconnect()}catch(e){this.emit("error",new F(null==e?void 0:e.message,e))}}this.emit("disconnect")}async sendTransaction(e,t,n={}){try{const r=this._wallet;if(!r)throw new D;try{const{signers:o,...s}=n;H(e)?(null==o?void 0:o.length)&&e.sign(o):(e=await this.prepareTransaction(e,t,s),(null==o?void 0:o.length)&&e.partialSign(...o)),s.preflightCommitment=s.preflightCommitment||t.commitment;const{signature:a}=await r.signAndSendTransaction(e,s);return a}catch(e){if(e instanceof R)throw e;throw new G(null==e?void 0:e.message,e)}}catch(e){throw this.emit("error",e),e}}async signTransaction(e){try{const t=this._wallet;if(!t)throw new D;try{return await t.signTransaction(e)||e}catch(e){throw new q(null==e?void 0:e.message,e)}}catch(e){throw this.emit("error",e),e}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new D;try{return await t.signAllTransactions(e)||e}catch(e){throw new q(null==e?void 0:e.message,e)}}catch(e){throw this.emit("error",e),e}}async signMessage(e){try{const t=this._wallet;if(!t)throw new D;try{const{signature:n}=await t.signMessage(e);return n}catch(e){throw new V(null==e?void 0:e.message,e)}}catch(e){throw this.emit("error",e),e}}}let J=class e extends Error{constructor(t,n={}){const r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,o=n.cause instanceof e&&n.cause.docsPath||n.docsPath;super([t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...o?[`Docs: https://abitype.dev${o}`]:[],...r?[`Details: ${r}`]:[],"Version: abitype@1.1.0"].join("\n")),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=o,this.metaMessages=n.metaMessages,this.shortMessage=t}};function Q(e,t){const n=e.exec(t);return n?.groups}const X=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,ee=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,te=/^\(.+?\).*?$/,ne=/^tuple(?<array>(\[(\d*)\])*)$/;function re(e){let t=e.type;if(ne.test(e.type)&&"components"in e){t="(";const n=e.components.length;for(let r=0;r<n;r++){t+=re(e.components[r]),r<n-1&&(t+=", ")}const r=Q(ne,e.type);return t+=`)${r?.array??""}`,re({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function oe(e){let t="";const n=e.length;for(let r=0;r<n;r++){t+=re(e[r]),r!==n-1&&(t+=", ")}return t}function se(e){return"function"===e.type?`function ${e.name}(${oe(e.inputs)})${e.stateMutability&&"nonpayable"!==e.stateMutability?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${oe(e.outputs)})`:""}`:"event"===e.type?`event ${e.name}(${oe(e.inputs)})`:"error"===e.type?`error ${e.name}(${oe(e.inputs)})`:"constructor"===e.type?`constructor(${oe(e.inputs)})${"payable"===e.stateMutability?" payable":""}`:"fallback"===e.type?"fallback() external"+("payable"===e.stateMutability?" payable":""):"receive() external payable"}const ae=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;const ie=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;const ce=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;const ue=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function le(e){return ue.test(e)}function de(e){return Q(ue,e)}const fe=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;const he=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;const pe=/^receive\(\) external payable$/;const me=new Set(["memory","indexed","storage","calldata"]),ge=new Set(["indexed"]),be=new Set(["calldata","memory","storage"]);class ye extends J{constructor({signature:e}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}}class we extends J{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}}class ve extends J{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}class xe extends J{constructor({params:e}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}}class Ee extends J{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class Pe extends J{constructor({param:e,name:t}){super("Invalid ABI parameter.",{details:e,metaMessages:[`"${t}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}}class ke extends J{constructor({param:e,type:t,modifier:n}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${n}" not allowed${t?` in "${t}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class Ae extends J{constructor({param:e,type:t,modifier:n}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${n}" not allowed${t?` in "${t}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${n}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}}class Ie extends J{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}class Se extends J{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class Ne extends J{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class Te extends J{constructor({signature:e}){super("Invalid struct signature.",{details:e,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}class $e extends J{constructor({type:e}){super("Circular reference detected.",{metaMessages:[`Struct "${e}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}class Be extends J{constructor({current:e,depth:t}){super("Unbalanced parentheses.",{metaMessages:[`"${e.trim()}" has too many ${t>0?"opening":"closing"} parentheses.`],details:`Depth "${t}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}const Ce=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function Oe(e,t={}){if(function(e){return ce.test(e)}(e))return function(e,t={}){const n=function(e){return Q(ce,e)}(e);if(!n)throw new Se({signature:e,type:"function"});const r=Le(n.parameters),o=[],s=r.length;for(let e=0;e<s;e++)o.push(Me(r[e],{modifiers:be,structs:t,type:"function"}));const a=[];if(n.returns){const e=Le(n.returns),r=e.length;for(let n=0;n<r;n++)a.push(Me(e[n],{modifiers:be,structs:t,type:"function"}))}return{name:n.name,type:"function",stateMutability:n.stateMutability??"nonpayable",inputs:o,outputs:a}}(e,t);if(function(e){return ie.test(e)}(e))return function(e,t={}){const n=function(e){return Q(ie,e)}(e);if(!n)throw new Se({signature:e,type:"event"});const r=Le(n.parameters),o=[],s=r.length;for(let e=0;e<s;e++)o.push(Me(r[e],{modifiers:ge,structs:t,type:"event"}));return{name:n.name,type:"event",inputs:o}}(e,t);if(function(e){return ae.test(e)}(e))return function(e,t={}){const n=function(e){return Q(ae,e)}(e);if(!n)throw new Se({signature:e,type:"error"});const r=Le(n.parameters),o=[],s=r.length;for(let e=0;e<s;e++)o.push(Me(r[e],{structs:t,type:"error"}));return{name:n.name,type:"error",inputs:o}}(e,t);if(function(e){return fe.test(e)}(e))return function(e,t={}){const n=function(e){return Q(fe,e)}(e);if(!n)throw new Se({signature:e,type:"constructor"});const r=Le(n.parameters),o=[],s=r.length;for(let e=0;e<s;e++)o.push(Me(r[e],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:n.stateMutability??"nonpayable",inputs:o}}(e,t);if(function(e){return he.test(e)}(e))return function(e){const t=function(e){return Q(he,e)}(e);if(!t)throw new Se({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}(e);if(function(e){return pe.test(e)}(e))return{type:"receive",stateMutability:"payable"};throw new Ne({signature:e})}const _e=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Re=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,ze=/^u?int$/;function Me(e,t){const n=function(e,t,n){let r="";if(n)for(const e of Object.entries(n)){if(!e)continue;let t="";for(const n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:""}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:e}(e,t?.type,t?.structs);if(Ce.has(n))return Ce.get(n);const r=te.test(e),o=Q(r?Re:_e,e);if(!o)throw new Ee({param:e});if(o.name&&function(e){return"address"===e||"bool"===e||"function"===e||"string"===e||"tuple"===e||X.test(e)||ee.test(e)||je.test(e)}(o.name))throw new Pe({param:e,name:o.name});const s=o.name?{name:o.name}:{},a="indexed"===o.modifier?{indexed:!0}:{},i=t?.structs??{};let c,u={};if(r){c="tuple";const e=Le(o.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(Me(e[r],{structs:i}));u={components:t}}else if(o.type in i)c="tuple",u={components:i[o.type]};else if(ze.test(o.type))c=`${o.type}256`;else if("address payable"===o.type)c="address";else if(c=o.type,"struct"!==t?.type&&!Fe(c))throw new ve({type:c});if(o.modifier){if(!t?.modifiers?.has?.(o.modifier))throw new ke({param:e,type:t?.type,modifier:o.modifier});if(be.has(o.modifier)&&!function(e,t){return t||"bytes"===e||"string"===e||"tuple"===e}(c,!!o.array))throw new Ae({param:e,type:t?.type,modifier:o.modifier})}const l={type:`${c}${o.array??""}`,...s,...a,...u};return Ce.set(n,l),l}function Le(e,t=[],n="",r=0){const o=e.trim().length;for(let s=0;s<o;s++){const o=e[s],a=e.slice(s+1);switch(o){case",":return 0===r?Le(a,[...t,n.trim()]):Le(a,t,`${n}${o}`,r);case"(":return Le(a,t,`${n}${o}`,r+1);case")":return Le(a,t,`${n}${o}`,r-1);default:return Le(a,t,`${n}${o}`,r)}}if(""===n)return t;if(0!==r)throw new Be({current:n,depth:r});return t.push(n.trim()),t}function Fe(e){return"address"===e||"bool"===e||"function"===e||"string"===e||X.test(e)||ee.test(e)}const je=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function Ue(e){const t={},n=e.length;for(let r=0;r<n;r++){const n=e[r];if(!le(n))continue;const o=de(n);if(!o)throw new Se({signature:n,type:"struct"});const s=o.properties.split(";"),a=[],i=s.length;for(let e=0;e<i;e++){const t=s[e].trim();if(!t)continue;const n=Me(t,{type:"struct"});a.push(n)}if(!a.length)throw new Te({signature:n});t[o.name]=a}const r={},o=Object.entries(t),s=o.length;for(let e=0;e<s;e++){const[n,s]=o[e];r[n]=Ge(s,t)}return r}const De=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function Ge(e,t,n=new Set){const r=[],o=e.length;for(let s=0;s<o;s++){const o=e[s];if(te.test(o.type))r.push(o);else{const e=Q(De,o.type);if(!e?.type)throw new Ie({abiParameter:o});const{array:s,type:a}=e;if(a in t){if(n.has(a))throw new $e({type:a});r.push({...o,type:`tuple${s??""}`,components:Ge(t[a]??[],t,new Set([...n,a]))})}else{if(!Fe(a))throw new we({type:a});r.push(o)}}}return r}function qe(e){const t=Ue(e),n=[],r=e.length;for(let o=0;o<r;o++){const r=e[o];le(r)||n.push(Oe(r,t))}return n}function Ve(e){let t;if("string"==typeof e)t=Oe(e);else{const n=Ue(e),r=e.length;for(let o=0;o<r;o++){const r=e[o];if(!le(r)){t=Oe(r,n);break}}}if(!t)throw new ye({signature:e});return t}function We(e){const t=[];if("string"==typeof e){const n=Le(e),r=n.length;for(let e=0;e<r;e++)t.push(Me(n[e],{modifiers:me}))}else{const n=Ue(e),r=e.length;for(let o=0;o<r;o++){const r=e[o];if(le(r))continue;const s=Le(r),a=s.length;for(let e=0;e<a;e++)t.push(Me(s[e],{modifiers:me,structs:n}))}}if(0===t.length)throw new xe({params:e});return t}function He(e,t,n){const r=e[t.name];if("function"==typeof r)return r;const o=e[n];return"function"==typeof o?o:n=>t(e,n)}function Ye(e,{includeName:t=!1}={}){if("function"!==e.type&&"event"!==e.type&&"error"!==e.type)throw new It(e.type);return`${e.name}(${Ze(e.inputs,{includeName:t})})`}function Ze(e,{includeName:t=!1}={}){return e?e.map(e=>function(e,{includeName:t}){if(e.type.startsWith("tuple"))return`(${Ze(e.components,{includeName:t})})${e.type.slice(5)}`;return e.type+(t&&e.name?` ${e.name}`:"")}(e,{includeName:t})).join(t?", ":","):""}function Ke(e,{strict:t=!0}={}){return!!e&&("string"==typeof e&&(t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")))}function Je(e){return Ke(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}const Qe="2.37.8";let Xe=({docsBaseUrl:e,docsPath:t="",docsSlug:n})=>t?`${e??"https://viem.sh"}${t}${n?`#${n}`:""}`:void 0,et=`viem@${Qe}`,tt=class e extends Error{constructor(t,n={}){const r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,o=n.cause instanceof e&&n.cause.docsPath||n.docsPath,s=Xe?.({...n,docsPath:o});super([t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...r?[`Details: ${r}`]:[],...et?[`Version: ${et}`]:[]].join("\n"),n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=r,this.docsPath=o,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Qe}walk(e){return nt(this,e)}};function nt(e,t){return t?.(e)?e:e&&"object"==typeof e&&"cause"in e&&void 0!==e.cause?nt(e.cause,t):t?null:e}class rt extends tt{constructor({docsPath:e}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join("\n"),{docsPath:e,name:"AbiConstructorNotFoundError"})}}class ot extends tt{constructor({docsPath:e}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join("\n"),{docsPath:e,name:"AbiConstructorParamsNotFoundError"})}}class st extends tt{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join("\n"),{metaMessages:[`Params: (${Ze(t,{includeName:!0})})`,`Data: ${e} (${n} bytes)`],name:"AbiDecodingDataSizeTooSmallError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e,this.params=t,this.size=n}}class at extends tt{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}}class it extends tt{constructor({expectedLength:e,givenLength:t,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${t}`].join("\n"),{name:"AbiEncodingArrayLengthMismatchError"})}}class ct extends tt{constructor({expectedSize:e,value:t}){super(`Size of bytes "${t}" (bytes${Je(t)}) does not match expected size (bytes${e}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class ut extends tt{constructor({expectedLength:e,givenLength:t}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${e}`,`Given length (values): ${t}`].join("\n"),{name:"AbiEncodingLengthMismatchError"})}}class lt extends tt{constructor(e,{docsPath:t}){super([`Arguments (\`args\`) were provided to "${e}", but "${e}" on the ABI does not contain any parameters (\`inputs\`).`,"Cannot encode error result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the inputs exist on it."].join("\n"),{docsPath:t,name:"AbiErrorInputsNotFoundError"})}}class dt extends tt{constructor(e,{docsPath:t}={}){super([`Error ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join("\n"),{docsPath:t,name:"AbiErrorNotFoundError"})}}class ft extends tt{constructor(e,{docsPath:t}){super([`Encoded error signature "${e}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${e}.`].join("\n"),{docsPath:t,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}}class ht extends tt{constructor({docsPath:e}){super("Cannot extract event signature from empty topics.",{docsPath:e,name:"AbiEventSignatureEmptyTopicsError"})}}class pt extends tt{constructor(e,{docsPath:t}){super([`Encoded event signature "${e}" not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${e}.`].join("\n"),{docsPath:t,name:"AbiEventSignatureNotFoundError"})}}class mt extends tt{constructor(e,{docsPath:t}={}){super([`Event ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join("\n"),{docsPath:t,name:"AbiEventNotFoundError"})}}class gt extends tt{constructor(e,{docsPath:t}={}){super([`Function ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join("\n"),{docsPath:t,name:"AbiFunctionNotFoundError"})}}class bt extends tt{constructor(e,{docsPath:t}){super([`Function "${e}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join("\n"),{docsPath:t,name:"AbiFunctionOutputsNotFoundError"})}}class yt extends tt{constructor(e,{docsPath:t}){super([`Encoded function signature "${e}" not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${e}.`].join("\n"),{docsPath:t,name:"AbiFunctionSignatureNotFoundError"})}}class wt extends tt{constructor(e,t){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${e.type}\` in \`${Ye(e.abiItem)}\`, and`,`\`${t.type}\` in \`${Ye(t.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}let vt=class extends tt{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:"BytesSizeMismatchError"})}};class xt extends tt{constructor({abiItem:e,data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for non-indexed event parameters.`].join("\n"),{metaMessages:[`Params: (${Ze(n,{includeName:!0})})`,`Data: ${t} (${r} bytes)`],name:"DecodeLogDataMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e,this.data=t,this.params=n,this.size=r}}class Et extends tt{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` "${t.name}"`:""} on event "${Ye(e,{includeName:!0})}".`].join("\n"),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}}class Pt extends tt{constructor(e,{docsPath:t}){super([`Type "${e}" is not a valid encoding type.`,"Please provide a valid ABI type."].join("\n"),{docsPath:t,name:"InvalidAbiEncodingType"})}}class kt extends tt{constructor(e,{docsPath:t}){super([`Type "${e}" is not a valid decoding type.`,"Please provide a valid ABI type."].join("\n"),{docsPath:t,name:"InvalidAbiDecodingType"})}}let At=class extends tt{constructor(e){super([`Value "${e}" is not a valid array.`].join("\n"),{name:"InvalidArrayError"})}};class It extends tt{constructor(e){super([`"${e}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join("\n"),{name:"InvalidDefinitionTypeError"})}}class St extends tt{constructor(e){super(`Filter type "${e}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}let Nt=class extends tt{constructor({offset:e,position:t,size:n}){super(`Slice ${"start"===t?"starting":"ending"} at offset "${e}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}},Tt=class extends tt{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:"SizeExceedsPaddingSizeError"})}};class $t extends tt{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${t} ${n} long, but is ${e} ${n} long.`,{name:"InvalidBytesLengthError"})}}function Bt(e,{dir:t,size:n=32}={}){return"string"==typeof e?Ct(e,{dir:t,size:n}):function(e,{dir:t,size:n=32}={}){if(null===n)return e;if(e.length>n)throw new Tt({size:e.length,targetSize:n,type:"bytes"});const r=new Uint8Array(n);for(let o=0;o<n;o++){const s="right"===t;r[s?o:n-o-1]=e[s?o:e.length-o-1]}return r}(e,{dir:t,size:n})}function Ct(e,{dir:t,size:n=32}={}){if(null===n)return e;const r=e.replace("0x","");if(r.length>2*n)throw new Tt({size:Math.ceil(r.length/2),targetSize:n,type:"hex"});return`0x${r["right"===t?"padEnd":"padStart"](2*n,"0")}`}let Ot=class extends tt{constructor({max:e,min:t,signed:n,size:r,value:o}){super(`Number "${o}" is not in safe ${r?`${8*r}-bit ${n?"signed":"unsigned"} `:""}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:"IntegerOutOfRangeError"})}},_t=class extends tt{constructor(e){super(`Bytes value "${e}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}};class Rt extends tt{constructor(e){super(`Hex value "${e}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}}let zt=class extends tt{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}};function Mt(e,{dir:t="left"}={}){let n="string"==typeof e?e.replace("0x",""):e,r=0;for(let e=0;e<n.length-1&&"0"===n["left"===t?e:n.length-e-1].toString();e++)r++;return n="left"===t?n.slice(r):n.slice(0,n.length-r),"string"==typeof e?(1===n.length&&"right"===t&&(n=`${n}0`),`0x${n.length%2==1?`0${n}`:n}`):n}function Lt(e,{size:t}){if(Je(e)>t)throw new zt({givenSize:Je(e),maxSize:t})}function Ft(e,t={}){const{signed:n}=t;t.size&&Lt(e,{size:t.size});const r=BigInt(e);if(!n)return r;const o=(e.length-2)/2;return r<=(1n<<8n*BigInt(o)-1n)-1n?r:r-BigInt(`0x${"f".padStart(2*o,"f")}`)-1n}function jt(e,t={}){return Number(Ft(e,t))}const Ut=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Dt(e,t={}){return"number"==typeof e||"bigint"==typeof e?Vt(e,t):"string"==typeof e?Ht(e,t):"boolean"==typeof e?Gt(e,t):qt(e,t)}function Gt(e,t={}){const n=`0x${Number(e)}`;return"number"==typeof t.size?(Lt(n,{size:t.size}),Bt(n,{size:t.size})):n}function qt(e,t={}){let n="";for(let t=0;t<e.length;t++)n+=Ut[e[t]];const r=`0x${n}`;return"number"==typeof t.size?(Lt(r,{size:t.size}),Bt(r,{dir:"right",size:t.size})):r}function Vt(e,t={}){const{signed:n,size:r}=t,o=BigInt(e);let s;r?s=n?(1n<<8n*BigInt(r)-1n)-1n:2n**(8n*BigInt(r))-1n:"number"==typeof e&&(s=BigInt(Number.MAX_SAFE_INTEGER));const a="bigint"==typeof s&&n?-s-1n:0;if(s&&o>s||o<a){const t="bigint"==typeof e?"n":"";throw new Ot({max:s?`${s}${t}`:void 0,min:`${a}${t}`,signed:n,size:r,value:`${e}${t}`})}const i=`0x${(n&&o<0?(1n<<BigInt(8*r))+BigInt(o):o).toString(16)}`;return r?Bt(i,{size:r}):i}const Wt=new TextEncoder;function Ht(e,t={}){return qt(Wt.encode(e),t)}const Yt=new TextEncoder;function Zt(e,t={}){return"number"==typeof e||"bigint"==typeof e?function(e,t){const n=Vt(e,t);return Qt(n)}(e,t):"boolean"==typeof e?function(e,t={}){const n=new Uint8Array(1);if(n[0]=Number(e),"number"==typeof t.size)return Lt(n,{size:t.size}),Bt(n,{size:t.size});return n}(e,t):Ke(e)?Qt(e,t):Xt(e,t)}const Kt={zero:48,nine:57,A:65,F:70,a:97,f:102};function Jt(e){return e>=Kt.zero&&e<=Kt.nine?e-Kt.zero:e>=Kt.A&&e<=Kt.F?e-(Kt.A-10):e>=Kt.a&&e<=Kt.f?e-(Kt.a-10):void 0}function Qt(e,t={}){let n=e;t.size&&(Lt(n,{size:t.size}),n=Bt(n,{dir:"right",size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);const o=r.length/2,s=new Uint8Array(o);for(let e=0,t=0;e<o;e++){const n=Jt(r.charCodeAt(t++)),o=Jt(r.charCodeAt(t++));if(void 0===n||void 0===o)throw new tt(`Invalid byte sequence ("${r[t-2]}${r[t-1]}" in "${r}").`);s[e]=16*n+o}return s}function Xt(e,t={}){const n=Yt.encode(e);return"number"==typeof t.size?(Lt(n,{size:t.size}),Bt(n,{dir:"right",size:t.size})):n}const en=BigInt(2**32-1),tn=BigInt(32);function nn(e,t=!1){return t?{h:Number(e&en),l:Number(e>>tn&en)}:{h:0|Number(e>>tn&en),l:0|Number(e&en)}}const rn="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;function on(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function sn(e,...t){if(!((n=e)instanceof Uint8Array||ArrayBuffer.isView(n)&&"Uint8Array"===n.constructor.name))throw new Error("Uint8Array expected");
1
+ "use strict";var e=require("axios"),t=require("@solana/web3.js"),n=require("bs58"),r=require("uuid"),o=require("react"),s=require("lucide-react"),a=require("qs");function i(e){return e&&e.__esModule?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var u,l,d,f,h,p,m,g,b,y,w=i(e),v=i(n),x=i(o),E=c(a);function P(e){return"version"in e}"undefined"!=typeof globalThis&&void 0===globalThis.globalThis&&(globalThis.global=globalThis),exports.Network=void 0,(u=exports.Network||(exports.Network={})).Solana="Solana",u.Ethereum="Ethereum",exports.WalletType=void 0,(l=exports.WalletType||(exports.WalletType={})).Phantom="Phantom",l.Embedded="Embedded",exports.SocialType=void 0,(d=exports.SocialType||(exports.SocialType={})).Google="Google",d.Twitter="Twitter",d.Telegram="Telegram",d.Apple="Apple",exports.AccountMode=void 0,(f=exports.AccountMode||(exports.AccountMode={})).Basic="Basic",f.Advanced="Advanced",f.Unified="Unified",exports.VaultId=void 0,(h=exports.VaultId||(exports.VaultId={})).HyperbeatUltraHype="HyperbeatUltraHype",h.HyperbeatUltraUbtc="HyperbeatUltraUbtc",h.HyperbeatUsdt="HyperbeatUsdt",h.HyperbeatUsdc="HyperbeatUsdc",h.HyperbeatXaut="HyperbeatXaut",h.VentualsVlp="VentualsVlp",h.DnHype="DnHype",h.DnPump="DnPump",exports.LighterOrderSide=void 0,(p=exports.LighterOrderSide||(exports.LighterOrderSide={})).Buy="buy",p.Sell="sell",exports.LighterOrderType=void 0,(m=exports.LighterOrderType||(exports.LighterOrderType={})).Limit="limit",m.Market="market",m.StopLoss="stop_loss",m.StopLossLimit="stop_loss_limit",m.TakeProfit="take_profit",m.TakeProfitLimit="take_profit_limit",m.Twap="twap",m.TwapSub="twap_sub",exports.LighterTimeInForce=void 0,(g=exports.LighterTimeInForce||(exports.LighterTimeInForce={})).ImmediateOrCancel="immediate_or_cancel",g.GoodTillTime="good_till_time",g.PostOnly="post_only",exports.LighterMarginMode=void 0,(b=exports.LighterMarginMode||(exports.LighterMarginMode={})).Cross="cross",b.Isolated="isolated",exports.LighterGroupingType=void 0,(y=exports.LighterGroupingType||(exports.LighterGroupingType={})).Default="default",y.OneTriggersTheOther="one_triggers_the_other",y.OneCancelsTheOther="one_cancels_the_other",y.OneTriggersAOneCancelsTheOther="one_triggers_a_one_cancels_the_other";const k="embedded_wallet_state",A="superstack_wallet_type",I="superstack_backup_wallet_type",S="embedded_wallet_access_token",N="backup_wallet_info",T="is_google_auth_bind";class ${static saveState(e,t){const n={accessToken:e,socials:t,lastConnected:Date.now()};localStorage.setItem(k,JSON.stringify(n))}static saveAccessToken(e){localStorage.setItem(S,e)}static saveWalletType(e){localStorage.setItem(A,e)}static saveBackupWalletType(e){localStorage.setItem(I,e)}static saveBackupWalletInfo(e){localStorage.setItem(N,JSON.stringify(e))}static saveIsGoogleAuthBind(e){localStorage.setItem(T,JSON.stringify(e))}static getWalletType(){return localStorage.getItem(A)}static getBackupWalletType(){return localStorage.getItem(I)}static getIsGoogleAuthBind(){const e=localStorage.getItem(T);return e?JSON.parse(e):null}static getState(){try{const e=localStorage.getItem(k);if(!e)return null;const t=JSON.parse(e);return Date.now()-t.lastConnected<6048e5?t:(this.clear(),null)}catch(e){return null}}static getSocials(){try{const e=localStorage.getItem(k);if(!e)return null;return JSON.parse(e).socials}catch(e){return null}}static getAccessToken(){return localStorage.getItem(S)}static getBackupWalletInfo(){try{const e=localStorage.getItem(N);return e?JSON.parse(e):null}catch(e){return null}}static clear(){localStorage.removeItem(k),localStorage.removeItem(A),localStorage.removeItem(S),localStorage.removeItem(I)}static clearBackup(){localStorage.removeItem(I),localStorage.removeItem(N)}}function B(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var C={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}function o(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function s(e,t,r,s,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var i=new o(r,s||e,a),c=n?n+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],i]:e._events[c].push(i):(e._events[c]=i,e._eventsCount++),e}function a(e,t){0===--e._eventsCount?e._events=new r:delete e._events[t]}function i(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),i.prototype.eventNames=function(){var e,r,o=[];if(0===this._eventsCount)return o;for(r in e=this._events)t.call(e,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},i.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,s=r.length,a=new Array(s);o<s;o++)a[o]=r[o].fn;return a},i.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},i.prototype.emit=function(e,t,r,o,s,a){var i=n?n+e:e;if(!this._events[i])return!1;var c,u,l=this._events[i],d=arguments.length;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),d){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,t),!0;case 3:return l.fn.call(l.context,t,r),!0;case 4:return l.fn.call(l.context,t,r,o),!0;case 5:return l.fn.call(l.context,t,r,o,s),!0;case 6:return l.fn.call(l.context,t,r,o,s,a),!0}for(u=1,c=new Array(d-1);u<d;u++)c[u-1]=arguments[u];l.fn.apply(l.context,c)}else{var f,h=l.length;for(u=0;u<h;u++)switch(l[u].once&&this.removeListener(e,l[u].fn,void 0,!0),d){case 1:l[u].fn.call(l[u].context);break;case 2:l[u].fn.call(l[u].context,t);break;case 3:l[u].fn.call(l[u].context,t,r);break;case 4:l[u].fn.call(l[u].context,t,r,o);break;default:if(!c)for(f=1,c=new Array(d-1);f<d;f++)c[f-1]=arguments[f];l[u].fn.apply(l[u].context,c)}}return!0},i.prototype.on=function(e,t,n){return s(this,e,t,n,!1)},i.prototype.once=function(e,t,n){return s(this,e,t,n,!0)},i.prototype.removeListener=function(e,t,r,o){var s=n?n+e:e;if(!this._events[s])return this;if(!t)return a(this,s),this;var i=this._events[s];if(i.fn)i.fn!==t||o&&!i.once||r&&i.context!==r||a(this,s);else{for(var c=0,u=[],l=i.length;c<l;c++)(i[c].fn!==t||o&&!i[c].once||r&&i[c].context!==r)&&u.push(i[c]);u.length?this._events[s]=1===u.length?u[0]:u:a(this,s)}return this},i.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&a(this,t)):(this._events=new r,this._eventsCount=0),this},i.prototype.off=i.prototype.removeListener,i.prototype.addListener=i.prototype.on,i.prefixed=n,i.EventEmitter=i,e.exports=i}(C);var O,_=B(C.exports);class R extends Error{constructor(e,t){super(e),this.error=t}}class z extends R{constructor(){super(...arguments),this.name="WalletNotReadyError"}}class M extends R{constructor(){super(...arguments),this.name="WalletConnectionError"}}class F extends R{constructor(){super(...arguments),this.name="WalletDisconnectedError"}}class L extends R{constructor(){super(...arguments),this.name="WalletDisconnectionError"}}class j extends R{constructor(){super(...arguments),this.name="WalletAccountError"}}class U extends R{constructor(){super(...arguments),this.name="WalletPublicKeyError"}}class D extends R{constructor(){super(...arguments),this.name="WalletNotConnectedError"}}class G extends R{constructor(){super(...arguments),this.name="WalletSendTransactionError"}}class q extends R{constructor(){super(...arguments),this.name="WalletSignTransactionError"}}class V extends R{constructor(){super(...arguments),this.name="WalletSignMessageError"}}!function(e){e.Installed="Installed",e.NotDetected="NotDetected",e.Loadable="Loadable",e.Unsupported="Unsupported"}(O||(O={}));class W extends _{get connected(){return!!this.publicKey}async autoConnect(){await this.connect()}async prepareTransaction(e,t,n={}){const r=this.publicKey;if(!r)throw new D;return e.feePayer=e.feePayer||r,e.recentBlockhash=e.recentBlockhash||(await t.getLatestBlockhash({commitment:n.preflightCommitment,minContextSlot:n.minContextSlot})).blockhash,e}}function H(e){return"version"in e}class Y extends W{async sendTransaction(e,t,n={}){let r=!0;try{if(H(e)){if(!this.supportedTransactionVersions)throw new G("Sending versioned transactions isn't supported by this wallet");if(!this.supportedTransactionVersions.has(e.version))throw new G(`Sending transaction version ${e.version} isn't supported by this wallet`);try{const r=(e=await this.signTransaction(e)).serialize();return await t.sendRawTransaction(r,n)}catch(e){if(e instanceof q)throw r=!1,e;throw new G(e?.message,e)}}else try{const{signers:r,...o}=n;e=await this.prepareTransaction(e,t,o),r?.length&&e.partialSign(...r);const s=(e=await this.signTransaction(e)).serialize();return await t.sendRawTransaction(s,o)}catch(e){if(e instanceof q)throw r=!1,e;throw new G(e?.message,e)}}catch(e){throw r&&this.emit("error",e),e}}async signAllTransactions(e){for(const t of e)if(H(t)){if(!this.supportedTransactionVersions)throw new q("Signing versioned transactions isn't supported by this wallet");if(!this.supportedTransactionVersions.has(t.version))throw new q(`Signing transaction version ${t.version} isn't supported by this wallet`)}const t=[];for(const n of e)t.push(await this.signTransaction(n));return t}}class Z extends Y{}class K extends Z{constructor(e={}){super(),this.name="Phantom",this.url="https://phantom.app",this.icon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDgiIGhlaWdodD0iMTA4IiB2aWV3Qm94PSIwIDAgMTA4IDEwOCIgZmlsbD0ibm9uZSI+CjxyZWN0IHdpZHRoPSIxMDgiIGhlaWdodD0iMTA4IiByeD0iMjYiIGZpbGw9IiNBQjlGRjIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00Ni41MjY3IDY5LjkyMjlDNDIuMDA1NCA3Ni44NTA5IDM0LjQyOTIgODUuNjE4MiAyNC4zNDggODUuNjE4MkMxOS41ODI0IDg1LjYxODIgMTUgODMuNjU2MyAxNSA3NS4xMzQyQzE1IDUzLjQzMDUgNDQuNjMyNiAxOS44MzI3IDcyLjEyNjggMTkuODMyN0M4Ny43NjggMTkuODMyNyA5NCAzMC42ODQ2IDk0IDQzLjAwNzlDOTQgNTguODI1OCA4My43MzU1IDc2LjkxMjIgNzMuNTMyMSA3Ni45MTIyQzcwLjI5MzkgNzYuOTEyMiA2OC43MDUzIDc1LjEzNDIgNjguNzA1MyA3Mi4zMTRDNjguNzA1MyA3MS41NzgzIDY4LjgyNzUgNzAuNzgxMiA2OS4wNzE5IDY5LjkyMjlDNjUuNTg5MyA3NS44Njk5IDU4Ljg2ODUgODEuMzg3OCA1Mi41NzU0IDgxLjM4NzhDNDcuOTkzIDgxLjM4NzggNDUuNjcxMyA3OC41MDYzIDQ1LjY3MTMgNzQuNDU5OEM0NS42NzEzIDcyLjk4ODQgNDUuOTc2OCA3MS40NTU2IDQ2LjUyNjcgNjkuOTIyOVpNODMuNjc2MSA0Mi41Nzk0QzgzLjY3NjEgNDYuMTcwNCA4MS41NTc1IDQ3Ljk2NTggNzkuMTg3NSA0Ny45NjU4Qzc2Ljc4MTYgNDcuOTY1OCA3NC42OTg5IDQ2LjE3MDQgNzQuNjk4OSA0Mi41Nzk0Qzc0LjY5ODkgMzguOTg4NSA3Ni43ODE2IDM3LjE5MzEgNzkuMTg3NSAzNy4xOTMxQzgxLjU1NzUgMzcuMTkzMSA4My42NzYxIDM4Ljk4ODUgODMuNjc2MSA0Mi41Nzk0Wk03MC4yMTAzIDQyLjU3OTVDNzAuMjEwMyA0Ni4xNzA0IDY4LjA5MTYgNDcuOTY1OCA2NS43MjE2IDQ3Ljk2NThDNjMuMzE1NyA0Ny45NjU4IDYxLjIzMyA0Ni4xNzA0IDYxLjIzMyA0Mi41Nzk1QzYxLjIzMyAzOC45ODg1IDYzLjMxNTcgMzcuMTkzMSA2NS43MjE2IDM3LjE5MzFDNjguMDkxNiAzNy4xOTMxIDcwLjIxMDMgMzguOTg4NSA3MC4yMTAzIDQyLjU3OTVaIiBmaWxsPSIjRkZGREY4Ii8+Cjwvc3ZnPg==",this.supportedTransactionVersions=new Set(["legacy",0]),this._readyState="undefined"==typeof window||"undefined"==typeof document?O.Unsupported:O.NotDetected,this._disconnected=()=>{const e=this._wallet;e&&(e.off("disconnect",this._disconnected),e.off("accountChanged",this._accountChanged),this._wallet=null,this._publicKey=null,this.emit("error",new F),this.emit("disconnect"))},this._accountChanged=e=>{const n=this._publicKey;if(n){try{e=new t.PublicKey(e.toBytes())}catch(e){return void this.emit("error",new U(null==e?void 0:e.message,e))}n.equals(e)||(this._publicKey=e,this.emit("connect",e))}},this._connecting=!1,this._wallet=null,this._publicKey=null,this._readyState!==O.Unsupported&&(function(){if(!navigator)return!1;const e=navigator.userAgent.toLowerCase(),t=e.includes("iphone")||e.includes("ipad"),n=e.includes("safari");return t&&n}()?(this._readyState=O.Loadable,this.emit("readyStateChange",this._readyState)):function(e){if("undefined"==typeof window||"undefined"==typeof document)return;const t=[];function n(){if(e())for(const e of t)e()}const r=setInterval(n,1e3);t.push(()=>clearInterval(r)),"loading"===document.readyState&&(document.addEventListener("DOMContentLoaded",n,{once:!0}),t.push(()=>document.removeEventListener("DOMContentLoaded",n))),"complete"!==document.readyState&&(window.addEventListener("load",n,{once:!0}),t.push(()=>window.removeEventListener("load",n))),n()}(()=>{var e,t,n;return!(!(null===(t=null===(e=window.phantom)||void 0===e?void 0:e.solana)||void 0===t?void 0:t.isPhantom)&&!(null===(n=window.solana)||void 0===n?void 0:n.isPhantom))&&(this._readyState=O.Installed,this.emit("readyStateChange",this._readyState),!0)}))}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get readyState(){return this._readyState}async autoConnect(){this.readyState===O.Installed&&await this.connect()}async connect(){var e;try{if(this.connected||this.connecting)return;if(this.readyState===O.Loadable){const e=encodeURIComponent(window.location.href),t=encodeURIComponent(window.location.origin);return void(window.location.href=`https://phantom.app/ul/browse/${e}?ref=${t}`)}if(this.readyState!==O.Installed)throw new z;this._connecting=!0;const n=(null===(e=window.phantom)||void 0===e?void 0:e.solana)||window.solana;if(!n.isConnected)try{await n.connect()}catch(e){throw new M(null==e?void 0:e.message,e)}if(!n.publicKey)throw new j;let r;try{r=new t.PublicKey(n.publicKey.toBytes())}catch(e){throw new U(null==e?void 0:e.message,e)}n.on("disconnect",this._disconnected),n.on("accountChanged",this._accountChanged),this._wallet=n,this._publicKey=r,this.emit("connect",r)}catch(e){throw this.emit("error",e),e}finally{this._connecting=!1}}async disconnect(){const e=this._wallet;if(e){e.off("disconnect",this._disconnected),e.off("accountChanged",this._accountChanged),this._wallet=null,this._publicKey=null;try{await e.disconnect()}catch(e){this.emit("error",new L(null==e?void 0:e.message,e))}}this.emit("disconnect")}async sendTransaction(e,t,n={}){try{const r=this._wallet;if(!r)throw new D;try{const{signers:o,...s}=n;H(e)?(null==o?void 0:o.length)&&e.sign(o):(e=await this.prepareTransaction(e,t,s),(null==o?void 0:o.length)&&e.partialSign(...o)),s.preflightCommitment=s.preflightCommitment||t.commitment;const{signature:a}=await r.signAndSendTransaction(e,s);return a}catch(e){if(e instanceof R)throw e;throw new G(null==e?void 0:e.message,e)}}catch(e){throw this.emit("error",e),e}}async signTransaction(e){try{const t=this._wallet;if(!t)throw new D;try{return await t.signTransaction(e)||e}catch(e){throw new q(null==e?void 0:e.message,e)}}catch(e){throw this.emit("error",e),e}}async signAllTransactions(e){try{const t=this._wallet;if(!t)throw new D;try{return await t.signAllTransactions(e)||e}catch(e){throw new q(null==e?void 0:e.message,e)}}catch(e){throw this.emit("error",e),e}}async signMessage(e){try{const t=this._wallet;if(!t)throw new D;try{const{signature:n}=await t.signMessage(e);return n}catch(e){throw new V(null==e?void 0:e.message,e)}}catch(e){throw this.emit("error",e),e}}}let J=class e extends Error{constructor(t,n={}){const r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,o=n.cause instanceof e&&n.cause.docsPath||n.docsPath;super([t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...o?[`Docs: https://abitype.dev${o}`]:[],...r?[`Details: ${r}`]:[],"Version: abitype@1.1.0"].join("\n")),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=o,this.metaMessages=n.metaMessages,this.shortMessage=t}};function Q(e,t){const n=e.exec(t);return n?.groups}const X=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,ee=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,te=/^\(.+?\).*?$/,ne=/^tuple(?<array>(\[(\d*)\])*)$/;function re(e){let t=e.type;if(ne.test(e.type)&&"components"in e){t="(";const n=e.components.length;for(let r=0;r<n;r++){t+=re(e.components[r]),r<n-1&&(t+=", ")}const r=Q(ne,e.type);return t+=`)${r?.array??""}`,re({...e,type:t})}return"indexed"in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function oe(e){let t="";const n=e.length;for(let r=0;r<n;r++){t+=re(e[r]),r!==n-1&&(t+=", ")}return t}function se(e){return"function"===e.type?`function ${e.name}(${oe(e.inputs)})${e.stateMutability&&"nonpayable"!==e.stateMutability?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${oe(e.outputs)})`:""}`:"event"===e.type?`event ${e.name}(${oe(e.inputs)})`:"error"===e.type?`error ${e.name}(${oe(e.inputs)})`:"constructor"===e.type?`constructor(${oe(e.inputs)})${"payable"===e.stateMutability?" payable":""}`:"fallback"===e.type?"fallback() external"+("payable"===e.stateMutability?" payable":""):"receive() external payable"}const ae=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;const ie=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;const ce=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;const ue=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function le(e){return ue.test(e)}function de(e){return Q(ue,e)}const fe=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;const he=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;const pe=/^receive\(\) external payable$/;const me=new Set(["memory","indexed","storage","calldata"]),ge=new Set(["indexed"]),be=new Set(["calldata","memory","storage"]);class ye extends J{constructor({signature:e}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"})}}class we extends J{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}}class ve extends J{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}class xe extends J{constructor({params:e}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}}class Ee extends J{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class Pe extends J{constructor({param:e,name:t}){super("Invalid ABI parameter.",{details:e,metaMessages:[`"${t}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}}class ke extends J{constructor({param:e,type:t,modifier:n}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${n}" not allowed${t?` in "${t}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class Ae extends J{constructor({param:e,type:t,modifier:n}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${n}" not allowed${t?` in "${t}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${n}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}}class Ie extends J{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}class Se extends J{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class Ne extends J{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class Te extends J{constructor({signature:e}){super("Invalid struct signature.",{details:e,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}class $e extends J{constructor({type:e}){super("Circular reference detected.",{metaMessages:[`Struct "${e}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}class Be extends J{constructor({current:e,depth:t}){super("Unbalanced parentheses.",{metaMessages:[`"${e.trim()}" has too many ${t>0?"opening":"closing"} parentheses.`],details:`Depth "${t}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}const Ce=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function Oe(e,t={}){if(function(e){return ce.test(e)}(e))return function(e,t={}){const n=function(e){return Q(ce,e)}(e);if(!n)throw new Se({signature:e,type:"function"});const r=Fe(n.parameters),o=[],s=r.length;for(let e=0;e<s;e++)o.push(Me(r[e],{modifiers:be,structs:t,type:"function"}));const a=[];if(n.returns){const e=Fe(n.returns),r=e.length;for(let n=0;n<r;n++)a.push(Me(e[n],{modifiers:be,structs:t,type:"function"}))}return{name:n.name,type:"function",stateMutability:n.stateMutability??"nonpayable",inputs:o,outputs:a}}(e,t);if(function(e){return ie.test(e)}(e))return function(e,t={}){const n=function(e){return Q(ie,e)}(e);if(!n)throw new Se({signature:e,type:"event"});const r=Fe(n.parameters),o=[],s=r.length;for(let e=0;e<s;e++)o.push(Me(r[e],{modifiers:ge,structs:t,type:"event"}));return{name:n.name,type:"event",inputs:o}}(e,t);if(function(e){return ae.test(e)}(e))return function(e,t={}){const n=function(e){return Q(ae,e)}(e);if(!n)throw new Se({signature:e,type:"error"});const r=Fe(n.parameters),o=[],s=r.length;for(let e=0;e<s;e++)o.push(Me(r[e],{structs:t,type:"error"}));return{name:n.name,type:"error",inputs:o}}(e,t);if(function(e){return fe.test(e)}(e))return function(e,t={}){const n=function(e){return Q(fe,e)}(e);if(!n)throw new Se({signature:e,type:"constructor"});const r=Fe(n.parameters),o=[],s=r.length;for(let e=0;e<s;e++)o.push(Me(r[e],{structs:t,type:"constructor"}));return{type:"constructor",stateMutability:n.stateMutability??"nonpayable",inputs:o}}(e,t);if(function(e){return he.test(e)}(e))return function(e){const t=function(e){return Q(he,e)}(e);if(!t)throw new Se({signature:e,type:"fallback"});return{type:"fallback",stateMutability:t.stateMutability??"nonpayable"}}(e);if(function(e){return pe.test(e)}(e))return{type:"receive",stateMutability:"payable"};throw new Ne({signature:e})}const _e=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Re=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,ze=/^u?int$/;function Me(e,t){const n=function(e,t,n){let r="";if(n)for(const e of Object.entries(n)){if(!e)continue;let t="";for(const n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:""}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:e}(e,t?.type,t?.structs);if(Ce.has(n))return Ce.get(n);const r=te.test(e),o=Q(r?Re:_e,e);if(!o)throw new Ee({param:e});if(o.name&&function(e){return"address"===e||"bool"===e||"function"===e||"string"===e||"tuple"===e||X.test(e)||ee.test(e)||je.test(e)}(o.name))throw new Pe({param:e,name:o.name});const s=o.name?{name:o.name}:{},a="indexed"===o.modifier?{indexed:!0}:{},i=t?.structs??{};let c,u={};if(r){c="tuple";const e=Fe(o.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(Me(e[r],{structs:i}));u={components:t}}else if(o.type in i)c="tuple",u={components:i[o.type]};else if(ze.test(o.type))c=`${o.type}256`;else if("address payable"===o.type)c="address";else if(c=o.type,"struct"!==t?.type&&!Le(c))throw new ve({type:c});if(o.modifier){if(!t?.modifiers?.has?.(o.modifier))throw new ke({param:e,type:t?.type,modifier:o.modifier});if(be.has(o.modifier)&&!function(e,t){return t||"bytes"===e||"string"===e||"tuple"===e}(c,!!o.array))throw new Ae({param:e,type:t?.type,modifier:o.modifier})}const l={type:`${c}${o.array??""}`,...s,...a,...u};return Ce.set(n,l),l}function Fe(e,t=[],n="",r=0){const o=e.trim().length;for(let s=0;s<o;s++){const o=e[s],a=e.slice(s+1);switch(o){case",":return 0===r?Fe(a,[...t,n.trim()]):Fe(a,t,`${n}${o}`,r);case"(":return Fe(a,t,`${n}${o}`,r+1);case")":return Fe(a,t,`${n}${o}`,r-1);default:return Fe(a,t,`${n}${o}`,r)}}if(""===n)return t;if(0!==r)throw new Be({current:n,depth:r});return t.push(n.trim()),t}function Le(e){return"address"===e||"bool"===e||"function"===e||"string"===e||X.test(e)||ee.test(e)}const je=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function Ue(e){const t={},n=e.length;for(let r=0;r<n;r++){const n=e[r];if(!le(n))continue;const o=de(n);if(!o)throw new Se({signature:n,type:"struct"});const s=o.properties.split(";"),a=[],i=s.length;for(let e=0;e<i;e++){const t=s[e].trim();if(!t)continue;const n=Me(t,{type:"struct"});a.push(n)}if(!a.length)throw new Te({signature:n});t[o.name]=a}const r={},o=Object.entries(t),s=o.length;for(let e=0;e<s;e++){const[n,s]=o[e];r[n]=Ge(s,t)}return r}const De=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function Ge(e,t,n=new Set){const r=[],o=e.length;for(let s=0;s<o;s++){const o=e[s];if(te.test(o.type))r.push(o);else{const e=Q(De,o.type);if(!e?.type)throw new Ie({abiParameter:o});const{array:s,type:a}=e;if(a in t){if(n.has(a))throw new $e({type:a});r.push({...o,type:`tuple${s??""}`,components:Ge(t[a]??[],t,new Set([...n,a]))})}else{if(!Le(a))throw new we({type:a});r.push(o)}}}return r}function qe(e){const t=Ue(e),n=[],r=e.length;for(let o=0;o<r;o++){const r=e[o];le(r)||n.push(Oe(r,t))}return n}function Ve(e){let t;if("string"==typeof e)t=Oe(e);else{const n=Ue(e),r=e.length;for(let o=0;o<r;o++){const r=e[o];if(!le(r)){t=Oe(r,n);break}}}if(!t)throw new ye({signature:e});return t}function We(e){const t=[];if("string"==typeof e){const n=Fe(e),r=n.length;for(let e=0;e<r;e++)t.push(Me(n[e],{modifiers:me}))}else{const n=Ue(e),r=e.length;for(let o=0;o<r;o++){const r=e[o];if(le(r))continue;const s=Fe(r),a=s.length;for(let e=0;e<a;e++)t.push(Me(s[e],{modifiers:me,structs:n}))}}if(0===t.length)throw new xe({params:e});return t}function He(e,t,n){const r=e[t.name];if("function"==typeof r)return r;const o=e[n];return"function"==typeof o?o:n=>t(e,n)}function Ye(e,{includeName:t=!1}={}){if("function"!==e.type&&"event"!==e.type&&"error"!==e.type)throw new It(e.type);return`${e.name}(${Ze(e.inputs,{includeName:t})})`}function Ze(e,{includeName:t=!1}={}){return e?e.map(e=>function(e,{includeName:t}){if(e.type.startsWith("tuple"))return`(${Ze(e.components,{includeName:t})})${e.type.slice(5)}`;return e.type+(t&&e.name?` ${e.name}`:"")}(e,{includeName:t})).join(t?", ":","):""}function Ke(e,{strict:t=!0}={}){return!!e&&("string"==typeof e&&(t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")))}function Je(e){return Ke(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}const Qe="2.37.8";let Xe=({docsBaseUrl:e,docsPath:t="",docsSlug:n})=>t?`${e??"https://viem.sh"}${t}${n?`#${n}`:""}`:void 0,et=`viem@${Qe}`,tt=class e extends Error{constructor(t,n={}){const r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,o=n.cause instanceof e&&n.cause.docsPath||n.docsPath,s=Xe?.({...n,docsPath:o});super([t||"An error occurred.","",...n.metaMessages?[...n.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...r?[`Details: ${r}`]:[],...et?[`Version: ${et}`]:[]].join("\n"),n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=r,this.docsPath=o,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Qe}walk(e){return nt(this,e)}};function nt(e,t){return t?.(e)?e:e&&"object"==typeof e&&"cause"in e&&void 0!==e.cause?nt(e.cause,t):t?null:e}class rt extends tt{constructor({docsPath:e}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join("\n"),{docsPath:e,name:"AbiConstructorNotFoundError"})}}class ot extends tt{constructor({docsPath:e}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join("\n"),{docsPath:e,name:"AbiConstructorParamsNotFoundError"})}}class st extends tt{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join("\n"),{metaMessages:[`Params: (${Ze(t,{includeName:!0})})`,`Data: ${e} (${n} bytes)`],name:"AbiDecodingDataSizeTooSmallError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e,this.params=t,this.size=n}}class at extends tt{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.',{name:"AbiDecodingZeroDataError"})}}class it extends tt{constructor({expectedLength:e,givenLength:t,type:n}){super([`ABI encoding array length mismatch for type ${n}.`,`Expected length: ${e}`,`Given length: ${t}`].join("\n"),{name:"AbiEncodingArrayLengthMismatchError"})}}class ct extends tt{constructor({expectedSize:e,value:t}){super(`Size of bytes "${t}" (bytes${Je(t)}) does not match expected size (bytes${e}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class ut extends tt{constructor({expectedLength:e,givenLength:t}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${e}`,`Given length (values): ${t}`].join("\n"),{name:"AbiEncodingLengthMismatchError"})}}class lt extends tt{constructor(e,{docsPath:t}){super([`Arguments (\`args\`) were provided to "${e}", but "${e}" on the ABI does not contain any parameters (\`inputs\`).`,"Cannot encode error result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the inputs exist on it."].join("\n"),{docsPath:t,name:"AbiErrorInputsNotFoundError"})}}class dt extends tt{constructor(e,{docsPath:t}={}){super([`Error ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it."].join("\n"),{docsPath:t,name:"AbiErrorNotFoundError"})}}class ft extends tt{constructor(e,{docsPath:t}){super([`Encoded error signature "${e}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${e}.`].join("\n"),{docsPath:t,name:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}}class ht extends tt{constructor({docsPath:e}){super("Cannot extract event signature from empty topics.",{docsPath:e,name:"AbiEventSignatureEmptyTopicsError"})}}class pt extends tt{constructor(e,{docsPath:t}){super([`Encoded event signature "${e}" not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${e}.`].join("\n"),{docsPath:t,name:"AbiEventSignatureNotFoundError"})}}class mt extends tt{constructor(e,{docsPath:t}={}){super([`Event ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join("\n"),{docsPath:t,name:"AbiEventNotFoundError"})}}class gt extends tt{constructor(e,{docsPath:t}={}){super([`Function ${e?`"${e}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join("\n"),{docsPath:t,name:"AbiFunctionNotFoundError"})}}class bt extends tt{constructor(e,{docsPath:t}){super([`Function "${e}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join("\n"),{docsPath:t,name:"AbiFunctionOutputsNotFoundError"})}}class yt extends tt{constructor(e,{docsPath:t}){super([`Encoded function signature "${e}" not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${e}.`].join("\n"),{docsPath:t,name:"AbiFunctionSignatureNotFoundError"})}}class wt extends tt{constructor(e,t){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${e.type}\` in \`${Ye(e.abiItem)}\`, and`,`\`${t.type}\` in \`${Ye(t.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}let vt=class extends tt{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:"BytesSizeMismatchError"})}};class xt extends tt{constructor({abiItem:e,data:t,params:n,size:r}){super([`Data size of ${r} bytes is too small for non-indexed event parameters.`].join("\n"),{metaMessages:[`Params: (${Ze(n,{includeName:!0})})`,`Data: ${t} (${r} bytes)`],name:"DecodeLogDataMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e,this.data=t,this.params=n,this.size=r}}class Et extends tt{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` "${t.name}"`:""} on event "${Ye(e,{includeName:!0})}".`].join("\n"),{name:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}}class Pt extends tt{constructor(e,{docsPath:t}){super([`Type "${e}" is not a valid encoding type.`,"Please provide a valid ABI type."].join("\n"),{docsPath:t,name:"InvalidAbiEncodingType"})}}class kt extends tt{constructor(e,{docsPath:t}){super([`Type "${e}" is not a valid decoding type.`,"Please provide a valid ABI type."].join("\n"),{docsPath:t,name:"InvalidAbiDecodingType"})}}let At=class extends tt{constructor(e){super([`Value "${e}" is not a valid array.`].join("\n"),{name:"InvalidArrayError"})}};class It extends tt{constructor(e){super([`"${e}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join("\n"),{name:"InvalidDefinitionTypeError"})}}class St extends tt{constructor(e){super(`Filter type "${e}" is not supported.`,{name:"FilterTypeNotSupportedError"})}}let Nt=class extends tt{constructor({offset:e,position:t,size:n}){super(`Slice ${"start"===t?"starting":"ending"} at offset "${e}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}},Tt=class extends tt{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:"SizeExceedsPaddingSizeError"})}};class $t extends tt{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} is expected to be ${t} ${n} long, but is ${e} ${n} long.`,{name:"InvalidBytesLengthError"})}}function Bt(e,{dir:t,size:n=32}={}){return"string"==typeof e?Ct(e,{dir:t,size:n}):function(e,{dir:t,size:n=32}={}){if(null===n)return e;if(e.length>n)throw new Tt({size:e.length,targetSize:n,type:"bytes"});const r=new Uint8Array(n);for(let o=0;o<n;o++){const s="right"===t;r[s?o:n-o-1]=e[s?o:e.length-o-1]}return r}(e,{dir:t,size:n})}function Ct(e,{dir:t,size:n=32}={}){if(null===n)return e;const r=e.replace("0x","");if(r.length>2*n)throw new Tt({size:Math.ceil(r.length/2),targetSize:n,type:"hex"});return`0x${r["right"===t?"padEnd":"padStart"](2*n,"0")}`}let Ot=class extends tt{constructor({max:e,min:t,signed:n,size:r,value:o}){super(`Number "${o}" is not in safe ${r?`${8*r}-bit ${n?"signed":"unsigned"} `:""}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:"IntegerOutOfRangeError"})}},_t=class extends tt{constructor(e){super(`Bytes value "${e}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`,{name:"InvalidBytesBooleanError"})}};class Rt extends tt{constructor(e){super(`Hex value "${e}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`,{name:"InvalidHexBooleanError"})}}let zt=class extends tt{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}};function Mt(e,{dir:t="left"}={}){let n="string"==typeof e?e.replace("0x",""):e,r=0;for(let e=0;e<n.length-1&&"0"===n["left"===t?e:n.length-e-1].toString();e++)r++;return n="left"===t?n.slice(r):n.slice(0,n.length-r),"string"==typeof e?(1===n.length&&"right"===t&&(n=`${n}0`),`0x${n.length%2==1?`0${n}`:n}`):n}function Ft(e,{size:t}){if(Je(e)>t)throw new zt({givenSize:Je(e),maxSize:t})}function Lt(e,t={}){const{signed:n}=t;t.size&&Ft(e,{size:t.size});const r=BigInt(e);if(!n)return r;const o=(e.length-2)/2;return r<=(1n<<8n*BigInt(o)-1n)-1n?r:r-BigInt(`0x${"f".padStart(2*o,"f")}`)-1n}function jt(e,t={}){return Number(Lt(e,t))}const Ut=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Dt(e,t={}){return"number"==typeof e||"bigint"==typeof e?Vt(e,t):"string"==typeof e?Ht(e,t):"boolean"==typeof e?Gt(e,t):qt(e,t)}function Gt(e,t={}){const n=`0x${Number(e)}`;return"number"==typeof t.size?(Ft(n,{size:t.size}),Bt(n,{size:t.size})):n}function qt(e,t={}){let n="";for(let t=0;t<e.length;t++)n+=Ut[e[t]];const r=`0x${n}`;return"number"==typeof t.size?(Ft(r,{size:t.size}),Bt(r,{dir:"right",size:t.size})):r}function Vt(e,t={}){const{signed:n,size:r}=t,o=BigInt(e);let s;r?s=n?(1n<<8n*BigInt(r)-1n)-1n:2n**(8n*BigInt(r))-1n:"number"==typeof e&&(s=BigInt(Number.MAX_SAFE_INTEGER));const a="bigint"==typeof s&&n?-s-1n:0;if(s&&o>s||o<a){const t="bigint"==typeof e?"n":"";throw new Ot({max:s?`${s}${t}`:void 0,min:`${a}${t}`,signed:n,size:r,value:`${e}${t}`})}const i=`0x${(n&&o<0?(1n<<BigInt(8*r))+BigInt(o):o).toString(16)}`;return r?Bt(i,{size:r}):i}const Wt=new TextEncoder;function Ht(e,t={}){return qt(Wt.encode(e),t)}const Yt=new TextEncoder;function Zt(e,t={}){return"number"==typeof e||"bigint"==typeof e?function(e,t){const n=Vt(e,t);return Qt(n)}(e,t):"boolean"==typeof e?function(e,t={}){const n=new Uint8Array(1);if(n[0]=Number(e),"number"==typeof t.size)return Ft(n,{size:t.size}),Bt(n,{size:t.size});return n}(e,t):Ke(e)?Qt(e,t):Xt(e,t)}const Kt={zero:48,nine:57,A:65,F:70,a:97,f:102};function Jt(e){return e>=Kt.zero&&e<=Kt.nine?e-Kt.zero:e>=Kt.A&&e<=Kt.F?e-(Kt.A-10):e>=Kt.a&&e<=Kt.f?e-(Kt.a-10):void 0}function Qt(e,t={}){let n=e;t.size&&(Ft(n,{size:t.size}),n=Bt(n,{dir:"right",size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);const o=r.length/2,s=new Uint8Array(o);for(let e=0,t=0;e<o;e++){const n=Jt(r.charCodeAt(t++)),o=Jt(r.charCodeAt(t++));if(void 0===n||void 0===o)throw new tt(`Invalid byte sequence ("${r[t-2]}${r[t-1]}" in "${r}").`);s[e]=16*n+o}return s}function Xt(e,t={}){const n=Yt.encode(e);return"number"==typeof t.size?(Ft(n,{size:t.size}),Bt(n,{dir:"right",size:t.size})):n}const en=BigInt(2**32-1),tn=BigInt(32);function nn(e,t=!1){return t?{h:Number(e&en),l:Number(e>>tn&en)}:{h:0|Number(e>>tn&en),l:0|Number(e&en)}}const rn="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;function on(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function sn(e,...t){if(!((n=e)instanceof Uint8Array||ArrayBuffer.isView(n)&&"Uint8Array"===n.constructor.name))throw new Error("Uint8Array expected");
2
2
  /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
3
- var n;if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function an(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function cn(e,t){sn(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function un(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function ln(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function dn(e,t){return e<<32-t|e>>>t}function fn(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}const hn=(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])()?e=>e:function(e){for(let t=0;t<e.length;t++)e[t]=fn(e[t]);return e};function pn(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e)),sn(e),e}class mn{}function gn(e){const t=t=>e().update(pn(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function bn(e=32){if(rn&&"function"==typeof rn.getRandomValues)return rn.getRandomValues(new Uint8Array(e));if(rn&&"function"==typeof rn.randomBytes)return Uint8Array.from(rn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}const yn=BigInt(0),wn=BigInt(1),vn=BigInt(2),xn=BigInt(7),En=BigInt(256),Pn=BigInt(113),kn=[],An=[],In=[];for(let e=0,t=wn,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],kn.push(2*(5*r+n)),An.push((e+1)*(e+2)/2%64);let o=yn;for(let e=0;e<7;e++)t=(t<<wn^(t>>xn)*Pn)%En,t&vn&&(o^=wn<<(wn<<BigInt(e))-wn);In.push(o)}const Sn=function(e,t=!1){const n=e.length;let r=new Uint32Array(n),o=new Uint32Array(n);for(let s=0;s<n;s++){const{h:n,l:a}=nn(e[s],t);[r[s],o[s]]=[n,a]}return[r,o]}(In,!0),Nn=Sn[0],Tn=Sn[1],$n=(e,t,n)=>n>32?((e,t,n)=>t<<n-32|e>>>64-n)(e,t,n):((e,t,n)=>e<<n|t>>>32-n)(e,t,n),Bn=(e,t,n)=>n>32?((e,t,n)=>e<<n-32|t>>>64-n)(e,t,n):((e,t,n)=>t<<n|e>>>32-n)(e,t,n);class Cn extends mn{constructor(e,t,n,r=!1,o=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=o,on(n),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");var s;this.state=new Uint8Array(200),this.state32=(s=this.state,new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4)))}clone(){return this._cloneInto()}keccak(){hn(this.state32),function(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){const r=(t+8)%10,o=(t+2)%10,s=n[o],a=n[o+1],i=$n(s,a,1)^n[r],c=Bn(s,a,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=i,e[t+n+1]^=c}let t=e[2],o=e[3];for(let n=0;n<24;n++){const r=An[n],s=$n(t,o,r),a=Bn(t,o,r),i=kn[n];t=e[i],o=e[i+1],e[i]=s,e[i+1]=a}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=Nn[r],e[1]^=Tn[r]}un(n)}(this.state32,this.rounds),hn(this.state32),this.posOut=0,this.pos=0}update(e){an(this),sn(e=pn(e));const{blockLen:t,state:n}=this,r=e.length;for(let o=0;o<r;){const s=Math.min(t-this.pos,r-o);for(let t=0;t<s;t++)n[this.pos++]^=e[o++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,128&t&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){an(this,!1),sn(e),this.finish();const t=this.state,{blockLen:n}=this;for(let r=0,o=e.length;r<o;){this.posOut>=n&&this.keccak();const s=Math.min(n-this.posOut,o-r);e.set(t.subarray(this.posOut,this.posOut+s),r),this.posOut+=s,r+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return on(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(cn(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,un(this.state)}_cloneInto(e){const{blockLen:t,suffix:n,outputLen:r,rounds:o,enableXOF:s}=this;return e||(e=new Cn(t,n,r,s,o)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=o,e.suffix=n,e.outputLen=r,e.enableXOF=s,e.destroyed=this.destroyed,e}}const On=(()=>{return e=1,t=136,n=32,gn(()=>new Cn(t,e,n));var e,t,n})();function _n(e,t){const n=t||"hex",r=On(Ke(e,{strict:!1})?Zt(e):e);return"bytes"===n?r:Dt(r)}function Rn(e){return _n(Zt(e))}const zn=e=>function(e){let t=!0,n="",r=0,o="",s=!1;for(let a=0;a<e.length;a++){const i=e[a];if(["(",")",","].includes(i)&&(t=!0),"("===i&&r++,")"===i&&r--,t)if(0!==r)" "!==i?(o+=i,n+=i):","!==e[a-1]&&","!==n&&",("!==n&&(n="",t=!1);else if(" "===i&&["event","function",""].includes(o))o="";else if(o+=i,")"===i){s=!0;break}}if(!s)throw new tt("Unable to normalize signature.");return o}("string"==typeof e?e:se(e));function Mn(e){return Rn(zn(e))}const Ln=Mn;let Fn=class extends tt{constructor({address:e}){super(`Address "${e}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}},jn=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const t=super.get(e);return super.has(e)&&void 0!==t&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){const e=this.keys().next().value;e&&this.delete(e)}return this}};const Un=new jn(8192);function Dn(e,t){if(Un.has(`${e}.${t}`))return Un.get(`${e}.${t}`);const n=e.substring(2).toLowerCase(),r=_n(Xt(n),"bytes"),o=n.split("");for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&o[e]&&(o[e]=o[e].toUpperCase()),(15&r[e>>1])>=8&&o[e+1]&&(o[e+1]=o[e+1].toUpperCase());const s=`0x${o.join("")}`;return Un.set(`${e}.${t}`,s),s}function Gn(e,t){if(!Wn(e,{strict:!1}))throw new Fn({address:e});return Dn(e,t)}const qn=/^0x[a-fA-F0-9]{40}$/,Vn=new jn(8192);function Wn(e,t){const{strict:n=!0}=t??{},r=`${e}.${n}`;if(Vn.has(r))return Vn.get(r);const o=!(!qn.test(e)||e.toLowerCase()!==e&&n&&Dn(e)!==e);return Vn.set(r,o),o}function Hn(e){return"string"==typeof e[0]?Yn(e):function(e){let t=0;for(const n of e)t+=n.length;const n=new Uint8Array(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(e)}function Yn(e){return`0x${e.reduce((e,t)=>e+t.replace("0x",""),"")}`}function Zn(e,t,n,{strict:r}={}){return Ke(e,{strict:!1})?function(e,t,n,{strict:r}={}){Kn(e,t);const o=`0x${e.replace("0x","").slice(2*(t??0),2*(n??e.length))}`;r&&Jn(o,t,n);return o}(e,t,n,{strict:r}):Qn(e,t,n,{strict:r})}function Kn(e,t){if("number"==typeof t&&t>0&&t>Je(e)-1)throw new Nt({offset:t,position:"start",size:Je(e)})}function Jn(e,t,n){if("number"==typeof t&&"number"==typeof n&&Je(e)!==n-t)throw new Nt({offset:n,position:"end",size:Je(e)})}function Qn(e,t,n,{strict:r}={}){Kn(e,t);const o=e.slice(t,n);return r&&Jn(o,t,n),o}const Xn=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,er=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function tr(e,t){if(e.length!==t.length)throw new ut({expectedLength:e.length,givenLength:t.length});const n=function({params:e,values:t}){const n=[];for(let r=0;r<e.length;r++)n.push(nr({param:e[r],value:t[r]}));return n}({params:e,values:t}),r=rr(n);return 0===r.length?"0x":r}function nr({param:e,value:t}){const n=or(e.type);if(n){const[r,o]=n;return function(e,{length:t,param:n}){const r=null===t;if(!Array.isArray(e))throw new At(e);if(!r&&e.length!==t)throw new it({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let o=!1;const s=[];for(let t=0;t<e.length;t++){const r=nr({param:n,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(r||o){const e=rr(s);if(r){const t=Vt(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?Hn([t,e]):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Hn(s.map(({encoded:e})=>e))}}(t,{length:r,param:{...e,type:o}})}if("tuple"===e.type)return function(e,{param:t}){let n=!1;const r=[];for(let o=0;o<t.components.length;o++){const s=t.components[o],a=nr({param:s,value:e[Array.isArray(e)?o:s.name]});r.push(a),a.dynamic&&(n=!0)}return{dynamic:n,encoded:n?rr(r):Hn(r.map(({encoded:e})=>e))}}(t,{param:e});if("address"===e.type)return function(e){if(!Wn(e))throw new Fn({address:e});return{dynamic:!1,encoded:Ct(e.toLowerCase())}}(t);if("bool"===e.type)return function(e){if("boolean"!=typeof e)throw new tt(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Ct(Gt(e))}}(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){const n=e.type.startsWith("int"),[,,r="256"]=er.exec(e.type)??[];return function(e,{signed:t,size:n=256}){if("number"==typeof n){const r=2n**(BigInt(n)-(t?1n:0n))-1n,o=t?-r-1n:0n;if(e>r||e<o)throw new Ot({max:r.toString(),min:o.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:Vt(e,{size:32,signed:t})}}(t,{signed:n,size:Number(r)})}if(e.type.startsWith("bytes"))return function(e,{param:t}){const[,n]=t.type.split("bytes"),r=Je(e);if(!n){let t=e;return r%32!=0&&(t=Ct(t,{dir:"right",size:32*Math.ceil((e.length-2)/2/32)})),{dynamic:!0,encoded:Hn([Ct(Vt(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new ct({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Ct(e,{dir:"right"})}}(t,{param:e});if("string"===e.type)return function(e){const t=Ht(e),n=Math.ceil(Je(t)/32),r=[];for(let e=0;e<n;e++)r.push(Ct(Zn(t,32*e,32*(e+1)),{dir:"right"}));return{dynamic:!0,encoded:Hn([Ct(Vt(Je(t),{size:32})),...r])}}(t);throw new Pt(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function rr(e){let t=0;for(let n=0;n<e.length;n++){const{dynamic:r,encoded:o}=e[n];t+=r?32:Je(o)}const n=[],r=[];let o=0;for(let s=0;s<e.length;s++){const{dynamic:a,encoded:i}=e[s];a?(n.push(Vt(t+o,{size:32})),r.push(i),o+=Je(i)):n.push(i)}return Hn([...n,...r])}function or(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}const sr=e=>Zn(Mn(e),0,4);function ar(e){const{abi:t,args:n=[],name:r}=e,o=Ke(r,{strict:!1}),s=t.filter(e=>o?"function"===e.type?sr(e)===r:"event"===e.type&&Ln(e)===r:"name"in e&&e.name===r);if(0===s.length)return;if(1===s.length)return s[0];let a;for(const e of s){if(!("inputs"in e))continue;if(!n||0===n.length){if(!e.inputs||0===e.inputs.length)return e;continue}if(!e.inputs)continue;if(0===e.inputs.length)continue;if(e.inputs.length!==n.length)continue;const t=n.every((t,n)=>{const r="inputs"in e&&e.inputs[n];return!!r&&ir(t,r)});if(t){if(a&&"inputs"in a&&a.inputs){const t=cr(e.inputs,a.inputs,n);if(t)throw new wt({abiItem:e,type:t[0]},{abiItem:a,type:t[1]})}a=e}}return a||s[0]}function ir(e,t){const n=typeof e,r=t.type;switch(r){case"address":return Wn(e,{strict:!1});case"bool":return"boolean"===n;case"function":case"string":return"string"===n;default:return"tuple"===r&&"components"in t?Object.values(t.components).every((t,n)=>ir(Object.values(e)[n],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?"number"===n||"bigint"===n:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?"string"===n||e instanceof Uint8Array:!!/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)&&(Array.isArray(e)&&e.every(e=>ir(e,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,"")})))}}function cr(e,t,n){for(const r in e){const o=e[r],s=t[r];if("tuple"===o.type&&"tuple"===s.type&&"components"in o&&"components"in s)return cr(o.components,s.components,n[r]);const a=[o.type,s.type];if((()=>!(!a.includes("address")||!a.includes("bytes20"))||(a.includes("address")&&a.includes("string")||!(!a.includes("address")||!a.includes("bytes")))&&Wn(n[r],{strict:!1}))())return a}}const ur="/docs/contract/encodeEventTopics";function lr(e){const{abi:t,eventName:n,args:r}=e;let o=t[0];if(n){const e=ar({abi:t,name:n});if(!e)throw new mt(n,{docsPath:ur});o=e}if("event"!==o.type)throw new mt(void 0,{docsPath:ur});const s=Ye(o),a=Ln(s);let i=[];if(r&&"inputs"in o){const e=o.inputs?.filter(e=>"indexed"in e&&e.indexed),t=Array.isArray(r)?r:Object.values(r).length>0?e?.map(e=>r[e.name])??[]:[];t.length>0&&(i=e?.map((e,n)=>Array.isArray(t[n])?t[n].map((r,o)=>dr({param:e,value:t[n][o]})):void 0!==t[n]&&null!==t[n]?dr({param:e,value:t[n]}):null)??[])}return[a,...i]}function dr({param:e,value:t}){if("string"===e.type||"bytes"===e.type)return _n(Zt(t));if("tuple"===e.type||e.type.match(/^(.*)\[(\d+)?\]$/))throw new St(e.type);return tr([e],[t])}function fr(e,{method:t}){const n={};return"fallback"===e.transport.type&&e.transport.onResponse?.(({method:e,response:r,status:o,transport:s})=>{"success"===o&&t===e&&(n[r]=s.request)}),t=>n[t]||e.request}async function hr(e,t){const{address:n,abi:r,args:o,eventName:s,fromBlock:a,strict:i,toBlock:c}=t,u=fr(e,{method:"eth_newFilter"}),l=s?lr({abi:r,args:o,eventName:s}):void 0,d=await e.request({method:"eth_newFilter",params:[{address:n,fromBlock:"bigint"==typeof a?Vt(a):a,toBlock:"bigint"==typeof c?Vt(c):c,topics:l}]});return{abi:r,args:o,eventName:s,id:d,request:u(d),strict:Boolean(i),type:"event"}}function pr(e){return"string"==typeof e?{address:e,type:"json-rpc"}:e}const mr="/docs/contract/encodeFunctionData";function gr(e){const{args:t}=e,{abi:n,functionName:r}=1===e.abi.length&&e.functionName?.startsWith("0x")?e:function(e){const{abi:t,args:n,functionName:r}=e;let o=t[0];if(r){const e=ar({abi:t,args:n,name:r});if(!e)throw new gt(r,{docsPath:mr});o=e}if("function"!==o.type)throw new gt(void 0,{docsPath:mr});return{abi:[o],functionName:sr(Ye(o))}}(e),o=n[0];return Yn([r,("inputs"in o&&o.inputs?tr(o.inputs,t??[]):void 0)??"0x"])}const br={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},yr={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},wr={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"};let vr=class extends tt{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`,{name:"NegativeOffsetError"})}},xr=class extends tt{constructor({length:e,position:t}){super(`Position \`${t}\` is out of bounds (\`0 < position < ${e}\`).`,{name:"PositionOutOfBoundsError"})}},Er=class extends tt{constructor({count:e,limit:t}){super(`Recursive read limit of \`${t}\` exceeded (recursive read count: \`${e}\`).`,{name:"RecursiveReadLimitExceededError"})}};const Pr={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Er({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new xr({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new vr({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new vr({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,255&e),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function kr(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(Pr);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}function Ar(e,t={}){void 0!==t.size&&Lt(e,{size:t.size});return Ft(qt(e,t),t)}function Ir(e,t={}){let n=e;if(void 0!==t.size&&(Lt(n,{size:t.size}),n=Mt(n)),n.length>1||n[0]>1)throw new _t(n);return Boolean(n[0])}function Sr(e,t={}){void 0!==t.size&&Lt(e,{size:t.size});return jt(qt(e,t),t)}function Nr(e,t){const n="string"==typeof t?Qt(t):t,r=kr(n);if(0===Je(n)&&e.length>0)throw new at;if(Je(t)&&Je(t)<32)throw new st({data:"string"==typeof t?t:qt(t),params:e,size:Je(t)});let o=0;const s=[];for(let t=0;t<e.length;++t){const n=e[t];r.setPosition(o);const[a,i]=Tr(r,n,{staticPosition:0});o+=i,s.push(a)}return s}function Tr(e,t,{staticPosition:n}){const r=or(t.type);if(r){const[o,s]=r;return function(e,t,{length:n,staticPosition:r}){if(!n){const n=r+Sr(e.readBytes(Br)),o=n+$r;e.setPosition(n);const s=Sr(e.readBytes($r)),a=Cr(t);let i=0;const c=[];for(let n=0;n<s;++n){e.setPosition(o+(a?32*n:i));const[r,s]=Tr(e,t,{staticPosition:o});i+=s,c.push(r)}return e.setPosition(r+32),[c,32]}if(Cr(t)){const o=r+Sr(e.readBytes(Br)),s=[];for(let r=0;r<n;++r){e.setPosition(o+32*r);const[n]=Tr(e,t,{staticPosition:o});s.push(n)}return e.setPosition(r+32),[s,32]}let o=0;const s=[];for(let a=0;a<n;++a){const[n,a]=Tr(e,t,{staticPosition:r+o});o+=a,s.push(n)}return[s,o]}(e,{...t,type:s},{length:o,staticPosition:n})}if("tuple"===t.type)return function(e,t,{staticPosition:n}){const r=0===t.components.length||t.components.some(({name:e})=>!e),o=r?[]:{};let s=0;if(Cr(t)){const a=n+Sr(e.readBytes(Br));for(let n=0;n<t.components.length;++n){const i=t.components[n];e.setPosition(a+s);const[c,u]=Tr(e,i,{staticPosition:a});s+=u,o[r?n:i?.name]=c}return e.setPosition(n+32),[o,32]}for(let a=0;a<t.components.length;++a){const i=t.components[a],[c,u]=Tr(e,i,{staticPosition:n});o[r?a:i?.name]=c,s+=u}return[o,s]}(e,t,{staticPosition:n});if("address"===t.type)return function(e){const t=e.readBytes(32);return[Dn(qt(Qn(t,-20))),32]}(e);if("bool"===t.type)return function(e){return[Ir(e.readBytes(32),{size:32}),32]}(e);if(t.type.startsWith("bytes"))return function(e,t,{staticPosition:n}){const[r,o]=t.type.split("bytes");if(!o){const t=Sr(e.readBytes(32));e.setPosition(n+t);const r=Sr(e.readBytes(32));if(0===r)return e.setPosition(n+32),["0x",32];const o=e.readBytes(r);return e.setPosition(n+32),[qt(o),32]}const s=qt(e.readBytes(Number.parseInt(o,10),32));return[s,32]}(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return function(e,t){const n=t.type.startsWith("int"),r=Number.parseInt(t.type.split("int")[1]||"256",10),o=e.readBytes(32);return[r>48?Ar(o,{signed:n}):Sr(o,{signed:n}),32]}(e,t);if("string"===t.type)return function(e,{staticPosition:t}){const n=Sr(e.readBytes(32)),r=t+n;e.setPosition(r);const o=Sr(e.readBytes(32));if(0===o)return e.setPosition(t+32),["",32];const s=e.readBytes(o,32),a=function(e,t={}){let n=e;return void 0!==t.size&&(Lt(n,{size:t.size}),n=Mt(n,{dir:"right"})),(new TextDecoder).decode(n)}(Mt(s));return e.setPosition(t+32),[a,32]}(e,{staticPosition:n});throw new kt(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}const $r=32,Br=32;function Cr(e){const{type:t}=e;if("string"===t)return!0;if("bytes"===t)return!0;if(t.endsWith("[]"))return!0;if("tuple"===t)return e.components?.some(Cr);const n=or(e.type);return!(!n||!Cr({...e,type:n[1]}))}function Or(e){const{abi:t,data:n}=e,r=Zn(n,0,4);if("0x"===r)throw new at;const o=[...t||[],yr,wr].find(e=>"error"===e.type&&r===sr(Ye(e)));if(!o)throw new ft(r,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:o,args:"inputs"in o&&o.inputs&&o.inputs.length>0?Nr(o.inputs,Zn(n,4)):void 0,errorName:o.name}}const _r=(e,t,n)=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t,n);function Rr({abiItem:e,args:t,includeFunctionName:n=!0,includeName:r=!1}){if("name"in e&&"inputs"in e&&e.inputs)return`${n?e.name:""}(${e.inputs.map((e,n)=>`${r&&e.name?`${e.name}: `:""}${"object"==typeof t[n]?_r(t[n]):t[n]}`).join(", ")})`}const zr={gwei:9,wei:18},Mr={ether:-9,wei:9};function Lr(e,t){let n=e.toString();const r=n.startsWith("-");r&&(n=n.slice(1)),n=n.padStart(t,"0");let[o,s]=[n.slice(0,n.length-t),n.slice(n.length-t)];return s=s.replace(/(0+)$/,""),`${r?"-":""}${o||"0"}${s?`.${s}`:""}`}function Fr(e,t="wei"){return Lr(e,zr[t])}function jr(e,t="wei"){return Lr(e,Mr[t])}class Ur extends tt{constructor({address:e}){super(`State for account "${e}" is set multiple times.`,{name:"AccountStateConflictError"})}}class Dr extends tt{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}function Gr(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\n`,"")}function qr(e){const t=Object.entries(e).map(([e,t])=>void 0===t||!1===t?null:[e,t]).filter(Boolean),n=t.reduce((e,[t])=>Math.max(e,t.length),0);return t.map(([e,t])=>` ${`${e}:`.padEnd(n+1)} ${t}`).join("\n")}class Vr extends tt{constructor(){super(["Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.","Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others."].join("\n"),{name:"FeeConflictError"})}}class Wr extends tt{constructor({transaction:e}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",qr(e),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class Hr extends tt{constructor({blockHash:e,blockNumber:t,blockTag:n,hash:r,index:o}){let s="Transaction";n&&void 0!==o&&(s=`Transaction at block time "${n}" at index "${o}"`),e&&void 0!==o&&(s=`Transaction at block hash "${e}" at index "${o}"`),t&&void 0!==o&&(s=`Transaction at block number "${t}" at index "${o}"`),r&&(s=`Transaction with hash "${r}"`),super(`${s} could not be found.`,{name:"TransactionNotFoundError"})}}class Yr extends tt{constructor({hash:e}){super(`Transaction receipt with hash "${e}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}}class Zr extends tt{constructor({hash:e}){super(`Timed out while waiting for transaction with hash "${e}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}class Kr extends tt{constructor(e,{account:t,docsPath:n,chain:r,data:o,gas:s,gasPrice:a,maxFeePerGas:i,maxPriorityFeePerGas:c,nonce:u,to:l,value:d,stateOverride:f}){const h=t?pr(t):void 0;let p=qr({from:h?.address,to:l,value:void 0!==d&&`${Fr(d)} ${r?.nativeCurrency?.symbol||"ETH"}`,data:o,gas:s,gasPrice:void 0!==a&&`${jr(a)} gwei`,maxFeePerGas:void 0!==i&&`${jr(i)} gwei`,maxPriorityFeePerGas:void 0!==c&&`${jr(c)} gwei`,nonce:u});f&&(p+=`\n${function(e){return e.reduce((e,{address:t,...n})=>{let r=`${e} ${t}:\n`;return n.nonce&&(r+=` nonce: ${n.nonce}\n`),n.balance&&(r+=` balance: ${n.balance}\n`),n.code&&(r+=` code: ${n.code}\n`),n.state&&(r+=" state:\n",r+=Gr(n.state)),n.stateDiff&&(r+=" stateDiff:\n",r+=Gr(n.stateDiff)),r}," State Override:\n").slice(0,-1)}(f)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Raw Call Arguments:",p].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class Jr extends tt{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:o,functionName:s,sender:a}){const i=ar({abi:t,args:n,name:s}),c=i?Rr({abiItem:i,args:n,includeFunctionName:!1,includeName:!1}):void 0,u=qr({address:r&&r,function:i?Ye(i,{includeName:!0}):void 0,args:c&&"()"!==c&&`${[...Array(s?.length??0).keys()].map(()=>" ").join("")}${c}`,sender:a});super(e.shortMessage||`An unknown error occurred while executing the contract function "${s}".`,{cause:e,docsPath:o,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],u&&"Contract Call:",u].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=t,this.args=n,this.cause=e,this.contractAddress=r,this.functionName=s,this.sender=a}}class Qr extends tt{constructor({abi:e,data:t,functionName:n,message:r}){let o,s,a,i,c;if(t&&"0x"!==t)try{s=Or({abi:e,data:t});const{abiItem:n,errorName:r,args:o}=s;if("Error"===r)i=o[0];else if("Panic"===r){const[e]=o;i=br[e]}else{const e=n?Ye(n,{includeName:!0}):void 0,t=n&&o?Rr({abiItem:n,args:o,includeFunctionName:!1,includeName:!1}):void 0;a=[e?`Error: ${e}`:"",t&&"()"!==t?` ${[...Array(r?.length??0).keys()].map(()=>" ").join("")}${t}`:""]}}catch(e){o=e}else r&&(i=r);o instanceof ft&&(c=o.signature,a=[`Unable to decode signature "${c}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${c}.`]),super(i&&"execution reverted"!==i||c?[`The contract function "${n}" reverted with the following ${c?"signature":"reason"}:`,i||c].join("\n"):`The contract function "${n}" reverted.`,{cause:o,metaMessages:a,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=s,this.raw=t,this.reason=i,this.signature=c}}class Xr extends tt{constructor({functionName:e}){super(`The contract function "${e}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${e}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError"})}}class eo extends tt{constructor({factory:e}){super("Deployment for counterfactual contract call failed"+(e?` for factory "${e}".`:""),{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}}class to extends tt{constructor({data:e,message:t}){super(t||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}class no extends tt{constructor({body:e,cause:t,details:n,headers:r,status:o,url:s}){super("HTTP request failed.",{cause:t,details:n,metaMessages:[o&&`Status: ${o}`,`URL: ${s}`,e&&`Request body: ${_r(e)}`].filter(Boolean),name:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{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,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=r,this.status=o,this.url=s}}class ro extends tt{constructor({body:e,error:t,url:n}){super("RPC Request failed.",{cause:t,details:t.message,metaMessages:[`URL: ${n}`,`Request body: ${_r(e)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data}}class oo extends tt{constructor({body:e,url:t}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${t}`,`Request body: ${_r(e)}`],name:"TimeoutError"})}}class so extends tt{constructor(e,{code:t,docsPath:n,metaMessages:r,name:o,shortMessage:s}){super(s,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:o||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=o||e.name,this.code=e instanceof ro?e.code:t??-1}}class ao extends so{constructor(e,t){super(e,t),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}}class io extends so{constructor(e){super(e,{code:io.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}}Object.defineProperty(io,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});class co extends so{constructor(e){super(e,{code:co.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}}Object.defineProperty(co,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});class uo extends so{constructor(e,{method:t}={}){super(e,{code:uo.code,name:"MethodNotFoundRpcError",shortMessage:`The method${t?` "${t}"`:""} does not exist / is not available.`})}}Object.defineProperty(uo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});class lo extends so{constructor(e){super(e,{code:lo.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join("\n")})}}Object.defineProperty(lo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class fo extends so{constructor(e){super(e,{code:fo.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}}Object.defineProperty(fo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class ho extends so{constructor(e){super(e,{code:ho.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join("\n")})}}Object.defineProperty(ho,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class po extends so{constructor(e){super(e,{code:po.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}}Object.defineProperty(po,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class mo extends so{constructor(e){super(e,{code:mo.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}}Object.defineProperty(mo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class go extends so{constructor(e){super(e,{code:go.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}}Object.defineProperty(go,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class bo extends so{constructor(e,{method:t}={}){super(e,{code:bo.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${t?` "${t}"`:""} is not supported.`})}}Object.defineProperty(bo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class yo extends so{constructor(e){super(e,{code:yo.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}}Object.defineProperty(yo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class wo extends so{constructor(e){super(e,{code:wo.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}}Object.defineProperty(wo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class vo extends ao{constructor(e){super(e,{code:vo.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}}Object.defineProperty(vo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});class xo extends ao{constructor(e){super(e,{code:xo.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}}Object.defineProperty(xo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});class Eo extends ao{constructor(e,{method:t}={}){super(e,{code:Eo.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${t?` " ${t}"`:""}.`})}}Object.defineProperty(Eo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});class Po extends ao{constructor(e){super(e,{code:Po.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}}Object.defineProperty(Po,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});class ko extends ao{constructor(e){super(e,{code:ko.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}}Object.defineProperty(ko,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});class Ao extends ao{constructor(e){super(e,{code:Ao.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}}Object.defineProperty(Ao,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});class Io extends ao{constructor(e){super(e,{code:Io.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}}Object.defineProperty(Io,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});class So extends ao{constructor(e){super(e,{code:So.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}}Object.defineProperty(So,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});class No extends ao{constructor(e){super(e,{code:No.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}}Object.defineProperty(No,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});class To extends ao{constructor(e){super(e,{code:To.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}}Object.defineProperty(To,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});class $o extends ao{constructor(e){super(e,{code:$o.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}}Object.defineProperty($o,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});class Bo extends ao{constructor(e){super(e,{code:Bo.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}}Object.defineProperty(Bo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});class Co extends ao{constructor(e){super(e,{code:Co.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}}Object.defineProperty(Co,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});class Oo extends so{constructor(e){super(e,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}const _o=3;function Ro(e,{abi:t,address:n,args:r,docsPath:o,functionName:s,sender:a}){const i=e instanceof to?e:e instanceof tt?e.walk(e=>"data"in e)||e.walk():{},{code:c,data:u,details:l,message:d,shortMessage:f}=i,h=e instanceof at?new Xr({functionName:s}):[_o,fo.code].includes(c)&&(u||l||d||f)?new Qr({abi:t,data:"object"==typeof u?u.data:u,functionName:s,message:i instanceof ro?l:f??d}):e;return new Jr(h,{abi:t,args:r,contractAddress:n,docsPath:o,functionName:s,sender:a})}function zo(e){if(0===e||1===e)return e;if(27===e)return 0;if(28===e)return 1;throw new Error("Invalid yParityOrV value")}async function Mo({hash:e,signature:t}){return n=await async function({hash:e,signature:t}){const n=Ke(e)?e:Dt(e),{secp256k1:r}=await Promise.resolve().then(function(){return rd}),o=(()=>{if("object"==typeof t&&"r"in t&&"s"in t){const{r:e,s:n,v:o,yParity:s}=t,a=zo(Number(s??o));return new r.Signature(Ft(e),Ft(n)).addRecoveryBit(a)}const e=Ke(t)?t:Dt(t);if(65!==Je(e))throw new Error("invalid signature length");const n=zo(jt(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})();return`0x${o.recoverPublicKey(n.substring(2)).toHex(!1)}`}({hash:e,signature:t}),Dn(`0x${_n(`0x${n.substring(4)}`).substring(26)}`);var n}function Lo(e,t="hex"){const n=Fo(e),r=kr(new Uint8Array(n.length));return n.encode(r),"hex"===t?qt(r.bytes):r.bytes}function Fo(e){return Array.isArray(e)?function(e){const t=e.reduce((e,t)=>e+t.length,0),n=jo(t),r=t<=55?1+t:1+n+t;return{length:r,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),1===n?r.pushUint8(t):2===n?r.pushUint16(t):3===n?r.pushUint24(t):r.pushUint32(t));for(const{encode:t}of e)t(r)}}}(e.map(e=>Fo(e))):function(e){const t="string"==typeof e?Qt(e):e,n=jo(t.length),r=1===t.length&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length;return{length:r,encode(e){1===t.length&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),1===n?e.pushUint8(t.length):2===n?e.pushUint16(t.length):3===n?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}(e)}function jo(e){if(e<256)return 1;if(e<65536)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new tt("Length is too large.")}function Uo(e){const{chainId:t,nonce:n,to:r}=e,o=e.contractAddress??e.address,s=_n(Yn(["0x05",Lo([t?Vt(t):"0x",o,n?Vt(n):"0x"])]));return"bytes"===r?Qt(s):s}async function Do(e){const{authorization:t,signature:n}=e;return Mo({hash:Uo(t),signature:n??t})}class Go extends tt{constructor(e,{account:t,docsPath:n,chain:r,data:o,gas:s,gasPrice:a,maxFeePerGas:i,maxPriorityFeePerGas:c,nonce:u,to:l,value:d}){const f=qr({from:t?.address,to:l,value:void 0!==d&&`${Fr(d)} ${r?.nativeCurrency?.symbol||"ETH"}`,data:o,gas:s,gasPrice:void 0!==a&&`${jr(a)} gwei`,maxFeePerGas:void 0!==i&&`${jr(i)} gwei`,maxPriorityFeePerGas:void 0!==c&&`${jr(c)} gwei`,nonce:u});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Estimate Gas Arguments:",f].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class qo extends tt{constructor({cause:e,message:t}={}){const n=t?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${n?`with reason: ${n}`:"for an unknown reason"}.`,{cause:e,name:"ExecutionRevertedError"})}}Object.defineProperty(qo,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(qo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class Vo extends tt{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\`maxFeePerGas\`${t?` = ${jr(t)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:"FeeCapTooHighError"})}}Object.defineProperty(Vo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Wo extends tt{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\`maxFeePerGas\`${t?` = ${jr(t)}`:""} gwei) cannot be lower than the block base fee.`,{cause:e,name:"FeeCapTooLowError"})}}Object.defineProperty(Wo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class Ho extends tt{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:""}is higher than the next one expected.`,{cause:e,name:"NonceTooHighError"})}}Object.defineProperty(Ho,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Yo extends tt{constructor({cause:e,nonce:t}={}){super([`Nonce provided for the transaction ${t?`(${t}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join("\n"),{cause:e,name:"NonceTooLowError"})}}Object.defineProperty(Yo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class Zo extends tt{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:""}exceeds the maximum allowed nonce.`,{cause:e,name:"NonceMaxValueError"})}}Object.defineProperty(Zo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class Ko extends tt{constructor({cause:e}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join("\n"),{cause:e,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(Ko,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class Jo extends tt{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(Jo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class Qo extends tt{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:""}provided for the transaction is too low.`,{cause:e,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(Qo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class Xo extends tt{constructor({cause:e}){super("The transaction type is not supported for this chain.",{cause:e,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(Xo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class es extends tt{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${t?` = ${jr(t)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${jr(n)} gwei`:""}).`].join("\n"),{cause:e,name:"TipAboveFeeCapError"})}}Object.defineProperty(es,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class ts extends tt{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:"UnknownNodeError"})}}function ns(e,t){const n=(e.details||"").toLowerCase(),r=e instanceof tt?e.walk(e=>e?.code===qo.code):e;return r instanceof tt?new qo({cause:e,message:r.details}):qo.nodeMessage.test(n)?new qo({cause:e,message:e.details}):Vo.nodeMessage.test(n)?new Vo({cause:e,maxFeePerGas:t?.maxFeePerGas}):Wo.nodeMessage.test(n)?new Wo({cause:e,maxFeePerGas:t?.maxFeePerGas}):Ho.nodeMessage.test(n)?new Ho({cause:e,nonce:t?.nonce}):Yo.nodeMessage.test(n)?new Yo({cause:e,nonce:t?.nonce}):Zo.nodeMessage.test(n)?new Zo({cause:e,nonce:t?.nonce}):Ko.nodeMessage.test(n)?new Ko({cause:e}):Jo.nodeMessage.test(n)?new Jo({cause:e,gas:t?.gas}):Qo.nodeMessage.test(n)?new Qo({cause:e,gas:t?.gas}):Xo.nodeMessage.test(n)?new Xo({cause:e}):es.nodeMessage.test(n)?new es({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new ts({cause:e})}function rs(e,{format:t}){if(!t)return{};const n={};return function t(r){const o=Object.keys(r);for(const s of o)s in e&&(n[s]=e[s]),r[s]&&"object"==typeof r[s]&&!Array.isArray(r[s])&&t(r[s])}(t(e||{})),n}const os={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function ss(e){const t={};return void 0!==e.authorizationList&&(t.authorizationList=e.authorizationList.map(e=>({address:e.address,r:e.r?Vt(BigInt(e.r)):e.r,s:e.s?Vt(BigInt(e.s)):e.s,chainId:Vt(e.chainId),nonce:Vt(e.nonce),...void 0!==e.yParity?{yParity:Vt(e.yParity)}:{},...void 0!==e.v&&void 0===e.yParity?{v:Vt(e.v)}:{}}))),void 0!==e.accessList&&(t.accessList=e.accessList),void 0!==e.blobVersionedHashes&&(t.blobVersionedHashes=e.blobVersionedHashes),void 0!==e.blobs&&("string"!=typeof e.blobs[0]?t.blobs=e.blobs.map(e=>qt(e)):t.blobs=e.blobs),void 0!==e.data&&(t.data=e.data),void 0!==e.from&&(t.from=e.from),void 0!==e.gas&&(t.gas=Vt(e.gas)),void 0!==e.gasPrice&&(t.gasPrice=Vt(e.gasPrice)),void 0!==e.maxFeePerBlobGas&&(t.maxFeePerBlobGas=Vt(e.maxFeePerBlobGas)),void 0!==e.maxFeePerGas&&(t.maxFeePerGas=Vt(e.maxFeePerGas)),void 0!==e.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=Vt(e.maxPriorityFeePerGas)),void 0!==e.nonce&&(t.nonce=Vt(e.nonce)),void 0!==e.to&&(t.to=e.to),void 0!==e.type&&(t.type=os[e.type]),void 0!==e.value&&(t.value=Vt(e.value)),t}function as(e){if(e&&0!==e.length)return e.reduce((e,{slot:t,value:n})=>{if(66!==t.length)throw new $t({size:t.length,targetSize:66,type:"hex"});if(66!==n.length)throw new $t({size:n.length,targetSize:66,type:"hex"});return e[t]=n,e},{})}function is(e){const{balance:t,nonce:n,state:r,stateDiff:o,code:s}=e,a={};if(void 0!==s&&(a.code=s),void 0!==t&&(a.balance=Vt(t)),void 0!==n&&(a.nonce=Vt(n)),void 0!==r&&(a.state=as(r)),void 0!==o){if(a.state)throw new Dr;a.stateDiff=as(o)}return a}function cs(e){if(!e)return;const t={};for(const{address:n,...r}of e){if(!Wn(n,{strict:!1}))throw new Fn({address:n});if(t[n])throw new Ur({address:n});t[n]=is(r)}return t}const us=2n**256n-1n;function ls(e){const{account:t,gasPrice:n,maxFeePerGas:r,maxPriorityFeePerGas:o,to:s}=e,a=t?pr(t):void 0;if(a&&!Wn(a.address))throw new Fn({address:a.address});if(s&&!Wn(s))throw new Fn({address:s});if(void 0!==n&&(void 0!==r||void 0!==o))throw new Vr;if(r&&r>us)throw new Vo({maxFeePerGas:r});if(o&&r&&o>r)throw new es({maxFeePerGas:r,maxPriorityFeePerGas:o})}class ds extends tt{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class fs extends tt{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class hs extends tt{constructor({maxPriorityFeePerGas:e}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${jr(e)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class ps extends tt{constructor({blockHash:e,blockNumber:t}){let n="Block";e&&(n=`Block at hash "${e}"`),t&&(n=`Block at number "${t}"`),super(`${n} could not be found.`,{name:"BlockNotFoundError"})}}const ms={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function gs(e){const t={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?jt(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?jt(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?ms[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(t.authorizationList=e.authorizationList.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))),t.yParity=(()=>{if(e.yParity)return Number(e.yParity);if("bigint"==typeof t.v){if(0n===t.v||27n===t.v)return 0;if(1n===t.v||28n===t.v)return 1;if(t.v>=35n)return t.v%2n==0n?1:0}})(),"legacy"===t.type&&(delete t.accessList,delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas,delete t.yParity),"eip2930"===t.type&&(delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas),"eip1559"===t.type&&delete t.maxFeePerBlobGas,t}function bs(e){const t=(e.transactions??[]).map(e=>"string"==typeof e?e:gs(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:t,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}async function ys(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??"latest",includeTransactions:o}={}){const s=o??!1,a=void 0!==n?Vt(n):void 0;let i=null;if(i=t?await e.request({method:"eth_getBlockByHash",params:[t,s]},{dedupe:!0}):await e.request({method:"eth_getBlockByNumber",params:[a||r,s]},{dedupe:Boolean(a)}),!i)throw new ps({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||bs)(i)}async function ws(e){const t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function vs(e,t){const{block:n,chain:r=e.chain,request:o}=t||{};try{const t=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if("function"==typeof t){const r=n||await He(e,ys,"getBlock")({}),s=await t({block:r,client:e,request:o});if(null===s)throw new Error;return s}if(void 0!==t)return t;return Ft(await e.request({method:"eth_maxPriorityFeePerGas"}))}catch{const[t,r]=await Promise.all([n?Promise.resolve(n):He(e,ys,"getBlock")({}),He(e,ws,"getGasPrice")({})]);if("bigint"!=typeof t.baseFeePerGas)throw new fs;const o=r-t.baseFeePerGas;return o<0n?0n:o}}async function xs(e,t){const{block:n,chain:r=e.chain,request:o,type:s="eip1559"}=t||{},a=await(async()=>"function"==typeof r?.fees?.baseFeeMultiplier?r.fees.baseFeeMultiplier({block:n,client:e,request:o}):r?.fees?.baseFeeMultiplier??1.2)();if(a<1)throw new ds;const i=10**(a.toString().split(".")[1]?.length??0),c=e=>e*BigInt(Math.ceil(a*i))/BigInt(i),u=n||await He(e,ys,"getBlock")({});if("function"==typeof r?.fees?.estimateFeesPerGas){const t=await r.fees.estimateFeesPerGas({block:n,client:e,multiply:c,request:o,type:s});if(null!==t)return t}if("eip1559"===s){if("bigint"!=typeof u.baseFeePerGas)throw new fs;const t="bigint"==typeof o?.maxPriorityFeePerGas?o.maxPriorityFeePerGas:await vs(e,{block:u,chain:r,request:o}),n=c(u.baseFeePerGas);return{maxFeePerGas:o?.maxFeePerGas??n+t,maxPriorityFeePerGas:t}}return{gasPrice:o?.gasPrice??c(await He(e,ws,"getGasPrice")({}))}}async function Es(e,{address:t,blockTag:n="latest",blockNumber:r}){return jt(await e.request({method:"eth_getTransactionCount",params:[t,"bigint"==typeof r?Vt(r):n]},{dedupe:Boolean(r)}))}function Ps(e){const{kzg:t}=e,n=e.to??("string"==typeof e.blobs[0]?"hex":"bytes"),r="string"==typeof e.blobs[0]?e.blobs.map(e=>Qt(e)):e.blobs,o=[];for(const e of r)o.push(Uint8Array.from(t.blobToKzgCommitment(e)));return"bytes"===n?o:o.map(e=>qt(e))}function ks(e){const{kzg:t}=e,n=e.to??("string"==typeof e.blobs[0]?"hex":"bytes"),r="string"==typeof e.blobs[0]?e.blobs.map(e=>Qt(e)):e.blobs,o="string"==typeof e.commitments[0]?e.commitments.map(e=>Qt(e)):e.commitments,s=[];for(let e=0;e<r.length;e++){const n=r[e],a=o[e];s.push(Uint8Array.from(t.computeBlobKzgProof(n,a)))}return"bytes"===n?s:s.map(e=>qt(e))}function As(e,t,n){return e&t^~e&n}function Is(e,t,n){return e&t^e&n^t&n}class Ss extends mn{constructor(e,t,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=ln(this.buffer)}update(e){an(this),sn(e=pn(e));const{view:t,buffer:n,blockLen:r}=this,o=e.length;for(let s=0;s<o;){const a=Math.min(r-this.pos,o-s);if(a===r){const t=ln(e);for(;r<=o-s;s+=r)this.process(t,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){an(this),cn(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:r,isLE:o}=this;let{pos:s}=this;t[s++]=128,un(this.buffer.subarray(s)),this.padOffset>r-s&&(this.process(n,0),s=0);for(let e=s;e<r;e++)t[e]=0;!function(e,t,n,r){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),i=Number(n&s),c=r?4:0,u=r?0:4;e.setUint32(t+c,a,r),e.setUint32(t+u,i,r)}(n,r-8,BigInt(8*this.length),o),this.process(n,0);const a=ln(e),i=this.outputLen;if(i%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=i/4,u=this.get();if(c>u.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e<c;e++)a.setUint32(4*e,u[e],o)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:r,finished:o,destroyed:s,pos:a}=this;return e.destroyed=s,e.finished=o,e.length=r,e.pos=a,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}}const Ns=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ts=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),$s=new Uint32Array(64);class Bs extends Ss{constructor(e=32){super(64,e,8,!1),this.A=0|Ns[0],this.B=0|Ns[1],this.C=0|Ns[2],this.D=0|Ns[3],this.E=0|Ns[4],this.F=0|Ns[5],this.G=0|Ns[6],this.H=0|Ns[7]}get(){const{A:e,B:t,C:n,D:r,E:o,F:s,G:a,H:i}=this;return[e,t,n,r,o,s,a,i]}set(e,t,n,r,o,s,a,i){this.A=0|e,this.B=0|t,this.C=0|n,this.D=0|r,this.E=0|o,this.F=0|s,this.G=0|a,this.H=0|i}process(e,t){for(let n=0;n<16;n++,t+=4)$s[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=$s[e-15],n=$s[e-2],r=dn(t,7)^dn(t,18)^t>>>3,o=dn(n,17)^dn(n,19)^n>>>10;$s[e]=o+$s[e-7]+r+$s[e-16]|0}let{A:n,B:r,C:o,D:s,E:a,F:i,G:c,H:u}=this;for(let e=0;e<64;e++){const t=u+(dn(a,6)^dn(a,11)^dn(a,25))+As(a,i,c)+Ts[e]+$s[e]|0,l=(dn(n,2)^dn(n,13)^dn(n,22))+Is(n,r,o)|0;u=c,c=i,i=a,a=s+t|0,s=o,o=r,r=n,n=t+l|0}n=n+this.A|0,r=r+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,i=i+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(n,r,o,s,a,i,c,u)}roundClean(){un($s)}destroy(){this.set(0,0,0,0,0,0,0,0),un(this.buffer)}}const Cs=gn(()=>new Bs),Os=Cs;function _s(e){const{commitment:t,version:n=1}=e,r=e.to??("string"==typeof t?"hex":"bytes"),o=Os(Ke(s=t,{strict:!1})?Zt(s):s);var s;return o.set([n],0),"bytes"===r?o:qt(o)}const Rs=4096,zs=131072,Ms=761855;class Ls extends tt{constructor({maxSize:e,size:t}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:"BlobSizeTooLargeError"})}}class Fs extends tt{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}function js(e){const{data:t,kzg:n,to:r}=e,o=e.blobs??function(e){const t="string"==typeof e.data?Qt(e.data):e.data,n=Je(t);if(!n)throw new Fs;if(n>Ms)throw new Ls({maxSize:Ms,size:n});const r=[];let o=!0,s=0;for(;o;){const e=kr(new Uint8Array(zs));let n=0;for(;n<Rs;){const r=t.slice(s,s+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),o=!1;break}n++,s+=31}r.push(e)}return r.map(e=>qt(e.bytes))}({data:t}),s=e.commitments??Ps({blobs:o,kzg:n,to:r}),a=e.proofs??ks({blobs:o,commitments:s,kzg:n,to:r}),i=[];for(let e=0;e<o.length;e++)i.push({blob:o[e],commitment:s[e],proof:a[e]});return i}async function Us(e){return jt(await e.request({method:"eth_chainId"},{dedupe:!0}))}const Ds=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Gs=new Map;async function qs(e,t){const{account:n=e.account,blobs:r,chain:o,gas:s,kzg:a,nonce:i,nonceManager:c,parameters:u=Ds,type:l}=t,d=n?pr(n):n,f={...t,...d?{from:d?.address}:{}};let h,p;async function m(){return h||(h=await He(e,ys,"getBlock")({blockTag:"latest"}),h)}async function g(){if(p)return p;if(o)return o.id;if(void 0!==t.chainId)return t.chainId;const n=await He(e,Us,"getChainId")({});return p=n,p}if(u.includes("nonce")&&void 0===i&&d)if(c){const t=await g();f.nonce=await c.consume({address:d.address,chainId:t,client:e})}else f.nonce=await He(e,Es,"getTransactionCount")({address:d.address,blockTag:"pending"});if((u.includes("blobVersionedHashes")||u.includes("sidecars"))&&r&&a){const e=Ps({blobs:r,kzg:a});if(u.includes("blobVersionedHashes")){const t=function(e){const{commitments:t,version:n}=e,r=e.to,o=[];for(const e of t)o.push(_s({commitment:e,to:r,version:n}));return o}({commitments:e,to:"hex"});f.blobVersionedHashes=t}if(u.includes("sidecars")){const t=js({blobs:r,commitments:e,proofs:ks({blobs:r,commitments:e,kzg:a}),to:"hex"});f.sidecars=t}}if(u.includes("chainId")&&(f.chainId=await g()),(u.includes("fees")||u.includes("type"))&&void 0===l)try{f.type=function(e){if(e.type)return e.type;if(void 0!==e.authorizationList)return"eip7702";if(void 0!==e.blobs||void 0!==e.blobVersionedHashes||void 0!==e.maxFeePerBlobGas||void 0!==e.sidecars)return"eip4844";if(void 0!==e.maxFeePerGas||void 0!==e.maxPriorityFeePerGas)return"eip1559";if(void 0!==e.gasPrice)return void 0!==e.accessList?"eip2930":"legacy";throw new Wr({transaction:e})}(f)}catch{let t=Gs.get(e.uid);if(void 0===t){const n=await m();t="bigint"==typeof n?.baseFeePerGas,Gs.set(e.uid,t)}f.type=t?"eip1559":"legacy"}if(u.includes("fees"))if("legacy"!==f.type&&"eip2930"!==f.type){if(void 0===f.maxFeePerGas||void 0===f.maxPriorityFeePerGas){const n=await m(),{maxFeePerGas:r,maxPriorityFeePerGas:s}=await xs(e,{block:n,chain:o,request:f});if(void 0===t.maxPriorityFeePerGas&&t.maxFeePerGas&&t.maxFeePerGas<s)throw new hs({maxPriorityFeePerGas:s});f.maxPriorityFeePerGas=s,f.maxFeePerGas=r}}else{if(void 0!==t.maxFeePerGas||void 0!==t.maxPriorityFeePerGas)throw new fs;if(void 0===t.gasPrice){const t=await m(),{gasPrice:n}=await xs(e,{block:t,chain:o,request:f,type:"legacy"});f.gasPrice=n}}return u.includes("gas")&&void 0===s&&(f.gas=await He(e,Vs,"estimateGas")({...f,account:d?{address:d.address,type:"json-rpc"}:d})),ls(f),delete f.parameters,f}async function Vs(e,t){const{account:n=e.account}=t,r=n?pr(n):void 0;try{const{accessList:n,authorizationList:o,blobs:s,blobVersionedHashes:a,blockNumber:i,blockTag:c,data:u,gas:l,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:h,maxPriorityFeePerGas:p,nonce:m,value:g,stateOverride:b,...y}=await qs(e,{...t,parameters:"local"===r?.type?void 0:["blobVersionedHashes"]}),w=("bigint"==typeof i?Vt(i):void 0)||c,v=cs(b),x=await(async()=>y.to?y.to:o&&o.length>0?await Do({authorization:o[0]}).catch(()=>{throw new tt("`to` is required. Could not infer from `authorizationList`")}):void 0)();ls(t);const E=e.chain?.formatters?.transactionRequest?.format,P=(E||ss)({...rs(y,{format:E}),from:r?.address,accessList:n,authorizationList:o,blobs:s,blobVersionedHashes:a,data:u,gas:l,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:h,maxPriorityFeePerGas:p,nonce:m,to:x,value:g});return BigInt(await e.request({method:"eth_estimateGas",params:v?[P,w??e.experimental_blockTag??"latest",v]:w?[P,w]:[P]}))}catch(n){throw function(e,{docsPath:t,...n}){const r=(()=>{const t=ns(e,n);return t instanceof ts?e:t})();return new Go(r,{docsPath:t,...n})}(n,{...t,account:r,chain:e.chain})}}function Ws(e,t){if(!Wn(e,{strict:!1}))throw new Fn({address:e});if(!Wn(t,{strict:!1}))throw new Fn({address:t});return e.toLowerCase()===t.toLowerCase()}const Hs="/docs/contract/decodeEventLog";function Ys(e){const{abi:t,data:n,strict:r,topics:o}=e,s=r??!0,[a,...i]=o;if(!a)throw new ht({docsPath:Hs});const c=t.find(e=>"event"===e.type&&a===Ln(Ye(e)));if(!c||!("name"in c)||"event"!==c.type)throw new pt(a,{docsPath:Hs});const{name:u,inputs:l}=c,d=l?.some(e=>!("name"in e&&e.name)),f=d?[]:{},h=l.map((e,t)=>[e,t]).filter(([e])=>"indexed"in e&&e.indexed);for(let e=0;e<h.length;e++){const[t,n]=h[e],r=i[e];if(!r)throw new Et({abiItem:c,param:t});f[d?n:t.name||n]=Zs({param:t,value:r})}const p=l.filter(e=>!("indexed"in e&&e.indexed));if(p.length>0)if(n&&"0x"!==n)try{const e=Nr(p,n);if(e)if(d)for(let t=0;t<l.length;t++)f[t]=f[t]??e.shift();else for(let t=0;t<p.length;t++)f[p[t].name]=e[t]}catch(e){if(s){if(e instanceof st||e instanceof xr)throw new xt({abiItem:c,data:n,params:p,size:Je(n)});throw e}}else if(s)throw new xt({abiItem:c,data:"0x",params:p,size:0});return{eventName:u,args:Object.values(f).length>0?f:void 0}}function Zs({param:e,value:t}){if("string"===e.type||"bytes"===e.type||"tuple"===e.type||e.type.match(/^(.*)\[(\d+)?\]$/))return t;return(Nr([e],t)||[])[0]}function Ks(e){const{abi:t,args:n,logs:r,strict:o=!0}=e,s=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})();return r.map(e=>{try{const r=t.find(t=>"event"===t.type&&e.topics[0]===Ln(t));if(!r)return null;const a=Ys({...e,abi:[r],strict:o});return s&&!s.includes(a.eventName)?null:function(e){const{args:t,inputs:n,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function o(e,t,n){try{return"address"===e.type?Ws(t,n):"string"===e.type||"bytes"===e.type?_n(Zt(t))===n:t===n}catch{return!1}}if(Array.isArray(t)&&Array.isArray(r))return r.every((e,r)=>{if(null==e)return!0;const s=n[r];if(!s)return!1;return(Array.isArray(e)?e:[e]).some(e=>o(s,e,t[r]))});return"object"==typeof t&&!Array.isArray(t)&&"object"==typeof r&&!Array.isArray(r)&&Object.entries(r).every(([e,r])=>{if(null==r)return!0;const s=n.find(t=>t.name===e);if(!s)return!1;return(Array.isArray(r)?r:[r]).some(n=>o(s,n,t[e]))})}({args:a.args,inputs:r.inputs,matchArgs:n})?{...a,...e}:null}catch(t){let n,r;if(t instanceof pt)return null;if(t instanceof xt||t instanceof Et){if(o)return null;n=t.abiItem.name,r=t.abiItem.inputs?.some(e=>!("name"in e&&e.name))}return{...e,args:r?[]:{},eventName:n}}}).filter(Boolean)}function Js(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}async function Qs(e,{address:t,blockHash:n,fromBlock:r,toBlock:o,event:s,events:a,args:i,strict:c}={}){const u=c??!1,l=a??(s?[s]:void 0);let d,f=[];if(l){const e=l.flatMap(e=>lr({abi:[e],eventName:e.name,args:a?void 0:i}));f=[e],s&&(f=f[0])}d=n?await e.request({method:"eth_getLogs",params:[{address:t,topics:f,blockHash:n}]}):await e.request({method:"eth_getLogs",params:[{address:t,topics:f,fromBlock:"bigint"==typeof r?Vt(r):r,toBlock:"bigint"==typeof o?Vt(o):o}]});const h=d.map(e=>Js(e));return l?Ks({abi:l,args:i,logs:h,strict:u}):h}async function Xs(e,t){const{abi:n,address:r,args:o,blockHash:s,eventName:a,fromBlock:i,toBlock:c,strict:u}=t,l=a?ar({abi:n,name:a}):void 0,d=l?void 0:n.filter(e=>"event"===e.type);return He(e,Qs,"getLogs")({address:r,args:o,blockHash:s,event:l,events:d,fromBlock:i,toBlock:c,strict:u})}const ea="/docs/contract/decodeFunctionResult";function ta(e){const{abi:t,args:n,functionName:r,data:o}=e;let s=t[0];if(r){const e=ar({abi:t,args:n,name:r});if(!e)throw new gt(r,{docsPath:ea});s=e}if("function"!==s.type)throw new gt(void 0,{docsPath:ea});if(!s.outputs)throw new bt(s.name,{docsPath:ea});const a=Nr(s.outputs,o);return a&&a.length>1?a:a&&1===a.length?a[0]:void 0}
4
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const na=BigInt(0),ra=BigInt(1);function oa(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function sa(e){if(!oa(e))throw new Error("Uint8Array expected")}function aa(e,t){if("boolean"!=typeof t)throw new Error(e+" boolean expected, got "+t)}function ia(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function ca(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?na:BigInt("0x"+e)}const ua="function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex,la=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function da(e){if(sa(e),ua)return e.toHex();let t="";for(let n=0;n<e.length;n++)t+=la[e[n]];return t}const fa=48,ha=57,pa=65,ma=70,ga=97,ba=102;function ya(e){return e>=fa&&e<=ha?e-fa:e>=pa&&e<=ma?e-(pa-10):e>=ga&&e<=ba?e-(ga-10):void 0}function wa(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);if(ua)return Uint8Array.fromHex(e);const t=e.length,n=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const r=new Uint8Array(n);for(let t=0,o=0;t<n;t++,o+=2){const n=ya(e.charCodeAt(o)),s=ya(e.charCodeAt(o+1));if(void 0===n||void 0===s){const t=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+t+'" at index '+o)}r[t]=16*n+s}return r}function va(e){return ca(da(e))}function xa(e){return sa(e),ca(da(Uint8Array.from(e).reverse()))}function Ea(e,t){return wa(e.toString(16).padStart(2*t,"0"))}function Pa(e,t){return Ea(e,t).reverse()}function ka(e,t,n){let r;if("string"==typeof t)try{r=wa(t)}catch(t){throw new Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!oa(t))throw new Error(e+" must be hex string or Uint8Array");r=Uint8Array.from(t)}const o=r.length;if("number"==typeof n&&o!==n)throw new Error(e+" of length "+n+" expected, got "+o);return r}function Aa(...e){let t=0;for(let n=0;n<e.length;n++){const r=e[n];sa(r),t+=r.length}const n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){const o=e[t];n.set(o,r),r+=o.length}return n}const Ia=e=>"bigint"==typeof e&&na<=e;function Sa(e,t,n){return Ia(e)&&Ia(t)&&Ia(n)&&t<=e&&e<n}function Na(e,t,n,r){if(!Sa(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}const Ta=e=>(ra<<BigInt(e))-ra,$a=e=>new Uint8Array(e),Ba=e=>Uint8Array.from(e);const Ca={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||oa(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function Oa(e,t,n={}){const r=(t,n,r)=>{const o=Ca[n];if("function"!=typeof o)throw new Error("invalid validator function");const s=e[t];if(!(r&&void 0===s||o(s,e)))throw new Error("param "+String(t)+" is invalid. Expected "+n+", got "+s)};for(const[e,n]of Object.entries(t))r(e,n,!1);for(const[e,t]of Object.entries(n))r(e,t,!0);return e}function _a(e){const t=new WeakMap;return(n,...r)=>{const o=t.get(n);if(void 0!==o)return o;const s=e(n,...r);return t.set(n,s),s}}class Ra extends Error{constructor(e,t={}){const n=(()=>{if(t.cause instanceof Ra){if(t.cause.details)return t.cause.details;if(t.cause.shortMessage)return t.cause.shortMessage}return t.cause&&"details"in t.cause&&"string"==typeof t.cause.details?t.cause.details:t.cause?.message?t.cause.message:t.details})(),r=t.cause instanceof Ra&&t.cause.docsPath||t.docsPath,o=`https://oxlib.sh${r??""}`,s=[e||"An error occurred.",...t.metaMessages?["",...t.metaMessages]:[],...n||r?["",n?`Details: ${n}`:void 0,r?`See: ${o}`:void 0]:[]].filter(e=>"string"==typeof e).join("\n");super(s,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:"ox@0.1.1"}),this.cause=t.cause,this.details=n,this.docs=o,this.docsPath=r,this.shortMessage=e}walk(e){return za(this,e)}}function za(e,t){return t?.(e)?e:e&&"object"==typeof e&&"cause"in e&&e.cause?za(e.cause,t):t?null:e}function Ma(e,t){if(ei(e)>t)throw new ci({givenSize:ei(e),maxSize:t})}const La=48,Fa=57,ja=65,Ua=70,Da=97,Ga=102;function qa(e){return e>=La&&e<=Fa?e-La:e>=ja&&e<=Ua?e-(ja-10):e>=Da&&e<=Ga?e-(Da-10):void 0}function Va(e,t={}){const{dir:n="left"}=t;let r=e,o=0;for(let e=0;e<r.length-1&&"0"===r["left"===n?e:r.length-e-1].toString();e++)o++;return r="left"===n?r.slice(o):r.slice(0,r.length-o),r}function Wa(e,t){if(vi(e)>t)throw new Si({givenSize:vi(e),maxSize:t})}function Ha(e,t={}){const{dir:n,size:r=32}=t;if(0===r)return e;const o=e.replace("0x","");if(o.length>2*r)throw new Ti({size:Math.ceil(o.length/2),targetSize:r,type:"Hex"});return`0x${o["right"===n?"padEnd":"padStart"](2*r,"0")}`}function Ya(e,t,n){return JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString()+"#__bigint":t,n)}const Za=new TextDecoder,Ka=new TextEncoder;function Ja(e){return e instanceof Uint8Array?e:"string"==typeof e?Qa(e):function(e){return e instanceof Uint8Array?e:new Uint8Array(e)}(e)}function Qa(e,t={}){const{size:n}=t;let r=e;n&&(Wa(e,n),r=yi(e,n));let o=r.slice(2);o.length%2&&(o=`0${o}`);const s=o.length/2,a=new Uint8Array(s);for(let e=0,t=0;e<s;e++){const n=qa(o.charCodeAt(t++)),r=qa(o.charCodeAt(t++));if(void 0===n||void 0===r)throw new Ra(`Invalid byte sequence ("${o[t-2]}${o[t-1]}" in "${o}").`);a[e]=16*n+r}return a}function Xa(e,t={}){const{size:n}=t,r=Ka.encode(e);return"number"==typeof n?(Ma(r,n),function(e,t){return function(e,t={}){const{dir:n,size:r=32}=t;if(0===r)return e;if(e.length>r)throw new ui({size:e.length,targetSize:r,type:"Bytes"});const o=new Uint8Array(r);for(let t=0;t<r;t++){const s="right"===n;o[s?t:r-t-1]=e[s?t:e.length-t-1]}return o}(e,{dir:"right",size:t})}(r,n)):r}function ei(e){return e.length}function ti(e,t,n,r={}){const{strict:o}=r;return e.slice(t,n)}function ni(e,t={}){const{size:n}=t;void 0!==n&&Ma(e,n);return xi(pi(e,t),t)}function ri(e,t={}){const{size:n}=t;let r=e;if(void 0!==n&&(Ma(r,n),r=ai(r)),r.length>1||r[0]>1)throw new ii(r);return Boolean(r[0])}function oi(e,t={}){const{size:n}=t;void 0!==n&&Ma(e,n);return Ei(pi(e,t),t)}function si(e,t={}){const{size:n}=t;let r=e;return void 0!==n&&(Ma(r,n),r=Va(r,{dir:"right"})),Za.decode(r)}function ai(e){return Va(e,{dir:"left"})}class ii extends Ra{constructor(e){super(`Bytes value \`${e}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}}let ci=class extends Ra{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},ui=class extends Ra{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}};const li=new TextEncoder,di=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function fi(...e){return`0x${e.reduce((e,t)=>e+t.replace("0x",""),"")}`}function hi(e,t={}){const n=`0x${Number(e)}`;return"number"==typeof t.size?(Wa(n,t.size),bi(n,t.size)):n}function pi(e,t={}){let n="";for(let t=0;t<e.length;t++)n+=di[e[t]];const r=`0x${n}`;return"number"==typeof t.size?(Wa(r,t.size),yi(r,t.size)):r}function mi(e,t={}){const{signed:n,size:r}=t,o=BigInt(e);let s;r?s=n?(1n<<8n*BigInt(r)-1n)-1n:2n**(8n*BigInt(r))-1n:"number"==typeof e&&(s=BigInt(Number.MAX_SAFE_INTEGER));const a="bigint"==typeof s&&n?-s-1n:0;if(s&&o>s||o<a){const t="bigint"==typeof e?"n":"";throw new ki({max:s?`${s}${t}`:void 0,min:`${a}${t}`,signed:n,size:r,value:`${e}${t}`})}const i=`0x${(n&&o<0?(1n<<BigInt(8*r))+BigInt(o):o).toString(16)}`;return r?bi(i,r):i}function gi(e,t={}){return pi(li.encode(e),t)}function bi(e,t){return Ha(e,{dir:"left",size:t})}function yi(e,t){return Ha(e,{dir:"right",size:t})}function wi(e,t,n,r={}){const{strict:o}=r;!function(e,t){if("number"==typeof t&&t>0&&t>vi(e)-1)throw new Ni({offset:t,position:"start",size:vi(e)})}(e,t);const s=`0x${e.replace("0x","").slice(2*(t??0),2*(n??e.length))}`;return o&&function(e,t,n){if("number"==typeof t&&"number"==typeof n&&vi(e)!==n-t)throw new Ni({offset:n,position:"end",size:vi(e)})}(s,t,n),s}function vi(e){return Math.ceil((e.length-2)/2)}function xi(e,t={}){const{signed:n}=t;t.size&&Wa(e,t.size);const r=BigInt(e);if(!n)return r;const o=(e.length-2)/2,s=(1n<<8n*BigInt(o))-1n;return r<=s>>1n?r:r-s-1n}function Ei(e,t={}){const{signed:n,size:r}=t;return Number(n||r?xi(e,t):e)}function Pi(e,t={}){const{strict:n=!1}=t;try{return function(e,t={}){const{strict:n=!1}=t;if(!e)throw new Ai(e);if("string"!=typeof e)throw new Ai(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e))throw new Ii(e);if(!e.startsWith("0x"))throw new Ii(e)}(e,{strict:n}),!0}catch{return!1}}class ki extends Ra{constructor({max:e,min:t,signed:n,size:r,value:o}){super(`Number \`${o}\` is not in safe${r?` ${8*r}-bit`:""}${n?" signed":" unsigned"} integer range ${e?`(\`${t}\` to \`${e}\`)`:`(above \`${t}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class Ai extends Ra{constructor(e){super(`Value \`${"object"==typeof e?Ya(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class Ii extends Ra{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}class Si extends Ra{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}}class Ni extends Ra{constructor({offset:e,position:t,size:n}){super(`Slice ${"start"===t?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}class Ti extends Ra{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}function $i(e){return{address:e.address,amount:mi(e.amount),index:mi(e.index),validatorIndex:mi(e.validatorIndex)}}function Bi(e){return{..."bigint"==typeof e.baseFeePerGas&&{baseFeePerGas:mi(e.baseFeePerGas)},..."bigint"==typeof e.blobBaseFee&&{blobBaseFee:mi(e.blobBaseFee)},..."string"==typeof e.feeRecipient&&{feeRecipient:e.feeRecipient},..."bigint"==typeof e.gasLimit&&{gasLimit:mi(e.gasLimit)},..."bigint"==typeof e.number&&{number:mi(e.number)},..."bigint"==typeof e.prevRandao&&{prevRandao:mi(e.prevRandao)},..."bigint"==typeof e.time&&{time:mi(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map($i)}}}const Ci=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],Oi=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],_i=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],Ri=[..._i,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],zi=[..._i,{name:"reverseWithGateways",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"uint256",name:"coinType"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolver"},{type:"address",name:"reverseResolver"}]}],Mi=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],Li=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],Fi=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],ji=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}],Ui="0x82ad56cb",Di="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",Gi="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",qi="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",Vi="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033";class Wi extends tt{constructor({blockNumber:e,chain:t,contract:n}){super(`Chain "${t.name}" does not support contract "${n.name}".`,{metaMessages:["This could be due to any of the following:",...e&&n.blockCreated&&n.blockCreated>e?[`- The contract "${n.name}" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract "${n.name}" configured.`]],name:"ChainDoesNotSupportContract"})}}class Hi extends tt{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}const Yi="/docs/contract/encodeDeployData";function Zi(e){const{abi:t,args:n,bytecode:r}=e;if(!n||0===n.length)return r;const o=t.find(e=>"type"in e&&"constructor"===e.type);if(!o)throw new rt({docsPath:Yi});if(!("inputs"in o))throw new ot({docsPath:Yi});if(!o.inputs||0===o.inputs.length)throw new ot({docsPath:Yi});return Yn([r,tr(o.inputs,n)])}function Ki({blockNumber:e,chain:t,contract:n}){const r=t?.contracts?.[n];if(!r)throw new Wi({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Wi({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}function Ji(e,{docsPath:t,...n}){const r=(()=>{const t=ns(e,n);return t instanceof ts?e:t})();return new Kr(r,{docsPath:t,...n})}function Qi(){let e=()=>{},t=()=>{};return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}const Xi=new Map;function ec({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:o}){const s=async()=>{const t=i();a();const n=t.map(({args:e})=>e);0!==n.length&&e(n).then(e=>{o&&Array.isArray(e)&&e.sort(o);for(let n=0;n<t.length;n++){const{resolve:r}=t[n];r?.([e[n],e])}}).catch(e=>{for(let n=0;n<t.length;n++){const{reject:r}=t[n];r?.(e)}})},a=()=>Xi.delete(t),i=()=>Xi.get(t)||[],c=e=>Xi.set(t,[...i(),e]);return{flush:a,async schedule(e){const{promise:t,resolve:o,reject:a}=Qi(),u=n?.([...i().map(({args:e})=>e),e]);u&&s();return i().length>0?(c({args:e,resolve:o,reject:a}),t):(c({args:e,resolve:o,reject:a}),setTimeout(s,r),t)}}}async function tc(e,t){const{account:n=e.account,authorizationList:r,batch:o=Boolean(e.batch?.multicall),blockNumber:s,blockTag:a=e.experimental_blockTag??"latest",accessList:i,blobs:c,blockOverrides:u,code:l,data:d,factory:f,factoryData:h,gas:p,gasPrice:m,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:w,to:v,value:x,stateOverride:E,...P}=t,k=n?pr(n):void 0;if(l&&(f||h))throw new tt("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(l&&v)throw new tt("Cannot provide both `code` & `to` as parameters.");const A=l&&d,I=f&&h&&v&&d,S=A||I,N=A?nc({code:l,data:d}):I?function(e){const{data:t,factory:n,factoryData:r,to:o}=e;return Zi({abi:qe(["constructor(address, bytes, address, bytes)"]),bytecode:Gi,args:[o,t,n,r]})}({data:d,factory:f,factoryData:h,to:v}):d;try{ls(t);const n=("bigint"==typeof s?Vt(s):void 0)||a,l=u?Bi(u):void 0,d=cs(E),f=e.chain?.formatters?.transactionRequest?.format,h=(f||ss)({...rs(P,{format:f}),from:k?.address,accessList:i,authorizationList:r,blobs:c,data:N,gas:p,gasPrice:m,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:w,to:S?void 0:v,value:x});if(o&&function({request:e}){const{data:t,to:n,...r}=e;return!!t&&(!t.startsWith(Ui)&&(!!n&&!(Object.values(r).filter(e=>void 0!==e).length>0)))}({request:h})&&!d&&!l)try{return await async function(e,t){const{batchSize:n=1024,deployless:r=!1,wait:o=0}="object"==typeof e.batch?.multicall?e.batch.multicall:{},{blockNumber:s,blockTag:a=e.experimental_blockTag??"latest",data:i,to:c}=t,u=(()=>{if(r)return null;if(t.multicallAddress)return t.multicallAddress;if(e.chain)return Ki({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Hi})(),l="bigint"==typeof s?Vt(s):void 0,d=l||a,{schedule:f}=ec({id:`${e.uid}.${d}`,wait:o,shouldSplitBatch(e){const t=e.reduce((e,{data:t})=>e+(t.length-2),0);return t>2*n},fn:async t=>{const n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=gr({abi:Ci,args:[n],functionName:"aggregate3"}),o=await e.request({method:"eth_call",params:[{...null===u?{data:nc({code:Vi,data:r})}:{to:u,data:r}},d]});return ta({abi:Ci,args:[n],functionName:"aggregate3",data:o||"0x"})}}),[{returnData:h,success:p}]=await f({data:i,to:c});if(!p)throw new to({data:h});return"0x"===h?{data:void 0}:{data:h}}(e,{...h,blockNumber:s,blockTag:a})}catch(e){if(!(e instanceof Hi||e instanceof Wi))throw e}const A=(()=>{const e=[h,n];return d&&l?[...e,d,l]:d?[...e,d]:l?[...e,{},l]:e})(),I=await e.request({method:"eth_call",params:A});return"0x"===I?{data:void 0}:{data:I}}catch(n){const r=function(e){if(!(e instanceof tt))return;const t=e.walk();return"object"==typeof t?.data?t.data?.data:t.data}(n),{offchainLookup:o,offchainLookupSignature:s}=await Promise.resolve().then(function(){return iu});if(!1!==e.ccipRead&&r?.slice(0,10)===s&&v)return{data:await o(e,{data:r,to:v})};if(S&&"0x101bb98d"===r?.slice(0,10))throw new eo({factory:f});throw Ji(n,{...t,account:k,chain:e.chain})}}function nc(e){const{code:t,data:n}=e;return Zi({abi:qe(["constructor(bytes, bytes)"]),bytecode:Di,args:[t,n]})}async function rc(e,t){const{abi:n,address:r,args:o,functionName:s,...a}=t,i=gr({abi:n,args:o,functionName:s});try{const{data:t}=await He(e,tc,"call")({...a,data:i,to:r});return ta({abi:n,args:o,functionName:s,data:t||"0x"})}catch(e){throw Ro(e,{abi:n,address:r,args:o,docsPath:"/docs/contract/readContract",functionName:s})}}const oc=new Map,sc=new Map;let ac=0;function ic(e,t,n){const r=++ac,o=()=>oc.get(e)||[],s=()=>{const t=o();if(!t.some(e=>e.id===r))return;const n=sc.get(e);if(1===t.length&&n){const e=n();e instanceof Promise&&e.catch(()=>{})}(()=>{const t=o();oc.set(e,t.filter(e=>e.id!==r))})()},a=o();if(oc.set(e,[...a,{id:r,fns:t}]),a&&a.length>0)return s;const i={};for(const e in t)i[e]=(...t)=>{const n=o();if(0!==n.length)for(const r of n)r.fns[e]?.(...t)};const c=n(i);return"function"==typeof c&&sc.set(e,c),s}async function cc(e){return new Promise(t=>setTimeout(t,e))}function uc(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let o=!0;const s=()=>o=!1;return(async()=>{let a;t&&(a=await e({unpoll:s}));const i=await(n?.(a))??r;await cc(i);const c=async()=>{o&&(await e({unpoll:s}),await cc(r),c())};c()})(),s}const lc=new Map,dc=new Map;async function fc(e,{cacheKey:t,cacheTime:n=Number.POSITIVE_INFINITY}){const r=function(e){const t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,lc),r=t(e,dc);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}(t),o=r.response.get();if(o&&n>0){if(Date.now()-o.created.getTime()<n)return o.data}let s=r.promise.get();s||(s=e(),r.promise.set(s));try{const e=await s;return r.response.set({created:new Date,data:e}),e}finally{r.promise.clear()}}async function hc(e,{cacheTime:t=e.cacheTime}={}){const n=await fc(()=>e.request({method:"eth_blockNumber"}),{cacheKey:(r=e.uid,`blockNumber.${r}`),cacheTime:t});var r;return BigInt(n)}async function pc(e,{filter:t}){const n="strict"in t&&t.strict,r=await t.request({method:"eth_getFilterChanges",params:[t.id]});if("string"==typeof r[0])return r;const o=r.map(e=>Js(e));return"abi"in t&&t.abi?Ks({abi:t.abi,logs:o,strict:n}):o}async function mc(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function gc(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0}={}){return new Promise((o,s)=>{const a=async({count:i=0}={})=>{try{const t=await e();o(t)}catch(e){if(i<n&&await r({count:i,error:e}))return(async({error:e})=>{const n="function"==typeof t?t({count:i,error:e}):t;n&&await cc(n),a({count:i+1})})({error:e});s(e)}};a()})}const bc={"0x0":"reverted","0x1":"success"};function yc(e){const t={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(e=>Js(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?jt(e.transactionIndex):null,status:e.status?bc[e.status]:null,type:e.type?ms[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}let wc,vc=256;function xc(e=11){if(!wc||vc+e>512){wc="",vc=0;for(let e=0;e<256;e++)wc+=(256+256*Math.random()|0).toString(16).substring(1)}return wc.substring(vc,vc+++e)}function Ec(e){if(!(e instanceof tt))return!1;const t=e.walk(e=>e instanceof Qr);return t instanceof Qr&&("HttpError"===t.data?.errorName||("ResolverError"===t.data?.errorName||("ResolverNotContract"===t.data?.errorName||("ResolverNotFound"===t.data?.errorName||("ReverseAddressMismatch"===t.data?.errorName||"UnsupportedResolverProfile"===t.data?.errorName)))))}const Pc="/docs/contract/encodeErrorResult";function kc(e){const{abi:t,errorName:n,args:r}=e;let o=t[0];if(n){const e=ar({abi:t,args:r,name:n});if(!e)throw new dt(n,{docsPath:Pc});o=e}if("error"!==o.type)throw new dt(void 0,{docsPath:Pc});const s=Ye(o),a=sr(s);let i="0x";if(r&&r.length>0){if(!o.inputs)throw new lt(o.name,{docsPath:Pc});i=tr(o.inputs,r)}return Yn([a,i])}const Ac="/docs/contract/encodeFunctionResult";const Ic="x-batch-gateway:true";async function Sc(e){const{data:t,ccipRequest:n}=e,{args:[r]}=function(e){const{abi:t,data:n}=e,r=Zn(n,0,4),o=t.find(e=>"function"===e.type&&r===sr(Ye(e)));if(!o)throw new yt(r,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:o.name,args:"inputs"in o&&o.inputs&&o.inputs.length>0?Nr(o.inputs,Zn(n,4)):void 0}}({abi:Oi,data:t}),o=[],s=[];return await Promise.all(r.map(async(e,t)=>{try{s[t]=e.urls.includes(Ic)?await Sc({data:e.data,ccipRequest:n}):await n(e),o[t]=!1}catch(e){o[t]=!0,s[t]="HttpRequestError"===(r=e).name&&r.status?kc({abi:Oi,errorName:"HttpError",args:[r.status,r.shortMessage]}):kc({abi:[yr],errorName:"Error",args:["shortMessage"in r?r.shortMessage:r.message]})}var r})),function(e){const{abi:t,functionName:n,result:r}=e;let o=t[0];if(n){const e=ar({abi:t,name:n});if(!e)throw new gt(n,{docsPath:Ac});o=e}if("function"!==o.type)throw new gt(void 0,{docsPath:Ac});if(!o.outputs)throw new bt(o.name,{docsPath:Ac});const s=(()=>{if(0===o.outputs.length)return[];if(1===o.outputs.length)return[r];if(Array.isArray(r))return r;throw new At(r)})();return tr(o.outputs,s)}({abi:Oi,functionName:"query",result:[o,s]})}function Nc(e){if(66!==e.length)return null;if(0!==e.indexOf("["))return null;if(65!==e.indexOf("]"))return null;const t=`0x${e.slice(1,65)}`;return Ke(t)?t:null}function Tc(e){let t=new Uint8Array(32).fill(0);if(!e)return qt(t);const n=e.split(".");for(let e=n.length-1;e>=0;e-=1){const r=Nc(n[e]),o=r?Zt(r):_n(Xt(n[e]),"bytes");t=_n(Hn([t,o]),"bytes")}return qt(t)}function $c(e){return`[${e.slice(2)}]`}function Bc(e){const t=new Uint8Array(32).fill(0);return e?Nc(e)||_n(Xt(e)):qt(t)}function Cc(e){const t=e.replace(/^\.|\.$/gm,"");if(0===t.length)return new Uint8Array(1);const n=new Uint8Array(Xt(t).byteLength+2);let r=0;const o=t.split(".");for(let e=0;e<o.length;e++){let t=Xt(o[e]);t.byteLength>255&&(t=Xt($c(Bc(o[e])))),n[r]=t.length,n.set(t,r+1),r+=t.length+1}return n.byteLength!==r+1?n.slice(0,r+1):n}class Oc extends tt{constructor({data:e}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(e)}`],name:"EnsAvatarInvalidMetadataError"})}}class _c extends tt{constructor({reason:e}){super(`ENS NFT avatar URI is invalid. ${e}`,{name:"EnsAvatarInvalidNftUriError"})}}class Rc extends tt{constructor({uri:e}){super(`Unable to resolve ENS avatar URI "${e}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class zc extends tt{constructor({namespace:e}){super(`ENS NFT avatar namespace "${e}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const Mc=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,Lc=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,Fc=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,jc=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;function Uc(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Dc({uri:e,gatewayUrls:t}){const n=Fc.test(e);if(n)return{uri:e,isOnChain:!0,isEncoded:n};const r=Uc(t?.ipfs,"https://ipfs.io"),o=Uc(t?.arweave,"https://arweave.net"),s=e.match(Mc),{protocol:a,subpath:i,target:c,subtarget:u=""}=s?.groups||{},l="ipns:/"===a||"ipns/"===i,d="ipfs:/"===a||"ipfs/"===i||Lc.test(e);if(e.startsWith("http")&&!l&&!d){let n=e;return t?.arweave&&(n=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:n,isOnChain:!1,isEncoded:!1}}if((l||d)&&c)return{uri:`${r}/${l?"ipns":"ipfs"}/${c}${u}`,isOnChain:!1,isEncoded:!1};if("ar:/"===a&&c)return{uri:`${o}/${c}${u||""}`,isOnChain:!1,isEncoded:!1};let f=e.replace(jc,"");if(f.startsWith("<svg")&&(f=`data:image/svg+xml;base64,${btoa(f)}`),f.startsWith("data:")||f.startsWith("{"))return{uri:f,isOnChain:!0,isEncoded:!1};throw new Rc({uri:e})}function Gc(e){if("object"!=typeof e||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new Oc({data:e});return e.image||e.image_url||e.image_data}async function qc({gatewayUrls:e,uri:t}){const{uri:n,isOnChain:r}=Dc({uri:t,gatewayUrls:e});if(r)return n;const o=await async function(e){try{const t=await fetch(e,{method:"HEAD"});if(200===t.status){const e=t.headers.get("content-type");return e?.startsWith("image/")}return!1}catch(t){return("object"!=typeof t||void 0===t.response)&&!!Object.hasOwn(globalThis,"Image")&&new Promise(t=>{const n=new Image;n.onload=()=>{t(!0)},n.onerror=()=>{t(!1)},n.src=e})}}(n);if(o)return n;throw new Rc({uri:t})}async function Vc(e,{gatewayUrls:t,record:n}){return/eip155:/i.test(n)?async function(e,{gatewayUrls:t,record:n}){const r=function(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[n,r,o]=t.split("/"),[s,a]=n.split(":"),[i,c]=r.split(":");if(!s||"eip155"!==s.toLowerCase())throw new _c({reason:"Only EIP-155 supported"});if(!a)throw new _c({reason:"Chain ID not found"});if(!c)throw new _c({reason:"Contract address not found"});if(!o)throw new _c({reason:"Token ID not found"});if(!i)throw new _c({reason:"ERC namespace not found"});return{chainID:Number.parseInt(a,10),namespace:i.toLowerCase(),contractAddress:c,tokenID:o}}(n),o=await async function(e,{nft:t}){if("erc721"===t.namespace)return rc(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if("erc1155"===t.namespace)return rc(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new zc({namespace:t.namespace})}(e,{nft:r}),{uri:s,isOnChain:a,isEncoded:i}=Dc({uri:o,gatewayUrls:t});if(a&&(s.includes("data:application/json;base64,")||s.startsWith("{"))){const e=i?atob(s.replace("data:application/json;base64,","")):s;return qc({uri:Gc(JSON.parse(e)),gatewayUrls:t})}let c=r.tokenID;"erc1155"===r.namespace&&(c=c.replace("0x","").padStart(64,"0"));return async function({gatewayUrls:e,uri:t}){try{const n=await fetch(t).then(e=>e.json());return await qc({gatewayUrls:e,uri:Gc(n)})}catch{throw new Rc({uri:t})}}({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}(e,{gatewayUrls:t,record:n}):qc({uri:n,gatewayUrls:t})}async function Wc(e,t){const{blockNumber:n,blockTag:r,key:o,name:s,gatewayUrls:a,strict:i}=t,{chain:c}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Ki({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})(),l=c?.ensTlds;if(l&&!l.some(e=>s.endsWith(e)))return null;try{const t={address:u,abi:Ri,args:[Dt(Cc(s)),gr({abi:Mi,functionName:"text",args:[Tc(s),o]}),a??[Ic]],functionName:"resolveWithGateways",blockNumber:n,blockTag:r},i=He(e,rc,"readContract"),c=await i(t);if("0x"===c[0])return null;const l=ta({abi:Mi,functionName:"text",data:c[0]});return""===l?null:l}catch(e){if(i)throw e;if(Ec(e))return null;throw e}}async function Hc(e,t){const{account:n=e.account,blockNumber:r,blockTag:o="latest",blobs:s,data:a,gas:i,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:l,maxPriorityFeePerGas:d,to:f,value:h,...p}=t,m=n?pr(n):void 0;try{ls(t);const n=("bigint"==typeof r?Vt(r):void 0)||o,g=e.chain?.formatters?.transactionRequest?.format,b=(g||ss)({...rs(p,{format:g}),from:m?.address,blobs:s,data:a,gas:i,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:l,maxPriorityFeePerGas:d,to:f,value:h}),y=await e.request({method:"eth_createAccessList",params:[b,n]});return{accessList:y.accessList,gasUsed:BigInt(y.gasUsed)}}catch(n){throw Ji(n,{...t,account:m,chain:e.chain})}}async function Yc(e,{address:t,args:n,event:r,events:o,fromBlock:s,strict:a,toBlock:i}={}){const c=o??(r?[r]:void 0),u=fr(e,{method:"eth_newFilter"});let l=[];if(c){const e=c.flatMap(e=>lr({abi:[e],eventName:e.name,args:n}));l=[e],r&&(l=l[0])}const d=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:"bigint"==typeof s?Vt(s):s,toBlock:"bigint"==typeof i?Vt(i):i,...l.length?{topics:l}:{}}]});return{abi:c,args:n,eventName:r?r.name:void 0,fromBlock:s,id:d,request:u(d),strict:Boolean(a),toBlock:i,type:"event"}}async function Zc(e){const t=fr(e,{method:"eth_newPendingTransactionFilter"}),n=await e.request({method:"eth_newPendingTransactionFilter"});return{id:n,request:t(n),type:"transaction"}}async function Kc(e,{address:t,blockNumber:n,blockTag:r="latest"}){const o=void 0!==n?Vt(n):void 0,s=await e.request({method:"eth_getCode",params:[t,o||r]},{dedupe:Boolean(o)});if("0x"!==s)return s}class Jc extends tt{constructor({address:e}){super(`No EIP-712 domain found on contract "${e}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${e}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}const Qc=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];async function Xc(e,{blockCount:t,blockNumber:n,blockTag:r="latest",rewardPercentiles:o}){const s="bigint"==typeof n?Vt(n):void 0;return function(e){return{baseFeePerGas:e.baseFeePerGas.map(e=>BigInt(e)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:e.reward?.map(e=>e.map(e=>BigInt(e)))}}(await e.request({method:"eth_feeHistory",params:[Vt(t),s||r,o]},{dedupe:Boolean(s)}))}const eu=new jn(8192);function tu(e,t={}){return async(n,r={})=>{const{dedupe:o=!1,methods:s,retryDelay:a=150,retryCount:i=3,uid:c}={...t,...r},{method:u}=n;if(s?.exclude?.includes(u))throw new bo(new Error("method not supported"),{method:u});if(s?.include&&!s.include.includes(u))throw new bo(new Error("method not supported"),{method:u});return function(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(eu.get(n))return eu.get(n);const r=e().finally(()=>eu.delete(n));return eu.set(n,r),r}(()=>gc(async()=>{try{return await e(n)}catch(e){const t=e;switch(t.code){case io.code:throw new io(t);case co.code:throw new co(t);case uo.code:throw new uo(t,{method:n.method});case lo.code:throw new lo(t);case fo.code:throw new fo(t);case ho.code:throw new ho(t);case po.code:throw new po(t);case mo.code:throw new mo(t);case go.code:throw new go(t);case bo.code:throw new bo(t,{method:n.method});case yo.code:throw new yo(t);case wo.code:throw new wo(t);case vo.code:throw new vo(t);case xo.code:throw new xo(t);case Eo.code:throw new Eo(t);case Po.code:throw new Po(t);case ko.code:throw new ko(t);case Ao.code:throw new Ao(t);case Io.code:throw new Io(t);case So.code:throw new So(t);case No.code:throw new No(t);case To.code:throw new To(t);case $o.code:throw new $o(t);case Bo.code:throw new Bo(t);case Co.code:throw new Co(t);case 5e3:throw new vo(t);default:if(e instanceof tt)throw e;throw new Oo(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof no){const e=t?.headers?.get("Retry-After");if(e?.match(/\d/))return 1e3*Number.parseInt(e,10)}return(1<<e)*a},retryCount:i,shouldRetry:({error:e})=>function(e){if("code"in e&&"number"==typeof e.code)return-1===e.code||(e.code===yo.code||e.code===fo.code);if(e instanceof no&&e.status)return 403===e.status||(408===e.status||(413===e.status||(429===e.status||(500===e.status||(502===e.status||(503===e.status||504===e.status))))));return!0}(e)}),{enabled:o,id:o?Ht(`${c}.${_r(n)}`):void 0})}}class nu extends tt{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:o,urls:s}){super(t.shortMessage||"An error occurred while fetching for an offchain result.",{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?"":[],"Offchain Gateway Call:",s&&[" Gateway URL(s):",...s.map(e=>` ${e}`)],` Sender: ${o}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:"OffchainLookupError"})}}class ru extends tt{constructor({result:e,url:t}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${t}`,`Response: ${_r(e)}`],name:"OffchainLookupResponseMalformedError"})}}class ou extends tt{constructor({sender:e,to:t}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:"OffchainLookupSenderMismatchError"})}}const su={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function au({data:e,sender:t,urls:n}){let r=new Error("An unknown error occurred.");for(let o=0;o<n.length;o++){const s=n[o],a=s.includes("{data}")?"GET":"POST",i="POST"===a?{data:e,sender:t}:void 0,c="POST"===a?{"Content-Type":"application/json"}:{};try{const n=await fetch(s.replace("{sender}",t.toLowerCase()).replace("{data}",e),{body:JSON.stringify(i),headers:c,method:a});let o;if(o=n.headers.get("Content-Type")?.startsWith("application/json")?(await n.json()).data:await n.text(),!n.ok){r=new no({body:i,details:o?.error?_r(o.error):n.statusText,headers:n.headers,status:n.status,url:s});continue}if(!Ke(o)){r=new ru({result:o,url:s});continue}return o}catch(e){r=new no({body:i,details:e.message,url:s})}}throw r}var iu=Object.freeze({__proto__:null,ccipRequest:au,offchainLookup:async function(e,{blockNumber:t,blockTag:n,data:r,to:o}){const{args:s}=Or({data:r,abi:[su]}),[a,i,c,u,l]=s,{ccipRead:d}=e,f=d&&"function"==typeof d?.request?d.request:au;try{if(!Ws(o,a))throw new ou({sender:a,to:o});const r=i.includes(Ic)?await Sc({data:c,ccipRequest:f}):await f({data:c,sender:a,urls:i}),{data:s}=await tc(e,{blockNumber:t,blockTag:n,data:Hn([u,tr([{type:"bytes"},{type:"bytes"}],[r,l])]),to:o});return s}catch(e){throw new nu({callbackSelector:u,cause:e,data:r,extraData:l,sender:a,urls:i})}},offchainLookupAbiItem:su,offchainLookupSignature:"0x556f1830"});function cu(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const uu=cu();function lu(e,t={}){return{async request(n){const{body:r,fetchFn:o=t.fetchFn??fetch,onRequest:s=t.onRequest,onResponse:a=t.onResponse,timeout:i=t.timeout??1e4}=n,c={...t.fetchOptions??{},...n.fetchOptions??{}},{headers:u,method:l,signal:d}=c;try{const t=await function(e,{errorInstance:t=new Error("timed out"),timeout:n,signal:r}){return new Promise((o,s)=>{(async()=>{let a;try{const t=new AbortController;n>0&&(a=setTimeout(()=>{r&&t.abort()},n)),o(await e({signal:t?.signal||null}))}catch(e){"AbortError"===e?.name&&s(t),s(e)}finally{clearTimeout(a)}})()})}(async({signal:t})=>{const n={...c,body:Array.isArray(r)?_r(r.map(e=>({jsonrpc:"2.0",id:e.id??uu.take(),...e}))):_r({jsonrpc:"2.0",id:r.id??uu.take(),...r}),headers:{"Content-Type":"application/json",...u},method:l||"POST",signal:d||(i>0?t:null)},a=new Request(e,n),f=await(s?.(a,n))??{...n,url:e};return await o(f.url??e,f)},{errorInstance:new oo({body:r,url:e}),timeout:i,signal:!0});let n;if(a&&await a(t),t.headers.get("Content-Type")?.startsWith("application/json"))n=await t.json();else{n=await t.text();try{n=JSON.parse(n||"{}")}catch(e){if(t.ok)throw e;n={error:n}}}if(!t.ok)throw new no({body:r,details:_r(n.error)||t.statusText,headers:t.headers,status:t.status,url:e});return n}catch(t){if(t instanceof no)throw t;if(t instanceof oo)throw t;throw new no({body:r,cause:t,url:e})}}}}function du(e,t){return _n(function(e){const t="string"==typeof e?Ht(e):"string"==typeof e.raw?e.raw:qt(e.raw);return Hn([Ht(`Ethereum Signed Message:\n${Je(t)}`),t])}(e),t)}class fu extends tt{constructor({domain:e}){super(`Invalid domain "${_r(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class hu extends tt{constructor({primaryType:e,types:t}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(t))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class pu extends tt{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function mu({domain:e}){return["string"==typeof e?.name&&{name:"name",type:"string"},e?.version&&{name:"version",type:"string"},("number"==typeof e?.chainId||"bigint"==typeof e?.chainId)&&{name:"chainId",type:"uint256"},e?.verifyingContract&&{name:"verifyingContract",type:"address"},e?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function gu(e){if("address"===e||"bool"===e||"string"===e||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new pu({type:e})}function bu(e){const{domain:t={},message:n,primaryType:r}=e,o={EIP712Domain:mu({domain:t}),...e.types};!function(e){const{domain:t,message:n,primaryType:r,types:o}=e,s=(e,t)=>{for(const n of e){const{name:e,type:r}=n,a=t[e],i=r.match(er);if(i&&("number"==typeof a||"bigint"==typeof a)){const[e,t,n]=i;Vt(a,{signed:"int"===t,size:Number.parseInt(n,10)/8})}if("address"===r&&"string"==typeof a&&!Wn(a))throw new Fn({address:a});const c=r.match(Xn);if(c){const[e,t]=c;if(t&&Je(a)!==Number.parseInt(t,10))throw new vt({expectedSize:Number.parseInt(t,10),givenSize:Je(a)})}const u=o[r];u&&(gu(r),s(u,a))}};if(o.EIP712Domain&&t){if("object"!=typeof t)throw new fu({domain:t});s(o.EIP712Domain,t)}if("EIP712Domain"!==r){if(!o[r])throw new hu({primaryType:r,types:o});s(o[r],n)}}({domain:t,message:n,primaryType:r,types:o});const s=["0x1901"];return t&&s.push(function({domain:e,types:t}){return yu({data:e,primaryType:"EIP712Domain",types:t})}({domain:t,types:o})),"EIP712Domain"!==r&&s.push(yu({data:n,primaryType:r,types:o})),_n(Hn(s))}function yu({data:e,primaryType:t,types:n}){return _n(wu({data:e,primaryType:t,types:n}))}function wu({data:e,primaryType:t,types:n}){const r=[{type:"bytes32"}],o=[vu({primaryType:t,types:n})];for(const s of n[t]){const[t,a]=Eu({types:n,name:s.name,type:s.type,value:e[s.name]});r.push(t),o.push(a)}return tr(r,o)}function vu({primaryType:e,types:t}){const n=Dt(function({primaryType:e,types:t}){let n="";const r=xu({primaryType:e,types:t});r.delete(e);const o=[e,...Array.from(r).sort()];for(const e of o)n+=`${e}(${t[e].map(({name:e,type:t})=>`${t} ${e}`).join(",")})`;return n}({primaryType:e,types:t}));return _n(n)}function xu({primaryType:e,types:t},n=new Set){const r=e.match(/^\w*/u),o=r?.[0];if(n.has(o)||void 0===t[o])return n;n.add(o);for(const e of t[o])xu({primaryType:e.type,types:t},n);return n}function Eu({types:e,name:t,type:n,value:r}){if(void 0!==e[n])return[{type:"bytes32"},_n(wu({data:r,primaryType:n,types:e}))];if("bytes"===n){return[{type:"bytes32"},_n(r=`0x${(r.length%2?"0":"")+r.slice(2)}`)]}if("string"===n)return[{type:"bytes32"},_n(Dt(r))];if(n.lastIndexOf("]")===n.length-1){const o=n.slice(0,n.lastIndexOf("[")),s=r.map(n=>Eu({name:t,type:o,types:e,value:n}));return[{type:"bytes32"},_n(tr(s.map(([e])=>e),s.map(([,e])=>e)))]}return[{type:n},r]}class Pu extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const t=super.get(e);return super.has(e)&&void 0!==t&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){const e=this.keys().next().value;e&&this.delete(e)}return this}}const ku={checksum:new Pu(8192)}.checksum;function Au(e,t={}){const{as:n=("string"==typeof e?"Hex":"Bytes")}=t,r=On(Ja(e));return"Bytes"===n?r:pi(r)}const Iu=/^0x[a-fA-F0-9]{40}$/;function Su(e,t={}){const{strict:n=!0}=t;if(!Iu.test(e))throw new $u({address:e,cause:new Bu});if(n){if(e.toLowerCase()===e)return;if(Nu(e)!==e)throw new $u({address:e,cause:new Cu})}}function Nu(e){if(ku.has(e))return ku.get(e);Su(e,{strict:!1});const t=e.substring(2).toLowerCase(),n=Au(Xa(t),{as:"Bytes"}),r=t.split("");for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(15&n[e>>1])>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());const o=`0x${r.join("")}`;return ku.set(e,o),o}function Tu(e,t={}){const{strict:n=!0}=t??{};try{return Su(e,{strict:n}),!0}catch{return!1}}class $u extends Ra{constructor({address:e,cause:t}){super(`Address "${e}" is invalid.`,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class Bu extends Ra{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}}class Cu extends Ra{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}const Ou=/^(.*)\[([0-9]*)\]$/,_u=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ru=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,zu=2n**256n-1n;function Mu(e,t,n){const{checksumAddress:r,staticPosition:o}=n,s=Du(t.type);if(s){const[n,a]=s;return function(e,t,n){const{checksumAddress:r,length:o,staticPosition:s}=n;if(!o){const n=s+oi(e.readBytes(Fu)),o=n+Lu;e.setPosition(n);const a=oi(e.readBytes(Lu)),i=Gu(t);let c=0;const u=[];for(let n=0;n<a;++n){e.setPosition(o+(i?32*n:c));const[s,a]=Mu(e,t,{checksumAddress:r,staticPosition:o});c+=a,u.push(s)}return e.setPosition(s+32),[u,32]}if(Gu(t)){const n=s+oi(e.readBytes(Fu)),a=[];for(let s=0;s<o;++s){e.setPosition(n+32*s);const[o]=Mu(e,t,{checksumAddress:r,staticPosition:n});a.push(o)}return e.setPosition(s+32),[a,32]}let a=0;const i=[];for(let n=0;n<o;++n){const[n,o]=Mu(e,t,{checksumAddress:r,staticPosition:s+a});a+=o,i.push(n)}return[i,a]}(e,{...t,type:a},{checksumAddress:r,length:n,staticPosition:o})}if("tuple"===t.type)return function(e,t,n){const{checksumAddress:r,staticPosition:o}=n,s=0===t.components.length||t.components.some(({name:e})=>!e),a=s?[]:{};let i=0;if(Gu(t)){const n=o+oi(e.readBytes(Fu));for(let o=0;o<t.components.length;++o){const c=t.components[o];e.setPosition(n+i);const[u,l]=Mu(e,c,{checksumAddress:r,staticPosition:n});i+=l,a[s?o:c?.name]=u}return e.setPosition(o+32),[a,32]}for(let n=0;n<t.components.length;++n){const c=t.components[n],[u,l]=Mu(e,c,{checksumAddress:r,staticPosition:o});a[s?n:c?.name]=u,i+=l}return[a,i]}(e,t,{checksumAddress:r,staticPosition:o});if("address"===t.type)return function(e,t={}){const{checksum:n=!1}=t,r=e.readBytes(32),o=e=>n?Nu(e):e;return[o(pi(ti(r,-20))),32]}(e,{checksum:r});if("bool"===t.type)return function(e){return[ri(e.readBytes(32),{size:32}),32]}(e);if(t.type.startsWith("bytes"))return function(e,t,{staticPosition:n}){const[r,o]=t.type.split("bytes");if(!o){const t=oi(e.readBytes(32));e.setPosition(n+t);const r=oi(e.readBytes(32));if(0===r)return e.setPosition(n+32),["0x",32];const o=e.readBytes(r);return e.setPosition(n+32),[pi(o),32]}const s=pi(e.readBytes(Number.parseInt(o,10),32));return[s,32]}(e,t,{staticPosition:o});if(t.type.startsWith("uint")||t.type.startsWith("int"))return function(e,t){const n=t.type.startsWith("int"),r=Number.parseInt(t.type.split("int")[1]||"256",10),o=e.readBytes(32);return[r>48?ni(o,{signed:n}):oi(o,{signed:n}),32]}(e,t);if("string"===t.type)return function(e,{staticPosition:t}){const n=oi(e.readBytes(32)),r=t+n;e.setPosition(r);const o=oi(e.readBytes(32));if(0===o)return e.setPosition(t+32),["",32];const s=e.readBytes(o,32),a=si(ai(s));return e.setPosition(t+32),[a,32]}(e,{staticPosition:o});throw new ol(t.type)}const Lu=32,Fu=32;function ju({checksumAddress:e=!1,parameter:t,value:n}){const r=t,o=Du(r.type);if(o){const[t,s]=o;return function(e,t){const{checksumAddress:n,length:r,parameter:o}=t,s=null===r;if(!Array.isArray(e))throw new rl(e);if(!s&&e.length!==r)throw new el({expectedLength:r,givenLength:e.length,type:`${o.type}[${r}]`});let a=!1;const i=[];for(let t=0;t<e.length;t++){const r=ju({checksumAddress:n,parameter:o,value:e[t]});r.dynamic&&(a=!0),i.push(r)}if(s||a){const e=Uu(i);if(s){const t=mi(i.length,{size:32});return{dynamic:!0,encoded:i.length>0?fi(t,e):t}}if(a)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:fi(...i.map(({encoded:e})=>e))}}(n,{checksumAddress:e,length:t,parameter:{...r,type:s}})}if("tuple"===r.type)return function(e,t){const{checksumAddress:n,parameter:r}=t;let o=!1;const s=[];for(let t=0;t<r.components.length;t++){const a=r.components[t],i=ju({checksumAddress:n,parameter:a,value:e[Array.isArray(e)?t:a.name]});s.push(i),i.dynamic&&(o=!0)}return{dynamic:o,encoded:o?Uu(s):fi(...s.map(({encoded:e})=>e))}}(n,{checksumAddress:e,parameter:r});if("address"===r.type)return function(e,t){const{checksum:n=!1}=t;return Su(e,{strict:n}),{dynamic:!1,encoded:bi(e.toLowerCase())}}(n,{checksum:e});if("bool"===r.type)return function(e){if("boolean"!=typeof e)throw new Ra(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:bi(hi(e))}}(n);if(r.type.startsWith("uint")||r.type.startsWith("int")){const e=r.type.startsWith("int"),[,,t="256"]=Ru.exec(r.type)??[];return function(e,{signed:t,size:n}){if("number"==typeof n){const r=2n**(BigInt(n)-(t?1n:0n))-1n,o=t?-r-1n:0n;if(e>r||e<o)throw new ki({max:r.toString(),min:o.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:mi(e,{size:32,signed:t})}}(n,{signed:e,size:Number(t)})}if(r.type.startsWith("bytes"))return function(e,{type:t}){const[,n]=t.split("bytes"),r=vi(e);if(!n){let t=e;return r%32!=0&&(t=yi(t,32*Math.ceil((e.length-2)/2/32))),{dynamic:!0,encoded:fi(bi(mi(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new tl({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:yi(e)}}(n,{type:r.type});if("string"===r.type)return function(e){const t=gi(e),n=Math.ceil(vi(t)/32),r=[];for(let e=0;e<n;e++)r.push(yi(wi(t,32*e,32*(e+1))));return{dynamic:!0,encoded:fi(yi(mi(vi(t),{size:32})),...r)}}(n);throw new ol(r.type)}function Uu(e){let t=0;for(let n=0;n<e.length;n++){const{dynamic:r,encoded:o}=e[n];t+=r?32:vi(o)}const n=[],r=[];let o=0;for(let s=0;s<e.length;s++){const{dynamic:a,encoded:i}=e[s];a?(n.push(mi(t+o,{size:32})),r.push(i),o+=vi(i)):n.push(i)}return fi(...n,...r)}function Du(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function Gu(e){const{type:t}=e;if("string"===t)return!0;if("bytes"===t)return!0;if(t.endsWith("[]"))return!0;if("tuple"===t)return e.components?.some(Gu);const n=Du(e.type);return!(!n||!Gu({...e,type:n[1]}))}const qu={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Hu({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Wu({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Vu({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Vu({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,255&e),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};class Vu extends Ra{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class Wu extends Ra{constructor({length:e,position:t}){super(`Position \`${t}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}}class Hu extends Ra{constructor({count:e,limit:t}){super(`Recursive read limit of \`${t}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}}function Yu(e,t,n={}){const{as:r="Array",checksumAddress:o=!1}=n,s="string"==typeof t?Qa(t):t,a=function(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(qu);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}(s);if(0===ei(s)&&e.length>0)throw new Xu;if(ei(s)&&ei(s)<32)throw new Qu({data:"string"==typeof t?t:pi(t),parameters:e,size:ei(s)});let i=0;const c="Array"===r?[]:{};for(let t=0;t<e.length;++t){const n=e[t];a.setPosition(i);const[s,u]=Mu(a,n,{checksumAddress:o,staticPosition:0});i+=u,"Array"===r?c.push(s):c[n.name??t]=s}return c}function Zu(e,t,n){const{checksumAddress:r=!1}={};if(e.length!==t.length)throw new nl({expectedLength:e.length,givenLength:t.length});const o=function({checksumAddress:e,parameters:t,values:n}){const r=[];for(let o=0;o<t.length;o++)r.push(ju({checksumAddress:e,parameter:t[o],value:n[o]}));return r}({checksumAddress:r,parameters:e,values:t}),s=Uu(o);return 0===s.length?"0x":s}function Ku(e,t){if(e.length!==t.length)throw new nl({expectedLength:e.length,givenLength:t.length});const n=[];for(let r=0;r<e.length;r++){const o=e[r],s=t[r];n.push(Ku.encode(o,s))}return fi(...n)}function Ju(e){return Array.isArray(e)&&"string"==typeof e[0]||"string"==typeof e?We(e):e}!function(e){e.encode=function e(t,n,r=!1){if("address"===t){const e=n;return Su(e),bi(e.toLowerCase(),r?32:0)}if("string"===t)return gi(n);if("bytes"===t)return n;if("bool"===t)return bi(hi(n),r?32:1);const o=t.match(Ru);if(o){const[e,t,s="256"]=o,a=Number.parseInt(s,10)/8;return mi(n,{size:r?32:a,signed:"int"===t})}const s=t.match(_u);if(s){const[e,t]=s;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new tl({expectedSize:Number.parseInt(t,10),value:n});return yi(n,r?32:0)}const a=t.match(Ou);if(a&&Array.isArray(n)){const[t,r]=a,o=[];for(let t=0;t<n.length;t++)o.push(e(r,n[t],!0));return 0===o.length?"0x":fi(...o)}throw new ol(t)}}(Ku||(Ku={}));class Qu extends Ra{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${oe(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class Xu extends Ra{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class el extends Ra{constructor({expectedLength:e,givenLength:t,type:n}){super(`Array length mismatch for type \`${n}\`. Expected: \`${e}\`. Given: \`${t}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class tl extends Ra{constructor({expectedSize:e,value:t}){super(`Size of bytes "${t}" (bytes${vi(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class nl extends Ra{constructor({expectedLength:e,givenLength:t}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join("\n")),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class rl extends Ra{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class ol extends Ra{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}class sl extends mn{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,function(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.createHasher");on(e.outputLen),on(e.blockLen)}(e);const n=pn(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,o=new Uint8Array(r);o.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<o.length;e++)o[e]^=54;this.iHash.update(o),this.oHash=e.create();for(let e=0;e<o.length;e++)o[e]^=106;this.oHash.update(o),un(o)}update(e){return an(this),this.iHash.update(e),this}digestInto(e){an(this),sn(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:n,finished:r,destroyed:o,blockLen:s,outputLen:a}=this;return e.finished=r,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const al=(e,t,n)=>new sl(e,t).update(n).digest();al.create=(e,t)=>new sl(e,t);
3
+ var n;if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function an(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function cn(e,t){sn(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function un(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function ln(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function dn(e,t){return e<<32-t|e>>>t}function fn(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}const hn=(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])()?e=>e:function(e){for(let t=0;t<e.length;t++)e[t]=fn(e[t]);return e};function pn(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e)),sn(e),e}class mn{}function gn(e){const t=t=>e().update(pn(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function bn(e=32){if(rn&&"function"==typeof rn.getRandomValues)return rn.getRandomValues(new Uint8Array(e));if(rn&&"function"==typeof rn.randomBytes)return Uint8Array.from(rn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}const yn=BigInt(0),wn=BigInt(1),vn=BigInt(2),xn=BigInt(7),En=BigInt(256),Pn=BigInt(113),kn=[],An=[],In=[];for(let e=0,t=wn,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],kn.push(2*(5*r+n)),An.push((e+1)*(e+2)/2%64);let o=yn;for(let e=0;e<7;e++)t=(t<<wn^(t>>xn)*Pn)%En,t&vn&&(o^=wn<<(wn<<BigInt(e))-wn);In.push(o)}const Sn=function(e,t=!1){const n=e.length;let r=new Uint32Array(n),o=new Uint32Array(n);for(let s=0;s<n;s++){const{h:n,l:a}=nn(e[s],t);[r[s],o[s]]=[n,a]}return[r,o]}(In,!0),Nn=Sn[0],Tn=Sn[1],$n=(e,t,n)=>n>32?((e,t,n)=>t<<n-32|e>>>64-n)(e,t,n):((e,t,n)=>e<<n|t>>>32-n)(e,t,n),Bn=(e,t,n)=>n>32?((e,t,n)=>e<<n-32|t>>>64-n)(e,t,n):((e,t,n)=>t<<n|e>>>32-n)(e,t,n);class Cn extends mn{constructor(e,t,n,r=!1,o=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.rounds=o,on(n),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");var s;this.state=new Uint8Array(200),this.state32=(s=this.state,new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4)))}clone(){return this._cloneInto()}keccak(){hn(this.state32),function(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){const r=(t+8)%10,o=(t+2)%10,s=n[o],a=n[o+1],i=$n(s,a,1)^n[r],c=Bn(s,a,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=i,e[t+n+1]^=c}let t=e[2],o=e[3];for(let n=0;n<24;n++){const r=An[n],s=$n(t,o,r),a=Bn(t,o,r),i=kn[n];t=e[i],o=e[i+1],e[i]=s,e[i+1]=a}for(let t=0;t<50;t+=10){for(let r=0;r<10;r++)n[r]=e[t+r];for(let r=0;r<10;r++)e[t+r]^=~n[(r+2)%10]&n[(r+4)%10]}e[0]^=Nn[r],e[1]^=Tn[r]}un(n)}(this.state32,this.rounds),hn(this.state32),this.posOut=0,this.pos=0}update(e){an(this),sn(e=pn(e));const{blockLen:t,state:n}=this,r=e.length;for(let o=0;o<r;){const s=Math.min(t-this.pos,r-o);for(let t=0;t<s;t++)n[this.pos++]^=e[o++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,128&t&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){an(this,!1),sn(e),this.finish();const t=this.state,{blockLen:n}=this;for(let r=0,o=e.length;r<o;){this.posOut>=n&&this.keccak();const s=Math.min(n-this.posOut,o-r);e.set(t.subarray(this.posOut,this.posOut+s),r),this.posOut+=s,r+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return on(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(cn(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,un(this.state)}_cloneInto(e){const{blockLen:t,suffix:n,outputLen:r,rounds:o,enableXOF:s}=this;return e||(e=new Cn(t,n,r,s,o)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=o,e.suffix=n,e.outputLen=r,e.enableXOF=s,e.destroyed=this.destroyed,e}}const On=(()=>{return e=1,t=136,n=32,gn(()=>new Cn(t,e,n));var e,t,n})();function _n(e,t){const n=t||"hex",r=On(Ke(e,{strict:!1})?Zt(e):e);return"bytes"===n?r:Dt(r)}function Rn(e){return _n(Zt(e))}const zn=e=>function(e){let t=!0,n="",r=0,o="",s=!1;for(let a=0;a<e.length;a++){const i=e[a];if(["(",")",","].includes(i)&&(t=!0),"("===i&&r++,")"===i&&r--,t)if(0!==r)" "!==i?(o+=i,n+=i):","!==e[a-1]&&","!==n&&",("!==n&&(n="",t=!1);else if(" "===i&&["event","function",""].includes(o))o="";else if(o+=i,")"===i){s=!0;break}}if(!s)throw new tt("Unable to normalize signature.");return o}("string"==typeof e?e:se(e));function Mn(e){return Rn(zn(e))}const Fn=Mn;let Ln=class extends tt{constructor({address:e}){super(`Address "${e}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}},jn=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const t=super.get(e);return super.has(e)&&void 0!==t&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){const e=this.keys().next().value;e&&this.delete(e)}return this}};const Un=new jn(8192);function Dn(e,t){if(Un.has(`${e}.${t}`))return Un.get(`${e}.${t}`);const n=e.substring(2).toLowerCase(),r=_n(Xt(n),"bytes"),o=n.split("");for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&o[e]&&(o[e]=o[e].toUpperCase()),(15&r[e>>1])>=8&&o[e+1]&&(o[e+1]=o[e+1].toUpperCase());const s=`0x${o.join("")}`;return Un.set(`${e}.${t}`,s),s}function Gn(e,t){if(!Wn(e,{strict:!1}))throw new Ln({address:e});return Dn(e,t)}const qn=/^0x[a-fA-F0-9]{40}$/,Vn=new jn(8192);function Wn(e,t){const{strict:n=!0}=t??{},r=`${e}.${n}`;if(Vn.has(r))return Vn.get(r);const o=!(!qn.test(e)||e.toLowerCase()!==e&&n&&Dn(e)!==e);return Vn.set(r,o),o}function Hn(e){return"string"==typeof e[0]?Yn(e):function(e){let t=0;for(const n of e)t+=n.length;const n=new Uint8Array(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(e)}function Yn(e){return`0x${e.reduce((e,t)=>e+t.replace("0x",""),"")}`}function Zn(e,t,n,{strict:r}={}){return Ke(e,{strict:!1})?function(e,t,n,{strict:r}={}){Kn(e,t);const o=`0x${e.replace("0x","").slice(2*(t??0),2*(n??e.length))}`;r&&Jn(o,t,n);return o}(e,t,n,{strict:r}):Qn(e,t,n,{strict:r})}function Kn(e,t){if("number"==typeof t&&t>0&&t>Je(e)-1)throw new Nt({offset:t,position:"start",size:Je(e)})}function Jn(e,t,n){if("number"==typeof t&&"number"==typeof n&&Je(e)!==n-t)throw new Nt({offset:n,position:"end",size:Je(e)})}function Qn(e,t,n,{strict:r}={}){Kn(e,t);const o=e.slice(t,n);return r&&Jn(o,t,n),o}const Xn=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,er=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function tr(e,t){if(e.length!==t.length)throw new ut({expectedLength:e.length,givenLength:t.length});const n=function({params:e,values:t}){const n=[];for(let r=0;r<e.length;r++)n.push(nr({param:e[r],value:t[r]}));return n}({params:e,values:t}),r=rr(n);return 0===r.length?"0x":r}function nr({param:e,value:t}){const n=or(e.type);if(n){const[r,o]=n;return function(e,{length:t,param:n}){const r=null===t;if(!Array.isArray(e))throw new At(e);if(!r&&e.length!==t)throw new it({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let o=!1;const s=[];for(let t=0;t<e.length;t++){const r=nr({param:n,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(r||o){const e=rr(s);if(r){const t=Vt(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?Hn([t,e]):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Hn(s.map(({encoded:e})=>e))}}(t,{length:r,param:{...e,type:o}})}if("tuple"===e.type)return function(e,{param:t}){let n=!1;const r=[];for(let o=0;o<t.components.length;o++){const s=t.components[o],a=nr({param:s,value:e[Array.isArray(e)?o:s.name]});r.push(a),a.dynamic&&(n=!0)}return{dynamic:n,encoded:n?rr(r):Hn(r.map(({encoded:e})=>e))}}(t,{param:e});if("address"===e.type)return function(e){if(!Wn(e))throw new Ln({address:e});return{dynamic:!1,encoded:Ct(e.toLowerCase())}}(t);if("bool"===e.type)return function(e){if("boolean"!=typeof e)throw new tt(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:Ct(Gt(e))}}(t);if(e.type.startsWith("uint")||e.type.startsWith("int")){const n=e.type.startsWith("int"),[,,r="256"]=er.exec(e.type)??[];return function(e,{signed:t,size:n=256}){if("number"==typeof n){const r=2n**(BigInt(n)-(t?1n:0n))-1n,o=t?-r-1n:0n;if(e>r||e<o)throw new Ot({max:r.toString(),min:o.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:Vt(e,{size:32,signed:t})}}(t,{signed:n,size:Number(r)})}if(e.type.startsWith("bytes"))return function(e,{param:t}){const[,n]=t.type.split("bytes"),r=Je(e);if(!n){let t=e;return r%32!=0&&(t=Ct(t,{dir:"right",size:32*Math.ceil((e.length-2)/2/32)})),{dynamic:!0,encoded:Hn([Ct(Vt(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new ct({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Ct(e,{dir:"right"})}}(t,{param:e});if("string"===e.type)return function(e){const t=Ht(e),n=Math.ceil(Je(t)/32),r=[];for(let e=0;e<n;e++)r.push(Ct(Zn(t,32*e,32*(e+1)),{dir:"right"}));return{dynamic:!0,encoded:Hn([Ct(Vt(Je(t),{size:32})),...r])}}(t);throw new Pt(e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function rr(e){let t=0;for(let n=0;n<e.length;n++){const{dynamic:r,encoded:o}=e[n];t+=r?32:Je(o)}const n=[],r=[];let o=0;for(let s=0;s<e.length;s++){const{dynamic:a,encoded:i}=e[s];a?(n.push(Vt(t+o,{size:32})),r.push(i),o+=Je(i)):n.push(i)}return Hn([...n,...r])}function or(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}const sr=e=>Zn(Mn(e),0,4);function ar(e){const{abi:t,args:n=[],name:r}=e,o=Ke(r,{strict:!1}),s=t.filter(e=>o?"function"===e.type?sr(e)===r:"event"===e.type&&Fn(e)===r:"name"in e&&e.name===r);if(0===s.length)return;if(1===s.length)return s[0];let a;for(const e of s){if(!("inputs"in e))continue;if(!n||0===n.length){if(!e.inputs||0===e.inputs.length)return e;continue}if(!e.inputs)continue;if(0===e.inputs.length)continue;if(e.inputs.length!==n.length)continue;const t=n.every((t,n)=>{const r="inputs"in e&&e.inputs[n];return!!r&&ir(t,r)});if(t){if(a&&"inputs"in a&&a.inputs){const t=cr(e.inputs,a.inputs,n);if(t)throw new wt({abiItem:e,type:t[0]},{abiItem:a,type:t[1]})}a=e}}return a||s[0]}function ir(e,t){const n=typeof e,r=t.type;switch(r){case"address":return Wn(e,{strict:!1});case"bool":return"boolean"===n;case"function":case"string":return"string"===n;default:return"tuple"===r&&"components"in t?Object.values(t.components).every((t,n)=>ir(Object.values(e)[n],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?"number"===n||"bigint"===n:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?"string"===n||e instanceof Uint8Array:!!/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)&&(Array.isArray(e)&&e.every(e=>ir(e,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,"")})))}}function cr(e,t,n){for(const r in e){const o=e[r],s=t[r];if("tuple"===o.type&&"tuple"===s.type&&"components"in o&&"components"in s)return cr(o.components,s.components,n[r]);const a=[o.type,s.type];if((()=>!(!a.includes("address")||!a.includes("bytes20"))||(a.includes("address")&&a.includes("string")||!(!a.includes("address")||!a.includes("bytes")))&&Wn(n[r],{strict:!1}))())return a}}const ur="/docs/contract/encodeEventTopics";function lr(e){const{abi:t,eventName:n,args:r}=e;let o=t[0];if(n){const e=ar({abi:t,name:n});if(!e)throw new mt(n,{docsPath:ur});o=e}if("event"!==o.type)throw new mt(void 0,{docsPath:ur});const s=Ye(o),a=Fn(s);let i=[];if(r&&"inputs"in o){const e=o.inputs?.filter(e=>"indexed"in e&&e.indexed),t=Array.isArray(r)?r:Object.values(r).length>0?e?.map(e=>r[e.name])??[]:[];t.length>0&&(i=e?.map((e,n)=>Array.isArray(t[n])?t[n].map((r,o)=>dr({param:e,value:t[n][o]})):void 0!==t[n]&&null!==t[n]?dr({param:e,value:t[n]}):null)??[])}return[a,...i]}function dr({param:e,value:t}){if("string"===e.type||"bytes"===e.type)return _n(Zt(t));if("tuple"===e.type||e.type.match(/^(.*)\[(\d+)?\]$/))throw new St(e.type);return tr([e],[t])}function fr(e,{method:t}){const n={};return"fallback"===e.transport.type&&e.transport.onResponse?.(({method:e,response:r,status:o,transport:s})=>{"success"===o&&t===e&&(n[r]=s.request)}),t=>n[t]||e.request}async function hr(e,t){const{address:n,abi:r,args:o,eventName:s,fromBlock:a,strict:i,toBlock:c}=t,u=fr(e,{method:"eth_newFilter"}),l=s?lr({abi:r,args:o,eventName:s}):void 0,d=await e.request({method:"eth_newFilter",params:[{address:n,fromBlock:"bigint"==typeof a?Vt(a):a,toBlock:"bigint"==typeof c?Vt(c):c,topics:l}]});return{abi:r,args:o,eventName:s,id:d,request:u(d),strict:Boolean(i),type:"event"}}function pr(e){return"string"==typeof e?{address:e,type:"json-rpc"}:e}const mr="/docs/contract/encodeFunctionData";function gr(e){const{args:t}=e,{abi:n,functionName:r}=1===e.abi.length&&e.functionName?.startsWith("0x")?e:function(e){const{abi:t,args:n,functionName:r}=e;let o=t[0];if(r){const e=ar({abi:t,args:n,name:r});if(!e)throw new gt(r,{docsPath:mr});o=e}if("function"!==o.type)throw new gt(void 0,{docsPath:mr});return{abi:[o],functionName:sr(Ye(o))}}(e),o=n[0];return Yn([r,("inputs"in o&&o.inputs?tr(o.inputs,t??[]):void 0)??"0x"])}const br={1:"An `assert` condition failed.",17:"Arithmetic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},yr={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},wr={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"};let vr=class extends tt{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`,{name:"NegativeOffsetError"})}},xr=class extends tt{constructor({length:e,position:t}){super(`Position \`${t}\` is out of bounds (\`0 < position < ${e}\`).`,{name:"PositionOutOfBoundsError"})}},Er=class extends tt{constructor({count:e,limit:t}){super(`Recursive read limit of \`${t}\` exceeded (recursive read count: \`${e}\`).`,{name:"RecursiveReadLimitExceededError"})}};const Pr={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Er({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new xr({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new vr({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new vr({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,255&e),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function kr(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(Pr);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}function Ar(e,t={}){void 0!==t.size&&Ft(e,{size:t.size});return Lt(qt(e,t),t)}function Ir(e,t={}){let n=e;if(void 0!==t.size&&(Ft(n,{size:t.size}),n=Mt(n)),n.length>1||n[0]>1)throw new _t(n);return Boolean(n[0])}function Sr(e,t={}){void 0!==t.size&&Ft(e,{size:t.size});return jt(qt(e,t),t)}function Nr(e,t){const n="string"==typeof t?Qt(t):t,r=kr(n);if(0===Je(n)&&e.length>0)throw new at;if(Je(t)&&Je(t)<32)throw new st({data:"string"==typeof t?t:qt(t),params:e,size:Je(t)});let o=0;const s=[];for(let t=0;t<e.length;++t){const n=e[t];r.setPosition(o);const[a,i]=Tr(r,n,{staticPosition:0});o+=i,s.push(a)}return s}function Tr(e,t,{staticPosition:n}){const r=or(t.type);if(r){const[o,s]=r;return function(e,t,{length:n,staticPosition:r}){if(!n){const n=r+Sr(e.readBytes(Br)),o=n+$r;e.setPosition(n);const s=Sr(e.readBytes($r)),a=Cr(t);let i=0;const c=[];for(let n=0;n<s;++n){e.setPosition(o+(a?32*n:i));const[r,s]=Tr(e,t,{staticPosition:o});i+=s,c.push(r)}return e.setPosition(r+32),[c,32]}if(Cr(t)){const o=r+Sr(e.readBytes(Br)),s=[];for(let r=0;r<n;++r){e.setPosition(o+32*r);const[n]=Tr(e,t,{staticPosition:o});s.push(n)}return e.setPosition(r+32),[s,32]}let o=0;const s=[];for(let a=0;a<n;++a){const[n,a]=Tr(e,t,{staticPosition:r+o});o+=a,s.push(n)}return[s,o]}(e,{...t,type:s},{length:o,staticPosition:n})}if("tuple"===t.type)return function(e,t,{staticPosition:n}){const r=0===t.components.length||t.components.some(({name:e})=>!e),o=r?[]:{};let s=0;if(Cr(t)){const a=n+Sr(e.readBytes(Br));for(let n=0;n<t.components.length;++n){const i=t.components[n];e.setPosition(a+s);const[c,u]=Tr(e,i,{staticPosition:a});s+=u,o[r?n:i?.name]=c}return e.setPosition(n+32),[o,32]}for(let a=0;a<t.components.length;++a){const i=t.components[a],[c,u]=Tr(e,i,{staticPosition:n});o[r?a:i?.name]=c,s+=u}return[o,s]}(e,t,{staticPosition:n});if("address"===t.type)return function(e){const t=e.readBytes(32);return[Dn(qt(Qn(t,-20))),32]}(e);if("bool"===t.type)return function(e){return[Ir(e.readBytes(32),{size:32}),32]}(e);if(t.type.startsWith("bytes"))return function(e,t,{staticPosition:n}){const[r,o]=t.type.split("bytes");if(!o){const t=Sr(e.readBytes(32));e.setPosition(n+t);const r=Sr(e.readBytes(32));if(0===r)return e.setPosition(n+32),["0x",32];const o=e.readBytes(r);return e.setPosition(n+32),[qt(o),32]}const s=qt(e.readBytes(Number.parseInt(o,10),32));return[s,32]}(e,t,{staticPosition:n});if(t.type.startsWith("uint")||t.type.startsWith("int"))return function(e,t){const n=t.type.startsWith("int"),r=Number.parseInt(t.type.split("int")[1]||"256",10),o=e.readBytes(32);return[r>48?Ar(o,{signed:n}):Sr(o,{signed:n}),32]}(e,t);if("string"===t.type)return function(e,{staticPosition:t}){const n=Sr(e.readBytes(32)),r=t+n;e.setPosition(r);const o=Sr(e.readBytes(32));if(0===o)return e.setPosition(t+32),["",32];const s=e.readBytes(o,32),a=function(e,t={}){let n=e;return void 0!==t.size&&(Ft(n,{size:t.size}),n=Mt(n,{dir:"right"})),(new TextDecoder).decode(n)}(Mt(s));return e.setPosition(t+32),[a,32]}(e,{staticPosition:n});throw new kt(t.type,{docsPath:"/docs/contract/decodeAbiParameters"})}const $r=32,Br=32;function Cr(e){const{type:t}=e;if("string"===t)return!0;if("bytes"===t)return!0;if(t.endsWith("[]"))return!0;if("tuple"===t)return e.components?.some(Cr);const n=or(e.type);return!(!n||!Cr({...e,type:n[1]}))}function Or(e){const{abi:t,data:n}=e,r=Zn(n,0,4);if("0x"===r)throw new at;const o=[...t||[],yr,wr].find(e=>"error"===e.type&&r===sr(Ye(e)));if(!o)throw new ft(r,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:o,args:"inputs"in o&&o.inputs&&o.inputs.length>0?Nr(o.inputs,Zn(n,4)):void 0,errorName:o.name}}const _r=(e,t,n)=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString():t,n);function Rr({abiItem:e,args:t,includeFunctionName:n=!0,includeName:r=!1}){if("name"in e&&"inputs"in e&&e.inputs)return`${n?e.name:""}(${e.inputs.map((e,n)=>`${r&&e.name?`${e.name}: `:""}${"object"==typeof t[n]?_r(t[n]):t[n]}`).join(", ")})`}const zr={gwei:9,wei:18},Mr={ether:-9,wei:9};function Fr(e,t){let n=e.toString();const r=n.startsWith("-");r&&(n=n.slice(1)),n=n.padStart(t,"0");let[o,s]=[n.slice(0,n.length-t),n.slice(n.length-t)];return s=s.replace(/(0+)$/,""),`${r?"-":""}${o||"0"}${s?`.${s}`:""}`}function Lr(e,t="wei"){return Fr(e,zr[t])}function jr(e,t="wei"){return Fr(e,Mr[t])}class Ur extends tt{constructor({address:e}){super(`State for account "${e}" is set multiple times.`,{name:"AccountStateConflictError"})}}class Dr extends tt{constructor(){super("state and stateDiff are set on the same account.",{name:"StateAssignmentConflictError"})}}function Gr(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\n`,"")}function qr(e){const t=Object.entries(e).map(([e,t])=>void 0===t||!1===t?null:[e,t]).filter(Boolean),n=t.reduce((e,[t])=>Math.max(e,t.length),0);return t.map(([e,t])=>` ${`${e}:`.padEnd(n+1)} ${t}`).join("\n")}class Vr extends tt{constructor(){super(["Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.","Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others."].join("\n"),{name:"FeeConflictError"})}}class Wr extends tt{constructor({transaction:e}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",qr(e),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class Hr extends tt{constructor({blockHash:e,blockNumber:t,blockTag:n,hash:r,index:o}){let s="Transaction";n&&void 0!==o&&(s=`Transaction at block time "${n}" at index "${o}"`),e&&void 0!==o&&(s=`Transaction at block hash "${e}" at index "${o}"`),t&&void 0!==o&&(s=`Transaction at block number "${t}" at index "${o}"`),r&&(s=`Transaction with hash "${r}"`),super(`${s} could not be found.`,{name:"TransactionNotFoundError"})}}class Yr extends tt{constructor({hash:e}){super(`Transaction receipt with hash "${e}" could not be found. The Transaction may not be processed on a block yet.`,{name:"TransactionReceiptNotFoundError"})}}class Zr extends tt{constructor({hash:e}){super(`Timed out while waiting for transaction with hash "${e}" to be confirmed.`,{name:"WaitForTransactionReceiptTimeoutError"})}}class Kr extends tt{constructor(e,{account:t,docsPath:n,chain:r,data:o,gas:s,gasPrice:a,maxFeePerGas:i,maxPriorityFeePerGas:c,nonce:u,to:l,value:d,stateOverride:f}){const h=t?pr(t):void 0;let p=qr({from:h?.address,to:l,value:void 0!==d&&`${Lr(d)} ${r?.nativeCurrency?.symbol||"ETH"}`,data:o,gas:s,gasPrice:void 0!==a&&`${jr(a)} gwei`,maxFeePerGas:void 0!==i&&`${jr(i)} gwei`,maxPriorityFeePerGas:void 0!==c&&`${jr(c)} gwei`,nonce:u});f&&(p+=`\n${function(e){return e.reduce((e,{address:t,...n})=>{let r=`${e} ${t}:\n`;return n.nonce&&(r+=` nonce: ${n.nonce}\n`),n.balance&&(r+=` balance: ${n.balance}\n`),n.code&&(r+=` code: ${n.code}\n`),n.state&&(r+=" state:\n",r+=Gr(n.state)),n.stateDiff&&(r+=" stateDiff:\n",r+=Gr(n.stateDiff)),r}," State Override:\n").slice(0,-1)}(f)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Raw Call Arguments:",p].filter(Boolean),name:"CallExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class Jr extends tt{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:o,functionName:s,sender:a}){const i=ar({abi:t,args:n,name:s}),c=i?Rr({abiItem:i,args:n,includeFunctionName:!1,includeName:!1}):void 0,u=qr({address:r&&r,function:i?Ye(i,{includeName:!0}):void 0,args:c&&"()"!==c&&`${[...Array(s?.length??0).keys()].map(()=>" ").join("")}${c}`,sender:a});super(e.shortMessage||`An unknown error occurred while executing the contract function "${s}".`,{cause:e,docsPath:o,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],u&&"Contract Call:",u].filter(Boolean),name:"ContractFunctionExecutionError"}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abi=t,this.args=n,this.cause=e,this.contractAddress=r,this.functionName=s,this.sender=a}}class Qr extends tt{constructor({abi:e,data:t,functionName:n,message:r}){let o,s,a,i,c;if(t&&"0x"!==t)try{s=Or({abi:e,data:t});const{abiItem:n,errorName:r,args:o}=s;if("Error"===r)i=o[0];else if("Panic"===r){const[e]=o;i=br[e]}else{const e=n?Ye(n,{includeName:!0}):void 0,t=n&&o?Rr({abiItem:n,args:o,includeFunctionName:!1,includeName:!1}):void 0;a=[e?`Error: ${e}`:"",t&&"()"!==t?` ${[...Array(r?.length??0).keys()].map(()=>" ").join("")}${t}`:""]}}catch(e){o=e}else r&&(i=r);o instanceof ft&&(c=o.signature,a=[`Unable to decode signature "${c}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${c}.`]),super(i&&"execution reverted"!==i||c?[`The contract function "${n}" reverted with the following ${c?"signature":"reason"}:`,i||c].join("\n"):`The contract function "${n}" reverted.`,{cause:o,metaMessages:a,name:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=s,this.raw=t,this.reason=i,this.signature=c}}class Xr extends tt{constructor({functionName:e}){super(`The contract function "${e}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${e}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."],name:"ContractFunctionZeroDataError"})}}class eo extends tt{constructor({factory:e}){super("Deployment for counterfactual contract call failed"+(e?` for factory "${e}".`:""),{metaMessages:["Please ensure:","- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).","- The `factoryData` is a valid encoded function call for contract deployment function on the factory."],name:"CounterfactualDeploymentFailedError"})}}class to extends tt{constructor({data:e,message:t}){super(t||"",{name:"RawContractError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}class no extends tt{constructor({body:e,cause:t,details:n,headers:r,status:o,url:s}){super("HTTP request failed.",{cause:t,details:n,metaMessages:[o&&`Status: ${o}`,`URL: ${s}`,e&&`Request body: ${_r(e)}`].filter(Boolean),name:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{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,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=r,this.status=o,this.url=s}}class ro extends tt{constructor({body:e,error:t,url:n}){super("RPC Request failed.",{cause:t,details:t.message,metaMessages:[`URL: ${n}`,`Request body: ${_r(e)}`],name:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data}}class oo extends tt{constructor({body:e,url:t}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${t}`,`Request body: ${_r(e)}`],name:"TimeoutError"})}}class so extends tt{constructor(e,{code:t,docsPath:n,metaMessages:r,name:o,shortMessage:s}){super(s,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:o||"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=o||e.name,this.code=e instanceof ro?e.code:t??-1}}class ao extends so{constructor(e,t){super(e,t),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}}class io extends so{constructor(e){super(e,{code:io.code,name:"ParseRpcError",shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."})}}Object.defineProperty(io,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});class co extends so{constructor(e){super(e,{code:co.code,name:"InvalidRequestRpcError",shortMessage:"JSON is not a valid request object."})}}Object.defineProperty(co,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});class uo extends so{constructor(e,{method:t}={}){super(e,{code:uo.code,name:"MethodNotFoundRpcError",shortMessage:`The method${t?` "${t}"`:""} does not exist / is not available.`})}}Object.defineProperty(uo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});class lo extends so{constructor(e){super(e,{code:lo.code,name:"InvalidParamsRpcError",shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join("\n")})}}Object.defineProperty(lo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class fo extends so{constructor(e){super(e,{code:fo.code,name:"InternalRpcError",shortMessage:"An internal error was received."})}}Object.defineProperty(fo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class ho extends so{constructor(e){super(e,{code:ho.code,name:"InvalidInputRpcError",shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join("\n")})}}Object.defineProperty(ho,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class po extends so{constructor(e){super(e,{code:po.code,name:"ResourceNotFoundRpcError",shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}}Object.defineProperty(po,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class mo extends so{constructor(e){super(e,{code:mo.code,name:"ResourceUnavailableRpcError",shortMessage:"Requested resource not available."})}}Object.defineProperty(mo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class go extends so{constructor(e){super(e,{code:go.code,name:"TransactionRejectedRpcError",shortMessage:"Transaction creation failed."})}}Object.defineProperty(go,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class bo extends so{constructor(e,{method:t}={}){super(e,{code:bo.code,name:"MethodNotSupportedRpcError",shortMessage:`Method${t?` "${t}"`:""} is not supported.`})}}Object.defineProperty(bo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class yo extends so{constructor(e){super(e,{code:yo.code,name:"LimitExceededRpcError",shortMessage:"Request exceeds defined limit."})}}Object.defineProperty(yo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class wo extends so{constructor(e){super(e,{code:wo.code,name:"JsonRpcVersionUnsupportedError",shortMessage:"Version of JSON-RPC protocol is not supported."})}}Object.defineProperty(wo,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class vo extends ao{constructor(e){super(e,{code:vo.code,name:"UserRejectedRequestError",shortMessage:"User rejected the request."})}}Object.defineProperty(vo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});class xo extends ao{constructor(e){super(e,{code:xo.code,name:"UnauthorizedProviderError",shortMessage:"The requested method and/or account has not been authorized by the user."})}}Object.defineProperty(xo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});class Eo extends ao{constructor(e,{method:t}={}){super(e,{code:Eo.code,name:"UnsupportedProviderMethodError",shortMessage:`The Provider does not support the requested method${t?` " ${t}"`:""}.`})}}Object.defineProperty(Eo,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});class Po extends ao{constructor(e){super(e,{code:Po.code,name:"ProviderDisconnectedError",shortMessage:"The Provider is disconnected from all chains."})}}Object.defineProperty(Po,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});class ko extends ao{constructor(e){super(e,{code:ko.code,name:"ChainDisconnectedError",shortMessage:"The Provider is not connected to the requested chain."})}}Object.defineProperty(ko,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});class Ao extends ao{constructor(e){super(e,{code:Ao.code,name:"SwitchChainError",shortMessage:"An error occurred when attempting to switch chain."})}}Object.defineProperty(Ao,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});class Io extends ao{constructor(e){super(e,{code:Io.code,name:"UnsupportedNonOptionalCapabilityError",shortMessage:"This Wallet does not support a capability that was not marked as optional."})}}Object.defineProperty(Io,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});class So extends ao{constructor(e){super(e,{code:So.code,name:"UnsupportedChainIdError",shortMessage:"This Wallet does not support the requested chain ID."})}}Object.defineProperty(So,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});class No extends ao{constructor(e){super(e,{code:No.code,name:"DuplicateIdError",shortMessage:"There is already a bundle submitted with this ID."})}}Object.defineProperty(No,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});class To extends ao{constructor(e){super(e,{code:To.code,name:"UnknownBundleIdError",shortMessage:"This bundle id is unknown / has not been submitted"})}}Object.defineProperty(To,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});class $o extends ao{constructor(e){super(e,{code:$o.code,name:"BundleTooLargeError",shortMessage:"The call bundle is too large for the Wallet to process."})}}Object.defineProperty($o,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});class Bo extends ao{constructor(e){super(e,{code:Bo.code,name:"AtomicReadyWalletRejectedUpgradeError",shortMessage:"The Wallet can support atomicity after an upgrade, but the user rejected the upgrade."})}}Object.defineProperty(Bo,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});class Co extends ao{constructor(e){super(e,{code:Co.code,name:"AtomicityNotSupportedError",shortMessage:"The wallet does not support atomic execution but the request requires it."})}}Object.defineProperty(Co,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});class Oo extends so{constructor(e){super(e,{name:"UnknownRpcError",shortMessage:"An unknown RPC error occurred."})}}const _o=3;function Ro(e,{abi:t,address:n,args:r,docsPath:o,functionName:s,sender:a}){const i=e instanceof to?e:e instanceof tt?e.walk(e=>"data"in e)||e.walk():{},{code:c,data:u,details:l,message:d,shortMessage:f}=i,h=e instanceof at?new Xr({functionName:s}):[_o,fo.code].includes(c)&&(u||l||d||f)?new Qr({abi:t,data:"object"==typeof u?u.data:u,functionName:s,message:i instanceof ro?l:f??d}):e;return new Jr(h,{abi:t,args:r,contractAddress:n,docsPath:o,functionName:s,sender:a})}function zo(e){if(0===e||1===e)return e;if(27===e)return 0;if(28===e)return 1;throw new Error("Invalid yParityOrV value")}async function Mo({hash:e,signature:t}){return n=await async function({hash:e,signature:t}){const n=Ke(e)?e:Dt(e),{secp256k1:r}=await Promise.resolve().then(function(){return rd}),o=(()=>{if("object"==typeof t&&"r"in t&&"s"in t){const{r:e,s:n,v:o,yParity:s}=t,a=zo(Number(s??o));return new r.Signature(Lt(e),Lt(n)).addRecoveryBit(a)}const e=Ke(t)?t:Dt(t);if(65!==Je(e))throw new Error("invalid signature length");const n=zo(jt(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})();return`0x${o.recoverPublicKey(n.substring(2)).toHex(!1)}`}({hash:e,signature:t}),Dn(`0x${_n(`0x${n.substring(4)}`).substring(26)}`);var n}function Fo(e,t="hex"){const n=Lo(e),r=kr(new Uint8Array(n.length));return n.encode(r),"hex"===t?qt(r.bytes):r.bytes}function Lo(e){return Array.isArray(e)?function(e){const t=e.reduce((e,t)=>e+t.length,0),n=jo(t),r=t<=55?1+t:1+n+t;return{length:r,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),1===n?r.pushUint8(t):2===n?r.pushUint16(t):3===n?r.pushUint24(t):r.pushUint32(t));for(const{encode:t}of e)t(r)}}}(e.map(e=>Lo(e))):function(e){const t="string"==typeof e?Qt(e):e,n=jo(t.length),r=1===t.length&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length;return{length:r,encode(e){1===t.length&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),1===n?e.pushUint8(t.length):2===n?e.pushUint16(t.length):3===n?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}(e)}function jo(e){if(e<256)return 1;if(e<65536)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new tt("Length is too large.")}function Uo(e){const{chainId:t,nonce:n,to:r}=e,o=e.contractAddress??e.address,s=_n(Yn(["0x05",Fo([t?Vt(t):"0x",o,n?Vt(n):"0x"])]));return"bytes"===r?Qt(s):s}async function Do(e){const{authorization:t,signature:n}=e;return Mo({hash:Uo(t),signature:n??t})}class Go extends tt{constructor(e,{account:t,docsPath:n,chain:r,data:o,gas:s,gasPrice:a,maxFeePerGas:i,maxPriorityFeePerGas:c,nonce:u,to:l,value:d}){const f=qr({from:t?.address,to:l,value:void 0!==d&&`${Lr(d)} ${r?.nativeCurrency?.symbol||"ETH"}`,data:o,gas:s,gasPrice:void 0!==a&&`${jr(a)} gwei`,maxFeePerGas:void 0!==i&&`${jr(i)} gwei`,maxPriorityFeePerGas:void 0!==c&&`${jr(c)} gwei`,nonce:u});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages," "]:[],"Estimate Gas Arguments:",f].filter(Boolean),name:"EstimateGasExecutionError"}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}class qo extends tt{constructor({cause:e,message:t}={}){const n=t?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${n?`with reason: ${n}`:"for an unknown reason"}.`,{cause:e,name:"ExecutionRevertedError"})}}Object.defineProperty(qo,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(qo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class Vo extends tt{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\`maxFeePerGas\`${t?` = ${jr(t)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:"FeeCapTooHighError"})}}Object.defineProperty(Vo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Wo extends tt{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\`maxFeePerGas\`${t?` = ${jr(t)}`:""} gwei) cannot be lower than the block base fee.`,{cause:e,name:"FeeCapTooLowError"})}}Object.defineProperty(Wo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class Ho extends tt{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:""}is higher than the next one expected.`,{cause:e,name:"NonceTooHighError"})}}Object.defineProperty(Ho,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class Yo extends tt{constructor({cause:e,nonce:t}={}){super([`Nonce provided for the transaction ${t?`(${t}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join("\n"),{cause:e,name:"NonceTooLowError"})}}Object.defineProperty(Yo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class Zo extends tt{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:""}exceeds the maximum allowed nonce.`,{cause:e,name:"NonceMaxValueError"})}}Object.defineProperty(Zo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class Ko extends tt{constructor({cause:e}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join("\n"),{cause:e,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."],name:"InsufficientFundsError"})}}Object.defineProperty(Ko,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/});class Jo extends tt{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:e,name:"IntrinsicGasTooHighError"})}}Object.defineProperty(Jo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class Qo extends tt{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:""}provided for the transaction is too low.`,{cause:e,name:"IntrinsicGasTooLowError"})}}Object.defineProperty(Qo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class Xo extends tt{constructor({cause:e}){super("The transaction type is not supported for this chain.",{cause:e,name:"TransactionTypeNotSupportedError"})}}Object.defineProperty(Xo,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class es extends tt{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${t?` = ${jr(t)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${jr(n)} gwei`:""}).`].join("\n"),{cause:e,name:"TipAboveFeeCapError"})}}Object.defineProperty(es,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class ts extends tt{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:"UnknownNodeError"})}}function ns(e,t){const n=(e.details||"").toLowerCase(),r=e instanceof tt?e.walk(e=>e?.code===qo.code):e;return r instanceof tt?new qo({cause:e,message:r.details}):qo.nodeMessage.test(n)?new qo({cause:e,message:e.details}):Vo.nodeMessage.test(n)?new Vo({cause:e,maxFeePerGas:t?.maxFeePerGas}):Wo.nodeMessage.test(n)?new Wo({cause:e,maxFeePerGas:t?.maxFeePerGas}):Ho.nodeMessage.test(n)?new Ho({cause:e,nonce:t?.nonce}):Yo.nodeMessage.test(n)?new Yo({cause:e,nonce:t?.nonce}):Zo.nodeMessage.test(n)?new Zo({cause:e,nonce:t?.nonce}):Ko.nodeMessage.test(n)?new Ko({cause:e}):Jo.nodeMessage.test(n)?new Jo({cause:e,gas:t?.gas}):Qo.nodeMessage.test(n)?new Qo({cause:e,gas:t?.gas}):Xo.nodeMessage.test(n)?new Xo({cause:e}):es.nodeMessage.test(n)?new es({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new ts({cause:e})}function rs(e,{format:t}){if(!t)return{};const n={};return function t(r){const o=Object.keys(r);for(const s of o)s in e&&(n[s]=e[s]),r[s]&&"object"==typeof r[s]&&!Array.isArray(r[s])&&t(r[s])}(t(e||{})),n}const os={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function ss(e){const t={};return void 0!==e.authorizationList&&(t.authorizationList=e.authorizationList.map(e=>({address:e.address,r:e.r?Vt(BigInt(e.r)):e.r,s:e.s?Vt(BigInt(e.s)):e.s,chainId:Vt(e.chainId),nonce:Vt(e.nonce),...void 0!==e.yParity?{yParity:Vt(e.yParity)}:{},...void 0!==e.v&&void 0===e.yParity?{v:Vt(e.v)}:{}}))),void 0!==e.accessList&&(t.accessList=e.accessList),void 0!==e.blobVersionedHashes&&(t.blobVersionedHashes=e.blobVersionedHashes),void 0!==e.blobs&&("string"!=typeof e.blobs[0]?t.blobs=e.blobs.map(e=>qt(e)):t.blobs=e.blobs),void 0!==e.data&&(t.data=e.data),void 0!==e.from&&(t.from=e.from),void 0!==e.gas&&(t.gas=Vt(e.gas)),void 0!==e.gasPrice&&(t.gasPrice=Vt(e.gasPrice)),void 0!==e.maxFeePerBlobGas&&(t.maxFeePerBlobGas=Vt(e.maxFeePerBlobGas)),void 0!==e.maxFeePerGas&&(t.maxFeePerGas=Vt(e.maxFeePerGas)),void 0!==e.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=Vt(e.maxPriorityFeePerGas)),void 0!==e.nonce&&(t.nonce=Vt(e.nonce)),void 0!==e.to&&(t.to=e.to),void 0!==e.type&&(t.type=os[e.type]),void 0!==e.value&&(t.value=Vt(e.value)),t}function as(e){if(e&&0!==e.length)return e.reduce((e,{slot:t,value:n})=>{if(66!==t.length)throw new $t({size:t.length,targetSize:66,type:"hex"});if(66!==n.length)throw new $t({size:n.length,targetSize:66,type:"hex"});return e[t]=n,e},{})}function is(e){const{balance:t,nonce:n,state:r,stateDiff:o,code:s}=e,a={};if(void 0!==s&&(a.code=s),void 0!==t&&(a.balance=Vt(t)),void 0!==n&&(a.nonce=Vt(n)),void 0!==r&&(a.state=as(r)),void 0!==o){if(a.state)throw new Dr;a.stateDiff=as(o)}return a}function cs(e){if(!e)return;const t={};for(const{address:n,...r}of e){if(!Wn(n,{strict:!1}))throw new Ln({address:n});if(t[n])throw new Ur({address:n});t[n]=is(r)}return t}const us=2n**256n-1n;function ls(e){const{account:t,gasPrice:n,maxFeePerGas:r,maxPriorityFeePerGas:o,to:s}=e,a=t?pr(t):void 0;if(a&&!Wn(a.address))throw new Ln({address:a.address});if(s&&!Wn(s))throw new Ln({address:s});if(void 0!==n&&(void 0!==r||void 0!==o))throw new Vr;if(r&&r>us)throw new Vo({maxFeePerGas:r});if(o&&r&&o>r)throw new es({maxFeePerGas:r,maxPriorityFeePerGas:o})}class ds extends tt{constructor(){super("`baseFeeMultiplier` must be greater than 1.",{name:"BaseFeeScalarError"})}}class fs extends tt{constructor(){super("Chain does not support EIP-1559 fees.",{name:"Eip1559FeesNotSupportedError"})}}class hs extends tt{constructor({maxPriorityFeePerGas:e}){super(`\`maxFeePerGas\` cannot be less than the \`maxPriorityFeePerGas\` (${jr(e)} gwei).`,{name:"MaxFeePerGasTooLowError"})}}class ps extends tt{constructor({blockHash:e,blockNumber:t}){let n="Block";e&&(n=`Block at hash "${e}"`),t&&(n=`Block at number "${t}"`),super(`${n} could not be found.`,{name:"BlockNotFoundError"})}}const ms={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function gs(e){const t={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?jt(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?jt(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?ms[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(t.authorizationList=e.authorizationList.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))),t.yParity=(()=>{if(e.yParity)return Number(e.yParity);if("bigint"==typeof t.v){if(0n===t.v||27n===t.v)return 0;if(1n===t.v||28n===t.v)return 1;if(t.v>=35n)return t.v%2n==0n?1:0}})(),"legacy"===t.type&&(delete t.accessList,delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas,delete t.yParity),"eip2930"===t.type&&(delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas),"eip1559"===t.type&&delete t.maxFeePerBlobGas,t}function bs(e){const t=(e.transactions??[]).map(e=>"string"==typeof e?e:gs(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:t,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}async function ys(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??"latest",includeTransactions:o}={}){const s=o??!1,a=void 0!==n?Vt(n):void 0;let i=null;if(i=t?await e.request({method:"eth_getBlockByHash",params:[t,s]},{dedupe:!0}):await e.request({method:"eth_getBlockByNumber",params:[a||r,s]},{dedupe:Boolean(a)}),!i)throw new ps({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||bs)(i)}async function ws(e){const t=await e.request({method:"eth_gasPrice"});return BigInt(t)}async function vs(e,t){const{block:n,chain:r=e.chain,request:o}=t||{};try{const t=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if("function"==typeof t){const r=n||await He(e,ys,"getBlock")({}),s=await t({block:r,client:e,request:o});if(null===s)throw new Error;return s}if(void 0!==t)return t;return Lt(await e.request({method:"eth_maxPriorityFeePerGas"}))}catch{const[t,r]=await Promise.all([n?Promise.resolve(n):He(e,ys,"getBlock")({}),He(e,ws,"getGasPrice")({})]);if("bigint"!=typeof t.baseFeePerGas)throw new fs;const o=r-t.baseFeePerGas;return o<0n?0n:o}}async function xs(e,t){const{block:n,chain:r=e.chain,request:o,type:s="eip1559"}=t||{},a=await(async()=>"function"==typeof r?.fees?.baseFeeMultiplier?r.fees.baseFeeMultiplier({block:n,client:e,request:o}):r?.fees?.baseFeeMultiplier??1.2)();if(a<1)throw new ds;const i=10**(a.toString().split(".")[1]?.length??0),c=e=>e*BigInt(Math.ceil(a*i))/BigInt(i),u=n||await He(e,ys,"getBlock")({});if("function"==typeof r?.fees?.estimateFeesPerGas){const t=await r.fees.estimateFeesPerGas({block:n,client:e,multiply:c,request:o,type:s});if(null!==t)return t}if("eip1559"===s){if("bigint"!=typeof u.baseFeePerGas)throw new fs;const t="bigint"==typeof o?.maxPriorityFeePerGas?o.maxPriorityFeePerGas:await vs(e,{block:u,chain:r,request:o}),n=c(u.baseFeePerGas);return{maxFeePerGas:o?.maxFeePerGas??n+t,maxPriorityFeePerGas:t}}return{gasPrice:o?.gasPrice??c(await He(e,ws,"getGasPrice")({}))}}async function Es(e,{address:t,blockTag:n="latest",blockNumber:r}){return jt(await e.request({method:"eth_getTransactionCount",params:[t,"bigint"==typeof r?Vt(r):n]},{dedupe:Boolean(r)}))}function Ps(e){const{kzg:t}=e,n=e.to??("string"==typeof e.blobs[0]?"hex":"bytes"),r="string"==typeof e.blobs[0]?e.blobs.map(e=>Qt(e)):e.blobs,o=[];for(const e of r)o.push(Uint8Array.from(t.blobToKzgCommitment(e)));return"bytes"===n?o:o.map(e=>qt(e))}function ks(e){const{kzg:t}=e,n=e.to??("string"==typeof e.blobs[0]?"hex":"bytes"),r="string"==typeof e.blobs[0]?e.blobs.map(e=>Qt(e)):e.blobs,o="string"==typeof e.commitments[0]?e.commitments.map(e=>Qt(e)):e.commitments,s=[];for(let e=0;e<r.length;e++){const n=r[e],a=o[e];s.push(Uint8Array.from(t.computeBlobKzgProof(n,a)))}return"bytes"===n?s:s.map(e=>qt(e))}function As(e,t,n){return e&t^~e&n}function Is(e,t,n){return e&t^e&n^t&n}class Ss extends mn{constructor(e,t,n,r){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=ln(this.buffer)}update(e){an(this),sn(e=pn(e));const{view:t,buffer:n,blockLen:r}=this,o=e.length;for(let s=0;s<o;){const a=Math.min(r-this.pos,o-s);if(a===r){const t=ln(e);for(;r<=o-s;s+=r)this.process(t,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){an(this),cn(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:r,isLE:o}=this;let{pos:s}=this;t[s++]=128,un(this.buffer.subarray(s)),this.padOffset>r-s&&(this.process(n,0),s=0);for(let e=s;e<r;e++)t[e]=0;!function(e,t,n,r){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,n,r);const o=BigInt(32),s=BigInt(4294967295),a=Number(n>>o&s),i=Number(n&s),c=r?4:0,u=r?0:4;e.setUint32(t+c,a,r),e.setUint32(t+u,i,r)}(n,r-8,BigInt(8*this.length),o),this.process(n,0);const a=ln(e),i=this.outputLen;if(i%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=i/4,u=this.get();if(c>u.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e<c;e++)a.setUint32(4*e,u[e],o)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:r,finished:o,destroyed:s,pos:a}=this;return e.destroyed=s,e.finished=o,e.length=r,e.pos=a,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}}const Ns=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ts=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),$s=new Uint32Array(64);class Bs extends Ss{constructor(e=32){super(64,e,8,!1),this.A=0|Ns[0],this.B=0|Ns[1],this.C=0|Ns[2],this.D=0|Ns[3],this.E=0|Ns[4],this.F=0|Ns[5],this.G=0|Ns[6],this.H=0|Ns[7]}get(){const{A:e,B:t,C:n,D:r,E:o,F:s,G:a,H:i}=this;return[e,t,n,r,o,s,a,i]}set(e,t,n,r,o,s,a,i){this.A=0|e,this.B=0|t,this.C=0|n,this.D=0|r,this.E=0|o,this.F=0|s,this.G=0|a,this.H=0|i}process(e,t){for(let n=0;n<16;n++,t+=4)$s[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=$s[e-15],n=$s[e-2],r=dn(t,7)^dn(t,18)^t>>>3,o=dn(n,17)^dn(n,19)^n>>>10;$s[e]=o+$s[e-7]+r+$s[e-16]|0}let{A:n,B:r,C:o,D:s,E:a,F:i,G:c,H:u}=this;for(let e=0;e<64;e++){const t=u+(dn(a,6)^dn(a,11)^dn(a,25))+As(a,i,c)+Ts[e]+$s[e]|0,l=(dn(n,2)^dn(n,13)^dn(n,22))+Is(n,r,o)|0;u=c,c=i,i=a,a=s+t|0,s=o,o=r,r=n,n=t+l|0}n=n+this.A|0,r=r+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,i=i+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(n,r,o,s,a,i,c,u)}roundClean(){un($s)}destroy(){this.set(0,0,0,0,0,0,0,0),un(this.buffer)}}const Cs=gn(()=>new Bs),Os=Cs;function _s(e){const{commitment:t,version:n=1}=e,r=e.to??("string"==typeof t?"hex":"bytes"),o=Os(Ke(s=t,{strict:!1})?Zt(s):s);var s;return o.set([n],0),"bytes"===r?o:qt(o)}const Rs=4096,zs=131072,Ms=761855;class Fs extends tt{constructor({maxSize:e,size:t}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:"BlobSizeTooLargeError"})}}class Ls extends tt{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}function js(e){const{data:t,kzg:n,to:r}=e,o=e.blobs??function(e){const t="string"==typeof e.data?Qt(e.data):e.data,n=Je(t);if(!n)throw new Ls;if(n>Ms)throw new Fs({maxSize:Ms,size:n});const r=[];let o=!0,s=0;for(;o;){const e=kr(new Uint8Array(zs));let n=0;for(;n<Rs;){const r=t.slice(s,s+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),o=!1;break}n++,s+=31}r.push(e)}return r.map(e=>qt(e.bytes))}({data:t}),s=e.commitments??Ps({blobs:o,kzg:n,to:r}),a=e.proofs??ks({blobs:o,commitments:s,kzg:n,to:r}),i=[];for(let e=0;e<o.length;e++)i.push({blob:o[e],commitment:s[e],proof:a[e]});return i}async function Us(e){return jt(await e.request({method:"eth_chainId"},{dedupe:!0}))}const Ds=["blobVersionedHashes","chainId","fees","gas","nonce","type"],Gs=new Map;async function qs(e,t){const{account:n=e.account,blobs:r,chain:o,gas:s,kzg:a,nonce:i,nonceManager:c,parameters:u=Ds,type:l}=t,d=n?pr(n):n,f={...t,...d?{from:d?.address}:{}};let h,p;async function m(){return h||(h=await He(e,ys,"getBlock")({blockTag:"latest"}),h)}async function g(){if(p)return p;if(o)return o.id;if(void 0!==t.chainId)return t.chainId;const n=await He(e,Us,"getChainId")({});return p=n,p}if(u.includes("nonce")&&void 0===i&&d)if(c){const t=await g();f.nonce=await c.consume({address:d.address,chainId:t,client:e})}else f.nonce=await He(e,Es,"getTransactionCount")({address:d.address,blockTag:"pending"});if((u.includes("blobVersionedHashes")||u.includes("sidecars"))&&r&&a){const e=Ps({blobs:r,kzg:a});if(u.includes("blobVersionedHashes")){const t=function(e){const{commitments:t,version:n}=e,r=e.to,o=[];for(const e of t)o.push(_s({commitment:e,to:r,version:n}));return o}({commitments:e,to:"hex"});f.blobVersionedHashes=t}if(u.includes("sidecars")){const t=js({blobs:r,commitments:e,proofs:ks({blobs:r,commitments:e,kzg:a}),to:"hex"});f.sidecars=t}}if(u.includes("chainId")&&(f.chainId=await g()),(u.includes("fees")||u.includes("type"))&&void 0===l)try{f.type=function(e){if(e.type)return e.type;if(void 0!==e.authorizationList)return"eip7702";if(void 0!==e.blobs||void 0!==e.blobVersionedHashes||void 0!==e.maxFeePerBlobGas||void 0!==e.sidecars)return"eip4844";if(void 0!==e.maxFeePerGas||void 0!==e.maxPriorityFeePerGas)return"eip1559";if(void 0!==e.gasPrice)return void 0!==e.accessList?"eip2930":"legacy";throw new Wr({transaction:e})}(f)}catch{let t=Gs.get(e.uid);if(void 0===t){const n=await m();t="bigint"==typeof n?.baseFeePerGas,Gs.set(e.uid,t)}f.type=t?"eip1559":"legacy"}if(u.includes("fees"))if("legacy"!==f.type&&"eip2930"!==f.type){if(void 0===f.maxFeePerGas||void 0===f.maxPriorityFeePerGas){const n=await m(),{maxFeePerGas:r,maxPriorityFeePerGas:s}=await xs(e,{block:n,chain:o,request:f});if(void 0===t.maxPriorityFeePerGas&&t.maxFeePerGas&&t.maxFeePerGas<s)throw new hs({maxPriorityFeePerGas:s});f.maxPriorityFeePerGas=s,f.maxFeePerGas=r}}else{if(void 0!==t.maxFeePerGas||void 0!==t.maxPriorityFeePerGas)throw new fs;if(void 0===t.gasPrice){const t=await m(),{gasPrice:n}=await xs(e,{block:t,chain:o,request:f,type:"legacy"});f.gasPrice=n}}return u.includes("gas")&&void 0===s&&(f.gas=await He(e,Vs,"estimateGas")({...f,account:d?{address:d.address,type:"json-rpc"}:d})),ls(f),delete f.parameters,f}async function Vs(e,t){const{account:n=e.account}=t,r=n?pr(n):void 0;try{const{accessList:n,authorizationList:o,blobs:s,blobVersionedHashes:a,blockNumber:i,blockTag:c,data:u,gas:l,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:h,maxPriorityFeePerGas:p,nonce:m,value:g,stateOverride:b,...y}=await qs(e,{...t,parameters:"local"===r?.type?void 0:["blobVersionedHashes"]}),w=("bigint"==typeof i?Vt(i):void 0)||c,v=cs(b),x=await(async()=>y.to?y.to:o&&o.length>0?await Do({authorization:o[0]}).catch(()=>{throw new tt("`to` is required. Could not infer from `authorizationList`")}):void 0)();ls(t);const E=e.chain?.formatters?.transactionRequest?.format,P=(E||ss)({...rs(y,{format:E}),from:r?.address,accessList:n,authorizationList:o,blobs:s,blobVersionedHashes:a,data:u,gas:l,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:h,maxPriorityFeePerGas:p,nonce:m,to:x,value:g});return BigInt(await e.request({method:"eth_estimateGas",params:v?[P,w??e.experimental_blockTag??"latest",v]:w?[P,w]:[P]}))}catch(n){throw function(e,{docsPath:t,...n}){const r=(()=>{const t=ns(e,n);return t instanceof ts?e:t})();return new Go(r,{docsPath:t,...n})}(n,{...t,account:r,chain:e.chain})}}function Ws(e,t){if(!Wn(e,{strict:!1}))throw new Ln({address:e});if(!Wn(t,{strict:!1}))throw new Ln({address:t});return e.toLowerCase()===t.toLowerCase()}const Hs="/docs/contract/decodeEventLog";function Ys(e){const{abi:t,data:n,strict:r,topics:o}=e,s=r??!0,[a,...i]=o;if(!a)throw new ht({docsPath:Hs});const c=t.find(e=>"event"===e.type&&a===Fn(Ye(e)));if(!c||!("name"in c)||"event"!==c.type)throw new pt(a,{docsPath:Hs});const{name:u,inputs:l}=c,d=l?.some(e=>!("name"in e&&e.name)),f=d?[]:{},h=l.map((e,t)=>[e,t]).filter(([e])=>"indexed"in e&&e.indexed);for(let e=0;e<h.length;e++){const[t,n]=h[e],r=i[e];if(!r)throw new Et({abiItem:c,param:t});f[d?n:t.name||n]=Zs({param:t,value:r})}const p=l.filter(e=>!("indexed"in e&&e.indexed));if(p.length>0)if(n&&"0x"!==n)try{const e=Nr(p,n);if(e)if(d)for(let t=0;t<l.length;t++)f[t]=f[t]??e.shift();else for(let t=0;t<p.length;t++)f[p[t].name]=e[t]}catch(e){if(s){if(e instanceof st||e instanceof xr)throw new xt({abiItem:c,data:n,params:p,size:Je(n)});throw e}}else if(s)throw new xt({abiItem:c,data:"0x",params:p,size:0});return{eventName:u,args:Object.values(f).length>0?f:void 0}}function Zs({param:e,value:t}){if("string"===e.type||"bytes"===e.type||"tuple"===e.type||e.type.match(/^(.*)\[(\d+)?\]$/))return t;return(Nr([e],t)||[])[0]}function Ks(e){const{abi:t,args:n,logs:r,strict:o=!0}=e,s=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})();return r.map(e=>{try{const r=t.find(t=>"event"===t.type&&e.topics[0]===Fn(t));if(!r)return null;const a=Ys({...e,abi:[r],strict:o});return s&&!s.includes(a.eventName)?null:function(e){const{args:t,inputs:n,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function o(e,t,n){try{return"address"===e.type?Ws(t,n):"string"===e.type||"bytes"===e.type?_n(Zt(t))===n:t===n}catch{return!1}}if(Array.isArray(t)&&Array.isArray(r))return r.every((e,r)=>{if(null==e)return!0;const s=n[r];if(!s)return!1;return(Array.isArray(e)?e:[e]).some(e=>o(s,e,t[r]))});return"object"==typeof t&&!Array.isArray(t)&&"object"==typeof r&&!Array.isArray(r)&&Object.entries(r).every(([e,r])=>{if(null==r)return!0;const s=n.find(t=>t.name===e);if(!s)return!1;return(Array.isArray(r)?r:[r]).some(n=>o(s,n,t[e]))})}({args:a.args,inputs:r.inputs,matchArgs:n})?{...a,...e}:null}catch(t){let n,r;if(t instanceof pt)return null;if(t instanceof xt||t instanceof Et){if(o)return null;n=t.abiItem.name,r=t.abiItem.inputs?.some(e=>!("name"in e&&e.name))}return{...e,args:r?[]:{},eventName:n}}}).filter(Boolean)}function Js(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...n?{args:t,eventName:n}:{}}}async function Qs(e,{address:t,blockHash:n,fromBlock:r,toBlock:o,event:s,events:a,args:i,strict:c}={}){const u=c??!1,l=a??(s?[s]:void 0);let d,f=[];if(l){const e=l.flatMap(e=>lr({abi:[e],eventName:e.name,args:a?void 0:i}));f=[e],s&&(f=f[0])}d=n?await e.request({method:"eth_getLogs",params:[{address:t,topics:f,blockHash:n}]}):await e.request({method:"eth_getLogs",params:[{address:t,topics:f,fromBlock:"bigint"==typeof r?Vt(r):r,toBlock:"bigint"==typeof o?Vt(o):o}]});const h=d.map(e=>Js(e));return l?Ks({abi:l,args:i,logs:h,strict:u}):h}async function Xs(e,t){const{abi:n,address:r,args:o,blockHash:s,eventName:a,fromBlock:i,toBlock:c,strict:u}=t,l=a?ar({abi:n,name:a}):void 0,d=l?void 0:n.filter(e=>"event"===e.type);return He(e,Qs,"getLogs")({address:r,args:o,blockHash:s,event:l,events:d,fromBlock:i,toBlock:c,strict:u})}const ea="/docs/contract/decodeFunctionResult";function ta(e){const{abi:t,args:n,functionName:r,data:o}=e;let s=t[0];if(r){const e=ar({abi:t,args:n,name:r});if(!e)throw new gt(r,{docsPath:ea});s=e}if("function"!==s.type)throw new gt(void 0,{docsPath:ea});if(!s.outputs)throw new bt(s.name,{docsPath:ea});const a=Nr(s.outputs,o);return a&&a.length>1?a:a&&1===a.length?a[0]:void 0}
4
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const na=BigInt(0),ra=BigInt(1);function oa(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function sa(e){if(!oa(e))throw new Error("Uint8Array expected")}function aa(e,t){if("boolean"!=typeof t)throw new Error(e+" boolean expected, got "+t)}function ia(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function ca(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?na:BigInt("0x"+e)}const ua="function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex,la=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function da(e){if(sa(e),ua)return e.toHex();let t="";for(let n=0;n<e.length;n++)t+=la[e[n]];return t}const fa=48,ha=57,pa=65,ma=70,ga=97,ba=102;function ya(e){return e>=fa&&e<=ha?e-fa:e>=pa&&e<=ma?e-(pa-10):e>=ga&&e<=ba?e-(ga-10):void 0}function wa(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);if(ua)return Uint8Array.fromHex(e);const t=e.length,n=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const r=new Uint8Array(n);for(let t=0,o=0;t<n;t++,o+=2){const n=ya(e.charCodeAt(o)),s=ya(e.charCodeAt(o+1));if(void 0===n||void 0===s){const t=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+t+'" at index '+o)}r[t]=16*n+s}return r}function va(e){return ca(da(e))}function xa(e){return sa(e),ca(da(Uint8Array.from(e).reverse()))}function Ea(e,t){return wa(e.toString(16).padStart(2*t,"0"))}function Pa(e,t){return Ea(e,t).reverse()}function ka(e,t,n){let r;if("string"==typeof t)try{r=wa(t)}catch(t){throw new Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!oa(t))throw new Error(e+" must be hex string or Uint8Array");r=Uint8Array.from(t)}const o=r.length;if("number"==typeof n&&o!==n)throw new Error(e+" of length "+n+" expected, got "+o);return r}function Aa(...e){let t=0;for(let n=0;n<e.length;n++){const r=e[n];sa(r),t+=r.length}const n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){const o=e[t];n.set(o,r),r+=o.length}return n}const Ia=e=>"bigint"==typeof e&&na<=e;function Sa(e,t,n){return Ia(e)&&Ia(t)&&Ia(n)&&t<=e&&e<n}function Na(e,t,n,r){if(!Sa(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}const Ta=e=>(ra<<BigInt(e))-ra,$a=e=>new Uint8Array(e),Ba=e=>Uint8Array.from(e);const Ca={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||oa(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function Oa(e,t,n={}){const r=(t,n,r)=>{const o=Ca[n];if("function"!=typeof o)throw new Error("invalid validator function");const s=e[t];if(!(r&&void 0===s||o(s,e)))throw new Error("param "+String(t)+" is invalid. Expected "+n+", got "+s)};for(const[e,n]of Object.entries(t))r(e,n,!1);for(const[e,t]of Object.entries(n))r(e,t,!0);return e}function _a(e){const t=new WeakMap;return(n,...r)=>{const o=t.get(n);if(void 0!==o)return o;const s=e(n,...r);return t.set(n,s),s}}class Ra extends Error{constructor(e,t={}){const n=(()=>{if(t.cause instanceof Ra){if(t.cause.details)return t.cause.details;if(t.cause.shortMessage)return t.cause.shortMessage}return t.cause&&"details"in t.cause&&"string"==typeof t.cause.details?t.cause.details:t.cause?.message?t.cause.message:t.details})(),r=t.cause instanceof Ra&&t.cause.docsPath||t.docsPath,o=`https://oxlib.sh${r??""}`,s=[e||"An error occurred.",...t.metaMessages?["",...t.metaMessages]:[],...n||r?["",n?`Details: ${n}`:void 0,r?`See: ${o}`:void 0]:[]].filter(e=>"string"==typeof e).join("\n");super(s,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:"ox@0.1.1"}),this.cause=t.cause,this.details=n,this.docs=o,this.docsPath=r,this.shortMessage=e}walk(e){return za(this,e)}}function za(e,t){return t?.(e)?e:e&&"object"==typeof e&&"cause"in e&&e.cause?za(e.cause,t):t?null:e}function Ma(e,t){if(ei(e)>t)throw new ci({givenSize:ei(e),maxSize:t})}const Fa=48,La=57,ja=65,Ua=70,Da=97,Ga=102;function qa(e){return e>=Fa&&e<=La?e-Fa:e>=ja&&e<=Ua?e-(ja-10):e>=Da&&e<=Ga?e-(Da-10):void 0}function Va(e,t={}){const{dir:n="left"}=t;let r=e,o=0;for(let e=0;e<r.length-1&&"0"===r["left"===n?e:r.length-e-1].toString();e++)o++;return r="left"===n?r.slice(o):r.slice(0,r.length-o),r}function Wa(e,t){if(vi(e)>t)throw new Si({givenSize:vi(e),maxSize:t})}function Ha(e,t={}){const{dir:n,size:r=32}=t;if(0===r)return e;const o=e.replace("0x","");if(o.length>2*r)throw new Ti({size:Math.ceil(o.length/2),targetSize:r,type:"Hex"});return`0x${o["right"===n?"padEnd":"padStart"](2*r,"0")}`}function Ya(e,t,n){return JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString()+"#__bigint":t,n)}const Za=new TextDecoder,Ka=new TextEncoder;function Ja(e){return e instanceof Uint8Array?e:"string"==typeof e?Qa(e):function(e){return e instanceof Uint8Array?e:new Uint8Array(e)}(e)}function Qa(e,t={}){const{size:n}=t;let r=e;n&&(Wa(e,n),r=yi(e,n));let o=r.slice(2);o.length%2&&(o=`0${o}`);const s=o.length/2,a=new Uint8Array(s);for(let e=0,t=0;e<s;e++){const n=qa(o.charCodeAt(t++)),r=qa(o.charCodeAt(t++));if(void 0===n||void 0===r)throw new Ra(`Invalid byte sequence ("${o[t-2]}${o[t-1]}" in "${o}").`);a[e]=16*n+r}return a}function Xa(e,t={}){const{size:n}=t,r=Ka.encode(e);return"number"==typeof n?(Ma(r,n),function(e,t){return function(e,t={}){const{dir:n,size:r=32}=t;if(0===r)return e;if(e.length>r)throw new ui({size:e.length,targetSize:r,type:"Bytes"});const o=new Uint8Array(r);for(let t=0;t<r;t++){const s="right"===n;o[s?t:r-t-1]=e[s?t:e.length-t-1]}return o}(e,{dir:"right",size:t})}(r,n)):r}function ei(e){return e.length}function ti(e,t,n,r={}){const{strict:o}=r;return e.slice(t,n)}function ni(e,t={}){const{size:n}=t;void 0!==n&&Ma(e,n);return xi(pi(e,t),t)}function ri(e,t={}){const{size:n}=t;let r=e;if(void 0!==n&&(Ma(r,n),r=ai(r)),r.length>1||r[0]>1)throw new ii(r);return Boolean(r[0])}function oi(e,t={}){const{size:n}=t;void 0!==n&&Ma(e,n);return Ei(pi(e,t),t)}function si(e,t={}){const{size:n}=t;let r=e;return void 0!==n&&(Ma(r,n),r=Va(r,{dir:"right"})),Za.decode(r)}function ai(e){return Va(e,{dir:"left"})}class ii extends Ra{constructor(e){super(`Bytes value \`${e}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"})}}let ci=class extends Ra{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},ui=class extends Ra{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}};const li=new TextEncoder,di=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function fi(...e){return`0x${e.reduce((e,t)=>e+t.replace("0x",""),"")}`}function hi(e,t={}){const n=`0x${Number(e)}`;return"number"==typeof t.size?(Wa(n,t.size),bi(n,t.size)):n}function pi(e,t={}){let n="";for(let t=0;t<e.length;t++)n+=di[e[t]];const r=`0x${n}`;return"number"==typeof t.size?(Wa(r,t.size),yi(r,t.size)):r}function mi(e,t={}){const{signed:n,size:r}=t,o=BigInt(e);let s;r?s=n?(1n<<8n*BigInt(r)-1n)-1n:2n**(8n*BigInt(r))-1n:"number"==typeof e&&(s=BigInt(Number.MAX_SAFE_INTEGER));const a="bigint"==typeof s&&n?-s-1n:0;if(s&&o>s||o<a){const t="bigint"==typeof e?"n":"";throw new ki({max:s?`${s}${t}`:void 0,min:`${a}${t}`,signed:n,size:r,value:`${e}${t}`})}const i=`0x${(n&&o<0?(1n<<BigInt(8*r))+BigInt(o):o).toString(16)}`;return r?bi(i,r):i}function gi(e,t={}){return pi(li.encode(e),t)}function bi(e,t){return Ha(e,{dir:"left",size:t})}function yi(e,t){return Ha(e,{dir:"right",size:t})}function wi(e,t,n,r={}){const{strict:o}=r;!function(e,t){if("number"==typeof t&&t>0&&t>vi(e)-1)throw new Ni({offset:t,position:"start",size:vi(e)})}(e,t);const s=`0x${e.replace("0x","").slice(2*(t??0),2*(n??e.length))}`;return o&&function(e,t,n){if("number"==typeof t&&"number"==typeof n&&vi(e)!==n-t)throw new Ni({offset:n,position:"end",size:vi(e)})}(s,t,n),s}function vi(e){return Math.ceil((e.length-2)/2)}function xi(e,t={}){const{signed:n}=t;t.size&&Wa(e,t.size);const r=BigInt(e);if(!n)return r;const o=(e.length-2)/2,s=(1n<<8n*BigInt(o))-1n;return r<=s>>1n?r:r-s-1n}function Ei(e,t={}){const{signed:n,size:r}=t;return Number(n||r?xi(e,t):e)}function Pi(e,t={}){const{strict:n=!1}=t;try{return function(e,t={}){const{strict:n=!1}=t;if(!e)throw new Ai(e);if("string"!=typeof e)throw new Ai(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e))throw new Ii(e);if(!e.startsWith("0x"))throw new Ii(e)}(e,{strict:n}),!0}catch{return!1}}class ki extends Ra{constructor({max:e,min:t,signed:n,size:r,value:o}){super(`Number \`${o}\` is not in safe${r?` ${8*r}-bit`:""}${n?" signed":" unsigned"} integer range ${e?`(\`${t}\` to \`${e}\`)`:`(above \`${t}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class Ai extends Ra{constructor(e){super(`Value \`${"object"==typeof e?Ya(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class Ii extends Ra{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}class Si extends Ra{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}}class Ni extends Ra{constructor({offset:e,position:t,size:n}){super(`Slice ${"start"===t?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${n}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}class Ti extends Ra{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}function $i(e){return{address:e.address,amount:mi(e.amount),index:mi(e.index),validatorIndex:mi(e.validatorIndex)}}function Bi(e){return{..."bigint"==typeof e.baseFeePerGas&&{baseFeePerGas:mi(e.baseFeePerGas)},..."bigint"==typeof e.blobBaseFee&&{blobBaseFee:mi(e.blobBaseFee)},..."string"==typeof e.feeRecipient&&{feeRecipient:e.feeRecipient},..."bigint"==typeof e.gasLimit&&{gasLimit:mi(e.gasLimit)},..."bigint"==typeof e.number&&{number:mi(e.number)},..."bigint"==typeof e.prevRandao&&{prevRandao:mi(e.prevRandao)},..."bigint"==typeof e.time&&{time:mi(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map($i)}}}const Ci=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"}],Oi=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],_i=[{inputs:[{name:"dns",type:"bytes"}],name:"DNSDecodingFailed",type:"error"},{inputs:[{name:"ens",type:"string"}],name:"DNSEncodingFailed",type:"error"},{inputs:[],name:"EmptyAddress",type:"error"},{inputs:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"HttpError",type:"error"},{inputs:[],name:"InvalidBatchGatewayResponse",type:"error"},{inputs:[{name:"errorData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{name:"name",type:"bytes"},{name:"resolver",type:"address"}],name:"ResolverNotContract",type:"error"},{inputs:[{name:"name",type:"bytes"}],name:"ResolverNotFound",type:"error"},{inputs:[{name:"primary",type:"string"},{name:"primaryAddress",type:"bytes"}],name:"ReverseAddressMismatch",type:"error"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"}],name:"UnsupportedResolverProfile",type:"error"}],Ri=[..._i,{name:"resolveWithGateways",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],zi=[..._i,{name:"reverseWithGateways",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"uint256",name:"coinType"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolver"},{type:"address",name:"reverseResolver"}]}],Mi=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],Fi=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],Li=[{name:"isValidSignature",type:"function",stateMutability:"view",inputs:[{name:"hash",type:"bytes32"},{name:"signature",type:"bytes"}],outputs:[{name:"",type:"bytes4"}]}],ji=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}],Ui="0x82ad56cb",Di="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",Gi="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",qi="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",Vi="0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033";class Wi extends tt{constructor({blockNumber:e,chain:t,contract:n}){super(`Chain "${t.name}" does not support contract "${n.name}".`,{metaMessages:["This could be due to any of the following:",...e&&n.blockCreated&&n.blockCreated>e?[`- The contract "${n.name}" was not deployed until block ${n.blockCreated} (current block ${e}).`]:[`- The chain does not have the contract "${n.name}" configured.`]],name:"ChainDoesNotSupportContract"})}}class Hi extends tt{constructor(){super("No chain was provided to the Client.",{name:"ClientChainNotConfiguredError"})}}const Yi="/docs/contract/encodeDeployData";function Zi(e){const{abi:t,args:n,bytecode:r}=e;if(!n||0===n.length)return r;const o=t.find(e=>"type"in e&&"constructor"===e.type);if(!o)throw new rt({docsPath:Yi});if(!("inputs"in o))throw new ot({docsPath:Yi});if(!o.inputs||0===o.inputs.length)throw new ot({docsPath:Yi});return Yn([r,tr(o.inputs,n)])}function Ki({blockNumber:e,chain:t,contract:n}){const r=t?.contracts?.[n];if(!r)throw new Wi({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Wi({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}function Ji(e,{docsPath:t,...n}){const r=(()=>{const t=ns(e,n);return t instanceof ts?e:t})();return new Kr(r,{docsPath:t,...n})}function Qi(){let e=()=>{},t=()=>{};return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}const Xi=new Map;function ec({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:o}){const s=async()=>{const t=i();a();const n=t.map(({args:e})=>e);0!==n.length&&e(n).then(e=>{o&&Array.isArray(e)&&e.sort(o);for(let n=0;n<t.length;n++){const{resolve:r}=t[n];r?.([e[n],e])}}).catch(e=>{for(let n=0;n<t.length;n++){const{reject:r}=t[n];r?.(e)}})},a=()=>Xi.delete(t),i=()=>Xi.get(t)||[],c=e=>Xi.set(t,[...i(),e]);return{flush:a,async schedule(e){const{promise:t,resolve:o,reject:a}=Qi(),u=n?.([...i().map(({args:e})=>e),e]);u&&s();return i().length>0?(c({args:e,resolve:o,reject:a}),t):(c({args:e,resolve:o,reject:a}),setTimeout(s,r),t)}}}async function tc(e,t){const{account:n=e.account,authorizationList:r,batch:o=Boolean(e.batch?.multicall),blockNumber:s,blockTag:a=e.experimental_blockTag??"latest",accessList:i,blobs:c,blockOverrides:u,code:l,data:d,factory:f,factoryData:h,gas:p,gasPrice:m,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:w,to:v,value:x,stateOverride:E,...P}=t,k=n?pr(n):void 0;if(l&&(f||h))throw new tt("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(l&&v)throw new tt("Cannot provide both `code` & `to` as parameters.");const A=l&&d,I=f&&h&&v&&d,S=A||I,N=A?nc({code:l,data:d}):I?function(e){const{data:t,factory:n,factoryData:r,to:o}=e;return Zi({abi:qe(["constructor(address, bytes, address, bytes)"]),bytecode:Gi,args:[o,t,n,r]})}({data:d,factory:f,factoryData:h,to:v}):d;try{ls(t);const n=("bigint"==typeof s?Vt(s):void 0)||a,l=u?Bi(u):void 0,d=cs(E),f=e.chain?.formatters?.transactionRequest?.format,h=(f||ss)({...rs(P,{format:f}),from:k?.address,accessList:i,authorizationList:r,blobs:c,data:N,gas:p,gasPrice:m,maxFeePerBlobGas:g,maxFeePerGas:b,maxPriorityFeePerGas:y,nonce:w,to:S?void 0:v,value:x});if(o&&function({request:e}){const{data:t,to:n,...r}=e;return!!t&&(!t.startsWith(Ui)&&(!!n&&!(Object.values(r).filter(e=>void 0!==e).length>0)))}({request:h})&&!d&&!l)try{return await async function(e,t){const{batchSize:n=1024,deployless:r=!1,wait:o=0}="object"==typeof e.batch?.multicall?e.batch.multicall:{},{blockNumber:s,blockTag:a=e.experimental_blockTag??"latest",data:i,to:c}=t,u=(()=>{if(r)return null;if(t.multicallAddress)return t.multicallAddress;if(e.chain)return Ki({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Hi})(),l="bigint"==typeof s?Vt(s):void 0,d=l||a,{schedule:f}=ec({id:`${e.uid}.${d}`,wait:o,shouldSplitBatch(e){const t=e.reduce((e,{data:t})=>e+(t.length-2),0);return t>2*n},fn:async t=>{const n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=gr({abi:Ci,args:[n],functionName:"aggregate3"}),o=await e.request({method:"eth_call",params:[{...null===u?{data:nc({code:Vi,data:r})}:{to:u,data:r}},d]});return ta({abi:Ci,args:[n],functionName:"aggregate3",data:o||"0x"})}}),[{returnData:h,success:p}]=await f({data:i,to:c});if(!p)throw new to({data:h});return"0x"===h?{data:void 0}:{data:h}}(e,{...h,blockNumber:s,blockTag:a})}catch(e){if(!(e instanceof Hi||e instanceof Wi))throw e}const A=(()=>{const e=[h,n];return d&&l?[...e,d,l]:d?[...e,d]:l?[...e,{},l]:e})(),I=await e.request({method:"eth_call",params:A});return"0x"===I?{data:void 0}:{data:I}}catch(n){const r=function(e){if(!(e instanceof tt))return;const t=e.walk();return"object"==typeof t?.data?t.data?.data:t.data}(n),{offchainLookup:o,offchainLookupSignature:s}=await Promise.resolve().then(function(){return iu});if(!1!==e.ccipRead&&r?.slice(0,10)===s&&v)return{data:await o(e,{data:r,to:v})};if(S&&"0x101bb98d"===r?.slice(0,10))throw new eo({factory:f});throw Ji(n,{...t,account:k,chain:e.chain})}}function nc(e){const{code:t,data:n}=e;return Zi({abi:qe(["constructor(bytes, bytes)"]),bytecode:Di,args:[t,n]})}async function rc(e,t){const{abi:n,address:r,args:o,functionName:s,...a}=t,i=gr({abi:n,args:o,functionName:s});try{const{data:t}=await He(e,tc,"call")({...a,data:i,to:r});return ta({abi:n,args:o,functionName:s,data:t||"0x"})}catch(e){throw Ro(e,{abi:n,address:r,args:o,docsPath:"/docs/contract/readContract",functionName:s})}}const oc=new Map,sc=new Map;let ac=0;function ic(e,t,n){const r=++ac,o=()=>oc.get(e)||[],s=()=>{const t=o();if(!t.some(e=>e.id===r))return;const n=sc.get(e);if(1===t.length&&n){const e=n();e instanceof Promise&&e.catch(()=>{})}(()=>{const t=o();oc.set(e,t.filter(e=>e.id!==r))})()},a=o();if(oc.set(e,[...a,{id:r,fns:t}]),a&&a.length>0)return s;const i={};for(const e in t)i[e]=(...t)=>{const n=o();if(0!==n.length)for(const r of n)r.fns[e]?.(...t)};const c=n(i);return"function"==typeof c&&sc.set(e,c),s}async function cc(e){return new Promise(t=>setTimeout(t,e))}function uc(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let o=!0;const s=()=>o=!1;return(async()=>{let a;t&&(a=await e({unpoll:s}));const i=await(n?.(a))??r;await cc(i);const c=async()=>{o&&(await e({unpoll:s}),await cc(r),c())};c()})(),s}const lc=new Map,dc=new Map;async function fc(e,{cacheKey:t,cacheTime:n=Number.POSITIVE_INFINITY}){const r=function(e){const t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,lc),r=t(e,dc);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}(t),o=r.response.get();if(o&&n>0){if(Date.now()-o.created.getTime()<n)return o.data}let s=r.promise.get();s||(s=e(),r.promise.set(s));try{const e=await s;return r.response.set({created:new Date,data:e}),e}finally{r.promise.clear()}}async function hc(e,{cacheTime:t=e.cacheTime}={}){const n=await fc(()=>e.request({method:"eth_blockNumber"}),{cacheKey:(r=e.uid,`blockNumber.${r}`),cacheTime:t});var r;return BigInt(n)}async function pc(e,{filter:t}){const n="strict"in t&&t.strict,r=await t.request({method:"eth_getFilterChanges",params:[t.id]});if("string"==typeof r[0])return r;const o=r.map(e=>Js(e));return"abi"in t&&t.abi?Ks({abi:t.abi,logs:o,strict:n}):o}async function mc(e,{filter:t}){return t.request({method:"eth_uninstallFilter",params:[t.id]})}function gc(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0}={}){return new Promise((o,s)=>{const a=async({count:i=0}={})=>{try{const t=await e();o(t)}catch(e){if(i<n&&await r({count:i,error:e}))return(async({error:e})=>{const n="function"==typeof t?t({count:i,error:e}):t;n&&await cc(n),a({count:i+1})})({error:e});s(e)}};a()})}const bc={"0x0":"reverted","0x1":"success"};function yc(e){const t={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(e=>Js(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?jt(e.transactionIndex):null,status:e.status?bc[e.status]:null,type:e.type?ms[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}let wc,vc=256;function xc(e=11){if(!wc||vc+e>512){wc="",vc=0;for(let e=0;e<256;e++)wc+=(256+256*Math.random()|0).toString(16).substring(1)}return wc.substring(vc,vc+++e)}function Ec(e){if(!(e instanceof tt))return!1;const t=e.walk(e=>e instanceof Qr);return t instanceof Qr&&("HttpError"===t.data?.errorName||("ResolverError"===t.data?.errorName||("ResolverNotContract"===t.data?.errorName||("ResolverNotFound"===t.data?.errorName||("ReverseAddressMismatch"===t.data?.errorName||"UnsupportedResolverProfile"===t.data?.errorName)))))}const Pc="/docs/contract/encodeErrorResult";function kc(e){const{abi:t,errorName:n,args:r}=e;let o=t[0];if(n){const e=ar({abi:t,args:r,name:n});if(!e)throw new dt(n,{docsPath:Pc});o=e}if("error"!==o.type)throw new dt(void 0,{docsPath:Pc});const s=Ye(o),a=sr(s);let i="0x";if(r&&r.length>0){if(!o.inputs)throw new lt(o.name,{docsPath:Pc});i=tr(o.inputs,r)}return Yn([a,i])}const Ac="/docs/contract/encodeFunctionResult";const Ic="x-batch-gateway:true";async function Sc(e){const{data:t,ccipRequest:n}=e,{args:[r]}=function(e){const{abi:t,data:n}=e,r=Zn(n,0,4),o=t.find(e=>"function"===e.type&&r===sr(Ye(e)));if(!o)throw new yt(r,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:o.name,args:"inputs"in o&&o.inputs&&o.inputs.length>0?Nr(o.inputs,Zn(n,4)):void 0}}({abi:Oi,data:t}),o=[],s=[];return await Promise.all(r.map(async(e,t)=>{try{s[t]=e.urls.includes(Ic)?await Sc({data:e.data,ccipRequest:n}):await n(e),o[t]=!1}catch(e){o[t]=!0,s[t]="HttpRequestError"===(r=e).name&&r.status?kc({abi:Oi,errorName:"HttpError",args:[r.status,r.shortMessage]}):kc({abi:[yr],errorName:"Error",args:["shortMessage"in r?r.shortMessage:r.message]})}var r})),function(e){const{abi:t,functionName:n,result:r}=e;let o=t[0];if(n){const e=ar({abi:t,name:n});if(!e)throw new gt(n,{docsPath:Ac});o=e}if("function"!==o.type)throw new gt(void 0,{docsPath:Ac});if(!o.outputs)throw new bt(o.name,{docsPath:Ac});const s=(()=>{if(0===o.outputs.length)return[];if(1===o.outputs.length)return[r];if(Array.isArray(r))return r;throw new At(r)})();return tr(o.outputs,s)}({abi:Oi,functionName:"query",result:[o,s]})}function Nc(e){if(66!==e.length)return null;if(0!==e.indexOf("["))return null;if(65!==e.indexOf("]"))return null;const t=`0x${e.slice(1,65)}`;return Ke(t)?t:null}function Tc(e){let t=new Uint8Array(32).fill(0);if(!e)return qt(t);const n=e.split(".");for(let e=n.length-1;e>=0;e-=1){const r=Nc(n[e]),o=r?Zt(r):_n(Xt(n[e]),"bytes");t=_n(Hn([t,o]),"bytes")}return qt(t)}function $c(e){return`[${e.slice(2)}]`}function Bc(e){const t=new Uint8Array(32).fill(0);return e?Nc(e)||_n(Xt(e)):qt(t)}function Cc(e){const t=e.replace(/^\.|\.$/gm,"");if(0===t.length)return new Uint8Array(1);const n=new Uint8Array(Xt(t).byteLength+2);let r=0;const o=t.split(".");for(let e=0;e<o.length;e++){let t=Xt(o[e]);t.byteLength>255&&(t=Xt($c(Bc(o[e])))),n[r]=t.length,n.set(t,r+1),r+=t.length+1}return n.byteLength!==r+1?n.slice(0,r+1):n}class Oc extends tt{constructor({data:e}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(e)}`],name:"EnsAvatarInvalidMetadataError"})}}class _c extends tt{constructor({reason:e}){super(`ENS NFT avatar URI is invalid. ${e}`,{name:"EnsAvatarInvalidNftUriError"})}}class Rc extends tt{constructor({uri:e}){super(`Unable to resolve ENS avatar URI "${e}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class zc extends tt{constructor({namespace:e}){super(`ENS NFT avatar namespace "${e}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const Mc=/(?<protocol>https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,Fc=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,Lc=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,jc=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;function Uc(e,t){return e?e.endsWith("/")?e.slice(0,-1):e:t}function Dc({uri:e,gatewayUrls:t}){const n=Lc.test(e);if(n)return{uri:e,isOnChain:!0,isEncoded:n};const r=Uc(t?.ipfs,"https://ipfs.io"),o=Uc(t?.arweave,"https://arweave.net"),s=e.match(Mc),{protocol:a,subpath:i,target:c,subtarget:u=""}=s?.groups||{},l="ipns:/"===a||"ipns/"===i,d="ipfs:/"===a||"ipfs/"===i||Fc.test(e);if(e.startsWith("http")&&!l&&!d){let n=e;return t?.arweave&&(n=e.replace(/https:\/\/arweave.net/g,t?.arweave)),{uri:n,isOnChain:!1,isEncoded:!1}}if((l||d)&&c)return{uri:`${r}/${l?"ipns":"ipfs"}/${c}${u}`,isOnChain:!1,isEncoded:!1};if("ar:/"===a&&c)return{uri:`${o}/${c}${u||""}`,isOnChain:!1,isEncoded:!1};let f=e.replace(jc,"");if(f.startsWith("<svg")&&(f=`data:image/svg+xml;base64,${btoa(f)}`),f.startsWith("data:")||f.startsWith("{"))return{uri:f,isOnChain:!0,isEncoded:!1};throw new Rc({uri:e})}function Gc(e){if("object"!=typeof e||!("image"in e)&&!("image_url"in e)&&!("image_data"in e))throw new Oc({data:e});return e.image||e.image_url||e.image_data}async function qc({gatewayUrls:e,uri:t}){const{uri:n,isOnChain:r}=Dc({uri:t,gatewayUrls:e});if(r)return n;const o=await async function(e){try{const t=await fetch(e,{method:"HEAD"});if(200===t.status){const e=t.headers.get("content-type");return e?.startsWith("image/")}return!1}catch(t){return("object"!=typeof t||void 0===t.response)&&!!Object.hasOwn(globalThis,"Image")&&new Promise(t=>{const n=new Image;n.onload=()=>{t(!0)},n.onerror=()=>{t(!1)},n.src=e})}}(n);if(o)return n;throw new Rc({uri:t})}async function Vc(e,{gatewayUrls:t,record:n}){return/eip155:/i.test(n)?async function(e,{gatewayUrls:t,record:n}){const r=function(e){let t=e;t.startsWith("did:nft:")&&(t=t.replace("did:nft:","").replace(/_/g,"/"));const[n,r,o]=t.split("/"),[s,a]=n.split(":"),[i,c]=r.split(":");if(!s||"eip155"!==s.toLowerCase())throw new _c({reason:"Only EIP-155 supported"});if(!a)throw new _c({reason:"Chain ID not found"});if(!c)throw new _c({reason:"Contract address not found"});if(!o)throw new _c({reason:"Token ID not found"});if(!i)throw new _c({reason:"ERC namespace not found"});return{chainID:Number.parseInt(a,10),namespace:i.toLowerCase(),contractAddress:c,tokenID:o}}(n),o=await async function(e,{nft:t}){if("erc721"===t.namespace)return rc(e,{address:t.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(t.tokenID)]});if("erc1155"===t.namespace)return rc(e,{address:t.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(t.tokenID)]});throw new zc({namespace:t.namespace})}(e,{nft:r}),{uri:s,isOnChain:a,isEncoded:i}=Dc({uri:o,gatewayUrls:t});if(a&&(s.includes("data:application/json;base64,")||s.startsWith("{"))){const e=i?atob(s.replace("data:application/json;base64,","")):s;return qc({uri:Gc(JSON.parse(e)),gatewayUrls:t})}let c=r.tokenID;"erc1155"===r.namespace&&(c=c.replace("0x","").padStart(64,"0"));return async function({gatewayUrls:e,uri:t}){try{const n=await fetch(t).then(e=>e.json());return await qc({gatewayUrls:e,uri:Gc(n)})}catch{throw new Rc({uri:t})}}({gatewayUrls:t,uri:s.replace(/(?:0x)?{id}/,c)})}(e,{gatewayUrls:t,record:n}):qc({uri:n,gatewayUrls:t})}async function Wc(e,t){const{blockNumber:n,blockTag:r,key:o,name:s,gatewayUrls:a,strict:i}=t,{chain:c}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Ki({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})(),l=c?.ensTlds;if(l&&!l.some(e=>s.endsWith(e)))return null;try{const t={address:u,abi:Ri,args:[Dt(Cc(s)),gr({abi:Mi,functionName:"text",args:[Tc(s),o]}),a??[Ic]],functionName:"resolveWithGateways",blockNumber:n,blockTag:r},i=He(e,rc,"readContract"),c=await i(t);if("0x"===c[0])return null;const l=ta({abi:Mi,functionName:"text",data:c[0]});return""===l?null:l}catch(e){if(i)throw e;if(Ec(e))return null;throw e}}async function Hc(e,t){const{account:n=e.account,blockNumber:r,blockTag:o="latest",blobs:s,data:a,gas:i,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:l,maxPriorityFeePerGas:d,to:f,value:h,...p}=t,m=n?pr(n):void 0;try{ls(t);const n=("bigint"==typeof r?Vt(r):void 0)||o,g=e.chain?.formatters?.transactionRequest?.format,b=(g||ss)({...rs(p,{format:g}),from:m?.address,blobs:s,data:a,gas:i,gasPrice:c,maxFeePerBlobGas:u,maxFeePerGas:l,maxPriorityFeePerGas:d,to:f,value:h}),y=await e.request({method:"eth_createAccessList",params:[b,n]});return{accessList:y.accessList,gasUsed:BigInt(y.gasUsed)}}catch(n){throw Ji(n,{...t,account:m,chain:e.chain})}}async function Yc(e,{address:t,args:n,event:r,events:o,fromBlock:s,strict:a,toBlock:i}={}){const c=o??(r?[r]:void 0),u=fr(e,{method:"eth_newFilter"});let l=[];if(c){const e=c.flatMap(e=>lr({abi:[e],eventName:e.name,args:n}));l=[e],r&&(l=l[0])}const d=await e.request({method:"eth_newFilter",params:[{address:t,fromBlock:"bigint"==typeof s?Vt(s):s,toBlock:"bigint"==typeof i?Vt(i):i,...l.length?{topics:l}:{}}]});return{abi:c,args:n,eventName:r?r.name:void 0,fromBlock:s,id:d,request:u(d),strict:Boolean(a),toBlock:i,type:"event"}}async function Zc(e){const t=fr(e,{method:"eth_newPendingTransactionFilter"}),n=await e.request({method:"eth_newPendingTransactionFilter"});return{id:n,request:t(n),type:"transaction"}}async function Kc(e,{address:t,blockNumber:n,blockTag:r="latest"}){const o=void 0!==n?Vt(n):void 0,s=await e.request({method:"eth_getCode",params:[t,o||r]},{dedupe:Boolean(o)});if("0x"!==s)return s}class Jc extends tt{constructor({address:e}){super(`No EIP-712 domain found on contract "${e}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${e}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}const Qc=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];async function Xc(e,{blockCount:t,blockNumber:n,blockTag:r="latest",rewardPercentiles:o}){const s="bigint"==typeof n?Vt(n):void 0;return function(e){return{baseFeePerGas:e.baseFeePerGas.map(e=>BigInt(e)),gasUsedRatio:e.gasUsedRatio,oldestBlock:BigInt(e.oldestBlock),reward:e.reward?.map(e=>e.map(e=>BigInt(e)))}}(await e.request({method:"eth_feeHistory",params:[Vt(t),s||r,o]},{dedupe:Boolean(s)}))}const eu=new jn(8192);function tu(e,t={}){return async(n,r={})=>{const{dedupe:o=!1,methods:s,retryDelay:a=150,retryCount:i=3,uid:c}={...t,...r},{method:u}=n;if(s?.exclude?.includes(u))throw new bo(new Error("method not supported"),{method:u});if(s?.include&&!s.include.includes(u))throw new bo(new Error("method not supported"),{method:u});return function(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(eu.get(n))return eu.get(n);const r=e().finally(()=>eu.delete(n));return eu.set(n,r),r}(()=>gc(async()=>{try{return await e(n)}catch(e){const t=e;switch(t.code){case io.code:throw new io(t);case co.code:throw new co(t);case uo.code:throw new uo(t,{method:n.method});case lo.code:throw new lo(t);case fo.code:throw new fo(t);case ho.code:throw new ho(t);case po.code:throw new po(t);case mo.code:throw new mo(t);case go.code:throw new go(t);case bo.code:throw new bo(t,{method:n.method});case yo.code:throw new yo(t);case wo.code:throw new wo(t);case vo.code:throw new vo(t);case xo.code:throw new xo(t);case Eo.code:throw new Eo(t);case Po.code:throw new Po(t);case ko.code:throw new ko(t);case Ao.code:throw new Ao(t);case Io.code:throw new Io(t);case So.code:throw new So(t);case No.code:throw new No(t);case To.code:throw new To(t);case $o.code:throw new $o(t);case Bo.code:throw new Bo(t);case Co.code:throw new Co(t);case 5e3:throw new vo(t);default:if(e instanceof tt)throw e;throw new Oo(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof no){const e=t?.headers?.get("Retry-After");if(e?.match(/\d/))return 1e3*Number.parseInt(e,10)}return(1<<e)*a},retryCount:i,shouldRetry:({error:e})=>function(e){if("code"in e&&"number"==typeof e.code)return-1===e.code||(e.code===yo.code||e.code===fo.code);if(e instanceof no&&e.status)return 403===e.status||(408===e.status||(413===e.status||(429===e.status||(500===e.status||(502===e.status||(503===e.status||504===e.status))))));return!0}(e)}),{enabled:o,id:o?Ht(`${c}.${_r(n)}`):void 0})}}class nu extends tt{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:o,urls:s}){super(t.shortMessage||"An error occurred while fetching for an offchain result.",{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?"":[],"Offchain Gateway Call:",s&&[" Gateway URL(s):",...s.map(e=>` ${e}`)],` Sender: ${o}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:"OffchainLookupError"})}}class ru extends tt{constructor({result:e,url:t}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${t}`,`Response: ${_r(e)}`],name:"OffchainLookupResponseMalformedError"})}}class ou extends tt{constructor({sender:e,to:t}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`],name:"OffchainLookupSenderMismatchError"})}}const su={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function au({data:e,sender:t,urls:n}){let r=new Error("An unknown error occurred.");for(let o=0;o<n.length;o++){const s=n[o],a=s.includes("{data}")?"GET":"POST",i="POST"===a?{data:e,sender:t}:void 0,c="POST"===a?{"Content-Type":"application/json"}:{};try{const n=await fetch(s.replace("{sender}",t.toLowerCase()).replace("{data}",e),{body:JSON.stringify(i),headers:c,method:a});let o;if(o=n.headers.get("Content-Type")?.startsWith("application/json")?(await n.json()).data:await n.text(),!n.ok){r=new no({body:i,details:o?.error?_r(o.error):n.statusText,headers:n.headers,status:n.status,url:s});continue}if(!Ke(o)){r=new ru({result:o,url:s});continue}return o}catch(e){r=new no({body:i,details:e.message,url:s})}}throw r}var iu=Object.freeze({__proto__:null,ccipRequest:au,offchainLookup:async function(e,{blockNumber:t,blockTag:n,data:r,to:o}){const{args:s}=Or({data:r,abi:[su]}),[a,i,c,u,l]=s,{ccipRead:d}=e,f=d&&"function"==typeof d?.request?d.request:au;try{if(!Ws(o,a))throw new ou({sender:a,to:o});const r=i.includes(Ic)?await Sc({data:c,ccipRequest:f}):await f({data:c,sender:a,urls:i}),{data:s}=await tc(e,{blockNumber:t,blockTag:n,data:Hn([u,tr([{type:"bytes"},{type:"bytes"}],[r,l])]),to:o});return s}catch(e){throw new nu({callbackSelector:u,cause:e,data:r,extraData:l,sender:a,urls:i})}},offchainLookupAbiItem:su,offchainLookupSignature:"0x556f1830"});function cu(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const uu=cu();function lu(e,t={}){return{async request(n){const{body:r,fetchFn:o=t.fetchFn??fetch,onRequest:s=t.onRequest,onResponse:a=t.onResponse,timeout:i=t.timeout??1e4}=n,c={...t.fetchOptions??{},...n.fetchOptions??{}},{headers:u,method:l,signal:d}=c;try{const t=await function(e,{errorInstance:t=new Error("timed out"),timeout:n,signal:r}){return new Promise((o,s)=>{(async()=>{let a;try{const t=new AbortController;n>0&&(a=setTimeout(()=>{r&&t.abort()},n)),o(await e({signal:t?.signal||null}))}catch(e){"AbortError"===e?.name&&s(t),s(e)}finally{clearTimeout(a)}})()})}(async({signal:t})=>{const n={...c,body:Array.isArray(r)?_r(r.map(e=>({jsonrpc:"2.0",id:e.id??uu.take(),...e}))):_r({jsonrpc:"2.0",id:r.id??uu.take(),...r}),headers:{"Content-Type":"application/json",...u},method:l||"POST",signal:d||(i>0?t:null)},a=new Request(e,n),f=await(s?.(a,n))??{...n,url:e};return await o(f.url??e,f)},{errorInstance:new oo({body:r,url:e}),timeout:i,signal:!0});let n;if(a&&await a(t),t.headers.get("Content-Type")?.startsWith("application/json"))n=await t.json();else{n=await t.text();try{n=JSON.parse(n||"{}")}catch(e){if(t.ok)throw e;n={error:n}}}if(!t.ok)throw new no({body:r,details:_r(n.error)||t.statusText,headers:t.headers,status:t.status,url:e});return n}catch(t){if(t instanceof no)throw t;if(t instanceof oo)throw t;throw new no({body:r,cause:t,url:e})}}}}function du(e,t){return _n(function(e){const t="string"==typeof e?Ht(e):"string"==typeof e.raw?e.raw:qt(e.raw);return Hn([Ht(`Ethereum Signed Message:\n${Je(t)}`),t])}(e),t)}class fu extends tt{constructor({domain:e}){super(`Invalid domain "${_r(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class hu extends tt{constructor({primaryType:e,types:t}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(t))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class pu extends tt{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function mu({domain:e}){return["string"==typeof e?.name&&{name:"name",type:"string"},e?.version&&{name:"version",type:"string"},("number"==typeof e?.chainId||"bigint"==typeof e?.chainId)&&{name:"chainId",type:"uint256"},e?.verifyingContract&&{name:"verifyingContract",type:"address"},e?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function gu(e){if("address"===e||"bool"===e||"string"===e||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new pu({type:e})}function bu(e){const{domain:t={},message:n,primaryType:r}=e,o={EIP712Domain:mu({domain:t}),...e.types};!function(e){const{domain:t,message:n,primaryType:r,types:o}=e,s=(e,t)=>{for(const n of e){const{name:e,type:r}=n,a=t[e],i=r.match(er);if(i&&("number"==typeof a||"bigint"==typeof a)){const[e,t,n]=i;Vt(a,{signed:"int"===t,size:Number.parseInt(n,10)/8})}if("address"===r&&"string"==typeof a&&!Wn(a))throw new Ln({address:a});const c=r.match(Xn);if(c){const[e,t]=c;if(t&&Je(a)!==Number.parseInt(t,10))throw new vt({expectedSize:Number.parseInt(t,10),givenSize:Je(a)})}const u=o[r];u&&(gu(r),s(u,a))}};if(o.EIP712Domain&&t){if("object"!=typeof t)throw new fu({domain:t});s(o.EIP712Domain,t)}if("EIP712Domain"!==r){if(!o[r])throw new hu({primaryType:r,types:o});s(o[r],n)}}({domain:t,message:n,primaryType:r,types:o});const s=["0x1901"];return t&&s.push(function({domain:e,types:t}){return yu({data:e,primaryType:"EIP712Domain",types:t})}({domain:t,types:o})),"EIP712Domain"!==r&&s.push(yu({data:n,primaryType:r,types:o})),_n(Hn(s))}function yu({data:e,primaryType:t,types:n}){return _n(wu({data:e,primaryType:t,types:n}))}function wu({data:e,primaryType:t,types:n}){const r=[{type:"bytes32"}],o=[vu({primaryType:t,types:n})];for(const s of n[t]){const[t,a]=Eu({types:n,name:s.name,type:s.type,value:e[s.name]});r.push(t),o.push(a)}return tr(r,o)}function vu({primaryType:e,types:t}){const n=Dt(function({primaryType:e,types:t}){let n="";const r=xu({primaryType:e,types:t});r.delete(e);const o=[e,...Array.from(r).sort()];for(const e of o)n+=`${e}(${t[e].map(({name:e,type:t})=>`${t} ${e}`).join(",")})`;return n}({primaryType:e,types:t}));return _n(n)}function xu({primaryType:e,types:t},n=new Set){const r=e.match(/^\w*/u),o=r?.[0];if(n.has(o)||void 0===t[o])return n;n.add(o);for(const e of t[o])xu({primaryType:e.type,types:t},n);return n}function Eu({types:e,name:t,type:n,value:r}){if(void 0!==e[n])return[{type:"bytes32"},_n(wu({data:r,primaryType:n,types:e}))];if("bytes"===n){return[{type:"bytes32"},_n(r=`0x${(r.length%2?"0":"")+r.slice(2)}`)]}if("string"===n)return[{type:"bytes32"},_n(Dt(r))];if(n.lastIndexOf("]")===n.length-1){const o=n.slice(0,n.lastIndexOf("[")),s=r.map(n=>Eu({name:t,type:o,types:e,value:n}));return[{type:"bytes32"},_n(tr(s.map(([e])=>e),s.map(([,e])=>e)))]}return[{type:n},r]}class Pu extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const t=super.get(e);return super.has(e)&&void 0!==t&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){const e=this.keys().next().value;e&&this.delete(e)}return this}}const ku={checksum:new Pu(8192)}.checksum;function Au(e,t={}){const{as:n=("string"==typeof e?"Hex":"Bytes")}=t,r=On(Ja(e));return"Bytes"===n?r:pi(r)}const Iu=/^0x[a-fA-F0-9]{40}$/;function Su(e,t={}){const{strict:n=!0}=t;if(!Iu.test(e))throw new $u({address:e,cause:new Bu});if(n){if(e.toLowerCase()===e)return;if(Nu(e)!==e)throw new $u({address:e,cause:new Cu})}}function Nu(e){if(ku.has(e))return ku.get(e);Su(e,{strict:!1});const t=e.substring(2).toLowerCase(),n=Au(Xa(t),{as:"Bytes"}),r=t.split("");for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(15&n[e>>1])>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());const o=`0x${r.join("")}`;return ku.set(e,o),o}function Tu(e,t={}){const{strict:n=!0}=t??{};try{return Su(e,{strict:n}),!0}catch{return!1}}class $u extends Ra{constructor({address:e,cause:t}){super(`Address "${e}" is invalid.`,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class Bu extends Ra{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}}class Cu extends Ra{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}const Ou=/^(.*)\[([0-9]*)\]$/,_u=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ru=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,zu=2n**256n-1n;function Mu(e,t,n){const{checksumAddress:r,staticPosition:o}=n,s=Du(t.type);if(s){const[n,a]=s;return function(e,t,n){const{checksumAddress:r,length:o,staticPosition:s}=n;if(!o){const n=s+oi(e.readBytes(Lu)),o=n+Fu;e.setPosition(n);const a=oi(e.readBytes(Fu)),i=Gu(t);let c=0;const u=[];for(let n=0;n<a;++n){e.setPosition(o+(i?32*n:c));const[s,a]=Mu(e,t,{checksumAddress:r,staticPosition:o});c+=a,u.push(s)}return e.setPosition(s+32),[u,32]}if(Gu(t)){const n=s+oi(e.readBytes(Lu)),a=[];for(let s=0;s<o;++s){e.setPosition(n+32*s);const[o]=Mu(e,t,{checksumAddress:r,staticPosition:n});a.push(o)}return e.setPosition(s+32),[a,32]}let a=0;const i=[];for(let n=0;n<o;++n){const[n,o]=Mu(e,t,{checksumAddress:r,staticPosition:s+a});a+=o,i.push(n)}return[i,a]}(e,{...t,type:a},{checksumAddress:r,length:n,staticPosition:o})}if("tuple"===t.type)return function(e,t,n){const{checksumAddress:r,staticPosition:o}=n,s=0===t.components.length||t.components.some(({name:e})=>!e),a=s?[]:{};let i=0;if(Gu(t)){const n=o+oi(e.readBytes(Lu));for(let o=0;o<t.components.length;++o){const c=t.components[o];e.setPosition(n+i);const[u,l]=Mu(e,c,{checksumAddress:r,staticPosition:n});i+=l,a[s?o:c?.name]=u}return e.setPosition(o+32),[a,32]}for(let n=0;n<t.components.length;++n){const c=t.components[n],[u,l]=Mu(e,c,{checksumAddress:r,staticPosition:o});a[s?n:c?.name]=u,i+=l}return[a,i]}(e,t,{checksumAddress:r,staticPosition:o});if("address"===t.type)return function(e,t={}){const{checksum:n=!1}=t,r=e.readBytes(32),o=e=>n?Nu(e):e;return[o(pi(ti(r,-20))),32]}(e,{checksum:r});if("bool"===t.type)return function(e){return[ri(e.readBytes(32),{size:32}),32]}(e);if(t.type.startsWith("bytes"))return function(e,t,{staticPosition:n}){const[r,o]=t.type.split("bytes");if(!o){const t=oi(e.readBytes(32));e.setPosition(n+t);const r=oi(e.readBytes(32));if(0===r)return e.setPosition(n+32),["0x",32];const o=e.readBytes(r);return e.setPosition(n+32),[pi(o),32]}const s=pi(e.readBytes(Number.parseInt(o,10),32));return[s,32]}(e,t,{staticPosition:o});if(t.type.startsWith("uint")||t.type.startsWith("int"))return function(e,t){const n=t.type.startsWith("int"),r=Number.parseInt(t.type.split("int")[1]||"256",10),o=e.readBytes(32);return[r>48?ni(o,{signed:n}):oi(o,{signed:n}),32]}(e,t);if("string"===t.type)return function(e,{staticPosition:t}){const n=oi(e.readBytes(32)),r=t+n;e.setPosition(r);const o=oi(e.readBytes(32));if(0===o)return e.setPosition(t+32),["",32];const s=e.readBytes(o,32),a=si(ai(s));return e.setPosition(t+32),[a,32]}(e,{staticPosition:o});throw new ol(t.type)}const Fu=32,Lu=32;function ju({checksumAddress:e=!1,parameter:t,value:n}){const r=t,o=Du(r.type);if(o){const[t,s]=o;return function(e,t){const{checksumAddress:n,length:r,parameter:o}=t,s=null===r;if(!Array.isArray(e))throw new rl(e);if(!s&&e.length!==r)throw new el({expectedLength:r,givenLength:e.length,type:`${o.type}[${r}]`});let a=!1;const i=[];for(let t=0;t<e.length;t++){const r=ju({checksumAddress:n,parameter:o,value:e[t]});r.dynamic&&(a=!0),i.push(r)}if(s||a){const e=Uu(i);if(s){const t=mi(i.length,{size:32});return{dynamic:!0,encoded:i.length>0?fi(t,e):t}}if(a)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:fi(...i.map(({encoded:e})=>e))}}(n,{checksumAddress:e,length:t,parameter:{...r,type:s}})}if("tuple"===r.type)return function(e,t){const{checksumAddress:n,parameter:r}=t;let o=!1;const s=[];for(let t=0;t<r.components.length;t++){const a=r.components[t],i=ju({checksumAddress:n,parameter:a,value:e[Array.isArray(e)?t:a.name]});s.push(i),i.dynamic&&(o=!0)}return{dynamic:o,encoded:o?Uu(s):fi(...s.map(({encoded:e})=>e))}}(n,{checksumAddress:e,parameter:r});if("address"===r.type)return function(e,t){const{checksum:n=!1}=t;return Su(e,{strict:n}),{dynamic:!1,encoded:bi(e.toLowerCase())}}(n,{checksum:e});if("bool"===r.type)return function(e){if("boolean"!=typeof e)throw new Ra(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:bi(hi(e))}}(n);if(r.type.startsWith("uint")||r.type.startsWith("int")){const e=r.type.startsWith("int"),[,,t="256"]=Ru.exec(r.type)??[];return function(e,{signed:t,size:n}){if("number"==typeof n){const r=2n**(BigInt(n)-(t?1n:0n))-1n,o=t?-r-1n:0n;if(e>r||e<o)throw new ki({max:r.toString(),min:o.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:mi(e,{size:32,signed:t})}}(n,{signed:e,size:Number(t)})}if(r.type.startsWith("bytes"))return function(e,{type:t}){const[,n]=t.split("bytes"),r=vi(e);if(!n){let t=e;return r%32!=0&&(t=yi(t,32*Math.ceil((e.length-2)/2/32))),{dynamic:!0,encoded:fi(bi(mi(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new tl({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:yi(e)}}(n,{type:r.type});if("string"===r.type)return function(e){const t=gi(e),n=Math.ceil(vi(t)/32),r=[];for(let e=0;e<n;e++)r.push(yi(wi(t,32*e,32*(e+1))));return{dynamic:!0,encoded:fi(yi(mi(vi(t),{size:32})),...r)}}(n);throw new ol(r.type)}function Uu(e){let t=0;for(let n=0;n<e.length;n++){const{dynamic:r,encoded:o}=e[n];t+=r?32:vi(o)}const n=[],r=[];let o=0;for(let s=0;s<e.length;s++){const{dynamic:a,encoded:i}=e[s];a?(n.push(mi(t+o,{size:32})),r.push(i),o+=vi(i)):n.push(i)}return fi(...n,...r)}function Du(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function Gu(e){const{type:t}=e;if("string"===t)return!0;if("bytes"===t)return!0;if(t.endsWith("[]"))return!0;if("tuple"===t)return e.components?.some(Gu);const n=Du(e.type);return!(!n||!Gu({...e,type:n[1]}))}const qu={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Hu({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Wu({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Vu({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new Vu({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,255&e),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};class Vu extends Ra{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class Wu extends Ra{constructor({length:e,position:t}){super(`Position \`${t}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}}class Hu extends Ra{constructor({count:e,limit:t}){super(`Recursive read limit of \`${t}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}}function Yu(e,t,n={}){const{as:r="Array",checksumAddress:o=!1}=n,s="string"==typeof t?Qa(t):t,a=function(e,{recursiveReadLimit:t=8192}={}){const n=Object.create(qu);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}(s);if(0===ei(s)&&e.length>0)throw new Xu;if(ei(s)&&ei(s)<32)throw new Qu({data:"string"==typeof t?t:pi(t),parameters:e,size:ei(s)});let i=0;const c="Array"===r?[]:{};for(let t=0;t<e.length;++t){const n=e[t];a.setPosition(i);const[s,u]=Mu(a,n,{checksumAddress:o,staticPosition:0});i+=u,"Array"===r?c.push(s):c[n.name??t]=s}return c}function Zu(e,t,n){const{checksumAddress:r=!1}={};if(e.length!==t.length)throw new nl({expectedLength:e.length,givenLength:t.length});const o=function({checksumAddress:e,parameters:t,values:n}){const r=[];for(let o=0;o<t.length;o++)r.push(ju({checksumAddress:e,parameter:t[o],value:n[o]}));return r}({checksumAddress:r,parameters:e,values:t}),s=Uu(o);return 0===s.length?"0x":s}function Ku(e,t){if(e.length!==t.length)throw new nl({expectedLength:e.length,givenLength:t.length});const n=[];for(let r=0;r<e.length;r++){const o=e[r],s=t[r];n.push(Ku.encode(o,s))}return fi(...n)}function Ju(e){return Array.isArray(e)&&"string"==typeof e[0]||"string"==typeof e?We(e):e}!function(e){e.encode=function e(t,n,r=!1){if("address"===t){const e=n;return Su(e),bi(e.toLowerCase(),r?32:0)}if("string"===t)return gi(n);if("bytes"===t)return n;if("bool"===t)return bi(hi(n),r?32:1);const o=t.match(Ru);if(o){const[e,t,s="256"]=o,a=Number.parseInt(s,10)/8;return mi(n,{size:r?32:a,signed:"int"===t})}const s=t.match(_u);if(s){const[e,t]=s;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new tl({expectedSize:Number.parseInt(t,10),value:n});return yi(n,r?32:0)}const a=t.match(Ou);if(a&&Array.isArray(n)){const[t,r]=a,o=[];for(let t=0;t<n.length;t++)o.push(e(r,n[t],!0));return 0===o.length?"0x":fi(...o)}throw new ol(t)}}(Ku||(Ku={}));class Qu extends Ra{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${oe(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"})}}class Xu extends Ra{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"})}}class el extends Ra{constructor({expectedLength:e,givenLength:t,type:n}){super(`Array length mismatch for type \`${n}\`. Expected: \`${e}\`. Given: \`${t}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class tl extends Ra{constructor({expectedSize:e,value:t}){super(`Size of bytes "${t}" (bytes${vi(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class nl extends Ra{constructor({expectedLength:e,givenLength:t}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join("\n")),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class rl extends Ra{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class ol extends Ra{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}class sl extends mn{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,function(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.createHasher");on(e.outputLen),on(e.blockLen)}(e);const n=pn(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,o=new Uint8Array(r);o.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<o.length;e++)o[e]^=54;this.iHash.update(o),this.oHash=e.create();for(let e=0;e<o.length;e++)o[e]^=106;this.oHash.update(o),un(o)}update(e){return an(this),this.iHash.update(e),this}digestInto(e){an(this),sn(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:n,finished:r,destroyed:o,blockLen:s,outputLen:a}=this;return e.finished=r,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const al=(e,t,n)=>new sl(e,t).update(n).digest();al.create=(e,t)=>new sl(e,t);
5
5
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
6
  const il=BigInt(0),cl=BigInt(1),ul=BigInt(2),ll=BigInt(3),dl=BigInt(4),fl=BigInt(5),hl=BigInt(8);function pl(e,t){const n=e%t;return n>=il?n:t+n}function ml(e,t,n){let r=e;for(;t-- >il;)r*=r,r%=n;return r}function gl(e,t){if(e===il)throw new Error("invert: expected non-zero number");if(t<=il)throw new Error("invert: expected positive modulus, got "+t);let n=pl(e,t),r=t,o=il,s=cl;for(;n!==il;){const e=r%n,t=o-s*(r/n);r=n,n=e,o=s,s=t}if(r!==cl)throw new Error("invert: does not exist");return pl(o,t)}function bl(e,t){const n=(e.ORDER+cl)/dl,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw new Error("Cannot find square root");return r}function yl(e,t){const n=(e.ORDER-fl)/hl,r=e.mul(t,ul),o=e.pow(r,n),s=e.mul(t,o),a=e.mul(e.mul(s,ul),o),i=e.mul(s,e.sub(a,e.ONE));if(!e.eql(e.sqr(i),t))throw new Error("Cannot find square root");return i}function wl(e){return e%dl===ll?bl:e%hl===fl?yl:function(e){if(e<BigInt(3))throw new Error("sqrt is not defined for small field");let t=e-cl,n=0;for(;t%ul===il;)t/=ul,n++;let r=ul;const o=kl(e);for(;1===El(o,r);)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(1===n)return bl;let s=o.pow(r,t);const a=(t+cl)/ul;return function(e,r){if(e.is0(r))return r;if(1!==El(e,r))throw new Error("Cannot find square root");let o=n,i=e.mul(e.ONE,s),c=e.pow(r,t),u=e.pow(r,a);for(;!e.eql(c,e.ONE);){if(e.is0(c))return e.ZERO;let t=1,n=e.sqr(c);for(;!e.eql(n,e.ONE);)if(t++,n=e.sqr(n),t===o)throw new Error("Cannot find square root");const r=cl<<BigInt(o-t-1),s=e.pow(i,r);o=t,i=e.sqr(s),c=e.mul(c,i),u=e.mul(u,s)}return u}}(e)}const vl=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function xl(e,t,n=!1){const r=new Array(t.length).fill(n?e.ZERO:void 0),o=t.reduce((t,n,o)=>e.is0(n)?t:(r[o]=t,e.mul(t,n)),e.ONE),s=e.inv(o);return t.reduceRight((t,n,o)=>e.is0(n)?t:(r[o]=e.mul(t,r[o]),e.mul(t,n)),s),r}function El(e,t){const n=(e.ORDER-cl)/ul,r=e.pow(t,n),o=e.eql(r,e.ONE),s=e.eql(r,e.ZERO),a=e.eql(r,e.neg(e.ONE));if(!o&&!s&&!a)throw new Error("invalid Legendre symbol result");return o?1:s?0:-1}function Pl(e,t){void 0!==t&&on(t);const n=void 0!==t?t:e.toString(2).length;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function kl(e,t,n=!1,r={}){if(e<=il)throw new Error("invalid field: expected ORDER > 0, got "+e);const{nBitLength:o,nByteLength:s}=Pl(e,t);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let a;const i=Object.freeze({ORDER:e,isLE:n,BITS:o,BYTES:s,MASK:Ta(o),ZERO:il,ONE:cl,create:t=>pl(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("invalid field element: expected bigint, got "+typeof t);return il<=t&&t<e},is0:e=>e===il,isOdd:e=>(e&cl)===cl,neg:t=>pl(-t,e),eql:(e,t)=>e===t,sqr:t=>pl(t*t,e),add:(t,n)=>pl(t+n,e),sub:(t,n)=>pl(t-n,e),mul:(t,n)=>pl(t*n,e),pow:(e,t)=>function(e,t,n){if(n<il)throw new Error("invalid exponent, negatives unsupported");if(n===il)return e.ONE;if(n===cl)return t;let r=e.ONE,o=t;for(;n>il;)n&cl&&(r=e.mul(r,o)),o=e.sqr(o),n>>=cl;return r}(i,e,t),div:(t,n)=>pl(t*gl(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>gl(t,e),sqrt:r.sqrt||(t=>(a||(a=wl(e)),a(i,t))),toBytes:e=>n?Pa(e,s):Ea(e,s),fromBytes:e=>{if(e.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+e.length);return n?xa(e):va(e)},invertBatch:e=>xl(i,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(i)}function Al(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function Il(e){const t=Al(e);return t+Math.ceil(t/2)}
7
7
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
8
8
  const Sl=BigInt(0),Nl=BigInt(1);function Tl(e,t){const n=t.negate();return e?n:t}function $l(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Bl(e,t){$l(e,t);const n=2**e;return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1),mask:Ta(e),maxNumber:n,shiftBy:BigInt(e)}}function Cl(e,t,n){const{windowSize:r,mask:o,maxNumber:s,shiftBy:a}=n;let i=Number(e&o),c=e>>a;i>r&&(i-=s,c+=Nl);const u=t*r;return{nextN:c,offset:u+Math.abs(i)-1,isZero:0===i,isNeg:i<0,isNegF:t%2!=0,offsetF:u}}const Ol=new WeakMap,_l=new WeakMap;function Rl(e){return _l.get(e)||1}function zl(e,t,n,r){!function(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((e,n)=>{if(!(e instanceof t))throw new Error("invalid point at index "+n)})}(n,e),function(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((e,n)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+n)})}(r,t);const o=n.length,s=r.length;if(o!==s)throw new Error("arrays of points and scalars must have equal length");const a=e.ZERO,i=function(e){let t;for(t=0;e>na;e>>=ra,t+=1);return t}(BigInt(o));let c=1;i>12?c=i-3:i>4?c=i-2:i>0&&(c=2);const u=Ta(c),l=new Array(Number(u)+1).fill(a);let d=a;for(let e=Math.floor((t.BITS-1)/c)*c;e>=0;e-=c){l.fill(a);for(let t=0;t<s;t++){const o=r[t],s=Number(o>>BigInt(e)&u);l[s]=l[s].add(n[t])}let t=a;for(let e=l.length-1,n=a;e>0;e--)n=n.add(l[e]),t=t.add(n);if(d=d.add(t),0!==e)for(let e=0;e<c;e++)d=d.double()}return d}function Ml(e){return Oa(e.Fp,vl.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),Oa(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Pl(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}
9
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Ll(e){void 0!==e.lowS&&aa("lowS",e.lowS),void 0!==e.prehash&&aa("prehash",e.prehash)}class Fl extends Error{constructor(e=""){super(e)}}const jl={Err:Fl,_tlv:{encode:(e,t)=>{const{Err:n}=jl;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(1&t.length)throw new n("tlv.encode: unpadded data");const r=t.length/2,o=ia(r);if(o.length/2&128)throw new n("tlv.encode: long form length too big");const s=r>127?ia(o.length/2|128):"";return ia(e)+s+o+t},decode(e,t){const{Err:n}=jl;let r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");const o=t[r++];let s=0;if(!!(128&o)){const e=127&o;if(!e)throw new n("tlv.decode(long): indefinite length not supported");if(e>4)throw new n("tlv.decode(long): byte length is too big");const a=t.subarray(r,r+e);if(a.length!==e)throw new n("tlv.decode: length bytes not complete");if(0===a[0])throw new n("tlv.decode(long): zero leftmost byte");for(const e of a)s=s<<8|e;if(r+=e,s<128)throw new n("tlv.decode(long): not minimal encoding")}else s=o;const a=t.subarray(r,r+s);if(a.length!==s)throw new n("tlv.decode: wrong value length");return{v:a,l:t.subarray(r+s)}}},_int:{encode(e){const{Err:t}=jl;if(e<Dl)throw new t("integer: negative integers are not allowed");let n=ia(e);if(8&Number.parseInt(n[0],16)&&(n="00"+n),1&n.length)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=jl;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return va(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=jl,o=ka("signature",e),{v:s,l:a}=r.decode(48,o);if(a.length)throw new t("invalid signature: left bytes after parsing");const{v:i,l:c}=r.decode(2,s),{v:u,l:l}=r.decode(2,c);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(i),s:n.decode(u)}},hexFromSig(e){const{_tlv:t,_int:n}=jl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}};function Ul(e,t){return da(Ea(e,t))}const Dl=BigInt(0),Gl=BigInt(1);BigInt(2);const ql=BigInt(3),Vl=BigInt(4);function Wl(e){const t=function(e){const t=Ml(e);Oa(t,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});const{endo:n,Fp:r,a:o}=t;if(n){if(!r.eql(o,r.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if("object"!=typeof n||"bigint"!=typeof n.beta||"function"!=typeof n.splitScalar)throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...t})}(e),{Fp:n}=t,r=kl(t.n,t.nBitLength),o=t.toBytes||((e,t,r)=>{const o=t.toAffine();return Aa(Uint8Array.from([4]),n.toBytes(o.x),n.toBytes(o.y))}),s=t.fromBytes||(e=>{const t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function a(e){const{a:r,b:o}=t,s=n.sqr(e),a=n.mul(s,e);return n.add(n.add(a,n.mul(e,r)),o)}function i(e,t){const r=n.sqr(t),o=a(e);return n.eql(r,o)}if(!i(t.Gx,t.Gy))throw new Error("bad curve params: generator point");const c=n.mul(n.pow(t.a,ql),Vl),u=n.mul(n.sqr(t.b),BigInt(27));if(n.is0(n.add(c,u)))throw new Error("bad curve params: a or b");function l(e){const{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:o,n:s}=t;if(n&&"bigint"!=typeof e){if(oa(e)&&(e=da(e)),"string"!=typeof e||!n.includes(e.length))throw new Error("invalid private key");e=e.padStart(2*r,"0")}let a;try{a="bigint"==typeof e?e:va(ka("private key",e,r))}catch(t){throw new Error("invalid private key, expected hex or "+r+" bytes, got "+typeof e)}return o&&(a=pl(a,s)),Na("private key",a,Gl,s),a}function d(e){if(!(e instanceof p))throw new Error("ProjectivePoint expected")}const f=_a((e,t)=>{const{px:r,py:o,pz:s}=e;if(n.eql(s,n.ONE))return{x:r,y:o};const a=e.is0();null==t&&(t=a?n.ONE:n.inv(s));const i=n.mul(r,t),c=n.mul(o,t),u=n.mul(s,t);if(a)return{x:n.ZERO,y:n.ZERO};if(!n.eql(u,n.ONE))throw new Error("invZ was invalid");return{x:i,y:c}}),h=_a(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.py))return;throw new Error("bad point: ZERO")}const{x:r,y:o}=e.toAffine();if(!n.isValid(r)||!n.isValid(o))throw new Error("bad point: x or y not FE");if(!i(r,o))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class p{constructor(e,t,r){if(null==e||!n.isValid(e))throw new Error("x required");if(null==t||!n.isValid(t)||n.is0(t))throw new Error("y required");if(null==r||!n.isValid(r))throw new Error("z required");this.px=e,this.py=t,this.pz=r,Object.freeze(this)}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof p)throw new Error("projective point not allowed");const o=e=>n.eql(e,n.ZERO);return o(t)&&o(r)?p.ZERO:new p(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const t=xl(n,e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(p.fromAffine)}static fromHex(e){const t=p.fromAffine(s(ka("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return p.BASE.multiply(l(e))}static msm(e,t){return zl(p,r,e,t)}_setWindowSize(e){b.setWindowSize(this,e)}assertValidity(){h(this)}hasEvenY(){const{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw new Error("Field doesn't support isOdd")}equals(e){d(e);const{px:t,py:r,pz:o}=this,{px:s,py:a,pz:i}=e,c=n.eql(n.mul(t,i),n.mul(s,o)),u=n.eql(n.mul(r,i),n.mul(a,o));return c&&u}negate(){return new p(this.px,n.neg(this.py),this.pz)}double(){const{a:e,b:r}=t,o=n.mul(r,ql),{px:s,py:a,pz:i}=this;let c=n.ZERO,u=n.ZERO,l=n.ZERO,d=n.mul(s,s),f=n.mul(a,a),h=n.mul(i,i),m=n.mul(s,a);return m=n.add(m,m),l=n.mul(s,i),l=n.add(l,l),c=n.mul(e,l),u=n.mul(o,h),u=n.add(c,u),c=n.sub(f,u),u=n.add(f,u),u=n.mul(c,u),c=n.mul(m,c),l=n.mul(o,l),h=n.mul(e,h),m=n.sub(d,h),m=n.mul(e,m),m=n.add(m,l),l=n.add(d,d),d=n.add(l,d),d=n.add(d,h),d=n.mul(d,m),u=n.add(u,d),h=n.mul(a,i),h=n.add(h,h),d=n.mul(h,m),c=n.sub(c,d),l=n.mul(h,f),l=n.add(l,l),l=n.add(l,l),new p(c,u,l)}add(e){d(e);const{px:r,py:o,pz:s}=this,{px:a,py:i,pz:c}=e;let u=n.ZERO,l=n.ZERO,f=n.ZERO;const h=t.a,m=n.mul(t.b,ql);let g=n.mul(r,a),b=n.mul(o,i),y=n.mul(s,c),w=n.add(r,o),v=n.add(a,i);w=n.mul(w,v),v=n.add(g,b),w=n.sub(w,v),v=n.add(r,s);let x=n.add(a,c);return v=n.mul(v,x),x=n.add(g,y),v=n.sub(v,x),x=n.add(o,s),u=n.add(i,c),x=n.mul(x,u),u=n.add(b,y),x=n.sub(x,u),f=n.mul(h,v),u=n.mul(m,y),f=n.add(u,f),u=n.sub(b,f),f=n.add(b,f),l=n.mul(u,f),b=n.add(g,g),b=n.add(b,g),y=n.mul(h,y),v=n.mul(m,v),b=n.add(b,y),y=n.sub(g,y),y=n.mul(h,y),v=n.add(v,y),g=n.mul(b,v),l=n.add(l,g),g=n.mul(x,v),u=n.mul(w,u),u=n.sub(u,g),g=n.mul(w,b),f=n.mul(x,f),f=n.add(f,g),new p(u,l,f)}subtract(e){return this.add(e.negate())}is0(){return this.equals(p.ZERO)}wNAF(e){return b.wNAFCached(this,e,p.normalizeZ)}multiplyUnsafe(e){const{endo:r,n:o}=t;Na("scalar",e,Dl,o);const s=p.ZERO;if(e===Dl)return s;if(this.is0()||e===Gl)return this;if(!r||b.hasPrecomputes(this))return b.wNAFCachedUnsafe(this,e,p.normalizeZ);let{k1neg:a,k1:i,k2neg:c,k2:u}=r.splitScalar(e),l=s,d=s,f=this;for(;i>Dl||u>Dl;)i&Gl&&(l=l.add(f)),u&Gl&&(d=d.add(f)),f=f.double(),i>>=Gl,u>>=Gl;return a&&(l=l.negate()),c&&(d=d.negate()),d=new p(n.mul(d.px,r.beta),d.py,d.pz),l.add(d)}multiply(e){const{endo:r,n:o}=t;let s,a;if(Na("scalar",e,Gl,o),r){const{k1neg:t,k1:o,k2neg:i,k2:c}=r.splitScalar(e);let{p:u,f:l}=this.wNAF(o),{p:d,f:f}=this.wNAF(c);u=b.constTimeNegate(t,u),d=b.constTimeNegate(i,d),d=new p(n.mul(d.px,r.beta),d.py,d.pz),s=u.add(d),a=l.add(f)}else{const{p:t,f:n}=this.wNAF(e);s=t,a=n}return p.normalizeZ([s,a])[0]}multiplyAndAddUnsafe(e,t,n){const r=p.BASE,o=(e,t)=>t!==Dl&&t!==Gl&&e.equals(r)?e.multiply(t):e.multiplyUnsafe(t),s=o(this,t).add(o(e,n));return s.is0()?void 0:s}toAffine(e){return f(this,e)}isTorsionFree(){const{h:e,isTorsionFree:n}=t;if(e===Gl)return!0;if(n)return n(p,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:e,clearCofactor:n}=t;return e===Gl?this:n?n(p,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return aa("isCompressed",e),this.assertValidity(),o(p,this,e)}toHex(e=!0){return aa("isCompressed",e),da(this.toRawBytes(e))}}p.BASE=new p(t.Gx,t.Gy,n.ONE),p.ZERO=new p(n.ZERO,n.ONE,n.ZERO);const{endo:m,nBitLength:g}=t,b=(y=p,w=m?Math.ceil(g/2):g,{constTimeNegate:Tl,hasPrecomputes:e=>1!==Rl(e),unsafeLadder(e,t,n=y.ZERO){let r=e;for(;t>Sl;)t&Nl&&(n=n.add(r)),r=r.double(),t>>=Nl;return n},precomputeWindow(e,t){const{windows:n,windowSize:r}=Bl(t,w),o=[];let s=e,a=s;for(let e=0;e<n;e++){a=s,o.push(a);for(let e=1;e<r;e++)a=a.add(s),o.push(a);s=a.double()}return o},wNAF(e,t,n){let r=y.ZERO,o=y.BASE;const s=Bl(e,w);for(let e=0;e<s.windows;e++){const{nextN:a,offset:i,isZero:c,isNeg:u,isNegF:l,offsetF:d}=Cl(n,e,s);n=a,c?o=o.add(Tl(l,t[d])):r=r.add(Tl(u,t[i]))}return{p:r,f:o}},wNAFUnsafe(e,t,n,r=y.ZERO){const o=Bl(e,w);for(let e=0;e<o.windows&&n!==Sl;e++){const{nextN:s,offset:a,isZero:i,isNeg:c}=Cl(n,e,o);if(n=s,!i){const e=t[a];r=r.add(c?e.negate():e)}}return r},getPrecomputes(e,t,n){let r=Ol.get(t);return r||(r=this.precomputeWindow(t,e),1!==e&&Ol.set(t,n(r))),r},wNAFCached(e,t,n){const r=Rl(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){const o=Rl(e);return 1===o?this.unsafeLadder(e,t,r):this.wNAFUnsafe(o,this.getPrecomputes(o,e,n),t,r)},setWindowSize(e,t){$l(t,w),_l.set(e,t),Ol.delete(e)}});var y,w;return{CURVE:t,ProjectivePoint:p,normPrivateKeyToScalar:l,weierstrassEquation:a,isWithinCurveOrder:function(e){return Sa(e,Gl,t.n)}}}function Hl(e){const t=function(e){const t=Ml(e);return Oa(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:n,n:r,nByteLength:o,nBitLength:s}=t,a=n.BYTES+1,i=2*n.BYTES+1;function c(e){return pl(e,r)}function u(e){return gl(e,r)}const{ProjectivePoint:l,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:h}=Wl({...t,toBytes(e,t,r){const o=t.toAffine(),s=n.toBytes(o.x),a=Aa;return aa("isCompressed",r),r?a(Uint8Array.from([t.hasEvenY()?2:3]),s):a(Uint8Array.from([4]),s,n.toBytes(o.y))},fromBytes(e){const t=e.length,r=e[0],o=e.subarray(1);if(t!==a||2!==r&&3!==r){if(t===i&&4===r){return{x:n.fromBytes(o.subarray(0,n.BYTES)),y:n.fromBytes(o.subarray(n.BYTES,2*n.BYTES))}}throw new Error("invalid Point, expected length of "+a+", or uncompressed "+i+", got "+t)}{const e=va(o);if(!Sa(e,Gl,n.ORDER))throw new Error("Point is not on curve");const t=f(e);let s;try{s=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("Point is not on curve"+t)}return!(1&~r)!==((s&Gl)===Gl)&&(s=n.neg(s)),{x:e,y:s}}}});function p(e){return e>r>>Gl}const m=(e,t,n)=>va(e.slice(t,n));class g{constructor(e,t,n){Na("r",e,Gl,r),Na("s",t,Gl,r),this.r=e,this.s=t,null!=n&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){const t=o;return e=ka("compactSignature",e,2*t),new g(m(e,0,t),m(e,t,2*t))}static fromDER(e){const{r:t,s:n}=jl.toSig(ka("DER",e));return new g(t,n)}assertValidity(){}addRecoveryBit(e){return new g(this.r,this.s,e)}recoverPublicKey(e){const{r:r,s:o,recovery:s}=this,a=v(ka("msgHash",e));if(null==s||![0,1,2,3].includes(s))throw new Error("recovery id invalid");const i=2===s||3===s?r+t.n:r;if(i>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const d=1&s?"03":"02",f=l.fromHex(d+Ul(i,n.BYTES)),h=u(i),p=c(-a*h),m=c(o*h),g=l.BASE.multiplyAndAddUnsafe(f,p,m);if(!g)throw new Error("point at infinify");return g.assertValidity(),g}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return wa(this.toDERHex())}toDERHex(){return jl.hexFromSig(this)}toCompactRawBytes(){return wa(this.toCompactHex())}toCompactHex(){const e=o;return Ul(this.r,e)+Ul(this.s,e)}}const b={isValidPrivateKey(e){try{return d(e),!0}catch(e){return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{const e=Il(t.n);return function(e,t,n=!1){const r=e.length,o=Al(t),s=Il(t);if(r<16||r<s||r>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+r);const a=pl(n?xa(e):va(e),t-cl)+cl;return n?Pa(a,o):Ea(a,o)}(t.randomBytes(e),t.n)},precompute:(e=8,t=l.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)};function y(e){if("bigint"==typeof e)return!1;if(e instanceof l)return!0;const r=ka("key",e).length,s=n.BYTES,a=s+1,i=2*s+1;return t.allowedPrivateKeyLengths||o===a?void 0:r===a||r===i}const w=t.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=va(e),n=8*e.length-s;return n>0?t>>BigInt(n):t},v=t.bits2int_modN||function(e){return c(w(e))},x=Ta(s);function E(e){return Na("num < 2^"+s,e,Dl,x),Ea(e,o)}function P(e,r,o=k){if(["recovered","canonical"].some(e=>e in o))throw new Error("sign() legacy options not supported");const{hash:s,randomBytes:a}=t;let{lowS:i,prehash:f,extraEntropy:m}=o;null==i&&(i=!0),e=ka("msgHash",e),Ll(o),f&&(e=ka("prehashed msgHash",s(e)));const b=v(e),y=d(r),x=[E(y),E(b)];if(null!=m&&!1!==m){const e=!0===m?a(n.BYTES):m;x.push(ka("extraEntropy",e))}const P=Aa(...x),A=b;return{seed:P,k2sig:function(e){const t=w(e);if(!h(t))return;const n=u(t),r=l.BASE.multiply(t).toAffine(),o=c(r.x);if(o===Dl)return;const s=c(n*c(A+o*y));if(s===Dl)return;let a=(r.x===o?0:2)|Number(r.y&Gl),d=s;return i&&p(s)&&(d=function(e){return p(e)?c(-e):e}(s),a^=1),new g(o,d,a)}}}const k={lowS:t.lowS,prehash:!1},A={lowS:t.lowS,prehash:!1};return l.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return l.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,n=!0){if(!0===y(e))throw new Error("first arg must be private key");if(!1===y(t))throw new Error("second arg must be public key");return l.fromHex(t).multiply(d(e)).toRawBytes(n)},sign:function(e,n,r=k){const{seed:o,k2sig:s}=P(e,n,r),a=t,i=function(e,t,n){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof n)throw new Error("hmacFn must be a function");let r=$a(e),o=$a(e),s=0;const a=()=>{r.fill(1),o.fill(0),s=0},i=(...e)=>n(o,r,...e),c=(e=$a(0))=>{o=i(Ba([0]),e),r=i(),0!==e.length&&(o=i(Ba([1]),e),r=i())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const n=[];for(;e<t;){r=i();const t=r.slice();n.push(t),e+=r.length}return Aa(...n)};return(e,t)=>{let n;for(a(),c(e);!(n=t(u()));)c();return a(),n}}(a.hash.outputLen,a.nByteLength,a.hmac);return i(o,s)},verify:function(e,n,r,o=A){const s=e;n=ka("msgHash",n),r=ka("publicKey",r);const{lowS:a,prehash:i,format:d}=o;if(Ll(o),"strict"in o)throw new Error("options.strict was renamed to lowS");if(void 0!==d&&"compact"!==d&&"der"!==d)throw new Error("format must be compact or der");const f="string"==typeof s||oa(s),h=!f&&!d&&"object"==typeof s&&null!==s&&"bigint"==typeof s.r&&"bigint"==typeof s.s;if(!f&&!h)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let p,m;try{if(h&&(p=new g(s.r,s.s)),f){try{"compact"!==d&&(p=g.fromDER(s))}catch(e){if(!(e instanceof jl.Err))throw e}p||"der"===d||(p=g.fromCompact(s))}m=l.fromHex(r)}catch(e){return!1}if(!p)return!1;if(a&&p.hasHighS())return!1;i&&(n=t.hash(n));const{r:b,s:y}=p,w=v(n),x=u(y),E=c(w*x),P=c(b*x),k=l.BASE.multiplyAndAddUnsafe(m,E,P)?.toAffine();return!!k&&c(k.x)===b},ProjectivePoint:l,Signature:g,utils:b}}
9
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Fl(e){void 0!==e.lowS&&aa("lowS",e.lowS),void 0!==e.prehash&&aa("prehash",e.prehash)}class Ll extends Error{constructor(e=""){super(e)}}const jl={Err:Ll,_tlv:{encode:(e,t)=>{const{Err:n}=jl;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(1&t.length)throw new n("tlv.encode: unpadded data");const r=t.length/2,o=ia(r);if(o.length/2&128)throw new n("tlv.encode: long form length too big");const s=r>127?ia(o.length/2|128):"";return ia(e)+s+o+t},decode(e,t){const{Err:n}=jl;let r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");const o=t[r++];let s=0;if(!!(128&o)){const e=127&o;if(!e)throw new n("tlv.decode(long): indefinite length not supported");if(e>4)throw new n("tlv.decode(long): byte length is too big");const a=t.subarray(r,r+e);if(a.length!==e)throw new n("tlv.decode: length bytes not complete");if(0===a[0])throw new n("tlv.decode(long): zero leftmost byte");for(const e of a)s=s<<8|e;if(r+=e,s<128)throw new n("tlv.decode(long): not minimal encoding")}else s=o;const a=t.subarray(r,r+s);if(a.length!==s)throw new n("tlv.decode: wrong value length");return{v:a,l:t.subarray(r+s)}}},_int:{encode(e){const{Err:t}=jl;if(e<Dl)throw new t("integer: negative integers are not allowed");let n=ia(e);if(8&Number.parseInt(n[0],16)&&(n="00"+n),1&n.length)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=jl;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return va(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=jl,o=ka("signature",e),{v:s,l:a}=r.decode(48,o);if(a.length)throw new t("invalid signature: left bytes after parsing");const{v:i,l:c}=r.decode(2,s),{v:u,l:l}=r.decode(2,c);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(i),s:n.decode(u)}},hexFromSig(e){const{_tlv:t,_int:n}=jl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}};function Ul(e,t){return da(Ea(e,t))}const Dl=BigInt(0),Gl=BigInt(1);BigInt(2);const ql=BigInt(3),Vl=BigInt(4);function Wl(e){const t=function(e){const t=Ml(e);Oa(t,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});const{endo:n,Fp:r,a:o}=t;if(n){if(!r.eql(o,r.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if("object"!=typeof n||"bigint"!=typeof n.beta||"function"!=typeof n.splitScalar)throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...t})}(e),{Fp:n}=t,r=kl(t.n,t.nBitLength),o=t.toBytes||((e,t,r)=>{const o=t.toAffine();return Aa(Uint8Array.from([4]),n.toBytes(o.x),n.toBytes(o.y))}),s=t.fromBytes||(e=>{const t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function a(e){const{a:r,b:o}=t,s=n.sqr(e),a=n.mul(s,e);return n.add(n.add(a,n.mul(e,r)),o)}function i(e,t){const r=n.sqr(t),o=a(e);return n.eql(r,o)}if(!i(t.Gx,t.Gy))throw new Error("bad curve params: generator point");const c=n.mul(n.pow(t.a,ql),Vl),u=n.mul(n.sqr(t.b),BigInt(27));if(n.is0(n.add(c,u)))throw new Error("bad curve params: a or b");function l(e){const{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:o,n:s}=t;if(n&&"bigint"!=typeof e){if(oa(e)&&(e=da(e)),"string"!=typeof e||!n.includes(e.length))throw new Error("invalid private key");e=e.padStart(2*r,"0")}let a;try{a="bigint"==typeof e?e:va(ka("private key",e,r))}catch(t){throw new Error("invalid private key, expected hex or "+r+" bytes, got "+typeof e)}return o&&(a=pl(a,s)),Na("private key",a,Gl,s),a}function d(e){if(!(e instanceof p))throw new Error("ProjectivePoint expected")}const f=_a((e,t)=>{const{px:r,py:o,pz:s}=e;if(n.eql(s,n.ONE))return{x:r,y:o};const a=e.is0();null==t&&(t=a?n.ONE:n.inv(s));const i=n.mul(r,t),c=n.mul(o,t),u=n.mul(s,t);if(a)return{x:n.ZERO,y:n.ZERO};if(!n.eql(u,n.ONE))throw new Error("invZ was invalid");return{x:i,y:c}}),h=_a(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.py))return;throw new Error("bad point: ZERO")}const{x:r,y:o}=e.toAffine();if(!n.isValid(r)||!n.isValid(o))throw new Error("bad point: x or y not FE");if(!i(r,o))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class p{constructor(e,t,r){if(null==e||!n.isValid(e))throw new Error("x required");if(null==t||!n.isValid(t)||n.is0(t))throw new Error("y required");if(null==r||!n.isValid(r))throw new Error("z required");this.px=e,this.py=t,this.pz=r,Object.freeze(this)}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof p)throw new Error("projective point not allowed");const o=e=>n.eql(e,n.ZERO);return o(t)&&o(r)?p.ZERO:new p(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const t=xl(n,e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(p.fromAffine)}static fromHex(e){const t=p.fromAffine(s(ka("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return p.BASE.multiply(l(e))}static msm(e,t){return zl(p,r,e,t)}_setWindowSize(e){b.setWindowSize(this,e)}assertValidity(){h(this)}hasEvenY(){const{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw new Error("Field doesn't support isOdd")}equals(e){d(e);const{px:t,py:r,pz:o}=this,{px:s,py:a,pz:i}=e,c=n.eql(n.mul(t,i),n.mul(s,o)),u=n.eql(n.mul(r,i),n.mul(a,o));return c&&u}negate(){return new p(this.px,n.neg(this.py),this.pz)}double(){const{a:e,b:r}=t,o=n.mul(r,ql),{px:s,py:a,pz:i}=this;let c=n.ZERO,u=n.ZERO,l=n.ZERO,d=n.mul(s,s),f=n.mul(a,a),h=n.mul(i,i),m=n.mul(s,a);return m=n.add(m,m),l=n.mul(s,i),l=n.add(l,l),c=n.mul(e,l),u=n.mul(o,h),u=n.add(c,u),c=n.sub(f,u),u=n.add(f,u),u=n.mul(c,u),c=n.mul(m,c),l=n.mul(o,l),h=n.mul(e,h),m=n.sub(d,h),m=n.mul(e,m),m=n.add(m,l),l=n.add(d,d),d=n.add(l,d),d=n.add(d,h),d=n.mul(d,m),u=n.add(u,d),h=n.mul(a,i),h=n.add(h,h),d=n.mul(h,m),c=n.sub(c,d),l=n.mul(h,f),l=n.add(l,l),l=n.add(l,l),new p(c,u,l)}add(e){d(e);const{px:r,py:o,pz:s}=this,{px:a,py:i,pz:c}=e;let u=n.ZERO,l=n.ZERO,f=n.ZERO;const h=t.a,m=n.mul(t.b,ql);let g=n.mul(r,a),b=n.mul(o,i),y=n.mul(s,c),w=n.add(r,o),v=n.add(a,i);w=n.mul(w,v),v=n.add(g,b),w=n.sub(w,v),v=n.add(r,s);let x=n.add(a,c);return v=n.mul(v,x),x=n.add(g,y),v=n.sub(v,x),x=n.add(o,s),u=n.add(i,c),x=n.mul(x,u),u=n.add(b,y),x=n.sub(x,u),f=n.mul(h,v),u=n.mul(m,y),f=n.add(u,f),u=n.sub(b,f),f=n.add(b,f),l=n.mul(u,f),b=n.add(g,g),b=n.add(b,g),y=n.mul(h,y),v=n.mul(m,v),b=n.add(b,y),y=n.sub(g,y),y=n.mul(h,y),v=n.add(v,y),g=n.mul(b,v),l=n.add(l,g),g=n.mul(x,v),u=n.mul(w,u),u=n.sub(u,g),g=n.mul(w,b),f=n.mul(x,f),f=n.add(f,g),new p(u,l,f)}subtract(e){return this.add(e.negate())}is0(){return this.equals(p.ZERO)}wNAF(e){return b.wNAFCached(this,e,p.normalizeZ)}multiplyUnsafe(e){const{endo:r,n:o}=t;Na("scalar",e,Dl,o);const s=p.ZERO;if(e===Dl)return s;if(this.is0()||e===Gl)return this;if(!r||b.hasPrecomputes(this))return b.wNAFCachedUnsafe(this,e,p.normalizeZ);let{k1neg:a,k1:i,k2neg:c,k2:u}=r.splitScalar(e),l=s,d=s,f=this;for(;i>Dl||u>Dl;)i&Gl&&(l=l.add(f)),u&Gl&&(d=d.add(f)),f=f.double(),i>>=Gl,u>>=Gl;return a&&(l=l.negate()),c&&(d=d.negate()),d=new p(n.mul(d.px,r.beta),d.py,d.pz),l.add(d)}multiply(e){const{endo:r,n:o}=t;let s,a;if(Na("scalar",e,Gl,o),r){const{k1neg:t,k1:o,k2neg:i,k2:c}=r.splitScalar(e);let{p:u,f:l}=this.wNAF(o),{p:d,f:f}=this.wNAF(c);u=b.constTimeNegate(t,u),d=b.constTimeNegate(i,d),d=new p(n.mul(d.px,r.beta),d.py,d.pz),s=u.add(d),a=l.add(f)}else{const{p:t,f:n}=this.wNAF(e);s=t,a=n}return p.normalizeZ([s,a])[0]}multiplyAndAddUnsafe(e,t,n){const r=p.BASE,o=(e,t)=>t!==Dl&&t!==Gl&&e.equals(r)?e.multiply(t):e.multiplyUnsafe(t),s=o(this,t).add(o(e,n));return s.is0()?void 0:s}toAffine(e){return f(this,e)}isTorsionFree(){const{h:e,isTorsionFree:n}=t;if(e===Gl)return!0;if(n)return n(p,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:e,clearCofactor:n}=t;return e===Gl?this:n?n(p,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return aa("isCompressed",e),this.assertValidity(),o(p,this,e)}toHex(e=!0){return aa("isCompressed",e),da(this.toRawBytes(e))}}p.BASE=new p(t.Gx,t.Gy,n.ONE),p.ZERO=new p(n.ZERO,n.ONE,n.ZERO);const{endo:m,nBitLength:g}=t,b=(y=p,w=m?Math.ceil(g/2):g,{constTimeNegate:Tl,hasPrecomputes:e=>1!==Rl(e),unsafeLadder(e,t,n=y.ZERO){let r=e;for(;t>Sl;)t&Nl&&(n=n.add(r)),r=r.double(),t>>=Nl;return n},precomputeWindow(e,t){const{windows:n,windowSize:r}=Bl(t,w),o=[];let s=e,a=s;for(let e=0;e<n;e++){a=s,o.push(a);for(let e=1;e<r;e++)a=a.add(s),o.push(a);s=a.double()}return o},wNAF(e,t,n){let r=y.ZERO,o=y.BASE;const s=Bl(e,w);for(let e=0;e<s.windows;e++){const{nextN:a,offset:i,isZero:c,isNeg:u,isNegF:l,offsetF:d}=Cl(n,e,s);n=a,c?o=o.add(Tl(l,t[d])):r=r.add(Tl(u,t[i]))}return{p:r,f:o}},wNAFUnsafe(e,t,n,r=y.ZERO){const o=Bl(e,w);for(let e=0;e<o.windows&&n!==Sl;e++){const{nextN:s,offset:a,isZero:i,isNeg:c}=Cl(n,e,o);if(n=s,!i){const e=t[a];r=r.add(c?e.negate():e)}}return r},getPrecomputes(e,t,n){let r=Ol.get(t);return r||(r=this.precomputeWindow(t,e),1!==e&&Ol.set(t,n(r))),r},wNAFCached(e,t,n){const r=Rl(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){const o=Rl(e);return 1===o?this.unsafeLadder(e,t,r):this.wNAFUnsafe(o,this.getPrecomputes(o,e,n),t,r)},setWindowSize(e,t){$l(t,w),_l.set(e,t),Ol.delete(e)}});var y,w;return{CURVE:t,ProjectivePoint:p,normPrivateKeyToScalar:l,weierstrassEquation:a,isWithinCurveOrder:function(e){return Sa(e,Gl,t.n)}}}function Hl(e){const t=function(e){const t=Ml(e);return Oa(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:n,n:r,nByteLength:o,nBitLength:s}=t,a=n.BYTES+1,i=2*n.BYTES+1;function c(e){return pl(e,r)}function u(e){return gl(e,r)}const{ProjectivePoint:l,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:h}=Wl({...t,toBytes(e,t,r){const o=t.toAffine(),s=n.toBytes(o.x),a=Aa;return aa("isCompressed",r),r?a(Uint8Array.from([t.hasEvenY()?2:3]),s):a(Uint8Array.from([4]),s,n.toBytes(o.y))},fromBytes(e){const t=e.length,r=e[0],o=e.subarray(1);if(t!==a||2!==r&&3!==r){if(t===i&&4===r){return{x:n.fromBytes(o.subarray(0,n.BYTES)),y:n.fromBytes(o.subarray(n.BYTES,2*n.BYTES))}}throw new Error("invalid Point, expected length of "+a+", or uncompressed "+i+", got "+t)}{const e=va(o);if(!Sa(e,Gl,n.ORDER))throw new Error("Point is not on curve");const t=f(e);let s;try{s=n.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("Point is not on curve"+t)}return!(1&~r)!==((s&Gl)===Gl)&&(s=n.neg(s)),{x:e,y:s}}}});function p(e){return e>r>>Gl}const m=(e,t,n)=>va(e.slice(t,n));class g{constructor(e,t,n){Na("r",e,Gl,r),Na("s",t,Gl,r),this.r=e,this.s=t,null!=n&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){const t=o;return e=ka("compactSignature",e,2*t),new g(m(e,0,t),m(e,t,2*t))}static fromDER(e){const{r:t,s:n}=jl.toSig(ka("DER",e));return new g(t,n)}assertValidity(){}addRecoveryBit(e){return new g(this.r,this.s,e)}recoverPublicKey(e){const{r:r,s:o,recovery:s}=this,a=v(ka("msgHash",e));if(null==s||![0,1,2,3].includes(s))throw new Error("recovery id invalid");const i=2===s||3===s?r+t.n:r;if(i>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const d=1&s?"03":"02",f=l.fromHex(d+Ul(i,n.BYTES)),h=u(i),p=c(-a*h),m=c(o*h),g=l.BASE.multiplyAndAddUnsafe(f,p,m);if(!g)throw new Error("point at infinify");return g.assertValidity(),g}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return wa(this.toDERHex())}toDERHex(){return jl.hexFromSig(this)}toCompactRawBytes(){return wa(this.toCompactHex())}toCompactHex(){const e=o;return Ul(this.r,e)+Ul(this.s,e)}}const b={isValidPrivateKey(e){try{return d(e),!0}catch(e){return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{const e=Il(t.n);return function(e,t,n=!1){const r=e.length,o=Al(t),s=Il(t);if(r<16||r<s||r>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+r);const a=pl(n?xa(e):va(e),t-cl)+cl;return n?Pa(a,o):Ea(a,o)}(t.randomBytes(e),t.n)},precompute:(e=8,t=l.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)};function y(e){if("bigint"==typeof e)return!1;if(e instanceof l)return!0;const r=ka("key",e).length,s=n.BYTES,a=s+1,i=2*s+1;return t.allowedPrivateKeyLengths||o===a?void 0:r===a||r===i}const w=t.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const t=va(e),n=8*e.length-s;return n>0?t>>BigInt(n):t},v=t.bits2int_modN||function(e){return c(w(e))},x=Ta(s);function E(e){return Na("num < 2^"+s,e,Dl,x),Ea(e,o)}function P(e,r,o=k){if(["recovered","canonical"].some(e=>e in o))throw new Error("sign() legacy options not supported");const{hash:s,randomBytes:a}=t;let{lowS:i,prehash:f,extraEntropy:m}=o;null==i&&(i=!0),e=ka("msgHash",e),Fl(o),f&&(e=ka("prehashed msgHash",s(e)));const b=v(e),y=d(r),x=[E(y),E(b)];if(null!=m&&!1!==m){const e=!0===m?a(n.BYTES):m;x.push(ka("extraEntropy",e))}const P=Aa(...x),A=b;return{seed:P,k2sig:function(e){const t=w(e);if(!h(t))return;const n=u(t),r=l.BASE.multiply(t).toAffine(),o=c(r.x);if(o===Dl)return;const s=c(n*c(A+o*y));if(s===Dl)return;let a=(r.x===o?0:2)|Number(r.y&Gl),d=s;return i&&p(s)&&(d=function(e){return p(e)?c(-e):e}(s),a^=1),new g(o,d,a)}}}const k={lowS:t.lowS,prehash:!1},A={lowS:t.lowS,prehash:!1};return l.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return l.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,n=!0){if(!0===y(e))throw new Error("first arg must be private key");if(!1===y(t))throw new Error("second arg must be public key");return l.fromHex(t).multiply(d(e)).toRawBytes(n)},sign:function(e,n,r=k){const{seed:o,k2sig:s}=P(e,n,r),a=t,i=function(e,t,n){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof n)throw new Error("hmacFn must be a function");let r=$a(e),o=$a(e),s=0;const a=()=>{r.fill(1),o.fill(0),s=0},i=(...e)=>n(o,r,...e),c=(e=$a(0))=>{o=i(Ba([0]),e),r=i(),0!==e.length&&(o=i(Ba([1]),e),r=i())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const n=[];for(;e<t;){r=i();const t=r.slice();n.push(t),e+=r.length}return Aa(...n)};return(e,t)=>{let n;for(a(),c(e);!(n=t(u()));)c();return a(),n}}(a.hash.outputLen,a.nByteLength,a.hmac);return i(o,s)},verify:function(e,n,r,o=A){const s=e;n=ka("msgHash",n),r=ka("publicKey",r);const{lowS:a,prehash:i,format:d}=o;if(Fl(o),"strict"in o)throw new Error("options.strict was renamed to lowS");if(void 0!==d&&"compact"!==d&&"der"!==d)throw new Error("format must be compact or der");const f="string"==typeof s||oa(s),h=!f&&!d&&"object"==typeof s&&null!==s&&"bigint"==typeof s.r&&"bigint"==typeof s.s;if(!f&&!h)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let p,m;try{if(h&&(p=new g(s.r,s.s)),f){try{"compact"!==d&&(p=g.fromDER(s))}catch(e){if(!(e instanceof jl.Err))throw e}p||"der"===d||(p=g.fromCompact(s))}m=l.fromHex(r)}catch(e){return!1}if(!p)return!1;if(a&&p.hasHighS())return!1;i&&(n=t.hash(n));const{r:b,s:y}=p,w=v(n),x=u(y),E=c(w*x),P=c(b*x),k=l.BASE.multiplyAndAddUnsafe(m,E,P)?.toAffine();return!!k&&c(k.x)===b},ProjectivePoint:l,Signature:g,utils:b}}
10
10
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Yl(e){return{hash:e,hmac:(t,...n)=>al(e,t,function(...e){let t=0;for(let n=0;n<e.length;n++){const r=e[n];sn(r),t+=r.length}const n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){const o=e[t];n.set(o,r),r+=o.length}return n}(...n)),randomBytes:bn}}
11
11
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
12
- const Zl=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Kl=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Jl=BigInt(0),Ql=BigInt(1),Xl=BigInt(2),ed=(e,t)=>(e+t/Xl)/t;const td=kl(Zl,void 0,void 0,{sqrt:function(e){const t=Zl,n=BigInt(3),r=BigInt(6),o=BigInt(11),s=BigInt(22),a=BigInt(23),i=BigInt(44),c=BigInt(88),u=e*e*e%t,l=u*u*e%t,d=ml(l,n,t)*l%t,f=ml(d,n,t)*l%t,h=ml(f,Xl,t)*u%t,p=ml(h,o,t)*h%t,m=ml(p,s,t)*p%t,g=ml(m,i,t)*m%t,b=ml(g,c,t)*g%t,y=ml(b,i,t)*m%t,w=ml(y,n,t)*l%t,v=ml(w,a,t)*p%t,x=ml(v,r,t)*u%t,E=ml(x,Xl,t);if(!td.eql(td.sqr(E),e))throw new Error("Cannot find square root");return E}}),nd=function(e,t){const n=t=>Hl({...e,...Yl(t)});return{...n(t),create:n}}({a:Jl,b:BigInt(7),Fp:td,n:Kl,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=Kl,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-Ql*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=n,a=BigInt("0x100000000000000000000000000000000"),i=ed(s*e,t),c=ed(-r*e,t);let u=pl(e-i*n-c*o,t),l=pl(-i*r-c*s,t);const d=u>a,f=l>a;if(d&&(u=t-u),f&&(l=t-l),u>a||l>a)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:d,k1:u,k2neg:f,k2:l}}}},Cs);var rd=Object.freeze({__proto__:null,secp256k1:nd});function od(e,t={}){const{recovered:n}=t;if(void 0===e.r)throw new ud({signature:e});if(void 0===e.s)throw new ud({signature:e});if(n&&void 0===e.yParity)throw new ud({signature:e});if(e.r<0n||e.r>zu)throw new ld({value:e.r});if(e.s<0n||e.s>zu)throw new dd({value:e.s});if("number"==typeof e.yParity&&0!==e.yParity&&1!==e.yParity)throw new fd({value:e.yParity})}function sd(e){if(130!==e.length&&132!==e.length)throw new cd({signature:e});const t=BigInt(wi(e,0,32)),n=BigInt(wi(e,32,64)),r=(()=>{const t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return id(t)}catch{throw new fd({value:t})}})();return void 0===r?{r:t,s:n}:{r:t,s:n,yParity:r}}function ad(e){if(void 0!==e.r&&void 0!==e.s)return function(e){const t="string"==typeof e?sd(e):e instanceof Uint8Array?function(e){return sd(pi(e))}(e):"string"==typeof e.r?function(e){const t=(()=>{const t=e.v?Number(e.v):void 0;let n=e.yParity?Number(e.yParity):void 0;if("number"==typeof t&&"number"!=typeof n&&(n=id(t)),"number"!=typeof n)throw new fd({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}(e):e.v?function(e){return{r:e.r,s:e.s,yParity:id(e.v)}}(e):{r:e.r,s:e.s,...void 0!==e.yParity?{yParity:e.yParity}:{}};return od(t),t}(e)}function id(e){if(0===e||27===e)return 0;if(1===e||28===e)return 1;if(e>=35)return e%2==0?1:0;throw new hd({value:e})}class cd extends Ra{constructor({signature:e}){var t;super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${vi((t=e,t instanceof Uint8Array?pi(t):Array.isArray(t)?pi(new Uint8Array(t)):t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class ud extends Ra{constructor({signature:e}){super(`Signature \`${Ya(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class ld extends Ra{constructor({value:e}){super(`Value \`${e}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}}class dd extends Ra{constructor({value:e}){super(`Value \`${e}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}}class fd extends Ra{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}}class hd extends Ra{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}}function pd(e,t={}){return"string"==typeof e.chainId?function(e){const{address:t,chainId:n,nonce:r}=e,o=ad(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...o}}(e):{...e,...t.signature}}const md=Ju("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function gd(e){if("string"==typeof e){if("0x8010801080108010801080108010801080108010801080108010801080108010"!==wi(e,-32))throw new bd(e)}else od(e.authorization)}let bd=class extends Ra{constructor(e){super(`Value \`${e}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};async function yd(e,{address:t,blockNumber:n,blockTag:r,storageKeys:o}){const s=r??"latest",a=void 0!==n?Vt(n):void 0;return function(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?jt(e.nonce):void 0,storageProof:e.storageProof?(t=e.storageProof,t.map(e=>({...e,value:BigInt(e.value)}))):void 0};var t}(await e.request({method:"eth_getProof",params:[t,o,a||s]}))}async function wd(e,{blockHash:t,blockNumber:n,blockTag:r,hash:o,index:s}){const a=r||"latest",i=void 0!==n?Vt(n):void 0;let c=null;if(c=o?await e.request({method:"eth_getTransactionByHash",params:[o]},{dedupe:!0}):t?await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,Vt(s)]},{dedupe:!0}):await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[i||a,Vt(s)]},{dedupe:Boolean(i)}),!c)throw new Hr({blockHash:t,blockNumber:n,blockTag:a,hash:o,index:s});return(e.chain?.formatters?.transaction?.format||gs)(c)}async function vd(e,{hash:t}){const n=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!n)throw new Yr({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||yc)(n)}async function xd(e,t){const{blockNumber:n,blockTag:r=e.experimental_blockTag??"latest",blocks:o,returnFullTransactions:s,traceTransfers:a,validation:i}=t;try{const t=[];for(const e of o){const n=e.blockOverrides?Bi(e.blockOverrides):void 0,r=e.calls.map(e=>{const t=e,n=t.account?pr(t.account):void 0,r=t.abi?gr(t):t.data,o={...t,data:t.dataSuffix?Hn([r||"0x",t.dataSuffix]):r,from:t.from??n?.address};return ls(o),ss(o)}),o=e.stateOverrides?cs(e.stateOverrides):void 0;t.push({blockOverrides:n,calls:r,stateOverrides:o})}const c=("bigint"==typeof n?Vt(n):void 0)||r;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:t,returnFullTransactions:s,traceTransfers:a,validation:i},c]})).map((e,t)=>({...bs(e),calls:e.calls.map((e,n)=>{const{abi:r,args:s,functionName:a,to:i}=o[t].calls[n],c=e.error?.data??e.returnData,u=BigInt(e.gasUsed),l=e.logs?.map(e=>Js(e)),d="0x1"===e.status?"success":"failure",f=r&&"success"===d&&"0x"!==c?ta({abi:r,data:c,functionName:a}):null,h=(()=>{if("success"===d)return;let t;return"0x"===e.error?.data?t=new at:e.error&&(t=new to(e.error)),t?Ro(t,{abi:r??[],address:i??"0x",args:s,functionName:a??"<unknown>"}):void 0})();return{data:c,gasUsed:u,logs:l,status:d,..."success"===d?{result:f}:{error:h}}})}))}catch(e){const t=e,n=ns(t,{});if(n instanceof ts)throw t;throw n}}function Ed(e){let t=!0,n="",r=0,o="",s=!1;for(let a=0;a<e.length;a++){const i=e[a];if(["(",")",","].includes(i)&&(t=!0),"("===i&&r++,")"===i&&r--,t)if(0!==r)" "!==i?(o+=i,n+=i):","!==e[a-1]&&","!==n&&",("!==n&&(n="",t=!1);else if(" "===i&&["event","function","error",""].includes(o))o="";else if(o+=i,")"===i){s=!0;break}}if(!s)throw new Ra("Unable to normalize signature.");return o}function Pd(e,t){const n=typeof e,r=t.type;switch(r){case"address":return Tu(e,{strict:!1});case"bool":return"boolean"===n;case"function":case"string":return"string"===n;default:return"tuple"===r&&"components"in t?Object.values(t.components).every((t,n)=>Pd(Object.values(e)[n],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?"number"===n||"bigint"===n:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?"string"===n||e instanceof Uint8Array:!!/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)&&(Array.isArray(e)&&e.every(e=>Pd(e,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,"")})))}}function kd(e,t,n){for(const r in e){const o=e[r],s=t[r];if("tuple"===o.type&&"tuple"===s.type&&"components"in o&&"components"in s)return kd(o.components,s.components,n[r]);const a=[o.type,s.type];if((()=>!(!a.includes("address")||!a.includes("bytes20"))||(a.includes("address")&&a.includes("string")||!(!a.includes("address")||!a.includes("bytes")))&&Tu(n[r],{strict:!1}))())return a}}function Ad(e,t={}){const{prepare:n=!0}=t,r=Array.isArray(e)||"string"==typeof e?Ve(e):e;return{...r,...n?{hash:Nd(r)}:{}}}function Id(e,t,n){const{args:r=[],prepare:o=!0}=n??{},s=Pi(t,{strict:!1}),a=e.filter(e=>s?"function"===e.type||"error"===e.type?Sd(e)===wi(t,0,4):"event"===e.type&&Nd(e)===t:"name"in e&&e.name===t);if(0===a.length)throw new $d({name:t});if(1===a.length)return{...a[0],...o?{hash:Nd(a[0])}:{}};let i;for(const e of a){if(!("inputs"in e))continue;if(!r||0===r.length){if(!e.inputs||0===e.inputs.length)return{...e,...o?{hash:Nd(e)}:{}};continue}if(!e.inputs)continue;if(0===e.inputs.length)continue;if(e.inputs.length!==r.length)continue;const t=r.every((t,n)=>{const r="inputs"in e&&e.inputs[n];return!!r&&Pd(t,r)});if(t){if(i&&"inputs"in i&&i.inputs){const t=kd(e.inputs,i.inputs,r);if(t)throw new Td({abiItem:e,type:t[0]},{abiItem:i,type:t[1]})}i=e}}const c=(()=>{if(i)return i;const[e,...t]=a;return{...e,overloads:t}})();if(!c)throw new $d({name:t});return{...c,...o?{hash:Nd(c)}:{}}}function Sd(...e){const t=(()=>{if(Array.isArray(e[0])){const[t,n]=e;return Id(t,n)}return e[0]})();return wi(Nd(t),0,4)}function Nd(...e){const t=(()=>{if(Array.isArray(e[0])){const[t,n]=e;return Id(t,n)}return e[0]})();return"string"!=typeof t&&"hash"in t&&t.hash?t.hash:Au(gi(function(...e){const t=(()=>{if(Array.isArray(e[0])){const[t,n]=e;return Id(t,n)}return e[0]})();return Ed("string"==typeof t?t:se(t))}(t)))}class Td extends Ra{constructor(e,t){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${Ed(se(e.abiItem))}\`, and`,`\`${t.type}\` in \`${Ed(se(t.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class $d extends Ra{constructor({name:e,data:t,type:n="item"}){super(`ABI ${n}${e?` with name "${e}"`:t?` with data "${t}"`:""} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}function Bd(e){const t=e.find(e=>"constructor"===e.type);if(!t)throw new $d({name:"constructor"});return t}function Cd(...e){const[t,n=[]]=(()=>{if(Array.isArray(e[0])){const[t,n,r]=e;return[_d(t,n,{args:r}),r]}const[t,n]=e;return[t,n]})(),{overloads:r}=t,o=r?_d([t,...r],t.name,{args:n}):t,s=Sd(o);const a=n.length>0?Zu(o.inputs,n):void 0;return a?fi(s,a):s}function Od(e,t={}){return Ad(e,t)}function _d(e,t,n){const r=Id(e,t,n);if("function"!==r.type)throw new $d({name:t,type:"function"});return r}const Rd="0x0000000000000000000000000000000000000000";async function zd(e,t){const{blockNumber:n,blockTag:r,calls:o,stateOverrides:s,traceAssetChanges:a,traceTransfers:i,validation:c}=t,u=t.account?pr(t.account):void 0;if(a&&!u)throw new tt("`account` is required when `traceAssetChanges` is true");const l=u?function(...e){const[t,n]=(()=>{if(Array.isArray(e[0])){const[t,n]=e;return[Bd(t),n]}return e})(),{bytecode:r,args:o}=n;return fi(r,t.inputs?.length&&o?.length?Zu(t.inputs,o):"0x")}(Ad("constructor(bytes, bytes)"),{bytecode:Di,args:["0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033",Cd(Od("function getBalance(address)"),[u.address])]}):void 0;const d=a?await Promise.all(t.calls.map(async t=>{if(!t.data&&!t.abi)return;const{accessList:n}=await Hc(e,{account:u.address,...t,data:t.abi?gr(t):t.data});return n.map(({address:e,storageKeys:t})=>t.length>0?e:null)})).then(e=>e.flat().filter(Boolean)):[],f=await xd(e,{blockNumber:n,blockTag:r,blocks:[...a?[{calls:[{data:l}],stateOverrides:s},{calls:d.map((e,t)=>({abi:[Od("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:e,from:Rd,nonce:t})),stateOverrides:[{address:Rd,nonce:0}]}]:[],{calls:[...o,{}].map(e=>({...e,from:u?.address})),stateOverrides:s},...a?[{calls:[{data:l}]},{calls:d.map((e,t)=>({abi:[Od("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:e,from:Rd,nonce:t})),stateOverrides:[{address:Rd,nonce:0}]},{calls:d.map((e,t)=>({to:e,abi:[Od("function decimals() returns (uint256)")],functionName:"decimals",from:Rd,nonce:t})),stateOverrides:[{address:Rd,nonce:0}]},{calls:d.map((e,t)=>({to:e,abi:[Od("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:Rd,nonce:t})),stateOverrides:[{address:Rd,nonce:0}]},{calls:d.map((e,t)=>({to:e,abi:[Od("function symbol() returns (string)")],functionName:"symbol",from:Rd,nonce:t})),stateOverrides:[{address:Rd,nonce:0}]}]:[]],traceTransfers:i,validation:c}),h=a?f[2]:f[0],[p,m,,g,b,y,w,v]=a?f:[],{calls:x,...E}=h,P=x.slice(0,-1)??[],k=[...p?.calls??[],...m?.calls??[]].map(e=>"success"===e.status?Ft(e.data):null),A=[...g?.calls??[],...b?.calls??[]].map(e=>"success"===e.status?Ft(e.data):null),I=(y?.calls??[]).map(e=>"success"===e.status?e.result:null),S=(v?.calls??[]).map(e=>"success"===e.status?e.result:null),N=(w?.calls??[]).map(e=>"success"===e.status?e.result:null),T=[];for(const[e,t]of A.entries()){const n=k[e];if("bigint"!=typeof t)continue;if("bigint"!=typeof n)continue;const r=I[e-1],o=S[e-1],s=N[e-1],a=(()=>0===e?{address:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",decimals:18,symbol:"ETH"}:{address:d[e-1],decimals:s||r?Number(r??1):void 0,symbol:o??void 0})();T.some(e=>e.token.address===a.address)||T.push({token:a,value:{pre:n,post:t,diff:t-n}})}return{assetChanges:T,block:E,results:P}}const Md="0x6492649264926492649264926492649264926492649264926492649264926492";function Ld(e){try{return function(e){if(wi(e,-32)!==Md)throw new Fd(e)}(e),!0}catch{return!1}}class Fd extends Ra{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}}function jd({r:e,s:t,to:n="hex",v:r,yParity:o}){const s=(()=>{if(0===o||1===o)return o;if(r&&(27n===r||28n===r||r>=35n))return r%2n==0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),a=`0x${new nd.Signature(Ft(e),Ft(t)).toCompactHex()}${0===s?"1b":"1c"}`;return"hex"===n?a:Qt(a)}async function Ud(e,t){const{address:n,hash:r,erc6492VerifierAddress:o=t.universalSignatureVerifierAddress??e.chain?.contracts?.erc6492Verifier?.address,multicallAddress:s=t.multicallAddress??e.chain?.contracts?.multicall3?.address}=t,a=(()=>{const e=t.signature;return Ke(e)?e:"object"==typeof e&&"r"in e&&"s"in e?jd(e):qt(e)})();try{return function(e){try{return gd(e),!0}catch{return!1}}(a)?await async function(e,t){const{address:n,blockNumber:r,blockTag:o,hash:s,multicallAddress:a}=t,{authorization:i,data:c,signature:u,to:l}=function(e){gd(e);const t=Ei(wi(e,-64,-32)),n=wi(e,-t-64,-64),r=wi(e,0,-t-64),[o,s,a]=Yu(md,n);return{authorization:pd({address:o.delegation,chainId:Number(o.chainId),nonce:o.nonce,yParity:o.yParity,r:o.r,s:o.s}),signature:r,...a&&"0x"!==a?{data:a,to:s}:{}}}(t.signature),d=await Kc(e,{address:n,blockNumber:r,blockTag:o});if(d===Yn(["0xef0100",i.address]))return await async function(e,t){const{address:n,blockNumber:r,blockTag:o,hash:s,signature:a}=t,i=await He(e,rc,"readContract")({address:n,abi:Fi,args:[s,a],blockNumber:r,blockTag:o,functionName:"isValidSignature"}).catch(e=>{if(e instanceof Jr)throw new Dd;throw e});if(i.startsWith("0x1626ba7e"))return!0;throw new Dd}(e,{address:n,blockNumber:r,blockTag:o,hash:s,signature:u});const f={address:i.address,chainId:Number(i.chainId),nonce:Number(i.nonce),r:Vt(i.r,{size:32}),s:Vt(i.s,{size:32}),yParity:i.yParity},h=await async function({address:e,authorization:t,signature:n}){return Ws(Gn(e),await Do({authorization:t,signature:n}))}({address:n,authorization:f});if(!h)throw new Dd;const p=await He(e,rc,"readContract")({...a?{address:a}:{code:Vi},authorizationList:[f],abi:Ci,blockNumber:r,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:l??n,callData:c}]:[],{allowFailure:!0,target:n,callData:gr({abi:Fi,functionName:"isValidSignature",args:[s,u]})}]]}),m=p[p.length-1]?.returnData;if(m?.startsWith("0x1626ba7e"))return!0;throw new Dd}(e,{...t,multicallAddress:s,signature:a}):await async function(e,t){const{address:n,factory:r,factoryData:o,hash:s,signature:a,verifierAddress:i,...c}=t,u=await(async()=>r||o?Ld(a)?a:function(e){const{data:t,signature:n,to:r}=e;return fi(Zu(Ju("address, bytes, bytes"),[r,t,n]),Md)}({data:o,signature:a,to:r}):a)(),l=i?{to:i,data:gr({abi:ji,functionName:"isValidSig",args:[n,s,u]}),...c}:{data:Zi({abi:ji,args:[n,s,u],bytecode:qi}),...c},{data:d}=await He(e,tc,"call")(l).catch(e=>{if(e instanceof Kr)throw new Dd;throw e});if(function(e,t={}){let n=e;if(t.size&&(Lt(n,{size:t.size}),n=Mt(n)),"0x00"===Mt(n))return!1;if("0x01"===Mt(n))return!0;throw new Rt(n)}(d??"0x0"))return!0;throw new Dd}(e,{...t,verifierAddress:o,signature:a})}catch(e){try{if(Ws(Gn(n),await Mo({hash:r,signature:a})))return!0}catch{}if(e instanceof Dd)return!1;throw e}}class Dd extends Error{}function Gd(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:o,poll:s,pollingInterval:a=e.pollingInterval}){let i;return(void 0!==s?s:"webSocket"!==e.transport.type&&"ipc"!==e.transport.type&&("fallback"!==e.transport.type||"webSocket"!==e.transport.transports[0].config.type&&"ipc"!==e.transport.transports[0].config.type))?ic(_r(["watchBlockNumber",e.uid,t,n,a]),{onBlockNumber:r,onError:o},r=>uc(async()=>{try{const t=await He(e,hc,"getBlockNumber")({cacheTime:0});if(void 0!==i){if(t===i)return;if(t-i>1&&n)for(let e=i+1n;e<t;e++)r.onBlockNumber(e,i),i=e}(void 0===i||t>i)&&(r.onBlockNumber(t,i),i=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:a})):ic(_r(["watchBlockNumber",e.uid,t,n]),{onBlockNumber:r,onError:o},t=>{let n=!0,r=()=>n=!1;return(async()=>{try{const o=(()=>{if("fallback"===e.transport.type){const t=e.transport.transports.find(e=>"webSocket"===e.config.type||"ipc"===e.config.type);return t?t.value:e.transport}return e.transport})(),{unsubscribe:s}=await o.subscribe({params:["newHeads"],onData(e){if(!n)return;const r=Ft(e.result?.number);t.onBlockNumber(r,i),i=r},onError(e){t.onError?.(e)}});r=s,n||r()}catch(e){o?.(e)}})(),()=>r()})}const qd=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,Vd=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;async function Wd(e,t){const{address:n,domain:r,message:o,nonce:s,scheme:a,signature:i,time:c=new Date,...u}=t,l=function(e){const{scheme:t,statement:n,...r}=e.match(qd)?.groups??{},{chainId:o,expirationTime:s,issuedAt:a,notBefore:i,requestId:c,...u}=e.match(Vd)?.groups??{},l=e.split("Resources:")[1]?.split("\n- ").slice(1);return{...r,...u,...o?{chainId:Number(o)}:{},...s?{expirationTime:new Date(s)}:{},...a?{issuedAt:new Date(a)}:{},...i?{notBefore:new Date(i)}:{},...c?{requestId:c}:{},...l?{resources:l}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}(o);if(!l.address)return!1;const d=function(e){const{address:t,domain:n,message:r,nonce:o,scheme:s,time:a=new Date}=e;if(n&&r.domain!==n)return!1;if(o&&r.nonce!==o)return!1;if(s&&r.scheme!==s)return!1;if(r.expirationTime&&a>=r.expirationTime)return!1;if(r.notBefore&&a<r.notBefore)return!1;try{if(!r.address)return!1;if(!Wn(r.address,{strict:!1}))return!1;if(t&&!Ws(r.address,t))return!1}catch{return!1}return!0}({address:n,domain:r,message:l,nonce:s,scheme:a,time:c});if(!d)return!1;const f=du(o);return Ud(e,{address:l.address,hash:f,signature:i,...u})}function Hd(e){return{call:t=>tc(e,t),createAccessList:t=>Hc(e,t),createBlockFilter:()=>async function(e){const t=fr(e,{method:"eth_newBlockFilter"}),n=await e.request({method:"eth_newBlockFilter"});return{id:n,request:t(n),type:"block"}}(e),createContractEventFilter:t=>hr(e,t),createEventFilter:t=>Yc(e,t),createPendingTransactionFilter:()=>Zc(e),estimateContractGas:t=>async function(e,t){const{abi:n,address:r,args:o,functionName:s,dataSuffix:a,...i}=t,c=gr({abi:n,args:o,functionName:s});try{return await He(e,Vs,"estimateGas")({data:`${c}${a?a.replace("0x",""):""}`,to:r,...i})}catch(e){const t=i.account?pr(i.account):void 0;throw Ro(e,{abi:n,address:r,args:o,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:t?.address})}}(e,t),estimateGas:t=>Vs(e,t),getBalance:t=>async function(e,{address:t,blockNumber:n,blockTag:r=e.experimental_blockTag??"latest"}){const o="bigint"==typeof n?Vt(n):void 0,s=await e.request({method:"eth_getBalance",params:[t,o||r]});return BigInt(s)}(e,t),getBlobBaseFee:()=>async function(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}(e),getBlock:t=>ys(e,t),getBlockNumber:t=>hc(e,t),getBlockTransactionCount:t=>async function(e,{blockHash:t,blockNumber:n,blockTag:r="latest"}={}){const o=void 0!==n?Vt(n):void 0;let s;return s=t?await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):await e.request({method:"eth_getBlockTransactionCountByNumber",params:[o||r]},{dedupe:Boolean(o)}),jt(s)}(e,t),getBytecode:t=>Kc(e,t),getChainId:()=>Us(e),getCode:t=>Kc(e,t),getContractEvents:t=>Xs(e,t),getEip712Domain:t=>async function(e,t){const{address:n,factory:r,factoryData:o}=t;try{const[t,s,a,i,c,u,l]=await He(e,rc,"readContract")({abi:Qc,address:n,functionName:"eip712Domain",factory:r,factoryData:o});return{domain:{name:s,version:a,chainId:Number(i),verifyingContract:c,salt:u},extensions:l,fields:t}}catch(e){const t=e;if("ContractFunctionExecutionError"===t.name&&"ContractFunctionZeroDataError"===t.cause.name)throw new Jc({address:n});throw t}}(e,t),getEnsAddress:t=>async function(e,t){const{blockNumber:n,blockTag:r,coinType:o,name:s,gatewayUrls:a,strict:i}=t,{chain:c}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Ki({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})(),l=c?.ensTlds;if(l&&!l.some(e=>s.endsWith(e)))return null;const d=null!=o?[Tc(s),BigInt(o)]:[Tc(s)];try{const t=gr({abi:Li,functionName:"addr",args:d}),o={address:u,abi:Ri,functionName:"resolveWithGateways",args:[Dt(Cc(s)),t,a??[Ic]],blockNumber:n,blockTag:r},i=He(e,rc,"readContract"),c=await i(o);if("0x"===c[0])return null;const l=ta({abi:Li,args:d,functionName:"addr",data:c[0]});return"0x"===l||"0x00"===Mt(l)?null:l}catch(e){if(i)throw e;if(Ec(e))return null;throw e}}(e,t),getEnsAvatar:t=>async function(e,{blockNumber:t,blockTag:n,assetGatewayUrls:r,name:o,gatewayUrls:s,strict:a,universalResolverAddress:i}){const c=await He(e,Wc,"getEnsText")({blockNumber:t,blockTag:n,key:"avatar",name:o,universalResolverAddress:i,gatewayUrls:s,strict:a});if(!c)return null;try{return await Vc(e,{record:c,gatewayUrls:r})}catch{return null}}(e,t),getEnsName:t=>async function(e,t){const{address:n,blockNumber:r,blockTag:o,coinType:s=60n,gatewayUrls:a,strict:i}=t,{chain:c}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Ki({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})();try{const t={address:u,abi:zi,args:[n,s,a??[Ic]],functionName:"reverseWithGateways",blockNumber:r,blockTag:o},i=He(e,rc,"readContract"),[c]=await i(t);return c||null}catch(e){if(i)throw e;if(Ec(e))return null;throw e}}(e,t),getEnsResolver:t=>async function(e,t){const{blockNumber:n,blockTag:r,name:o}=t,{chain:s}=e,a=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!s)throw new Error("client chain not configured. universalResolverAddress is required.");return Ki({blockNumber:n,chain:s,contract:"ensUniversalResolver"})})(),i=s?.ensTlds;if(i&&!i.some(e=>o.endsWith(e)))throw new Error(`${o} is not a valid ENS TLD (${i?.join(", ")}) for chain "${s.name}" (id: ${s.id}).`);const[c]=await He(e,rc,"readContract")({address:a,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[Dt(Cc(o))],blockNumber:n,blockTag:r});return c}(e,t),getEnsText:t=>Wc(e,t),getFeeHistory:t=>Xc(e,t),estimateFeesPerGas:t=>async function(e,t){return xs(e,t)}(e,t),getFilterChanges:e=>pc(0,e),getFilterLogs:e=>async function(e,{filter:t}){const n=t.strict??!1,r=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(e=>Js(e));return t.abi?Ks({abi:t.abi,logs:r,strict:n}):r}(0,e),getGasPrice:()=>ws(e),getLogs:t=>Qs(e,t),getProof:t=>yd(e,t),estimateMaxPriorityFeePerGas:t=>async function(e,t){return vs(e,t)}(e,t),getStorageAt:t=>async function(e,{address:t,blockNumber:n,blockTag:r="latest",slot:o}){const s=void 0!==n?Vt(n):void 0;return await e.request({method:"eth_getStorageAt",params:[t,o,s||r]})}(e,t),getTransaction:t=>wd(e,t),getTransactionConfirmations:t=>async function(e,{hash:t,transactionReceipt:n}){const[r,o]=await Promise.all([He(e,hc,"getBlockNumber")({}),t?He(e,wd,"getTransaction")({hash:t}):void 0]),s=n?.blockNumber||o?.blockNumber;return s?r-s+1n:0n}(e,t),getTransactionCount:t=>Es(e,t),getTransactionReceipt:t=>vd(e,t),multicall:t=>async function(e,t){const{account:n,authorizationList:r,allowFailure:o=!0,blockNumber:s,blockOverrides:a,blockTag:i,stateOverride:c}=t,u=t.contracts,{batchSize:l=t.batchSize??1024,deployless:d=t.deployless??!1}="object"==typeof e.batch?.multicall?e.batch.multicall:{},f=(()=>{if(t.multicallAddress)return t.multicallAddress;if(d)return null;if(e.chain)return Ki({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),h=[[]];let p=0,m=0;for(let e=0;e<u.length;e++){const{abi:t,address:r,args:s,functionName:a}=u[e];try{const e=gr({abi:t,args:s,functionName:a});m+=(e.length-2)/2,l>0&&m>l&&h[p].length>0&&(p++,m=(e.length-2)/2,h[p]=[]),h[p]=[...h[p],{allowFailure:!0,callData:e,target:r}]}catch(e){const i=Ro(e,{abi:t,address:r,args:s,docsPath:"/docs/contract/multicall",functionName:a,sender:n});if(!o)throw i;h[p]=[...h[p],{allowFailure:!0,callData:"0x",target:r}]}}const g=await Promise.allSettled(h.map(t=>He(e,rc,"readContract")({...null===f?{code:Vi}:{address:f},abi:Ci,account:n,args:[t],authorizationList:r,blockNumber:s,blockOverrides:a,blockTag:i,functionName:"aggregate3",stateOverride:c}))),b=[];for(let e=0;e<g.length;e++){const t=g[e];if("rejected"===t.status){if(!o)throw t.reason;for(let n=0;n<h[e].length;n++)b.push({status:"failure",error:t.reason,result:void 0});continue}const n=t.value;for(let t=0;t<n.length;t++){const{returnData:r,success:s}=n[t],{callData:a}=h[e][t],{abi:i,address:c,functionName:l,args:d}=u[b.length];try{if("0x"===a)throw new at;if(!s)throw new to({data:r});const e=ta({abi:i,args:d,data:r,functionName:l});b.push(o?{result:e,status:"success"}:e)}catch(e){const t=Ro(e,{abi:i,address:c,args:d,docsPath:"/docs/contract/multicall",functionName:l});if(!o)throw t;b.push({error:t,result:void 0,status:"failure"})}}}if(b.length!==u.length)throw new tt("multicall results mismatch");return b}(e,t),prepareTransactionRequest:t=>qs(e,t),readContract:t=>rc(e,t),sendRawTransaction:t=>async function(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}(e,t),simulate:t=>xd(e,t),simulateBlocks:t=>xd(e,t),simulateCalls:t=>zd(e,t),simulateContract:t=>async function(e,t){const{abi:n,address:r,args:o,dataSuffix:s,functionName:a,...i}=t,c=i.account?pr(i.account):e.account,u=gr({abi:n,args:o,functionName:a});try{const{data:l}=await He(e,tc,"call")({batch:!1,data:`${u}${s?s.replace("0x",""):""}`,to:r,...i,account:c});return{result:ta({abi:n,args:o,functionName:a,data:l||"0x"}),request:{abi:n.filter(e=>"name"in e&&e.name===t.functionName),address:r,args:o,dataSuffix:s,functionName:a,...i,account:c}}}catch(e){throw Ro(e,{abi:n,address:r,args:o,docsPath:"/docs/contract/simulateContract",functionName:a,sender:c?.address})}}(e,t),verifyHash:t=>Ud(e,t),verifyMessage:t=>async function(e,{address:t,message:n,factory:r,factoryData:o,signature:s,...a}){return Ud(e,{address:t,factory:r,factoryData:o,hash:du(n),signature:s,...a})}(e,t),verifySiweMessage:t=>Wd(e,t),verifyTypedData:t=>async function(e,t){const{address:n,factory:r,factoryData:o,signature:s,message:a,primaryType:i,types:c,domain:u,...l}=t;return Ud(e,{address:n,factory:r,factoryData:o,hash:bu({message:a,primaryType:i,types:c,domain:u}),signature:s,...l})}(e,t),uninstallFilter:e=>mc(0,e),waitForTransactionReceipt:t=>async function(e,t){const{checkReplacement:n=!0,confirmations:r=1,hash:o,onReplaced:s,retryCount:a=6,retryDelay:i=({count:e})=>200*(1<<e),timeout:c=18e4}=t,u=_r(["waitForTransactionReceipt",e.uid,o]),l=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval;let d,f,h,p,m,g=!1;const{promise:b,resolve:y,reject:w}=Qi(),v=c?setTimeout(()=>{m?.(),p?.(),w(new Zr({hash:o}))},c):void 0;return p=ic(u,{onReplaced:s,resolve:y,reject:w},async t=>{if(h=await He(e,vd,"getTransactionReceipt")({hash:o}).catch(()=>{}),h&&r<=1)return clearTimeout(v),t.resolve(h),void p?.();m=He(e,Gd,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:l,async onBlockNumber(s){const c=e=>{clearTimeout(v),m?.(),e(),p?.()};let u=s;if(!g)try{if(h){if(r>1&&(!h.blockNumber||u-h.blockNumber+1n<r))return;return void c(()=>t.resolve(h))}if(n&&!d&&(g=!0,await gc(async()=>{d=await He(e,wd,"getTransaction")({hash:o}),d.blockNumber&&(u=d.blockNumber)},{delay:i,retryCount:a}),g=!1),h=await He(e,vd,"getTransactionReceipt")({hash:o}),r>1&&(!h.blockNumber||u-h.blockNumber+1n<r))return;c(()=>t.resolve(h))}catch(n){if(n instanceof Hr||n instanceof Yr){if(!d)return void(g=!1);try{f=d,g=!0;const n=await gc(()=>He(e,ys,"getBlock")({blockNumber:u,includeTransactions:!0}),{delay:i,retryCount:a,shouldRetry:({error:e})=>e instanceof ps});g=!1;const o=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!o)return;if(h=await He(e,vd,"getTransactionReceipt")({hash:o.hash}),r>1&&(!h.blockNumber||u-h.blockNumber+1n<r))return;let s="replaced";o.to===f.to&&o.value===f.value&&o.input===f.input?s="repriced":o.from===o.to&&0n===o.value&&(s="cancelled"),c(()=>{t.onReplaced?.({reason:s,replacedTransaction:f,transaction:o,transactionReceipt:h}),t.resolve(h)})}catch(e){c(()=>t.reject(e))}}else c(()=>t.reject(n))}}})}),b}(e,t),watchBlocks:t=>function(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:n=!1,emitOnBegin:r=!1,onBlock:o,onError:s,includeTransactions:a,poll:i,pollingInterval:c=e.pollingInterval}){const u=void 0!==i?i:"webSocket"!==e.transport.type&&"ipc"!==e.transport.type&&("fallback"!==e.transport.type||"webSocket"!==e.transport.transports[0].config.type&&"ipc"!==e.transport.transports[0].config.type),l=a??!1;let d;return u?ic(_r(["watchBlocks",e.uid,t,n,r,l,c]),{onBlock:o,onError:s},o=>uc(async()=>{try{const r=await He(e,ys,"getBlock")({blockTag:t,includeTransactions:l});if(null!==r.number&&null!=d?.number){if(r.number===d.number)return;if(r.number-d.number>1&&n)for(let t=d?.number+1n;t<r.number;t++){const n=await He(e,ys,"getBlock")({blockNumber:t,includeTransactions:l});o.onBlock(n,d),d=n}}(null==d?.number||"pending"===t&&null==r?.number||null!==r.number&&r.number>d.number)&&(o.onBlock(r,d),d=r)}catch(e){o.onError?.(e)}},{emitOnBegin:r,interval:c})):(()=>{let n=!0,a=!0,i=()=>n=!1;return(async()=>{try{r&&He(e,ys,"getBlock")({blockTag:t,includeTransactions:l}).then(e=>{n&&a&&(o(e,void 0),a=!1)}).catch(s);const c=(()=>{if("fallback"===e.transport.type){const t=e.transport.transports.find(e=>"webSocket"===e.config.type||"ipc"===e.config.type);return t?t.value:e.transport}return e.transport})(),{unsubscribe:u}=await c.subscribe({params:["newHeads"],async onData(t){if(!n)return;const r=await He(e,ys,"getBlock")({blockNumber:t.result?.number,includeTransactions:l}).catch(()=>{});n&&(o(r,d),a=!1,d=r)},onError(e){s?.(e)}});i=u,n||i()}catch(e){s?.(e)}})(),()=>i()})()}(e,t),watchBlockNumber:t=>Gd(e,t),watchContractEvent:t=>function(e,t){const{abi:n,address:r,args:o,batch:s=!0,eventName:a,fromBlock:i,onError:c,onLogs:u,poll:l,pollingInterval:d=e.pollingInterval,strict:f}=t;return(void 0!==l?l:"bigint"==typeof i||"webSocket"!==e.transport.type&&"ipc"!==e.transport.type&&("fallback"!==e.transport.type||"webSocket"!==e.transport.transports[0].config.type&&"ipc"!==e.transport.transports[0].config.type))?(()=>{const t=f??!1;return ic(_r(["watchContractEvent",r,o,s,e.uid,a,d,t,i]),{onLogs:u,onError:c},c=>{let u,l;void 0!==i&&(u=i-1n);let f=!1;const h=uc(async()=>{if(f)try{let i;if(l)i=await He(e,pc,"getFilterChanges")({filter:l});else{const s=await He(e,hc,"getBlockNumber")({});i=u&&u<s?await He(e,Xs,"getContractEvents")({abi:n,address:r,args:o,eventName:a,fromBlock:u+1n,toBlock:s,strict:t}):[],u=s}if(0===i.length)return;if(s)c.onLogs(i);else for(const e of i)c.onLogs([e])}catch(e){l&&e instanceof ho&&(f=!1),c.onError?.(e)}else{try{l=await He(e,hr,"createContractEventFilter")({abi:n,address:r,args:o,eventName:a,strict:t,fromBlock:i})}catch{}f=!0}},{emitOnBegin:!0,interval:d});return async()=>{l&&await He(e,mc,"uninstallFilter")({filter:l}),h()}})})():(()=>{const t=f??!1,i=_r(["watchContractEvent",r,o,s,e.uid,a,d,t]);let l=!0,h=()=>l=!1;return ic(i,{onLogs:u,onError:c},t=>((async()=>{try{const s=(()=>{if("fallback"===e.transport.type){const t=e.transport.transports.find(e=>"webSocket"===e.config.type||"ipc"===e.config.type);return t?t.value:e.transport}return e.transport})(),i=a?lr({abi:n,eventName:a,args:o}):[],{unsubscribe:c}=await s.subscribe({params:["logs",{address:r,topics:i}],onData(e){if(!l)return;const r=e.result;try{const{eventName:e,args:o}=Ys({abi:n,data:r.data,topics:r.topics,strict:f}),s=Js(r,{args:o,eventName:e});t.onLogs([s])}catch(e){let n,o;if(e instanceof xt||e instanceof Et){if(f)return;n=e.abiItem.name,o=e.abiItem.inputs?.some(e=>!("name"in e&&e.name))}const s=Js(r,{args:o?[]:{},eventName:n});t.onLogs([s])}},onError(e){t.onError?.(e)}});h=c,l||h()}catch(e){c?.(e)}})(),()=>h()))})()}(e,t),watchEvent:t=>function(e,{address:t,args:n,batch:r=!0,event:o,events:s,fromBlock:a,onError:i,onLogs:c,poll:u,pollingInterval:l=e.pollingInterval,strict:d}){const f=void 0!==u?u:"bigint"==typeof a||"webSocket"!==e.transport.type&&"ipc"!==e.transport.type&&("fallback"!==e.transport.type||"webSocket"!==e.transport.transports[0].config.type&&"ipc"!==e.transport.transports[0].config.type),h=d??!1;return f?ic(_r(["watchEvent",t,n,r,e.uid,o,l,a]),{onLogs:c,onError:i},i=>{let c,u;void 0!==a&&(c=a-1n);let d=!1;const f=uc(async()=>{if(d)try{let a;if(u)a=await He(e,pc,"getFilterChanges")({filter:u});else{const r=await He(e,hc,"getBlockNumber")({});a=c&&c!==r?await He(e,Qs,"getLogs")({address:t,args:n,event:o,events:s,fromBlock:c+1n,toBlock:r}):[],c=r}if(0===a.length)return;if(r)i.onLogs(a);else for(const e of a)i.onLogs([e])}catch(e){u&&e instanceof ho&&(d=!1),i.onError?.(e)}else{try{u=await He(e,Yc,"createEventFilter")({address:t,args:n,event:o,events:s,strict:h,fromBlock:a})}catch{}d=!0}},{emitOnBegin:!0,interval:l});return async()=>{u&&await He(e,mc,"uninstallFilter")({filter:u}),f()}}):(()=>{let r=!0,a=()=>r=!1;return(async()=>{try{const u=(()=>{if("fallback"===e.transport.type){const t=e.transport.transports.find(e=>"webSocket"===e.config.type||"ipc"===e.config.type);return t?t.value:e.transport}return e.transport})(),l=s??(o?[o]:void 0);let f=[];if(l){const e=l.flatMap(e=>lr({abi:[e],eventName:e.name,args:n}));f=[e],o&&(f=f[0])}const{unsubscribe:p}=await u.subscribe({params:["logs",{address:t,topics:f}],onData(e){if(!r)return;const t=e.result;try{const{eventName:e,args:n}=Ys({abi:l??[],data:t.data,topics:t.topics,strict:h}),r=Js(t,{args:n,eventName:e});c([r])}catch(e){let n,r;if(e instanceof xt||e instanceof Et){if(d)return;n=e.abiItem.name,r=e.abiItem.inputs?.some(e=>!("name"in e&&e.name))}const o=Js(t,{args:r?[]:{},eventName:n});c([o])}},onError(e){i?.(e)}});a=p,r||a()}catch(e){i?.(e)}})(),()=>a()})()}(e,t),watchPendingTransactions:t=>function(e,{batch:t=!0,onError:n,onTransactions:r,poll:o,pollingInterval:s=e.pollingInterval}){return(void 0!==o?o:"webSocket"!==e.transport.type&&"ipc"!==e.transport.type)?ic(_r(["watchPendingTransactions",e.uid,t,s]),{onTransactions:r,onError:n},n=>{let r;const o=uc(async()=>{try{if(!r)try{return void(r=await He(e,Zc,"createPendingTransactionFilter")({}))}catch(e){throw o(),e}const s=await He(e,pc,"getFilterChanges")({filter:r});if(0===s.length)return;if(t)n.onTransactions(s);else for(const e of s)n.onTransactions([e])}catch(e){n.onError?.(e)}},{emitOnBegin:!0,interval:s});return async()=>{r&&await He(e,mc,"uninstallFilter")({filter:r}),o()}}):(()=>{let t=!0,o=()=>t=!1;return(async()=>{try{const{unsubscribe:s}=await e.transport.subscribe({params:["newPendingTransactions"],onData(e){if(!t)return;const n=e.result;r([n])},onError(e){n?.(e)}});o=s,t||o()}catch(e){n?.(e)}})(),()=>o()})()}(e,t)}}function Yd(e){const{key:t="public",name:n="Public Client"}=e,r=function(e){const{batch:t,chain:n,ccipRead:r,key:o="base",name:s="Base Client",type:a="base"}=e,i=e.experimental_blockTag??("number"==typeof n?.experimental_preconfirmationTime?"pending":void 0),c=n?.blockTime??12e3,u=Math.min(Math.max(Math.floor(c/2),500),4e3),l=e.pollingInterval??u,d=e.cacheTime??l,f=e.account?pr(e.account):void 0,{config:h,request:p,value:m}=e.transport({chain:n,pollingInterval:l}),g={account:f,batch:t,cacheTime:d,ccipRead:r,chain:n,key:o,name:s,pollingInterval:l,request:p,transport:{...h,...m},type:a,uid:xc(),...i?{experimental_blockTag:i}:{}};return Object.assign(g,{extend:function e(t){return n=>{const r=n(t);for(const e in g)delete r[e];const o={...t,...r};return Object.assign(o,{extend:e(o)})}}(g)})}({...e,key:t,name:n,type:"publicClient"});return r.extend(Hd)}class Zd extends tt{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function Kd(e,t={}){const{batch:n,fetchFn:r,fetchOptions:o,key:s="http",methods:a,name:i="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:u,retryDelay:l,raw:d}=t;return({chain:f,retryCount:h,timeout:p})=>{const{batchSize:m=1e3,wait:g=0}="object"==typeof n?n:{},b=t.retryCount??h,y=p??t.timeout??1e4,w=e||f?.rpcUrls.default.http[0];if(!w)throw new Zd;const v=lu(w,{fetchFn:r,fetchOptions:o,onRequest:c,onResponse:u,timeout:y});return function({key:e,methods:t,name:n,request:r,retryCount:o=3,retryDelay:s=150,timeout:a,type:i},c){return{config:{key:e,methods:t,name:n,request:r,retryCount:o,retryDelay:s,timeout:a,type:i},request:tu(r,{methods:t,retryCount:o,retryDelay:s,uid:xc()}),value:c}}({key:s,methods:a,name:i,async request({method:e,params:t}){const r={method:e,params:t},{schedule:o}=ec({id:w,wait:g,shouldSplitBatch:e=>e.length>m,fn:e=>v.request({body:e}),sort:(e,t)=>e.id-t.id}),[{error:s,result:a}]=await(async e=>n?o(e):[await v.request({body:e})])(r);if(d)return{error:s,result:a};if(s)throw new ro({body:r,error:s,url:w});return a},retryCount:b,retryDelay:l,timeout:y,type:"http"},{fetchOptions:o,url:w})}}function Jd(e,t,n){for(let n in t){let r=t[n];Object.defineProperty(e,n,{enumerable:!0,value:r,writable:!1})}}function Qd(e,t){if(null==e)return"null";if(null==t&&(t=new Set),"object"==typeof e){if(t.has(e))return"[Circular]";t.add(e)}if(Array.isArray(e))return"[ "+e.map(e=>Qd(e,t)).join(", ")+" ]";if(e instanceof Uint8Array){const t="0123456789abcdef";let n="0x";for(let r=0;r<e.length;r++)n+=t[e[r]>>4],n+=t[15&e[r]];return n}if("object"==typeof e&&"function"==typeof e.toJSON)return Qd(e.toJSON(),t);switch(typeof e){case"boolean":case"number":case"symbol":return e.toString();case"bigint":return BigInt(e).toString();case"string":return JSON.stringify(e);case"object":{const n=Object.keys(e);return n.sort(),"{ "+n.map(n=>`${Qd(n,t)}: ${Qd(e[n],t)}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function Xd(e,t,n,r){if(!e)throw function(e,t,n){let r,o=e;{const r=[];if(n){if("message"in n||"code"in n||"name"in n)throw new Error(`value will overwrite populated values: ${Qd(n)}`);for(const e in n){if("shortMessage"===e)continue;const t=n[e];r.push(e+"="+Qd(t))}}r.push(`code=${t}`),r.push("version=6.15.0"),r.length&&(e+=" ("+r.join(", ")+")")}switch(t){case"INVALID_ARGUMENT":r=new TypeError(e);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":r=new RangeError(e);break;default:r=new Error(e)}return Jd(r,{code:t}),n&&Object.assign(r,n),null==r.shortMessage&&Jd(r,{shortMessage:o}),r}(t,n,r)}function ef(e,t,n,r){Xd(e,t,"INVALID_ARGUMENT",{argument:n,value:r})}function tf(e,t){return function(e,t){if(e instanceof Uint8Array)return e;if("string"==typeof e&&e.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){const t=new Uint8Array((e.length-2)/2);let n=2;for(let r=0;r<t.length;r++)t[r]=parseInt(e.substring(n,n+2),16),n+=2;return t}ef(!1,"invalid BytesLike value",t,e)}(e,t)}["NFD","NFC","NFKD","NFKC"].reduce((e,t)=>{try{if("test"!=="test".normalize(t))throw new Error("bad");if("NFD"===t){const e=String.fromCharCode(233).normalize("NFD");if(e!==String.fromCharCode(101,769))throw new Error("broken")}e.push(t)}catch(e){}return e},[]);const nf=BigInt(0),rf=BigInt(1),of=9007199254740991;function sf(e,t){const n=uf(e,"value"),r=BigInt(df(t,"width"));if(Xd(n>>r===nf,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:e}),n>>r-rf){return-((~n&(rf<<r)-rf)+rf)}return n}function af(e,t){const n=uf(e,"value"),r=BigInt(df(t,"bits"));return n&(rf<<r)-rf}function cf(e,t){switch(typeof e){case"bigint":return e;case"number":return ef(Number.isInteger(e),"underflow",t||"value",e),ef(e>=-of&&e<=of,"overflow",t||"value",e),BigInt(e);case"string":try{if(""===e)throw new Error("empty string");return"-"===e[0]&&"-"!==e[1]?-BigInt(e.substring(1)):BigInt(e)}catch(n){ef(!1,`invalid BigNumberish string: ${n.message}`,t||"value",e)}}ef(!1,"invalid BigNumberish value",t||"value",e)}function uf(e,t){const n=cf(e,t);return Xd(n>=nf,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:e}),n}const lf="0123456789abcdef";function df(e,t){switch(typeof e){case"bigint":return ef(e>=-of&&e<=of,"overflow",t||"value",e),Number(e);case"number":return ef(Number.isInteger(e),"underflow",t||"value",e),ef(e>=-of&&e<=of,"overflow",t||"value",e),e;case"string":try{if(""===e)throw new Error("empty string");return df(BigInt(e),t)}catch(n){ef(!1,`invalid numeric string: ${n.message}`,t||"value",e)}}ef(!1,"invalid numeric value",t||"value",e)}const ff=BigInt(-1),hf=BigInt(0),pf=BigInt(1),mf=BigInt(5),gf={};let bf="0000";for(;bf.length<80;)bf+=bf;function yf(e){let t=bf;for(;t.length<e;)t+=t;return BigInt("1"+t.substring(0,e))}function wf(e,t,n){const r=BigInt(t.width);if(t.signed){const t=pf<<r-pf;Xd(null==n||e>=-t&&e<t,"overflow","NUMERIC_FAULT",{operation:n,fault:"overflow",value:e}),e=e>hf?sf(af(e,r),r):-sf(af(-e,r),r)}else{const t=pf<<r;Xd(null==n||e>=0&&e<t,"overflow","NUMERIC_FAULT",{operation:n,fault:"overflow",value:e}),e=(e%t+t)%t&t-pf}return e}function vf(e){"number"==typeof e&&(e=`fixed128x${e}`);let t=!0,n=128,r=18;if("string"==typeof e)if("fixed"===e);else if("ufixed"===e)t=!1;else{const o=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);ef(o,"invalid fixed format","format",e),t="u"!==o[1],n=parseInt(o[2]),r=parseInt(o[3])}else if(e){const o=e,s=(e,t,n)=>null==o[e]?n:(ef(typeof o[e]===t,"invalid fixed format ("+e+" not "+t+")","format."+e,o[e]),o[e]);t=s("signed","boolean",t),n=s("width","number",n),r=s("decimals","number",r)}ef(n%8==0,"invalid FixedNumber width (not byte aligned)","format.width",n),ef(r<=80,"invalid FixedNumber decimals (too large)","format.decimals",r);return{signed:t,width:n,decimals:r,name:(t?"":"u")+"fixed"+String(n)+"x"+String(r)}}class xf{format;#e;#t;#n;_value;constructor(e,t,n){!function(e,t,n){if(e!==t){let e=n,t="new";e+=".",t+=" "+n,Xd(!1,`private constructor; use ${e}from* methods`,"UNSUPPORTED_OPERATION",{operation:t})}}(e,gf,"FixedNumber"),this.#t=t,this.#e=n;const r=function(e,t){let n="";e<hf&&(n="-",e*=ff);let r=e.toString();if(0===t)return n+r;for(;r.length<=t;)r=bf+r;const o=r.length-t;for(r=r.substring(0,o)+"."+r.substring(o);"0"===r[0]&&"."!==r[1];)r=r.substring(1);for(;"0"===r[r.length-1]&&"."!==r[r.length-2];)r=r.substring(0,r.length-1);return n+r}(t,n.decimals);Jd(this,{format:n.name,_value:r}),this.#n=yf(n.decimals)}get signed(){return this.#e.signed}get width(){return this.#e.width}get decimals(){return this.#e.decimals}get value(){return this.#t}#r(e){ef(this.format===e.format,"incompatible format; use fixedNumber.toFormat","other",e)}#o(e,t){return e=wf(e,this.#e,t),new xf(gf,e,this.#e)}#s(e,t){return this.#r(e),this.#o(this.#t+e.#t,t)}addUnsafe(e){return this.#s(e)}add(e){return this.#s(e,"add")}#a(e,t){return this.#r(e),this.#o(this.#t-e.#t,t)}subUnsafe(e){return this.#a(e)}sub(e){return this.#a(e,"sub")}#i(e,t){return this.#r(e),this.#o(this.#t*e.#t/this.#n,t)}mulUnsafe(e){return this.#i(e)}mul(e){return this.#i(e,"mul")}mulSignal(e){this.#r(e);const t=this.#t*e.#t;return Xd(t%this.#n===hf,"precision lost during signalling mul","NUMERIC_FAULT",{operation:"mulSignal",fault:"underflow",value:this}),this.#o(t/this.#n,"mulSignal")}#c(e,t){return Xd(e.#t!==hf,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#r(e),this.#o(this.#t*this.#n/e.#t,t)}divUnsafe(e){return this.#c(e)}div(e){return this.#c(e,"div")}divSignal(e){Xd(e.#t!==hf,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#r(e);const t=this.#t*this.#n;return Xd(t%e.#t===hf,"precision lost during signalling div","NUMERIC_FAULT",{operation:"divSignal",fault:"underflow",value:this}),this.#o(t/e.#t,"divSignal")}cmp(e){let t=this.value,n=e.value;const r=this.decimals-e.decimals;return r>0?n*=yf(r):r<0&&(t*=yf(-r)),t<n?-1:t>n?1:0}eq(e){return 0===this.cmp(e)}lt(e){return this.cmp(e)<0}lte(e){return this.cmp(e)<=0}gt(e){return this.cmp(e)>0}gte(e){return this.cmp(e)>=0}floor(){let e=this.#t;return this.#t<hf&&(e-=this.#n-pf),e=this.#t/this.#n*this.#n,this.#o(e,"floor")}ceiling(){let e=this.#t;return this.#t>hf&&(e+=this.#n-pf),e=this.#t/this.#n*this.#n,this.#o(e,"ceiling")}round(e){if(null==e&&(e=0),e>=this.decimals)return this;const t=this.decimals-e,n=mf*yf(t-1);let r=this.value+n;const o=yf(t);return r=r/o*o,wf(r,this.#e,"round"),new xf(gf,r,this.#e)}isZero(){return this.#t===hf}isNegative(){return this.#t<hf}toString(){return this._value}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return xf.fromString(this.toString(),e)}static fromValue(e,t,n){const r=null==t?0:df(t),o=vf(n);let s=cf(e,"value");const a=r-o.decimals;if(a>0){const t=yf(a);Xd(s%t===hf,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:e}),s/=t}else a<0&&(s*=yf(-a));return wf(s,o,"fromValue"),new xf(gf,s,o)}static fromString(e,t){const n=e.match(/^(-?)([0-9]*)\.?([0-9]*)$/);ef(n&&n[2].length+n[3].length>0,"invalid FixedNumber string value","value",e);const r=vf(t);let o=n[2]||"0",s=n[3]||"";for(;s.length<r.decimals;)s+=bf;Xd(s.substring(r.decimals).match(/^0*$/),"too many decimals for format","NUMERIC_FAULT",{operation:"fromString",fault:"underflow",value:e}),s=s.substring(0,r.decimals);const a=BigInt(n[1]+o+s);return wf(a,r,"fromString"),new xf(gf,a,r)}static fromBytes(e,t){let n=function(e){if(e instanceof Uint8Array){let t="0x0";for(const n of e)t+=lf[n>>4],t+=lf[15&n];return BigInt(t)}return cf(e)}(tf(e,"value"));const r=vf(t);return r.signed&&(n=sf(n,r.width)),wf(n,r,"fromBytes"),new xf(gf,n,r)}}function Ef(e){return function(e,t){let n=18;return n=df(t,"unit"),xf.fromValue(e,n,{decimals:n,width:512}).toString()}(e,18)}const Pf="0.38.13";function kf({projectId:e,originComponentName:t,...n}){const r=new URL("https://pay.coinbase.com/buy");void 0!==e&&r.searchParams.append("appId",e);for(const e of Object.keys(n)){const t=n[e];void 0!==t&&(["string","number","boolean"].includes(typeof t)?r.searchParams.append(e,t.toString()):r.searchParams.append(e,JSON.stringify(t)))}return t?r.searchParams.append("sdkVersion",`onchainkit@${Pf}:${t}`):r.searchParams.append("sdkVersion",`onchainkit@${Pf}`),r.searchParams.sort(),r.toString()}var Af=[],If=[],Sf="undefined"!=typeof Uint8Array?Uint8Array:Array,Nf=!1;function Tf(){Nf=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)Af[t]=e[t],If[e.charCodeAt(t)]=t;If["-".charCodeAt(0)]=62,If["_".charCodeAt(0)]=63}function $f(e){return Af[e>>18&63]+Af[e>>12&63]+Af[e>>6&63]+Af[63&e]}function Bf(e,t,n){for(var r,o=[],s=t;s<n;s+=3)r=(e[s]<<16)+(e[s+1]<<8)+e[s+2],o.push($f(r));return o.join("")}function Cf(e){var t;Nf||Tf();for(var n=e.length,r=n%3,o="",s=[],a=16383,i=0,c=n-r;i<c;i+=a)s.push(Bf(e,i,i+a>c?c:i+a));return 1===r?(t=e[n-1],o+=Af[t>>2],o+=Af[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=Af[t>>10],o+=Af[t>>4&63],o+=Af[t<<2&63],o+="="),s.push(o),s.join("")}function Of(e,t,n,r,o){var s,a,i=8*o-r-1,c=(1<<i)-1,u=c>>1,l=-7,d=n?o-1:0,f=n?-1:1,h=e[t+d];for(d+=f,s=h&(1<<-l)-1,h>>=-l,l+=i;l>0;s=256*s+e[t+d],d+=f,l-=8);for(a=s&(1<<-l)-1,s>>=-l,l+=r;l>0;a=256*a+e[t+d],d+=f,l-=8);if(0===s)s=1-u;else{if(s===c)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,r),s-=u}return(h?-1:1)*a*Math.pow(2,s-r)}function _f(e,t,n,r,o,s){var a,i,c,u=8*s-o-1,l=(1<<u)-1,d=l>>1,f=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:s-1,p=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+d>=1?f/c:f*Math.pow(2,1-d))*c>=2&&(a++,c/=2),a+d>=l?(i=0,a=l):a+d>=1?(i=(t*c-1)*Math.pow(2,o),a+=d):(i=t*Math.pow(2,d-1)*Math.pow(2,o),a=0));o>=8;e[n+h]=255&i,h+=p,i/=256,o-=8);for(a=a<<o|i,u+=o;u>0;e[n+h]=255&a,h+=p,a/=256,u-=8);e[n+h-p]|=128*m}var Rf={}.toString,zf=Array.isArray||function(e){return"[object Array]"==Rf.call(e)};function Mf(){return Ff.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Lf(e,t){if(Mf()<t)throw new RangeError("Invalid typed array length");return Ff.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=Ff.prototype:(null===e&&(e=new Ff(t)),e.length=t),e}function Ff(e,t,n){if(!(Ff.TYPED_ARRAY_SUPPORT||this instanceof Ff))return new Ff(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return Df(this,e)}return jf(this,e,t,n)}function jf(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);Ff.TYPED_ARRAY_SUPPORT?(e=t).__proto__=Ff.prototype:e=Gf(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!Ff.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|Wf(t,n);e=Lf(e,r);var o=e.write(t,n);o!==r&&(e=e.slice(0,o));return e}(e,t,n):function(e,t){if(Vf(t)){var n=0|qf(t.length);return 0===(e=Lf(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?Lf(e,0):Gf(e,t);if("Buffer"===t.type&&zf(t.data))return Gf(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function Uf(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function Df(e,t){if(Uf(t),e=Lf(e,t<0?0:0|qf(t)),!Ff.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function Gf(e,t){var n=t.length<0?0:0|qf(t.length);e=Lf(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function qf(e){if(e>=Mf())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Mf().toString(16)+" bytes");return 0|e}function Vf(e){return!(null==e||!e._isBuffer)}function Wf(e,t){if(Vf(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return wh(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return vh(e).length;default:if(r)return wh(e).length;t=(""+t).toLowerCase(),r=!0}}function Hf(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return ch(this,t,n);case"utf8":case"utf-8":return oh(this,t,n);case"ascii":return ah(this,t,n);case"latin1":case"binary":return ih(this,t,n);case"base64":return rh(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return uh(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function Yf(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function Zf(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=Ff.from(t,r)),Vf(t))return 0===t.length?-1:Kf(e,t,n,r,o);if("number"==typeof t)return t&=255,Ff.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):Kf(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function Kf(e,t,n,r,o){var s,a=1,i=e.length,c=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,i/=2,c/=2,n/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(o){var l=-1;for(s=n;s<i;s++)if(u(e,s)===u(t,-1===l?0:s-l)){if(-1===l&&(l=s),s-l+1===c)return l*a}else-1!==l&&(s-=s-l),l=-1}else for(n+c>i&&(n=i-c),s=n;s>=0;s--){for(var d=!0,f=0;f<c;f++)if(u(e,s+f)!==u(t,f)){d=!1;break}if(d)return s}return-1}function Jf(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r))>o&&(r=o):r=o;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var a=0;a<r;++a){var i=parseInt(t.substr(2*a,2),16);if(isNaN(i))return a;e[n+a]=i}return a}function Qf(e,t,n,r){return xh(wh(t,e.length-n),e,n,r)}function Xf(e,t,n,r){return xh(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function eh(e,t,n,r){return Xf(e,t,n,r)}function th(e,t,n,r){return xh(vh(t),e,n,r)}function nh(e,t,n,r){return xh(function(e,t){for(var n,r,o,s=[],a=0;a<e.length&&!((t-=2)<0);++a)r=(n=e.charCodeAt(a))>>8,o=n%256,s.push(o),s.push(r);return s}(t,e.length-n),e,n,r)}function rh(e,t,n){return 0===t&&n===e.length?Cf(e):Cf(e.slice(t,n))}function oh(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var s,a,i,c,u=e[o],l=null,d=u>239?4:u>223?3:u>191?2:1;if(o+d<=n)switch(d){case 1:u<128&&(l=u);break;case 2:128==(192&(s=e[o+1]))&&(c=(31&u)<<6|63&s)>127&&(l=c);break;case 3:s=e[o+1],a=e[o+2],128==(192&s)&&128==(192&a)&&(c=(15&u)<<12|(63&s)<<6|63&a)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:s=e[o+1],a=e[o+2],i=e[o+3],128==(192&s)&&128==(192&a)&&128==(192&i)&&(c=(15&u)<<18|(63&s)<<12|(63&a)<<6|63&i)>65535&&c<1114112&&(l=c)}null===l?(l=65533,d=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=d}return function(e){var t=e.length;if(t<=sh)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=sh));return n}(r)}Ff.TYPED_ARRAY_SUPPORT=void 0===globalThis.TYPED_ARRAY_SUPPORT||globalThis.TYPED_ARRAY_SUPPORT,Mf(),Ff.poolSize=8192,Ff._augment=function(e){return e.__proto__=Ff.prototype,e},Ff.from=function(e,t,n){return jf(null,e,t,n)},Ff.TYPED_ARRAY_SUPPORT&&(Ff.prototype.__proto__=Uint8Array.prototype,Ff.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&Ff[Symbol.species]),Ff.alloc=function(e,t,n){return function(e,t,n,r){return Uf(t),t<=0?Lf(e,t):void 0!==n?"string"==typeof r?Lf(e,t).fill(n,r):Lf(e,t).fill(n):Lf(e,t)}(null,e,t,n)},Ff.allocUnsafe=function(e){return Df(null,e)},Ff.allocUnsafeSlow=function(e){return Df(null,e)},Ff.isBuffer=function(e){return null!=e&&(!!e._isBuffer||Eh(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Eh(e.slice(0,0))}(e))},Ff.compare=function(e,t){if(!Vf(e)||!Vf(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,s=Math.min(n,r);o<s;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},Ff.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}},Ff.concat=function(e,t){if(!zf(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Ff.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=Ff.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var s=e[n];if(!Vf(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,o),o+=s.length}return r},Ff.byteLength=Wf,Ff.prototype._isBuffer=!0,Ff.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)Yf(this,t,t+1);return this},Ff.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)Yf(this,t,t+3),Yf(this,t+1,t+2);return this},Ff.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)Yf(this,t,t+7),Yf(this,t+1,t+6),Yf(this,t+2,t+5),Yf(this,t+3,t+4);return this},Ff.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?oh(this,0,e):Hf.apply(this,arguments)},Ff.prototype.equals=function(e){if(!Vf(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Ff.compare(this,e)},Ff.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},Ff.prototype.compare=function(e,t,n,r,o){if(!Vf(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(o>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),i=Math.min(s,a),c=this.slice(r,o),u=e.slice(t,n),l=0;l<i;++l)if(c[l]!==u[l]){s=c[l],a=u[l];break}return s<a?-1:a<s?1:0},Ff.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},Ff.prototype.indexOf=function(e,t,n){return Zf(this,e,t,n,!0)},Ff.prototype.lastIndexOf=function(e,t,n){return Zf(this,e,t,n,!1)},Ff.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var o=this.length-t;if((void 0===n||n>o)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return Jf(this,e,t,n);case"utf8":case"utf-8":return Qf(this,e,t,n);case"ascii":return Xf(this,e,t,n);case"latin1":case"binary":return eh(this,e,t,n);case"base64":return th(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return nh(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},Ff.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var sh=4096;function ah(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(127&e[o]);return r}function ih(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(e[o]);return r}function ch(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",s=t;s<n;++s)o+=yh(e[s]);return o}function uh(e,t,n){for(var r=e.slice(t,n),o="",s=0;s<r.length;s+=2)o+=String.fromCharCode(r[s]+256*r[s+1]);return o}function lh(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function dh(e,t,n,r,o,s){if(!Vf(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<s)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function fh(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,s=Math.min(e.length-n,2);o<s;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function hh(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,s=Math.min(e.length-n,4);o<s;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function ph(e,t,n,r,o,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function mh(e,t,n,r,o){return o||ph(e,0,n,4),_f(e,t,n,r,23,4),n+4}function gh(e,t,n,r,o){return o||ph(e,0,n,8),_f(e,t,n,r,52,8),n+8}Ff.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),Ff.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=Ff.prototype;else{var o=t-e;n=new Ff(o,void 0);for(var s=0;s<o;++s)n[s]=this[s+e]}return n},Ff.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||lh(e,t,this.length);for(var r=this[e],o=1,s=0;++s<t&&(o*=256);)r+=this[e+s]*o;return r},Ff.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||lh(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},Ff.prototype.readUInt8=function(e,t){return t||lh(e,1,this.length),this[e]},Ff.prototype.readUInt16LE=function(e,t){return t||lh(e,2,this.length),this[e]|this[e+1]<<8},Ff.prototype.readUInt16BE=function(e,t){return t||lh(e,2,this.length),this[e]<<8|this[e+1]},Ff.prototype.readUInt32LE=function(e,t){return t||lh(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Ff.prototype.readUInt32BE=function(e,t){return t||lh(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Ff.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||lh(e,t,this.length);for(var r=this[e],o=1,s=0;++s<t&&(o*=256);)r+=this[e+s]*o;return r>=(o*=128)&&(r-=Math.pow(2,8*t)),r},Ff.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||lh(e,t,this.length);for(var r=t,o=1,s=this[e+--r];r>0&&(o*=256);)s+=this[e+--r]*o;return s>=(o*=128)&&(s-=Math.pow(2,8*t)),s},Ff.prototype.readInt8=function(e,t){return t||lh(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Ff.prototype.readInt16LE=function(e,t){t||lh(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Ff.prototype.readInt16BE=function(e,t){t||lh(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Ff.prototype.readInt32LE=function(e,t){return t||lh(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Ff.prototype.readInt32BE=function(e,t){return t||lh(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Ff.prototype.readFloatLE=function(e,t){return t||lh(e,4,this.length),Of(this,e,!0,23,4)},Ff.prototype.readFloatBE=function(e,t){return t||lh(e,4,this.length),Of(this,e,!1,23,4)},Ff.prototype.readDoubleLE=function(e,t){return t||lh(e,8,this.length),Of(this,e,!0,52,8)},Ff.prototype.readDoubleBE=function(e,t){return t||lh(e,8,this.length),Of(this,e,!1,52,8)},Ff.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||dh(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,s=0;for(this[t]=255&e;++s<n&&(o*=256);)this[t+s]=e/o&255;return t+n},Ff.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||dh(this,e,t,n,Math.pow(2,8*n)-1,0);var o=n-1,s=1;for(this[t+o]=255&e;--o>=0&&(s*=256);)this[t+o]=e/s&255;return t+n},Ff.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,1,255,0),Ff.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Ff.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,2,65535,0),Ff.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):fh(this,e,t,!0),t+2},Ff.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,2,65535,0),Ff.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):fh(this,e,t,!1),t+2},Ff.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,4,4294967295,0),Ff.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):hh(this,e,t,!0),t+4},Ff.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,4,4294967295,0),Ff.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):hh(this,e,t,!1),t+4},Ff.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);dh(this,e,t,n,o-1,-o)}var s=0,a=1,i=0;for(this[t]=255&e;++s<n&&(a*=256);)e<0&&0===i&&0!==this[t+s-1]&&(i=1),this[t+s]=(e/a|0)-i&255;return t+n},Ff.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);dh(this,e,t,n,o-1,-o)}var s=n-1,a=1,i=0;for(this[t+s]=255&e;--s>=0&&(a*=256);)e<0&&0===i&&0!==this[t+s+1]&&(i=1),this[t+s]=(e/a|0)-i&255;return t+n},Ff.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,1,127,-128),Ff.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Ff.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,2,32767,-32768),Ff.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):fh(this,e,t,!0),t+2},Ff.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,2,32767,-32768),Ff.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):fh(this,e,t,!1),t+2},Ff.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,4,2147483647,-2147483648),Ff.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):hh(this,e,t,!0),t+4},Ff.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Ff.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):hh(this,e,t,!1),t+4},Ff.prototype.writeFloatLE=function(e,t,n){return mh(this,e,t,!0,n)},Ff.prototype.writeFloatBE=function(e,t,n){return mh(this,e,t,!1,n)},Ff.prototype.writeDoubleLE=function(e,t,n){return gh(this,e,t,!0,n)},Ff.prototype.writeDoubleBE=function(e,t,n){return gh(this,e,t,!1,n)},Ff.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o,s=r-n;if(this===e&&n<t&&t<r)for(o=s-1;o>=0;--o)e[o+t]=this[o+n];else if(s<1e3||!Ff.TYPED_ARRAY_SUPPORT)for(o=0;o<s;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+s),t);return s},Ff.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!Ff.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var s;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s<n;++s)this[s]=e;else{var a=Vf(e)?e:wh(new Ff(e,r).toString()),i=a.length;for(s=0;s<n-t;++s)this[s+t]=a[s%i]}return this};var bh=/[^+\/0-9A-Za-z-_]/g;function yh(e){return e<16?"0"+e.toString(16):e.toString(16)}function wh(e,t){var n;t=t||1/0;for(var r=e.length,o=null,s=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&s.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&s.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function vh(e){return function(e){var t,n,r,o,s,a;Nf||Tf();var i=e.length;if(i%4>0)throw new Error("Invalid string. Length must be a multiple of 4");s="="===e[i-2]?2:"="===e[i-1]?1:0,a=new Sf(3*i/4-s),r=s>0?i-4:i;var c=0;for(t=0,n=0;t<r;t+=4,n+=3)o=If[e.charCodeAt(t)]<<18|If[e.charCodeAt(t+1)]<<12|If[e.charCodeAt(t+2)]<<6|If[e.charCodeAt(t+3)],a[c++]=o>>16&255,a[c++]=o>>8&255,a[c++]=255&o;return 2===s?(o=If[e.charCodeAt(t)]<<2|If[e.charCodeAt(t+1)]>>4,a[c++]=255&o):1===s&&(o=If[e.charCodeAt(t)]<<10|If[e.charCodeAt(t+1)]<<4|If[e.charCodeAt(t+2)]>>2,a[c++]=o>>8&255,a[c++]=255&o),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(bh,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function xh(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function Eh(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function Ph(){const e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,"0")).join("")}class kh{constructor(e){this.walletInfo=null,this.userId=null,this.solanaConnection=null,this.ethereumProvider=null,this.phantomAdapter=null,this.walletType="embedded",this.ethereumNetwork=null,this.defaultNetwork=exports.Network.Solana,this.api=w.default.create({baseURL:e.baseURL,headers:{"Content-Type":"application/json"}}),this.middleAccountApi=w.default.create({baseURL:e.middleAccountBaseURL||"",headers:{"Content-Type":"application/json"}}),this.solanaCluster=e.solanaCluster,this.solanaConnection=new t.Connection(e.solanaCluster.rpcUrl),e.ethereumNetwork&&(this.ethereumNetwork={...e.ethereumNetwork,chainId:Number(e.ethereumNetwork.chainId)},this.ethereumProvider=Yd({transport:Kd(e.ethereumNetwork.rpcUrl)})),this.defaultNetwork=e.defaultNetwork||exports.Network.Solana,this.setWalletInfo=t=>{var n;e.setWalletInfo(t),this.userId=null!==(n=null==t?void 0:t.id)&&void 0!==n?n:null,this.walletInfo=t}}setWalletType(e){this.walletType=e,$.saveWalletType(e)}async reconnect(e){try{if($.getWalletType()==="phantom"+(e?"_backup":"")){return await this.connectPhantom()}if(!e){const e=await this.getAndRefreshSession();return this.setWalletInfo(e),e}const t=$.getBackupWalletInfo();return this.setWalletInfo(t),t}catch(e){return null}}getPhantomAdapter(){return this.phantomAdapter}async connectPhantom(){try{if(this.phantomAdapter||(this.phantomAdapter=new K),await this.phantomAdapter.connect(),!this.phantomAdapter.publicKey)throw new Error("Failed to connect to Phantom wallet");const e=this.phantomAdapter.publicKey.toString(),t={id:r.v4(),wallets:[{id:e,address:e,network:exports.Network.Solana,wallet_type:exports.WalletType.Phantom,wallet_set:"Main",account_index:0,is_enabled:!0}],social_links:[],social_infos:[],account_info:{name:null,sub_accounts:[],credit_account:{account_mode:exports.AccountMode.Basic}},created_at:Date.now(),is_exported:!1};return this.setWalletInfo(t),this.setWalletType("phantom"),t}catch(e){throw console.error("Phantom connect error:",e),new Error(e instanceof Error?e.message:"Failed to connect to Phantom wallet")}}async updateAccountName(e,t){const n={name:e,account_index:t},r=(await this.api.post("/account/update",n,{withCredentials:!0})).data;return this.setWalletInfo(r),r}async manageMultiAccount(e){const t=(await this.api.post("/account/multi",e,{withCredentials:!0})).data;return this.setWalletInfo(t),t}async createSubAccount(e){return this.manageMultiAccount({type:"Create",data:{name:null!=e?e:null}})}async enableSubAccount(e){return this.manageMultiAccount({type:"Enable",data:{index:e}})}async disableSubAccount(e){return this.manageMultiAccount({type:"Disable",data:{index:e}})}async signSolanaTransaction(e,n){try{if(!this.solanaConnection)throw new Error("No rpc connection");const{blockhash:r}=await this.solanaConnection.getLatestBlockhash();if(P(e)?e.message.recentBlockhash=r:e.recentBlockhash=r,this.phantomAdapter&&this.phantomAdapter.publicKey)return await this.phantomAdapter.signTransaction(e);const o=await this.signV3({network:exports.Network.Solana,address:n,tx:{Solana:v.default.encode(P(e)?e.message.serialize():e.serializeMessage())}});return e.addSignature(new t.PublicKey(n),Ff.from(v.default.decode(o))),e}catch(e){throw new Error(e instanceof Error?e.message:"Failed to sign transaction")}}async signEthereumEip712(e,t){if(!this.ethereumNetwork)throw new Error("No Ethereum network");if(!this.ethereumProvider)throw new Error("No Ethereum provider");return await this.signV2({network:exports.Network.Ethereum,address:t,tx:{EthereumEip712:e}})}async sendSolanaTransaction(e){if(!this.solanaConnection)throw new Error("No rpc connection");try{return await this.solanaConnection.sendRawTransaction(e,{maxRetries:3,skipPreflight:!1})}catch(e){throw e}}async sendEthereumTransaction(e){if(!this.ethereumProvider)throw new Error("No Ethereum provider");try{return await this.ethereumProvider.sendRawTransaction({serializedTransaction:e})}catch(e){throw e}}async sendEmailVerificationCode(e){await this.api.post("/send_verification",{email:e})}async sendPhoneVerificationCode(e){e.startsWith("+")||(e=`+${e}`),await this.api.post("/send_verification",{phone:e,type:"phone"})}async verifyEmailVerificationCode({email:e,code:t}){const n={type:"Email",data:{network:this.defaultNetwork,email:e,code:t}},r=(await this.api.post("/login",n,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async verifyPhoneVerificationCode({phone:e,code:t}){const n={type:"Phone",data:{network:this.defaultNetwork,phone:e,code:t}},r=(await this.api.post("/login",n,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async twitterLogin(e){const t={type:"TwitterOAuth",data:{network:this.defaultNetwork,...e}},n=(await this.api.post("/login",t,{withCredentials:!0})).data;return this.setWalletInfo(n),this.setWalletType("embedded"),n}async googleLogin(e){const t={type:"GoogleOAuth",data:{network:this.defaultNetwork,...e}},n=(await this.api.post("/login",t,{withCredentials:!0})).data;return this.setWalletInfo(n),this.setWalletType("embedded"),n}async oauthLogin(e,t){const n={type:e,data:{network:t.network||this.defaultNetwork,...t}},r=(await this.api.post("/login",n,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async loginWithChallenge(e,t){const n={type:e,data:{network:t.network||this.defaultNetwork,...t}},r=(await this.api.post("/login",n,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async bind(e,t){const n={type:e,data:{network:t.network||this.defaultNetwork,...t}},r=(await this.api.post("/bind",n,{withCredentials:!0})).data;return this.setWalletInfo(r),r}async oauthInit(e){return(await this.api.post("/oauth/init",e)).data}async getSignChallenge(e){return(await this.api.get(`/challenge?method=${e.method}&id=${e.id}`)).data}async getAndRefreshSession(){const e=(await this.api.get("/session",{withCredentials:!0})).data,{access_token:t}=e;return t&&$.saveAccessToken(t),this.setWalletInfo(e),e}async logout(e){this.phantomAdapter?(this.phantomAdapter.disconnect(),this.phantomAdapter=null):await this.api.post("/logout",{},{withCredentials:!0}),this.setWalletInfo(null),e?$.clearBackup():$.clear()}async getOAuth2ClientId(e){return(await this.api.get(`/oauth_id/${e}`)).data.client_id}async getSolanaBalance(e){if(!this.solanaConnection)throw new Error("Solana connection not available");return(await this.solanaConnection.getBalance(new t.PublicKey(e))/t.LAMPORTS_PER_SOL).toString()}async getEthereumBalance(e){if(!this.ethereumProvider)throw new Error("Ethereum provider not available");return Ef(await this.ethereumProvider.getBalance({address:e}))}async fetchCoinbaseToken(e,t="solana"){return(await this.api.post("/ramp/coinbase",{addresses:[{address:e,blockchains:[t]}],assets:["solana"===t?"SOL":"ETH"]})).data.token}viemSignerAdapter(e){return{signTypedData:async t=>{if(!this.ethereumNetwork)throw new Error("No Ethereum network");if(!this.ethereumProvider)throw new Error("No Ethereum provider");const n=await this.signV2({network:exports.Network.Ethereum,address:e,tx:{EthereumEip712:t}}),r=v.default.decode(n),o=r[64];return jd({r:`0x${Ff.from(r.slice(0,32)).toString("hex")}`,s:`0x${Ff.from(r.slice(32,64)).toString("hex")}`,v:BigInt(o+27)})}}}async createMiddleAccount(e){try{return(await this.middleAccountApi.post("/create",e)).data}catch(e){throw new Error(e instanceof Error?e.message:"Failed to create middle account")}}async getCoinbaseOnrampUrlForMiddleAccount(e){try{const t={sessionToken:await this.fetchCoinbaseToken(e.middleAccountAddress,e.network===exports.Network.Solana?"solana":"ethereum"),presetCryptoAmount:Number(e.amount),redirectUrl:e.redirectUrl||window.location.href};return kf(t)}catch(e){throw new Error(e instanceof Error?e.message:"Failed to get Coinbase onramp URL")}}async getOrderState(e){try{return(await this.middleAccountApi.get(`/order/${e}`)).data}catch(e){throw new Error(e instanceof Error?e.message:"Failed to get order status")}}async transfer(e){var t,n,r;const o={user_id:null!==(t=this.userId)&&void 0!==t?t:"",from:e.from,to:e.to,amount:e.amount,decimals:e.decimals,token:e.token,network:e.network,chain_id:e.chain_id};try{return(await this.api.post("/v3/sign/transfer",o,{withCredentials:!0})).data}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Transfer failed")}}async buildTransaction(e){var t,n;try{return(await this.api.post("/v3/sign/build_transaction",e,{withCredentials:!0})).data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to build transaction")}}async exportInit(e){var t,n;const r={user_nonce:Ph(),account_index:e};try{return(await this.api.post("/export/init",r,{withCredentials:!0})).data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to initialize export")}}async exportFinal(e){var t,n,r;const o={user_nonce:e.userNonce,server_nonce:e.serverNonce,account_index:e.accountIndex,is_export:null===(t=e.isExport)||void 0===t||t};try{return(await this.api.post("/export/final",o,{withCredentials:!0})).data}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to finalize export")}}async getExportedWallets(e){var t,n;const r={account_index:e,is_export:!1};try{return(await this.api.post("/export/final",r,{withCredentials:!0})).data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to retrieve exported wallets")}}async closeInit(){var e,t;const n={user_nonce:Ph()};try{return(await this.api.post("/close/init",n,{withCredentials:!0})).data}catch(n){if(null===(t=null===(e=n.response)||void 0===e?void 0:e.data)||void 0===t?void 0:t.error)throw new Error(n.response.data.error);throw new Error(n instanceof Error?n.message:"Failed to initialize account closure")}}async closeFinal(e){var t,n;const r={user_nonce:e.userNonce,server_nonce:e.serverNonce};try{const e=await this.api.post("/close/final",r,{withCredentials:!0});return this.setWalletInfo(null),$.clear(),e.data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to close account")}}async signV1(e){var t,n,r;const o={user_id:null!==(t=this.userId)&&void 0!==t?t:"",network:e.network,address:e.address,message:e.message};try{return(await this.api.post("/v1/sign",o,{withCredentials:!0})).data.signature}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to sign message")}}async signV2(e){var t,n,r;const o={user_id:null!==(t=this.userId)&&void 0!==t?t:"",network:e.network,address:e.address,tx:e.tx};try{return(await this.api.post("/v2/sign",o,{withCredentials:!0})).data.signature}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to sign transaction")}}async signV3(e){var t,n,r;if(e.network!==exports.Network.Solana)throw new Error("v3 sign API only supports Solana transactions");if(!e.tx.Solana)throw new Error("Solana transaction is required for v3 sign API");const o={user_id:null!==(t=this.userId)&&void 0!==t?t:"",network:e.network,address:e.address,tx:{Solana:e.tx.Solana}};try{return(await this.api.post("/v3/sign",o,{withCredentials:!0})).data.signature}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to sign transaction")}}async authV3(e){var t,n,r;if(e.network!==exports.Network.Ethereum)throw new Error("v3 auth API only supports Ethereum EIP-712 authentication");const o={domain:{name:"SUPERSTACK",version:"1",chainId:999,verifyingContract:"0x0000000000000000000000000000000000000000"},types:e.types,primaryType:e.primaryType,message:e.message},s={user_id:null!==(t=this.userId)&&void 0!==t?t:"",network:e.network,address:e.address,payload:{EthereumEip712:o}};try{return(await this.api.post("/v3/auth",s,{withCredentials:!0})).data.signature}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to authenticate")}}async lighterBuildTransaction(e,t){var n,r;try{const n={...e,wallet_address:t||e.wallet_address||null};return(await this.api.post("/v3/lighter/build_transaction",n,{withCredentials:!0})).data}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to build Lighter transaction")}}async lighterAuth(e){var t,n;const r={account_index:e.lighter_account_index,wallet_address:e.wallet_address||null,expires_in_ms:e.expires_in_ms||null};try{return(await this.api.post("/v3/lighter/auth",r,{withCredentials:!0})).data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to generate Lighter auth token")}}async lighterChangeKey(e){var t,n;if(e.lighter_account_index<0)throw new Error("accountIndex must be non-negative");const r={account_index:e.lighter_account_index,wallet_address:e.wallet_address||null};try{return(await this.api.post("/v3/lighter/change_key",r,{withCredentials:!0})).data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to change Lighter key")}}async exchange(e){var t,n;try{return(await this.api.post("/v3/sign/exchange",e,{withCredentials:!0})).data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to build exchange transaction")}}}var Ah=function(){return Ah=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},Ah.apply(this,arguments)};function Ih(e,t,n){if(n||2===arguments.length)for(var r,o=0,s=t.length;o<s;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function Sh(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}"function"==typeof SuppressedError&&SuppressedError;var Nh=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,Th=Sh(function(e){return Nh.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91}),$h="-ms-",Bh="-moz-",Ch="-webkit-",Oh="comm",_h="rule",Rh="decl",zh="@keyframes",Mh=Math.abs,Lh=String.fromCharCode,Fh=Object.assign;function jh(e){return e.trim()}function Uh(e,t){return(e=t.exec(e))?e[0]:e}function Dh(e,t,n){return e.replace(t,n)}function Gh(e,t,n){return e.indexOf(t,n)}function qh(e,t){return 0|e.charCodeAt(t)}function Vh(e,t,n){return e.slice(t,n)}function Wh(e){return e.length}function Hh(e){return e.length}function Yh(e,t){return t.push(e),e}function Zh(e,t){return e.filter(function(e){return!Uh(e,t)})}var Kh=1,Jh=1,Qh=0,Xh=0,ep=0,tp="";function np(e,t,n,r,o,s,a,i){return{value:e,root:t,parent:n,type:r,props:o,children:s,line:Kh,column:Jh,length:a,return:"",siblings:i}}function rp(e,t){return Fh(np("",null,null,"",null,null,0,e.siblings),e,{length:-e.length},t)}function op(e){for(;e.root;)e=rp(e.root,{children:[e]});Yh(e,e.siblings)}function sp(){return ep=Xh>0?qh(tp,--Xh):0,Jh--,10===ep&&(Jh=1,Kh--),ep}function ap(){return ep=Xh<Qh?qh(tp,Xh++):0,Jh++,10===ep&&(Jh=1,Kh++),ep}function ip(){return qh(tp,Xh)}function cp(){return Xh}function up(e,t){return Vh(tp,e,t)}function lp(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function dp(e){return jh(up(Xh-1,pp(91===e?e+2:40===e?e+1:e)))}function fp(e){for(;(ep=ip())&&ep<33;)ap();return lp(e)>2||lp(ep)>3?"":" "}function hp(e,t){for(;--t&&ap()&&!(ep<48||ep>102||ep>57&&ep<65||ep>70&&ep<97););return up(e,cp()+(t<6&&32==ip()&&32==ap()))}function pp(e){for(;ap();)switch(ep){case e:return Xh;case 34:case 39:34!==e&&39!==e&&pp(ep);break;case 40:41===e&&pp(e);break;case 92:ap()}return Xh}function mp(e,t){for(;ap()&&e+ep!==57&&(e+ep!==84||47!==ip()););return"/*"+up(t,Xh-1)+"*"+Lh(47===e?e:ap())}function gp(e){for(;!lp(ip());)ap();return up(e,Xh)}function bp(e){return function(e){return tp="",e}(yp("",null,null,null,[""],e=function(e){return Kh=Jh=1,Qh=Wh(tp=e),Xh=0,[]}(e),0,[0],e))}function yp(e,t,n,r,o,s,a,i,c){for(var u=0,l=0,d=a,f=0,h=0,p=0,m=1,g=1,b=1,y=0,w="",v=o,x=s,E=r,P=w;g;)switch(p=y,y=ap()){case 40:if(108!=p&&58==qh(P,d-1)){-1!=Gh(P+=Dh(dp(y),"&","&\f"),"&\f",Mh(u?i[u-1]:0))&&(b=-1);break}case 34:case 39:case 91:P+=dp(y);break;case 9:case 10:case 13:case 32:P+=fp(p);break;case 92:P+=hp(cp()-1,7);continue;case 47:switch(ip()){case 42:case 47:Yh(vp(mp(ap(),cp()),t,n,c),c);break;default:P+="/"}break;case 123*m:i[u++]=Wh(P)*b;case 125*m:case 59:case 0:switch(y){case 0:case 125:g=0;case 59+l:-1==b&&(P=Dh(P,/\f/g,"")),h>0&&Wh(P)-d&&Yh(h>32?xp(P+";",r,n,d-1,c):xp(Dh(P," ","")+";",r,n,d-2,c),c);break;case 59:P+=";";default:if(Yh(E=wp(P,t,n,u,l,o,i,w,v=[],x=[],d,s),s),123===y)if(0===l)yp(P,t,E,E,v,s,d,i,x);else switch(99===f&&110===qh(P,3)?100:f){case 100:case 108:case 109:case 115:yp(e,E,E,r&&Yh(wp(e,E,E,0,0,o,i,w,o,v=[],d,x),x),o,x,d,i,r?v:x);break;default:yp(P,E,E,E,[""],x,0,i,x)}}u=l=h=0,m=b=1,w=P="",d=a;break;case 58:d=1+Wh(P),h=p;default:if(m<1)if(123==y)--m;else if(125==y&&0==m++&&125==sp())continue;switch(P+=Lh(y),y*m){case 38:b=l>0?1:(P+="\f",-1);break;case 44:i[u++]=(Wh(P)-1)*b,b=1;break;case 64:45===ip()&&(P+=dp(ap())),f=ip(),l=d=Wh(w=P+=gp(cp())),y++;break;case 45:45===p&&2==Wh(P)&&(m=0)}}return s}function wp(e,t,n,r,o,s,a,i,c,u,l,d){for(var f=o-1,h=0===o?s:[""],p=Hh(h),m=0,g=0,b=0;m<r;++m)for(var y=0,w=Vh(e,f+1,f=Mh(g=a[m])),v=e;y<p;++y)(v=jh(g>0?h[y]+" "+w:Dh(w,/&\f/g,h[y])))&&(c[b++]=v);return np(e,t,n,0===o?_h:i,c,u,l,d)}function vp(e,t,n,r){return np(e,t,n,Oh,Lh(ep),Vh(e,2,-2),0,r)}function xp(e,t,n,r,o){return np(e,t,n,Rh,Vh(e,0,r),Vh(e,r+1,-1),r,o)}function Ep(e,t,n){switch(function(e,t){return 45^qh(e,0)?(((t<<2^qh(e,0))<<2^qh(e,1))<<2^qh(e,2))<<2^qh(e,3):0}(e,t)){case 5103:return Ch+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Ch+e+e;case 4789:return Bh+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Ch+e+Bh+e+$h+e+e;case 5936:switch(qh(e,t+11)){case 114:return Ch+e+$h+Dh(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Ch+e+$h+Dh(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Ch+e+$h+Dh(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return Ch+e+$h+e+e;case 6165:return Ch+e+$h+"flex-"+e+e;case 5187:return Ch+e+Dh(e,/(\w+).+(:[^]+)/,Ch+"box-$1$2"+$h+"flex-$1$2")+e;case 5443:return Ch+e+$h+"flex-item-"+Dh(e,/flex-|-self/g,"")+(Uh(e,/flex-|baseline/)?"":$h+"grid-row-"+Dh(e,/flex-|-self/g,""))+e;case 4675:return Ch+e+$h+"flex-line-pack"+Dh(e,/align-content|flex-|-self/g,"")+e;case 5548:return Ch+e+$h+Dh(e,"shrink","negative")+e;case 5292:return Ch+e+$h+Dh(e,"basis","preferred-size")+e;case 6060:return Ch+"box-"+Dh(e,"-grow","")+Ch+e+$h+Dh(e,"grow","positive")+e;case 4554:return Ch+Dh(e,/([^-])(transform)/g,"$1"+Ch+"$2")+e;case 6187:return Dh(Dh(Dh(e,/(zoom-|grab)/,Ch+"$1"),/(image-set)/,Ch+"$1"),e,"")+e;case 5495:case 3959:return Dh(e,/(image-set\([^]*)/,Ch+"$1$`$1");case 4968:return Dh(Dh(e,/(.+:)(flex-)?(.*)/,Ch+"box-pack:$3"+$h+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Ch+e+e;case 4200:if(!Uh(e,/flex-|baseline/))return $h+"grid-column-align"+Vh(e,t)+e;break;case 2592:case 3360:return $h+Dh(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(e,n){return t=n,Uh(e.props,/grid-\w+-end/)})?~Gh(e+(n=n[t].value),"span",0)?e:$h+Dh(e,"-start","")+e+$h+"grid-row-span:"+(~Gh(n,"span",0)?Uh(n,/\d+/):+Uh(n,/\d+/)-+Uh(e,/\d+/))+";":$h+Dh(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(e){return Uh(e.props,/grid-\w+-start/)})?e:$h+Dh(Dh(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return Dh(e,/(.+)-inline(.+)/,Ch+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Wh(e)-1-t>6)switch(qh(e,t+1)){case 109:if(45!==qh(e,t+4))break;case 102:return Dh(e,/(.+:)(.+)-([^]+)/,"$1"+Ch+"$2-$3$1"+Bh+(108==qh(e,t+3)?"$3":"$2-$3"))+e;case 115:return~Gh(e,"stretch",0)?Ep(Dh(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return Dh(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(t,n,r,o,s,a,i){return $h+n+":"+r+i+(o?$h+n+"-span:"+(s?a:+a-+r)+i:"")+e});case 4949:if(121===qh(e,t+6))return Dh(e,":",":"+Ch)+e;break;case 6444:switch(qh(e,45===qh(e,14)?18:11)){case 120:return Dh(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Ch+(45===qh(e,14)?"inline-":"")+"box$3$1"+Ch+"$2$3$1"+$h+"$2box$3")+e;case 100:return Dh(e,":",":"+$h)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return Dh(e,"scroll-","scroll-snap-")+e}return e}function Pp(e,t){for(var n="",r=0;r<e.length;r++)n+=t(e[r],r,e,t)||"";return n}function kp(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case Rh:return e.return=e.return||e.value;case Oh:return"";case zh:return e.return=e.value+"{"+Pp(e.children,r)+"}";case _h:if(!Wh(e.value=e.props.join(",")))return""}return Wh(n=Pp(e.children,r))?e.return=e.value+"{"+n+"}":""}function Ap(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case Rh:return void(e.return=Ep(e.value,e.length,n));case zh:return Pp([rp(e,{value:Dh(e.value,"@","@"+Ch)})],r);case _h:if(e.length)return function(e,t){return e.map(t).join("")}(n=e.props,function(t){switch(Uh(t,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":op(rp(e,{props:[Dh(t,/:(read-\w+)/,":-moz-$1")]})),op(rp(e,{props:[t]})),Fh(e,{props:Zh(n,r)});break;case"::placeholder":op(rp(e,{props:[Dh(t,/:(plac\w+)/,":"+Ch+"input-$1")]})),op(rp(e,{props:[Dh(t,/:(plac\w+)/,":-moz-$1")]})),op(rp(e,{props:[Dh(t,/:(plac\w+)/,$h+"input-$1")]})),op(rp(e,{props:[t]})),Fh(e,{props:Zh(n,r)})}return""})}}var Ip={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Sp="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",Np="active",Tp="data-styled-version",$p="6.1.19",Bp="/*!sc*/\n",Cp="undefined"!=typeof window&&"undefined"!=typeof document,Op=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY?"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:"production"!==process.env.NODE_ENV),_p=/invalid hook call/i,Rp=new Set,zp=function(e,t){if("production"!==process.env.NODE_ENV){var n=t?' with the id of "'.concat(t,'"'):"",r="The component ".concat(e).concat(n," has been created dynamically.\n")+"You may see this warning because you've called styled inside another component.\nTo resolve this only create new StyledComponents outside of any render method and function component.\nSee https://styled-components.com/docs/basics#define-styled-components-outside-of-the-render-method for more info.\n",s=console.error;try{var a=!0;console.error=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];_p.test(e)?(a=!1,Rp.delete(r)):s.apply(void 0,Ih([e],t,!1))},o.useRef(),a&&!Rp.has(r)&&(console.warn(r),Rp.add(r))}catch(e){_p.test(e.message)&&Rp.delete(r)}finally{console.error=s}}},Mp=Object.freeze([]),Lp=Object.freeze({});var Fp=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),jp=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,Up=/(^-|-$)/g;function Dp(e){return e.replace(jp,"-").replace(Up,"")}var Gp=/(a)(d)/gi,qp=function(e){return String.fromCharCode(e+(e>25?39:97))};function Vp(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=qp(t%52)+n;return(qp(t%52)+n).replace(Gp,"$1-$2")}var Wp,Hp=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Yp=function(e){return Hp(5381,e)};function Zp(e){return Vp(Yp(e)>>>0)}function Kp(e){return"production"!==process.env.NODE_ENV&&"string"==typeof e&&e||e.displayName||e.name||"Component"}function Jp(e){return"string"==typeof e&&("production"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var Qp="function"==typeof Symbol&&Symbol.for,Xp=Qp?Symbol.for("react.memo"):60115,em=Qp?Symbol.for("react.forward_ref"):60112,tm={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},nm={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},rm={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},om=((Wp={})[em]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Wp[Xp]=rm,Wp);function sm(e){return("type"in(t=e)&&t.type.$$typeof)===Xp?rm:"$$typeof"in e?om[e.$$typeof]:tm;var t}var am=Object.defineProperty,im=Object.getOwnPropertyNames,cm=Object.getOwnPropertySymbols,um=Object.getOwnPropertyDescriptor,lm=Object.getPrototypeOf,dm=Object.prototype;function fm(e,t,n){if("string"!=typeof t){if(dm){var r=lm(t);r&&r!==dm&&fm(e,r,n)}var o=im(t);cm&&(o=o.concat(cm(t)));for(var s=sm(e),a=sm(t),i=0;i<o.length;++i){var c=o[i];if(!(c in nm||n&&n[c]||a&&c in a||s&&c in s)){var u=um(t,c);try{am(e,c,u)}catch(e){}}}}return e}function hm(e){return"function"==typeof e}function pm(e){return"object"==typeof e&&"styledComponentId"in e}function mm(e,t){return e&&t?"".concat(e," ").concat(t):e||t||""}function gm(e,t){if(0===e.length)return"";for(var n=e[0],r=1;r<e.length;r++)n+=e[r];return n}function bm(e){return null!==e&&"object"==typeof e&&e.constructor.name===Object.name&&!("props"in e&&e.$$typeof)}function ym(e,t,n){if(void 0===n&&(n=!1),!n&&!bm(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=ym(e[r],t[r]);else if(bm(t))for(var r in t)e[r]=ym(e[r],t[r]);return e}function wm(e,t){Object.defineProperty(e,"toString",{value:t})}var vm="production"!==process.env.NODE_ENV?{1:"Cannot create styled-component for component: %s.\n\n",2:"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\n\n- Are you trying to reuse it across renders?\n- Are you accidentally calling collectStyles twice?\n\n",3:"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\n\n",4:"The `StyleSheetManager` expects a valid target or sheet prop!\n\n- Does this error occur on the client and is your target falsy?\n- Does this error occur on the server and is the sheet falsy?\n\n",5:"The clone method cannot be used on the client!\n\n- Are you running in a client-like environment on the server?\n- Are you trying to run SSR on the client?\n\n",6:"Trying to insert a new style tag, but the given Node is unmounted!\n\n- Are you using a custom target that isn't mounted?\n- Does your document not have a valid head element?\n- Have you accidentally removed a style tag manually?\n\n",7:'ThemeProvider: Please return an object from your "theme" prop function, e.g.\n\n```js\ntheme={() => ({})}\n```\n\n',8:'ThemeProvider: Please make your "theme" prop an object.\n\n',9:"Missing document `<head>`\n\n",10:"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n",11:"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n",12:"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n",13:"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n",14:'ThemeProvider: "theme" prop is required.\n\n',15:"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n",16:"Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n",17:"CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n",18:"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`"}:{};function xm(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=e[0],r=[],o=1,s=e.length;o<s;o+=1)r.push(e[o]);return r.forEach(function(e){n=n.replace(/%[a-z]/,e)}),n}function Em(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return"production"===process.env.NODE_ENV?new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(e," for more information.").concat(t.length>0?" Args: ".concat(t.join(", ")):"")):new Error(xm.apply(void 0,Ih([vm[e]],t,!1)).trim())}var Pm=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)if((o<<=1)<0)throw Em(16,"".concat(e));this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var a=this.indexOfGroup(e+1),i=(s=0,t.length);s<i;s++)this.tag.insertRule(a,t[s])&&(this.groupSizes[e]++,a++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+="".concat(this.tag.getRule(s)).concat(Bp);return t},e}(),km=1<<30,Am=new Map,Im=new Map,Sm=1,Nm=function(e){if(Am.has(e))return Am.get(e);for(;Im.has(Sm);)Sm++;var t=Sm++;if("production"!==process.env.NODE_ENV&&((0|t)<0||t>km))throw Em(16,"".concat(t));return Am.set(e,t),Im.set(t,e),t},Tm=function(e,t){Sm=t+1,Am.set(e,t),Im.set(t,e)},$m="style[".concat(Sp,"][").concat(Tp,'="').concat($p,'"]'),Bm=new RegExp("^".concat(Sp,'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')),Cm=function(e,t,n){for(var r,o=n.split(","),s=0,a=o.length;s<a;s++)(r=o[s])&&e.registerName(t,r)},Om=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:"").split(Bp),o=[],s=0,a=r.length;s<a;s++){var i=r[s].trim();if(i){var c=i.match(Bm);if(c){var u=0|parseInt(c[1],10),l=c[2];0!==u&&(Tm(l,u),Cm(e,l,c[3]),e.getTag().insertRules(u,o)),o.length=0}else o.push(i)}}},_m=function(e){for(var t=document.querySelectorAll($m),n=0,r=t.length;n<r;n++){var o=t[n];o&&o.getAttribute(Sp)!==Np&&(Om(e,o),o.parentNode&&o.parentNode.removeChild(o))}};var Rm=function(e){var t=document.head,n=e||t,r=document.createElement("style"),o=function(e){var t=Array.from(e.querySelectorAll("style[".concat(Sp,"]")));return t[t.length-1]}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(Sp,Np),r.setAttribute(Tp,$p);var a="undefined"!=typeof __webpack_nonce__?__webpack_nonce__:null;return a&&r.setAttribute("nonce",a),n.insertBefore(r,s),r},zm=function(){function e(e){this.element=Rm(e),this.element.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}throw Em(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:""},e}(),Mm=function(){function e(e){this.element=Rm(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),Lm=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),Fm=Cp,jm={isServer:!Cp,useCSSOMInjection:!Op},Um=function(){function e(e,t,n){void 0===e&&(e=Lp),void 0===t&&(t={});var r=this;this.options=Ah(Ah({},jm),e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&Cp&&Fm&&(Fm=!1,_m(this)),wm(this,function(){return function(e){for(var t=e.getTag(),n=t.length,r="",o=function(n){var o=function(e){return Im.get(e)}(n);if(void 0===o)return"continue";var s=e.names.get(o),a=t.getGroup(n);if(void 0===s||!s.size||0===a.length)return"continue";var i="".concat(Sp,".g").concat(n,'[id="').concat(o,'"]'),c="";void 0!==s&&s.forEach(function(e){e.length>0&&(c+="".concat(e,","))}),r+="".concat(a).concat(i,'{content:"').concat(c,'"}').concat(Bp)},s=0;s<n;s++)o(s);return r}(r)})}return e.registerId=function(e){return Nm(e)},e.prototype.rehydrate=function(){!this.server&&Cp&&_m(this)},e.prototype.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(Ah(Ah({},this.options),t),this.gs,n&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new Lm(n):t?new zm(n):new Mm(n)}(this.options),new Pm(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Nm(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Nm(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Nm(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),Dm=/&/g,Gm=/^\s*\/\/.*$/gm;function qm(e,t){return e.map(function(e){return"rule"===e.type&&(e.value="".concat(t," ").concat(e.value),e.value=e.value.replaceAll(",",",".concat(t," ")),e.props=e.props.map(function(e){return"".concat(t," ").concat(e)})),Array.isArray(e.children)&&"@keyframes"!==e.type&&(e.children=qm(e.children,t)),e})}var Vm=new Um,Wm=function(){var e,t,n,r=Lp,o=r.options,s=void 0===o?Lp:o,a=r.plugins,i=void 0===a?Mp:a,c=function(n,r,o){return o.startsWith(t)&&o.endsWith(t)&&o.replaceAll(t,"").length>0?".".concat(e):n},u=i.slice();u.push(function(e){e.type===_h&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(Dm,t).replace(n,c))}),s.prefix&&u.push(Ap),u.push(kp);var l=function(r,o,a,i){void 0===o&&(o=""),void 0===a&&(a=""),void 0===i&&(i="&"),e=i,t=o,n=new RegExp("\\".concat(t,"\\b"),"g");var c=r.replace(Gm,""),l=bp(a||o?"".concat(a," ").concat(o," { ").concat(c," }"):c);s.namespace&&(l=qm(l,s.namespace));var d,f=[];return Pp(l,function(e){var t=Hh(e);return function(n,r,o,s){for(var a="",i=0;i<t;i++)a+=e[i](n,r,o,s)||"";return a}}(u.concat((d=function(e){return f.push(e)},function(e){e.root||(e=e.return)&&d(e)})))),f};return l.hash=i.length?i.reduce(function(e,t){return t.name||Em(15),Hp(e,t.name)},5381).toString():"",l}(),Hm=x.default.createContext({shouldForwardProp:void 0,styleSheet:Vm,stylis:Wm});function Ym(){return o.useContext(Hm)}Hm.Consumer,x.default.createContext(void 0);var Zm=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=Wm);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=t,wm(this,function(){throw Em(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=Wm),this.name+e.hash},e}(),Km=function(e){return e>="A"&&e<="Z"};function Jm(e){for(var t="",n=0;n<e.length;n++){var r=e[n];if(1===n&&"-"===r&&"-"===e[0])return e;Km(r)?t+="-"+r.toLowerCase():t+=r}return t.startsWith("ms-")?"-"+t:t}var Qm=function(e){return null==e||!1===e||""===e},Xm=function(e){var t,n,r=[];for(var o in e){var s=e[o];e.hasOwnProperty(o)&&!Qm(s)&&(Array.isArray(s)&&s.isCss||hm(s)?r.push("".concat(Jm(o),":"),s,";"):bm(s)?r.push.apply(r,Ih(Ih(["".concat(o," {")],Xm(s),!1),["}"],!1)):r.push("".concat(Jm(o),": ").concat((t=o,null==(n=s)||"boolean"==typeof n||""===n?"":"number"!=typeof n||0===n||t in Ip||t.startsWith("--")?String(n).trim():"".concat(n,"px")),";")))}return r};function eg(e,t,n,r){if(Qm(e))return[];if(pm(e))return[".".concat(e.styledComponentId)];if(hm(e)){if(!hm(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return[e];var o=e(t);return"production"===process.env.NODE_ENV||"object"!=typeof o||Array.isArray(o)||o instanceof Zm||bm(o)||null===o||console.error("".concat(Kp(e)," is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.")),eg(o,t,n,r)}var s;return e instanceof Zm?n?(e.inject(n,r),[e.getName(r)]):[e]:bm(e)?Xm(e):Array.isArray(e)?Array.prototype.concat.apply(Mp,e.map(function(e){return eg(e,t,n,r)})):[e.toString()]}var tg=Yp($p),ng=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic="production"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&function(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(hm(n)&&!pm(n))return!1}return!0}(e),this.componentId=t,this.baseHash=Hp(tg,t),this.baseStyle=n,Um.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):"";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=mm(r,this.staticRulesId);else{var o=gm(eg(this.rules,e,t,n)),s=Vp(Hp(this.baseHash,o)>>>0);if(!t.hasNameForId(this.componentId,s)){var a=n(o,".".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,a)}r=mm(r,s),this.staticRulesId=s}else{for(var i=Hp(this.baseHash,n.hash),c="",u=0;u<this.rules.length;u++){var l=this.rules[u];if("string"==typeof l)c+=l,"production"!==process.env.NODE_ENV&&(i=Hp(i,l));else if(l){var d=gm(eg(l,e,t,n));i=Hp(i,d+u),c+=d}}if(c){var f=Vp(i>>>0);t.hasNameForId(this.componentId,f)||t.insertRules(this.componentId,f,n(c,".".concat(f),void 0,this.componentId)),r=mm(r,f)}}return r},e}(),rg=x.default.createContext(void 0);rg.Consumer;var og={},sg=new Set;function ag(e,t,n){var r=pm(e),s=e,a=!Jp(e),i=t.attrs,c=void 0===i?Mp:i,u=t.componentId,l=void 0===u?function(e,t){var n="string"!=typeof e?"sc":Dp(e);og[n]=(og[n]||0)+1;var r="".concat(n,"-").concat(Zp($p+n+og[n]));return t?"".concat(t,"-").concat(r):r}(t.displayName,t.parentComponentId):u,d=t.displayName,f=void 0===d?function(e){return Jp(e)?"styled.".concat(e):"Styled(".concat(Kp(e),")")}(e):d,h=t.displayName&&t.componentId?"".concat(Dp(t.displayName),"-").concat(t.componentId):t.componentId||l,p=r&&s.attrs?s.attrs.concat(c).filter(Boolean):c,m=t.shouldForwardProp;if(r&&s.shouldForwardProp){var g=s.shouldForwardProp;if(t.shouldForwardProp){var b=t.shouldForwardProp;m=function(e,t){return g(e,t)&&b(e,t)}}else m=g}var y=new ng(n,h,r?s.componentStyle:void 0);function w(e,t){return function(e,t,n){var r=e.attrs,s=e.componentStyle,a=e.defaultProps,i=e.foldedComponentIds,c=e.styledComponentId,u=e.target,l=x.default.useContext(rg),d=Ym(),f=e.shouldForwardProp||d.shouldForwardProp;"production"!==process.env.NODE_ENV&&o.useDebugValue(c);var h=function(e,t,n){return void 0===n&&(n=Lp),e.theme!==n.theme&&e.theme||t||n.theme}(t,l,a)||Lp,p=function(e,t,n){for(var r,o=Ah(Ah({},t),{className:void 0,theme:n}),s=0;s<e.length;s+=1){var a=hm(r=e[s])?r(o):r;for(var i in a)o[i]="className"===i?mm(o[i],a[i]):"style"===i?Ah(Ah({},o[i]),a[i]):a[i]}return t.className&&(o.className=mm(o.className,t.className)),o}(r,t,h),m=p.as||u,g={};for(var b in p)void 0===p[b]||"$"===b[0]||"as"===b||"theme"===b&&p.theme===h||("forwardedAs"===b?g.as=p.forwardedAs:f&&!f(b,m)||(g[b]=p[b],f||"development"!==process.env.NODE_ENV||Th(b)||sg.has(b)||!Fp.has(m)||(sg.add(b),console.warn('styled-components: it looks like an unknown prop "'.concat(b,'" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var y=function(e,t){var n=Ym(),r=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return"production"!==process.env.NODE_ENV&&o.useDebugValue(r),r}(s,p);"production"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(y);var w=mm(i,c);return y&&(w+=" "+y),p.className&&(w+=" "+p.className),g[Jp(m)&&!Fp.has(m)?"class":"className"]=w,n&&(g.ref=n),o.createElement(m,g)}(v,e,t)}w.displayName=f;var v=x.default.forwardRef(w);return v.attrs=p,v.componentStyle=y,v.displayName=f,v.shouldForwardProp=m,v.foldedComponentIds=r?mm(s.foldedComponentIds,s.styledComponentId):"",v.styledComponentId=h,v.target=r?s.target:e,Object.defineProperty(v,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=r?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,o=t;r<o.length;r++)ym(e,o[r],!0);return e}({},s.defaultProps,e):e}}),"production"!==process.env.NODE_ENV&&(zp(f,h),v.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of "'.concat(t,'"'):"";console.warn("Over ".concat(200," classes were generated for component ").concat(e).concat(s,".\n")+"Consider using the attrs method, together with a style object for frequently changed styles.\nExample:\n const Component = styled.div.attrs(props => ({\n style: {\n background: props.background,\n },\n }))`width: 100%;`\n\n <Component />"),r=!0,n={}}}}(f,h)),wm(v,function(){return".".concat(v.styledComponentId)}),a&&fm(v,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),v}function ig(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n}var cg=function(e){return Object.assign(e,{isCss:!0})};function ug(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(hm(e)||bm(e))return cg(eg(ig(Mp,Ih([e],t,!0))));var r=e;return 0===t.length&&1===r.length&&"string"==typeof r[0]?eg(r):cg(eg(ig(r,t)))}function lg(e,t,n){if(void 0===n&&(n=Lp),!t)throw Em(1,t);var r=function(r){for(var o=[],s=1;s<arguments.length;s++)o[s-1]=arguments[s];return e(t,n,ug.apply(void 0,Ih([r],o,!1)))};return r.attrs=function(r){return lg(e,t,Ah(Ah({},n),{attrs:Array.prototype.concat(n.attrs,r).filter(Boolean)}))},r.withConfig=function(r){return lg(e,t,Ah(Ah({},n),r))},r}var dg=function(e){return lg(ag,e)},fg=dg;Fp.forEach(function(e){fg[e]=dg(e)}),"production"!==process.env.NODE_ENV&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("It looks like you've imported 'styled-components' on React Native.\nPerhaps you're looking to import 'styled-components/native'?\nRead more about this at https://www.styled-components.com/docs/basics#react-native");var hg="__sc-".concat(Sp,"__");"production"!==process.env.NODE_ENV&&"test"!==process.env.NODE_ENV&&"undefined"!=typeof window&&(window[hg]||(window[hg]=0),1===window[hg]&&console.warn("It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\n\nSee https://s-c.sh/2BAXzed for more info."),window[hg]+=1);const pg={colors:{black:"#000000",white:"#FFFFFF",offWhite:"#F5F5F5",grey:{100:"#F7F7F7",200:"#E6E6E6",300:"#D1D1D1",400:"#B0B0B0",500:"#8C8C8C",600:"#696969",700:"#474747",800:"#2B2B2B",900:"#1A1A1A"},primary:"#000000",secondary:"#B0B0B0",error:"#FF4D4D",success:"#4CAF50",background:{main:"#FFFFFF",secondary:"#F5F5F5",overlay:"rgba(0, 0, 0, 0.7)"},text:{primary:"#000000",secondary:"#474747",tertiary:"#8C8C8C",inverse:"#FFFFFF"},button:{primary:{background:"#000000",text:"#FFFFFF",hover:"#2B2B2B",disabled:"#8C8C8C"},secondary:{background:"#F5F5F5",text:"#000000",hover:"#E6E6E6",disabled:"#D1D1D1"}},border:{light:"#E6E6E6",medium:"#D1D1D1",dark:"#8C8C8C"}},typography:{fontFamily:"'Montserrat', 'Arial', sans-serif",fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem"},fontWeights:{light:300,regular:400,medium:500,semibold:600,bold:700}},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem","2xl":"3rem","3xl":"4rem"},borderRadius:{none:"0",sm:"0.125rem",md:"0.25rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem",full:"9999px"},shadows:{none:"none",sm:"0 1px 2px rgba(0, 0, 0, 0.05)",md:"0 4px 6px rgba(0, 0, 0, 0.05)",lg:"0 10px 15px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px rgba(0, 0, 0, 0.05)"},transitions:{fast:"0.1s ease",normal:"0.2s ease",slow:"0.3s ease"}},mg=(function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];"production"!==process.env.NODE_ENV&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.");var r=gm(ug.apply(void 0,Ih([e],t,!1))),o=Zp(r);return new Zm(o,r)})`
12
+ const Zl=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Kl=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Jl=BigInt(0),Ql=BigInt(1),Xl=BigInt(2),ed=(e,t)=>(e+t/Xl)/t;const td=kl(Zl,void 0,void 0,{sqrt:function(e){const t=Zl,n=BigInt(3),r=BigInt(6),o=BigInt(11),s=BigInt(22),a=BigInt(23),i=BigInt(44),c=BigInt(88),u=e*e*e%t,l=u*u*e%t,d=ml(l,n,t)*l%t,f=ml(d,n,t)*l%t,h=ml(f,Xl,t)*u%t,p=ml(h,o,t)*h%t,m=ml(p,s,t)*p%t,g=ml(m,i,t)*m%t,b=ml(g,c,t)*g%t,y=ml(b,i,t)*m%t,w=ml(y,n,t)*l%t,v=ml(w,a,t)*p%t,x=ml(v,r,t)*u%t,E=ml(x,Xl,t);if(!td.eql(td.sqr(E),e))throw new Error("Cannot find square root");return E}}),nd=function(e,t){const n=t=>Hl({...e,...Yl(t)});return{...n(t),create:n}}({a:Jl,b:BigInt(7),Fp:td,n:Kl,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=Kl,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-Ql*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=n,a=BigInt("0x100000000000000000000000000000000"),i=ed(s*e,t),c=ed(-r*e,t);let u=pl(e-i*n-c*o,t),l=pl(-i*r-c*s,t);const d=u>a,f=l>a;if(d&&(u=t-u),f&&(l=t-l),u>a||l>a)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:d,k1:u,k2neg:f,k2:l}}}},Cs);var rd=Object.freeze({__proto__:null,secp256k1:nd});function od(e,t={}){const{recovered:n}=t;if(void 0===e.r)throw new ud({signature:e});if(void 0===e.s)throw new ud({signature:e});if(n&&void 0===e.yParity)throw new ud({signature:e});if(e.r<0n||e.r>zu)throw new ld({value:e.r});if(e.s<0n||e.s>zu)throw new dd({value:e.s});if("number"==typeof e.yParity&&0!==e.yParity&&1!==e.yParity)throw new fd({value:e.yParity})}function sd(e){if(130!==e.length&&132!==e.length)throw new cd({signature:e});const t=BigInt(wi(e,0,32)),n=BigInt(wi(e,32,64)),r=(()=>{const t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return id(t)}catch{throw new fd({value:t})}})();return void 0===r?{r:t,s:n}:{r:t,s:n,yParity:r}}function ad(e){if(void 0!==e.r&&void 0!==e.s)return function(e){const t="string"==typeof e?sd(e):e instanceof Uint8Array?function(e){return sd(pi(e))}(e):"string"==typeof e.r?function(e){const t=(()=>{const t=e.v?Number(e.v):void 0;let n=e.yParity?Number(e.yParity):void 0;if("number"==typeof t&&"number"!=typeof n&&(n=id(t)),"number"!=typeof n)throw new fd({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}(e):e.v?function(e){return{r:e.r,s:e.s,yParity:id(e.v)}}(e):{r:e.r,s:e.s,...void 0!==e.yParity?{yParity:e.yParity}:{}};return od(t),t}(e)}function id(e){if(0===e||27===e)return 0;if(1===e||28===e)return 1;if(e>=35)return e%2==0?1:0;throw new hd({value:e})}class cd extends Ra{constructor({signature:e}){var t;super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${vi((t=e,t instanceof Uint8Array?pi(t):Array.isArray(t)?pi(new Uint8Array(t)):t))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"})}}class ud extends Ra{constructor({signature:e}){super(`Signature \`${Ya(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"})}}class ld extends Ra{constructor({value:e}){super(`Value \`${e}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"})}}class dd extends Ra{constructor({value:e}){super(`Value \`${e}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"})}}class fd extends Ra{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"})}}class hd extends Ra{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"})}}function pd(e,t={}){return"string"==typeof e.chainId?function(e){const{address:t,chainId:n,nonce:r}=e,o=ad(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...o}}(e):{...e,...t.signature}}const md=Ju("(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data");function gd(e){if("string"==typeof e){if("0x8010801080108010801080108010801080108010801080108010801080108010"!==wi(e,-32))throw new bd(e)}else od(e.authorization)}let bd=class extends Ra{constructor(e){super(`Value \`${e}\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc8010.InvalidWrappedSignatureError"})}};async function yd(e,{address:t,blockNumber:n,blockTag:r,storageKeys:o}){const s=r??"latest",a=void 0!==n?Vt(n):void 0;return function(e){return{...e,balance:e.balance?BigInt(e.balance):void 0,nonce:e.nonce?jt(e.nonce):void 0,storageProof:e.storageProof?(t=e.storageProof,t.map(e=>({...e,value:BigInt(e.value)}))):void 0};var t}(await e.request({method:"eth_getProof",params:[t,o,a||s]}))}async function wd(e,{blockHash:t,blockNumber:n,blockTag:r,hash:o,index:s}){const a=r||"latest",i=void 0!==n?Vt(n):void 0;let c=null;if(c=o?await e.request({method:"eth_getTransactionByHash",params:[o]},{dedupe:!0}):t?await e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[t,Vt(s)]},{dedupe:!0}):await e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[i||a,Vt(s)]},{dedupe:Boolean(i)}),!c)throw new Hr({blockHash:t,blockNumber:n,blockTag:a,hash:o,index:s});return(e.chain?.formatters?.transaction?.format||gs)(c)}async function vd(e,{hash:t}){const n=await e.request({method:"eth_getTransactionReceipt",params:[t]},{dedupe:!0});if(!n)throw new Yr({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||yc)(n)}async function xd(e,t){const{blockNumber:n,blockTag:r=e.experimental_blockTag??"latest",blocks:o,returnFullTransactions:s,traceTransfers:a,validation:i}=t;try{const t=[];for(const e of o){const n=e.blockOverrides?Bi(e.blockOverrides):void 0,r=e.calls.map(e=>{const t=e,n=t.account?pr(t.account):void 0,r=t.abi?gr(t):t.data,o={...t,data:t.dataSuffix?Hn([r||"0x",t.dataSuffix]):r,from:t.from??n?.address};return ls(o),ss(o)}),o=e.stateOverrides?cs(e.stateOverrides):void 0;t.push({blockOverrides:n,calls:r,stateOverrides:o})}const c=("bigint"==typeof n?Vt(n):void 0)||r;return(await e.request({method:"eth_simulateV1",params:[{blockStateCalls:t,returnFullTransactions:s,traceTransfers:a,validation:i},c]})).map((e,t)=>({...bs(e),calls:e.calls.map((e,n)=>{const{abi:r,args:s,functionName:a,to:i}=o[t].calls[n],c=e.error?.data??e.returnData,u=BigInt(e.gasUsed),l=e.logs?.map(e=>Js(e)),d="0x1"===e.status?"success":"failure",f=r&&"success"===d&&"0x"!==c?ta({abi:r,data:c,functionName:a}):null,h=(()=>{if("success"===d)return;let t;return"0x"===e.error?.data?t=new at:e.error&&(t=new to(e.error)),t?Ro(t,{abi:r??[],address:i??"0x",args:s,functionName:a??"<unknown>"}):void 0})();return{data:c,gasUsed:u,logs:l,status:d,..."success"===d?{result:f}:{error:h}}})}))}catch(e){const t=e,n=ns(t,{});if(n instanceof ts)throw t;throw n}}function Ed(e){let t=!0,n="",r=0,o="",s=!1;for(let a=0;a<e.length;a++){const i=e[a];if(["(",")",","].includes(i)&&(t=!0),"("===i&&r++,")"===i&&r--,t)if(0!==r)" "!==i?(o+=i,n+=i):","!==e[a-1]&&","!==n&&",("!==n&&(n="",t=!1);else if(" "===i&&["event","function","error",""].includes(o))o="";else if(o+=i,")"===i){s=!0;break}}if(!s)throw new Ra("Unable to normalize signature.");return o}function Pd(e,t){const n=typeof e,r=t.type;switch(r){case"address":return Tu(e,{strict:!1});case"bool":return"boolean"===n;case"function":case"string":return"string"===n;default:return"tuple"===r&&"components"in t?Object.values(t.components).every((t,n)=>Pd(Object.values(e)[n],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?"number"===n||"bigint"===n:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?"string"===n||e instanceof Uint8Array:!!/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)&&(Array.isArray(e)&&e.every(e=>Pd(e,{...t,type:r.replace(/(\[[0-9]{0,}\])$/,"")})))}}function kd(e,t,n){for(const r in e){const o=e[r],s=t[r];if("tuple"===o.type&&"tuple"===s.type&&"components"in o&&"components"in s)return kd(o.components,s.components,n[r]);const a=[o.type,s.type];if((()=>!(!a.includes("address")||!a.includes("bytes20"))||(a.includes("address")&&a.includes("string")||!(!a.includes("address")||!a.includes("bytes")))&&Tu(n[r],{strict:!1}))())return a}}function Ad(e,t={}){const{prepare:n=!0}=t,r=Array.isArray(e)||"string"==typeof e?Ve(e):e;return{...r,...n?{hash:Nd(r)}:{}}}function Id(e,t,n){const{args:r=[],prepare:o=!0}=n??{},s=Pi(t,{strict:!1}),a=e.filter(e=>s?"function"===e.type||"error"===e.type?Sd(e)===wi(t,0,4):"event"===e.type&&Nd(e)===t:"name"in e&&e.name===t);if(0===a.length)throw new $d({name:t});if(1===a.length)return{...a[0],...o?{hash:Nd(a[0])}:{}};let i;for(const e of a){if(!("inputs"in e))continue;if(!r||0===r.length){if(!e.inputs||0===e.inputs.length)return{...e,...o?{hash:Nd(e)}:{}};continue}if(!e.inputs)continue;if(0===e.inputs.length)continue;if(e.inputs.length!==r.length)continue;const t=r.every((t,n)=>{const r="inputs"in e&&e.inputs[n];return!!r&&Pd(t,r)});if(t){if(i&&"inputs"in i&&i.inputs){const t=kd(e.inputs,i.inputs,r);if(t)throw new Td({abiItem:e,type:t[0]},{abiItem:i,type:t[1]})}i=e}}const c=(()=>{if(i)return i;const[e,...t]=a;return{...e,overloads:t}})();if(!c)throw new $d({name:t});return{...c,...o?{hash:Nd(c)}:{}}}function Sd(...e){const t=(()=>{if(Array.isArray(e[0])){const[t,n]=e;return Id(t,n)}return e[0]})();return wi(Nd(t),0,4)}function Nd(...e){const t=(()=>{if(Array.isArray(e[0])){const[t,n]=e;return Id(t,n)}return e[0]})();return"string"!=typeof t&&"hash"in t&&t.hash?t.hash:Au(gi(function(...e){const t=(()=>{if(Array.isArray(e[0])){const[t,n]=e;return Id(t,n)}return e[0]})();return Ed("string"==typeof t?t:se(t))}(t)))}class Td extends Ra{constructor(e,t){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${Ed(se(e.abiItem))}\`, and`,`\`${t.type}\` in \`${Ed(se(t.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class $d extends Ra{constructor({name:e,data:t,type:n="item"}){super(`ABI ${n}${e?` with name "${e}"`:t?` with data "${t}"`:""} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}function Bd(e){const t=e.find(e=>"constructor"===e.type);if(!t)throw new $d({name:"constructor"});return t}function Cd(...e){const[t,n=[]]=(()=>{if(Array.isArray(e[0])){const[t,n,r]=e;return[_d(t,n,{args:r}),r]}const[t,n]=e;return[t,n]})(),{overloads:r}=t,o=r?_d([t,...r],t.name,{args:n}):t,s=Sd(o);const a=n.length>0?Zu(o.inputs,n):void 0;return a?fi(s,a):s}function Od(e,t={}){return Ad(e,t)}function _d(e,t,n){const r=Id(e,t,n);if("function"!==r.type)throw new $d({name:t,type:"function"});return r}const Rd="0x0000000000000000000000000000000000000000";async function zd(e,t){const{blockNumber:n,blockTag:r,calls:o,stateOverrides:s,traceAssetChanges:a,traceTransfers:i,validation:c}=t,u=t.account?pr(t.account):void 0;if(a&&!u)throw new tt("`account` is required when `traceAssetChanges` is true");const l=u?function(...e){const[t,n]=(()=>{if(Array.isArray(e[0])){const[t,n]=e;return[Bd(t),n]}return e})(),{bytecode:r,args:o}=n;return fi(r,t.inputs?.length&&o?.length?Zu(t.inputs,o):"0x")}(Ad("constructor(bytes, bytes)"),{bytecode:Di,args:["0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033",Cd(Od("function getBalance(address)"),[u.address])]}):void 0;const d=a?await Promise.all(t.calls.map(async t=>{if(!t.data&&!t.abi)return;const{accessList:n}=await Hc(e,{account:u.address,...t,data:t.abi?gr(t):t.data});return n.map(({address:e,storageKeys:t})=>t.length>0?e:null)})).then(e=>e.flat().filter(Boolean)):[],f=await xd(e,{blockNumber:n,blockTag:r,blocks:[...a?[{calls:[{data:l}],stateOverrides:s},{calls:d.map((e,t)=>({abi:[Od("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:e,from:Rd,nonce:t})),stateOverrides:[{address:Rd,nonce:0}]}]:[],{calls:[...o,{}].map(e=>({...e,from:u?.address})),stateOverrides:s},...a?[{calls:[{data:l}]},{calls:d.map((e,t)=>({abi:[Od("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[u.address],to:e,from:Rd,nonce:t})),stateOverrides:[{address:Rd,nonce:0}]},{calls:d.map((e,t)=>({to:e,abi:[Od("function decimals() returns (uint256)")],functionName:"decimals",from:Rd,nonce:t})),stateOverrides:[{address:Rd,nonce:0}]},{calls:d.map((e,t)=>({to:e,abi:[Od("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:Rd,nonce:t})),stateOverrides:[{address:Rd,nonce:0}]},{calls:d.map((e,t)=>({to:e,abi:[Od("function symbol() returns (string)")],functionName:"symbol",from:Rd,nonce:t})),stateOverrides:[{address:Rd,nonce:0}]}]:[]],traceTransfers:i,validation:c}),h=a?f[2]:f[0],[p,m,,g,b,y,w,v]=a?f:[],{calls:x,...E}=h,P=x.slice(0,-1)??[],k=[...p?.calls??[],...m?.calls??[]].map(e=>"success"===e.status?Lt(e.data):null),A=[...g?.calls??[],...b?.calls??[]].map(e=>"success"===e.status?Lt(e.data):null),I=(y?.calls??[]).map(e=>"success"===e.status?e.result:null),S=(v?.calls??[]).map(e=>"success"===e.status?e.result:null),N=(w?.calls??[]).map(e=>"success"===e.status?e.result:null),T=[];for(const[e,t]of A.entries()){const n=k[e];if("bigint"!=typeof t)continue;if("bigint"!=typeof n)continue;const r=I[e-1],o=S[e-1],s=N[e-1],a=(()=>0===e?{address:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",decimals:18,symbol:"ETH"}:{address:d[e-1],decimals:s||r?Number(r??1):void 0,symbol:o??void 0})();T.some(e=>e.token.address===a.address)||T.push({token:a,value:{pre:n,post:t,diff:t-n}})}return{assetChanges:T,block:E,results:P}}const Md="0x6492649264926492649264926492649264926492649264926492649264926492";function Fd(e){try{return function(e){if(wi(e,-32)!==Md)throw new Ld(e)}(e),!0}catch{return!1}}class Ld extends Ra{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"})}}function jd({r:e,s:t,to:n="hex",v:r,yParity:o}){const s=(()=>{if(0===o||1===o)return o;if(r&&(27n===r||28n===r||r>=35n))return r%2n==0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),a=`0x${new nd.Signature(Lt(e),Lt(t)).toCompactHex()}${0===s?"1b":"1c"}`;return"hex"===n?a:Qt(a)}async function Ud(e,t){const{address:n,hash:r,erc6492VerifierAddress:o=t.universalSignatureVerifierAddress??e.chain?.contracts?.erc6492Verifier?.address,multicallAddress:s=t.multicallAddress??e.chain?.contracts?.multicall3?.address}=t,a=(()=>{const e=t.signature;return Ke(e)?e:"object"==typeof e&&"r"in e&&"s"in e?jd(e):qt(e)})();try{return function(e){try{return gd(e),!0}catch{return!1}}(a)?await async function(e,t){const{address:n,blockNumber:r,blockTag:o,hash:s,multicallAddress:a}=t,{authorization:i,data:c,signature:u,to:l}=function(e){gd(e);const t=Ei(wi(e,-64,-32)),n=wi(e,-t-64,-64),r=wi(e,0,-t-64),[o,s,a]=Yu(md,n);return{authorization:pd({address:o.delegation,chainId:Number(o.chainId),nonce:o.nonce,yParity:o.yParity,r:o.r,s:o.s}),signature:r,...a&&"0x"!==a?{data:a,to:s}:{}}}(t.signature),d=await Kc(e,{address:n,blockNumber:r,blockTag:o});if(d===Yn(["0xef0100",i.address]))return await async function(e,t){const{address:n,blockNumber:r,blockTag:o,hash:s,signature:a}=t,i=await He(e,rc,"readContract")({address:n,abi:Li,args:[s,a],blockNumber:r,blockTag:o,functionName:"isValidSignature"}).catch(e=>{if(e instanceof Jr)throw new Dd;throw e});if(i.startsWith("0x1626ba7e"))return!0;throw new Dd}(e,{address:n,blockNumber:r,blockTag:o,hash:s,signature:u});const f={address:i.address,chainId:Number(i.chainId),nonce:Number(i.nonce),r:Vt(i.r,{size:32}),s:Vt(i.s,{size:32}),yParity:i.yParity},h=await async function({address:e,authorization:t,signature:n}){return Ws(Gn(e),await Do({authorization:t,signature:n}))}({address:n,authorization:f});if(!h)throw new Dd;const p=await He(e,rc,"readContract")({...a?{address:a}:{code:Vi},authorizationList:[f],abi:Ci,blockNumber:r,blockTag:"pending",functionName:"aggregate3",args:[[...c?[{allowFailure:!0,target:l??n,callData:c}]:[],{allowFailure:!0,target:n,callData:gr({abi:Li,functionName:"isValidSignature",args:[s,u]})}]]}),m=p[p.length-1]?.returnData;if(m?.startsWith("0x1626ba7e"))return!0;throw new Dd}(e,{...t,multicallAddress:s,signature:a}):await async function(e,t){const{address:n,factory:r,factoryData:o,hash:s,signature:a,verifierAddress:i,...c}=t,u=await(async()=>r||o?Fd(a)?a:function(e){const{data:t,signature:n,to:r}=e;return fi(Zu(Ju("address, bytes, bytes"),[r,t,n]),Md)}({data:o,signature:a,to:r}):a)(),l=i?{to:i,data:gr({abi:ji,functionName:"isValidSig",args:[n,s,u]}),...c}:{data:Zi({abi:ji,args:[n,s,u],bytecode:qi}),...c},{data:d}=await He(e,tc,"call")(l).catch(e=>{if(e instanceof Kr)throw new Dd;throw e});if(function(e,t={}){let n=e;if(t.size&&(Ft(n,{size:t.size}),n=Mt(n)),"0x00"===Mt(n))return!1;if("0x01"===Mt(n))return!0;throw new Rt(n)}(d??"0x0"))return!0;throw new Dd}(e,{...t,verifierAddress:o,signature:a})}catch(e){try{if(Ws(Gn(n),await Mo({hash:r,signature:a})))return!0}catch{}if(e instanceof Dd)return!1;throw e}}class Dd extends Error{}function Gd(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:o,poll:s,pollingInterval:a=e.pollingInterval}){let i;return(void 0!==s?s:"webSocket"!==e.transport.type&&"ipc"!==e.transport.type&&("fallback"!==e.transport.type||"webSocket"!==e.transport.transports[0].config.type&&"ipc"!==e.transport.transports[0].config.type))?ic(_r(["watchBlockNumber",e.uid,t,n,a]),{onBlockNumber:r,onError:o},r=>uc(async()=>{try{const t=await He(e,hc,"getBlockNumber")({cacheTime:0});if(void 0!==i){if(t===i)return;if(t-i>1&&n)for(let e=i+1n;e<t;e++)r.onBlockNumber(e,i),i=e}(void 0===i||t>i)&&(r.onBlockNumber(t,i),i=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:a})):ic(_r(["watchBlockNumber",e.uid,t,n]),{onBlockNumber:r,onError:o},t=>{let n=!0,r=()=>n=!1;return(async()=>{try{const o=(()=>{if("fallback"===e.transport.type){const t=e.transport.transports.find(e=>"webSocket"===e.config.type||"ipc"===e.config.type);return t?t.value:e.transport}return e.transport})(),{unsubscribe:s}=await o.subscribe({params:["newHeads"],onData(e){if(!n)return;const r=Lt(e.result?.number);t.onBlockNumber(r,i),i=r},onError(e){t.onError?.(e)}});r=s,n||r()}catch(e){o?.(e)}})(),()=>r()})}const qd=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,Vd=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;async function Wd(e,t){const{address:n,domain:r,message:o,nonce:s,scheme:a,signature:i,time:c=new Date,...u}=t,l=function(e){const{scheme:t,statement:n,...r}=e.match(qd)?.groups??{},{chainId:o,expirationTime:s,issuedAt:a,notBefore:i,requestId:c,...u}=e.match(Vd)?.groups??{},l=e.split("Resources:")[1]?.split("\n- ").slice(1);return{...r,...u,...o?{chainId:Number(o)}:{},...s?{expirationTime:new Date(s)}:{},...a?{issuedAt:new Date(a)}:{},...i?{notBefore:new Date(i)}:{},...c?{requestId:c}:{},...l?{resources:l}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}(o);if(!l.address)return!1;const d=function(e){const{address:t,domain:n,message:r,nonce:o,scheme:s,time:a=new Date}=e;if(n&&r.domain!==n)return!1;if(o&&r.nonce!==o)return!1;if(s&&r.scheme!==s)return!1;if(r.expirationTime&&a>=r.expirationTime)return!1;if(r.notBefore&&a<r.notBefore)return!1;try{if(!r.address)return!1;if(!Wn(r.address,{strict:!1}))return!1;if(t&&!Ws(r.address,t))return!1}catch{return!1}return!0}({address:n,domain:r,message:l,nonce:s,scheme:a,time:c});if(!d)return!1;const f=du(o);return Ud(e,{address:l.address,hash:f,signature:i,...u})}function Hd(e){return{call:t=>tc(e,t),createAccessList:t=>Hc(e,t),createBlockFilter:()=>async function(e){const t=fr(e,{method:"eth_newBlockFilter"}),n=await e.request({method:"eth_newBlockFilter"});return{id:n,request:t(n),type:"block"}}(e),createContractEventFilter:t=>hr(e,t),createEventFilter:t=>Yc(e,t),createPendingTransactionFilter:()=>Zc(e),estimateContractGas:t=>async function(e,t){const{abi:n,address:r,args:o,functionName:s,dataSuffix:a,...i}=t,c=gr({abi:n,args:o,functionName:s});try{return await He(e,Vs,"estimateGas")({data:`${c}${a?a.replace("0x",""):""}`,to:r,...i})}catch(e){const t=i.account?pr(i.account):void 0;throw Ro(e,{abi:n,address:r,args:o,docsPath:"/docs/contract/estimateContractGas",functionName:s,sender:t?.address})}}(e,t),estimateGas:t=>Vs(e,t),getBalance:t=>async function(e,{address:t,blockNumber:n,blockTag:r=e.experimental_blockTag??"latest"}){const o="bigint"==typeof n?Vt(n):void 0,s=await e.request({method:"eth_getBalance",params:[t,o||r]});return BigInt(s)}(e,t),getBlobBaseFee:()=>async function(e){const t=await e.request({method:"eth_blobBaseFee"});return BigInt(t)}(e),getBlock:t=>ys(e,t),getBlockNumber:t=>hc(e,t),getBlockTransactionCount:t=>async function(e,{blockHash:t,blockNumber:n,blockTag:r="latest"}={}){const o=void 0!==n?Vt(n):void 0;let s;return s=t?await e.request({method:"eth_getBlockTransactionCountByHash",params:[t]},{dedupe:!0}):await e.request({method:"eth_getBlockTransactionCountByNumber",params:[o||r]},{dedupe:Boolean(o)}),jt(s)}(e,t),getBytecode:t=>Kc(e,t),getChainId:()=>Us(e),getCode:t=>Kc(e,t),getContractEvents:t=>Xs(e,t),getEip712Domain:t=>async function(e,t){const{address:n,factory:r,factoryData:o}=t;try{const[t,s,a,i,c,u,l]=await He(e,rc,"readContract")({abi:Qc,address:n,functionName:"eip712Domain",factory:r,factoryData:o});return{domain:{name:s,version:a,chainId:Number(i),verifyingContract:c,salt:u},extensions:l,fields:t}}catch(e){const t=e;if("ContractFunctionExecutionError"===t.name&&"ContractFunctionZeroDataError"===t.cause.name)throw new Jc({address:n});throw t}}(e,t),getEnsAddress:t=>async function(e,t){const{blockNumber:n,blockTag:r,coinType:o,name:s,gatewayUrls:a,strict:i}=t,{chain:c}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Ki({blockNumber:n,chain:c,contract:"ensUniversalResolver"})})(),l=c?.ensTlds;if(l&&!l.some(e=>s.endsWith(e)))return null;const d=null!=o?[Tc(s),BigInt(o)]:[Tc(s)];try{const t=gr({abi:Fi,functionName:"addr",args:d}),o={address:u,abi:Ri,functionName:"resolveWithGateways",args:[Dt(Cc(s)),t,a??[Ic]],blockNumber:n,blockTag:r},i=He(e,rc,"readContract"),c=await i(o);if("0x"===c[0])return null;const l=ta({abi:Fi,args:d,functionName:"addr",data:c[0]});return"0x"===l||"0x00"===Mt(l)?null:l}catch(e){if(i)throw e;if(Ec(e))return null;throw e}}(e,t),getEnsAvatar:t=>async function(e,{blockNumber:t,blockTag:n,assetGatewayUrls:r,name:o,gatewayUrls:s,strict:a,universalResolverAddress:i}){const c=await He(e,Wc,"getEnsText")({blockNumber:t,blockTag:n,key:"avatar",name:o,universalResolverAddress:i,gatewayUrls:s,strict:a});if(!c)return null;try{return await Vc(e,{record:c,gatewayUrls:r})}catch{return null}}(e,t),getEnsName:t=>async function(e,t){const{address:n,blockNumber:r,blockTag:o,coinType:s=60n,gatewayUrls:a,strict:i}=t,{chain:c}=e,u=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!c)throw new Error("client chain not configured. universalResolverAddress is required.");return Ki({blockNumber:r,chain:c,contract:"ensUniversalResolver"})})();try{const t={address:u,abi:zi,args:[n,s,a??[Ic]],functionName:"reverseWithGateways",blockNumber:r,blockTag:o},i=He(e,rc,"readContract"),[c]=await i(t);return c||null}catch(e){if(i)throw e;if(Ec(e))return null;throw e}}(e,t),getEnsResolver:t=>async function(e,t){const{blockNumber:n,blockTag:r,name:o}=t,{chain:s}=e,a=(()=>{if(t.universalResolverAddress)return t.universalResolverAddress;if(!s)throw new Error("client chain not configured. universalResolverAddress is required.");return Ki({blockNumber:n,chain:s,contract:"ensUniversalResolver"})})(),i=s?.ensTlds;if(i&&!i.some(e=>o.endsWith(e)))throw new Error(`${o} is not a valid ENS TLD (${i?.join(", ")}) for chain "${s.name}" (id: ${s.id}).`);const[c]=await He(e,rc,"readContract")({address:a,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"},{type:"uint256"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[Dt(Cc(o))],blockNumber:n,blockTag:r});return c}(e,t),getEnsText:t=>Wc(e,t),getFeeHistory:t=>Xc(e,t),estimateFeesPerGas:t=>async function(e,t){return xs(e,t)}(e,t),getFilterChanges:e=>pc(0,e),getFilterLogs:e=>async function(e,{filter:t}){const n=t.strict??!1,r=(await t.request({method:"eth_getFilterLogs",params:[t.id]})).map(e=>Js(e));return t.abi?Ks({abi:t.abi,logs:r,strict:n}):r}(0,e),getGasPrice:()=>ws(e),getLogs:t=>Qs(e,t),getProof:t=>yd(e,t),estimateMaxPriorityFeePerGas:t=>async function(e,t){return vs(e,t)}(e,t),getStorageAt:t=>async function(e,{address:t,blockNumber:n,blockTag:r="latest",slot:o}){const s=void 0!==n?Vt(n):void 0;return await e.request({method:"eth_getStorageAt",params:[t,o,s||r]})}(e,t),getTransaction:t=>wd(e,t),getTransactionConfirmations:t=>async function(e,{hash:t,transactionReceipt:n}){const[r,o]=await Promise.all([He(e,hc,"getBlockNumber")({}),t?He(e,wd,"getTransaction")({hash:t}):void 0]),s=n?.blockNumber||o?.blockNumber;return s?r-s+1n:0n}(e,t),getTransactionCount:t=>Es(e,t),getTransactionReceipt:t=>vd(e,t),multicall:t=>async function(e,t){const{account:n,authorizationList:r,allowFailure:o=!0,blockNumber:s,blockOverrides:a,blockTag:i,stateOverride:c}=t,u=t.contracts,{batchSize:l=t.batchSize??1024,deployless:d=t.deployless??!1}="object"==typeof e.batch?.multicall?e.batch.multicall:{},f=(()=>{if(t.multicallAddress)return t.multicallAddress;if(d)return null;if(e.chain)return Ki({blockNumber:s,chain:e.chain,contract:"multicall3"});throw new Error("client chain not configured. multicallAddress is required.")})(),h=[[]];let p=0,m=0;for(let e=0;e<u.length;e++){const{abi:t,address:r,args:s,functionName:a}=u[e];try{const e=gr({abi:t,args:s,functionName:a});m+=(e.length-2)/2,l>0&&m>l&&h[p].length>0&&(p++,m=(e.length-2)/2,h[p]=[]),h[p]=[...h[p],{allowFailure:!0,callData:e,target:r}]}catch(e){const i=Ro(e,{abi:t,address:r,args:s,docsPath:"/docs/contract/multicall",functionName:a,sender:n});if(!o)throw i;h[p]=[...h[p],{allowFailure:!0,callData:"0x",target:r}]}}const g=await Promise.allSettled(h.map(t=>He(e,rc,"readContract")({...null===f?{code:Vi}:{address:f},abi:Ci,account:n,args:[t],authorizationList:r,blockNumber:s,blockOverrides:a,blockTag:i,functionName:"aggregate3",stateOverride:c}))),b=[];for(let e=0;e<g.length;e++){const t=g[e];if("rejected"===t.status){if(!o)throw t.reason;for(let n=0;n<h[e].length;n++)b.push({status:"failure",error:t.reason,result:void 0});continue}const n=t.value;for(let t=0;t<n.length;t++){const{returnData:r,success:s}=n[t],{callData:a}=h[e][t],{abi:i,address:c,functionName:l,args:d}=u[b.length];try{if("0x"===a)throw new at;if(!s)throw new to({data:r});const e=ta({abi:i,args:d,data:r,functionName:l});b.push(o?{result:e,status:"success"}:e)}catch(e){const t=Ro(e,{abi:i,address:c,args:d,docsPath:"/docs/contract/multicall",functionName:l});if(!o)throw t;b.push({error:t,result:void 0,status:"failure"})}}}if(b.length!==u.length)throw new tt("multicall results mismatch");return b}(e,t),prepareTransactionRequest:t=>qs(e,t),readContract:t=>rc(e,t),sendRawTransaction:t=>async function(e,{serializedTransaction:t}){return e.request({method:"eth_sendRawTransaction",params:[t]},{retryCount:0})}(e,t),simulate:t=>xd(e,t),simulateBlocks:t=>xd(e,t),simulateCalls:t=>zd(e,t),simulateContract:t=>async function(e,t){const{abi:n,address:r,args:o,dataSuffix:s,functionName:a,...i}=t,c=i.account?pr(i.account):e.account,u=gr({abi:n,args:o,functionName:a});try{const{data:l}=await He(e,tc,"call")({batch:!1,data:`${u}${s?s.replace("0x",""):""}`,to:r,...i,account:c});return{result:ta({abi:n,args:o,functionName:a,data:l||"0x"}),request:{abi:n.filter(e=>"name"in e&&e.name===t.functionName),address:r,args:o,dataSuffix:s,functionName:a,...i,account:c}}}catch(e){throw Ro(e,{abi:n,address:r,args:o,docsPath:"/docs/contract/simulateContract",functionName:a,sender:c?.address})}}(e,t),verifyHash:t=>Ud(e,t),verifyMessage:t=>async function(e,{address:t,message:n,factory:r,factoryData:o,signature:s,...a}){return Ud(e,{address:t,factory:r,factoryData:o,hash:du(n),signature:s,...a})}(e,t),verifySiweMessage:t=>Wd(e,t),verifyTypedData:t=>async function(e,t){const{address:n,factory:r,factoryData:o,signature:s,message:a,primaryType:i,types:c,domain:u,...l}=t;return Ud(e,{address:n,factory:r,factoryData:o,hash:bu({message:a,primaryType:i,types:c,domain:u}),signature:s,...l})}(e,t),uninstallFilter:e=>mc(0,e),waitForTransactionReceipt:t=>async function(e,t){const{checkReplacement:n=!0,confirmations:r=1,hash:o,onReplaced:s,retryCount:a=6,retryDelay:i=({count:e})=>200*(1<<e),timeout:c=18e4}=t,u=_r(["waitForTransactionReceipt",e.uid,o]),l=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval;let d,f,h,p,m,g=!1;const{promise:b,resolve:y,reject:w}=Qi(),v=c?setTimeout(()=>{m?.(),p?.(),w(new Zr({hash:o}))},c):void 0;return p=ic(u,{onReplaced:s,resolve:y,reject:w},async t=>{if(h=await He(e,vd,"getTransactionReceipt")({hash:o}).catch(()=>{}),h&&r<=1)return clearTimeout(v),t.resolve(h),void p?.();m=He(e,Gd,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:l,async onBlockNumber(s){const c=e=>{clearTimeout(v),m?.(),e(),p?.()};let u=s;if(!g)try{if(h){if(r>1&&(!h.blockNumber||u-h.blockNumber+1n<r))return;return void c(()=>t.resolve(h))}if(n&&!d&&(g=!0,await gc(async()=>{d=await He(e,wd,"getTransaction")({hash:o}),d.blockNumber&&(u=d.blockNumber)},{delay:i,retryCount:a}),g=!1),h=await He(e,vd,"getTransactionReceipt")({hash:o}),r>1&&(!h.blockNumber||u-h.blockNumber+1n<r))return;c(()=>t.resolve(h))}catch(n){if(n instanceof Hr||n instanceof Yr){if(!d)return void(g=!1);try{f=d,g=!0;const n=await gc(()=>He(e,ys,"getBlock")({blockNumber:u,includeTransactions:!0}),{delay:i,retryCount:a,shouldRetry:({error:e})=>e instanceof ps});g=!1;const o=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!o)return;if(h=await He(e,vd,"getTransactionReceipt")({hash:o.hash}),r>1&&(!h.blockNumber||u-h.blockNumber+1n<r))return;let s="replaced";o.to===f.to&&o.value===f.value&&o.input===f.input?s="repriced":o.from===o.to&&0n===o.value&&(s="cancelled"),c(()=>{t.onReplaced?.({reason:s,replacedTransaction:f,transaction:o,transactionReceipt:h}),t.resolve(h)})}catch(e){c(()=>t.reject(e))}}else c(()=>t.reject(n))}}})}),b}(e,t),watchBlocks:t=>function(e,{blockTag:t=e.experimental_blockTag??"latest",emitMissed:n=!1,emitOnBegin:r=!1,onBlock:o,onError:s,includeTransactions:a,poll:i,pollingInterval:c=e.pollingInterval}){const u=void 0!==i?i:"webSocket"!==e.transport.type&&"ipc"!==e.transport.type&&("fallback"!==e.transport.type||"webSocket"!==e.transport.transports[0].config.type&&"ipc"!==e.transport.transports[0].config.type),l=a??!1;let d;return u?ic(_r(["watchBlocks",e.uid,t,n,r,l,c]),{onBlock:o,onError:s},o=>uc(async()=>{try{const r=await He(e,ys,"getBlock")({blockTag:t,includeTransactions:l});if(null!==r.number&&null!=d?.number){if(r.number===d.number)return;if(r.number-d.number>1&&n)for(let t=d?.number+1n;t<r.number;t++){const n=await He(e,ys,"getBlock")({blockNumber:t,includeTransactions:l});o.onBlock(n,d),d=n}}(null==d?.number||"pending"===t&&null==r?.number||null!==r.number&&r.number>d.number)&&(o.onBlock(r,d),d=r)}catch(e){o.onError?.(e)}},{emitOnBegin:r,interval:c})):(()=>{let n=!0,a=!0,i=()=>n=!1;return(async()=>{try{r&&He(e,ys,"getBlock")({blockTag:t,includeTransactions:l}).then(e=>{n&&a&&(o(e,void 0),a=!1)}).catch(s);const c=(()=>{if("fallback"===e.transport.type){const t=e.transport.transports.find(e=>"webSocket"===e.config.type||"ipc"===e.config.type);return t?t.value:e.transport}return e.transport})(),{unsubscribe:u}=await c.subscribe({params:["newHeads"],async onData(t){if(!n)return;const r=await He(e,ys,"getBlock")({blockNumber:t.result?.number,includeTransactions:l}).catch(()=>{});n&&(o(r,d),a=!1,d=r)},onError(e){s?.(e)}});i=u,n||i()}catch(e){s?.(e)}})(),()=>i()})()}(e,t),watchBlockNumber:t=>Gd(e,t),watchContractEvent:t=>function(e,t){const{abi:n,address:r,args:o,batch:s=!0,eventName:a,fromBlock:i,onError:c,onLogs:u,poll:l,pollingInterval:d=e.pollingInterval,strict:f}=t;return(void 0!==l?l:"bigint"==typeof i||"webSocket"!==e.transport.type&&"ipc"!==e.transport.type&&("fallback"!==e.transport.type||"webSocket"!==e.transport.transports[0].config.type&&"ipc"!==e.transport.transports[0].config.type))?(()=>{const t=f??!1;return ic(_r(["watchContractEvent",r,o,s,e.uid,a,d,t,i]),{onLogs:u,onError:c},c=>{let u,l;void 0!==i&&(u=i-1n);let f=!1;const h=uc(async()=>{if(f)try{let i;if(l)i=await He(e,pc,"getFilterChanges")({filter:l});else{const s=await He(e,hc,"getBlockNumber")({});i=u&&u<s?await He(e,Xs,"getContractEvents")({abi:n,address:r,args:o,eventName:a,fromBlock:u+1n,toBlock:s,strict:t}):[],u=s}if(0===i.length)return;if(s)c.onLogs(i);else for(const e of i)c.onLogs([e])}catch(e){l&&e instanceof ho&&(f=!1),c.onError?.(e)}else{try{l=await He(e,hr,"createContractEventFilter")({abi:n,address:r,args:o,eventName:a,strict:t,fromBlock:i})}catch{}f=!0}},{emitOnBegin:!0,interval:d});return async()=>{l&&await He(e,mc,"uninstallFilter")({filter:l}),h()}})})():(()=>{const t=f??!1,i=_r(["watchContractEvent",r,o,s,e.uid,a,d,t]);let l=!0,h=()=>l=!1;return ic(i,{onLogs:u,onError:c},t=>((async()=>{try{const s=(()=>{if("fallback"===e.transport.type){const t=e.transport.transports.find(e=>"webSocket"===e.config.type||"ipc"===e.config.type);return t?t.value:e.transport}return e.transport})(),i=a?lr({abi:n,eventName:a,args:o}):[],{unsubscribe:c}=await s.subscribe({params:["logs",{address:r,topics:i}],onData(e){if(!l)return;const r=e.result;try{const{eventName:e,args:o}=Ys({abi:n,data:r.data,topics:r.topics,strict:f}),s=Js(r,{args:o,eventName:e});t.onLogs([s])}catch(e){let n,o;if(e instanceof xt||e instanceof Et){if(f)return;n=e.abiItem.name,o=e.abiItem.inputs?.some(e=>!("name"in e&&e.name))}const s=Js(r,{args:o?[]:{},eventName:n});t.onLogs([s])}},onError(e){t.onError?.(e)}});h=c,l||h()}catch(e){c?.(e)}})(),()=>h()))})()}(e,t),watchEvent:t=>function(e,{address:t,args:n,batch:r=!0,event:o,events:s,fromBlock:a,onError:i,onLogs:c,poll:u,pollingInterval:l=e.pollingInterval,strict:d}){const f=void 0!==u?u:"bigint"==typeof a||"webSocket"!==e.transport.type&&"ipc"!==e.transport.type&&("fallback"!==e.transport.type||"webSocket"!==e.transport.transports[0].config.type&&"ipc"!==e.transport.transports[0].config.type),h=d??!1;return f?ic(_r(["watchEvent",t,n,r,e.uid,o,l,a]),{onLogs:c,onError:i},i=>{let c,u;void 0!==a&&(c=a-1n);let d=!1;const f=uc(async()=>{if(d)try{let a;if(u)a=await He(e,pc,"getFilterChanges")({filter:u});else{const r=await He(e,hc,"getBlockNumber")({});a=c&&c!==r?await He(e,Qs,"getLogs")({address:t,args:n,event:o,events:s,fromBlock:c+1n,toBlock:r}):[],c=r}if(0===a.length)return;if(r)i.onLogs(a);else for(const e of a)i.onLogs([e])}catch(e){u&&e instanceof ho&&(d=!1),i.onError?.(e)}else{try{u=await He(e,Yc,"createEventFilter")({address:t,args:n,event:o,events:s,strict:h,fromBlock:a})}catch{}d=!0}},{emitOnBegin:!0,interval:l});return async()=>{u&&await He(e,mc,"uninstallFilter")({filter:u}),f()}}):(()=>{let r=!0,a=()=>r=!1;return(async()=>{try{const u=(()=>{if("fallback"===e.transport.type){const t=e.transport.transports.find(e=>"webSocket"===e.config.type||"ipc"===e.config.type);return t?t.value:e.transport}return e.transport})(),l=s??(o?[o]:void 0);let f=[];if(l){const e=l.flatMap(e=>lr({abi:[e],eventName:e.name,args:n}));f=[e],o&&(f=f[0])}const{unsubscribe:p}=await u.subscribe({params:["logs",{address:t,topics:f}],onData(e){if(!r)return;const t=e.result;try{const{eventName:e,args:n}=Ys({abi:l??[],data:t.data,topics:t.topics,strict:h}),r=Js(t,{args:n,eventName:e});c([r])}catch(e){let n,r;if(e instanceof xt||e instanceof Et){if(d)return;n=e.abiItem.name,r=e.abiItem.inputs?.some(e=>!("name"in e&&e.name))}const o=Js(t,{args:r?[]:{},eventName:n});c([o])}},onError(e){i?.(e)}});a=p,r||a()}catch(e){i?.(e)}})(),()=>a()})()}(e,t),watchPendingTransactions:t=>function(e,{batch:t=!0,onError:n,onTransactions:r,poll:o,pollingInterval:s=e.pollingInterval}){return(void 0!==o?o:"webSocket"!==e.transport.type&&"ipc"!==e.transport.type)?ic(_r(["watchPendingTransactions",e.uid,t,s]),{onTransactions:r,onError:n},n=>{let r;const o=uc(async()=>{try{if(!r)try{return void(r=await He(e,Zc,"createPendingTransactionFilter")({}))}catch(e){throw o(),e}const s=await He(e,pc,"getFilterChanges")({filter:r});if(0===s.length)return;if(t)n.onTransactions(s);else for(const e of s)n.onTransactions([e])}catch(e){n.onError?.(e)}},{emitOnBegin:!0,interval:s});return async()=>{r&&await He(e,mc,"uninstallFilter")({filter:r}),o()}}):(()=>{let t=!0,o=()=>t=!1;return(async()=>{try{const{unsubscribe:s}=await e.transport.subscribe({params:["newPendingTransactions"],onData(e){if(!t)return;const n=e.result;r([n])},onError(e){n?.(e)}});o=s,t||o()}catch(e){n?.(e)}})(),()=>o()})()}(e,t)}}function Yd(e){const{key:t="public",name:n="Public Client"}=e,r=function(e){const{batch:t,chain:n,ccipRead:r,key:o="base",name:s="Base Client",type:a="base"}=e,i=e.experimental_blockTag??("number"==typeof n?.experimental_preconfirmationTime?"pending":void 0),c=n?.blockTime??12e3,u=Math.min(Math.max(Math.floor(c/2),500),4e3),l=e.pollingInterval??u,d=e.cacheTime??l,f=e.account?pr(e.account):void 0,{config:h,request:p,value:m}=e.transport({chain:n,pollingInterval:l}),g={account:f,batch:t,cacheTime:d,ccipRead:r,chain:n,key:o,name:s,pollingInterval:l,request:p,transport:{...h,...m},type:a,uid:xc(),...i?{experimental_blockTag:i}:{}};return Object.assign(g,{extend:function e(t){return n=>{const r=n(t);for(const e in g)delete r[e];const o={...t,...r};return Object.assign(o,{extend:e(o)})}}(g)})}({...e,key:t,name:n,type:"publicClient"});return r.extend(Hd)}class Zd extends tt{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function Kd(e,t={}){const{batch:n,fetchFn:r,fetchOptions:o,key:s="http",methods:a,name:i="HTTP JSON-RPC",onFetchRequest:c,onFetchResponse:u,retryDelay:l,raw:d}=t;return({chain:f,retryCount:h,timeout:p})=>{const{batchSize:m=1e3,wait:g=0}="object"==typeof n?n:{},b=t.retryCount??h,y=p??t.timeout??1e4,w=e||f?.rpcUrls.default.http[0];if(!w)throw new Zd;const v=lu(w,{fetchFn:r,fetchOptions:o,onRequest:c,onResponse:u,timeout:y});return function({key:e,methods:t,name:n,request:r,retryCount:o=3,retryDelay:s=150,timeout:a,type:i},c){return{config:{key:e,methods:t,name:n,request:r,retryCount:o,retryDelay:s,timeout:a,type:i},request:tu(r,{methods:t,retryCount:o,retryDelay:s,uid:xc()}),value:c}}({key:s,methods:a,name:i,async request({method:e,params:t}){const r={method:e,params:t},{schedule:o}=ec({id:w,wait:g,shouldSplitBatch:e=>e.length>m,fn:e=>v.request({body:e}),sort:(e,t)=>e.id-t.id}),[{error:s,result:a}]=await(async e=>n?o(e):[await v.request({body:e})])(r);if(d)return{error:s,result:a};if(s)throw new ro({body:r,error:s,url:w});return a},retryCount:b,retryDelay:l,timeout:y,type:"http"},{fetchOptions:o,url:w})}}function Jd(e,t,n){for(let n in t){let r=t[n];Object.defineProperty(e,n,{enumerable:!0,value:r,writable:!1})}}function Qd(e,t){if(null==e)return"null";if(null==t&&(t=new Set),"object"==typeof e){if(t.has(e))return"[Circular]";t.add(e)}if(Array.isArray(e))return"[ "+e.map(e=>Qd(e,t)).join(", ")+" ]";if(e instanceof Uint8Array){const t="0123456789abcdef";let n="0x";for(let r=0;r<e.length;r++)n+=t[e[r]>>4],n+=t[15&e[r]];return n}if("object"==typeof e&&"function"==typeof e.toJSON)return Qd(e.toJSON(),t);switch(typeof e){case"boolean":case"number":case"symbol":return e.toString();case"bigint":return BigInt(e).toString();case"string":return JSON.stringify(e);case"object":{const n=Object.keys(e);return n.sort(),"{ "+n.map(n=>`${Qd(n,t)}: ${Qd(e[n],t)}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function Xd(e,t,n,r){if(!e)throw function(e,t,n){let r,o=e;{const r=[];if(n){if("message"in n||"code"in n||"name"in n)throw new Error(`value will overwrite populated values: ${Qd(n)}`);for(const e in n){if("shortMessage"===e)continue;const t=n[e];r.push(e+"="+Qd(t))}}r.push(`code=${t}`),r.push("version=6.15.0"),r.length&&(e+=" ("+r.join(", ")+")")}switch(t){case"INVALID_ARGUMENT":r=new TypeError(e);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":r=new RangeError(e);break;default:r=new Error(e)}return Jd(r,{code:t}),n&&Object.assign(r,n),null==r.shortMessage&&Jd(r,{shortMessage:o}),r}(t,n,r)}function ef(e,t,n,r){Xd(e,t,"INVALID_ARGUMENT",{argument:n,value:r})}function tf(e,t){return function(e,t){if(e instanceof Uint8Array)return e;if("string"==typeof e&&e.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){const t=new Uint8Array((e.length-2)/2);let n=2;for(let r=0;r<t.length;r++)t[r]=parseInt(e.substring(n,n+2),16),n+=2;return t}ef(!1,"invalid BytesLike value",t,e)}(e,t)}["NFD","NFC","NFKD","NFKC"].reduce((e,t)=>{try{if("test"!=="test".normalize(t))throw new Error("bad");if("NFD"===t){const e=String.fromCharCode(233).normalize("NFD");if(e!==String.fromCharCode(101,769))throw new Error("broken")}e.push(t)}catch(e){}return e},[]);const nf=BigInt(0),rf=BigInt(1),of=9007199254740991;function sf(e,t){const n=uf(e,"value"),r=BigInt(df(t,"width"));if(Xd(n>>r===nf,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:e}),n>>r-rf){return-((~n&(rf<<r)-rf)+rf)}return n}function af(e,t){const n=uf(e,"value"),r=BigInt(df(t,"bits"));return n&(rf<<r)-rf}function cf(e,t){switch(typeof e){case"bigint":return e;case"number":return ef(Number.isInteger(e),"underflow",t||"value",e),ef(e>=-of&&e<=of,"overflow",t||"value",e),BigInt(e);case"string":try{if(""===e)throw new Error("empty string");return"-"===e[0]&&"-"!==e[1]?-BigInt(e.substring(1)):BigInt(e)}catch(n){ef(!1,`invalid BigNumberish string: ${n.message}`,t||"value",e)}}ef(!1,"invalid BigNumberish value",t||"value",e)}function uf(e,t){const n=cf(e,t);return Xd(n>=nf,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:e}),n}const lf="0123456789abcdef";function df(e,t){switch(typeof e){case"bigint":return ef(e>=-of&&e<=of,"overflow",t||"value",e),Number(e);case"number":return ef(Number.isInteger(e),"underflow",t||"value",e),ef(e>=-of&&e<=of,"overflow",t||"value",e),e;case"string":try{if(""===e)throw new Error("empty string");return df(BigInt(e),t)}catch(n){ef(!1,`invalid numeric string: ${n.message}`,t||"value",e)}}ef(!1,"invalid numeric value",t||"value",e)}const ff=BigInt(-1),hf=BigInt(0),pf=BigInt(1),mf=BigInt(5),gf={};let bf="0000";for(;bf.length<80;)bf+=bf;function yf(e){let t=bf;for(;t.length<e;)t+=t;return BigInt("1"+t.substring(0,e))}function wf(e,t,n){const r=BigInt(t.width);if(t.signed){const t=pf<<r-pf;Xd(null==n||e>=-t&&e<t,"overflow","NUMERIC_FAULT",{operation:n,fault:"overflow",value:e}),e=e>hf?sf(af(e,r),r):-sf(af(-e,r),r)}else{const t=pf<<r;Xd(null==n||e>=0&&e<t,"overflow","NUMERIC_FAULT",{operation:n,fault:"overflow",value:e}),e=(e%t+t)%t&t-pf}return e}function vf(e){"number"==typeof e&&(e=`fixed128x${e}`);let t=!0,n=128,r=18;if("string"==typeof e)if("fixed"===e);else if("ufixed"===e)t=!1;else{const o=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);ef(o,"invalid fixed format","format",e),t="u"!==o[1],n=parseInt(o[2]),r=parseInt(o[3])}else if(e){const o=e,s=(e,t,n)=>null==o[e]?n:(ef(typeof o[e]===t,"invalid fixed format ("+e+" not "+t+")","format."+e,o[e]),o[e]);t=s("signed","boolean",t),n=s("width","number",n),r=s("decimals","number",r)}ef(n%8==0,"invalid FixedNumber width (not byte aligned)","format.width",n),ef(r<=80,"invalid FixedNumber decimals (too large)","format.decimals",r);return{signed:t,width:n,decimals:r,name:(t?"":"u")+"fixed"+String(n)+"x"+String(r)}}class xf{format;#e;#t;#n;_value;constructor(e,t,n){!function(e,t,n){if(e!==t){let e=n,t="new";e+=".",t+=" "+n,Xd(!1,`private constructor; use ${e}from* methods`,"UNSUPPORTED_OPERATION",{operation:t})}}(e,gf,"FixedNumber"),this.#t=t,this.#e=n;const r=function(e,t){let n="";e<hf&&(n="-",e*=ff);let r=e.toString();if(0===t)return n+r;for(;r.length<=t;)r=bf+r;const o=r.length-t;for(r=r.substring(0,o)+"."+r.substring(o);"0"===r[0]&&"."!==r[1];)r=r.substring(1);for(;"0"===r[r.length-1]&&"."!==r[r.length-2];)r=r.substring(0,r.length-1);return n+r}(t,n.decimals);Jd(this,{format:n.name,_value:r}),this.#n=yf(n.decimals)}get signed(){return this.#e.signed}get width(){return this.#e.width}get decimals(){return this.#e.decimals}get value(){return this.#t}#r(e){ef(this.format===e.format,"incompatible format; use fixedNumber.toFormat","other",e)}#o(e,t){return e=wf(e,this.#e,t),new xf(gf,e,this.#e)}#s(e,t){return this.#r(e),this.#o(this.#t+e.#t,t)}addUnsafe(e){return this.#s(e)}add(e){return this.#s(e,"add")}#a(e,t){return this.#r(e),this.#o(this.#t-e.#t,t)}subUnsafe(e){return this.#a(e)}sub(e){return this.#a(e,"sub")}#i(e,t){return this.#r(e),this.#o(this.#t*e.#t/this.#n,t)}mulUnsafe(e){return this.#i(e)}mul(e){return this.#i(e,"mul")}mulSignal(e){this.#r(e);const t=this.#t*e.#t;return Xd(t%this.#n===hf,"precision lost during signalling mul","NUMERIC_FAULT",{operation:"mulSignal",fault:"underflow",value:this}),this.#o(t/this.#n,"mulSignal")}#c(e,t){return Xd(e.#t!==hf,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#r(e),this.#o(this.#t*this.#n/e.#t,t)}divUnsafe(e){return this.#c(e)}div(e){return this.#c(e,"div")}divSignal(e){Xd(e.#t!==hf,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#r(e);const t=this.#t*this.#n;return Xd(t%e.#t===hf,"precision lost during signalling div","NUMERIC_FAULT",{operation:"divSignal",fault:"underflow",value:this}),this.#o(t/e.#t,"divSignal")}cmp(e){let t=this.value,n=e.value;const r=this.decimals-e.decimals;return r>0?n*=yf(r):r<0&&(t*=yf(-r)),t<n?-1:t>n?1:0}eq(e){return 0===this.cmp(e)}lt(e){return this.cmp(e)<0}lte(e){return this.cmp(e)<=0}gt(e){return this.cmp(e)>0}gte(e){return this.cmp(e)>=0}floor(){let e=this.#t;return this.#t<hf&&(e-=this.#n-pf),e=this.#t/this.#n*this.#n,this.#o(e,"floor")}ceiling(){let e=this.#t;return this.#t>hf&&(e+=this.#n-pf),e=this.#t/this.#n*this.#n,this.#o(e,"ceiling")}round(e){if(null==e&&(e=0),e>=this.decimals)return this;const t=this.decimals-e,n=mf*yf(t-1);let r=this.value+n;const o=yf(t);return r=r/o*o,wf(r,this.#e,"round"),new xf(gf,r,this.#e)}isZero(){return this.#t===hf}isNegative(){return this.#t<hf}toString(){return this._value}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return xf.fromString(this.toString(),e)}static fromValue(e,t,n){const r=null==t?0:df(t),o=vf(n);let s=cf(e,"value");const a=r-o.decimals;if(a>0){const t=yf(a);Xd(s%t===hf,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:e}),s/=t}else a<0&&(s*=yf(-a));return wf(s,o,"fromValue"),new xf(gf,s,o)}static fromString(e,t){const n=e.match(/^(-?)([0-9]*)\.?([0-9]*)$/);ef(n&&n[2].length+n[3].length>0,"invalid FixedNumber string value","value",e);const r=vf(t);let o=n[2]||"0",s=n[3]||"";for(;s.length<r.decimals;)s+=bf;Xd(s.substring(r.decimals).match(/^0*$/),"too many decimals for format","NUMERIC_FAULT",{operation:"fromString",fault:"underflow",value:e}),s=s.substring(0,r.decimals);const a=BigInt(n[1]+o+s);return wf(a,r,"fromString"),new xf(gf,a,r)}static fromBytes(e,t){let n=function(e){if(e instanceof Uint8Array){let t="0x0";for(const n of e)t+=lf[n>>4],t+=lf[15&n];return BigInt(t)}return cf(e)}(tf(e,"value"));const r=vf(t);return r.signed&&(n=sf(n,r.width)),wf(n,r,"fromBytes"),new xf(gf,n,r)}}function Ef(e){return function(e,t){let n=18;return n=df(t,"unit"),xf.fromValue(e,n,{decimals:n,width:512}).toString()}(e,18)}const Pf="0.38.13";function kf({projectId:e,originComponentName:t,...n}){const r=new URL("https://pay.coinbase.com/buy");void 0!==e&&r.searchParams.append("appId",e);for(const e of Object.keys(n)){const t=n[e];void 0!==t&&(["string","number","boolean"].includes(typeof t)?r.searchParams.append(e,t.toString()):r.searchParams.append(e,JSON.stringify(t)))}return t?r.searchParams.append("sdkVersion",`onchainkit@${Pf}:${t}`):r.searchParams.append("sdkVersion",`onchainkit@${Pf}`),r.searchParams.sort(),r.toString()}var Af=[],If=[],Sf="undefined"!=typeof Uint8Array?Uint8Array:Array,Nf=!1;function Tf(){Nf=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)Af[t]=e[t],If[e.charCodeAt(t)]=t;If["-".charCodeAt(0)]=62,If["_".charCodeAt(0)]=63}function $f(e){return Af[e>>18&63]+Af[e>>12&63]+Af[e>>6&63]+Af[63&e]}function Bf(e,t,n){for(var r,o=[],s=t;s<n;s+=3)r=(e[s]<<16)+(e[s+1]<<8)+e[s+2],o.push($f(r));return o.join("")}function Cf(e){var t;Nf||Tf();for(var n=e.length,r=n%3,o="",s=[],a=16383,i=0,c=n-r;i<c;i+=a)s.push(Bf(e,i,i+a>c?c:i+a));return 1===r?(t=e[n-1],o+=Af[t>>2],o+=Af[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=Af[t>>10],o+=Af[t>>4&63],o+=Af[t<<2&63],o+="="),s.push(o),s.join("")}function Of(e,t,n,r,o){var s,a,i=8*o-r-1,c=(1<<i)-1,u=c>>1,l=-7,d=n?o-1:0,f=n?-1:1,h=e[t+d];for(d+=f,s=h&(1<<-l)-1,h>>=-l,l+=i;l>0;s=256*s+e[t+d],d+=f,l-=8);for(a=s&(1<<-l)-1,s>>=-l,l+=r;l>0;a=256*a+e[t+d],d+=f,l-=8);if(0===s)s=1-u;else{if(s===c)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,r),s-=u}return(h?-1:1)*a*Math.pow(2,s-r)}function _f(e,t,n,r,o,s){var a,i,c,u=8*s-o-1,l=(1<<u)-1,d=l>>1,f=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:s-1,p=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+d>=1?f/c:f*Math.pow(2,1-d))*c>=2&&(a++,c/=2),a+d>=l?(i=0,a=l):a+d>=1?(i=(t*c-1)*Math.pow(2,o),a+=d):(i=t*Math.pow(2,d-1)*Math.pow(2,o),a=0));o>=8;e[n+h]=255&i,h+=p,i/=256,o-=8);for(a=a<<o|i,u+=o;u>0;e[n+h]=255&a,h+=p,a/=256,u-=8);e[n+h-p]|=128*m}var Rf={}.toString,zf=Array.isArray||function(e){return"[object Array]"==Rf.call(e)};function Mf(){return Lf.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Ff(e,t){if(Mf()<t)throw new RangeError("Invalid typed array length");return Lf.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=Lf.prototype:(null===e&&(e=new Lf(t)),e.length=t),e}function Lf(e,t,n){if(!(Lf.TYPED_ARRAY_SUPPORT||this instanceof Lf))return new Lf(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return Df(this,e)}return jf(this,e,t,n)}function jf(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);Lf.TYPED_ARRAY_SUPPORT?(e=t).__proto__=Lf.prototype:e=Gf(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!Lf.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|Wf(t,n);e=Ff(e,r);var o=e.write(t,n);o!==r&&(e=e.slice(0,o));return e}(e,t,n):function(e,t){if(Vf(t)){var n=0|qf(t.length);return 0===(e=Ff(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?Ff(e,0):Gf(e,t);if("Buffer"===t.type&&zf(t.data))return Gf(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function Uf(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function Df(e,t){if(Uf(t),e=Ff(e,t<0?0:0|qf(t)),!Lf.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function Gf(e,t){var n=t.length<0?0:0|qf(t.length);e=Ff(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function qf(e){if(e>=Mf())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Mf().toString(16)+" bytes");return 0|e}function Vf(e){return!(null==e||!e._isBuffer)}function Wf(e,t){if(Vf(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return wh(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return vh(e).length;default:if(r)return wh(e).length;t=(""+t).toLowerCase(),r=!0}}function Hf(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return ch(this,t,n);case"utf8":case"utf-8":return oh(this,t,n);case"ascii":return ah(this,t,n);case"latin1":case"binary":return ih(this,t,n);case"base64":return rh(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return uh(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function Yf(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function Zf(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=Lf.from(t,r)),Vf(t))return 0===t.length?-1:Kf(e,t,n,r,o);if("number"==typeof t)return t&=255,Lf.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):Kf(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function Kf(e,t,n,r,o){var s,a=1,i=e.length,c=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,i/=2,c/=2,n/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(o){var l=-1;for(s=n;s<i;s++)if(u(e,s)===u(t,-1===l?0:s-l)){if(-1===l&&(l=s),s-l+1===c)return l*a}else-1!==l&&(s-=s-l),l=-1}else for(n+c>i&&(n=i-c),s=n;s>=0;s--){for(var d=!0,f=0;f<c;f++)if(u(e,s+f)!==u(t,f)){d=!1;break}if(d)return s}return-1}function Jf(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r))>o&&(r=o):r=o;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var a=0;a<r;++a){var i=parseInt(t.substr(2*a,2),16);if(isNaN(i))return a;e[n+a]=i}return a}function Qf(e,t,n,r){return xh(wh(t,e.length-n),e,n,r)}function Xf(e,t,n,r){return xh(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function eh(e,t,n,r){return Xf(e,t,n,r)}function th(e,t,n,r){return xh(vh(t),e,n,r)}function nh(e,t,n,r){return xh(function(e,t){for(var n,r,o,s=[],a=0;a<e.length&&!((t-=2)<0);++a)r=(n=e.charCodeAt(a))>>8,o=n%256,s.push(o),s.push(r);return s}(t,e.length-n),e,n,r)}function rh(e,t,n){return 0===t&&n===e.length?Cf(e):Cf(e.slice(t,n))}function oh(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var s,a,i,c,u=e[o],l=null,d=u>239?4:u>223?3:u>191?2:1;if(o+d<=n)switch(d){case 1:u<128&&(l=u);break;case 2:128==(192&(s=e[o+1]))&&(c=(31&u)<<6|63&s)>127&&(l=c);break;case 3:s=e[o+1],a=e[o+2],128==(192&s)&&128==(192&a)&&(c=(15&u)<<12|(63&s)<<6|63&a)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:s=e[o+1],a=e[o+2],i=e[o+3],128==(192&s)&&128==(192&a)&&128==(192&i)&&(c=(15&u)<<18|(63&s)<<12|(63&a)<<6|63&i)>65535&&c<1114112&&(l=c)}null===l?(l=65533,d=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=d}return function(e){var t=e.length;if(t<=sh)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=sh));return n}(r)}Lf.TYPED_ARRAY_SUPPORT=void 0===globalThis.TYPED_ARRAY_SUPPORT||globalThis.TYPED_ARRAY_SUPPORT,Mf(),Lf.poolSize=8192,Lf._augment=function(e){return e.__proto__=Lf.prototype,e},Lf.from=function(e,t,n){return jf(null,e,t,n)},Lf.TYPED_ARRAY_SUPPORT&&(Lf.prototype.__proto__=Uint8Array.prototype,Lf.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&Lf[Symbol.species]),Lf.alloc=function(e,t,n){return function(e,t,n,r){return Uf(t),t<=0?Ff(e,t):void 0!==n?"string"==typeof r?Ff(e,t).fill(n,r):Ff(e,t).fill(n):Ff(e,t)}(null,e,t,n)},Lf.allocUnsafe=function(e){return Df(null,e)},Lf.allocUnsafeSlow=function(e){return Df(null,e)},Lf.isBuffer=function(e){return null!=e&&(!!e._isBuffer||Eh(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Eh(e.slice(0,0))}(e))},Lf.compare=function(e,t){if(!Vf(e)||!Vf(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,s=Math.min(n,r);o<s;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},Lf.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}},Lf.concat=function(e,t){if(!zf(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Lf.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=Lf.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var s=e[n];if(!Vf(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,o),o+=s.length}return r},Lf.byteLength=Wf,Lf.prototype._isBuffer=!0,Lf.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)Yf(this,t,t+1);return this},Lf.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)Yf(this,t,t+3),Yf(this,t+1,t+2);return this},Lf.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)Yf(this,t,t+7),Yf(this,t+1,t+6),Yf(this,t+2,t+5),Yf(this,t+3,t+4);return this},Lf.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?oh(this,0,e):Hf.apply(this,arguments)},Lf.prototype.equals=function(e){if(!Vf(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Lf.compare(this,e)},Lf.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},Lf.prototype.compare=function(e,t,n,r,o){if(!Vf(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(o>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),i=Math.min(s,a),c=this.slice(r,o),u=e.slice(t,n),l=0;l<i;++l)if(c[l]!==u[l]){s=c[l],a=u[l];break}return s<a?-1:a<s?1:0},Lf.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},Lf.prototype.indexOf=function(e,t,n){return Zf(this,e,t,n,!0)},Lf.prototype.lastIndexOf=function(e,t,n){return Zf(this,e,t,n,!1)},Lf.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var o=this.length-t;if((void 0===n||n>o)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return Jf(this,e,t,n);case"utf8":case"utf-8":return Qf(this,e,t,n);case"ascii":return Xf(this,e,t,n);case"latin1":case"binary":return eh(this,e,t,n);case"base64":return th(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return nh(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},Lf.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var sh=4096;function ah(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(127&e[o]);return r}function ih(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(e[o]);return r}function ch(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",s=t;s<n;++s)o+=yh(e[s]);return o}function uh(e,t,n){for(var r=e.slice(t,n),o="",s=0;s<r.length;s+=2)o+=String.fromCharCode(r[s]+256*r[s+1]);return o}function lh(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function dh(e,t,n,r,o,s){if(!Vf(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<s)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function fh(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,s=Math.min(e.length-n,2);o<s;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function hh(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,s=Math.min(e.length-n,4);o<s;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function ph(e,t,n,r,o,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function mh(e,t,n,r,o){return o||ph(e,0,n,4),_f(e,t,n,r,23,4),n+4}function gh(e,t,n,r,o){return o||ph(e,0,n,8),_f(e,t,n,r,52,8),n+8}Lf.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),Lf.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=Lf.prototype;else{var o=t-e;n=new Lf(o,void 0);for(var s=0;s<o;++s)n[s]=this[s+e]}return n},Lf.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||lh(e,t,this.length);for(var r=this[e],o=1,s=0;++s<t&&(o*=256);)r+=this[e+s]*o;return r},Lf.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||lh(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},Lf.prototype.readUInt8=function(e,t){return t||lh(e,1,this.length),this[e]},Lf.prototype.readUInt16LE=function(e,t){return t||lh(e,2,this.length),this[e]|this[e+1]<<8},Lf.prototype.readUInt16BE=function(e,t){return t||lh(e,2,this.length),this[e]<<8|this[e+1]},Lf.prototype.readUInt32LE=function(e,t){return t||lh(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Lf.prototype.readUInt32BE=function(e,t){return t||lh(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Lf.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||lh(e,t,this.length);for(var r=this[e],o=1,s=0;++s<t&&(o*=256);)r+=this[e+s]*o;return r>=(o*=128)&&(r-=Math.pow(2,8*t)),r},Lf.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||lh(e,t,this.length);for(var r=t,o=1,s=this[e+--r];r>0&&(o*=256);)s+=this[e+--r]*o;return s>=(o*=128)&&(s-=Math.pow(2,8*t)),s},Lf.prototype.readInt8=function(e,t){return t||lh(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Lf.prototype.readInt16LE=function(e,t){t||lh(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Lf.prototype.readInt16BE=function(e,t){t||lh(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Lf.prototype.readInt32LE=function(e,t){return t||lh(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Lf.prototype.readInt32BE=function(e,t){return t||lh(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Lf.prototype.readFloatLE=function(e,t){return t||lh(e,4,this.length),Of(this,e,!0,23,4)},Lf.prototype.readFloatBE=function(e,t){return t||lh(e,4,this.length),Of(this,e,!1,23,4)},Lf.prototype.readDoubleLE=function(e,t){return t||lh(e,8,this.length),Of(this,e,!0,52,8)},Lf.prototype.readDoubleBE=function(e,t){return t||lh(e,8,this.length),Of(this,e,!1,52,8)},Lf.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||dh(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,s=0;for(this[t]=255&e;++s<n&&(o*=256);)this[t+s]=e/o&255;return t+n},Lf.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||dh(this,e,t,n,Math.pow(2,8*n)-1,0);var o=n-1,s=1;for(this[t+o]=255&e;--o>=0&&(s*=256);)this[t+o]=e/s&255;return t+n},Lf.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,1,255,0),Lf.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Lf.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,2,65535,0),Lf.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):fh(this,e,t,!0),t+2},Lf.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,2,65535,0),Lf.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):fh(this,e,t,!1),t+2},Lf.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,4,4294967295,0),Lf.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):hh(this,e,t,!0),t+4},Lf.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,4,4294967295,0),Lf.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):hh(this,e,t,!1),t+4},Lf.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);dh(this,e,t,n,o-1,-o)}var s=0,a=1,i=0;for(this[t]=255&e;++s<n&&(a*=256);)e<0&&0===i&&0!==this[t+s-1]&&(i=1),this[t+s]=(e/a|0)-i&255;return t+n},Lf.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);dh(this,e,t,n,o-1,-o)}var s=n-1,a=1,i=0;for(this[t+s]=255&e;--s>=0&&(a*=256);)e<0&&0===i&&0!==this[t+s+1]&&(i=1),this[t+s]=(e/a|0)-i&255;return t+n},Lf.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,1,127,-128),Lf.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Lf.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,2,32767,-32768),Lf.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):fh(this,e,t,!0),t+2},Lf.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,2,32767,-32768),Lf.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):fh(this,e,t,!1),t+2},Lf.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,4,2147483647,-2147483648),Lf.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):hh(this,e,t,!0),t+4},Lf.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||dh(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Lf.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):hh(this,e,t,!1),t+4},Lf.prototype.writeFloatLE=function(e,t,n){return mh(this,e,t,!0,n)},Lf.prototype.writeFloatBE=function(e,t,n){return mh(this,e,t,!1,n)},Lf.prototype.writeDoubleLE=function(e,t,n){return gh(this,e,t,!0,n)},Lf.prototype.writeDoubleBE=function(e,t,n){return gh(this,e,t,!1,n)},Lf.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o,s=r-n;if(this===e&&n<t&&t<r)for(o=s-1;o>=0;--o)e[o+t]=this[o+n];else if(s<1e3||!Lf.TYPED_ARRAY_SUPPORT)for(o=0;o<s;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+s),t);return s},Lf.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!Lf.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var s;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s<n;++s)this[s]=e;else{var a=Vf(e)?e:wh(new Lf(e,r).toString()),i=a.length;for(s=0;s<n-t;++s)this[s+t]=a[s%i]}return this};var bh=/[^+\/0-9A-Za-z-_]/g;function yh(e){return e<16?"0"+e.toString(16):e.toString(16)}function wh(e,t){var n;t=t||1/0;for(var r=e.length,o=null,s=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&s.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&s.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function vh(e){return function(e){var t,n,r,o,s,a;Nf||Tf();var i=e.length;if(i%4>0)throw new Error("Invalid string. Length must be a multiple of 4");s="="===e[i-2]?2:"="===e[i-1]?1:0,a=new Sf(3*i/4-s),r=s>0?i-4:i;var c=0;for(t=0,n=0;t<r;t+=4,n+=3)o=If[e.charCodeAt(t)]<<18|If[e.charCodeAt(t+1)]<<12|If[e.charCodeAt(t+2)]<<6|If[e.charCodeAt(t+3)],a[c++]=o>>16&255,a[c++]=o>>8&255,a[c++]=255&o;return 2===s?(o=If[e.charCodeAt(t)]<<2|If[e.charCodeAt(t+1)]>>4,a[c++]=255&o):1===s&&(o=If[e.charCodeAt(t)]<<10|If[e.charCodeAt(t+1)]<<4|If[e.charCodeAt(t+2)]>>2,a[c++]=o>>8&255,a[c++]=255&o),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(bh,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function xh(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function Eh(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function Ph(){const e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,"0")).join("")}class kh{constructor(e){this.walletInfo=null,this.userId=null,this.solanaConnection=null,this.ethereumProvider=null,this.phantomAdapter=null,this.walletType="embedded",this.ethereumNetwork=null,this.defaultNetwork=exports.Network.Solana,this.api=w.default.create({baseURL:e.baseURL,headers:{"Content-Type":"application/json"}}),this.middleAccountApi=w.default.create({baseURL:e.middleAccountBaseURL||"",headers:{"Content-Type":"application/json"}}),this.solanaCluster=e.solanaCluster,this.solanaConnection=new t.Connection(e.solanaCluster.rpcUrl),e.ethereumNetwork&&(this.ethereumNetwork={...e.ethereumNetwork,chainId:Number(e.ethereumNetwork.chainId)},this.ethereumProvider=Yd({transport:Kd(e.ethereumNetwork.rpcUrl)})),this.defaultNetwork=e.defaultNetwork||exports.Network.Solana,this.setWalletInfo=t=>{var n;e.setWalletInfo(t),this.userId=null!==(n=null==t?void 0:t.id)&&void 0!==n?n:null,this.walletInfo=t}}setWalletType(e){this.walletType=e,$.saveWalletType(e)}async reconnect(e){try{if($.getWalletType()==="phantom"+(e?"_backup":"")){return await this.connectPhantom()}if(!e){const e=await this.getAndRefreshSession();return this.setWalletInfo(e),e}const t=$.getBackupWalletInfo();return this.setWalletInfo(t),t}catch(e){return null}}getPhantomAdapter(){return this.phantomAdapter}async connectPhantom(){try{if(this.phantomAdapter||(this.phantomAdapter=new K),await this.phantomAdapter.connect(),!this.phantomAdapter.publicKey)throw new Error("Failed to connect to Phantom wallet");const e=this.phantomAdapter.publicKey.toString(),t={id:r.v4(),wallets:[{id:e,address:e,network:exports.Network.Solana,wallet_type:exports.WalletType.Phantom,wallet_set:"Main",account_index:0,is_enabled:!0}],social_links:[],social_infos:[],account_info:{name:null,sub_accounts:[],credit_account:{account_mode:exports.AccountMode.Basic}},created_at:Date.now(),is_exported:!1};return this.setWalletInfo(t),this.setWalletType("phantom"),t}catch(e){throw console.error("Phantom connect error:",e),new Error(e instanceof Error?e.message:"Failed to connect to Phantom wallet")}}async updateAccountName(e,t){const n={name:e,account_index:t},r=(await this.api.post("/account/update",n,{withCredentials:!0})).data;return this.setWalletInfo(r),r}async manageMultiAccount(e){const t=(await this.api.post("/account/multi",e,{withCredentials:!0})).data;return this.setWalletInfo(t),t}async createSubAccount(e){return this.manageMultiAccount({type:"Create",data:{name:null!=e?e:null}})}async enableSubAccount(e){return this.manageMultiAccount({type:"Enable",data:{index:e}})}async disableSubAccount(e){return this.manageMultiAccount({type:"Disable",data:{index:e}})}async signSolanaTransaction(e,n){try{if(!this.solanaConnection)throw new Error("No rpc connection");const{blockhash:r}=await this.solanaConnection.getLatestBlockhash();if(P(e)?e.message.recentBlockhash=r:e.recentBlockhash=r,this.phantomAdapter&&this.phantomAdapter.publicKey)return await this.phantomAdapter.signTransaction(e);const o=await this.signV3({network:exports.Network.Solana,address:n,tx:{Solana:v.default.encode(P(e)?e.message.serialize():e.serializeMessage())}});return e.addSignature(new t.PublicKey(n),Lf.from(v.default.decode(o))),e}catch(e){throw new Error(e instanceof Error?e.message:"Failed to sign transaction")}}async signEthereumEip712(e,t){if(!this.ethereumNetwork)throw new Error("No Ethereum network");if(!this.ethereumProvider)throw new Error("No Ethereum provider");return await this.signV2({network:exports.Network.Ethereum,address:t,tx:{EthereumEip712:e}})}async sendSolanaTransaction(e){if(!this.solanaConnection)throw new Error("No rpc connection");try{return await this.solanaConnection.sendRawTransaction(e,{maxRetries:3,skipPreflight:!1})}catch(e){throw e}}async sendEthereumTransaction(e){if(!this.ethereumProvider)throw new Error("No Ethereum provider");try{return await this.ethereumProvider.sendRawTransaction({serializedTransaction:e})}catch(e){throw e}}async sendEmailVerificationCode(e){await this.api.post("/send_verification",{email:e})}async sendPhoneVerificationCode(e){e.startsWith("+")||(e=`+${e}`),await this.api.post("/send_verification",{phone:e,type:"phone"})}async verifyEmailVerificationCode({email:e,code:t}){const n={type:"Email",data:{network:this.defaultNetwork,email:e,code:t}},r=(await this.api.post("/login",n,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async verifyPhoneVerificationCode({phone:e,code:t}){const n={type:"Phone",data:{network:this.defaultNetwork,phone:e,code:t}},r=(await this.api.post("/login",n,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async twitterLogin(e){const t={type:"TwitterOAuth",data:{network:this.defaultNetwork,...e}},n=(await this.api.post("/login",t,{withCredentials:!0})).data;return this.setWalletInfo(n),this.setWalletType("embedded"),n}async googleLogin(e){const t={type:"GoogleOAuth",data:{network:this.defaultNetwork,...e}},n=(await this.api.post("/login",t,{withCredentials:!0})).data;return this.setWalletInfo(n),this.setWalletType("embedded"),n}async oauthLogin(e,t){const n={type:e,data:{network:t.network||this.defaultNetwork,...t}},r=(await this.api.post("/login",n,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async loginWithChallenge(e,t){const n={type:e,data:{network:t.network||this.defaultNetwork,...t}},r=(await this.api.post("/login",n,{withCredentials:!0})).data;return this.setWalletInfo(r),this.setWalletType("embedded"),r}async bind(e,t){const n={type:e,data:{network:t.network||this.defaultNetwork,...t}},r=(await this.api.post("/bind",n,{withCredentials:!0})).data;return this.setWalletInfo(r),r}async unbind(e){var t,n;const r={social_link:e};try{const e=(await this.api.post("/unbind",r,{withCredentials:!0})).data;return this.setWalletInfo(e),e}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to unbind social account")}}async oauthInit(e){return(await this.api.post("/oauth/init",e)).data}async getSignChallenge(e){return(await this.api.get(`/challenge?method=${e.method}&id=${e.id}`)).data}async getAndRefreshSession(){const e=(await this.api.get("/session",{withCredentials:!0})).data,{access_token:t}=e;return t&&$.saveAccessToken(t),this.setWalletInfo(e),e}async logout(e){this.phantomAdapter?(this.phantomAdapter.disconnect(),this.phantomAdapter=null):await this.api.post("/logout",{},{withCredentials:!0}),this.setWalletInfo(null),e?$.clearBackup():$.clear()}async getOAuth2ClientId(e){return(await this.api.get(`/oauth_id/${e}`)).data.client_id}async getSolanaBalance(e){if(!this.solanaConnection)throw new Error("Solana connection not available");return(await this.solanaConnection.getBalance(new t.PublicKey(e))/t.LAMPORTS_PER_SOL).toString()}async getEthereumBalance(e){if(!this.ethereumProvider)throw new Error("Ethereum provider not available");return Ef(await this.ethereumProvider.getBalance({address:e}))}async fetchCoinbaseToken(e,t="solana"){return(await this.api.post("/ramp/coinbase",{addresses:[{address:e,blockchains:[t]}],assets:["solana"===t?"SOL":"ETH"]})).data.token}viemSignerAdapter(e){return{signTypedData:async t=>{if(!this.ethereumNetwork)throw new Error("No Ethereum network");if(!this.ethereumProvider)throw new Error("No Ethereum provider");const n=await this.signV2({network:exports.Network.Ethereum,address:e,tx:{EthereumEip712:t}}),r=v.default.decode(n),o=r[64];return jd({r:`0x${Lf.from(r.slice(0,32)).toString("hex")}`,s:`0x${Lf.from(r.slice(32,64)).toString("hex")}`,v:BigInt(o+27)})}}}async createMiddleAccount(e){try{return(await this.middleAccountApi.post("/create",e)).data}catch(e){throw new Error(e instanceof Error?e.message:"Failed to create middle account")}}async getCoinbaseOnrampUrlForMiddleAccount(e){try{const t={sessionToken:await this.fetchCoinbaseToken(e.middleAccountAddress,e.network===exports.Network.Solana?"solana":"ethereum"),presetCryptoAmount:Number(e.amount),redirectUrl:e.redirectUrl||window.location.href};return kf(t)}catch(e){throw new Error(e instanceof Error?e.message:"Failed to get Coinbase onramp URL")}}async getOrderState(e){try{return(await this.middleAccountApi.get(`/order/${e}`)).data}catch(e){throw new Error(e instanceof Error?e.message:"Failed to get order status")}}async transfer(e){var t,n,r;const o={user_id:null!==(t=this.userId)&&void 0!==t?t:"",from:e.from,to:e.to,amount:e.amount,decimals:e.decimals,token:e.token,network:e.network,chain_id:e.chain_id};try{return(await this.api.post("/v3/sign/transfer",o,{withCredentials:!0})).data}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Transfer failed")}}async buildTransaction(e){var t,n;try{return(await this.api.post("/v3/sign/build_transaction",e,{withCredentials:!0})).data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to build transaction")}}async exportInit(e){var t,n;const r={user_nonce:Ph(),account_index:e};try{return(await this.api.post("/export/init",r,{withCredentials:!0})).data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to initialize export")}}async exportFinal(e){var t,n,r;const o={user_nonce:e.userNonce,server_nonce:e.serverNonce,account_index:e.accountIndex,is_export:null===(t=e.isExport)||void 0===t||t};try{return(await this.api.post("/export/final",o,{withCredentials:!0})).data}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to finalize export")}}async getExportedWallets(e){var t,n;const r={account_index:e,is_export:!1};try{return(await this.api.post("/export/final",r,{withCredentials:!0})).data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to retrieve exported wallets")}}async closeInit(){var e,t;const n={user_nonce:Ph()};try{return(await this.api.post("/close/init",n,{withCredentials:!0})).data}catch(n){if(null===(t=null===(e=n.response)||void 0===e?void 0:e.data)||void 0===t?void 0:t.error)throw new Error(n.response.data.error);throw new Error(n instanceof Error?n.message:"Failed to initialize account closure")}}async closeFinal(e){var t,n;const r={user_nonce:e.userNonce,server_nonce:e.serverNonce};try{const e=await this.api.post("/close/final",r,{withCredentials:!0});return this.setWalletInfo(null),$.clear(),e.data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to close account")}}async signV1(e){var t,n,r;const o={user_id:null!==(t=this.userId)&&void 0!==t?t:"",network:e.network,address:e.address,message:e.message};try{return(await this.api.post("/v1/sign",o,{withCredentials:!0})).data.signature}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to sign message")}}async signV2(e){var t,n,r;const o={user_id:null!==(t=this.userId)&&void 0!==t?t:"",network:e.network,address:e.address,tx:e.tx};try{return(await this.api.post("/v2/sign",o,{withCredentials:!0})).data.signature}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to sign transaction")}}async signV3(e){var t,n,r;if(e.network!==exports.Network.Solana)throw new Error("v3 sign API only supports Solana transactions");if(!e.tx.Solana)throw new Error("Solana transaction is required for v3 sign API");const o={user_id:null!==(t=this.userId)&&void 0!==t?t:"",network:e.network,address:e.address,tx:{Solana:e.tx.Solana}};try{return(await this.api.post("/v3/sign",o,{withCredentials:!0})).data.signature}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to sign transaction")}}async authV3(e){var t,n,r;if(e.network!==exports.Network.Ethereum)throw new Error("v3 auth API only supports Ethereum EIP-712 authentication");const o={domain:{name:"SUPERSTACK",version:"1",chainId:999,verifyingContract:"0x0000000000000000000000000000000000000000"},types:e.types,primaryType:e.primaryType,message:e.message},s={user_id:null!==(t=this.userId)&&void 0!==t?t:"",network:e.network,address:e.address,payload:{EthereumEip712:o}};try{return(await this.api.post("/v3/auth",s,{withCredentials:!0})).data.signature}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to authenticate")}}async lighterBuildTransaction(e,t){var n,r;try{const n={...e,wallet_address:t||e.wallet_address||null};return(await this.api.post("/v3/lighter/build_transaction",n,{withCredentials:!0})).data}catch(e){if(null===(r=null===(n=e.response)||void 0===n?void 0:n.data)||void 0===r?void 0:r.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to build Lighter transaction")}}async lighterAuth(e){var t,n;const r={account_index:e.lighter_account_index,wallet_address:e.wallet_address||null,expires_in_ms:e.expires_in_ms||null};try{return(await this.api.post("/v3/lighter/auth",r,{withCredentials:!0})).data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to generate Lighter auth token")}}async lighterChangeKey(e){var t,n;if(e.lighter_account_index<0)throw new Error("accountIndex must be non-negative");const r={account_index:e.lighter_account_index,wallet_address:e.wallet_address||null};try{return(await this.api.post("/v3/lighter/change_key",r,{withCredentials:!0})).data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to change Lighter key")}}async exchange(e){var t,n;try{return(await this.api.post("/v3/sign/exchange",e,{withCredentials:!0})).data}catch(e){if(null===(n=null===(t=e.response)||void 0===t?void 0:t.data)||void 0===n?void 0:n.error)throw new Error(e.response.data.error);throw new Error(e instanceof Error?e.message:"Failed to build exchange transaction")}}}var Ah=function(){return Ah=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},Ah.apply(this,arguments)};function Ih(e,t,n){if(n||2===arguments.length)for(var r,o=0,s=t.length;o<s;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function Sh(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}"function"==typeof SuppressedError&&SuppressedError;var Nh=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,Th=Sh(function(e){return Nh.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91}),$h="-ms-",Bh="-moz-",Ch="-webkit-",Oh="comm",_h="rule",Rh="decl",zh="@keyframes",Mh=Math.abs,Fh=String.fromCharCode,Lh=Object.assign;function jh(e){return e.trim()}function Uh(e,t){return(e=t.exec(e))?e[0]:e}function Dh(e,t,n){return e.replace(t,n)}function Gh(e,t,n){return e.indexOf(t,n)}function qh(e,t){return 0|e.charCodeAt(t)}function Vh(e,t,n){return e.slice(t,n)}function Wh(e){return e.length}function Hh(e){return e.length}function Yh(e,t){return t.push(e),e}function Zh(e,t){return e.filter(function(e){return!Uh(e,t)})}var Kh=1,Jh=1,Qh=0,Xh=0,ep=0,tp="";function np(e,t,n,r,o,s,a,i){return{value:e,root:t,parent:n,type:r,props:o,children:s,line:Kh,column:Jh,length:a,return:"",siblings:i}}function rp(e,t){return Lh(np("",null,null,"",null,null,0,e.siblings),e,{length:-e.length},t)}function op(e){for(;e.root;)e=rp(e.root,{children:[e]});Yh(e,e.siblings)}function sp(){return ep=Xh>0?qh(tp,--Xh):0,Jh--,10===ep&&(Jh=1,Kh--),ep}function ap(){return ep=Xh<Qh?qh(tp,Xh++):0,Jh++,10===ep&&(Jh=1,Kh++),ep}function ip(){return qh(tp,Xh)}function cp(){return Xh}function up(e,t){return Vh(tp,e,t)}function lp(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function dp(e){return jh(up(Xh-1,pp(91===e?e+2:40===e?e+1:e)))}function fp(e){for(;(ep=ip())&&ep<33;)ap();return lp(e)>2||lp(ep)>3?"":" "}function hp(e,t){for(;--t&&ap()&&!(ep<48||ep>102||ep>57&&ep<65||ep>70&&ep<97););return up(e,cp()+(t<6&&32==ip()&&32==ap()))}function pp(e){for(;ap();)switch(ep){case e:return Xh;case 34:case 39:34!==e&&39!==e&&pp(ep);break;case 40:41===e&&pp(e);break;case 92:ap()}return Xh}function mp(e,t){for(;ap()&&e+ep!==57&&(e+ep!==84||47!==ip()););return"/*"+up(t,Xh-1)+"*"+Fh(47===e?e:ap())}function gp(e){for(;!lp(ip());)ap();return up(e,Xh)}function bp(e){return function(e){return tp="",e}(yp("",null,null,null,[""],e=function(e){return Kh=Jh=1,Qh=Wh(tp=e),Xh=0,[]}(e),0,[0],e))}function yp(e,t,n,r,o,s,a,i,c){for(var u=0,l=0,d=a,f=0,h=0,p=0,m=1,g=1,b=1,y=0,w="",v=o,x=s,E=r,P=w;g;)switch(p=y,y=ap()){case 40:if(108!=p&&58==qh(P,d-1)){-1!=Gh(P+=Dh(dp(y),"&","&\f"),"&\f",Mh(u?i[u-1]:0))&&(b=-1);break}case 34:case 39:case 91:P+=dp(y);break;case 9:case 10:case 13:case 32:P+=fp(p);break;case 92:P+=hp(cp()-1,7);continue;case 47:switch(ip()){case 42:case 47:Yh(vp(mp(ap(),cp()),t,n,c),c);break;default:P+="/"}break;case 123*m:i[u++]=Wh(P)*b;case 125*m:case 59:case 0:switch(y){case 0:case 125:g=0;case 59+l:-1==b&&(P=Dh(P,/\f/g,"")),h>0&&Wh(P)-d&&Yh(h>32?xp(P+";",r,n,d-1,c):xp(Dh(P," ","")+";",r,n,d-2,c),c);break;case 59:P+=";";default:if(Yh(E=wp(P,t,n,u,l,o,i,w,v=[],x=[],d,s),s),123===y)if(0===l)yp(P,t,E,E,v,s,d,i,x);else switch(99===f&&110===qh(P,3)?100:f){case 100:case 108:case 109:case 115:yp(e,E,E,r&&Yh(wp(e,E,E,0,0,o,i,w,o,v=[],d,x),x),o,x,d,i,r?v:x);break;default:yp(P,E,E,E,[""],x,0,i,x)}}u=l=h=0,m=b=1,w=P="",d=a;break;case 58:d=1+Wh(P),h=p;default:if(m<1)if(123==y)--m;else if(125==y&&0==m++&&125==sp())continue;switch(P+=Fh(y),y*m){case 38:b=l>0?1:(P+="\f",-1);break;case 44:i[u++]=(Wh(P)-1)*b,b=1;break;case 64:45===ip()&&(P+=dp(ap())),f=ip(),l=d=Wh(w=P+=gp(cp())),y++;break;case 45:45===p&&2==Wh(P)&&(m=0)}}return s}function wp(e,t,n,r,o,s,a,i,c,u,l,d){for(var f=o-1,h=0===o?s:[""],p=Hh(h),m=0,g=0,b=0;m<r;++m)for(var y=0,w=Vh(e,f+1,f=Mh(g=a[m])),v=e;y<p;++y)(v=jh(g>0?h[y]+" "+w:Dh(w,/&\f/g,h[y])))&&(c[b++]=v);return np(e,t,n,0===o?_h:i,c,u,l,d)}function vp(e,t,n,r){return np(e,t,n,Oh,Fh(ep),Vh(e,2,-2),0,r)}function xp(e,t,n,r,o){return np(e,t,n,Rh,Vh(e,0,r),Vh(e,r+1,-1),r,o)}function Ep(e,t,n){switch(function(e,t){return 45^qh(e,0)?(((t<<2^qh(e,0))<<2^qh(e,1))<<2^qh(e,2))<<2^qh(e,3):0}(e,t)){case 5103:return Ch+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Ch+e+e;case 4789:return Bh+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Ch+e+Bh+e+$h+e+e;case 5936:switch(qh(e,t+11)){case 114:return Ch+e+$h+Dh(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Ch+e+$h+Dh(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Ch+e+$h+Dh(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return Ch+e+$h+e+e;case 6165:return Ch+e+$h+"flex-"+e+e;case 5187:return Ch+e+Dh(e,/(\w+).+(:[^]+)/,Ch+"box-$1$2"+$h+"flex-$1$2")+e;case 5443:return Ch+e+$h+"flex-item-"+Dh(e,/flex-|-self/g,"")+(Uh(e,/flex-|baseline/)?"":$h+"grid-row-"+Dh(e,/flex-|-self/g,""))+e;case 4675:return Ch+e+$h+"flex-line-pack"+Dh(e,/align-content|flex-|-self/g,"")+e;case 5548:return Ch+e+$h+Dh(e,"shrink","negative")+e;case 5292:return Ch+e+$h+Dh(e,"basis","preferred-size")+e;case 6060:return Ch+"box-"+Dh(e,"-grow","")+Ch+e+$h+Dh(e,"grow","positive")+e;case 4554:return Ch+Dh(e,/([^-])(transform)/g,"$1"+Ch+"$2")+e;case 6187:return Dh(Dh(Dh(e,/(zoom-|grab)/,Ch+"$1"),/(image-set)/,Ch+"$1"),e,"")+e;case 5495:case 3959:return Dh(e,/(image-set\([^]*)/,Ch+"$1$`$1");case 4968:return Dh(Dh(e,/(.+:)(flex-)?(.*)/,Ch+"box-pack:$3"+$h+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Ch+e+e;case 4200:if(!Uh(e,/flex-|baseline/))return $h+"grid-column-align"+Vh(e,t)+e;break;case 2592:case 3360:return $h+Dh(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(e,n){return t=n,Uh(e.props,/grid-\w+-end/)})?~Gh(e+(n=n[t].value),"span",0)?e:$h+Dh(e,"-start","")+e+$h+"grid-row-span:"+(~Gh(n,"span",0)?Uh(n,/\d+/):+Uh(n,/\d+/)-+Uh(e,/\d+/))+";":$h+Dh(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(e){return Uh(e.props,/grid-\w+-start/)})?e:$h+Dh(Dh(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return Dh(e,/(.+)-inline(.+)/,Ch+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Wh(e)-1-t>6)switch(qh(e,t+1)){case 109:if(45!==qh(e,t+4))break;case 102:return Dh(e,/(.+:)(.+)-([^]+)/,"$1"+Ch+"$2-$3$1"+Bh+(108==qh(e,t+3)?"$3":"$2-$3"))+e;case 115:return~Gh(e,"stretch",0)?Ep(Dh(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return Dh(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(t,n,r,o,s,a,i){return $h+n+":"+r+i+(o?$h+n+"-span:"+(s?a:+a-+r)+i:"")+e});case 4949:if(121===qh(e,t+6))return Dh(e,":",":"+Ch)+e;break;case 6444:switch(qh(e,45===qh(e,14)?18:11)){case 120:return Dh(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Ch+(45===qh(e,14)?"inline-":"")+"box$3$1"+Ch+"$2$3$1"+$h+"$2box$3")+e;case 100:return Dh(e,":",":"+$h)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return Dh(e,"scroll-","scroll-snap-")+e}return e}function Pp(e,t){for(var n="",r=0;r<e.length;r++)n+=t(e[r],r,e,t)||"";return n}function kp(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case Rh:return e.return=e.return||e.value;case Oh:return"";case zh:return e.return=e.value+"{"+Pp(e.children,r)+"}";case _h:if(!Wh(e.value=e.props.join(",")))return""}return Wh(n=Pp(e.children,r))?e.return=e.value+"{"+n+"}":""}function Ap(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case Rh:return void(e.return=Ep(e.value,e.length,n));case zh:return Pp([rp(e,{value:Dh(e.value,"@","@"+Ch)})],r);case _h:if(e.length)return function(e,t){return e.map(t).join("")}(n=e.props,function(t){switch(Uh(t,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":op(rp(e,{props:[Dh(t,/:(read-\w+)/,":-moz-$1")]})),op(rp(e,{props:[t]})),Lh(e,{props:Zh(n,r)});break;case"::placeholder":op(rp(e,{props:[Dh(t,/:(plac\w+)/,":"+Ch+"input-$1")]})),op(rp(e,{props:[Dh(t,/:(plac\w+)/,":-moz-$1")]})),op(rp(e,{props:[Dh(t,/:(plac\w+)/,$h+"input-$1")]})),op(rp(e,{props:[t]})),Lh(e,{props:Zh(n,r)})}return""})}}var Ip={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Sp="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",Np="active",Tp="data-styled-version",$p="6.1.19",Bp="/*!sc*/\n",Cp="undefined"!=typeof window&&"undefined"!=typeof document,Op=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY?"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:"production"!==process.env.NODE_ENV),_p=/invalid hook call/i,Rp=new Set,zp=function(e,t){if("production"!==process.env.NODE_ENV){var n=t?' with the id of "'.concat(t,'"'):"",r="The component ".concat(e).concat(n," has been created dynamically.\n")+"You may see this warning because you've called styled inside another component.\nTo resolve this only create new StyledComponents outside of any render method and function component.\nSee https://styled-components.com/docs/basics#define-styled-components-outside-of-the-render-method for more info.\n",s=console.error;try{var a=!0;console.error=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];_p.test(e)?(a=!1,Rp.delete(r)):s.apply(void 0,Ih([e],t,!1))},o.useRef(),a&&!Rp.has(r)&&(console.warn(r),Rp.add(r))}catch(e){_p.test(e.message)&&Rp.delete(r)}finally{console.error=s}}},Mp=Object.freeze([]),Fp=Object.freeze({});var Lp=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),jp=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,Up=/(^-|-$)/g;function Dp(e){return e.replace(jp,"-").replace(Up,"")}var Gp=/(a)(d)/gi,qp=function(e){return String.fromCharCode(e+(e>25?39:97))};function Vp(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=qp(t%52)+n;return(qp(t%52)+n).replace(Gp,"$1-$2")}var Wp,Hp=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Yp=function(e){return Hp(5381,e)};function Zp(e){return Vp(Yp(e)>>>0)}function Kp(e){return"production"!==process.env.NODE_ENV&&"string"==typeof e&&e||e.displayName||e.name||"Component"}function Jp(e){return"string"==typeof e&&("production"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var Qp="function"==typeof Symbol&&Symbol.for,Xp=Qp?Symbol.for("react.memo"):60115,em=Qp?Symbol.for("react.forward_ref"):60112,tm={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},nm={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},rm={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},om=((Wp={})[em]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Wp[Xp]=rm,Wp);function sm(e){return("type"in(t=e)&&t.type.$$typeof)===Xp?rm:"$$typeof"in e?om[e.$$typeof]:tm;var t}var am=Object.defineProperty,im=Object.getOwnPropertyNames,cm=Object.getOwnPropertySymbols,um=Object.getOwnPropertyDescriptor,lm=Object.getPrototypeOf,dm=Object.prototype;function fm(e,t,n){if("string"!=typeof t){if(dm){var r=lm(t);r&&r!==dm&&fm(e,r,n)}var o=im(t);cm&&(o=o.concat(cm(t)));for(var s=sm(e),a=sm(t),i=0;i<o.length;++i){var c=o[i];if(!(c in nm||n&&n[c]||a&&c in a||s&&c in s)){var u=um(t,c);try{am(e,c,u)}catch(e){}}}}return e}function hm(e){return"function"==typeof e}function pm(e){return"object"==typeof e&&"styledComponentId"in e}function mm(e,t){return e&&t?"".concat(e," ").concat(t):e||t||""}function gm(e,t){if(0===e.length)return"";for(var n=e[0],r=1;r<e.length;r++)n+=e[r];return n}function bm(e){return null!==e&&"object"==typeof e&&e.constructor.name===Object.name&&!("props"in e&&e.$$typeof)}function ym(e,t,n){if(void 0===n&&(n=!1),!n&&!bm(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=ym(e[r],t[r]);else if(bm(t))for(var r in t)e[r]=ym(e[r],t[r]);return e}function wm(e,t){Object.defineProperty(e,"toString",{value:t})}var vm="production"!==process.env.NODE_ENV?{1:"Cannot create styled-component for component: %s.\n\n",2:"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\n\n- Are you trying to reuse it across renders?\n- Are you accidentally calling collectStyles twice?\n\n",3:"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\n\n",4:"The `StyleSheetManager` expects a valid target or sheet prop!\n\n- Does this error occur on the client and is your target falsy?\n- Does this error occur on the server and is the sheet falsy?\n\n",5:"The clone method cannot be used on the client!\n\n- Are you running in a client-like environment on the server?\n- Are you trying to run SSR on the client?\n\n",6:"Trying to insert a new style tag, but the given Node is unmounted!\n\n- Are you using a custom target that isn't mounted?\n- Does your document not have a valid head element?\n- Have you accidentally removed a style tag manually?\n\n",7:'ThemeProvider: Please return an object from your "theme" prop function, e.g.\n\n```js\ntheme={() => ({})}\n```\n\n',8:'ThemeProvider: Please make your "theme" prop an object.\n\n',9:"Missing document `<head>`\n\n",10:"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n",11:"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n",12:"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n",13:"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n",14:'ThemeProvider: "theme" prop is required.\n\n',15:"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n",16:"Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n",17:"CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n",18:"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`"}:{};function xm(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=e[0],r=[],o=1,s=e.length;o<s;o+=1)r.push(e[o]);return r.forEach(function(e){n=n.replace(/%[a-z]/,e)}),n}function Em(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return"production"===process.env.NODE_ENV?new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(e," for more information.").concat(t.length>0?" Args: ".concat(t.join(", ")):"")):new Error(xm.apply(void 0,Ih([vm[e]],t,!1)).trim())}var Pm=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)if((o<<=1)<0)throw Em(16,"".concat(e));this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var a=this.indexOfGroup(e+1),i=(s=0,t.length);s<i;s++)this.tag.insertRule(a,t[s])&&(this.groupSizes[e]++,a++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+="".concat(this.tag.getRule(s)).concat(Bp);return t},e}(),km=1<<30,Am=new Map,Im=new Map,Sm=1,Nm=function(e){if(Am.has(e))return Am.get(e);for(;Im.has(Sm);)Sm++;var t=Sm++;if("production"!==process.env.NODE_ENV&&((0|t)<0||t>km))throw Em(16,"".concat(t));return Am.set(e,t),Im.set(t,e),t},Tm=function(e,t){Sm=t+1,Am.set(e,t),Im.set(t,e)},$m="style[".concat(Sp,"][").concat(Tp,'="').concat($p,'"]'),Bm=new RegExp("^".concat(Sp,'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')),Cm=function(e,t,n){for(var r,o=n.split(","),s=0,a=o.length;s<a;s++)(r=o[s])&&e.registerName(t,r)},Om=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:"").split(Bp),o=[],s=0,a=r.length;s<a;s++){var i=r[s].trim();if(i){var c=i.match(Bm);if(c){var u=0|parseInt(c[1],10),l=c[2];0!==u&&(Tm(l,u),Cm(e,l,c[3]),e.getTag().insertRules(u,o)),o.length=0}else o.push(i)}}},_m=function(e){for(var t=document.querySelectorAll($m),n=0,r=t.length;n<r;n++){var o=t[n];o&&o.getAttribute(Sp)!==Np&&(Om(e,o),o.parentNode&&o.parentNode.removeChild(o))}};var Rm=function(e){var t=document.head,n=e||t,r=document.createElement("style"),o=function(e){var t=Array.from(e.querySelectorAll("style[".concat(Sp,"]")));return t[t.length-1]}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(Sp,Np),r.setAttribute(Tp,$p);var a="undefined"!=typeof __webpack_nonce__?__webpack_nonce__:null;return a&&r.setAttribute("nonce",a),n.insertBefore(r,s),r},zm=function(){function e(e){this.element=Rm(e),this.element.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}throw Em(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:""},e}(),Mm=function(){function e(e){this.element=Rm(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),Fm=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),Lm=Cp,jm={isServer:!Cp,useCSSOMInjection:!Op},Um=function(){function e(e,t,n){void 0===e&&(e=Fp),void 0===t&&(t={});var r=this;this.options=Ah(Ah({},jm),e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&Cp&&Lm&&(Lm=!1,_m(this)),wm(this,function(){return function(e){for(var t=e.getTag(),n=t.length,r="",o=function(n){var o=function(e){return Im.get(e)}(n);if(void 0===o)return"continue";var s=e.names.get(o),a=t.getGroup(n);if(void 0===s||!s.size||0===a.length)return"continue";var i="".concat(Sp,".g").concat(n,'[id="').concat(o,'"]'),c="";void 0!==s&&s.forEach(function(e){e.length>0&&(c+="".concat(e,","))}),r+="".concat(a).concat(i,'{content:"').concat(c,'"}').concat(Bp)},s=0;s<n;s++)o(s);return r}(r)})}return e.registerId=function(e){return Nm(e)},e.prototype.rehydrate=function(){!this.server&&Cp&&_m(this)},e.prototype.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(Ah(Ah({},this.options),t),this.gs,n&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new Fm(n):t?new zm(n):new Mm(n)}(this.options),new Pm(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Nm(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Nm(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Nm(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),Dm=/&/g,Gm=/^\s*\/\/.*$/gm;function qm(e,t){return e.map(function(e){return"rule"===e.type&&(e.value="".concat(t," ").concat(e.value),e.value=e.value.replaceAll(",",",".concat(t," ")),e.props=e.props.map(function(e){return"".concat(t," ").concat(e)})),Array.isArray(e.children)&&"@keyframes"!==e.type&&(e.children=qm(e.children,t)),e})}var Vm=new Um,Wm=function(){var e,t,n,r=Fp,o=r.options,s=void 0===o?Fp:o,a=r.plugins,i=void 0===a?Mp:a,c=function(n,r,o){return o.startsWith(t)&&o.endsWith(t)&&o.replaceAll(t,"").length>0?".".concat(e):n},u=i.slice();u.push(function(e){e.type===_h&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(Dm,t).replace(n,c))}),s.prefix&&u.push(Ap),u.push(kp);var l=function(r,o,a,i){void 0===o&&(o=""),void 0===a&&(a=""),void 0===i&&(i="&"),e=i,t=o,n=new RegExp("\\".concat(t,"\\b"),"g");var c=r.replace(Gm,""),l=bp(a||o?"".concat(a," ").concat(o," { ").concat(c," }"):c);s.namespace&&(l=qm(l,s.namespace));var d,f=[];return Pp(l,function(e){var t=Hh(e);return function(n,r,o,s){for(var a="",i=0;i<t;i++)a+=e[i](n,r,o,s)||"";return a}}(u.concat((d=function(e){return f.push(e)},function(e){e.root||(e=e.return)&&d(e)})))),f};return l.hash=i.length?i.reduce(function(e,t){return t.name||Em(15),Hp(e,t.name)},5381).toString():"",l}(),Hm=x.default.createContext({shouldForwardProp:void 0,styleSheet:Vm,stylis:Wm});function Ym(){return o.useContext(Hm)}Hm.Consumer,x.default.createContext(void 0);var Zm=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=Wm);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=t,wm(this,function(){throw Em(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=Wm),this.name+e.hash},e}(),Km=function(e){return e>="A"&&e<="Z"};function Jm(e){for(var t="",n=0;n<e.length;n++){var r=e[n];if(1===n&&"-"===r&&"-"===e[0])return e;Km(r)?t+="-"+r.toLowerCase():t+=r}return t.startsWith("ms-")?"-"+t:t}var Qm=function(e){return null==e||!1===e||""===e},Xm=function(e){var t,n,r=[];for(var o in e){var s=e[o];e.hasOwnProperty(o)&&!Qm(s)&&(Array.isArray(s)&&s.isCss||hm(s)?r.push("".concat(Jm(o),":"),s,";"):bm(s)?r.push.apply(r,Ih(Ih(["".concat(o," {")],Xm(s),!1),["}"],!1)):r.push("".concat(Jm(o),": ").concat((t=o,null==(n=s)||"boolean"==typeof n||""===n?"":"number"!=typeof n||0===n||t in Ip||t.startsWith("--")?String(n).trim():"".concat(n,"px")),";")))}return r};function eg(e,t,n,r){if(Qm(e))return[];if(pm(e))return[".".concat(e.styledComponentId)];if(hm(e)){if(!hm(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return[e];var o=e(t);return"production"===process.env.NODE_ENV||"object"!=typeof o||Array.isArray(o)||o instanceof Zm||bm(o)||null===o||console.error("".concat(Kp(e)," is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.")),eg(o,t,n,r)}var s;return e instanceof Zm?n?(e.inject(n,r),[e.getName(r)]):[e]:bm(e)?Xm(e):Array.isArray(e)?Array.prototype.concat.apply(Mp,e.map(function(e){return eg(e,t,n,r)})):[e.toString()]}var tg=Yp($p),ng=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic="production"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&function(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(hm(n)&&!pm(n))return!1}return!0}(e),this.componentId=t,this.baseHash=Hp(tg,t),this.baseStyle=n,Um.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):"";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=mm(r,this.staticRulesId);else{var o=gm(eg(this.rules,e,t,n)),s=Vp(Hp(this.baseHash,o)>>>0);if(!t.hasNameForId(this.componentId,s)){var a=n(o,".".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,a)}r=mm(r,s),this.staticRulesId=s}else{for(var i=Hp(this.baseHash,n.hash),c="",u=0;u<this.rules.length;u++){var l=this.rules[u];if("string"==typeof l)c+=l,"production"!==process.env.NODE_ENV&&(i=Hp(i,l));else if(l){var d=gm(eg(l,e,t,n));i=Hp(i,d+u),c+=d}}if(c){var f=Vp(i>>>0);t.hasNameForId(this.componentId,f)||t.insertRules(this.componentId,f,n(c,".".concat(f),void 0,this.componentId)),r=mm(r,f)}}return r},e}(),rg=x.default.createContext(void 0);rg.Consumer;var og={},sg=new Set;function ag(e,t,n){var r=pm(e),s=e,a=!Jp(e),i=t.attrs,c=void 0===i?Mp:i,u=t.componentId,l=void 0===u?function(e,t){var n="string"!=typeof e?"sc":Dp(e);og[n]=(og[n]||0)+1;var r="".concat(n,"-").concat(Zp($p+n+og[n]));return t?"".concat(t,"-").concat(r):r}(t.displayName,t.parentComponentId):u,d=t.displayName,f=void 0===d?function(e){return Jp(e)?"styled.".concat(e):"Styled(".concat(Kp(e),")")}(e):d,h=t.displayName&&t.componentId?"".concat(Dp(t.displayName),"-").concat(t.componentId):t.componentId||l,p=r&&s.attrs?s.attrs.concat(c).filter(Boolean):c,m=t.shouldForwardProp;if(r&&s.shouldForwardProp){var g=s.shouldForwardProp;if(t.shouldForwardProp){var b=t.shouldForwardProp;m=function(e,t){return g(e,t)&&b(e,t)}}else m=g}var y=new ng(n,h,r?s.componentStyle:void 0);function w(e,t){return function(e,t,n){var r=e.attrs,s=e.componentStyle,a=e.defaultProps,i=e.foldedComponentIds,c=e.styledComponentId,u=e.target,l=x.default.useContext(rg),d=Ym(),f=e.shouldForwardProp||d.shouldForwardProp;"production"!==process.env.NODE_ENV&&o.useDebugValue(c);var h=function(e,t,n){return void 0===n&&(n=Fp),e.theme!==n.theme&&e.theme||t||n.theme}(t,l,a)||Fp,p=function(e,t,n){for(var r,o=Ah(Ah({},t),{className:void 0,theme:n}),s=0;s<e.length;s+=1){var a=hm(r=e[s])?r(o):r;for(var i in a)o[i]="className"===i?mm(o[i],a[i]):"style"===i?Ah(Ah({},o[i]),a[i]):a[i]}return t.className&&(o.className=mm(o.className,t.className)),o}(r,t,h),m=p.as||u,g={};for(var b in p)void 0===p[b]||"$"===b[0]||"as"===b||"theme"===b&&p.theme===h||("forwardedAs"===b?g.as=p.forwardedAs:f&&!f(b,m)||(g[b]=p[b],f||"development"!==process.env.NODE_ENV||Th(b)||sg.has(b)||!Lp.has(m)||(sg.add(b),console.warn('styled-components: it looks like an unknown prop "'.concat(b,'" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var y=function(e,t){var n=Ym(),r=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return"production"!==process.env.NODE_ENV&&o.useDebugValue(r),r}(s,p);"production"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(y);var w=mm(i,c);return y&&(w+=" "+y),p.className&&(w+=" "+p.className),g[Jp(m)&&!Lp.has(m)?"class":"className"]=w,n&&(g.ref=n),o.createElement(m,g)}(v,e,t)}w.displayName=f;var v=x.default.forwardRef(w);return v.attrs=p,v.componentStyle=y,v.displayName=f,v.shouldForwardProp=m,v.foldedComponentIds=r?mm(s.foldedComponentIds,s.styledComponentId):"",v.styledComponentId=h,v.target=r?s.target:e,Object.defineProperty(v,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=r?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,o=t;r<o.length;r++)ym(e,o[r],!0);return e}({},s.defaultProps,e):e}}),"production"!==process.env.NODE_ENV&&(zp(f,h),v.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of "'.concat(t,'"'):"";console.warn("Over ".concat(200," classes were generated for component ").concat(e).concat(s,".\n")+"Consider using the attrs method, together with a style object for frequently changed styles.\nExample:\n const Component = styled.div.attrs(props => ({\n style: {\n background: props.background,\n },\n }))`width: 100%;`\n\n <Component />"),r=!0,n={}}}}(f,h)),wm(v,function(){return".".concat(v.styledComponentId)}),a&&fm(v,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),v}function ig(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n}var cg=function(e){return Object.assign(e,{isCss:!0})};function ug(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(hm(e)||bm(e))return cg(eg(ig(Mp,Ih([e],t,!0))));var r=e;return 0===t.length&&1===r.length&&"string"==typeof r[0]?eg(r):cg(eg(ig(r,t)))}function lg(e,t,n){if(void 0===n&&(n=Fp),!t)throw Em(1,t);var r=function(r){for(var o=[],s=1;s<arguments.length;s++)o[s-1]=arguments[s];return e(t,n,ug.apply(void 0,Ih([r],o,!1)))};return r.attrs=function(r){return lg(e,t,Ah(Ah({},n),{attrs:Array.prototype.concat(n.attrs,r).filter(Boolean)}))},r.withConfig=function(r){return lg(e,t,Ah(Ah({},n),r))},r}var dg=function(e){return lg(ag,e)},fg=dg;Lp.forEach(function(e){fg[e]=dg(e)}),"production"!==process.env.NODE_ENV&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("It looks like you've imported 'styled-components' on React Native.\nPerhaps you're looking to import 'styled-components/native'?\nRead more about this at https://www.styled-components.com/docs/basics#react-native");var hg="__sc-".concat(Sp,"__");"production"!==process.env.NODE_ENV&&"test"!==process.env.NODE_ENV&&"undefined"!=typeof window&&(window[hg]||(window[hg]=0),1===window[hg]&&console.warn("It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\n\nSee https://s-c.sh/2BAXzed for more info."),window[hg]+=1);const pg={colors:{black:"#000000",white:"#FFFFFF",offWhite:"#F5F5F5",grey:{100:"#F7F7F7",200:"#E6E6E6",300:"#D1D1D1",400:"#B0B0B0",500:"#8C8C8C",600:"#696969",700:"#474747",800:"#2B2B2B",900:"#1A1A1A"},primary:"#000000",secondary:"#B0B0B0",error:"#FF4D4D",success:"#4CAF50",background:{main:"#FFFFFF",secondary:"#F5F5F5",overlay:"rgba(0, 0, 0, 0.7)"},text:{primary:"#000000",secondary:"#474747",tertiary:"#8C8C8C",inverse:"#FFFFFF"},button:{primary:{background:"#000000",text:"#FFFFFF",hover:"#2B2B2B",disabled:"#8C8C8C"},secondary:{background:"#F5F5F5",text:"#000000",hover:"#E6E6E6",disabled:"#D1D1D1"}},border:{light:"#E6E6E6",medium:"#D1D1D1",dark:"#8C8C8C"}},typography:{fontFamily:"'Montserrat', 'Arial', sans-serif",fontSizes:{xs:"0.75rem",sm:"0.875rem",md:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem"},fontWeights:{light:300,regular:400,medium:500,semibold:600,bold:700}},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem","2xl":"3rem","3xl":"4rem"},borderRadius:{none:"0",sm:"0.125rem",md:"0.25rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem",full:"9999px"},shadows:{none:"none",sm:"0 1px 2px rgba(0, 0, 0, 0.05)",md:"0 4px 6px rgba(0, 0, 0, 0.05)",lg:"0 10px 15px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px rgba(0, 0, 0, 0.05)"},transitions:{fast:"0.1s ease",normal:"0.2s ease",slow:"0.3s ease"}},mg=(function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];"production"!==process.env.NODE_ENV&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.");var r=gm(ug.apply(void 0,Ih([e],t,!1))),o=Zp(r);return new Zm(o,r)})`
13
13
  from {
14
14
  transform: rotate(0deg);
15
15
  }
@@ -216,14 +216,14 @@ const Zl=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff
216
216
  &:hover::after {
217
217
  content: "Tip: You can paste your full verification code";
218
218
  }
219
- `,Lg=fg.div`
219
+ `,Fg=fg.div`
220
220
  position: relative;
221
221
  width: 2.5rem;
222
222
  height: 2.5rem;
223
223
  display: flex;
224
224
  align-items: center;
225
225
  justify-content: center;
226
- `,Fg=fg.input`
226
+ `,Lg=fg.input`
227
227
  width: 100%;
228
228
  height: 100%;
229
229
  text-align: center;
@@ -293,5 +293,5 @@ const Zl=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff
293
293
  color: ${pg.colors.text.tertiary};
294
294
  text-align: center;
295
295
  margin-top: ${pg.spacing.lg};
296
- `;function Dg(e){const t=e.toLowerCase(),n=r.v4();return sessionStorage.setItem(`${t}_oauthState`,JSON.stringify({state:n,timestamp:Date.now()})),n}async function Gg(e){const t=e.toLowerCase(),n=r.v4(),o=await async function(e){const t=new TextEncoder,n=t.encode(e),r=await crypto.subtle.digest("SHA-256",n),o=Array.from(new Uint8Array(r));return btoa(String.fromCharCode(...o)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}(n);return sessionStorage.setItem(`${t}_oauthCodeVerifier`,JSON.stringify({code_verifier:n,code_challenge:o,timestamp:Date.now()})),{codeVerifier:n,codeChallenge:o}}function qg(e){const t=e.toLowerCase(),n=sessionStorage.getItem(`${t}_oauthCodeVerifier`);if(!n)return null;const r=JSON.parse(n);sessionStorage.removeItem(`${t}_oauthCodeVerifier`);return Date.now()-r.timestamp>6e5?null:{codeVerifier:r.code_verifier,codeChallenge:r.code_challenge}}async function Vg(e){const t={response_type:"code",client_id:e.client_id,redirect_uri:e.redirect_uri,scope:["tweet.read","users.read"].join("%20"),code_challenge:e.code_challenge,code_challenge_method:"S256",state:e.state};return`https://twitter.com/i/oauth2/authorize?${E.stringify(t,{encode:!1})}`}async function Wg(e){const t={response_type:"code",client_id:e.client_id,redirect_uri:e.redirect_uri,scope:["openid","email","profile"].join("%20"),code_challenge:e.code_challenge,code_challenge_method:"S256",state:e.state};return`https://accounts.google.com/o/oauth2/v2/auth?${E.stringify(t,{encode:!1})}`}const Hg=()=>{if("undefined"!=typeof document&&document.getElementById("superstack-wallet-styles"))return;if("undefined"==typeof document)return;const e=document.createElement("link");e.id="superstack-wallet-fonts",e.rel="stylesheet",e.href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap",document.head.appendChild(e);const t=document.createElement("style");t.id="superstack-wallet-styles",t.textContent=`\n /* 只影响嵌入钱包模态框 */\n #embedded-wallet-modal {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 9999;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: rgba(0, 0, 0, 0.5);\n }\n \n /* 以下类选择器都只对SDK自己的元素生效 */\n .superstack-wallet-container {\n font-family: 'Montserrat', sans-serif;\n color: ${pg.colors.text.primary};\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n \n /* 直接选择SDK组件,而不是使用通配符 */\n .superstack-wallet-container h1,\n .superstack-wallet-container h2,\n .superstack-wallet-container h3,\n .superstack-wallet-container h4,\n .superstack-wallet-container h5,\n .superstack-wallet-container h6 {\n font-family: 'Montserrat', sans-serif;\n font-weight: ${pg.typography.fontWeights.semibold};\n line-height: 1.2;\n margin-bottom: ${pg.spacing.md};\n }\n \n .superstack-wallet-container p {\n font-family: 'Montserrat', sans-serif;\n margin-bottom: ${pg.spacing.md};\n }\n \n /* 为SDK定义的按钮添加类名 */\n .superstack-wallet-btn {\n font-family: 'Montserrat', sans-serif;\n cursor: pointer;\n }\n \n /* 为SDK定义的输入域添加类名 */\n .superstack-wallet-input {\n font-family: 'Montserrat', sans-serif;\n }\n \n /* 模态内容应该有自己的样式,不影响外部 */\n #embedded-wallet-modal .modal-content {\n background-color: ${pg.colors.background.main};\n border-radius: ${pg.borderRadius.md};\n padding: ${pg.spacing.lg};\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n max-width: 480px;\n width: 100%;\n }\n `,document.head.appendChild(t)};var Yg=Object.freeze({__proto__:null,injectStyles:Hg,theme:pg});function Zg({client:e,isOpen:t,onClose:n,onLogin:r,isLoading:s=!1}){const[a,i]=o.useState(""),[c,u]=o.useState(""),[l,d]=o.useState(!1),[f,h]=o.useState(!1),[p,m]=o.useState(["","","","","",""]),[g,b]=o.useState(!1),[y,w]=o.useState(!1),[v,x]=o.useState(!1),E=o.useMemo(()=>Array(6).fill(null).map(()=>o.createRef()),[]),P=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),k=e=>/^\+[1-9]\d{1,3}\d{6,14}$/.test(e);return o.useEffect(()=>{p.forEach((e,t)=>{if(E[t]&&E[t].current){const n=E[t].current;n&&e&&(n.style.fontSize=pg.typography.fontSizes.xl)}})},[p,E]),{email:a,setEmail:i,emailSent:f,setEmailSent:h,sendingCode:g,setVerificationCode:m,verificationCode:p,verifyingCode:y,connectingPhantom:v,inputRefs:E,handleCodeChange:(e,t)=>{var n,r,o;if(t.length<=1){const r=[...p];r[e]=t,m(r),t&&e<5&&(null===(n=E[e+1].current)||void 0===n||n.focus())}else if(t.length>1){const e=t.replace(/\D/g,"").slice(0,6).split(""),n=[...Array(6).fill("")];e.forEach((e,t)=>{t<6&&(n[t]=e)}),m(n);const s=n.findIndex(e=>""===e);-1!==s?null===(r=E[s].current)||void 0===r||r.focus():n[5]&&(null===(o=E[5].current)||void 0===o||o.focus())}},handleKeyDown:(e,t)=>{var n;"Backspace"===t.key&&!p[e]&&e>0&&(null===(n=E[e-1].current)||void 0===n||n.focus())},handleContainerPaste:e=>{var t,n;e.preventDefault();const r=e.clipboardData.getData("text").replace(/\D/g,"").slice(0,6).split(""),o=[...Array(6).fill("")];r.forEach((e,t)=>{t<6&&(o[t]=e)}),m(o);const s=o.findIndex(e=>""===e);-1!==s?null===(t=E[s].current)||void 0===t||t.focus():o[5]&&(null===(n=E[5].current)||void 0===n||n.focus())},handleSendVerificationCode:async(t=a)=>{try{if(!P(t))return void alert("Please enter a valid email address");b(!0),await e.sendEmailVerificationCode(t),h(!0)}catch(e){alert("Failed to send verification code"),console.error("Failed to send verification code",e)}finally{b(!1)}},handleCodeSubmit:async(t=p.join(""),o=a)=>{try{if(6!==t.length)return void alert("Please enter a valid verification code");w(!0);const s=await e.verifyEmailVerificationCode({email:o,code:t});s&&(null==r||r(s),null==n||n())}catch(e){alert("Failed to verify code"),console.error("Failed to verify code",e)}finally{w(!1)}},handlePhoneCodeSubmit:async(t=p.join(""),o=c)=>{try{if(6!==t.length)return void alert("Please enter a valid verification code");w(!0);const s=await e.verifyPhoneVerificationCode({phone:o,code:t});s&&(null==r||r(s),null==n||n())}catch(e){alert("Failed to verify code"),console.error("Failed to verify code",e)}finally{w(!1)}},handleSendPhoneVerificationCode:async(t=c)=>{try{if(!k(t))return void alert("Please enter a valid phone number");await e.sendPhoneVerificationCode(t),d(!0)}catch(e){alert("Failed to send verification code"),console.error("Failed to send verification code",e)}finally{b(!1)}},handleGetChallenge:async(t,n)=>await e.getSignChallenge({method:null!=n?n:"phantom",id:t}),handleLoginWithChallenge:async(t,o)=>{try{const s=await e.loginWithChallenge(t,o);s&&(null==r||r(s),null==n||n())}catch(e){alert("Failed to login with challenge"),console.error("Failed to login with challenge",e)}finally{w(!1)}},phone:c,setPhone:u,phoneSent:l,setPhoneSent:d,onOauthLogin:async t=>{const n=Dg(t),{codeVerifier:r,codeChallenge:o}=await Gg(t),s=new URL(window.location.href);s.searchParams.forEach((e,t)=>{s.searchParams.delete(t)});const a=s.toString(),i=await e.oauthInit({provider:t,redirect_uri:a,state:n,code_challenge:o}),{url:c,client_id:u}=i;if(!c&&!u)throw console.error("OAuth init failed."),new Error("init failed");const l={client_id:u,redirect_uri:c,state:n,code_challenge:o},d="google"===t?await Wg(l):await Vg(l);window.location.href=d},handlePhantomLogin:async()=>{try{x(!0);const t=await e.connectPhantom();t&&(null==r||r(t),null==n||n())}catch(e){console.error("Phantom login error:",e),alert("Failed to connect to Phantom wallet. Please make sure you have the Phantom extension installed.")}finally{x(!1)}},isOpen:t,onClose:n,onLogin:r,isLoading:s}}const Kg=({client:e,isOpen:t,onClose:n,onLogin:r,isLoading:o=!1,enableEmail:a=!0,enablePhone:i=!1,enableGoogle:c=!0,enableTwitter:u=!1,enablePhantom:l=!0})=>{const{email:d,setEmail:f,emailSent:h,sendingCode:p,setEmailSent:m,verifyingCode:g,verificationCode:b,connectingPhantom:y,inputRefs:w,handleCodeChange:v,handleKeyDown:E,handleContainerPaste:P,handleSendVerificationCode:k,handleCodeSubmit:A,onOauthLogin:I,handlePhantomLogin:S}=Zg({client:e,isOpen:t,onClose:n,onLogin:r,isLoading:o});return t?x.default.createElement(gg,null,x.default.createElement(bg,null,x.default.createElement(yg,null,x.default.createElement(wg,null,"Connect Wallet"),x.default.createElement(vg,{onClick:n},x.default.createElement(xg,{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},x.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))),o?x.default.createElement(Eg,null,x.default.createElement(Pg,null,x.default.createElement(s.Loader2,{size:24})),x.default.createElement(kg,null,"Loading...")):x.default.createElement(x.default.Fragment,null,h?x.default.createElement(_g,null,x.default.createElement("div",null,x.default.createElement(Rg,null,"Enter Verification Code"),x.default.createElement(zg,null,"We sent a verification code to ",d)),x.default.createElement(Mg,{onPaste:P},b.map((e,t)=>x.default.createElement(Lg,{key:t},x.default.createElement(Fg,{ref:w[t],type:"text",maxLength:1,value:e,onChange:e=>v(t,e.target.value),onKeyDown:e=>E(t,e),onPaste:e=>{0!==t&&(e.preventDefault(),P(e))}})))),x.default.createElement(Sg,{onClick:()=>A(),disabled:6!==b.join("").length||g},g?"Verifying...":"Verify Code"),x.default.createElement(jg,{onClick:()=>m(!1)},"Back to Email")):x.default.createElement(Ag,null,a&&x.default.createElement(Ag,null,x.default.createElement(Ig,{type:"email",value:d,onChange:e=>f(e.target.value),placeholder:"Enter your email",disabled:p}),x.default.createElement(Sg,{onClick:()=>k(),disabled:!d||p},p?"Sending...":"Send Verification Code")),(c||u||l)&&a&&x.default.createElement(Ng,null,x.default.createElement(Tg,null),x.default.createElement($g,null,"Or continue with"),x.default.createElement(Tg,null)),(c||u||l)&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Bg,null,c&&x.default.createElement(Cg,{onClick:()=>I("google")},x.default.createElement(Og,null,x.default.createElement("img",{src:"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/google/google-original.svg",alt:"Google",width:20,height:20})),"Google"),u&&x.default.createElement(Cg,{onClick:()=>I("twitter")},x.default.createElement(Og,null,x.default.createElement("img",{src:"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/twitter/twitter-original.svg",alt:"Twitter",width:20,height:20})),"X")),l&&x.default.createElement(Cg,{onClick:S,disabled:y},x.default.createElement(Og,null,x.default.createElement("img",{src:"https://explorer-api.walletconnect.com/v3/logo/md/b6ec7b81-bb4f-427d-e290-7631e6e50d00?projectId=34357d3c125c2bcf2ce2bc3309d98715",alt:"Phantom",width:20,height:20})),y?"Connecting...":"Phantom")),!a&&!i&&!c&&!u&&!l&&x.default.createElement("div",{style:{textAlign:"center",padding:"20px",color:"#666"}},"No login methods are currently enabled."))),x.default.createElement(Ug,null,"By connecting your wallet, you agree to our Terms of Service and Privacy Policy"))):null};class Jg{constructor(){this.container=null,this.root=null}createContainer(){if("undefined"==typeof document)return null;this.removeExistingContainer();const e=document.createElement("div");return e.id="embedded-wallet-modal",document.body.appendChild(e),e}removeExistingContainer(){if("undefined"==typeof document)return;const e=document.getElementById("embedded-wallet-modal");e&&e.parentNode&&e.parentNode.removeChild(e)}showLoginModal({client:e,isLoading:t=!1,hideLoginModal:n=!1,onClose:r,onLogin:o,enableEmail:s=!0,enablePhone:a=!1,enableGoogle:i=!0,enableTwitter:c=!1,enablePhantom:u=!0}){return new Promise((n,l)=>{try{if("undefined"==typeof window)return void n();import("react-dom/client").then(({createRoot:l})=>{if(this.container=this.createContainer(),!this.container)return void n();this.root=l(this.container);const d=()=>{this.hideModal(),null==r||r()},f=e=>{this.hideModal(),null==o||o(e)};this.root&&this.root.render(x.default.createElement(Kg,{client:e,isOpen:!0,onClose:d,isLoading:t,onLogin:f,enableEmail:s,enablePhone:a,enableGoogle:i,enableTwitter:c,enablePhantom:u})),n()}).catch(e=>{console.error("Error importing createRoot:",e),l(e)})}catch(e){console.error("Error showing modal:",e),l(e)}})}hideModal(e){this.root&&(this.root.unmount(),this.container&&this.container.parentNode&&(document.body.removeChild(this.container),this.container=null))}}const Qg={isAuthenticated:!1,isConnecting:!1,isInitialized:!1,walletInfo:null,wallet:null,session:null,error:null,enableEmail:!0,enablePhone:!1,enableGoogle:!0,enableTwitter:!1,enablePhantom:!0},Xg=o.createContext({});function eb(e,t){switch(t.type){case"SET_CONNECTING":return{...e,isConnecting:t.payload};case"SET_INITIALIZED":return{...e,isInitialized:t.payload};case"SET_SESSION":return{...e,isAuthenticated:!0,session:t.payload,error:null};case"SET_WALLET_INFO":return{...e,walletInfo:t.payload};case"SET_WALLET":return{...e,wallet:t.payload};case"SET_ERROR":return{...e,error:t.payload};case"RESET":return{...Qg,isInitialized:!0};default:return e}}function tb(){const e=o.useContext(Xg);if(!e)throw new Error("useWallet must be used within a WalletProvider");return e}"undefined"!=typeof window&&Promise.resolve().then(function(){return Yg}).then(({injectStyles:e})=>{e()}),exports.ACCESS_TOKEN_KEY=S,exports.BACKUP_WALLET_INFO=N,exports.BACKUP_WALLET_TYPE_KEY=I,exports.IS_GOOGLE_AUTH_BIND=T,exports.STORAGE_STATE_KEY=k,exports.Storage=$,exports.WALLET_TYPE_KEY=A,exports.WalletClient=kh,exports.WalletProvider=function({children:e,config:t}){var n,r,s,a,i,c;const u=o.useRef(null!==(n=t.modalManager)&&void 0!==n?n:null),[l,d]=o.useReducer(eb,{...Qg,enableEmail:null===(r=t.enableEmail)||void 0===r||r,enablePhone:null!==(s=t.enablePhone)&&void 0!==s&&s,enableGoogle:null===(a=t.enableGoogle)||void 0===a||a,enableTwitter:null!==(i=t.enableTwitter)&&void 0!==i&&i,enablePhantom:null===(c=t.enablePhantom)||void 0===c||c}),f=o.useRef(null);f.current||(f.current=new kh({...t,setWalletInfo:e=>{d({type:"SET_WALLET_INFO",payload:e})}}));const h=f.current,{walletInfo:p}=l,m=o.useRef(!1),g=o.useCallback(()=>(u.current||"undefined"==typeof window||(u.current=new Jg),u.current),[]);o.useEffect(()=>{t.modalManager&&(u.current=t.modalManager)},[t.modalManager]),o.useEffect(()=>{!async function(){if(!(p||m.current||l.isInitialized)){m.current=!0;try{const e=await h.reconnect();e&&(d({type:"SET_WALLET_INFO",payload:e}),d({type:"SET_WALLET",payload:h}))}catch(e){console.error("Auto reconnect failed:",e)}finally{d({type:"SET_INITIALIZED",payload:!0})}}}()},[h]),o.useEffect(()=>{const e=async()=>{try{const e=$.getIsGoogleAuthBind();if(w.isConnecting||e)return;d({type:"SET_CONNECTING",payload:!0});const t=new URLSearchParams(window.location.search),n=t.get("wallet_oauth_provider"),r=t.get("wallet_oauth_state"),o=t.get("wallet_oauth_code");if(n&&r&&o){const e=qg(n);if(!e)throw new Error("No code verifier found");const{codeVerifier:t,codeChallenge:s}=e;let a;if("twitter"===n)a="TwitterOAuth";else{if("google"!==n)throw new Error("Unsupported provider");a="GoogleOAuth"}g().showLoginModal({client:h,isLoading:!0,enableEmail:l.enableEmail,enablePhone:l.enablePhone,enableGoogle:l.enableGoogle,enableTwitter:l.enableTwitter,enablePhantom:l.enablePhantom});const i=await h.oauthLogin(a,{state:r,code:o,code_verifier:t});if(i){d({type:"SET_WALLET_INFO",payload:i}),d({type:"SET_WALLET",payload:h});const e=new URL(window.location.href);e.searchParams.delete("wallet_oauth_provider"),e.searchParams.delete("wallet_oauth_state"),e.searchParams.delete("wallet_oauth_code"),history.replaceState(null,"",e.toString())}}}catch(e){console.log("oauth login error: ",e)}finally{d({type:"SET_CONNECTING",payload:!1}),await g().hideModal()}};return e(),window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}},[]);const b=o.useCallback(async e=>{try{d({type:"SET_CONNECTING",payload:!0});g().showLoginModal({client:h,hideLoginModal:e,enableEmail:l.enableEmail,enablePhone:l.enablePhone,enableGoogle:l.enableGoogle,enableTwitter:l.enableTwitter,enablePhantom:l.enablePhantom,onClose:()=>{d({type:"SET_CONNECTING",payload:!1})},onLogin:e=>{d({type:"SET_CONNECTING",payload:!1}),d({type:"SET_WALLET_INFO",payload:e}),d({type:"SET_WALLET",payload:h})}})}catch(e){d({type:"SET_ERROR",payload:e instanceof Error?e.message:"Failed to connect"}),d({type:"SET_CONNECTING",payload:!1})}},[h]),y=o.useCallback(async()=>{await h.logout(),d({type:"RESET"})},[h]);o.useEffect(()=>{var e;"phantom"===$.getWalletType()&&h.getPhantomAdapter()&&(null===(e=h.getPhantomAdapter())||void 0===e||e.on("disconnect",()=>{y()}))},[h]);const w={...l,connect:b,disconnect:y};return x.default.createElement(Xg.Provider,{value:w},e)},exports.buildCodeVerifierAndChallenge=Gg,exports.buildOAuthState=Dg,exports.getGoogleOAuth2Link=Wg,exports.getTwitterOAuth2Link=Vg,exports.injectStyles=Hg,exports.isVersionedTransaction=P,exports.retrieveAndClearCodeVerifierAndChallenge=qg,exports.retrieveAndClearState=function(e){const t=e.toLowerCase(),n=sessionStorage.getItem(`${t}_oauthState`);if(!n)return null;const r=JSON.parse(n);return sessionStorage.removeItem(`${t}_oauthState`),Date.now()-r.timestamp>6e5?null:r.state},exports.theme=pg,exports.useCoinbaseOnramp=function(e,t){const{wallet:n}=tb();return{getCoinbaseOnrampUrl:async(r,o="solana",s)=>{if(!n||!e||!t)throw new Error("Wallet not found");const a="solana"===o?e:t;return kf({sessionToken:await(null==n?void 0:n.fetchCoinbaseToken(a,o)),presetCryptoAmount:Number(r),redirectUrl:s||window.location.href})}}},exports.useConnect=function(){const{connect:e,disconnect:t,isConnecting:n}=tb();return{connect:e,disconnect:t,isConnecting:n}},exports.useLoginModal=Zg,exports.useWallet=tb,exports.useWalletStatus=function(){const{error:e,session:t,isInitialized:n,wallet:r}=tb();return{isAuthenticated:null!==r,authenticated:null!==r,error:e,session:t,isInitialized:n,ready:n}};
296
+ `;function Dg(e){const t=e.toLowerCase(),n=r.v4();return sessionStorage.setItem(`${t}_oauthState`,JSON.stringify({state:n,timestamp:Date.now()})),n}async function Gg(e){const t=e.toLowerCase(),n=r.v4(),o=await async function(e){const t=new TextEncoder,n=t.encode(e),r=await crypto.subtle.digest("SHA-256",n),o=Array.from(new Uint8Array(r));return btoa(String.fromCharCode(...o)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}(n);return sessionStorage.setItem(`${t}_oauthCodeVerifier`,JSON.stringify({code_verifier:n,code_challenge:o,timestamp:Date.now()})),{codeVerifier:n,codeChallenge:o}}function qg(e){const t=e.toLowerCase(),n=sessionStorage.getItem(`${t}_oauthCodeVerifier`);if(!n)return null;const r=JSON.parse(n);sessionStorage.removeItem(`${t}_oauthCodeVerifier`);return Date.now()-r.timestamp>6e5?null:{codeVerifier:r.code_verifier,codeChallenge:r.code_challenge}}async function Vg(e){const t={response_type:"code",client_id:e.client_id,redirect_uri:e.redirect_uri,scope:["tweet.read","users.read"].join("%20"),code_challenge:e.code_challenge,code_challenge_method:"S256",state:e.state};return`https://twitter.com/i/oauth2/authorize?${E.stringify(t,{encode:!1})}`}async function Wg(e){const t={response_type:"code",client_id:e.client_id,redirect_uri:e.redirect_uri,scope:["openid","email","profile"].join("%20"),code_challenge:e.code_challenge,code_challenge_method:"S256",state:e.state};return`https://accounts.google.com/o/oauth2/v2/auth?${E.stringify(t,{encode:!1})}`}const Hg=()=>{if("undefined"!=typeof document&&document.getElementById("superstack-wallet-styles"))return;if("undefined"==typeof document)return;const e=document.createElement("link");e.id="superstack-wallet-fonts",e.rel="stylesheet",e.href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap",document.head.appendChild(e);const t=document.createElement("style");t.id="superstack-wallet-styles",t.textContent=`\n /* 只影响嵌入钱包模态框 */\n #embedded-wallet-modal {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 9999;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: rgba(0, 0, 0, 0.5);\n }\n \n /* 以下类选择器都只对SDK自己的元素生效 */\n .superstack-wallet-container {\n font-family: 'Montserrat', sans-serif;\n color: ${pg.colors.text.primary};\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n \n /* 直接选择SDK组件,而不是使用通配符 */\n .superstack-wallet-container h1,\n .superstack-wallet-container h2,\n .superstack-wallet-container h3,\n .superstack-wallet-container h4,\n .superstack-wallet-container h5,\n .superstack-wallet-container h6 {\n font-family: 'Montserrat', sans-serif;\n font-weight: ${pg.typography.fontWeights.semibold};\n line-height: 1.2;\n margin-bottom: ${pg.spacing.md};\n }\n \n .superstack-wallet-container p {\n font-family: 'Montserrat', sans-serif;\n margin-bottom: ${pg.spacing.md};\n }\n \n /* 为SDK定义的按钮添加类名 */\n .superstack-wallet-btn {\n font-family: 'Montserrat', sans-serif;\n cursor: pointer;\n }\n \n /* 为SDK定义的输入域添加类名 */\n .superstack-wallet-input {\n font-family: 'Montserrat', sans-serif;\n }\n \n /* 模态内容应该有自己的样式,不影响外部 */\n #embedded-wallet-modal .modal-content {\n background-color: ${pg.colors.background.main};\n border-radius: ${pg.borderRadius.md};\n padding: ${pg.spacing.lg};\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n max-width: 480px;\n width: 100%;\n }\n `,document.head.appendChild(t)};var Yg=Object.freeze({__proto__:null,injectStyles:Hg,theme:pg});function Zg({client:e,isOpen:t,onClose:n,onLogin:r,isLoading:s=!1}){const[a,i]=o.useState(""),[c,u]=o.useState(""),[l,d]=o.useState(!1),[f,h]=o.useState(!1),[p,m]=o.useState(["","","","","",""]),[g,b]=o.useState(!1),[y,w]=o.useState(!1),[v,x]=o.useState(!1),E=o.useMemo(()=>Array(6).fill(null).map(()=>o.createRef()),[]),P=e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),k=e=>/^\+[1-9]\d{1,3}\d{6,14}$/.test(e);return o.useEffect(()=>{p.forEach((e,t)=>{if(E[t]&&E[t].current){const n=E[t].current;n&&e&&(n.style.fontSize=pg.typography.fontSizes.xl)}})},[p,E]),{email:a,setEmail:i,emailSent:f,setEmailSent:h,sendingCode:g,setVerificationCode:m,verificationCode:p,verifyingCode:y,connectingPhantom:v,inputRefs:E,handleCodeChange:(e,t)=>{var n,r,o;if(t.length<=1){const r=[...p];r[e]=t,m(r),t&&e<5&&(null===(n=E[e+1].current)||void 0===n||n.focus())}else if(t.length>1){const e=t.replace(/\D/g,"").slice(0,6).split(""),n=[...Array(6).fill("")];e.forEach((e,t)=>{t<6&&(n[t]=e)}),m(n);const s=n.findIndex(e=>""===e);-1!==s?null===(r=E[s].current)||void 0===r||r.focus():n[5]&&(null===(o=E[5].current)||void 0===o||o.focus())}},handleKeyDown:(e,t)=>{var n;"Backspace"===t.key&&!p[e]&&e>0&&(null===(n=E[e-1].current)||void 0===n||n.focus())},handleContainerPaste:e=>{var t,n;e.preventDefault();const r=e.clipboardData.getData("text").replace(/\D/g,"").slice(0,6).split(""),o=[...Array(6).fill("")];r.forEach((e,t)=>{t<6&&(o[t]=e)}),m(o);const s=o.findIndex(e=>""===e);-1!==s?null===(t=E[s].current)||void 0===t||t.focus():o[5]&&(null===(n=E[5].current)||void 0===n||n.focus())},handleSendVerificationCode:async(t=a)=>{try{if(!P(t))return void alert("Please enter a valid email address");b(!0),await e.sendEmailVerificationCode(t),h(!0)}catch(e){alert("Failed to send verification code"),console.error("Failed to send verification code",e)}finally{b(!1)}},handleCodeSubmit:async(t=p.join(""),o=a)=>{try{if(6!==t.length)return void alert("Please enter a valid verification code");w(!0);const s=await e.verifyEmailVerificationCode({email:o,code:t});s&&(null==r||r(s),null==n||n())}catch(e){alert("Failed to verify code"),console.error("Failed to verify code",e)}finally{w(!1)}},handlePhoneCodeSubmit:async(t=p.join(""),o=c)=>{try{if(6!==t.length)return void alert("Please enter a valid verification code");w(!0);const s=await e.verifyPhoneVerificationCode({phone:o,code:t});s&&(null==r||r(s),null==n||n())}catch(e){alert("Failed to verify code"),console.error("Failed to verify code",e)}finally{w(!1)}},handleSendPhoneVerificationCode:async(t=c)=>{try{if(!k(t))return void alert("Please enter a valid phone number");await e.sendPhoneVerificationCode(t),d(!0)}catch(e){alert("Failed to send verification code"),console.error("Failed to send verification code",e)}finally{b(!1)}},handleGetChallenge:async(t,n)=>await e.getSignChallenge({method:null!=n?n:"phantom",id:t}),handleLoginWithChallenge:async(t,o)=>{try{const s=await e.loginWithChallenge(t,o);s&&(null==r||r(s),null==n||n())}catch(e){alert("Failed to login with challenge"),console.error("Failed to login with challenge",e)}finally{w(!1)}},phone:c,setPhone:u,phoneSent:l,setPhoneSent:d,onOauthLogin:async t=>{const n=Dg(t),{codeVerifier:r,codeChallenge:o}=await Gg(t),s=new URL(window.location.href);s.searchParams.forEach((e,t)=>{s.searchParams.delete(t)});const a=s.toString(),i=await e.oauthInit({provider:t,redirect_uri:a,state:n,code_challenge:o}),{url:c,client_id:u}=i;if(!c&&!u)throw console.error("OAuth init failed."),new Error("init failed");const l={client_id:u,redirect_uri:c,state:n,code_challenge:o},d="google"===t?await Wg(l):await Vg(l);window.location.href=d},handlePhantomLogin:async()=>{try{x(!0);const t=await e.connectPhantom();t&&(null==r||r(t),null==n||n())}catch(e){console.error("Phantom login error:",e),alert("Failed to connect to Phantom wallet. Please make sure you have the Phantom extension installed.")}finally{x(!1)}},isOpen:t,onClose:n,onLogin:r,isLoading:s}}const Kg=({client:e,isOpen:t,onClose:n,onLogin:r,isLoading:o=!1,enableEmail:a=!0,enablePhone:i=!1,enableGoogle:c=!0,enableTwitter:u=!1,enablePhantom:l=!0})=>{const{email:d,setEmail:f,emailSent:h,sendingCode:p,setEmailSent:m,verifyingCode:g,verificationCode:b,connectingPhantom:y,inputRefs:w,handleCodeChange:v,handleKeyDown:E,handleContainerPaste:P,handleSendVerificationCode:k,handleCodeSubmit:A,onOauthLogin:I,handlePhantomLogin:S}=Zg({client:e,isOpen:t,onClose:n,onLogin:r,isLoading:o});return t?x.default.createElement(gg,null,x.default.createElement(bg,null,x.default.createElement(yg,null,x.default.createElement(wg,null,"Connect Wallet"),x.default.createElement(vg,{onClick:n},x.default.createElement(xg,{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},x.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))),o?x.default.createElement(Eg,null,x.default.createElement(Pg,null,x.default.createElement(s.Loader2,{size:24})),x.default.createElement(kg,null,"Loading...")):x.default.createElement(x.default.Fragment,null,h?x.default.createElement(_g,null,x.default.createElement("div",null,x.default.createElement(Rg,null,"Enter Verification Code"),x.default.createElement(zg,null,"We sent a verification code to ",d)),x.default.createElement(Mg,{onPaste:P},b.map((e,t)=>x.default.createElement(Fg,{key:t},x.default.createElement(Lg,{ref:w[t],type:"text",maxLength:1,value:e,onChange:e=>v(t,e.target.value),onKeyDown:e=>E(t,e),onPaste:e=>{0!==t&&(e.preventDefault(),P(e))}})))),x.default.createElement(Sg,{onClick:()=>A(),disabled:6!==b.join("").length||g},g?"Verifying...":"Verify Code"),x.default.createElement(jg,{onClick:()=>m(!1)},"Back to Email")):x.default.createElement(Ag,null,a&&x.default.createElement(Ag,null,x.default.createElement(Ig,{type:"email",value:d,onChange:e=>f(e.target.value),placeholder:"Enter your email",disabled:p}),x.default.createElement(Sg,{onClick:()=>k(),disabled:!d||p},p?"Sending...":"Send Verification Code")),(c||u||l)&&a&&x.default.createElement(Ng,null,x.default.createElement(Tg,null),x.default.createElement($g,null,"Or continue with"),x.default.createElement(Tg,null)),(c||u||l)&&x.default.createElement(x.default.Fragment,null,x.default.createElement(Bg,null,c&&x.default.createElement(Cg,{onClick:()=>I("google")},x.default.createElement(Og,null,x.default.createElement("img",{src:"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/google/google-original.svg",alt:"Google",width:20,height:20})),"Google"),u&&x.default.createElement(Cg,{onClick:()=>I("twitter")},x.default.createElement(Og,null,x.default.createElement("img",{src:"https://cdn.jsdelivr.net/gh/devicons/devicon/icons/twitter/twitter-original.svg",alt:"Twitter",width:20,height:20})),"X")),l&&x.default.createElement(Cg,{onClick:S,disabled:y},x.default.createElement(Og,null,x.default.createElement("img",{src:"https://explorer-api.walletconnect.com/v3/logo/md/b6ec7b81-bb4f-427d-e290-7631e6e50d00?projectId=34357d3c125c2bcf2ce2bc3309d98715",alt:"Phantom",width:20,height:20})),y?"Connecting...":"Phantom")),!a&&!i&&!c&&!u&&!l&&x.default.createElement("div",{style:{textAlign:"center",padding:"20px",color:"#666"}},"No login methods are currently enabled."))),x.default.createElement(Ug,null,"By connecting your wallet, you agree to our Terms of Service and Privacy Policy"))):null};class Jg{constructor(){this.container=null,this.root=null}createContainer(){if("undefined"==typeof document)return null;this.removeExistingContainer();const e=document.createElement("div");return e.id="embedded-wallet-modal",document.body.appendChild(e),e}removeExistingContainer(){if("undefined"==typeof document)return;const e=document.getElementById("embedded-wallet-modal");e&&e.parentNode&&e.parentNode.removeChild(e)}showLoginModal({client:e,isLoading:t=!1,hideLoginModal:n=!1,onClose:r,onLogin:o,enableEmail:s=!0,enablePhone:a=!1,enableGoogle:i=!0,enableTwitter:c=!1,enablePhantom:u=!0}){return new Promise((n,l)=>{try{if("undefined"==typeof window)return void n();import("react-dom/client").then(({createRoot:l})=>{if(this.container=this.createContainer(),!this.container)return void n();this.root=l(this.container);const d=()=>{this.hideModal(),null==r||r()},f=e=>{this.hideModal(),null==o||o(e)};this.root&&this.root.render(x.default.createElement(Kg,{client:e,isOpen:!0,onClose:d,isLoading:t,onLogin:f,enableEmail:s,enablePhone:a,enableGoogle:i,enableTwitter:c,enablePhantom:u})),n()}).catch(e=>{console.error("Error importing createRoot:",e),l(e)})}catch(e){console.error("Error showing modal:",e),l(e)}})}hideModal(e){this.root&&(this.root.unmount(),this.container&&this.container.parentNode&&(document.body.removeChild(this.container),this.container=null))}}const Qg={isAuthenticated:!1,isConnecting:!1,isInitialized:!1,walletInfo:null,wallet:null,session:null,error:null,enableEmail:!0,enablePhone:!1,enableGoogle:!0,enableTwitter:!1,enablePhantom:!0},Xg=o.createContext({});function eb(e,t){switch(t.type){case"SET_CONNECTING":return{...e,isConnecting:t.payload};case"SET_INITIALIZED":return{...e,isInitialized:t.payload};case"SET_SESSION":return{...e,isAuthenticated:!0,session:t.payload,error:null};case"SET_WALLET_INFO":return{...e,walletInfo:t.payload};case"SET_WALLET":return{...e,wallet:t.payload};case"SET_ERROR":return{...e,error:t.payload};case"RESET":return{...Qg,isInitialized:!0};default:return e}}function tb(){const e=o.useContext(Xg);if(!e)throw new Error("useWallet must be used within a WalletProvider");return e}"undefined"!=typeof window&&Promise.resolve().then(function(){return Yg}).then(({injectStyles:e})=>{e()}),exports.ACCESS_TOKEN_KEY=S,exports.BACKUP_WALLET_INFO=N,exports.BACKUP_WALLET_TYPE_KEY=I,exports.IS_GOOGLE_AUTH_BIND=T,exports.STORAGE_STATE_KEY=k,exports.Storage=$,exports.WALLET_TYPE_KEY=A,exports.WalletClient=kh,exports.WalletProvider=function({children:e,config:t}){var n,r,s,a,i,c;const u=o.useRef(null!==(n=t.modalManager)&&void 0!==n?n:null),[l,d]=o.useReducer(eb,{...Qg,enableEmail:null===(r=t.enableEmail)||void 0===r||r,enablePhone:null!==(s=t.enablePhone)&&void 0!==s&&s,enableGoogle:null===(a=t.enableGoogle)||void 0===a||a,enableTwitter:null!==(i=t.enableTwitter)&&void 0!==i&&i,enablePhantom:null===(c=t.enablePhantom)||void 0===c||c}),f=o.useRef(null);f.current||(f.current=new kh({...t,setWalletInfo:e=>{d({type:"SET_WALLET_INFO",payload:e})}}));const h=f.current,{walletInfo:p}=l,m=o.useRef(!1),g=o.useCallback(()=>(u.current||"undefined"==typeof window||(u.current=new Jg),u.current),[]);o.useEffect(()=>{t.modalManager&&(u.current=t.modalManager)},[t.modalManager]),o.useEffect(()=>{!async function(){if(!(p||m.current||l.isInitialized)){m.current=!0;try{const e=await h.reconnect();e&&(d({type:"SET_WALLET_INFO",payload:e}),d({type:"SET_WALLET",payload:h}))}catch(e){console.error("Auto reconnect failed:",e)}finally{d({type:"SET_INITIALIZED",payload:!0})}}}()},[h]),o.useEffect(()=>{const e=async()=>{try{const e=$.getIsGoogleAuthBind();if(w.isConnecting||e)return;d({type:"SET_CONNECTING",payload:!0});const t=new URLSearchParams(window.location.search),n=t.get("wallet_oauth_provider"),r=t.get("wallet_oauth_state"),o=t.get("wallet_oauth_code");if(n&&r&&o){const e=qg(n);if(!e)throw new Error("No code verifier found");const{codeVerifier:t,codeChallenge:s}=e;let a;if("twitter"===n)a="TwitterOAuth";else{if("google"!==n)throw new Error("Unsupported provider");a="GoogleOAuth"}g().showLoginModal({client:h,isLoading:!0,enableEmail:l.enableEmail,enablePhone:l.enablePhone,enableGoogle:l.enableGoogle,enableTwitter:l.enableTwitter,enablePhantom:l.enablePhantom});const i=await h.oauthLogin(a,{state:r,code:o,code_verifier:t});if(i){d({type:"SET_WALLET_INFO",payload:i}),d({type:"SET_WALLET",payload:h});const e=new URL(window.location.href);e.searchParams.delete("wallet_oauth_provider"),e.searchParams.delete("wallet_oauth_state"),e.searchParams.delete("wallet_oauth_code"),history.replaceState(null,"",e.toString())}}}catch(e){console.log("oauth login error: ",e)}finally{d({type:"SET_CONNECTING",payload:!1}),await g().hideModal()}};return e(),window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}},[]);const b=o.useCallback(async e=>{try{d({type:"SET_CONNECTING",payload:!0});g().showLoginModal({client:h,hideLoginModal:e,enableEmail:l.enableEmail,enablePhone:l.enablePhone,enableGoogle:l.enableGoogle,enableTwitter:l.enableTwitter,enablePhantom:l.enablePhantom,onClose:()=>{d({type:"SET_CONNECTING",payload:!1})},onLogin:e=>{d({type:"SET_CONNECTING",payload:!1}),d({type:"SET_WALLET_INFO",payload:e}),d({type:"SET_WALLET",payload:h})}})}catch(e){d({type:"SET_ERROR",payload:e instanceof Error?e.message:"Failed to connect"}),d({type:"SET_CONNECTING",payload:!1})}},[h]),y=o.useCallback(async()=>{await h.logout(),d({type:"RESET"})},[h]);o.useEffect(()=>{var e;"phantom"===$.getWalletType()&&h.getPhantomAdapter()&&(null===(e=h.getPhantomAdapter())||void 0===e||e.on("disconnect",()=>{y()}))},[h]);const w={...l,connect:b,disconnect:y};return x.default.createElement(Xg.Provider,{value:w},e)},exports.buildCodeVerifierAndChallenge=Gg,exports.buildOAuthState=Dg,exports.getGoogleOAuth2Link=Wg,exports.getTwitterOAuth2Link=Vg,exports.injectStyles=Hg,exports.isVersionedTransaction=P,exports.retrieveAndClearCodeVerifierAndChallenge=qg,exports.retrieveAndClearState=function(e){const t=e.toLowerCase(),n=sessionStorage.getItem(`${t}_oauthState`);if(!n)return null;const r=JSON.parse(n);return sessionStorage.removeItem(`${t}_oauthState`),Date.now()-r.timestamp>6e5?null:r.state},exports.theme=pg,exports.useCoinbaseOnramp=function(e,t){const{wallet:n}=tb();return{getCoinbaseOnrampUrl:async(r,o="solana",s)=>{if(!n||!e||!t)throw new Error("Wallet not found");const a="solana"===o?e:t;return kf({sessionToken:await(null==n?void 0:n.fetchCoinbaseToken(a,o)),presetCryptoAmount:Number(r),redirectUrl:s||window.location.href})}}},exports.useConnect=function(){const{connect:e,disconnect:t,isConnecting:n}=tb();return{connect:e,disconnect:t,isConnecting:n}},exports.useLoginModal=Zg,exports.useWallet=tb,exports.useWalletStatus=function(){const{error:e,session:t,isInitialized:n,wallet:r}=tb();return{isAuthenticated:null!==r,authenticated:null!==r,error:e,session:t,isInitialized:n,ready:n}};
297
297
  //# sourceMappingURL=index.cjs.map