mppx 0.6.29 → 0.6.31
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/CHANGELOG.md +14 -0
- package/dist/evm/index.d.ts +1 -0
- package/dist/evm/index.d.ts.map +1 -1
- package/dist/evm/index.js +1 -0
- package/dist/evm/index.js.map +1 -1
- package/dist/server/Request.js +24 -10
- package/dist/server/Request.js.map +1 -1
- package/dist/stripe/server/internal/html.gen.d.ts +1 -1
- package/dist/stripe/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/Session.d.ts.map +1 -1
- package/dist/tempo/server/Session.js +16 -13
- package/dist/tempo/server/Session.js.map +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/html.gen.js.map +1 -1
- package/package.json +3 -3
- package/src/Challenge.test.ts +30 -4
- package/src/evm/PublicInterface.test-d.ts +5 -0
- package/src/evm/index.ts +1 -0
- package/src/server/Mppx.test.ts +74 -0
- package/src/server/Request.test.ts +81 -0
- package/src/server/Request.ts +23 -9
- package/src/stripe/server/internal/html/package.json +1 -1
- package/src/stripe/server/internal/html.gen.ts +1 -1
- package/src/tempo/server/Session.test.ts +117 -18
- package/src/tempo/server/Session.ts +17 -14
- package/src/tempo/server/internal/html/package.json +1 -1
- package/src/tempo/server/internal/html.gen.ts +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const html = "<script>(function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let d=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function f(e){return e}function p(e,t={}){let{targetOrigin:n}=t,r=new Map;return f({destroy(){for(let t of r.values())e.removeEventListener(`message`,t);r.clear()},on(t,i,a){function o(e){e.data.topic===t&&(a&&e.data.id!==a||n&&e.origin!==n||i(e.data.payload,e))}return e.addEventListener(`message`,o),r.set(t,o),()=>{e.removeEventListener(`message`,o),r.delete(t)}},async send(t,r,i){let a=crypto.randomUUID();return e.postMessage(g({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function m(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=h();t.on(`ready`,e=>a.resolve(e??{}));let o=f({destroy(){t.destroy(),n.destroy(),i&&a.reject()},on(e,n,r){return t.on(e,n,r)},async send(e,t){return i=!0,r&&await a.promise.finally(()=>i=!1),n.send(e,t)}});return{...o,ready(e){o.send(`ready`,e??{})},waitForReady(){return a.promise}}}function h(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function g(e){if(Array.isArray(e))return e.map(g);if(typeof e==`function`)return;if(typeof e!=`object`||!e)return e;if(Object.getPrototypeOf(e)!==Object.prototype)try{return structuredClone(e)}catch{return}let t={};for(let[n,r]of Object.entries(e))t[n]=g(r);return t}function _(e,t,n){return n&&v(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function v(e,t){return y(e)===y(t)}function y(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function b(e,t){t&&(t.accent&&e.searchParams.set(`accent`,t.accent),t.radius&&e.searchParams.set(`radius`,t.radius),t.scheme&&e.searchParams.set(`scheme`,t.scheme))}let x={height:440,width:360};function S(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function ee(){return typeof window>`u`?!1:window.location.protocol===`http:`?!0:!window.isSecureContext}function te(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let C,w,ne,re=[];function ie(){return typeof window>`u`?oe():S({name:`iframe`},e=>{let{host:t}=e;if(C&&C.host===t){let t=w;return w=e.store,t&&t!==w&&!re.includes(t)&&re.push(t),ne?.destroy(),ne=ae()(e),C.instance.syncTheme(e.theme),C.instance}C?.instance.destroy(),w=e.store,ne=ae()(e);let n=!1,r=fe(),i=new URL(t);i.searchParams.set(`chainId`,String(w.getState().chainId)),i.searchParams.set(`mode`,`iframe`),r.icon&&(typeof r.icon==`string`?i.searchParams.set(`icon`,r.icon):(i.searchParams.set(`icon`,r.icon.light),i.searchParams.set(`iconDark`,r.icon.dark))),b(i,e.theme);let a=document.createElement(`dialog`);a.dataset.tempoWallet=``,a.setAttribute(`role`,`dialog`),a.setAttribute(`aria-closed`,`true`),a.setAttribute(`aria-label`,`Tempo Wallet`),a.setAttribute(`hidden`,`until-found`),Object.assign(a.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`});let o=document.createElement(`iframe`);o.dataset.testid=`tempo-wallet`,o.setAttribute(`allow`,[`publickey-credentials-get ${i.origin}`,`publickey-credentials-create ${i.origin}`,`clipboard-write`,`payment`].join(`; `)),o.setAttribute(`allowtransparency`,`true`),o.setAttribute(`tabindex`,`0`),o.setAttribute(`title`,`Tempo Wallet`),o.src=i.toString(),Object.assign(o.style,{backgroundColor:`transparent`,border:`0`,colorScheme:e.theme?.scheme??`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let s=document.createElement(`style`);s.innerHTML=`\n dialog[data-tempo-wallet]::backdrop {\n background: transparent!important;\n }\n `,a.appendChild(s),a.appendChild(o);let c,l=!1;function u(){c=void 0;let e=m({from:p(window,{targetOrigin:i.origin}),to:p(o.contentWindow,{targetOrigin:i.origin}),waitForReady:!0});return e.on(`rpc-response`,e=>{ce(se(w,re,e.id),e)}),e.waitForReady().then(t=>{c=t,t.colorScheme&&(o.style.colorScheme=t.colorScheme),ue(e)}),e.on(`sync`,({valid:e})=>{e===!1&&w?.setState({accessKeys:[],accounts:[],activeAccount:0})}),e.on(`switch-mode`,()=>{pe(),S(),n=!1,l=!0;let e=w?.getState().requestQueue.filter(e=>e.status===`pending`);e&&e.length>0&&ne?.syncRequests(e)}),e}document.body.appendChild(a);let f=u();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===a){document.body.appendChild(a),f.destroy(),f=u();return}}).observe(document.body,{childList:!0});let h=``,g=null,v=()=>le(w),y=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&a.removeAttribute(`inert`)});y.observe(a,{attributeOldValue:!0,attributes:!0});let x=!1,S=()=>{x&&(x=!1,a.removeEventListener(`cancel`,v),a.removeEventListener(`click`,v),a.style.pointerEvents=`none`,g?.focus(),g=null,document.body.style.overflow=h)},ee=()=>{x||(x=!0,a.addEventListener(`cancel`,v),a.addEventListener(`click`,v),o.focus(),a.style.pointerEvents=`auto`,h=document.body.style.overflow,document.body.style.overflow=`hidden`)},ie=!1,oe=()=>{ie||(ie=!0,document.activeElement instanceof HTMLElement&&(g=document.activeElement),a.removeAttribute(`hidden`),a.removeAttribute(`aria-closed`),a.showModal())},pe=()=>{if(ie){ie=!1,a.setAttribute(`hidden`,`true`),a.setAttribute(`aria-closed`,`true`),a.close();for(let e of a.parentNode?Array.from(a.parentNode.children):[])e!==a&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}},me={close(){ne.close(),n=!1,pe(),S()},destroy(){C?.instance===me&&(C=void 0),ne?.close(),n=!1,S(),pe(),ne?.destroy(),f.destroy(),a.remove(),y.disconnect(),w=void 0,ne=void 0,re=[]},open(){n||(n=!0,oe(),ee())},async syncRequests(e){if(l){ne.syncRequests(e);return}let{trustedHosts:t}=c??await f.waitForReady();if(te()&&e.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){ne.syncRequests(e);return}let r=d(),a=window.location.hostname.replace(/^www\\./,``),o=!!(t&&_(t,a,i.hostname));if(!(r||o))console.warn([`[accounts] Browser does not support IntersectionObserver v2 and \"${window.location.hostname}\" is not a trusted host.`,`Falling back to popup dialog.`,``,`To enable the iframe dialog, add your hostname to the trusted hosts list.`].join(`\n`)),ne.syncRequests(e);else{let t=e.some(e=>e.status===`pending`);!n&&t&&this.open(),f.send(`rpc-requests`,{account:de(w),chainId:w.getState().chainId,requests:e})}},syncTheme(e){o.style.colorScheme=e?.scheme??`light dark`,f.send(`theme`,e??{})}};return C={host:t,instance:me},me})}function ae(e={}){if(typeof window>`u`)return oe();let{size:t=x}=e;return S({name:`popup`},e=>{let{host:n,store:r}=e,i=null,a=(()=>{let e=setInterval(()=>{i?.closed&&le(r)},100);return()=>clearInterval(e)})(),o,s=document.createElement(`div`);Object.assign(s.style,{alignItems:`center`,background:`rgba(0, 0, 0, 0.5)`,color:`white`,display:`none`,flexDirection:`column`,fontFamily:`system-ui, sans-serif`,fontSize:`16px`,gap:`12px`,inset:`0`,justifyContent:`center`,position:`fixed`,zIndex:`2147483647`});let c=document.createElement(`p`);Object.assign(c.style,{margin:`0`}),c.textContent=`Continue in the popup window`;let l=document.createElement(`button`);return Object.assign(l.style,{background:`none`,border:`none`,color:`white`,cursor:`pointer`,font:`inherit`,padding:`0`,textDecoration:`underline`}),l.textContent=`Close`,l.addEventListener(`click`,()=>le(r)),s.appendChild(c),s.appendChild(l),document.body.appendChild(s),{close(){s.style.display=`none`,i&&=(i.close(),null)},destroy(){this.close(),o?.destroy(),a(),s.remove()},open(){o?.destroy(),i?.close();let a=fe(),c=new URL(n);c.searchParams.set(`chainId`,String(r.getState().chainId)),c.searchParams.set(`mode`,`popup`),a.icon&&(typeof a.icon==`string`?c.searchParams.set(`icon`,a.icon):(c.searchParams.set(`icon`,a.icon.light),c.searchParams.set(`iconDark`,a.icon.dark))),b(c,e.theme);let l=(window.innerWidth-t.width)/2+window.screenX,u=window.screenY+100;if(i=window.open(c.toString(),`_blank`,`width=${t.width},height=${t.height},left=${l},top=${u}`),!i)throw Error(`Failed to open popup`);o=m({from:p(window,{targetOrigin:c.origin}),to:p(i,{targetOrigin:c.origin}),waitForReady:!0}),o.on(`rpc-response`,e=>ce(r,e)),s.style.display=`flex`},async syncRequests(e){e.some(e=>e.status===`pending`)&&(!i||i.closed?this.open():i.focus()),o?.send(`rpc-requests`,{account:de(r),chainId:r.getState().chainId,requests:e})},syncTheme(){}}})}function oe(){return S({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function se(e,t,n){if(e.getState().requestQueue.some(e=>e.request.id===n))return e;for(let e of t)if(e.getState().requestQueue.some(e=>e.request.id===n))return e;return e}function ce(e,t){e.setState(e=>({...e,requestQueue:e.requestQueue.map(e=>e.request.id===t.id?t.error?{request:e.request,error:t.error,status:`error`}:{request:e.request,result:t.result,status:`success`}:e)}))}function le(e){e.setState(e=>({...e,requestQueue:e.requestQueue.map(e=>e.status===`pending`?{request:e.request,error:{code:4001,message:`User rejected the request.`},status:`error`}:e)}))}function ue(e){if(!w)return;let{accounts:t}=w.getState();t.length!==0&&e.send(`sync`,{addresses:t.map(e=>e.address)})}function de(e){let{accounts:t,activeAccount:n}=e.getState(),r=t[n];if(r)return{address:r.address}}function fe(){return{icon:(()=>{let e=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: dark)\"]`),t=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: light)\"]`)??document.querySelector(`link[rel~=\"icon\"]`);return e?.href&&t?.href&&e.href!==t.href?{dark:e.href,light:t.href}:(window.matchMedia(`(prefers-color-scheme: dark)`).matches?e?.href:t?.href)??t?.href})(),title:document.title}}var pe,me=o((()=>{pe=`1.2.3`})),he,ge=o((()=>{me(),he=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${pe}`].join(`\n`);super(a),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=i,this.metaMessages=n.metaMessages,this.shortMessage=t}}}));function _e(e,t){return e.exec(t)?.groups}var ve,ye,be,xe=o((()=>{ve=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,ye=/^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)?$/,be=/^\\(.+?\\).*?$/}));function Se(e){let t=e.type;if(Ce.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=Se(i),r<n-1&&(t+=`, `)}let r=_e(Ce,e.type);return t+=`)${r?.array||``}`,Se({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var Ce,we=o((()=>{xe(),Ce=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function Te(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Se(i),r!==n-1&&(t+=`, `)}return t}var Ee=o((()=>{we()}));function De(e){return e.type===`function`?`function ${e.name}(${Te(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Te(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Te(e.inputs)})`:e.type===`error`?`error ${e.name}(${Te(e.inputs)})`:e.type===`constructor`?`constructor(${Te(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var Oe=o((()=>{Ee()}));function ke(e){return He.test(e)}function Ae(e){return _e(He,e)}function je(e){return Ue.test(e)}function Me(e){return _e(Ue,e)}function Ne(e){return We.test(e)}function Pe(e){return _e(We,e)}function Fe(e){return Ge.test(e)}function Ie(e){return _e(Ge,e)}function Le(e){return Ke.test(e)}function Re(e){return _e(Ke,e)}function ze(e){return qe.test(e)}function Be(e){return _e(qe,e)}function Ve(e){return Je.test(e)}var He,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze=o((()=>{xe(),He=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ue=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,We=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,Ge=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Ke=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,qe=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,Je=/^receive\\(\\) external payable$/,Ye=new Set([`indexed`]),Xe=new Set([`calldata`,`memory`,`storage`])})),Qe,$e,et=o((()=>{ge(),Qe=class extends he{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`})}},$e=class extends he{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`})}}})),tt,nt,rt,it,at,ot=o((()=>{ge(),tt=class extends he{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},nt=class extends he{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`})}},rt=class extends he{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`})}},it=class extends he{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`})}},at=class extends he{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`})}}})),st,ct,lt,ut=o((()=>{ge(),st=class extends he{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},ct=class extends he{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},lt=class extends he{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`})}}})),dt,ft=o((()=>{ge(),dt=class extends he{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`})}}})),pt,mt=o((()=>{ge(),pt=class extends he{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`})}}}));function ht(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}var gt,_t=o((()=>{gt=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 vt(e,t={}){if(Ne(e))return yt(e,t);if(je(e))return bt(e,t);if(ke(e))return xt(e,t);if(Le(e))return St(e,t);if(ze(e))return Ct(e);if(Ve(e))return{type:`receive`,stateMutability:`payable`};throw new ct({signature:e})}function yt(e,t={}){let n=Pe(e);if(!n)throw new st({signature:e,type:`function`});let r=Tt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(wt(r[e],{modifiers:Xe,structs:t,type:`function`}));let o=[];if(n.returns){let e=Tt(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(wt(e[n],{modifiers:Xe,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function bt(e,t={}){let n=Me(e);if(!n)throw new st({signature:e,type:`event`});let r=Tt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(wt(r[e],{modifiers:Ye,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function xt(e,t={}){let n=Ae(e);if(!n)throw new st({signature:e,type:`error`});let r=Tt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(wt(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function St(e,t={}){let n=Re(e);if(!n)throw new st({signature:e,type:`constructor`});let r=Tt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(wt(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function Ct(e){let t=Be(e);if(!t)throw new st({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function wt(e,t){let n=ht(e,t?.type,t?.structs);if(gt.has(n))return gt.get(n);let r=be.test(e),i=_e(r?At:kt,e);if(!i)throw new tt({param:e});if(i.name&&Dt(i.name))throw new nt({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=Tt(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(wt(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(jt.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!Et(c))throw new $e({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new rt({param:e,type:t?.type,modifier:i.modifier});if(Xe.has(i.modifier)&&!Ot(c,!!i.array))throw new it({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return gt.set(n,u),u}function Tt(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?Tt(o,[...t,n.trim()]):Tt(o,t,`${n}${i}`,r);case`(`:return Tt(o,t,`${n}${i}`,r+1);case`)`:return Tt(o,t,`${n}${i}`,r-1);default:return Tt(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new pt({current:n,depth:r});return t.push(n.trim()),t}function Et(e){return e===`address`||e===`bool`||e===`function`||e===`string`||ve.test(e)||ye.test(e)}function Dt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||ve.test(e)||ye.test(e)||Mt.test(e)}function Ot(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var kt,At,jt,Mt,Nt=o((()=>{xe(),et(),ot(),ut(),mt(),_t(),Ze(),kt=/^(?<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$_]*))?$/,At=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,jt=/^u?int$/,Mt=/^(?: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 Pt(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Fe(n))continue;let i=Ie(n);if(!i)throw new st({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=wt(t,{type:`struct`});o.push(n)}if(!o.length)throw new lt({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=Ft(a,t)}return r}function Ft(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(be.test(i.type))r.push(i);else{let e=_e(It,i.type);if(!e?.type)throw new at({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new dt({type:o});r.push({...i,type:`tuple${a??``}`,components:Ft(t[o],t,new Set([...n,o]))})}else if(Et(o))r.push(i);else throw new Qe({type:o})}}return r}var It,Lt=o((()=>{xe(),et(),ot(),ut(),ft(),Ze(),Nt(),It=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function Rt(e){let t=Pt(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];Fe(r)||n.push(vt(r,t))}return n}var zt=o((()=>{Ze(),Lt(),Nt()})),Bt=o((()=>{ge(),Oe(),we(),Ee(),zt(),et(),Ze(),Lt(),Nt(),ot(),ut(),mt(),ft()}));function T(e,t,n){let r=e[t.name];if(typeof r==`function`)return r;let i=e[n];return typeof i==`function`?i:n=>t(e,n)}function Vt(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new xn(e.type);return`${e.name}(${Ht(e.inputs,{includeName:t})})`}function Ht(e,{includeName:t=!1}={}){return e?e.map(e=>Ut(e,{includeName:t})).join(t?`, `:`,`):``}function Ut(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${Ht(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var Wt=o((()=>{Sn()}));function E(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var Gt=o((()=>{}));function Kt(e){return E(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var qt=o((()=>{Gt()})),Jt,Yt=o((()=>{Jt=`2.51.3`}));function Xt(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Xt(e.cause,t):t?null:e}var Zt,D,O=o((()=>{Yt(),Zt={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Jt}`},D=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=Zt.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Zt.version?[`Version: ${Zt.version}`]:[]].join(`\n`);super(o,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=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Jt}walk(e){return Xt(this,e)}}})),Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn=o((()=>{Wt(),qt(),O(),Qt=class extends D{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`})}},$t=class extends D{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`})}},en=class extends D{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${Ht(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}},tn=class extends D{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},nn=class extends D{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`})}},rn=class extends D{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Kt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},an=class extends D{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},on=class extends D{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`})}},sn=class extends D{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`})}},cn=class extends D{constructor(e,{docsPath:t,cause:n}){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://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiErrorSignatureNotFoundError`,cause:n}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}},ln=class extends D{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},un=class extends D{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://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiEventSignatureNotFoundError`})}},dn=class extends D{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`})}},fn=class extends D{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`})}},pn=class extends D{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://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiFunctionSignatureNotFoundError`})}},mn=class extends D{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Vt(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Vt(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},hn=class extends D{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},gn=class extends D{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: (${Ht(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}},_n=class extends D{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Vt(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},vn=class extends D{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`})}},yn=class extends D{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`})}},bn=class extends D{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},xn=class extends D{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),Cn,wn,Tn,En=o((()=>{O(),Cn=class extends D{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},wn=class extends D{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},Tn=class extends D{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 Dn(e,{dir:t,size:n=32}={}){return typeof e==`string`?On(e,{dir:t,size:n}):kn(e,{dir:t,size:n})}function On(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new wn({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function kn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new wn({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var An=o((()=>{En()})),jn,Mn,Nn,Pn,Fn,In=o((()=>{O(),jn=class extends D{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \"${i}\" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},Mn=class extends D{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`})}},Nn=class extends D{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},Pn=class extends D{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},Fn=class extends D{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function Ln(e,{dir:t=`left`}={}){let n=typeof e==`string`?e.replace(`0x`,``):e,r=0;for(let e=0;e<n.length-1&&n[t===`left`?e:n.length-e-1].toString()===`0`;e++)r++;return n=t===`left`?n.slice(r):n.slice(0,n.length-r),typeof e==`string`?(n.length===1&&t===`right`&&(n=`${n}0`),`0x${n.length%2==1?`0${n}`:n}`):n}var Rn=o((()=>{}));function zn(e,{size:t}){if(Kt(e)>t)throw new Fn({givenSize:Kt(e),maxSize:t})}function k(e,t={}){let{signed:n}=t;t.size&&zn(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function Bn(e,t={}){let n=e;if(t.size&&(zn(n,{size:t.size}),n=Ln(n)),Ln(n)===`0x00`)return!1;if(Ln(n)===`0x01`)return!0;throw new Nn(n)}function Vn(e,t={}){let n=k(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new jn({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var Hn=o((()=>{In(),qt(),Rn()}));function Un(e,t={}){return typeof e==`number`||typeof e==`bigint`?A(e,t):typeof e==`string`?Kn(e,t):typeof e==`boolean`?Wn(e,t):Gn(e,t)}function Wn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(zn(n,{size:t.size}),Dn(n,{size:t.size})):n}function Gn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=qn[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(zn(r,{size:t.size}),Dn(r,{dir:`right`,size:t.size})):r}function A(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new jn({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?Dn(s,{size:r}):s}function Kn(e,t={}){return Gn(Jn.encode(e),t)}var qn,Jn,j=o((()=>{In(),An(),Hn(),qn=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Jn=new TextEncoder}));function Yn(e,t={}){return typeof e==`number`||typeof e==`bigint`?$n(e,t):typeof e==`boolean`?Xn(e,t):E(e)?Qn(e,t):er(e,t)}function Xn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(zn(n,{size:t.size}),Dn(n,{size:t.size})):n}function Zn(e){if(e>=nr.zero&&e<=nr.nine)return e-nr.zero;if(e>=nr.A&&e<=nr.F)return e-(nr.A-10);if(e>=nr.a&&e<=nr.f)return e-(nr.a-10)}function Qn(e,t={}){let n=e;t.size&&(zn(n,{size:t.size}),n=Dn(n,{dir:`right`,size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);let i=r.length/2,a=new Uint8Array(i);for(let e=0,t=0;e<i;e++){let n=Zn(r.charCodeAt(t++)),i=Zn(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new D(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function $n(e,t){return Qn(A(e,t))}function er(e,t={}){let n=tr.encode(e);return typeof t.size==`number`?(zn(n,{size:t.size}),Dn(n,{dir:`right`,size:t.size})):n}var tr,nr,rr=o((()=>{O(),Gt(),An(),Hn(),j(),tr=new TextEncoder,nr={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function ir(e,t=!1){return t?{h:Number(e&sr),l:Number(e>>cr&sr)}:{h:Number(e>>cr&sr)|0,l:Number(e&sr)|0}}function ar(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=ir(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function or(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr=o((()=>{sr=BigInt(2**32-1),cr=BigInt(32),lr=(e,t,n)=>e>>>n,ur=(e,t,n)=>e<<32-n|t>>>n,dr=(e,t,n)=>e>>>n|t<<32-n,fr=(e,t,n)=>e<<32-n|t>>>n,pr=(e,t,n)=>e<<64-n|t>>>n-32,mr=(e,t,n)=>e>>>n-32|t<<64-n,hr=(e,t,n)=>e<<n|t>>>32-n,gr=(e,t,n)=>t<<n|e>>>32-n,_r=(e,t,n)=>t<<n-32|e>>>64-n,vr=(e,t,n)=>e<<n-32|t>>>64-n,yr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),br=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,xr=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Sr=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,Cr=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),wr=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),Er,Dr=o((()=>{Er=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Or(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function kr(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Ar(e,...t){if(!Or(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function jr(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);kr(e.outputLen),kr(e.blockLen)}function Mr(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function Nr(e,t){Ar(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function Pr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Fr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Ir(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Lr(e,t){return e<<32-t|e>>>t}function Rr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function zr(e){for(let t=0;t<e.length;t++)e[t]=Rr(e[t]);return e}function Br(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Vr(e){return typeof e==`string`&&(e=Br(e)),Ar(e),e}function Hr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Ar(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function Ur(e){let t=t=>e().update(Vr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Wr(e=32){if(Er&&typeof Er.getRandomValues==`function`)return Er.getRandomValues(new Uint8Array(e));if(Er&&typeof Er.randomBytes==`function`)return Uint8Array.from(Er.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Gr,Kr,qr,Jr=o((()=>{Dr(),Gr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Kr=Gr?e=>e:zr,qr=class{}}));function Yr(e,t=24){let 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){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=ci(a,o,1)^n[r],c=li(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=ri[n],a=ci(t,i,r),o=li(t,i,r),s=ni[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}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]^=oi[r],e[1]^=si[r]}Fr(n)}var Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di,fi,pi=o((()=>{Tr(),Jr(),Xr=BigInt(0),Zr=BigInt(1),Qr=BigInt(2),$r=BigInt(7),ei=BigInt(256),ti=BigInt(113),ni=[],ri=[],ii=[];for(let e=0,t=Zr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],ni.push(2*(5*r+n)),ri.push((e+1)*(e+2)/2%64);let i=Xr;for(let e=0;e<7;e++)t=(t<<Zr^(t>>$r)*ti)%ei,t&Qr&&(i^=Zr<<(Zr<<BigInt(e))-Zr);ii.push(i)}ai=ar(ii,!0),oi=ai[0],si=ai[1],ci=(e,t,n)=>n>32?_r(e,t,n):hr(e,t,n),li=(e,t,n)=>n>32?vr(e,t,n):gr(e,t,n),ui=class e extends qr{constructor(e,t,n,r=!1,i=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=i,kr(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=Pr(this.state)}clone(){return this._cloneInto()}keccak(){Kr(this.state32),Yr(this.state32,this.rounds),Kr(this.state32),this.posOut=0,this.pos=0}update(e){Mr(this),e=Vr(e),Ar(e);let{blockLen:t,state:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Mr(this,!1),Ar(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return kr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Nr(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Fr(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}},di=(e,t,n)=>Ur(()=>new ui(t,e,n)),fi=di(1,136,256/8)}));function mi(e,t){let n=t||`hex`,r=fi(E(e,{strict:!1})?Yn(e):e);return n===`bytes`?r:Un(r)}var hi=o((()=>{pi(),Gt(),rr(),j()}));function gi(e){return _i(e)}var _i,vi=o((()=>{rr(),hi(),_i=e=>mi(Yn(e))}));function yi(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new D(`Unable to normalize signature.`);return i}var bi=o((()=>{O()})),xi,Si=o((()=>{Bt(),bi(),xi=e=>yi(typeof e==`string`?e:De(e))}));function Ci(e){return gi(xi(e))}var wi=o((()=>{vi(),Si()})),Ti,Ei=o((()=>{wi(),Ti=Ci})),Di,Oi=o((()=>{O(),Di=class extends D{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`})}}})),ki,Ai=o((()=>{ki=class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,t)),t}set(e,t){if(super.has(e)&&super.delete(e),super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=super.keys().next().value;e!==void 0&&super.delete(e)}return this}}}));function ji(e,t){if(Ni.has(`${e}.${t}`))return Ni.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=mi(er(n),`bytes`),i=(t?n.substring(`${t}0x`.length):n).split(``);for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(r[e>>1]&15)>=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let a=`0x${i.join(``)}`;return Ni.set(`${e}.${t}`,a),a}function Mi(e,t){if(!Fi(e,{strict:!1}))throw new Di({address:e});return ji(e,t)}var Ni,Pi=o((()=>{Oi(),rr(),hi(),Ai(),Ri(),Ni=new ki(8192)}));function Fi(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Li.has(r))return Li.get(r);let i=Ii.test(e)?e.toLowerCase()===e?!0:n?ji(e)===e:!0:!1;return Li.set(r,i),i}var Ii,Li,Ri=o((()=>{Ai(),Pi(),Ii=/^0x[a-fA-F0-9]{40}$/,Li=new ki(8192)}));function zi(e){return typeof e[0]==`string`?Vi(e):Bi(e)}function Bi(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Vi(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Hi=o((()=>{}));function Ui(e,t,n,{strict:r}={}){return E(e,{strict:!1})?qi(e,t,n,{strict:r}):Ki(e,t,n,{strict:r})}function Wi(e,t){if(typeof t==`number`&&t>0&&t>Kt(e)-1)throw new Cn({offset:t,position:`start`,size:Kt(e)})}function Gi(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Kt(e)!==n-t)throw new Cn({offset:n,position:`end`,size:Kt(e)})}function Ki(e,t,n,{strict:r}={}){Wi(e,t);let i=e.slice(t,n);return r&&Gi(i,t,n),i}function qi(e,t,n,{strict:r}={}){Wi(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Gi(i,t,n),i}var Ji=o((()=>{En(),Gt(),qt()})),Yi,Xi,Zi=o((()=>{Yi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Xi=/^(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 Qi(e,t){if(e.length!==t.length)throw new an({expectedLength:e.length,givenLength:t.length});let n=ta($i({params:e,values:t}));return n.length===0?`0x`:n}function $i({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(ea({param:e[r],value:t[r]}));return n}function ea({param:e,value:t}){let n=la(e.type);if(n){let[r,i]=n;return ra(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return ca(t,{param:e});if(e.type===`address`)return na(t);if(e.type===`bool`)return aa(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Xi.exec(e.type)??[];return oa(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return ia(t,{param:e});if(e.type===`string`)return sa(t);throw new vn(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function ta(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=Kt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(A(t+i,{size:32})),r.push(s),i+=Kt(s)):n.push(s)}return zi([...n,...r])}function na(e){if(!Fi(e))throw new Di({address:e});return{dynamic:!1,encoded:On(e.toLowerCase())}}function ra(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new bn(e);if(!r&&e.length!==t)throw new nn({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=!1,a=[];for(let t=0;t<e.length;t++){let r=ea({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=ta(a);if(r){let t=A(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?zi([t,e]):t}}if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:zi(a.map(({encoded:e})=>e))}}function ia(e,{param:t}){let[,n]=t.type.split(`bytes`),r=Kt(e);if(!n){let t=e;return r%32!=0&&(t=On(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:zi([On(A(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new rn({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:On(e,{dir:`right`})}}function aa(e){if(typeof e!=`boolean`)throw new D(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:On(Wn(e))}}function oa(e,{signed:t,size:n=256}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new jn({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:A(e,{size:32,signed:t})}}function sa(e){let t=Kn(e),n=Math.ceil(Kt(t)/32),r=[];for(let e=0;e<n;e++)r.push(On(Ui(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:zi([On(A(Kt(t),{size:32})),...r])}}function ca(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=ea({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?ta(r):zi(r.map(({encoded:e})=>e))}}function la(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var ua=o((()=>{Sn(),Oi(),O(),In(),Ri(),Hi(),An(),qt(),Ji(),j(),Zi()})),da,fa=o((()=>{Ji(),wi(),da=e=>Ui(Ci(e),0,4)}));function pa(e){let{abi:t,args:n=[],name:r}=e,i=E(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?da(e)===r:e.type===`event`?Ti(e)===r:!1:`name`in e&&e.name===r);if(a.length===0)return;if(a.length===1)return a[0];let o;for(let e of a)if(`inputs`in e){if(!n||n.length===0){if(!e.inputs||e.inputs.length===0)return e;continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===n.length&&n.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?ma(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=ha(e.inputs,o.inputs,n);if(t)throw new mn({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function ma(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Fi(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,r)=>n===`object`&&ma(Object.values(e)[r],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)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>ma(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function ha(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return ha(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&Fi(n[r],{strict:!1}))return o}}var ga=o((()=>{Sn(),Gt(),Ri(),Ei(),fa()}));function _a(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var va=o((()=>{}));function ya(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=pa({abi:t,args:n,name:r});if(!e)throw new dn(r,{docsPath:ba});i=e}if(i.type!==`function`)throw new dn(void 0,{docsPath:ba});return{abi:[i],functionName:da(Vt(i))}}var ba,xa=o((()=>{Sn(),fa(),Wt(),ga(),ba=`/docs/contract/encodeFunctionData`}));function Sa(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:ya(e),i=n[0];return Vi([r,(`inputs`in i&&i.inputs?Qi(i.inputs,t??[]):void 0)??`0x`])}var Ca=o((()=>{Hi(),ua(),xa()})),wa,Ta,Ea,Da=o((()=>{wa={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.`},Ta={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Ea={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),Oa,ka,Aa,ja=o((()=>{O(),Oa=class extends D{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},ka=class extends D{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Aa=class extends D{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Ma(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Na);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Na,Pa=o((()=>{ja(),Na={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Aa({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new ka({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Oa({offset:e});let 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 Oa({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let 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,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}}}));function Fa(e,t={}){return t.size!==void 0&&zn(e,{size:t.size}),k(Gn(e,t),t)}function Ia(e,t={}){let n=e;if(t.size!==void 0&&(zn(n,{size:t.size}),n=Ln(n)),n.length>1||n[0]>1)throw new Mn(n);return!!n[0]}function La(e,t={}){return t.size!==void 0&&zn(e,{size:t.size}),Vn(Gn(e,t),t)}function Ra(e,t={}){let n=e;return t.size!==void 0&&(zn(n,{size:t.size}),n=Ln(n,{dir:`right`})),new TextDecoder().decode(n)}var za=o((()=>{In(),Rn(),Hn(),j()}));function Ba(e,t){let n=typeof t==`string`?Qn(t):t,r=Ma(n);if(Kt(n)===0&&e.length>0)throw new tn;if(Kt(t)&&Kt(t)<32)throw new en({data:typeof t==`string`?t:Gn(t),params:e,size:Kt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let n=e[t];r.setPosition(i);let[o,s]=Va(r,n,{staticPosition:0});i+=s,a.push(o)}return a}function Va(e,t,{staticPosition:n}){let r=la(t.type);if(r){let[i,a]=r;return Ua(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return qa(e,t,{staticPosition:n});if(t.type===`address`)return Ha(e);if(t.type===`bool`)return Wa(e);if(t.type.startsWith(`bytes`))return Ga(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Ka(e,t);if(t.type===`string`)return Ja(e,{staticPosition:n});throw new yn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function Ha(e){return[ji(Gn(Ki(e.readBytes(32),-20))),32]}function Ua(e,t,{length:n,staticPosition:r}){if(!n){let n=r+La(e.readBytes(Za)),i=n+Xa;e.setPosition(n);let a=La(e.readBytes(Xa)),o=Ya(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=Va(e,t,{staticPosition:i});s+=a,c.push(r)}return e.setPosition(r+32),[c,32]}if(Ya(t)){let i=r+La(e.readBytes(Za)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=Va(e,t,{staticPosition:i});a.push(n)}return e.setPosition(r+32),[a,32]}let i=0,a=[];for(let o=0;o<n;++o){let[n,o]=Va(e,t,{staticPosition:r+i});i+=o,a.push(n)}return[a,i]}function Wa(e){return[Ia(e.readBytes(32),{size:32}),32]}function Ga(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=La(e.readBytes(32));e.setPosition(n+t);let r=La(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Gn(i),32]}return[Gn(e.readBytes(Number.parseInt(i,10),32)),32]}function Ka(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Fa(i,{signed:n}):La(i,{signed:n}),32]}function qa(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Ya(t)){let o=n+La(e.readBytes(Za));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=Va(e,s,{staticPosition:o});a+=l,i[r?n:s?.name]=c}return e.setPosition(n+32),[i,32]}for(let o=0;o<t.components.length;++o){let s=t.components[o],[c,l]=Va(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Ja(e,{staticPosition:t}){let n=t+La(e.readBytes(32));e.setPosition(n);let r=La(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Ra(Ln(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Ya(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Ya);let n=la(e.type);return!!(n&&Ya({...e,type:n[1]}))}var Xa,Za,Qa=o((()=>{Sn(),Pi(),Pa(),qt(),Ji(),Rn(),za(),rr(),j(),ua(),Xa=32,Za=32}));function $a(e){let{abi:t,data:n,cause:r}=e,i=Ui(n,0,4);if(i===`0x`)throw new tn({cause:r});let a=[...t||[],Ta,Ea].find(e=>e.type===`error`&&i===da(Vt(e)));if(!a)throw new cn(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?Ba(a.inputs,Ui(n,4)):void 0,errorName:a.name}}var eo=o((()=>{Da(),Sn(),Ji(),fa(),Qa(),Wt()})),to,no=o((()=>{to=(e,t,n)=>JSON.stringify(e,(e,n)=>{let r=typeof n==`bigint`?n.toString():n;return typeof t==`function`?t(e,r):r},n)}));function ro({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}: `:``}${typeof t[n]==`object`?to(t[n]):t[n]}`).join(`, `)})`}var io=o((()=>{no()})),ao,oo,so=o((()=>{ao={gwei:9,wei:18},oo={ether:-9,wei:9}}));function co(e,t){let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}var lo=o((()=>{}));function uo(e,t=`wei`){return co(e,ao[t])}var fo=o((()=>{so(),lo()}));function po(e,t=`wei`){return co(e,oo[t])}var mo=o((()=>{so(),lo()}));function ho(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function go(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+=ho(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=ho(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var _o,vo,yo=o((()=>{O(),_o=class extends D{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},vo=class extends D{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function bo(e){let t=Object.entries(e).map(([e,t])=>t===void 0||t===!1?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`)}var xo,So,Co,wo,To,Eo,Do=o((()=>{fo(),mo(),O(),xo=class extends D{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},So=class extends D{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,bo(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`})}},Co=class extends D{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},wo=class extends D{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},To=class extends D{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},Eo=class extends D{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=bo({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Request Arguments:`,f].filter(Boolean),name:`TransactionExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}}));function Oo(e){if(e?.reason)return e.reason;if(typeof DOMException==`function`)return new DOMException(`This operation was aborted`,`AbortError`);let t=Error(`This operation was aborted`);return t.name=`AbortError`,t}function ko(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Ao,jo,Mo=o((()=>{Ao=e=>e,jo=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),No,Po,Fo,Io,Lo,Ro,zo=o((()=>{va(),Da(),eo(),Wt(),io(),ga(),fo(),mo(),Sn(),O(),yo(),Do(),Mo(),No=class extends D{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d,stateOverride:f}){let p=bo({from:(t?_a(t):void 0)?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});f&&(p+=`\\n${go(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}},Po=class extends D{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=pa({abi:t,args:n,name:a}),c=s?ro({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Vt(s,{includeName:!0}):void 0,u=bo({address:r&&Ao(r),function:l,args:c&&c!==`()`&&`${[...Array(a?.length??0).keys()].map(()=>` `).join(``)}${c}`,sender:o});super(e.shortMessage||`An unknown error occurred while executing the contract function \"${a}\".`,{cause:e,docsPath:i,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=a,this.sender=o}},Fo=class extends D{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=$a({abi:e,data:t,cause:i});let{abiItem:n,errorName:r,args:a}=o;if(r===`Error`)c=a[0];else if(r===`Panic`){let[e]=a;c=wa[e]}else{let e=n?Vt(n,{includeName:!0}):void 0,t=n&&a?ro({abiItem:n,args:a,includeFunctionName:!1,includeName:!1}):void 0;s=[e?`Error: ${e}`:``,t&&t!==`()`?` ${[...Array(r?.length??0).keys()].map(()=>` `).join(``)}${t}`:``]}}catch(e){a=e}else r&&(c=r);let l;a instanceof cn&&(l=a.signature,s=[`Unable to decode signature \"${l}\" 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://4byte.sourcify.dev/?q=${l}.`]),super(c&&c!==`execution reverted`||l?[`The contract function \"${n}\" reverted with the following ${l?`signature`:`reason`}:`,c||l].join(`\n`):`The contract function \"${n}\" reverted.`,{cause:a??i,metaMessages:s,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=o,this.raw=t,this.reason=c,this.signature=l}},Io=class extends D{constructor({functionName:e,cause:t}){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`,cause:t})}},Lo=class extends D{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`})}},Ro=class extends D{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}}})),Bo,Vo,Ho,Uo=o((()=>{no(),O(),Mo(),Bo=class extends D{constructor({body:e,cause:t,details:n,headers:r,status:i,url:a}){super(`HTTP request failed.`,{cause:t,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${jo(a)}`,e&&`Request body: ${to(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=i,this.url=a}},Vo=class extends D{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${jo(n)}`,`Request body: ${to(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}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data,this.url=n}},Ho=class extends D{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${jo(t)}`,`Request body: ${to(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Wo,Go,Ko,qo,Jo,Yo,Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs=o((()=>{O(),Uo(),Wo=-1,Go=class extends D{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof Vo?e.code:t??Wo}},Ko=class extends Go{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},qo=class e extends Go{constructor(t){super(t,{code:e.code,name:`ParseRpcError`,shortMessage:`Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.`})}},Object.defineProperty(qo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Jo=class e extends Go{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(Jo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Yo=class e extends Go{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(Yo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Xo=class e extends Go{constructor(t){super(t,{code:e.code,name:`InvalidParamsRpcError`,shortMessage:[`Invalid parameters were provided to the RPC method.`,`Double check you have provided the correct parameters.`].join(`\n`)})}},Object.defineProperty(Xo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),Zo=class e extends Go{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(Zo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Qo=class e extends Go{constructor(t){super(t,{code:e.code,name:`InvalidInputRpcError`,shortMessage:[`Missing or invalid parameters.`,`Double check you have provided the correct parameters.`].join(`\n`)})}},Object.defineProperty(Qo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),$o=class e extends Go{constructor(t){super(t,{code:e.code,name:`ResourceNotFoundRpcError`,shortMessage:`Requested resource not found.`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ResourceNotFoundRpcError`})}},Object.defineProperty($o,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),es=class e extends Go{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),ts=class e extends Go{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),ns=class e extends Go{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),rs=class e extends Go{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),is=class e extends Go{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),as=class e extends Ko{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),os=class e extends Ko{constructor(t){super(t,{code:e.code,name:`UnauthorizedProviderError`,shortMessage:`The requested method and/or account has not been authorized by the user.`})}},Object.defineProperty(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),ss=class e extends Ko{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),cs=class e extends Ko{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),ls=class e extends Ko{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),us=class e extends Ko{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),ds=class e extends Ko{constructor(t){super(t,{code:e.code,name:`UnsupportedNonOptionalCapabilityError`,shortMessage:`This Wallet does not support a capability that was not marked as optional.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),fs=class e extends Ko{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),ps=class e extends Ko{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),ms=class e extends Ko{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),hs=class e extends Ko{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),gs=class e extends Ko{constructor(t){super(t,{code:e.code,name:`AtomicReadyWalletRejectedUpgradeError`,shortMessage:`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),_s=class e extends Ko{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),vs=class e extends Ko{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),ys=class extends Go{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));Sn(),O(),zo(),Uo(),bs();function xs(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Ro?e:e instanceof D?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s;return new Po(e instanceof tn?new Io({functionName:a,cause:e}):[3,Zo.code].includes(c)&&(l||u||d||f)||c===Qo.code&&u===`execution reverted`&&l?new Fo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Vo?u:f??d,cause:e}):e,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}Pi(),hi();function Ss(e){return ji(`0x${mi(`0x${e.substring(4)}`).substring(26)}`)}function Cs(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}function ws(e,t,n){return e&t^~e&n}function Ts(e,t,n){return e&t^e&n^t&n}var Es,Ds,Os,ks,As=o((()=>{Jr(),Es=class extends qr{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=Ir(this.buffer)}update(e){Mr(this),e=Vr(e),Ar(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=Ir(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Mr(this),Nr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Fr(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;Cs(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Ir(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Ds=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Os=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),ks=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),js,Ms,Ns,Ps,Fs,Is,Ls,Rs,zs,Bs,Vs,Hs,Us,Ws=o((()=>{As(),Tr(),Jr(),js=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]),Ms=new Uint32Array(64),Ns=class extends Es{constructor(e=32){super(64,e,8,!1),this.A=Ds[0]|0,this.B=Ds[1]|0,this.C=Ds[2]|0,this.D=Ds[3]|0,this.E=Ds[4]|0,this.F=Ds[5]|0,this.G=Ds[6]|0,this.H=Ds[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}process(e,t){for(let n=0;n<16;n++,t+=4)Ms[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Ms[e-15],n=Ms[e-2],r=Lr(t,7)^Lr(t,18)^t>>>3;Ms[e]=(Lr(n,17)^Lr(n,19)^n>>>10)+Ms[e-7]+r+Ms[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=Lr(o,6)^Lr(o,11)^Lr(o,25),u=l+t+ws(o,s,c)+js[e]+Ms[e]|0,d=(Lr(n,2)^Lr(n,13)^Lr(n,22))+Ts(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){Fr(Ms)}destroy(){this.set(0,0,0,0,0,0,0,0),Fr(this.buffer)}},Ps=ar(`0x428a2f98d728ae22.0x7137449123ef65cd.0xb5c0fbcfec4d3b2f.0xe9b5dba58189dbbc.0x3956c25bf348b538.0x59f111f1b605d019.0x923f82a4af194f9b.0xab1c5ed5da6d8118.0xd807aa98a3030242.0x12835b0145706fbe.0x243185be4ee4b28c.0x550c7dc3d5ffb4e2.0x72be5d74f27b896f.0x80deb1fe3b1696b1.0x9bdc06a725c71235.0xc19bf174cf692694.0xe49b69c19ef14ad2.0xefbe4786384f25e3.0x0fc19dc68b8cd5b5.0x240ca1cc77ac9c65.0x2de92c6f592b0275.0x4a7484aa6ea6e483.0x5cb0a9dcbd41fbd4.0x76f988da831153b5.0x983e5152ee66dfab.0xa831c66d2db43210.0xb00327c898fb213f.0xbf597fc7beef0ee4.0xc6e00bf33da88fc2.0xd5a79147930aa725.0x06ca6351e003826f.0x142929670a0e6e70.0x27b70a8546d22ffc.0x2e1b21385c26c926.0x4d2c6dfc5ac42aed.0x53380d139d95b3df.0x650a73548baf63de.0x766a0abb3c77b2a8.0x81c2c92e47edaee6.0x92722c851482353b.0xa2bfe8a14cf10364.0xa81a664bbc423001.0xc24b8b70d0f89791.0xc76c51a30654be30.0xd192e819d6ef5218.0xd69906245565a910.0xf40e35855771202a.0x106aa07032bbd1b8.0x19a4c116b8d2d0c8.0x1e376c085141ab53.0x2748774cdf8eeb99.0x34b0bcb5e19b48a8.0x391c0cb3c5c95a63.0x4ed8aa4ae3418acb.0x5b9cca4f7763e373.0x682e6ff3d6b2b8a3.0x748f82ee5defb2fc.0x78a5636f43172f60.0x84c87814a1f0ab72.0x8cc702081a6439ec.0x90befffa23631e28.0xa4506cebde82bde9.0xbef9a3f7b2c67915.0xc67178f2e372532b.0xca273eceea26619c.0xd186b8c721c0c207.0xeada7dd6cde0eb1e.0xf57d4f7fee6ed178.0x06f067aa72176fba.0x0a637dc5a2c898a6.0x113f9804bef90dae.0x1b710b35131c471b.0x28db77f523047d84.0x32caab7b40c72493.0x3c9ebe0a15c9bebc.0x431d67c49c100d4c.0x4cc5d4becb3e42b6.0x597f299cfc657e2a.0x5fcb6fab3ad6faec.0x6c44198c4a475817`.split(`.`).map(e=>BigInt(e))),Fs=Ps[0],Is=Ps[1],Ls=new Uint32Array(80),Rs=new Uint32Array(80),zs=class extends Es{constructor(e=64){super(128,e,16,!1),this.Ah=ks[0]|0,this.Al=ks[1]|0,this.Bh=ks[2]|0,this.Bl=ks[3]|0,this.Ch=ks[4]|0,this.Cl=ks[5]|0,this.Dh=ks[6]|0,this.Dl=ks[7]|0,this.Eh=ks[8]|0,this.El=ks[9]|0,this.Fh=ks[10]|0,this.Fl=ks[11]|0,this.Gh=ks[12]|0,this.Gl=ks[13]|0,this.Hh=ks[14]|0,this.Hl=ks[15]|0}get(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}process(e,t){for(let n=0;n<16;n++,t+=4)Ls[n]=e.getUint32(t),Rs[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Ls[e-15]|0,n=Rs[e-15]|0,r=dr(t,n,1)^dr(t,n,8)^lr(t,n,7),i=fr(t,n,1)^fr(t,n,8)^ur(t,n,7),a=Ls[e-2]|0,o=Rs[e-2]|0,s=dr(a,o,19)^pr(a,o,61)^lr(a,o,6),c=fr(a,o,19)^mr(a,o,61)^ur(a,o,6),l=xr(i,c,Rs[e-7],Rs[e-16]);Ls[e]=Sr(l,r,s,Ls[e-7],Ls[e-16])|0,Rs[e]=l|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=dr(u,d,14)^dr(u,d,18)^pr(u,d,41),v=fr(u,d,14)^fr(u,d,18)^mr(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=Cr(_,v,b,Is[e],Rs[e]),S=wr(x,g,t,y,Fs[e],Ls[e]),ee=x|0,te=dr(n,r,28)^pr(n,r,34)^pr(n,r,39),C=fr(n,r,28)^mr(n,r,34)^mr(n,r,39),w=n&i^n&o^i&o,ne=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=or(c|0,l|0,S|0,ee|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let re=yr(ee,C,ne);n=br(re,S,te,w),r=re|0}({h:n,l:r}=or(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=or(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=or(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=or(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=or(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=or(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=or(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=or(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){Fr(Ls,Rs)}destroy(){Fr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Bs=class extends zs{constructor(){super(48),this.Ah=Os[0]|0,this.Al=Os[1]|0,this.Bh=Os[2]|0,this.Bl=Os[3]|0,this.Ch=Os[4]|0,this.Cl=Os[5]|0,this.Dh=Os[6]|0,this.Dl=Os[7]|0,this.Eh=Os[8]|0,this.El=Os[9]|0,this.Fh=Os[10]|0,this.Fl=Os[11]|0,this.Gh=Os[12]|0,this.Gl=Os[13]|0,this.Hh=Os[14]|0,this.Hl=Os[15]|0}},Vs=Ur(()=>new Ns),Hs=Ur(()=>new zs),Us=Ur(()=>new Bs)})),Gs,Ks,qs=o((()=>{Jr(),Gs=class extends qr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,jr(e);let n=Vr(t);if(this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),Fr(i)}update(e){return Mr(this),this.iHash.update(e),this}digestInto(e){Mr(this),Ar(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,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()}},Ks=(e,t,n)=>new Gs(e,t).update(n).digest(),Ks.create=(e,t)=>new Gs(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Js(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Ys(e){if(!Js(e))throw Error(`Uint8Array expected`)}function Xs(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function Zs(e){let t=e.toString(16);return t.length&1?`0`+t:t}function Qs(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?gc:BigInt(`0x`+e)}function $s(e){if(Ys(e),vc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=yc[e[n]];return t}function ec(e){if(e>=bc._0&&e<=bc._9)return e-bc._0;if(e>=bc.A&&e<=bc.F)return e-(bc.A-10);if(e>=bc.a&&e<=bc.f)return e-(bc.a-10)}function tc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(vc)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=ec(e.charCodeAt(i)),a=ec(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character \"`+t+`\" at index `+i)}r[t]=n*16+a}return r}function nc(e){return Qs($s(e))}function rc(e){return Ys(e),Qs($s(Uint8Array.from(e).reverse()))}function ic(e,t){return tc(e.toString(16).padStart(t*2,`0`))}function ac(e,t){return ic(e,t).reverse()}function oc(e,t,n){let r;if(typeof t==`string`)try{r=tc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(Js(t))r=Uint8Array.from(t);else throw Error(e+` must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(e+` of length `+n+` expected, got `+i);return r}function sc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Ys(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function cc(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function lc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function uc(e,t,n){return xc(e)&&xc(t)&&xc(n)&&t<=e&&e<n}function dc(e,t,n,r){if(!uc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function fc(e){let t;for(t=0;e>gc;e>>=_c,t+=1);return t}function pc(e,t,n){if(typeof e!=`number`||e<2)throw Error(`hashLen must be a number`);if(typeof t!=`number`||t<2)throw Error(`qByteLen must be a number`);if(typeof n!=`function`)throw Error(`hmacFn must be a function`);let r=Cc(e),i=Cc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Cc(0))=>{i=s(wc([0]),e),r=s(),e.length!==0&&(i=s(wc([1]),e),r=s())},l=()=>{if(a++>=1e3)throw Error(`drbg: tried 1000 values`);let e=0,n=[];for(;e<t;){r=s();let t=r.slice();n.push(t),e+=r.length}return sc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function mc(e,t,n={}){let r=(t,n,r)=>{let i=Tc[n];if(typeof i!=`function`)throw Error(`invalid validator function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`param `+String(t)+` is invalid. Expected `+n+`, got `+a)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}function hc(e){let t=new WeakMap;return(n,...r)=>{let i=t.get(n);if(i!==void 0)return i;let a=e(n,...r);return t.set(n,a),a}}var gc,_c,vc,yc,bc,xc,Sc,Cc,wc,Tc,Ec=o((()=>{gc=BigInt(0),_c=BigInt(1),vc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,yc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),bc={_0:48,_9:57,A:65,F:70,a:97,f:102},xc=e=>typeof e==`bigint`&&gc<=e,Sc=e=>(_c<<BigInt(e))-_c,Cc=e=>new Uint8Array(e),wc=e=>Uint8Array.from(e),Tc={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||Js(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)}}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Dc(e,t){let n=e%t;return n>=Uc?n:t+n}function Oc(e,t,n){let r=e;for(;t-- >Uc;)r*=r,r%=n;return r}function kc(e,t){if(e===Uc)throw Error(`invert: expected non-zero number`);if(t<=Uc)throw Error(`invert: expected positive modulus, got `+t);let n=Dc(e,t),r=t,i=Uc,a=Wc,o=Wc,s=Uc;for(;n!==Uc;){let e=r/n,t=r%n,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==Wc)throw Error(`invert: does not exist`);return Dc(i,t)}function Ac(e,t){let n=(e.ORDER+Wc)/qc,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function jc(e,t){let n=(e.ORDER-Jc)/Yc,r=e.mul(t,Gc),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Gc),i),s=e.mul(a,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),t))throw Error(`Cannot find square root`);return s}function Mc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Wc,n=0;for(;t%Gc===Uc;)t/=Gc,n++;let r=Gc,i=zc(e);for(;Lc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Ac;let a=i.pow(r,t),o=(t+Wc)/Gc;return function(e,r){if(e.is0(r))return r;if(Lc(e,r)!==1)throw Error(`Cannot find square root`);let i=n,s=e.mul(e.ONE,a),c=e.pow(r,t),l=e.pow(r,o);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===i)throw Error(`Cannot find square root`);let r=Wc<<BigInt(i-t-1),a=e.pow(s,r);i=t,s=e.sqr(a),c=e.mul(c,s),l=e.mul(l,a)}return l}}function Nc(e){return e%qc===Kc?Ac:e%Yc===Jc?jc:Mc(e)}function Pc(e){return mc(e,Xc.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Fc(e,t,n){if(n<Uc)throw Error(`invalid exponent, negatives unsupported`);if(n===Uc)return e.ONE;if(n===Wc)return t;let r=e.ONE,i=t;for(;n>Uc;)n&Wc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Wc;return r}function Ic(e,t,n=!1){let r=Array(t.length).fill(n?e.ZERO:void 0),i=t.reduce((t,n,i)=>e.is0(n)?t:(r[i]=t,e.mul(t,n)),e.ONE),a=e.inv(i);return t.reduceRight((t,n,i)=>e.is0(n)?t:(r[i]=e.mul(t,r[i]),e.mul(t,n)),a),r}function Lc(e,t){let n=(e.ORDER-Wc)/Gc,r=e.pow(t,n),i=e.eql(r,e.ONE),a=e.eql(r,e.ZERO),o=e.eql(r,e.neg(e.ONE));if(!i&&!a&&!o)throw Error(`invalid Legendre symbol result`);return i?1:a?0:-1}function Rc(e,t){t!==void 0&&kr(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function zc(e,t,n=!1,r={}){if(e<=Uc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Rc(e,t);if(a>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);let o,s=Object.freeze({ORDER:e,isLE:n,BITS:i,BYTES:a,MASK:Sc(i),ZERO:Uc,ONE:Wc,create:t=>Dc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Uc<=t&&t<e},is0:e=>e===Uc,isOdd:e=>(e&Wc)===Wc,neg:t=>Dc(-t,e),eql:(e,t)=>e===t,sqr:t=>Dc(t*t,e),add:(t,n)=>Dc(t+n,e),sub:(t,n)=>Dc(t-n,e),mul:(t,n)=>Dc(t*n,e),pow:(e,t)=>Fc(s,e,t),div:(t,n)=>Dc(t*kc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>kc(t,e),sqrt:r.sqrt||(t=>(o||=Nc(e),o(s,t))),toBytes:e=>n?ac(e,a):ic(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?rc(e):nc(e)},invertBatch:e=>Ic(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Bc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Vc(e){let t=Bc(e);return t+Math.ceil(t/2)}function Hc(e,t,n=!1){let r=e.length,i=Bc(t),a=Vc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Dc(n?rc(e):nc(e),t-Wc)+Wc;return n?ac(o,i):ic(o,i)}var Uc,Wc,Gc,Kc,qc,Jc,Yc,Xc,Zc=o((()=>{Jr(),Ec(),Uc=BigInt(0),Wc=BigInt(1),Gc=BigInt(2),Kc=BigInt(3),qc=BigInt(4),Jc=BigInt(5),Yc=BigInt(8),Xc=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`]}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Qc(e,t){let n=t.negate();return e?n:t}function $c(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function el(e,t){$c(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Sc(e),maxNumber:i,shiftBy:BigInt(e)}}function tl(e,t,n){let{windowSize:r,mask:i,maxNumber:a,shiftBy:o}=n,s=Number(e&i),c=e>>o;s>r&&(s-=a,c+=ll);let l=t*r,u=l+Math.abs(s)-1,d=s===0,f=s<0,p=t%2!=0;return{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:l}}function nl(e,t){if(!Array.isArray(e))throw Error(`array expected`);e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function rl(e,t){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,n)=>{if(!t.isValid(e))throw Error(`invalid scalar at index `+n)})}function il(e){return dl.get(e)||1}function al(e,t){return{constTimeNegate:Qc,hasPrecomputes(e){return il(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>cl;)n&ll&&(r=r.add(i)),i=i.double(),n>>=ll;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=el(n,t),a=[],o=e,s=o;for(let e=0;e<r;e++){s=o,a.push(s);for(let e=1;e<i;e++)s=s.add(o),a.push(s);o=s.double()}return a},wNAF(n,r,i){let a=e.ZERO,o=e.BASE,s=el(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=tl(i,e,s);i=t,c?o=o.add(Qc(u,r[d])):a=a.add(Qc(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=el(n,t);for(let e=0;e<o.windows&&i!==cl;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=tl(i,e,o);if(i=t,!s){let e=r[n];a=a.add(c?e.negate():e)}}return a},getPrecomputes(e,t,n){let r=ul.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&ul.set(t,n(r))),r},wNAFCached(e,t,n){let r=il(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=il(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){$c(n,t),dl.set(e,n),ul.delete(e)}}}function ol(e,t,n,r){nl(n,e),rl(r,t);let i=n.length,a=r.length;if(i!==a)throw Error(`arrays of points and scalars must have equal length`);let o=e.ZERO,s=fc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Sc(c),u=Array(Number(l)+1).fill(o),d=Math.floor((t.BITS-1)/c)*c,f=o;for(let e=d;e>=0;e-=c){u.fill(o);for(let t=0;t<a;t++){let i=r[t],a=Number(i>>BigInt(e)&l);u[a]=u[a].add(n[t])}let t=o;for(let e=u.length-1,n=o;e>0;e--)n=n.add(u[e]),t=t.add(n);if(f=f.add(t),e!==0)for(let e=0;e<c;e++)f=f.double()}return f}function sl(e){return Pc(e.Fp),mc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Rc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var cl,ll,ul,dl,fl=o((()=>{Zc(),Ec(),cl=BigInt(0),ll=BigInt(1),ul=new WeakMap,dl=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction pl(e){e.lowS!==void 0&&Xs(`lowS`,e.lowS),e.prehash!==void 0&&Xs(`prehash`,e.prehash)}function ml(e){let t=sl(e);mc(t,{a:`field`,b:`field`},{allowInfinityPoint:`boolean`,allowedPrivateKeyLengths:`array`,clearCofactor:`function`,fromBytes:`function`,isTorsionFree:`function`,toBytes:`function`,wrapPrivateKey:`boolean`});let{endo:n,Fp:r,a:i}=t;if(n){if(!r.eql(i,r.ZERO))throw Error(`invalid endo: CURVE.a must be 0`);if(typeof n!=`object`||typeof n.beta!=`bigint`||typeof n.splitScalar!=`function`)throw Error(`invalid endo: expected \"beta\": bigint and \"splitScalar\": function`)}return Object.freeze({...t})}function hl(e,t){return $s(ic(e,t))}function gl(e){let t=ml(e),{Fp:n}=t,r=zc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return sc(Uint8Array.from([4]),n.toBytes(i.x),n.toBytes(i.y))}),a=t.fromBytes||(e=>{let t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function o(e){let{a:r,b:i}=t,a=n.sqr(e),o=n.mul(a,e);return n.add(n.add(o,n.mul(e,r)),i)}function s(e,t){let r=n.sqr(t),i=o(e);return n.eql(r,i)}if(!s(t.Gx,t.Gy))throw Error(`bad curve params: generator point`);let c=n.mul(n.pow(t.a,Tl),El),l=n.mul(n.sqr(t.b),BigInt(27));if(n.is0(n.add(c,l)))throw Error(`bad curve params: a or b`);function u(e){return uc(e,M,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(Js(e)&&(e=$s(e)),typeof e!=`string`||!n.includes(e.length))throw Error(`invalid private key`);e=e.padStart(r*2,`0`)}let o;try{o=typeof e==`bigint`?e:nc(oc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Dc(o,a)),dc(`private key`,o,M,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=hc((e,t)=>{let{px:r,py:i,pz:a}=e;if(n.eql(a,n.ONE))return{x:r,y:i};let o=e.is0();t??=o?n.ONE:n.inv(a);let s=n.mul(r,t),c=n.mul(i,t),l=n.mul(a,t);if(o)return{x:n.ZERO,y:n.ZERO};if(!n.eql(l,n.ONE))throw Error(`invZ was invalid`);return{x:s,y:c}}),m=hc(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.py))return;throw Error(`bad point: ZERO`)}let{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw Error(`bad point: x or y not FE`);if(!s(r,i))throw Error(`bad point: equation left != right`);if(!e.isTorsionFree())throw Error(`bad point: not in prime-order subgroup`);return!0});class h{constructor(e,t,r){if(e==null||!n.isValid(e))throw Error(`x required`);if(t==null||!n.isValid(t)||n.is0(t))throw Error(`y required`);if(r==null||!n.isValid(r))throw Error(`z required`);this.px=e,this.py=t,this.pz=r,Object.freeze(this)}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw Error(`invalid affine point`);if(e instanceof h)throw Error(`projective point not allowed`);let i=e=>n.eql(e,n.ZERO);return i(t)&&i(r)?h.ZERO:new h(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=Ic(n,e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(h.fromAffine)}static fromHex(e){let t=h.fromAffine(a(oc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return ol(h,r,e,t)}_setWindowSize(e){v.setWindowSize(this,e)}assertValidity(){m(this)}hasEvenY(){let{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw Error(`Field doesn't support isOdd`)}equals(e){f(e);let{px:t,py:r,pz:i}=this,{px:a,py:o,pz:s}=e,c=n.eql(n.mul(t,s),n.mul(a,i)),l=n.eql(n.mul(r,s),n.mul(o,i));return c&&l}negate(){return new h(this.px,n.neg(this.py),this.pz)}double(){let{a:e,b:r}=t,i=n.mul(r,Tl),{px:a,py:o,pz:s}=this,c=n.ZERO,l=n.ZERO,u=n.ZERO,d=n.mul(a,a),f=n.mul(o,o),p=n.mul(s,s),m=n.mul(a,o);return m=n.add(m,m),u=n.mul(a,s),u=n.add(u,u),c=n.mul(e,u),l=n.mul(i,p),l=n.add(c,l),c=n.sub(f,l),l=n.add(f,l),l=n.mul(c,l),c=n.mul(m,c),u=n.mul(i,u),p=n.mul(e,p),m=n.sub(d,p),m=n.mul(e,m),m=n.add(m,u),u=n.add(d,d),d=n.add(u,d),d=n.add(d,p),d=n.mul(d,m),l=n.add(l,d),p=n.mul(o,s),p=n.add(p,p),d=n.mul(p,m),c=n.sub(c,d),u=n.mul(p,f),u=n.add(u,u),u=n.add(u,u),new h(c,l,u)}add(e){f(e);let{px:r,py:i,pz:a}=this,{px:o,py:s,pz:c}=e,l=n.ZERO,u=n.ZERO,d=n.ZERO,p=t.a,m=n.mul(t.b,Tl),g=n.mul(r,o),_=n.mul(i,s),v=n.mul(a,c),y=n.add(r,i),b=n.add(o,s);y=n.mul(y,b),b=n.add(g,_),y=n.sub(y,b),b=n.add(r,a);let x=n.add(o,c);return b=n.mul(b,x),x=n.add(g,v),b=n.sub(b,x),x=n.add(i,a),l=n.add(s,c),x=n.mul(x,l),l=n.add(_,v),x=n.sub(x,l),d=n.mul(p,b),l=n.mul(m,v),d=n.add(l,d),l=n.sub(_,d),d=n.add(_,d),u=n.mul(l,d),_=n.add(g,g),_=n.add(_,g),v=n.mul(p,v),b=n.mul(m,b),_=n.add(_,v),v=n.sub(g,v),v=n.mul(p,v),b=n.add(b,v),g=n.mul(_,b),u=n.add(u,g),g=n.mul(x,b),l=n.mul(y,l),l=n.sub(l,g),g=n.mul(y,_),d=n.mul(x,d),d=n.add(d,g),new h(l,u,d)}subtract(e){return this.add(e.negate())}is0(){return this.equals(h.ZERO)}wNAF(e){return v.wNAFCached(this,e,h.normalizeZ)}multiplyUnsafe(e){let{endo:r,n:i}=t;dc(`scalar`,e,Cl,i);let a=h.ZERO;if(e===Cl)return a;if(this.is0()||e===M)return this;if(!r||v.hasPrecomputes(this))return v.wNAFCachedUnsafe(this,e,h.normalizeZ);let{k1neg:o,k1:s,k2neg:c,k2:l}=r.splitScalar(e),u=a,d=a,f=this;for(;s>Cl||l>Cl;)s&M&&(u=u.add(f)),l&M&&(d=d.add(f)),f=f.double(),s>>=M,l>>=M;return o&&(u=u.negate()),c&&(d=d.negate()),d=new h(n.mul(d.px,r.beta),d.py,d.pz),u.add(d)}multiply(e){let{endo:r,n:i}=t;dc(`scalar`,e,M,i);let a,o;if(r){let{k1neg:t,k1:i,k2neg:s,k2:c}=r.splitScalar(e),{p:l,f:u}=this.wNAF(i),{p:d,f}=this.wNAF(c);l=v.constTimeNegate(t,l),d=v.constTimeNegate(s,d),d=new h(n.mul(d.px,r.beta),d.py,d.pz),a=l.add(d),o=u.add(f)}else{let{p:t,f:n}=this.wNAF(e);a=t,o=n}return h.normalizeZ([a,o])[0]}multiplyAndAddUnsafe(e,t,n){let r=h.BASE,i=(e,t)=>t===Cl||t===M||!e.equals(r)?e.multiplyUnsafe(t):e.multiply(t),a=i(this,t).add(i(e,n));return a.is0()?void 0:a}toAffine(e){return p(this,e)}isTorsionFree(){let{h:e,isTorsionFree:n}=t;if(e===M)return!0;if(n)return n(h,this);throw Error(`isTorsionFree() has not been declared for the elliptic curve`)}clearCofactor(){let{h:e,clearCofactor:n}=t;return e===M?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return Xs(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return Xs(`isCompressed`,e),$s(this.toRawBytes(e))}}h.BASE=new h(t.Gx,t.Gy,n.ONE),h.ZERO=new h(n.ZERO,n.ONE,n.ZERO);let{endo:g,nBitLength:_}=t,v=al(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function _l(e){let t=sl(e);return mc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function vl(e){let t=_l(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Dc(e,r)}function l(e){return kc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=gl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=sc;return Xs(`isCompressed`,r),r?o(Uint8Array.from([t.hasEvenY()?2:3]),a):o(Uint8Array.from([4]),a,n.toBytes(i.y))},fromBytes(e){let t=e.length,r=e[0],i=e.subarray(1);if(t===o&&(r===2||r===3)){let e=nc(i);if(!uc(e,M,n.ORDER))throw Error(`Point is not on curve`);let t=f(e),a;try{a=n.sqrt(t)}catch(e){let t=e instanceof Error?`: `+e.message:``;throw Error(`Point is not on curve`+t)}let o=(a&M)===M;return(r&1)==1!==o&&(a=n.neg(a)),{x:e,y:a}}else if(t===s&&r===4)return{x:n.fromBytes(i.subarray(0,n.BYTES)),y:n.fromBytes(i.subarray(n.BYTES,2*n.BYTES))};else{let e=o,n=s;throw Error(`invalid Point, expected length of `+e+`, or uncompressed `+n+`, got `+t)}}});function m(e){return e>r>>M}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>nc(e.slice(t,n));class _{constructor(e,t,n){dc(`r`,e,M,r),dc(`s`,t,M,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=oc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Sl.toSig(oc(`DER`,e));return new _(t,n)}assertValidity(){}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){let{r,s:i,recovery:a}=this,o=ee(oc(`msgHash`,e));if(a==null||![0,1,2,3].includes(a))throw Error(`recovery id invalid`);let s=a===2||a===3?r+t.n:r;if(s>=n.ORDER)throw Error(`recovery id 2 or 3 invalid`);let d=a&1?`03`:`02`,f=u.fromHex(d+hl(s,n.BYTES)),p=l(s),m=c(-o*p),h=c(i*p),g=u.BASE.multiplyAndAddUnsafe(f,m,h);if(!g)throw Error(`point at infinify`);return g.assertValidity(),g}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new _(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return tc(this.toDERHex())}toDERHex(){return Sl.hexFromSig(this)}toCompactRawBytes(){return tc(this.toCompactHex())}toCompactHex(){let e=i;return hl(this.r,e)+hl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Vc(t.n);return Hc(t.randomBytes(e),t.n)},precompute(e=8,t=u.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}};function y(e,t=!0){return u.fromPrivateKey(e).toRawBytes(t)}function b(e){if(typeof e==`bigint`)return!1;if(e instanceof u)return!0;let r=oc(`key`,e).length,a=n.BYTES,o=a+1,s=2*a+1;if(!(t.allowedPrivateKeyLengths||i===o))return r===o||r===s}function x(e,t,n=!0){if(b(e)===!0)throw Error(`first arg must be private key`);if(b(t)===!1)throw Error(`second arg must be public key`);return u.fromHex(t).multiply(d(e)).toRawBytes(n)}let S=t.bits2int||function(e){if(e.length>8192)throw Error(`input is too large`);let t=nc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},ee=t.bits2int_modN||function(e){return c(S(e))},te=Sc(a);function C(e){return dc(`num < 2^`+a,e,Cl,te),ic(e,i)}function w(e,r,i=ne){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{hash:a,randomBytes:o}=t,{lowS:s,prehash:f,extraEntropy:g}=i;s??=!0,e=oc(`msgHash`,e),pl(i),f&&(e=oc(`prehashed msgHash`,a(e)));let v=ee(e),y=d(r),b=[C(y),C(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(oc(`extraEntropy`,e))}let x=sc(...b),te=v;function w(e){let t=S(e);if(!p(t))return;let n=l(t),r=u.BASE.multiply(t).toAffine(),i=c(r.x);if(i===Cl)return;let a=c(n*c(te+i*y));if(a===Cl)return;let o=(r.x===i?0:2)|Number(r.y&M),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:w}}let ne={lowS:t.lowS,prehash:!1},re={lowS:t.lowS,prehash:!1};function ie(e,n,r=ne){let{seed:i,k2sig:a}=w(e,n,r),o=t;return pc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ae(e,n,r,i=re){let a=e;n=oc(`msgHash`,n),r=oc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(pl(i),`strict`in i)throw Error(`options.strict was renamed to lowS`);if(d!==void 0&&d!==`compact`&&d!==`der`)throw Error(`format must be compact or der`);let f=typeof a==`string`||Js(a),p=!f&&!d&&typeof a==`object`&&!!a&&typeof a.r==`bigint`&&typeof a.s==`bigint`;if(!f&&!p)throw Error(`invalid signature, expected Uint8Array, hex string or Signature instance`);let m,h;try{if(p&&(m=new _(a.r,a.s)),f){try{d!==`compact`&&(m=_.fromDER(a))}catch(e){if(!(e instanceof Sl.Err))throw e}!m&&d!==`der`&&(m=_.fromCompact(a))}h=u.fromHex(r)}catch{return!1}if(!m||o&&m.hasHighS())return!1;s&&(n=t.hash(n));let{r:g,s:v}=m,y=ee(n),b=l(v),x=c(y*b),S=c(g*b),te=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return te?c(te.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:ie,verify:ae,ProjectivePoint:u,Signature:_,utils:v}}function yl(e,t){let n=e.ORDER,r=Cl;for(let e=n-M;e%wl===Cl;e/=wl)r+=M;let i=r,a=wl<<i-M-M,o=a*wl,s=(n-M)/o,c=(s-M)/wl,l=o-M,u=a,d=e.pow(t,s),f=e.pow(t,(s+M)/wl),p=(t,n)=>{let r=d,a=e.pow(n,l),o=e.sqr(a);o=e.mul(o,n);let s=e.mul(t,o);s=e.pow(s,c),s=e.mul(s,a),a=e.mul(s,n),o=e.mul(s,t);let p=e.mul(o,a);s=e.pow(p,u);let m=e.eql(s,e.ONE);a=e.mul(o,f),s=e.mul(p,r),o=e.cmov(a,o,m),p=e.cmov(s,p,m);for(let t=i;t>M;t--){let n=t-wl;n=wl<<n-M;let i=e.pow(p,n),s=e.eql(i,e.ONE);a=e.mul(o,r),r=e.mul(r,r),i=e.mul(p,r),o=e.cmov(a,o,s),p=e.cmov(i,p,s)}return{isValid:m,value:o}};if(e.ORDER%El===Tl){let n=(e.ORDER-Tl)/El,r=e.sqrt(e.neg(t));p=(t,i)=>{let a=e.sqr(i),o=e.mul(t,i);a=e.mul(a,o);let s=e.pow(a,n);s=e.mul(s,o);let c=e.mul(s,r),l=e.mul(e.sqr(s),i),u=e.eql(l,t);return{isValid:u,value:e.cmov(c,s,u)}}}return p}function bl(e,t){if(Pc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=yl(e,t.Z);if(!e.isOdd)throw Error(`Fp.isOdd is not implemented!`);return r=>{let i,a,o,s,c,l,u,d;i=e.sqr(r),i=e.mul(i,t.Z),a=e.sqr(i),a=e.add(a,i),o=e.add(a,e.ONE),o=e.mul(o,t.B),s=e.cmov(t.Z,e.neg(a),!e.eql(a,e.ZERO)),s=e.mul(s,t.A),a=e.sqr(o),l=e.sqr(s),c=e.mul(l,t.A),a=e.add(a,c),a=e.mul(a,o),l=e.mul(l,s),c=e.mul(l,t.B),a=e.add(a,c),u=e.mul(i,o);let{isValid:f,value:p}=n(a,l);d=e.mul(i,r),d=e.mul(d,p),u=e.cmov(u,o,f),d=e.cmov(d,p,f);let m=e.isOdd(r)===e.isOdd(d);d=e.cmov(e.neg(d),d,m);let h=Ic(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var xl,Sl,Cl,M,wl,Tl,El,Dl=o((()=>{fl(),Zc(),Ec(),xl=class extends Error{constructor(e=``){super(e)}},Sl={Err:xl,_tlv:{encode:(e,t)=>{let{Err:n}=Sl;if(e<0||e>256)throw new n(`tlv.encode: wrong tag`);if(t.length&1)throw new n(`tlv.encode: unpadded data`);let r=t.length/2,i=Zs(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?Zs(i.length/2|128):``;return Zs(e)+a+i+t},decode(e,t){let{Err:n}=Sl,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`);let i=t[r++],a=!!(i&128),o=0;if(!a)o=i;else{let e=i&127;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`);let a=t.subarray(r,r+e);if(a.length!==e)throw new n(`tlv.decode: length bytes not complete`);if(a[0]===0)throw new n(`tlv.decode(long): zero leftmost byte`);for(let e of a)o=o<<8|e;if(r+=e,o<128)throw new n(`tlv.decode(long): not minimal encoding`)}let s=t.subarray(r,r+o);if(s.length!==o)throw new n(`tlv.decode: wrong value length`);return{v:s,l:t.subarray(r+o)}}},_int:{encode(e){let{Err:t}=Sl;if(e<Cl)throw new t(`integer: negative integers are not allowed`);let n=Zs(e);if(Number.parseInt(n[0],16)&8&&(n=`00`+n),n.length&1)throw new t(`unexpected DER parsing assertion: unpadded hex`);return n},decode(e){let{Err:t}=Sl;if(e[0]&128)throw new t(`invalid signature integer: negative`);if(e[0]===0&&!(e[1]&128))throw new t(`invalid signature integer: unnecessary leading zero`);return nc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Sl,i=oc(`signature`,e),{v:a,l:o}=r.decode(48,i);if(o.length)throw new t(`invalid signature: left bytes after parsing`);let{v:s,l:c}=r.decode(2,a),{v:l,l:u}=r.decode(2,c);if(u.length)throw new t(`invalid signature: left bytes after parsing`);return{r:n.decode(s),s:n.decode(l)}},hexFromSig(e){let{_tlv:t,_int:n}=Sl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},Cl=BigInt(0),M=BigInt(1),wl=BigInt(2),Tl=BigInt(3),El=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Ol(e){return{hash:e,hmac:(t,...n)=>Ks(e,t,Hr(...n)),randomBytes:Wr}}function kl(e,t){let n=t=>vl({...e,...Ol(t)});return{...n(t),create:n}}var Al=o((()=>{qs(),Jr(),Dl()}));function jl(e,t){if(Nl(e),Nl(t),e<0||e>=1<<8*t)throw Error(`invalid I2OSP input: `+e);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function Ml(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function Nl(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Pl(e,t,n,r){Ys(e),Ys(t),Nl(n),t.length>255&&(t=r(sc(lc(`H2C-OVERSIZE-DST-`),t)));let{outputLen:i,blockLen:a}=r,o=Math.ceil(n/i);if(n>65535||o>255)throw Error(`expand_message_xmd: invalid lenInBytes`);let s=sc(t,jl(t.length,1)),c=jl(0,a),l=jl(n,2),u=Array(o),d=r(sc(c,e,l,jl(0,1),s));u[0]=r(sc(d,jl(1,1),s));for(let e=1;e<=o;e++)u[e]=r(sc(Ml(d,u[e-1]),jl(e+1,1),s));return sc(...u).slice(0,n)}function Fl(e,t,n,r,i){if(Ys(e),Ys(t),Nl(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(lc(`H2C-OVERSIZE-DST-`)).update(t).digest()}if(n>65535||t.length>255)throw Error(`expand_message_xof: invalid lenInBytes`);return i.create({dkLen:n}).update(e).update(jl(n,2)).update(t).update(jl(t.length,1)).digest()}function Il(e,t,n){mc(n,{DST:`stringOrUint8Array`,p:`bigint`,m:`isSafeInteger`,k:`isSafeInteger`,hash:`hash`});let{p:r,k:i,m:a,hash:o,expand:s,DST:c}=n;Ys(e),Nl(t);let l=typeof c==`string`?lc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Pl(e,l,f,o);else if(s===`xof`)p=Fl(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be \"xmd\" or \"xof\"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a);t[n]=Dc(zl(p.subarray(i,i+d)),r)}m[e]=t}return m}function Ll(e,t){let n=t.map(e=>Array.from(e).reverse());return(t,r)=>{let[i,a,o,s]=n.map(n=>n.reduce((n,r)=>e.add(e.mul(n,t),r))),[c,l]=Ic(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Rl(e,t,n){if(typeof t!=`function`)throw Error(`mapToCurve() must be defined`);function r(n){return e.fromAffine(t(n))}function i(t){let n=t.clearCofactor();return n.equals(e.ZERO)?e.ZERO:(n.assertValidity(),n)}return{defaults:n,hashToCurve(e,t){let a=Il(e,2,{...n,DST:n.DST,...t}),o=r(a[0]),s=r(a[1]);return i(o.add(s))},encodeToCurve(e,t){return i(r(Il(e,1,{...n,DST:n.encodeDST,...t})[0]))},mapToCurve(e){if(!Array.isArray(e))throw Error(`expected array of bigints`);for(let t of e)if(typeof t!=`bigint`)throw Error(`expected array of bigints`);return i(r(e))}}}var zl,Bl=o((()=>{Zc(),Ec(),zl=nc})),Vl=c({encodeToCurve:()=>_u,hashToCurve:()=>gu,schnorr:()=>fu,secp256k1:()=>ru,secp256k1_hasher:()=>hu});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Hl(e){let t=Xl,n=BigInt(3),r=BigInt(6),i=BigInt(11),a=BigInt(22),o=BigInt(23),s=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=Oc(Oc(Oc(u,n,t)*u%t,n,t)*u%t,eu,t)*l%t,f=Oc(d,i,t)*d%t,p=Oc(f,a,t)*f%t,m=Oc(p,s,t)*p%t,h=Oc(Oc(Oc(Oc(Oc(Oc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,eu,t);if(!nu.eql(nu.sqr(h),e))throw Error(`Cannot find square root`);return h}function Ul(e,...t){let n=iu[e];if(n===void 0){let t=Vs(Uint8Array.from(e,e=>e.charCodeAt(0)));n=sc(t,t),iu[e]=n}return Vs(sc(n,...t))}function Wl(e){let t=ru.utils.normPrivateKeyToScalar(e),n=lu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:cu(-t),bytes:au(n)}}function Gl(e){dc(`x`,e,$l,Xl);let t=Hl(su(su(e*e)*e+BigInt(7)));t%eu!==Ql&&(t=su(-t));let n=new lu(e,t,$l);return n.assertValidity(),n}function Kl(...e){return cu(du(Ul(`BIP0340/challenge`,...e)))}function ql(e){return Wl(e).bytes}function Jl(e,t,n=Wr(32)){let r=oc(`message`,e),{bytes:i,scalar:a}=Wl(t),o=cu(du(Ul(`BIP0340/nonce`,ou(a^du(Ul(`BIP0340/aux`,oc(`auxRand`,n,32)))),i,r)));if(o===Ql)throw Error(`sign failed: k is zero`);let{bytes:s,scalar:c}=Wl(o),l=Kl(s,i,r),u=new Uint8Array(64);if(u.set(s,0),u.set(ou(cu(c+l*a)),32),!Yl(u,r,i))throw Error(`sign: Invalid signature produced`);return u}function Yl(e,t,n){let r=oc(`signature`,e,64),i=oc(`message`,t),a=oc(`publicKey`,n,32);try{let e=Gl(du(a)),t=du(r.subarray(0,32));if(!uc(t,$l,Xl))return!1;let n=du(r.subarray(32,64));if(!uc(n,$l,Zl))return!1;let o=uu(e,n,cu(-Kl(ou(t),au(e),i)));return!(!o||!o.hasEvenY()||o.toAffine().x!==t)}catch{return!1}}var Xl,Zl,Ql,$l,eu,tu,nu,ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu=o((()=>{Ws(),Jr(),Al(),Bl(),Zc(),Ec(),Dl(),Xl=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),Zl=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),Ql=BigInt(0),$l=BigInt(1),eu=BigInt(2),tu=(e,t)=>(e+t/eu)/t,nu=zc(Xl,void 0,void 0,{sqrt:Hl}),ru=kl({a:Ql,b:BigInt(7),Fp:nu,n:Zl,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=Zl,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-$l*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=tu(a*e,t),c=tu(-r*e,t),l=Dc(e-s*n-c*i,t),u=Dc(-s*r-c*a,t),d=l>o,f=u>o;if(d&&(l=t-l),f&&(u=t-u),l>o||u>o)throw Error(`splitScalar: Endomorphism failed, k=`+e);return{k1neg:d,k1:l,k2neg:f,k2:u}}}},Vs),iu={},au=e=>e.toRawBytes(!0).slice(1),ou=e=>ic(e,32),su=e=>Dc(e,Xl),cu=e=>Dc(e,Zl),lu=ru.ProjectivePoint,uu=(e,t,n)=>lu.BASE.multiplyAndAddUnsafe(e,t,n),du=nc,fu={getPublicKey:ql,sign:Jl,verify:Yl,utils:{randomPrivateKey:ru.utils.randomPrivateKey,lift_x:Gl,pointToBytes:au,numberToBytesBE:ic,bytesToNumberBE:nc,taggedHash:Ul,mod:Dc}},pu=Ll(nu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),mu=bl(nu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:nu.create(BigInt(`-11`))}),hu=Rl(ru.ProjectivePoint,e=>{let{x:t,y:n}=mu(nu.create(e[0]));return pu(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:nu.ORDER,m:1,k:128,expand:`xmd`,hash:Vs}),gu=hu.hashToCurve,_u=hu.encodeToCurve}));Gt(),qt(),Hn(),j();async function yu({hash:e,signature:t}){let n=E(e)?e:Un(e),{secp256k1:r}=await Promise.resolve().then(()=>(vu(),Vl));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=bu(Number(a??i));return new r.Signature(k(e),k(n)).addRecoveryBit(o)}let e=E(t)?t:Un(t);if(Kt(e)!==65)throw Error(`invalid signature length`);let n=bu(Vn(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function bu(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw Error(`Invalid yParityOrV value`)}async function xu({hash:e,signature:t}){return Ss(await yu({hash:e,signature:t}))}O(),Pa(),rr(),j();function Su(e,t=`hex`){let n=Cu(e),r=Ma(new Uint8Array(n.length));return n.encode(r),t===`hex`?Gn(r.bytes):r.bytes}function Cu(e){return Array.isArray(e)?wu(e.map(e=>Cu(e))):Tu(e)}function wu(e){let t=e.reduce((e,t)=>e+t.length,0),n=Eu(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function Tu(e){let t=typeof e==`string`?Qn(e):e,n=Eu(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function Eu(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new D(`Length is too large.`)}Hi(),rr(),j(),hi();function Du(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=mi(Vi([`0x05`,Su([t?A(t):`0x`,i,n?A(n):`0x`])]));return r===`bytes`?Qn(a):a}async function Ou(e){let{authorization:t,signature:n}=e;return xu({hash:Du(t),signature:n??t})}fo(),mo(),O(),Do();var ku=class extends D{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=bo({from:t?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});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}},Au,ju,Mu,Nu,Pu,Fu,Iu,Lu,Ru,zu,Bu,Vu,Hu=o((()=>{mo(),O(),Au=class extends D{constructor({cause:e,message:t}={}){let 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(Au,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Au,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),ju=class extends D{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${po(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(ju,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),Mu=class extends D{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${po(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(Mu,\"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/}),Nu=class extends D{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(Nu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Pu=class extends D{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(Pu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Fu=class extends D{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(Fu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Iu=class extends D{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(Iu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Lu=class extends D{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(Lu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Ru=class extends D{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(Ru,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),zu=class extends D{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(zu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),Bu=class extends D{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${po(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${po(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Vu=class extends D{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function Uu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof D?e.walk(e=>e?.code===Au.code):e;return r instanceof D?new Au({cause:e,message:r.details}):Au.nodeMessage.test(n)?new Au({cause:e,message:e.details}):ju.nodeMessage.test(n)?new ju({cause:e,maxFeePerGas:t?.maxFeePerGas}):Mu.nodeMessage.test(n)?new Mu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Nu.nodeMessage.test(n)?new Nu({cause:e,nonce:t?.nonce}):Pu.nodeMessage.test(n)?new Pu({cause:e,nonce:t?.nonce}):Fu.nodeMessage.test(n)?new Fu({cause:e,nonce:t?.nonce}):Iu.nodeMessage.test(n)?new Iu({cause:e}):Lu.nodeMessage.test(n)?new Lu({cause:e,gas:t?.gas}):Ru.nodeMessage.test(n)?new Ru({cause:e,gas:t?.gas}):zu.nodeMessage.test(n)?new zu({cause:e}):Bu.nodeMessage.test(n)?new Bu({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Vu({cause:e})}var Wu=o((()=>{O(),Hu()}));Hu(),Wu();function Gu(e,{docsPath:t,...n}){return new ku((()=>{let t=Uu(e,n);return t instanceof Vu?e:t})(),{docsPath:t,...n})}function Ku(e,{format:t}){if(!t)return{};let n={};function r(t){let i=Object.keys(t);for(let a of i)a in e&&(n[a]=e[a]),t[a]&&typeof t[a]==`object`&&!Array.isArray(t[a])&&r(t[a])}return r(t(e||{})),n}var qu=o((()=>{}));function Ju(e,t){return({exclude:n,format:r})=>({exclude:n,format:(e,i)=>{let a=t(e,i);if(n)for(let e of n)delete a[e];return{...a,...r(e,i)}},type:e})}var Yu=o((()=>{}));function Xu(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=Zu(e.authorizationList)),e.accessList!==void 0&&(n.accessList=e.accessList),e.blobVersionedHashes!==void 0&&(n.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(typeof e.blobs[0]==`string`?n.blobs=e.blobs:n.blobs=e.blobs.map(e=>Gn(e))),e.data!==void 0&&(n.data=e.data),e.account&&(n.from=e.account.address),e.from!==void 0&&(n.from=e.from),e.gas!==void 0&&(n.gas=A(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=A(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=A(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=A(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=A(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=A(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=Qu[e.type]),e.value!==void 0&&(n.value=A(e.value)),n}function Zu(e){return e.map(e=>({address:e.address,r:e.r?A(BigInt(e.r)):e.r,s:e.s?A(BigInt(e.s)):e.s,chainId:A(e.chainId),nonce:A(e.nonce),...e.yParity===void 0?{}:{yParity:A(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:A(e.v)}:{}}))}var Qu,$u,ed=o((()=>{j(),Yu(),Qu={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},$u=Ju(`transactionRequest`,Xu)}));function td(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new Tn({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new Tn({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function nd(e){let{balance:t,nonce:n,state:r,stateDiff:i,code:a}=e,o={};if(a!==void 0&&(o.code=a),t!==void 0&&(o.balance=A(t)),n!==void 0&&(o.nonce=A(n)),r!==void 0&&(o.state=td(r)),i!==void 0){if(o.state)throw new vo;o.stateDiff=td(i)}return o}function rd(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Fi(n,{strict:!1}))throw new Di({address:n});if(t[n])throw new _o({address:n});t[n]=nd(r)}return t}var id=o((()=>{Oi(),En(),yo(),Ri(),j()})),ad,od=o((()=>{2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n)),ad=2n**256n-1n}));function sd(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?_a(t):void 0;if(a&&!Fi(a.address))throw new Di({address:a.address});if(i&&!Fi(i))throw new Di({address:i});if(n&&n>ad)throw new ju({maxFeePerGas:n});if(r&&n&&r>n)throw new Bu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var cd=o((()=>{va(),od(),Oi(),Hu(),Ri()}));mo(),O();var ld=class extends D{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},ud=class extends D{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},dd=class extends D{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${po(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};O();var fd=class extends D{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`})}};Hn(),Yu();let pd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function md(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?Vn(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?Vn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?pd[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&&(n.authorizationList=gd(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v==`bigint`){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return+(n.v%2n==0n)}})(),n.type===`legacy`&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type===`eip2930`&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type===`eip1559`&&delete n.maxFeePerBlobGas,n}let hd=Ju(`transaction`,md);function gd(e){return e.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))}function _d(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:md(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:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}j();async function vd(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:A(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new fd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||_d)(s,`getBlock`)}async function yd(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}Hn();async function bd(e,t){let{block:n,chain:r=e.chain,request:i}=t||{};try{let t=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if(typeof t==`function`){let r=await t({block:n||await T(e,vd,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?k(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):T(e,vd,`getBlock`)({}),T(e,yd,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new ud;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function xd(e,t){let{block:n,chain:r=e.chain,request:i,type:a=`eip1559`}=t||{},o=await(async()=>typeof r?.fees?.baseFeeMultiplier==`function`?r.fees.baseFeeMultiplier({block:n,client:e,request:i}):r?.fees?.baseFeeMultiplier??1.2)();if(o<1)throw new ld;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.ceil(o*s))/BigInt(s),l=n||await T(e,vd,`getBlock`)({});if(typeof r?.fees?.estimateFeesPerGas==`function`){let t=await r.fees.estimateFeesPerGas({block:n,client:e,multiply:c,request:i,type:a});if(t!==null)return t}if(a===`eip1559`){if(typeof l.baseFeePerGas!=`bigint`)throw new ud;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await bd(e,{block:l,chain:r,request:i}),n=c(l.baseFeePerGas);return{maxFeePerGas:i?.maxFeePerGas??n+t,maxPriorityFeePerGas:t}}return{gasPrice:i?.gasPrice??c(await T(e,yd,`getGasPrice`)({}))}}function Sd(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new D(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?A(n):r??`latest`}var Cd=o((()=>{O(),j()}));Cd(),Hn();async function wd(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Sd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return Vn(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}rr(),j();function Td(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Qn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Gn(e))}rr(),j();function Ed(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Qn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>Qn(e)):e.commitments,a=[];for(let e=0;e<r.length;e++){let n=r[e],o=i[e];a.push(Uint8Array.from(t.computeBlobKzgProof(n,o)))}return n===`bytes`?a:a.map(e=>Gn(e))}Ws();let Dd=Vs;Gt(),rr(),j();function Od(e,t){let n=t||`hex`,r=Dd(E(e,{strict:!1})?Yn(e):e);return n===`bytes`?r:Un(r)}j();function kd(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Od(t,`bytes`);return i.set([n],0),r===`bytes`?i:Gn(i)}function Ad(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(kd({commitment:e,to:r,version:n}));return i}O();var jd=class extends D{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Md=class extends D{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Nd=class extends D{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Pd=class extends D{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};Pa(),qt(),rr(),j();function Fd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Qn(e.data):e.data,r=Kt(n);if(!r)throw new Md;if(r>761855)throw new jd({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Ma(new Uint8Array(131072)),t=0;for(;t<4096;){let r=n.slice(o,o+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),a=!1;break}t++,o+=31}i.push(e)}return t===`bytes`?i.map(e=>e.bytes):i.map(e=>Gn(e.bytes))}function Id(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Fd({data:t,to:r}),a=e.commitments??Td({blobs:i,kzg:n,to:r}),o=e.proofs??Ed({blobs:i,commitments:a,kzg:n,to:r}),s=[];for(let e=0;e<i.length;e++)s.push({blob:i[e],commitment:a[e],proof:o[e]});return s}Do();function Ld(e){if(e.type)return e.type;if(e.authorizationList!==void 0)return`eip7702`;if(e.blobs!==void 0||e.blobVersionedHashes!==void 0||e.maxFeePerBlobGas!==void 0||e.sidecars!==void 0)return`eip4844`;if(e.maxFeePerGas!==void 0||e.maxPriorityFeePerGas!==void 0)return`eip1559`;if(e.gasPrice!==void 0)return e.accessList===void 0?`legacy`:`eip2930`;throw new So({transaction:e})}Hu(),Do(),Wu();function Rd(e,{docsPath:t,...n}){return new Eo((()=>{let t=Uu(e,n);return t instanceof Vu?e:t})(),{docsPath:t,...n})}Hn();async function zd(e){return Vn(await e.request({method:`eth_chainId`},{dedupe:!0}))}va(),qu(),ed(),cd();async function Bd(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:m,nonceManager:h,to:g,type:_,value:v,...y}=t,b=await(async()=>{if(!n||!h||m!==void 0)return m;let t=_a(n),r=a?a.id:await T(e,zd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();sd(t);let x=a?.formatters?.transactionRequest?.format,S=(x||Xu)({...Ku(y,{format:x}),account:n?_a(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:b,to:g,type:_,value:v},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[S]}),r=(a?.formatters?.transaction?.format||md)(n.tx);delete r.blockHash,delete r.blockNumber,delete r.r,delete r.s,delete r.transactionIndex,delete r.v,delete r.yParity,r.data=r.input,r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let i=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await T(e,vd,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new ld;let o=10**(i.toString().split(`.`)[1]?.length??0),s=e=>e*BigInt(Math.ceil(i*o))/BigInt(o);return r.feePayerSignature||(r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=s(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=s(r.gasPrice))),{raw:n.raw,transaction:{from:S.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw Rd(n,{...t,chain:e.chain})}}va(),Ai(),cd();let Vd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Hd=new Map,Ud=new ki(128);async function Wd(e,t){let n=t;n.account??=e.account,n.parameters??=Vd;let{account:r,chain:i=e.chain,nonceManager:a,parameters:o}=n,s=(()=>{if(typeof i?.prepareTransactionRequest==`function`)return{fn:i.prepareTransactionRequest,runAt:[`beforeFillTransaction`]};if(Array.isArray(i?.prepareTransactionRequest))return{fn:i.prepareTransactionRequest[0],runAt:i.prepareTransactionRequest[1].runAt}})(),c;async function l(){return c||(n.chainId===void 0?i?i.id:(c=await T(e,zd,`getChainId`)({}),c):n.chainId)}let u=r&&_a(r),d=n.nonce;if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}s?.fn&&s.runAt?.includes(`beforeFillTransaction`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce);let f=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs||Ud.get(e.uid)===!1||![`fees`,`gas`].some(e=>o.includes(e)))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`)?await T(e,Bd,`fillTransaction`)({...n,nonce:d}).then(t=>{let{chainId:r,from:i,gas:a,gasPrice:o,nonce:s,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:u,type:d,...f}=t.transaction;return Ud.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...`feeToken`in f&&f.feeToken!==void 0&&f.feeToken!==null&&!(`feeToken`in n)?{feeToken:f.feeToken}:{},...t.capabilities?{_capabilities:t.capabilities}:{}}}).catch(t=>{let r=t;if(r.name!==`TransactionExecutionError`)return n;if(r.walk?.(e=>e.name===`ExecutionRevertedError`))throw t;return r.walk?.(e=>{let t=e;return t.name===`MethodNotFoundRpcError`||t.name===`MethodNotSupportedRpcError`||t.message?.includes(`eth_fillTransaction is not available`)})&&Ud.set(e.uid,!1),n}):n;d??=f.nonce,n={...f,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:p,gas:m,kzg:h,type:g}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let _;async function v(){return _||(_=await T(e,vd,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await T(e,wd,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=Td({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Ad({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Id({blobs:p,commitments:e,proofs:Ed({blobs:p,commitments:e,kzg:h}),to:`hex`});n.sidecars=t}}if(o.includes(`chainId`)&&(n.chainId=await l()),(o.includes(`fees`)||o.includes(`type`))&&g===void 0)try{n.type=Ld(n)}catch{let t=Hd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Hd.set(e.uid,t)),n.type=t?`eip1559`:`legacy`}if(o.includes(`fees`))if(n.type!==`legacy`&&n.type!==`eip2930`){if(n.maxFeePerGas===void 0||n.maxPriorityFeePerGas===void 0){let{maxFeePerGas:t,maxPriorityFeePerGas:r}=await xd(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new dd({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new ud;if(n.gasPrice===void 0){let{gasPrice:t}=await xd(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}return o.includes(`gas`)&&m===void 0&&(n.gas=await T(e,Gd,`estimateGas`)({...n,account:u,prepare:u?.type===`local`?[]:[`blobVersionedHashes`]})),s?.fn&&s.runAt?.includes(`afterFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`afterFillParameters`})),sd(n),delete n.parameters,n}va(),O(),j(),qu(),ed(),id(),cd();async function Gd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?_a(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await Ou({authorization:t.authorizationList[0]}).catch(()=>{throw new D(\"`to` is required. Could not infer from `authorizationList`\")})})(),{accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,blockNumber:u,blockTag:d,data:f,gas:p,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,value:y,stateOverride:b,...x}=r?await Wd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?A(u):void 0)||d,ee=rd(b);sd(t);let te=e.chain?.formatters?.transactionRequest?.format,C=(te||Xu)({...Ku(x,{format:te}),account:i,accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,to:n,value:y},`estimateGas`);return BigInt(await e.request({method:`eth_estimateGas`,params:ee?[C,S??e.experimental_blockTag??`latest`,ee]:S?[C,S]:[C]}))}catch(n){throw Gu(n,{...t,account:i,chain:e.chain})}}function Kd(e,t){if(!Fi(e,{strict:!1}))throw new Di({address:e});if(!Fi(t,{strict:!1}))throw new Di({address:t});return e.toLowerCase()===t.toLowerCase()}var qd=o((()=>{Oi(),Ri()}));function Jd(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,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}:{}}}Sn(),ja(),qt(),Ei(),Qa(),Wt();let Yd=`/docs/contract/decodeEventLog`;function Xd(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new ln({docsPath:Yd});let c=t.find(e=>e.type===`event`&&o===Ti(Vt(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new un(o,{docsPath:Yd});let{name:l,inputs:u}=c,d=u?.some(e=>!(`name`in e&&e.name)),f=d?[]:{},p=u.map((e,t)=>[e,t]).filter(([e])=>`indexed`in e&&e.indexed),m=[];for(let e=0;e<p.length;e++){let[t,n]=p[e],r=s[e];if(!r){if(a)throw new _n({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=Zd({param:t,value:r})}let h=u.filter(e=>!(`indexed`in e&&e.indexed)),g=a?h:[...m.map(([e])=>e),...h];if(g.length>0){if(n&&n!==`0x`)try{let e=Ba(g,n);if(e){let t=0;if(!a)for(let[n,r]of m)f[d?r:n.name||r]=e[t++];if(d)for(let n=0;n<u.length;n++)f[n]===void 0&&t<e.length&&(f[n]=e[t++]);else for(let n=0;n<h.length;n++)f[h[n].name]=e[t++]}}catch(e){if(a)throw e instanceof en||e instanceof ka?new gn({abiItem:c,data:n,params:g,size:Kt(n)}):e}else if(a)throw new gn({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function Zd({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Ba([e],t)||[])[0]}qd(),rr(),hi(),Ei();function Qd(e){let{abi:t,args:n,logs:r,strict:i=!0}=e,a=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})(),o=t.filter(e=>e.type===`event`).map(e=>({abi:e,selector:Ti(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?Jd(e):e,r=o.filter(e=>t.topics[0]===e.selector);if(r.length===0)return null;let s,c;for(let e of r)try{s=Xd({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=Xd({data:t.data,topics:t.topics,abi:[c.abi],strict:!1})}catch{let e=c.abi.inputs?.some(e=>!(`name`in e&&e.name));return{...t,args:e?[]:{},eventName:c.abi.name}}}return!s||!c||a&&!a.includes(s.eventName)||!$d({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function $d(e){let{args:t,inputs:n,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function i(e,t,n){try{return e.type===`address`?Kd(t,n):e.type===`string`||e.type===`bytes`?mi(Yn(t))===n:t===n}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((e,r)=>{if(e==null)return!0;let a=n[r];return a?(Array.isArray(e)?e:[e]).some(e=>i(a,e,t[r])):!1}):typeof t==`object`&&!Array.isArray(t)&&typeof r==`object`&&!Array.isArray(r)?Object.entries(r).every(([e,r])=>{if(r==null)return!0;let a=n.find(t=>t.name===e);return a?(Array.isArray(r)?r:[r]).some(n=>i(a,n,t[e])):!1}):!1}function ef(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=pa({abi:t,args:n,name:r});if(!e)throw new dn(r,{docsPath:tf});a=e}if(a.type!==`function`)throw new dn(void 0,{docsPath:tf});if(!a.outputs)throw new fn(a.name,{docsPath:tf});let o=Ba(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var tf,nf=o((()=>{Sn(),Qa(),ga(),tf=`/docs/contract/decodeFunctionResult`})),rf,af=o((()=>{rf=`0.1.1`}));function of(){return rf}var sf=o((()=>{af()}));function cf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?cf(e.cause,t):t?null:e}var N,lf=o((()=>{sf(),N=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=n.docsOrigin??e.prototype.docsOrigin,o=`${a}${i??``}`,s=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,l=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i||s?[``,r?`Details: ${r}`:void 0,i?`See: ${o}`:void 0,s?`Version: ${c}`:void 0]:[]].filter(e=>typeof e==`string`).join(`\n`);super(l,n.cause?{cause:n.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,\"docsOrigin\",{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,\"showVersion\",{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,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.cause=n.cause,this.details=r,this.docs=o,this.docsOrigin=a,this.docsPath=i,this.shortMessage=t,this.showVersion=s,this.version=c}walk(e){return cf(this,e)}},Object.defineProperty(N,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${of()}`}}),N.setStaticOptions(N.defaultStaticOptions)}));function uf(e,t){if(Rf(e)>t)throw new Zf({givenSize:Rf(e),maxSize:t})}function df(e,t){if(typeof t==`number`&&t>0&&t>Rf(e)-1)throw new Qf({offset:t,position:`start`,size:Rf(e)})}function ff(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Rf(e)!==n-t)throw new Qf({offset:n,position:`end`,size:Rf(e)})}function pf(e){if(e>=gf.zero&&e<=gf.nine)return e-gf.zero;if(e>=gf.A&&e<=gf.F)return e-(gf.A-10);if(e>=gf.a&&e<=gf.f)return e-(gf.a-10)}function mf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new $f({size:e.length,targetSize:r,type:`Bytes`});let i=new Uint8Array(r);for(let t=0;t<r;t++){let a=n===`right`;i[a?t:r-t-1]=e[a?t:e.length-t-1]}return i}function hf(e,t={}){let{dir:n=`left`}=t,r=e,i=0;for(let e=0;e<r.length-1&&r[n===`left`?e:r.length-e-1].toString()===`0`;e++)i++;return r=n===`left`?r.slice(i):r.slice(0,r.length-i),r}var gf,_f=o((()=>{ep(),gf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function vf(e,t){if(cp(e)>t)throw new xp({givenSize:cp(e),maxSize:t})}function yf(e,t){if(typeof t==`number`&&t>0&&t>cp(e)-1)throw new Sp({offset:t,position:`start`,size:cp(e)})}function bf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&cp(e)!==n-t)throw new Sp({offset:n,position:`end`,size:cp(e)})}function xf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;let i=e.replace(`0x`,``);if(i.length>r*2)throw new Cp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function Sf(e,t={}){let{dir:n=`left`}=t,r=e.replace(`0x`,``),i=0;for(let e=0;e<r.length-1&&r[n===`left`?e:r.length-e-1].toString()===`0`;e++)i++;return r=n===`left`?r.slice(i):r.slice(0,r.length-i),r===`0`?`0x`:n===`right`&&r.length%2==1?`0x${r}0`:`0x${r}`}var Cf=o((()=>{R()}));function wf(e){if(e===null||typeof e==`boolean`||typeof e==`string`)return JSON.stringify(e);if(typeof e==`number`){if(!Number.isFinite(e))throw TypeError(`Cannot canonicalize non-finite number`);return Object.is(e,-0)?`0`:JSON.stringify(e)}if(typeof e==`bigint`)throw TypeError(`Cannot canonicalize bigint`);if(Array.isArray(e))return`[${e.map(e=>wf(e)).join(`,`)}]`;if(typeof e==`object`)return`{${Object.keys(e).sort().reduce((t,n)=>{let r=e[n];return r!==void 0&&t.push(`${JSON.stringify(n)}:${wf(r)}`),t},[]).join(`,`)}}`}function Tf(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Df)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Ef(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Df:n,n)}var Df,Of=o((()=>{Df=`#__bigint`}));function kf(e){if(!(e instanceof Uint8Array)&&(!e||typeof e!=`object`||!(`BYTES_PER_ELEMENT`in e)||e.BYTES_PER_ELEMENT!==1||e.constructor.name!==`Uint8Array`))throw new Xf(e)}function Af(...e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function jf(e){return e instanceof Uint8Array?e:typeof e==`string`?Nf(e):Mf(e)}function Mf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Nf(e,t={}){let{size:n}=t,r=e;n&&(vf(e,n),r=op(e,n));let i=r.slice(2);i.length%2&&(i=`0${i}`);let a=i.length/2,o=new Uint8Array(a);for(let e=0,t=0;e<a;e++){let n=pf(i.charCodeAt(t++)),r=pf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new N(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function Pf(e,t={}){let{size:n}=t,r=Jf.encode(e);return typeof n==`number`?(uf(r,n),If(r,n)):r}function Ff(e,t){return cc(e,t)}function If(e,t){return mf(e,{dir:`right`,size:t})}function Lf(e){return crypto.getRandomValues(new Uint8Array(e))}function Rf(e){return e.length}function zf(e,t,n,r={}){let{strict:i}=r;df(e,t);let a=e.slice(t,n);return i&&ff(a,t,n),a}function Bf(e,t={}){let{size:n}=t;return n!==void 0&&uf(e,n),up(F(e,t),t)}function Vf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(uf(r,n),r=Wf(r)),r.length>1||r[0]>1)throw new Yf(r);return!!r[0]}function Hf(e,t={}){let{size:n}=t;return n!==void 0&&uf(e,n),fp(F(e,t),t)}function Uf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(uf(r,n),r=Gf(r)),qf.decode(r)}function Wf(e){return hf(e,{dir:`left`})}function Gf(e){return hf(e,{dir:`right`})}function Kf(e){try{return kf(e),!0}catch{return!1}}var qf,Jf,Yf,Xf,Zf,Qf,$f,ep=o((()=>{Ec(),lf(),R(),_f(),Cf(),Of(),qf=new TextDecoder,Jf=new TextEncoder,Yf=class extends N{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`})}},Xf=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?Ef(e):e}\\` of type \\`${typeof e}\\` is an invalid Bytes value.`,{metaMessages:[\"Bytes values must be of type `Bytes`.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesTypeError`})}},Zf=class extends N{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`})}},Qf=class extends N{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SliceOffsetOutOfBoundsError`})}},$f=class extends N{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`})}}}));function tp(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new vp(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new yp(e)}function P(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function np(e){return e instanceof Uint8Array?F(e):Array.isArray(e)?F(new Uint8Array(e)):e}function rp(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(vf(n,t.size),ap(n,t.size)):n}function F(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=gp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(vf(r,t.size),op(r,t.size)):r}function I(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new _p({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?BigInt.asUintN(r*8,BigInt(i)):i).toString(16)}`;return r?ap(s,r):s}function ip(e,t={}){return F(hp.encode(e),t)}function ap(e,t){return xf(e,{dir:`left`,size:t})}function op(e,t){return xf(e,{dir:`right`,size:t})}function sp(e){return F(Lf(e))}function L(e,t,n,r={}){let{strict:i}=r;yf(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&bf(a,t,n),a}function cp(e){return Math.ceil((e.length-2)/2)}function lp(e){return Sf(e,{dir:`left`})}function up(e,t={}){let{signed:n}=t;t.size&&vf(e,t.size);let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2,a=(1n<<BigInt(i)*8n)-1n;return r<=a>>1n?r:r-a-1n}function dp(e,t={}){return Nf(e,t)}function fp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:up(e,t))}function pp(e,t={}){let{size:n}=t,r=Nf(e);return n&&(uf(r,n),r=Gf(r)),new TextDecoder().decode(r)}function mp(e,t={}){let{strict:n=!1}=t;try{return tp(e,{strict:n}),!0}catch{return!1}}var hp,gp,_p,vp,yp,bp,xp,Sp,Cp,R=o((()=>{ep(),lf(),_f(),Cf(),Of(),hp=new TextEncoder,gp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),_p=class extends N{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \\`${i}\\` is not in safe${r?` ${r*8}-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`})}},vp=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?Ef(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`})}},yp=class extends N{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`})}},bp=class extends N{constructor(e){super(`Hex value \\`\"${e}\"\\` is an odd length (${e.length-2} nibbles).`,{metaMessages:[`It must be an even length.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidLengthError`})}},xp=class extends N{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`})}},Sp=class extends N{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},Cp=class extends N{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 wp(e){return{address:e.address,amount:I(e.amount),index:I(e.index),validatorIndex:I(e.validatorIndex)}}var Tp=o((()=>{R()}));function Ep(e){return{...typeof e.baseFeePerGas==`bigint`&&{baseFeePerGas:I(e.baseFeePerGas)},...typeof e.blobBaseFee==`bigint`&&{blobBaseFee:I(e.blobBaseFee)},...typeof e.feeRecipient==`string`&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit==`bigint`&&{gasLimit:I(e.gasLimit)},...typeof e.number==`bigint`&&{number:I(e.number)},...typeof e.prevRandao==`bigint`&&{prevRandao:I(e.prevRandao)},...typeof e.time==`bigint`&&{time:I(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(wp)}}}var Dp=o((()=>{R(),Tp()})),Op,kp,Ap,jp,Mp,Np=o((()=>{Op=[{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:`addr`,type:`address`}],name:`getEthBalance`,outputs:[{name:`balance`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getCurrentBlockTimestamp`,outputs:[{internalType:`uint256`,name:`timestamp`,type:`uint256`}],stateMutability:`view`,type:`function`}],kp=[{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`}]}],Ap=[{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`}],[...Ap],[...Ap],jp=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Mp=[{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`}]})),Pp=o((()=>{})),Fp,Ip,Lp,Rp,zp=o((()=>{Fp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Ip=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Lp=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,Rp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),Bp,Vp,Hp,Up,Wp,Gp=o((()=>{O(),Bp=class extends D{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`})}},Vp=class extends D{constructor({chain:e,currentChainId:t}){super(`The current chain of the wallet (id: ${t}) does not match the target chain for the transaction (id: ${e.id} \u2013 ${e.name}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${e.id} \u2013 ${e.name}`],name:`ChainMismatchError`})}},Hp=class extends D{constructor(){super([`No chain was provided to the request.`,\"Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.\"].join(`\n`),{name:`ChainNotFoundError`})}},Up=class extends D{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},Wp=class extends D{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function Kp(e){let{abi:t,args:n,bytecode:r}=e;if(!n||n.length===0)return r;let i=t.find(e=>`type`in e&&e.type===`constructor`);if(!i)throw new Qt({docsPath:qp});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new $t({docsPath:qp});return Vi([r,Qi(i.inputs,n)])}var qp,Jp=o((()=>{Sn(),Hi(),ua(),qp=`/docs/contract/encodeDeployData`}));function Yp({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Bp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Bp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var Xp=o((()=>{Gp()}));function Zp(e,{docsPath:t,...n}){return new No((()=>{let t=Uu(e,n);return t instanceof Vu?e:t})(),{docsPath:t,...n})}var Qp=o((()=>{zo(),Hu(),Wu()}));function $p(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var em=o((()=>{}));function tm({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:i}){let a=async()=>{let t=c();o();let n=t.map(({args:e})=>e);n.length!==0&&e(n).then(e=>{i&&Array.isArray(e)&&e.sort(i);for(let n=0;n<t.length;n++){let{resolve:r}=t[n];r?.([e[n],e])}}).catch(e=>{for(let n=0;n<t.length;n++){let{reject:r}=t[n];r?.(e)}})},o=()=>nm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>nm.get(t)||[],l=e=>nm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=$p();return n?.([...s(),e])&&a(),c().length>0?(l({args:e,resolve:i,reject:o}),t):(l({args:e,resolve:i,reject:o}),setTimeout(a,r),t)}}}var nm,rm=o((()=>{em(),nm=new Map})),im,am,om,sm=o((()=>{no(),O(),Mo(),im=class extends D{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:i,urls:a}){super(t.shortMessage||`An error occurred while fetching for an offchain result.`,{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?``:[],`Offchain Gateway Call:`,a&&[` Gateway URL(s):`,...a.map(e=>` ${jo(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},am=class extends D{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${jo(t)}`,`Response: ${to(e)}`],name:`OffchainLookupResponseMalformedError`})}},om=class extends D{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`})}}}));function cm(e){let{abi:t,data:n}=e,r=Ui(n,0,4),i=t.find(e=>e.type===`function`&&r===da(Vt(e)));if(!i)throw new pn(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?Ba(i.inputs,Ui(n,4)):void 0}}var lm=o((()=>{Sn(),Ji(),fa(),Qa(),Wt()}));function um(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=pa({abi:t,args:r,name:n});if(!e)throw new sn(n,{docsPath:dm});i=e}if(i.type!==`error`)throw new sn(void 0,{docsPath:dm});let a=da(Vt(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new on(i.name,{docsPath:dm});o=Qi(i.inputs,r)}return Vi([a,o])}var dm,fm=o((()=>{Sn(),Hi(),fa(),ua(),Wt(),ga(),dm=`/docs/contract/encodeErrorResult`}));function pm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=pa({abi:t,name:n});if(!e)throw new dn(n,{docsPath:mm});i=e}if(i.type!==`function`)throw new dn(void 0,{docsPath:mm});if(!i.outputs)throw new fn(i.name,{docsPath:mm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new bn(r)})();return Qi(i.outputs,a)}var mm,hm=o((()=>{Sn(),ua(),ga(),mm=`/docs/contract/encodeFunctionResult`}));async function gm(e){let{data:t,ccipRequest:n}=e,{args:[r]}=cm({abi:kp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await gm({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=_m(e)}})),pm({abi:kp,functionName:`query`,result:[i,a]})}function _m(e){return e.name===`HttpRequestError`&&e.status?um({abi:kp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):um({abi:[Ta],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var vm=o((()=>{Np(),Da(),lm(),fm(),hm()})),ym=c({ccipRequest:()=>xm,offchainLookup:()=>bm,offchainLookupAbiItem:()=>Cm,offchainLookupSignature:()=>Sm});async function bm(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=$a({data:r,abi:[Cm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:xm;try{if(!Kd(a,s))throw new om({sender:s,to:a});let{data:r}=await Tm(e,{blockNumber:t,blockTag:n,data:zi([u,Qi([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await gm({data:l,ccipRequest:e=>p({...e,requestOptions:i})}):await p({data:l,requestOptions:i,sender:s,urls:c}),d])]),requestOptions:i,to:a});return r}catch(e){throw i?.signal?.aborted?Oo(i.signal):ko(e)?e:new im({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function xm({data:e,requestOptions:t,sender:n,urls:r}){let i=Error(`An unknown error occurred.`);for(let a=0;a<r.length;a++){if(t?.signal?.aborted)throw Oo(t.signal);let o=r[a],s=o.includes(`{data}`)?`GET`:`POST`,c=s===`POST`?{data:e,sender:n}:void 0,l=s===`POST`?{\"Content-Type\":`application/json`}:{};try{let r=await fetch(o.replace(`{sender}`,n.toLowerCase()).replace(`{data}`,e),{body:JSON.stringify(c),headers:l,method:s,...t?.signal?{signal:t.signal}:{}}),a;if(a=r.headers.get(`Content-Type`)?.startsWith(`application/json`)?(await r.json()).data:await r.text(),!r.ok){i=new Bo({body:c,details:a?.error?to(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!E(a)){i=new am({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw Oo(t.signal);if(ko(e))throw e;i=new Bo({body:c,details:e.message,url:o})}}throw i}var Sm,Cm,wm=o((()=>{Im(),sm(),Uo(),Mo(),eo(),ua(),qd(),Hi(),Gt(),vm(),no(),Sm=`0x556f1830`,Cm={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 Tm(e,t){let{account:n=e.account,authorizationList:r,batch:i=!!e.batch?.multicall,blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,accessList:l,blobs:u,blockOverrides:d,code:f,data:p,factory:m,factoryData:h,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,requestOptions:S,to:ee,value:te,stateOverride:C,...w}=t,ne=n?_a(n):void 0;if(f&&(m||h))throw new D(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&ee)throw new D(\"Cannot provide both `code` & `to` as parameters.\");let re=f&&p,ie=m&&h&&ee&&p,ae=re||ie,oe=re?jm({code:f,data:p}):ie?Mm({data:p,factory:m,factoryData:h,to:ee}):p;try{sd(t);let n=Sd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Ep(d):void 0,p=rd(C),m=e.chain?.formatters?.transactionRequest?.format,h=(m||Xu)({...Ku(w,{format:m}),accessList:l,account:ne,authorizationList:r,blobs:u,data:oe,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:ae?void 0:ee,value:te},`call`);if(i&&Em({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=km(e,{blockNumber:o,deployless:t});if(!n||!Am(p,n))return await Om(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof Up)&&!(e instanceof Bp))throw e}let re=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),ie=await e.request({method:`eth_call`,params:re},S);return ie===`0x`?{data:void 0}:{data:ie}}catch(n){if(S?.signal?.aborted)throw Oo(S.signal);if(ko(n))throw n;let r=Nm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(wm(),ym));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&ee)return{data:await i(e,{data:r,requestOptions:S,to:ee})};throw ae&&r?.slice(0,10)===`0x101bb98d`?new Lo({factory:m}):Zp(n,{...t,account:ne,chain:e.chain})}}function Em({request:e}){let{data:t,to:n,...r}=e;return!(!t||t.startsWith(`0x82ad56cb`)||!n||Object.values(r).filter(e=>e!==void 0).length>0)}function Dm(e){if(!e)return`default`;let t=Fm.get(e);if(t!==void 0)return t;let n=Pm++;return Fm.set(e,n),n}async function Om(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,data:l,multicallAddress:u,requestOptions:d,rpcStateOverride:f,to:p}=t,m=u===void 0?km(e,{blockNumber:o,deployless:r}):u,h=Sd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=tm({id:`${e.uid}.${g}.${Dm(d)}${_}`,wait:i,shouldSplitBatch(e){return e.reduce((e,{data:t})=>e+(t.length-2),0)>n*2},fn:async t=>{let n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=Sa({abi:Op,args:[n],functionName:`aggregate3`}),i={...m===null?{data:jm({code:Rp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return ef({abi:Op,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Ro({data:y});return y===`0x`?{data:void 0}:{data:y}}function km(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return Yp({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new Up}function Am(e,t){return e?Object.keys(e).some(e=>Kd(e,t)):!1}function jm(e){let{code:t,data:n}=e;return Kp({abi:Rt([`constructor(bytes, bytes)`]),bytecode:Fp,args:[t,n]})}function Mm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return Kp({abi:Rt([`constructor(address, bytes, address, bytes)`]),bytecode:Ip,args:[i,t,n,r]})}function Nm(e){if(!(e instanceof D))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Pm,Fm,Im=o((()=>{Bt(),Dp(),va(),Np(),Pp(),zp(),O(),Gp(),zo(),Mo(),nf(),Jp(),Ca(),qd(),Cd(),Xp(),Qp(),qu(),ed(),rm(),id(),cd(),Pm=0,Fm=new WeakMap}));nf(),Ca(),Im();async function Lm(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=Sa({abi:n,args:i,functionName:a});try{let{data:t}=await T(e,Tm,`call`)({...o,data:s,to:r});return ef({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw xs(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}let Rm=new Map,zm=new Map,Bm=0;function Vm(e,t,n){let r=++Bm,i=()=>Rm.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Rm.delete(e),zm.delete(e);return}Rm.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=zm.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Rm.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return o;let c={};for(let e in t)c[e]=((...t)=>{let n=i();if(n.length!==0)for(let r of n)r.fns[e]?.(...t)});let l=n(c);return typeof l==`function`&&zm.set(e,l),o}Mo();async function Hm(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Oo(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(Oo(t))};t?.addEventListener(`abort`,o,{once:!0})})}function Um(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await Hm(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await Hm(r),s())};s()})(),a}O();var Wm=class extends D{constructor({docsPath:e}={}){super([`Could not find an Account to execute with this Action.`,\"Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.\"].join(`\n`),{docsPath:e,docsSlug:`account`,name:`AccountNotFoundError`})}},Gm=class extends D{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};Gp();function Km({chain:e,currentChainId:t}){if(!e)throw new Hp;if(t!==e.id)throw new Vp({chain:e,currentChainId:t})}async function qm(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}va(),O(),Hi(),qu(),ed(),Ai(),cd();let Jm=new ki(128);async function Ym(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,type:g,value:_,...v}=t;if(n===void 0)throw new Wm({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?_a(n):null,b;try{sd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Ou({authorization:o[0]}).catch(()=>{throw new D(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await T(e,zd,`getChainId`)({}),r&&Km({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||Xu)({...Ku(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?zi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=Jm.get(e.uid),ee=S?`wallet_sendTransaction`:`eth_sendTransaction`;try{return await e.request({method:ee,params:[x]},{retryCount:0})}catch(t){if(S===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[x]},{retryCount:0}).then(t=>(Jm.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(Jm.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){if(y.nonceManager&&h===void 0){let t=v.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:T(e,zd,`getChainId`)({}))();b={address:y.address,chainId:n}}let t=await T(e,Wd,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?zi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:y.nonceManager,parameters:[...Vd,`sidecars`],type:g,value:_,...v,to:n}),r=i?.serializers?.transaction,x=await y.signTransaction(t,{serializer:r});return await T(e,qm,`sendRawTransaction`)({serializedTransaction:x})}throw y?.type===`smart`?new Gm({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new Gm({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof Gm?e:(b&&y?.nonceManager?.reset(b),Rd(e,{...t,account:y,chain:t.chain||void 0}))}}va(),Ca();async function z(e,t){return z.internal(e,Ym,`sendTransaction`,t)}(function(e){async function t(e,t,n,r){let{abi:i,account:a=e.account,address:o,args:s,functionName:c,...l}=r;if(a===void 0)throw new Wm({docsPath:`/docs/contract/writeContract`});let u=a?_a(a):null,d=Sa({abi:i,args:s,functionName:c});try{return await T(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw xs(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(z||={}),O();var Xm=class extends D{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:`BundleFailedError`}),Object.defineProperty(this,\"result\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}};Mo();function Zm(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=async({count:c=0}={})=>{if(i?.aborted){o(Oo(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await Hm(n,{signal:i})}catch(e){o(e);return}s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(Oo(i));return}if(ko(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s()})}Hn(),Yu();let Qm={\"0x0\":`reverted`,\"0x1\":`success`};function $m(e,t){let n={...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=>Jd(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Vn(e.transactionIndex):null,status:e.status?Qm[e.status]:null,type:e.type?pd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let eh=Ju(`transactionReceipt`,$m);va(),O(),bs(),Ca(),Hi(),Hn(),j();let th=A(0,{size:32});async function nh(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?_a(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?Sa({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?zi([n,t.dataSuffix]):n,to:t.to,value:t.value?A(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:A(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e=\"non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.\";throw new ds(new D(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new _s(new D(e,{details:e}))}let t=[];for(let n of d){try{let i=await Ym(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?k(n.value):void 0});t.push({status:`fulfilled`,value:i})}catch(e){t.push({reason:e,status:`rejected`})}a>0&&await new Promise(e=>setTimeout(e,a))}if(t.every(e=>e.status===`rejected`))throw t[0].reason;return{id:zi([...t.map(e=>e.status===`fulfilled`?e.value:th),A(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Rd(n,{...t,account:l,chain:t.chain})}}Ji(),Rn(),Hn();async function rh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Ln(qi(t,-64,-32)),r=qi(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>th.slice(2)===t?void 0:e.request({method:`eth_getTransactionReceipt`,params:[`0x${t}`]},{dedupe:!0}))),a=i.some(e=>e===null)?100:i.every(e=>e?.status===`0x1`)?200:i.every(e=>e?.status===`0x0`)?500:600;return{atomic:!1,chainId:Vn(n),receipts:i.filter(Boolean),status:a,version:`2.0.0`}}return e.request({method:`wallet_getCallsStatus`,params:[t]})}let{atomic:r=!1,chainId:i,receipts:a,version:o=`2.0.0`,...s}=await n(t.id),[c,l]=(()=>{let e=s.status;return e>=100&&e<200?[`pending`,e]:e>=200&&e<300?[`success`,e]:e>=300&&e<700?[`failure`,e]:e===`CONFIRMED`?[`success`,200]:e===`PENDING`?[`pending`,100]:[void 0,e]})();return{...s,atomic:r,chainId:i?Vn(i):void 0,receipts:a?.map(e=>({...e,blockNumber:k(e.blockNumber),gasUsed:k(e.gasUsed),status:Qm[e.status]}))??[],statusCode:l,status:c,version:o}}O(),em(),no();async function ih(e,t){let{id:n,pollingInterval:r=e.pollingInterval,status:i=({statusCode:e})=>e===200||e>=300,retryCount:a=4,retryDelay:o=({count:e})=>~~(1<<e)*200,timeout:s=6e4,throwOnFailure:c=!1}=t,l=to([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=$p(),p,m=Vm(l,{resolve:d,reject:f},t=>{let s=Um(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await Zm(async()=>{let t=await T(e,rh,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new Xm(t);return t},{retryCount:a,delay:o});if(!i(s))return;r(()=>t.resolve(s))}catch(e){r(()=>t.reject(e))}},{interval:r,emitOnBegin:!0});return s});return p=s?setTimeout(()=>{m(),clearTimeout(p),f(new ah({id:n}))},s):void 0,await u}var ah=class extends D{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let oh=256,sh;function ch(e=11){if(!sh||oh+e>256*2){sh=``,oh=0;for(let e=0;e<256;e++)sh+=(256+Math.random()*256|0).toString(16).substring(1)}return sh.substring(oh,oh+++e)}va();function lh(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,type:s=`base`}=e,c=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),l=n?.blockTime??12e3,u=Math.min(Math.max(Math.floor(l/2),500),4e3),d=e.pollingInterval??u,f=e.cacheTime??d,p=e.account?_a(e.account):void 0,{config:m,request:h,value:g}=e.transport({account:p,chain:n,pollingInterval:d}),_={account:p,batch:t,cacheTime:f,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:d,request:h,transport:{...m,...g},type:s,uid:ch(),...c?{experimental_blockTag:c}:{}};function v(e){return t=>{let n=t(e);for(let e in _)delete n[e];let r={...e,...n};return Object.assign(r,{extend:v(r)})}}return Object.assign(_,{extend:v(_)})}Cd();async function uh(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Sd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a}),s=await e.request({method:`eth_getCode`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0});if(s!==`0x`)return s}od(),Oi(),O(),Gp(),Hu(),Ri(),qt(),Ji(),Hn();function dh(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Fi(n))throw new Di({address:n});if(t<0)throw new Wp({chainId:t})}ph(e)}function fh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Md;for(let e of t){let t=Kt(e),n=Vn(Ui(e,0,1));if(t!==32)throw new Nd({hash:e,size:t});if(n!==1)throw new Pd({hash:e,version:n})}}ph(e)}function ph(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new Wp({chainId:t});if(i&&!Fi(i))throw new Di({address:i});if(r&&r>ad)throw new ju({maxFeePerGas:r});if(n&&r&&n>r)throw new Bu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function mh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new Wp({chainId:t});if(a&&!Fi(a))throw new Di({address:a});if(n||i)throw new D(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>ad)throw new ju({maxFeePerGas:r})}function hh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Fi(a))throw new Di({address:a});if(t!==void 0&&t<=0)throw new Wp({chainId:t});if(n||i)throw new D(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>ad)throw new ju({maxFeePerGas:r})}Oi(),Do(),Ri();function gh(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let{address:r,storageKeys:i}=e[n];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new To({storageKey:i[e]});if(!Fi(r,{strict:!1}))throw new Di({address:r});t.push([r,i])}return t}Do(),Hi(),Rn(),j();function _h(e,t){let n=Ld(e);return n===`eip1559`?bh(e,t):n===`eip2930`?xh(e,t):n===`eip4844`?yh(e,t):n===`eip7702`?vh(e,t):Sh(e,t)}function vh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;dh(e);let f=gh(u),p=wh(n);return Vi([`0x04`,Su([A(r),a?A(a):`0x`,l?A(l):`0x`,c?A(c):`0x`,i?A(i):`0x`,o??`0x`,s?A(s):`0x`,d??`0x`,f,p,...Ch(e,t)])])}function yh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;fh(e);let f=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(f===void 0||p===void 0)){let t=typeof e.blobs[0]==`string`?e.blobs:e.blobs.map(e=>Gn(e)),n=e.kzg,r=Td({blobs:t,kzg:n});f===void 0&&(f=Ad({commitments:r})),p===void 0&&(p=Id({blobs:t,commitments:r,proofs:Ed({blobs:t,commitments:r,kzg:n})}))}let m=gh(u),h=[A(n),i?A(i):`0x`,l?A(l):`0x`,c?A(c):`0x`,r?A(r):`0x`,a??`0x`,o?A(o):`0x`,d??`0x`,m,s?A(s):`0x`,f??[],...Ch(e,t)],g=[],_=[],v=[];if(p)for(let e=0;e<p.length;e++){let{blob:t,commitment:n,proof:r}=p[e];g.push(t),_.push(n),v.push(r)}return Vi([`0x03`,Su(p?[h,g,_,v]:h)])}function bh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;ph(e);let d=gh(l);return Vi([`0x02`,Su([A(n),i?A(i):`0x`,c?A(c):`0x`,s?A(s):`0x`,r?A(r):`0x`,a??`0x`,o?A(o):`0x`,u??`0x`,d,...Ch(e,t)])])}function xh(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;mh(e);let u=gh(c);return Vi([`0x01`,Su([A(n),a?A(a):`0x`,l?A(l):`0x`,r?A(r):`0x`,o??`0x`,s?A(s):`0x`,i??`0x`,u,...Ch(e,t)])])}function Sh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;hh(e);let l=[a?A(a):`0x`,c?A(c):`0x`,r?A(r):`0x`,o??`0x`,s?A(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new xo({v:t.v});return e})(),r=Ln(t.r),i=Ln(t.s);l=[...l,A(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,A(n),`0x`,`0x`]);return Su(l)}function Ch(e,t){let n=t??e,{v:r,yParity:i}=n;if(n.r===void 0||n.s===void 0||r===void 0&&i===void 0)return[];let a=Ln(n.r),o=Ln(n.s);return[typeof i==`number`?i?A(1):`0x`:r===0n?`0x`:r===1n?A(1):r===27n?`0x`:A(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}j();function wh(e){if(!e||e.length===0)return[];let t=[];for(let n of e){let{chainId:e,nonce:r,...i}=n,a=n.address;t.push([e?Un(e):`0x`,a,r?Un(r):`0x`,...Ch({},i)])}return t}Pi(),qd();async function Th({address:e,authorization:t,signature:n}){return Kd(Mi(e),await Ou({authorization:t,signature:n}))}Ai();let Eh=new ki(8192);function Dh(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Eh.get(n))return Eh.get(n);let r=e().finally(()=>Eh.delete(n));return Eh.set(n,r),r}O(),Uo(),bs(),Mo(),no();function Oh(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,signal:c,uid:l}={...t,...r},{method:u}=n;if(a?.exclude?.includes(u)||a?.include&&!a.include.includes(u))throw new ns(Error(`method not supported`),{method:u});if(c?.aborted)throw Oo(c);return Dh(()=>Zm(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Oo(c);if(ko(e))throw e;let t=e;switch(t.code){case qo.code:throw new qo(t);case Jo.code:throw new Jo(t);case Yo.code:throw new Yo(t,{method:n.method});case Xo.code:throw new Xo(t);case Zo.code:throw new Zo(t);case Qo.code:throw new Qo(t);case $o.code:throw new $o(t);case es.code:throw new es(t);case ts.code:throw new ts(t);case ns.code:throw new ns(t,{method:n.method});case rs.code:throw new rs(t);case is.code:throw new is(t);case as.code:throw new as(t);case os.code:throw new os(t);case ss.code:throw new ss(t);case cs.code:throw new cs(t);case ls.code:throw new ls(t);case us.code:throw new us(t);case ds.code:throw new ds(t);case fs.code:throw new fs(t);case ps.code:throw new ps(t);case ms.code:throw new ms(t);case hs.code:throw new hs(t);case gs.code:throw new gs(t);case _s.code:throw new _s(t);case 5e3:throw new as(t);case vs.code:throw new vs(t);default:throw e instanceof D?e:new ys(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Bo){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>kh(e)}),{enabled:i,id:i?Ah(`${l}.${to(n)}`):void 0})}}function kh(e){return ko(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===rs.code||e.code===Zo.code||e.code===429:e instanceof Bo&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function Ah(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function jh(e){let t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(e){return t=>{let r=typeof t==`function`?t(e):t,i={...e,...r};return Object.assign(i,{extend:n(i)})}}return Object.assign(t,{extend:n(t)})}function Mh(){return{}}O(),In(),Pa(),rr(),j();function Nh(e,t=`hex`){return Ph(Ma((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Pn(e);return Qn(e)}return e})(),{recursiveReadLimit:1/0}),t)}function Ph(e,t=`hex`){if(e.bytes.length===0)return t===`hex`?Gn(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=Fh(e,n,128),i=e.readBytes(r);return t===`hex`?Gn(i):i}return Ih(e,Fh(e,n,192),t)}function Fh(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new D(`Invalid RLP prefix`)}function Ih(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(Ph(e,n));return i}Gt(),qt();function Lh(e){return E(e)&&Kt(e)===32}Mo();function Rh(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o,s=new AbortController;try{n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){if(s?.signal.aborted&&ko(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function zh(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let Bh=zh();Uo(),Mo(),no();function Vh(e,t={}){let{url:n,headers:r}=Hh(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,onRequest:o=t.onRequest,onResponse:s=t.onResponse,timeout:c=t.timeout??1e4}=e,l={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:u,method:d,signal:f}=l;try{let e=await Rh(async({signal:e})=>{let t={...l,body:to(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??Bh.take(),...e})):{jsonrpc:`2.0`,id:i.id??Bh.take(),...i}),headers:{...r,\"Content-Type\":`application/json`,...u},method:d||`POST`,signal:f||(c>0?e:null)},s=new Request(n,t),p=await o?.(s,t)??{...t,url:n};return await a(p.url??n,p)},{errorInstance:new Ho({body:i,url:n}),timeout:c,signal:!0});s&&await s(e);let t;if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=await e.json();else{t=await e.text();try{t=JSON.parse(t||`{}`)}catch(n){if(e.ok)throw n;t={error:t}}}if(!e.ok){if(typeof t.error?.code==`number`&&typeof t.error?.message==`string`)return t;throw new Bo({body:i,details:to(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw f?.aborted?Oo(f):ko(e)||e instanceof Bo||e instanceof Ho?e:new Bo({body:i,cause:e,url:n})}}}}function Hh(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}Hi(),qt(),j();function Uh(e){let t=typeof e==`string`?Kn(e):typeof e.raw==`string`?e.raw:Gn(e.raw);return zi([Kn(`\u0019Ethereum Signed Message:\n${Kt(t)}`),t])}hi();function Wh(e,t){return mi(Uh(e),t)}no(),O();var Gh=class extends D{constructor({domain:e}){super(`Invalid domain \"${to(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},Kh=class extends D{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`.\"]})}},qh=class extends D{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};Sn(),Oi(),Ri(),qt(),j(),Zi(),no();function Jh(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{let n={...t};for(let t of e){let{name:e,type:r}=t;r===`address`&&(n[e]=n[e].toLowerCase())}return n};return to({domain:!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),message:(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})(),primaryType:r,types:i})}function Yh(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{for(let n of e){let{name:e,type:r}=n,o=t[e],s=r.match(Xi);if(s&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=s;A(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Fi(o))throw new Di({address:o});let c=r.match(Yi);if(c){let[e,t]=c;if(t&&Kt(o)!==Number.parseInt(t,10))throw new hn({expectedSize:Number.parseInt(t,10),givenSize:Kt(o)})}let l=i[r];l&&(Zh(r),a(l,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new Gh({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`)if(i[r])a(i[r],n);else throw new Kh({primaryType:r,types:i})}function Xh({domain:e}){return[typeof e?.name==`string`&&{name:`name`,type:`string`},e?.version&&{name:`version`,type:`string`},(typeof e?.chainId==`number`||typeof e?.chainId==`bigint`)&&{name:`chainId`,type:`uint256`},e?.verifyingContract&&{name:`verifyingContract`,type:`address`},e?.salt&&{name:`salt`,type:`bytes32`}].filter(Boolean)}function Zh(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new qh({type:e})}ua(),Hi(),j(),hi();function Qh(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:Xh({domain:t}),...e.types};Yh({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push($h({domain:t,types:i})),r!==`EIP712Domain`&&a.push(eg({data:n,primaryType:r,types:i})),mi(zi(a))}function $h({domain:e,types:t}){return eg({data:e,primaryType:`EIP712Domain`,types:t})}function eg({data:e,primaryType:t,types:n}){return mi(tg({data:e,primaryType:t,types:n}))}function tg({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[ng({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=ag({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return Qi(r,i)}function ng({primaryType:e,types:t}){return mi(Un(rg({primaryType:e,types:t})))}function rg({primaryType:e,types:t}){let n=``,r=ig({primaryType:e,types:t});r.delete(e);let i=[e,...Array.from(r).sort()];for(let e of i)n+=`${e}(${t[e].map(({name:e,type:t})=>`${t} ${e}`).join(`,`)})`;return n}function ig({primaryType:e,types:t},n=new Set){let r=e.match(/^\\w*/u)?.[0];if(n.has(r)||t[r]===void 0)return n;n.add(r);for(let e of t[r])ig({primaryType:e.type,types:t},n);return n}function ag({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},mi(tg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},mi(r)];if(n===`string`)return[{type:`bytes32`},mi(Un(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>ag({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},mi(Qi(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var og=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@1.2.4`].join(`\n`);super(a),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=i,this.metaMessages=n.metaMessages,this.shortMessage=t}};function sg(e,t){return e.exec(t)?.groups}let cg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,lg=/^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)?$/,ug=/^\\(.+?\\).*?$/,dg=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function fg(e){let t=e.type;if(dg.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=fg(i),r<n-1&&(t+=`, `)}let r=sg(dg,e.type);return t+=`)${r?.array||``}`,fg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function pg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=fg(i),r!==n-1&&(t+=`, `)}return t}function mg(e){return e.type===`function`?`function ${e.name}(${pg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${pg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${pg(e.inputs)})`:e.type===`error`?`error ${e.name}(${pg(e.inputs)})`:e.type===`constructor`?`constructor(${pg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let hg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function gg(e){return hg.test(e)}function _g(e){return sg(hg,e)}let vg=new Set([`memory`,`indexed`,`storage`,`calldata`]),yg=new Set([`calldata`,`memory`,`storage`]);var bg=class extends og{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`})}},xg=class extends og{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`})}},Sg=class extends og{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`})}},Cg=class extends og{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},wg=class extends og{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`})}},Tg=class extends og{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`})}},Eg=class extends og{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`})}},Dg=class extends og{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`})}},Og=class extends og{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},kg=class extends og{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`})}},Ag=class extends og{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`})}},jg=class extends og{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`})}};function Mg(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}let Ng=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}]]),Pg=/^(?<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$_]*))?$/,Fg=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Ig=/^u?int$/;function Lg(e,t){let n=Mg(e,t?.type,t?.structs);if(Ng.has(n))return Ng.get(n);let r=ug.test(e),i=sg(r?Fg:Pg,e);if(!i)throw new Cg({param:e});if(i.name&&Vg(i.name))throw new wg({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=Rg(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(Lg(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(Ig.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!zg(c))throw new xg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Tg({param:e,type:t?.type,modifier:i.modifier});if(yg.has(i.modifier)&&!Hg(c,!!i.array))throw new Eg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return Ng.set(n,u),u}function Rg(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?Rg(o,[...t,n.trim()]):Rg(o,t,`${n}${i}`,r);case`(`:return Rg(o,t,`${n}${i}`,r+1);case`)`:return Rg(o,t,`${n}${i}`,r-1);default:return Rg(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new jg({current:n,depth:r});return t.push(n.trim()),t}function zg(e){return e===`address`||e===`bool`||e===`function`||e===`string`||cg.test(e)||lg.test(e)}let Bg=/^(?: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 Vg(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||cg.test(e)||lg.test(e)||Bg.test(e)}function Hg(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function Ug(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!gg(n))continue;let i=_g(n);if(!i)throw new Og({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=Lg(t,{type:`struct`});o.push(n)}if(!o.length)throw new kg({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=Gg(a,t)}return r}let Wg=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function Gg(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(ug.test(i.type))r.push(i);else{let e=sg(Wg,i.type);if(!e?.type)throw new Dg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new Ag({type:o});r.push({...i,type:`tuple${a??``}`,components:Gg(t[o],t,new Set([...n,o]))})}else if(zg(o))r.push(i);else throw new bg({type:o})}}return r}function Kg(e){let t=[];if(typeof e==`string`){let n=Rg(e),r=n.length;for(let e=0;e<r;e++)t.push(Lg(n[e],{modifiers:vg}))}else{let n=Ug(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(gg(r))continue;let a=Rg(r),o=a.length;for(let e=0;e<o;e++)t.push(Lg(a[e],{modifiers:vg,structs:n}))}}if(t.length===0)throw new Sg({params:e});return t}let qg={checksum:new class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}(8192)}.checksum;qs(),pi(),ep(),R();function Jg(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=fi(jf(e));return n===`Bytes`?r:F(r)}function Yg(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Ks(Dd,jf(e),jf(t));return r===`Bytes`?i:F(i)}function Xg(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Dd(jf(e));return n===`Bytes`?r:F(r)}function Zg(e){return mp(e)&&cp(e)===32}ep(),lf(),R(),Of();function Qg(e,t={}){let{compressed:n}=t,{prefix:r,x:i,y:a}=e;if(n===!1||typeof i==`bigint`&&typeof a==`bigint`){if(r!==4)throw new a_({prefix:r,cause:new s_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new a_({prefix:r,cause:new o_});return}throw new i_({publicKey:e})}function $g(e){let t=(()=>{if(mp(e))return t_(e);if(Kf(e))return e_(e);let{prefix:t,x:n,y:r}=e;return typeof n==`bigint`&&typeof r==`bigint`?{prefix:t??4,x:n,y:r}:{prefix:t,x:n}})();return Qg(t),t}function e_(e){return t_(F(e))}function t_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new c_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(L(e,0,32)),y:BigInt(L(e,32,64))}:e.length===132?{prefix:Number(L(e,0,1)),x:BigInt(L(e,1,33)),y:BigInt(L(e,33,65))}:{prefix:Number(L(e,0,1)),x:BigInt(L(e,1,33))}}function n_(e,t={}){return Nf(r_(e,t))}function r_(e,t={}){Qg(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return P(a?I(n,{size:1}):`0x`,I(r,{size:32}),typeof i==`bigint`?I(i,{size:32}):`0x`)}var i_=class extends N{constructor({publicKey:e}){super(`Value \\`${Ef(e)}\\` is not a valid public key.`,{metaMessages:[`Public key must contain:`,\"- an `x` and `prefix` value (compressed)\",\"- an `x`, `y`, and `prefix` value (uncompressed)\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidError`})}},a_=class extends N{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},o_=class extends N{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},s_=class extends N{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},c_=class extends N{constructor({publicKey:e}){super(`Value \\`${e}\\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${cp(np(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};ep(),lf();let l_=/^0x[a-fA-F0-9]{40}$/;function u_(e,t={}){let{strict:n=!0}=t;if(!l_.test(e))throw new g_({address:e,cause:new __});if(n){if(e.toLowerCase()===e)return;if(d_(e)!==e)throw new g_({address:e,cause:new v_})}}function d_(e){if(qg.has(e))return qg.get(e);u_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=Jg(Pf(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()),(n[e>>1]&15)>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let i=`0x${r.join(``)}`;return qg.set(e,i),i}function f_(e,t={}){let{checksum:n=!1}=t;return u_(e),n?d_(e):e}function p_(e,t={}){return f_(`0x${Jg(`0x${r_(e).slice(4)}`).substring(26)}`,t)}function m_(e,t){return u_(e,{strict:!1}),u_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function h_(e,t={}){let{strict:n=!0}=t??{};try{return u_(e,{strict:n}),!0}catch{return!1}}var g_=class extends N{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 extends N{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`})}},v_=class extends N{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let y_=/^(.*)\\[([0-9]*)\\]$/,b_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,x_=/^(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)?$/;2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n));let S_=2n**256n-1n;ep(),lf(),R();function C_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=V_(t.type);if(a){let[n,o]=a;return T_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return k_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return w_(e,{checksum:r});if(t.type===`bool`)return E_(e);if(t.type.startsWith(`bytes`))return D_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return O_(e,t);if(t.type===`string`)return A_(e,{staticPosition:i});throw new iv(t.type)}function w_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?d_(e):e)(F(zf(e.readBytes(32),-20))),32]}function T_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(!i){let n=a+Hf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Hf(e.readBytes(32)),s=H_(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=C_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a)}return e.setPosition(a+32),[l,32]}if(H_(t)){let n=a+Hf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=C_(e,t,{checksumAddress:r,staticPosition:n});o.push(i)}return e.setPosition(a+32),[o,32]}let o=0,s=[];for(let n=0;n<i;++n){let[n,i]=C_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n)}return[s,o]}function E_(e){return[Vf(e.readBytes(32),{size:32}),32]}function D_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Hf(e.readBytes(32));e.setPosition(n+t);let r=Hf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[F(i),32]}return[F(e.readBytes(Number.parseInt(i,10),32)),32]}function O_(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Bf(i,{signed:n}):Hf(i,{signed:n}),32]}function k_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=t.components.length===0||t.components.some(({name:e})=>!e),o=a?[]:{},s=0;if(H_(t)){let n=i+Hf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=C_(e,c,{checksumAddress:r,staticPosition:n});s+=u,o[a?i:c?.name]=l}return e.setPosition(i+32),[o,32]}for(let n=0;n<t.components.length;++n){let c=t.components[n],[l,u]=C_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function A_(e,{staticPosition:t}){let n=t+Hf(e.readBytes(32));e.setPosition(n);let r=Hf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Uf(Wf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function j_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(M_({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function M_({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=V_(r.type);if(i){let[t,a]=i;return F_(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return B_(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return P_(n,{checksum:e});if(r.type===`bool`)return L_(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=x_.exec(r.type)??[];return R_(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return I_(n,{type:r.type});if(r.type===`string`)return z_(n);throw new iv(r.type)}function N_(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=cp(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(I(t+i,{size:32})),r.push(s),i+=cp(s)):n.push(s)}return P(...n,...r)}function P_(e,t){let{checksum:n=!1}=t;return u_(e,{strict:n}),{dynamic:!1,encoded:ap(e.toLowerCase())}}function F_(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new rv(e);if(!a&&e.length!==r)throw new ev({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=!1,s=[];for(let t=0;t<e.length;t++){let r=M_({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=N_(s);if(a){let t=I(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?P(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:P(...s.map(({encoded:e})=>e))}}function I_(e,{type:t}){let[,n]=t.split(`bytes`),r=cp(e);if(!n){let t=e;return r%32!=0&&(t=op(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:P(ap(I(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new tv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:op(e)}}function L_(e){if(typeof e!=`boolean`)throw new N(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:ap(rp(e))}}function R_(e,{signed:t,size:n}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new _p({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:I(e,{size:32,signed:t})}}function z_(e){let t=ip(e),n=Math.ceil(cp(t)/32),r=[];for(let e=0;e<n;e++)r.push(op(L(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:P(op(I(cp(t),{size:32})),...r)}}function B_(e,t){let{checksumAddress:n,parameter:r}=t,i=!1,a=[];for(let t=0;t<r.components.length;t++){let o=r.components[t],s=M_({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?N_(a):P(...a.map(({encoded:e})=>e))}}function V_(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function H_(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(H_);let n=V_(e.type);return!!(n&&H_({...e,type:n[1]}))}lf();let U_={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new q_({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new K_({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new G_({offset:e});let 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 G_({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let 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,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function W_(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(U_);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var G_=class extends N{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},K_=class extends N{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`})}},q_=class extends N{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`})}};ep(),lf(),R();function J_(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Nf(t):t,o=W_(a);if(Rf(a)===0&&e.length>0)throw new $_;if(Rf(a)&&Rf(a)<32)throw new Q_({data:typeof t==`string`?t:F(t),parameters:e,size:Rf(a)});let s=0,c=r===`Array`?[]:{};for(let t=0;t<e.length;++t){let n=e[t];o.setPosition(s);let[a,l]=C_(o,n,{checksumAddress:i,staticPosition:0});s+=l,r===`Array`?c.push(a):c[n.name??t]=a}return c}function Y_(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new nv({expectedLength:e.length,givenLength:t.length});let i=N_(j_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function X_(e,t){if(e.length!==t.length)throw new nv({expectedLength:e.length,givenLength:t.length});let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r];n.push(X_.encode(i,a))}return P(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return u_(e),ap(e.toLowerCase(),r?32:0)}if(e===`string`)return ip(n);if(e===`bytes`)return n;if(e===`bool`)return ap(rp(n),r?32:1);let i=e.match(x_);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return I(n,{size:r?32:o,signed:t===`int`})}let a=e.match(b_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new tv({expectedSize:Number.parseInt(t,10),value:n});return op(n,r?32:0)}let o=e.match(y_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:P(...i)}throw new iv(e)}e.encode=t})(X_||={});function Z_(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?Kg(e):e}var Q_=class extends N{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${pg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},$_=class extends N{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},ev=class extends N{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`})}},tv=class extends N{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${cp(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},nv=class extends N{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`})}},rv=class extends N{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},iv=class extends N{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};ep(),lf(),R();function av(e){return ov(e,`Hex`)}function ov(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return sv(W_((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new bp(e);return Nf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function sv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?F(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=cv(e,n,128),i=e.readBytes(r);return t===`Hex`?F(i):i}return lv(e,cv(e,n,192),t)}function cv(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new N(`Invalid RLP prefix`)}function lv(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(sv(e,n));return i}function uv(e,t){let{as:n}=t,r=fv(e),i=W_(new Uint8Array(r.length));return r.encode(i),n===`Hex`?F(i.bytes):i.bytes}function dv(e,t={}){let{as:n=`Hex`}=t;return uv(e,{as:n})}function fv(e){return Array.isArray(e)?pv(e.map(e=>fv(e))):mv(e)}function pv(e){let t=e.reduce((e,t)=>e+t.length,0),n=hv(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function mv(e){let t=typeof e==`string`?Nf(e):e,n=hv(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function hv(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new N(`Length is too large.`)}lf(),R(),Of();function gv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Av({signature:e});if(e.r<0n||e.r>S_)throw new jv({value:e.r});if(e.s<0n||e.s>S_)throw new Mv({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new Nv({value:e.yParity})}function _v(e){return vv(F(e))}function vv(e){if(e.length!==130&&e.length!==132)throw new kv({signature:e});let t=BigInt(L(e,0,32)),n=BigInt(L(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return Dv(t)}catch{throw new Nv({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function yv(e){if(e.r!==void 0&&e.s!==void 0)return bv(e)}function bv(e){let t=typeof e==`string`?vv(e):e instanceof Uint8Array?_v(e):typeof e.r==`string`?Sv(e):e.v?xv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return gv(t),t}function xv(e){return{r:e.r,s:e.s,yParity:Dv(e.v)}}function Sv(e){let t=(()=>{let t=e.v?Number(e.v):void 0,n=e.yParity?Number(e.yParity):void 0;if(typeof t==`number`&&typeof n!=`number`&&(n=Dv(t)),typeof n!=`number`)throw new Nv({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Cv(e){let[t,n,r]=e;return bv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function wv(e){gv(e);let t=e.r,n=e.s;return P(I(t,{size:32}),I(n,{size:32}),typeof e.yParity==`number`?I(Ov(e.yParity),{size:1}):`0x`)}function Tv(e){let{r:t,s:n,yParity:r}=e;return{r:I(t,{size:32}),s:I(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function Ev(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:lp(I(t)),n===0n?`0x`:lp(I(n))]}function Dv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new Pv({value:e})}function Ov(e){if(e===0)return 27;if(e===1)return 28;throw new Nv({value:e})}var kv=class extends N{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${cp(np(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Av=class extends N{constructor({signature:e}){super(`Signature \\`${Ef(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},jv=class extends N{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`})}},Mv=class extends N{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`})}},Nv=class extends N{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`})}},Pv=class extends N{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`})}};R();function Fv(e,t={}){return typeof e.chainId==`string`?Iv(e):{...e,...t.signature}}function Iv(e){let{address:t,chainId:n,nonce:r}=e,i=yv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function Lv(e){return e.map(Iv)}function Rv(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:I(n),nonce:I(r),...Tv(i)}}function zv(e){return e.map(Rv)}vu(),ep(),R();function Bv(e){let{privateKey:t}=e;return $g(ru.ProjectivePoint.fromPrivateKey(np(t).slice(2)))}function Vv(e){return p_(Hv(e))}function Hv(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return $g(new ru.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(np(t).substring(2)))}function Uv(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=ru.sign(jf(r),jf(i),{extraEntropy:typeof t==`boolean`?t:np(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Wv(e){let{hash:t,payload:n}=e;return e.address?m_(e.address,Vv({payload:n,signature:e.signature})):ru.verify(e.signature,jf(n),n_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}lf(),R();let Gv=Z_(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function Kv(e){if(typeof e==`string`){if(L(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new Yv(e)}else gv(e.authorization)}function qv(e){Kv(e);let t=fp(L(e,-64,-32)),n=L(e,-t-64,-64),r=L(e,0,-t-64),[i,a,o]=J_(Gv,n);return{authorization:Fv({address:i.delegation,chainId:Number(i.chainId),nonce:i.nonce,yParity:i.yParity,r:i.r,s:i.s}),signature:r,...o&&o!==`0x`?{data:o,to:a}:{}}}function Jv(e){try{return Kv(e),!0}catch{return!1}}var Yv=class extends N{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`})}};Do(),Ji(),Hn();function Xv(e){let t=qi(e,0,1);if(t===`0x04`)return`eip7702`;if(t===`0x03`)return`eip4844`;if(t===`0x02`)return`eip1559`;if(t===`0x01`)return`eip2930`;if(t!==`0x`&&Vn(t)>=192)return`legacy`;throw new Co({serializedType:t})}Oi(),Do(),Ri(),Gt(),An(),Rn(),Hn();function Zv(e){let t=Xv(e);return t===`eip1559`?ey(e):t===`eip2930`?ty(e):t===`eip4844`?$v(e):t===`eip7702`?Qv(e):ny(e)}function Qv(e){let t=ry(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new wo({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,authorizationList:d,...t.length>9?{v:f,r:p,s:m}:{}},serializedTransaction:e,type:`eip7702`});let h={chainId:Vn(n),type:`eip7702`};return E(s)&&s!==`0x`&&(h.to=s),E(o)&&o!==`0x`&&(h.gas=k(o)),E(l)&&l!==`0x`&&(h.data=l),E(r)&&(h.nonce=r===`0x`?0:Vn(r)),E(c)&&c!==`0x`&&(h.value=k(c)),E(a)&&a!==`0x`&&(h.maxFeePerGas=k(a)),E(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=k(i)),u.length!==0&&u!==`0x`&&(h.accessList=iy(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=ay(d)),dh(h),{...t.length===13?oy(t):void 0,...h}}function $v(e){let t=ry(e),n=t.length===4,r=n?t[0]:t,i=n?t.slice(1):[],[a,o,s,c,l,u,d,f,p,m,h,g,_,v]=r,[y,b,x]=i;if(!(r.length===11||r.length===14))throw new wo({attributes:{chainId:a,nonce:o,maxPriorityFeePerGas:s,maxFeePerGas:c,gas:l,to:u,value:d,data:f,accessList:p,...r.length>9?{v:g,r:_,s:v}:{}},serializedTransaction:e,type:`eip4844`});let S={blobVersionedHashes:h,chainId:Vn(a),to:u,type:`eip4844`};return E(l)&&l!==`0x`&&(S.gas=k(l)),E(f)&&f!==`0x`&&(S.data=f),E(o)&&(S.nonce=o===`0x`?0:Vn(o)),E(d)&&d!==`0x`&&(S.value=k(d)),E(m)&&m!==`0x`&&(S.maxFeePerBlobGas=k(m)),E(c)&&c!==`0x`&&(S.maxFeePerGas=k(c)),E(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=k(s)),p.length!==0&&p!==`0x`&&(S.accessList=iy(p)),y&&b&&x&&(S.sidecars=Id({blobs:y,commitments:b,proofs:x})),fh(S),{...r.length===14?oy(r):void 0,...S}}function ey(e){let t=ry(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(!(t.length===9||t.length===12))throw new wo({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,...t.length>9?{v:d,r:f,s:p}:{}},serializedTransaction:e,type:`eip1559`});let m={chainId:Vn(n),type:`eip1559`};return E(s)&&s!==`0x`&&(m.to=s),E(o)&&o!==`0x`&&(m.gas=k(o)),E(l)&&l!==`0x`&&(m.data=l),E(r)&&(m.nonce=r===`0x`?0:Vn(r)),E(c)&&c!==`0x`&&(m.value=k(c)),E(a)&&a!==`0x`&&(m.maxFeePerGas=k(a)),E(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=k(i)),u.length!==0&&u!==`0x`&&(m.accessList=iy(u)),ph(m),{...t.length===12?oy(t):void 0,...m}}function ty(e){let t=ry(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(!(t.length===8||t.length===11))throw new wo({attributes:{chainId:n,nonce:r,gasPrice:i,gas:a,to:o,value:s,data:c,accessList:l,...t.length>8?{v:u,r:d,s:f}:{}},serializedTransaction:e,type:`eip2930`});let p={chainId:Vn(n),type:`eip2930`};return E(o)&&o!==`0x`&&(p.to=o),E(a)&&a!==`0x`&&(p.gas=k(a)),E(c)&&c!==`0x`&&(p.data=c),E(r)&&(p.nonce=r===`0x`?0:Vn(r)),E(s)&&s!==`0x`&&(p.value=k(s)),E(i)&&i!==`0x`&&(p.gasPrice=k(i)),l.length!==0&&l!==`0x`&&(p.accessList=iy(l)),mh(p),{...t.length===11?oy(t):void 0,...p}}function ny(e){let t=Nh(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(!(t.length===6||t.length===9))throw new wo({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(E(a)&&a!==`0x`&&(d.to=a),E(i)&&i!==`0x`&&(d.gas=k(i)),E(s)&&s!==`0x`&&(d.data=s),E(n)&&(d.nonce=n===`0x`?0:Vn(n)),E(o)&&o!==`0x`&&(d.value=k(o)),E(r)&&r!==`0x`&&(d.gasPrice=k(r)),hh(d),t.length===6)return d;let f=E(c)&&c!==`0x`?k(c):0n;if(u===`0x`&&l===`0x`)return f>0&&(d.chainId=Number(f)),d;let p=f,m=Number((p-35n)/2n);if(m>0)d.chainId=m;else if(p!==27n&&p!==28n)throw new xo({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function ry(e){return Nh(`0x${e.slice(4)}`,`hex`)}function iy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Fi(r,{strict:!1}))throw new Di({address:r});t.push({address:r,storageKeys:i.map(e=>Lh(e)?e:Ln(e))})}return t}function ay(e){let t=[];for(let n=0;n<e.length;n++){let[r,i,a,o,s,c]=e[n];t.push({address:i,chainId:r===`0x`?0:Vn(r),nonce:a===`0x`?0:Vn(a),...oy([o,s,c])})}return t}function oy(e){let t=e.slice(-3),n=t[0]===`0x`||k(t[0])===0n?27n:28n;return{r:On(t[1],{size:32}),s:On(t[2],{size:32}),v:n,yParity:n===27n?0:1}}O();var sy=class extends D{constructor({value:e}){super(`Number \\`${e}\\` is not a valid decimal number.`,{name:`InvalidDecimalNumberError`})}};function cy(e,t){if(!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(e))throw new sy({value:e});let[n,r=`0`]=e.split(`.`),i=n.startsWith(`-`);if(i&&(n=n.slice(1)),r=r.replace(/(0+)$/,``),t===0)Math.round(Number(`.${r}`))===1&&(n=`${BigInt(n)+1n}`),r=``;else if(r.length>t){let[e,i,a]=[r.slice(0,t-1),r.slice(t-1,t),r.slice(t)],o=Math.round(Number(`${i}.${a}`));r=o>9?`${BigInt(e)+BigInt(1)}0`.padStart(e.length+1,`0`):`${e}${o}`,r.length>t&&(r=r.slice(1),n=`${BigInt(n)+1n}`),r=r.slice(0,t)}else r=r.padEnd(t,`0`);return BigInt(`${i?`-`:``}${n}${r}`)}Np(),zp(),Sn(),O(),zo(),nf(),Ca(),Xp();async function ly(e,t){let{account:n,authorizationList:r,allowFailure:i=!0,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,requireCanonical:l,stateOverride:u}=t,d=t.contracts,{batchSize:f=t.batchSize??1024,deployless:p=t.deployless??!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},m=(()=>{if(t.multicallAddress)return t.multicallAddress;if(p)return null;if(e.chain)return Yp({blockNumber:o,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),h=[[]],g=0,_=0;for(let e=0;e<d.length;e++){let{abi:t,address:r,args:a,functionName:o}=d[e];try{let e=Sa({abi:t,args:a,functionName:o});_+=(e.length-2)/2,f>0&&_>f&&h[g].length>0&&(g++,_=(e.length-2)/2,h[g]=[]),h[g]=[...h[g],{allowFailure:!0,callData:e,target:r}]}catch(e){let s=xs(e,{abi:t,address:r,args:a,docsPath:`/docs/contract/multicall`,functionName:o,sender:n});if(!i)throw s;h[g]=[...h[g],{allowFailure:!0,callData:`0x`,target:r}]}}let v=await Promise.allSettled(h.map(t=>T(e,Lm,`readContract`)({...m===null?{code:Rp}:{address:m},abi:Op,account:n,args:[t],authorizationList:r,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,functionName:`aggregate3`,requireCanonical:l,stateOverride:u}))),y=[];for(let e=0;e<v.length;e++){let t=v[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<h[e].length;n++)y.push({status:`failure`,error:t.reason,result:void 0});continue}let n=t.value;for(let t=0;t<n.length;t++){let{returnData:r,success:a}=n[t],{callData:o}=h[e][t],{abi:s,address:c,functionName:l,args:u}=d[y.length];try{if(o===`0x`)throw new tn;if(!a)throw new Ro({data:r});let e=ef({abi:s,args:u,data:r,functionName:l});y.push(i?{result:e,status:`success`}:e)}catch(e){let t=xs(e,{abi:s,address:c,args:u,docsPath:`/docs/contract/multicall`,functionName:l});if(!i)throw t;y.push({error:t,result:void 0,status:`failure`})}}}if(y.length!==d.length)throw new D(`multicall results mismatch`);return y}lf();function uy(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,`error`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new N(`Unable to normalize signature.`);return i}function dy(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return h_(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,n)=>dy(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)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>dy(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function fy(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return fy(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&h_(n[r],{strict:!1}))return o}}lf(),R();function py(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=mp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?my(e)===L(t,0,4):e.type===`event`?gy(e)===t:!1:`name`in e&&e.name===t);if(o.length===0)throw new vy({name:t});if(o.length===1)return{...o[0],...i?{hash:gy(o[0])}:{}};let s;for(let e of o)if(`inputs`in e){if(!r||r.length===0){if(!e.inputs||e.inputs.length===0)return{...e,...i?{hash:gy(e)}:{}};continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===r.length&&r.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?dy(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=fy(e.inputs,s.inputs,r);if(t)throw new _y({abiItem:e,type:t[0]},{abiItem:s,type:t[1]})}s=e}}let c=(()=>{if(s)return s;let[e,...t]=o;return{...e,overloads:t}})();if(!c)throw new vy({name:t});return{...c,...i?{hash:gy(c)}:{}}}function my(...e){return L(gy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return py(t,n)}return e[0]})()),0,4)}function hy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return py(t,n)}return e[0]})();return uy(typeof t==`string`?t:mg(t))}function gy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return py(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:Jg(ip(hy(t)))}var _y=class extends N{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${uy(mg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${uy(mg(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`})}},vy=class extends N{constructor({name:e,data:t,type:n=`item`}){let r=e?` with name \"${e}\"`:t?` with data \"${t}\"`:``;super(`ABI ${n}${r} not found.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.NotFoundError`})}};function yy(e){return my(e)}lf(),R();function by(e){if(L(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Cy(e)}function xy(e){let{data:t,signature:n,to:r}=e;return P(Y_(Z_(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function Sy(e){try{return by(e),!0}catch{return!1}}var Cy=class extends N{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`})}};vu(),Hn(),rr();function wy({r:e,s:t,to:n=`hex`,v:r,yParity:i}){let a=(()=>{if(i===0||i===1)return i;if(r&&(r===27n||r===28n||r>=35n))return+(r%2n==0n);throw Error(\"Invalid `v` or `yParity` value\")})(),o=`0x${new ru.Signature(k(e),k(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Qn(o)}Np(),zp(),zo(),Jp(),Ca(),Pi(),qd(),Hi(),Gt(),Hn(),j(),Im();async function Ty(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return E(e)?e:typeof e==`object`&&`r`in e&&`s`in e?wy(e):Gn(e)})();try{if(s===`eoa`)try{if(Kd(Mi(n),await xu({hash:i,signature:c})))return!0}catch{}return Jv(c)?await Ey(e,{...t,multicallAddress:o,signature:c}):await Dy(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(Kd(Mi(n),await xu({hash:i,signature:c})))return!0}catch{}if(e instanceof ky)return!1;throw e}}async function Ey(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,multicallAddress:o}=t,{authorization:s,data:c,signature:l,to:u}=qv(t.signature);if(await uh(e,{address:n,blockNumber:r,blockTag:i})===Vi([`0xef0100`,s.address]))return await Oy(e,{address:n,blockNumber:r,blockTag:i,hash:a,signature:l});let d={address:s.address,chainId:Number(s.chainId),nonce:Number(s.nonce),r:A(s.r,{size:32}),s:A(s.s,{size:32}),yParity:s.yParity};if(!await Th({address:n,authorization:d}))throw new ky;let f=await T(e,Lm,`readContract`)({...o?{address:o}:{code:Rp},authorizationList:[d],abi:Op,blockNumber:r,blockTag:`pending`,functionName:`aggregate3`,args:[[...c?[{allowFailure:!0,target:u??n,callData:c}]:[],{allowFailure:!0,target:n,callData:Sa({abi:jp,functionName:`isValidSignature`,args:[a,l]})}]]});if((f[f.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new ky}async function Dy(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||Sy(o)?o:xy({data:i,signature:o,to:r}))(),u=s?{to:s,data:Sa({abi:Mp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:Kp({abi:Mp,args:[n,a,l],bytecode:Lp}),...c},{data:d}=await T(e,Tm,`call`)(u).catch(e=>{throw e instanceof No?new ky:e});if(Bn(d??`0x0`))return!0;throw new ky}async function Oy(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,signature:o}=t;if((await T(e,Lm,`readContract`)({address:n,abi:jp,args:[a,o],blockNumber:r,blockTag:i,functionName:`isValidSignature`}).catch(e=>{throw e instanceof Po?new ky:e})).startsWith(`0x1626ba7e`))return!0;throw new ky}var ky=class extends Error{};function Ay(e){let{scheme:t,statement:n,...r}=e.match(jy)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(My)?.groups??{},u=e.split(`Resources:`)[1]?.split(`\n- `).slice(1);return{...r,...l,...i?{chainId:Number(i)}:{},...a?{expirationTime:new Date(a)}:{},...o?{issuedAt:new Date(o)}:{},...s?{notBefore:new Date(s)}:{},...c?{requestId:c}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}let jy=/^(?:(?<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)?/,My=/(?: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 Ny(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await T(e,nh,`sendCalls`)(t);return await T(e,ih,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}va(),j(),ed(),cd();async function Py(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new Wm({docsPath:`/docs/actions/wallet/signTransaction`});let a=_a(n);sd({account:a,...t});let o=await T(e,zd,`getChainId`)({});r!==null&&Km({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||Xu;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:A(o),from:a.address}]},{retryCount:0})}va();async function Fy(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new Wm({docsPath:`/docs/actions/wallet/signTypedData`});let o=_a(n),s={EIP712Domain:Xh({domain:r}),...t.types};if(Yh({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=Jh({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}function Iy({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=ch();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:Oh(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Ly(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Iy({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}O();var Ry=class extends D{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};Uo(),rm();let zy=0,By=new WeakMap;function Vy(e){if(!e)return`default`;let t=By.get(e);if(t!==void 0)return t;let n=zy++;return By.set(e,n),n}function Hy(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,methods:o,name:s=`HTTP JSON-RPC`,onFetchRequest:c,onFetchResponse:l,retryDelay:u,raw:d}=t;return({chain:f,retryCount:p,timeout:m})=>{let{batchSize:h=1e3,wait:g=0}=typeof n==`object`?n:{},_=t.retryCount??p,v=m??t.timeout??1e4,y=e||f?.rpcUrls.default.http[0];if(!y)throw new Ry;let b=Vh(y,{fetchFn:r,fetchOptions:i,onRequest:c,onResponse:l,timeout:v});return Iy({key:a,methods:o,name:s,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=tm({id:`${y}.${Vy(r?.signal)}`,wait:g,shouldSplitBatch(e){return e.length>h},fn:e=>b.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await b.request({body:e,fetchOptions:a})])(i);if(d)return{error:s,result:c};if(s)throw new Vo({body:i,error:s,url:y});return c},retryCount:_,retryDelay:u,timeout:v,type:`http`},{fetchOptions:i,url:y})}}lf(),R();function Uy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&u_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>Zg(e)?e:lp(e))})}return t}function Wy(e){if(!e||e.length===0)return[];let t=[];for(let{address:n,storageKeys:r}of e){for(let e=0;e<r.length;e++)if(cp(r[e])!==32)throw new Gy({storageKey:r[e]});n&&u_(n,{strict:!1}),t.push([n,r])}return t}var Gy=class extends N{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${cp(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};ep();let Ky=new TextEncoder,qy=new TextDecoder,Jy=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),Yy={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function Xy(e,t={}){let{pad:n=!0,url:r=!1}=t,i=new Uint8Array(Math.ceil(e.length/3)*4);for(let t=0,n=0;n<e.length;t+=4,n+=3){let r=(e[n]<<16)+(e[n+1]<<8)+(e[n+2]|0);i[t]=Jy[r>>18],i[t+1]=Jy[r>>12&63],i[t+2]=Jy[r>>6&63],i[t+3]=Jy[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=qy.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function Zy(e,t={}){return Xy(Nf(e),t)}function Qy(e,t={}){return Xy(Pf(e),t)}function $y(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);Ky.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(Yy[r[e]]<<18)+(Yy[r[e+1]]<<12)+(Yy[r[e+2]]<<6)+Yy[r[e+3]];r[n]=t>>16,r[n+1]=t>>8&255,r[n+2]=t&255}let i=(n>>2)*3+(n%4&&n%4-1);return new Uint8Array(r.buffer,0,i)}function eb(e){return Uf($y(e))}let tb={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},nb={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function rb(e,t={}){if(!e)return null;let n=yv(e),r={...e,...n};return r.blockNumber=e.blockNumber?BigInt(e.blockNumber):null,`blockTimestamp`in e&&(r.blockTimestamp=e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0),r.data=e.input,r.gas=BigInt(e.gas??0n),r.nonce=BigInt(e.nonce??0n),r.transactionIndex=e.transactionIndex?Number(e.transactionIndex):null,r.value=BigInt(e.value??0n),e.authorizationList&&(r.authorizationList=Lv(e.authorizationList)),e.chainId&&(r.chainId=Number(e.chainId)),e.gasPrice&&(r.gasPrice=BigInt(e.gasPrice)),e.maxFeePerBlobGas&&(r.maxFeePerBlobGas=BigInt(e.maxFeePerBlobGas)),e.maxFeePerGas&&(r.maxFeePerGas=BigInt(e.maxFeePerGas)),e.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=BigInt(e.maxPriorityFeePerGas)),e.type&&(r.type=nb[e.type]??e.type),n&&(r.v=Ov(n.yParity)),r}ep(),lf(),R();function ib(e,t={}){let{as:n=`Hex`}=t,r=vb(e),i=W_(new Uint8Array(r.length));return r.encode(i),n===`Hex`?F(i.bytes):i.bytes}var ab=class extends N{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},ob=class extends N{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},sb=class extends N{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},cb=class extends N{constructor({tag:e}){super(`CBOR tagged data (tag ${e}) is not yet supported.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedTagError`})}},lb=class extends N{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},ub=class extends N{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},db=class extends N{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},fb=class extends N{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},pb=class extends N{constructor({number:e}){super(`Number exceeds maximum safe integer (${2**53-1}): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.NumberTooLargeError`})}},mb=class extends N{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},hb=class extends N{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},gb=class extends N{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},_b=class extends N{constructor({size:e}){super(`Byte string length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ByteStringTooLargeError`})}};function vb(e){if(e===void 0)return{length:1,encode:e=>e.pushUint8(247)};if(e===null)return{length:1,encode:e=>e.pushUint8(246)};if(typeof e==`boolean`)return{length:1,encode:t=>t.pushUint8(e?245:244)};if(typeof e==`number`)return vb.number(e);if(typeof e==`bigint`)throw new db;if(typeof e==`string`)return vb.string(e);if(Array.isArray(e))return vb.array(e);if(e instanceof Uint8Array)return vb.byteString(e);if(e instanceof ArrayBuffer)return vb.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return vb.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return vb.map(e);if(typeof e==`object`)return vb.object(e);throw new fb({token:String(e)})}(function(e){function t(e){if(!Number.isSafeInteger(e)){let t=Math.fround(e);return Number.isNaN(e)||e===t?{length:5,encode(t){t.pushUint8(250),t.dataView.setFloat32(t.position,e,!1),t.position+=4}}:{length:9,encode(t){t.pushUint8(251),t.dataView.setFloat64(t.position,e,!1),t.position+=8}}}if(e>=0){if(e<=23)return{length:1,encode:t=>t.pushUint8(e)};if(e<=255)return{length:2,encode:t=>{t.pushUint8(24),t.pushUint8(e)}};if(e<=65535)return{length:3,encode:t=>{t.pushUint8(25),t.pushUint16(e)}};if(e<=4294967295)return{length:5,encode:t=>{t.pushUint8(26),t.pushUint32(e)}};throw new pb({number:e.toString(10)})}let t=-1-e;if(e>=-24)return{length:1,encode:e=>e.pushUint8(32+t)};if(t<=255)return{length:2,encode:e=>{e.pushUint8(56),e.pushUint8(t)}};if(t<=65535)return{length:3,encode:e=>{e.pushUint8(57),e.pushUint16(t)}};if(t<=4294967295)return{length:5,encode:e=>{e.pushUint8(58),e.pushUint32(t)}};throw new pb({number:e.toString(10)})}e.number=t;function n(e){let t=Pf(e),n=t.length;if(n<=23)return{length:1+n,encode(e){e.pushUint8(96+n),n>0&&e.pushBytes(t)}};if(n<=255)return{length:2+n,encode(e){e.pushUint8(120),e.pushUint8(n),e.pushBytes(t)}};if(n<=65535)return{length:3+n,encode(e){e.pushUint8(121),e.pushUint16(n),e.pushBytes(t)}};if(n<=4294967295)return{length:5+n,encode(e){e.pushUint8(122),e.pushUint32(n),e.pushBytes(t)}};throw new mb({size:n})}e.string=n;function r(t){let n=t.map(t=>e(t)),r=n.reduce((e,t)=>e+t.length,0),i=t.length;if(i<=23)return{length:1+r,encode(e){e.pushUint8(128+i);for(let t of n)t.encode(e)}};if(i<=255)return{length:2+r,encode(e){e.pushUint8(152),e.pushUint8(i);for(let t of n)t.encode(e)}};if(i<=65535)return{length:3+r,encode(e){e.pushUint8(153),e.pushUint16(i);for(let t of n)t.encode(e)}};if(i<=4294967295)return{length:5+r,encode(e){e.pushUint8(154),e.pushUint32(i);for(let t of n)t.encode(e)}};throw new hb({size:i})}e.array=r;function i(e){let t=e.byteLength;if(t<=23)return{length:1+t,encode(n){n.pushUint8(64+t),n.pushBytes(e)}};if(t<=255)return{length:2+t,encode(n){n.pushUint8(88),n.pushUint8(t),n.pushBytes(e)}};if(t<=65535)return{length:3+t,encode(n){n.pushUint8(89),n.pushUint16(t),n.pushBytes(e)}};if(t<=4294967295)return{length:5+t,encode(n){n.pushUint8(90),n.pushUint32(t),n.pushBytes(e)}};throw new _b({size:t})}e.byteString=i;function a(t){let n=Object.keys(t),r=n.map(n=>({key:e(n),value:e(t[n])})),i=r.reduce((e,t)=>e+t.key.length+t.value.length,0),a=n.length;if(a<=23)return{length:1+i,encode(e){e.pushUint8(160+a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=255)return{length:2+i,encode(e){e.pushUint8(184),e.pushUint8(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=65535)return{length:3+i,encode(e){e.pushUint8(185),e.pushUint16(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=4294967295)return{length:5+i,encode(e){e.pushUint8(186),e.pushUint32(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};throw new gb({size:a})}e.object=a;function o(t){let n=[];for(let[r,i]of t)n.push({key:e(r),value:e(i)});let r=n.reduce((e,t)=>e+t.key.length+t.value.length,0),i=t.size;if(i<=23)return{length:1+r,encode(e){e.pushUint8(160+i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=255)return{length:2+r,encode(e){e.pushUint8(184),e.pushUint8(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=65535)return{length:3+r,encode(e){e.pushUint8(185),e.pushUint16(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=4294967295)return{length:5+r,encode(e){e.pushUint8(186),e.pushUint32(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};throw new gb({size:i})}e.map=o})(vb||={});function yb(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return yb.readUnsignedInteger(e,r);case 1:return yb.readNegativeInteger(e,r);case 2:return yb.readByteString(e,r);case 3:return yb.readTextString(e,r);case 4:return yb.readArray(e,r);case 5:return yb.readMap(e,r);case 6:throw new cb({tag:r});case 7:return yb.readSimpleOrFloat(e,r);default:throw new ab({majorType:n})}}(function(e){function t(e,t){if(t<24)return t;if(t===24)return e.readUint8();if(t===25)return e.readUint16();if(t===26)return e.readUint32();throw t===27?new sb:new ob({additionalInfo:t})}function n(e,n){return t(e,n)}e.readUnsignedInteger=n;function r(e,n){return-1-t(e,n)}e.readNegativeInteger=r;function i(n,r){if(r===31){let t=[],r=0;for(;;){if(n.inspectUint8()===255){n.readUint8();break}let i=e(n);if(!(i instanceof Uint8Array))throw new lb({type:`byte string`});t.push(i),r+=i.length}let i=new Uint8Array(r),a=0;for(let e of t)i.set(e,a),a+=e.length;return i}let i=t(n,r);return n.readBytes(i)}e.readByteString=i;function a(n,r){if(r===31){let t=[];for(;;){if(n.inspectUint8()===255){n.readUint8();break}let r=e(n);if(typeof r!=`string`)throw new lb({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Uf(n.readBytes(i))}e.readTextString=a;function o(n,r){if(r===31){let t=[];for(;;){if(n.inspectUint8()===255){n.readUint8();break}t.push(e(n))}return t}let i=t(n,r),a=[];for(let t=0;t<i;t++)a.push(e(n));return a}e.readArray=o;function s(n,r){if(r===31){let t={};for(;;){if(n.inspectUint8()===255){n.readUint8();break}let r=e(n),i=typeof r==`string`?r:String(r);t[i]=e(n)}return t}let i=t(n,r),a={};for(let t=0;t<i;t++){let t=e(n),r=typeof t==`string`?t:String(t);a[r]=e(n)}return a}e.readMap=s;function c(e,t){if(t===20)return!1;if(t===21)return!0;if(t===22)return null;if(t!==23){if(t===25)return l(e.readUint16());if(t===26){let t=e.dataView.getFloat32(e.position,!1);return e.position+=4,t}if(t===27){let t=e.dataView.getFloat64(e.position,!1);return e.position+=8,t}if(t===24){let t=e.readUint8();if(t<32)throw new ub({value:t});return}throw new ob({additionalInfo:t})}}e.readSimpleOrFloat=c;function l(e){let t=e>>15&1,n=e>>10&31,r=e&1023;if(n===0){if(r===0)return t?-0:0;let e=2**-14*(r/1024);return t?-e:e}if(n===31)return r===0?t?-1/0:1/0:NaN;let i=2**(n-15)*(1+r/1024);return t?-i:i}})(yb||={}),lf();function bb(e){let t=n_(e),n=t.slice(1,33),r=t.slice(33,65);return ib(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}Ws(),Al(),Zc();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet xb=zc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),Sb=kl({a:xb.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:xb,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Vs),Cb=zc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));kl({a:Cb.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:Cb,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Us);let wb=zc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));kl({a:wb.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:wb,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Hs);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Tb=Sb,Eb=Sb;ep(),R();function Db(e){let{privateKey:t}=e;return $g(Eb.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):F(t).slice(2)))}function Ob(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Eb.sign(r instanceof Uint8Array?r:Nf(r),i instanceof Uint8Array?i:Nf(i),{extraEntropy:typeof t==`boolean`?t:np(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function kb(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Eb.verify(i,n instanceof Uint8Array?n:Nf(n),r_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}var Ab=u(s(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1);function jb(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw Mb(r.error);return r.result}function Mb(e){let t=e;if(t instanceof Error&&!(`code`in t))return new Wb({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===Wb.code?new Wb(t):n===Pb.code?new Pb(t):n===Ub.code?new Ub(t):n===Vb.code?new Vb(t):n===zb.code?new zb(t):n===Hb.code?new Hb(t):n===Rb.code?new Rb(t):n===Gb.code?new Gb(t):n===Fb.code?new Fb(t):n===Ib.code?new Ib(t):n===Lb.code?new Lb(t):n===Bb.code?new Bb(t):new Wb({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Nb=class extends Error{constructor(e){let{cause:t,code:n,message:r,data:i,stack:a}=e;super(r,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.BaseError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"stack\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),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.cause=t,this.code=n,this.data=i,this.stack=a??``}},Pb=class e extends Nb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Missing or invalid parameters.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidInputError`})}};Object.defineProperty(Pb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Fb=class e extends Nb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Requested resource not found.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ResourceNotFoundError`})}};Object.defineProperty(Fb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Ib=class e extends Nb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Requested resource not available.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ResourceUnavailableError`})}};Object.defineProperty(Ib,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var Lb=class e extends Nb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Transaction creation failed.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.TransactionRejectedError`})}};Object.defineProperty(Lb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var Rb=class e extends Nb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Method is not implemented.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.MethodNotSupportedError`})}};Object.defineProperty(Rb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var zb=class e extends Nb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Rate limit exceeded.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.LimitExceededError`})}};Object.defineProperty(zb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Bb=class e extends Nb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`JSON-RPC version not supported.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.VersionNotSupportedError`})}};Object.defineProperty(Bb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Vb=class e extends Nb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Input is not a valid JSON-RPC request.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidRequestError`})}};Object.defineProperty(Vb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Hb=class e extends Nb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Method does not exist.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.MethodNotFoundError`})}};Object.defineProperty(Hb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Ub=class e extends Nb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Invalid method parameters.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidParamsError`})}};Object.defineProperty(Ub,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var Wb=class e extends Nb{constructor(t={}){super({cause:t.cause,code:e.code,data:t.data,message:t.message??`Internal JSON-RPC error.`,stack:t.stack}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InternalError`})}};Object.defineProperty(Wb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var Gb=class e extends Nb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Failed to parse JSON-RPC response.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ParseError`})}};Object.defineProperty(Gb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),lf();var Kb=class extends Error{constructor(e,t){super(t),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ProviderRpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=e,this.details=t}},qb=class extends Kb{constructor({message:e=`The user rejected the request.`}={}){super(4001,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UserRejectedRequestError`})}};Object.defineProperty(qb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var Jb=class extends Kb{constructor({message:e=`The requested method and/or account has not been authorized by the user.`}={}){super(4100,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnauthorizedError`})}};Object.defineProperty(Jb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var Yb=class extends Kb{constructor({message:e=`The provider does not support the requested method.`}={}){super(4200,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedMethodError`})}};Object.defineProperty(Yb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var Xb=class extends Kb{constructor({message:e=`The provider is disconnected from all chains.`}={}){super(4900,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.DisconnectedError`})}};Object.defineProperty(Xb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var Zb=class extends Kb{constructor({message:e=`The provider is not connected to the requested chain.`}={}){super(4901,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.ChainDisconnectedError`})}};Object.defineProperty(Zb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var Qb=class extends Kb{constructor({message:e=`An error occurred when attempting to switch chain.`}={}){super(4902,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.SwitchChainError`})}};Object.defineProperty(Qb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var $b=class extends Kb{constructor({message:e=`This Wallet does not support a capability that was not marked as optional.`}={}){super(5700,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedNonOptionalCapabilityError`})}};Object.defineProperty($b,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var ex=class extends Kb{constructor({message:e=`This Wallet does not support the requested chain ID.`}={}){super(5710,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedChainIdError`})}};Object.defineProperty(ex,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var tx=class extends Kb{constructor({message:e=`There is already a bundle submitted with this ID.`}={}){super(5720,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.DuplicateIdError`})}};Object.defineProperty(tx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var nx=class extends Kb{constructor({message:e=`This bundle id is unknown / has not been submitted.`}={}){super(5730,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnknownBundleIdError`})}};Object.defineProperty(nx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var rx=class extends Kb{constructor({message:e=`The call bundle is too large for the Wallet to process.`}={}){super(5740,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.BundleTooLargeError`})}};Object.defineProperty(rx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var ix=class extends Kb{constructor({message:e=`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`}={}){super(5750,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.AtomicReadyWalletRejectedUpgradeError`})}};Object.defineProperty(ix,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var ax=class extends Kb{constructor({message:e=`The wallet does not support atomic execution but the request requires it.`}={}){super(5760,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.AtomicityNotSupportedError`})}};Object.defineProperty(ax,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function ox(){let e=new Ab.default;return{get eventNames(){return e.eventNames.bind(e)},get listenerCount(){return e.listenerCount.bind(e)},get listeners(){return e.listeners.bind(e)},addListener:e.addListener.bind(e),emit:e.emit.bind(e),off:e.off.bind(e),on:e.on.bind(e),once:e.once.bind(e),removeAllListeners:e.removeAllListeners.bind(e),removeListener:e.removeListener.bind(e)}}function sx(e,t={}){if(!e)throw new lx;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?jb(n):n}catch(e){throw cx(e)}}}}function cx(e){let t=Mb(e);if(t instanceof Wb){if(!t.data)return t;let{code:e}=t.data;if(e===Xb.code)return new Xb(t);if(e===Zb.code)return new Zb(t);if(e===qb.code)return new qb(t);if(e===Jb.code)return new Jb(t);if(e===Yb.code)return new Yb(t);if(e===Qb.code)return new Qb(t);if(e===ix.code)return new ix(t);if(e===ax.code)return new ax(t);if(e===rx.code)return new rx(t);if(e===nx.code)return new nx(t);if(e===tx.code)return new tx(t);if(e===ex.code)return new ex(t);if(e===$b.code)return new $b(t)}return t}var lx=class extends N{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function ux(e={}){let t=e.id??0;return{prepare(e){return dx({id:t++,...e})},get id(){return t}}}function dx(e){return{...e,jsonrpc:`2.0`}}function fx(){return null}R();function px(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=zv(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=I(e.chainId)),e.data===void 0?e.input!==void 0&&(t.data=e.input,t.input=e.input):(t.data=e.data,t.input=e.data),e.from!==void 0&&(t.from=e.from),e.gas!==void 0&&(t.gas=I(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=I(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=I(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=I(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=I(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=I(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=I(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=tb[e.type]||e.type),e.value!==void 0&&(t.value=I(e.value)),t}lf();let mx={wei:0,gwei:9,szabo:12,finney:15,ether:18};function hx(e,t=0){let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}function gx(e,t=`wei`){return hx(e,mx.gwei-mx[t])}lf();var _x=class extends N{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${gx(e)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.FeeCapTooHighError`})}},vx=class extends N{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID \"${e}\" is invalid.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},yx=class extends N{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},bx=class extends N{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${gx(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${gx(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function xx(e){let t=Tb.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}R();function Sx(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=P(Xg(ip(r)),I(n,{size:1}),I(i,{size:4}));if(!t)return a;let o=F(new Uint8Array(16)),s=F(t.id);return P(a,o,I(t.id.length,{size:2}),s,bb(t.publicKey))}function Cx(e){let{challenge:t,crossOrigin:n=!1,extraClientData:r,origin:i=window.location.origin,type:a=`webauthn.get`}=e;return JSON.stringify({type:a,challenge:Zy(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}ep(),lf(),R();function wx(e){let{credentialId:t,challenge:n,extensions:r,rpId:i=window.location.hostname,userVerification:a=`required`}=e;return{publicKey:{...t?{allowCredentials:Array.isArray(t)?t.map(e=>({id:$y(e),type:`public-key`})):[{id:$y(t),type:`public-key`}]}:{},challenge:Nf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function Tx(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=Sx({flag:i,rpId:o,signCount:s}),u=Cx({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=Xg(ip(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:P(l,d)}}async function Ex(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:wx(n);try{let e=await t(r);if(!e)throw new Dx;let n=e.response,i=new Uint8Array(n.clientDataJSON),a=new Uint8Array(n.authenticatorData),o=new Uint8Array(n.signature),s=e.id,c=String.fromCharCode(...i),l=c.indexOf(`\"challenge\"`),u=c.indexOf(`\"type\"`),d=xx(o);return{id:s,metadata:{authenticatorData:F(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new Dx({cause:e})}}var Dx=class extends N{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function Ox(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Nf(s);if(u.length<37||a!==void 0&&!Ff(u.slice(0,32),Xg(ip(a),{as:`Bytes`})))return!1;let d=u[32];if((d&1)!=1||l&&(d&4)!=4||(d&8)!=8&&(d&16)==16)return!1;let f=JSON.parse(c);return f.type!==`webauthn.get`||!f.challenge||F($y(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:kb({hash:!0,payload:Af(u,Xg(Pf(c),{as:`Bytes`})),publicKey:i,signature:o})}let kx=Tx;async function Ax(e){return Ex(e)}function jx(e){return Ox(e)}ep();async function Mx(e={}){let{extractable:t=!1}=e,n=await globalThis.crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},t,[`sign`,`verify`]),r=await globalThis.crypto.subtle.exportKey(`raw`,n.publicKey),i=$g(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function Nx(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,jf(t)),i=Mf(new Uint8Array(r)),a=Bf(zf(i,0,32)),o=Bf(zf(i,32,64));return o>Tb.CURVE.n/2n&&(o=Tb.CURVE.n-o),{r:a,s:o}}lf(),R(),Of();let Px=`0x01`,Fx=`0x02`,Ix=`0x03`,Lx=`0x04`,Rx=`0x7777777777777777777777777777777777777777777777777777777777777777`;function zx(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:zx({...e,signature:t.inner}):p_(Bx(e))}function Bx(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return Hv({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return Bx({payload:t,signature:n.inner})}}function Vx(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?L(e,0,-cp(Rx)):e;if(cp(t)===65){let e=vv(t);return gv(e),{signature:e,type:`secp256k1`}}let n=L(t,0,1),r=L(t,1),i=cp(r);if(n===Px){if(i!==129)throw new Yx({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${i} bytes`,serialized:t});return{publicKey:{prefix:4,x:up(L(r,64,96)),y:up(L(r,96,128))},prehash:fp(L(r,128,129))!==0,signature:{r:up(L(r,0,32)),s:up(L(r,32,64))},type:`p256`}}if(n===Fx){if(i<128)throw new Yx({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${i} bytes`,serialized:t});let e=i-128,n=L(r,0,e),a,o;for(let t=37;t<e;t++){let e=pp(L(n,t));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),a=L(n,0,t),o=e;break}catch{}}if(!a||!o)throw new Yx({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{publicKey:{prefix:4,x:up(L(r,e+64,e+96)),y:up(L(r,e+96,e+128))},metadata:{authenticatorData:a,clientDataJSON:o},signature:{r:up(L(r,e,e+32)),s:up(L(r,e+32,e+64))},type:`webAuthn`}}if(n===Ix||n===Lx)return{userAddress:L(r,0,20),inner:Vx(L(r,20)),type:`keychain`,version:n===Lx?`v2`:`v1`};throw new Yx({reason:`Unknown signature type identifier: ${n}. Expected ${Px} (P256), ${Fx} (WebAuthn), ${Ix} (Keychain V1), or ${Lx} (Keychain V2)`,serialized:t})}function Hx(e,t){if(typeof e==`string`)return Vx(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=Wx(e);return{...e,...n===`p256`?{prehash:e.prehash}:{},...n===`keychain`?{...typeof e==`object`&&e&&`version`in e&&e.version?{}:{version:`v2`},...typeof e==`object`&&`keyId`in e&&e.keyId?{}:(()=>{let n=e.inner;return n.type===`p256`||n.type===`webAuthn`?{keyId:p_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:p_(Hv({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function Ux(e){if(e.type===`secp256k1`)return{signature:Sv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:up(e.pubKeyX),y:up(e.pubKeyY)},signature:{r:up(e.r),s:up(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=cp(t),r,i;for(let e=37;e<n;e++){let n=pp(L(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=L(t,0,e),i=n;break}catch{}}if(!r||!i)throw new Yx({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{metadata:{authenticatorData:r,clientDataJSON:i},publicKey:{prefix:4,x:up(e.pubKeyX),y:up(e.pubKeyY)},signature:{r:up(e.r),s:up(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e)return{type:`keychain`,userAddress:e.userAddress,inner:Ux(e.signature),...e.keyId?{keyId:e.keyId}:{},...e.version?{version:e.version}:{}};throw new Jx({envelope:e})}function Wx(e){if(typeof e!=`object`||!e)throw new Jx({envelope:e});if(`type`in e&&e.type)return e.type;if(`signature`in e&&!(`publicKey`in e)&&typeof e.signature==`object`&&e.signature!==null&&`r`in e.signature&&`s`in e.signature&&`yParity`in e.signature||`r`in e&&`s`in e&&`yParity`in e)return`secp256k1`;if(`signature`in e&&`prehash`in e&&`publicKey`in e&&typeof e.prehash==`boolean`)return`p256`;if(`signature`in e&&`metadata`in e&&`publicKey`in e)return`webAuthn`;if(`userAddress`in e&&`inner`in e)return`keychain`;throw new Jx({envelope:e})}function Gx(e,t={}){let n=Wx(e);if(n===`secp256k1`)return P(wv(e.signature),t.magic?Rx:`0x`);if(n===`p256`){let n=e;return P(Px,I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),I(+!!n.prehash,{size:1}),t.magic?Rx:`0x`)}if(n===`webAuthn`){let n=e;return P(Fx,P(n.metadata.authenticatorData,ip(n.metadata.clientDataJSON)),I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),t.magic?Rx:`0x`)}if(n===`keychain`){let n=e;return P(n.version===`v1`?Ix:Lx,n.userAddress,Gx(n.inner),t.magic?Rx:`0x`)}throw new Jx({envelope:e})}function Kx(e){let t=Wx(e);if(t===`secp256k1`)return{...Tv(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:I(t.publicKey.x,{size:32}),pubKeyY:I(t.publicKey.y,{size:32}),r:I(t.signature.r,{size:32}),s:I(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=P(t.metadata.authenticatorData,ip(t.metadata.clientDataJSON));return{pubKeyX:I(t.publicKey.x,{size:32}),pubKeyY:I(t.publicKey.y,{size:32}),r:I(t.signature.r,{size:32}),s:I(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return{type:`keychain`,userAddress:t.userAddress,signature:Kx(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}throw new Jx({envelope:e})}function qx(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return p_(t.publicKey)})();if(!r)return!1;let i=Hx(e);if(i.type===`secp256k1`)return r?Wv({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return m_(p_(i.publicKey),r)?kb({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return m_(p_(i.publicKey),r)?jx({challenge:np(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new Xx(`Unable to verify signature envelope of type \"${i.type}\".`)}var Jx=class extends N{constructor({envelope:e}){super(`Unable to coerce value (\\`${Ef(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},Yx=class extends N{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},Xx=class extends N{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};lf(),R();function Zx(e){return e.startsWith(`tempo`)?Qx(e).address:e}function Qx(e){if(!e.startsWith(`tempox`))throw new $x({address:e});let t=e.slice(6);return tp(t,{strict:!0}),{address:d_(t)}}var $x=class extends N{constructor({address:e}){super(`Tempo address \"${e}\" has an invalid prefix. Expected \"tempox\".`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};R();function eS(e,t={}){if(typeof e.chainId==`string`)return tS(e);let n={...e,address:Zx(e.address)};return t.signature?{...n,signature:t.signature}:n}function tS(e){let{address:t,chainId:n,nonce:r}=e,i=Ux(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function nS(e){return e.map(e=>tS(e))}function rS(e){let[t,n,r,i]=e,a={address:n,chainId:t===`0x`?0:Number(t),nonce:r===`0x`?0n:BigInt(r)};return i&&(a.signature=Vx(i)),eS(a)}function iS(e){let t=[];for(let n of e)t.push(rS(n));return t}function aS(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:I(n),nonce:I(r),signature:Kx(i)}}function oS(e){return e.map(e=>aS(e))}function sS(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?Gx(e.signature):void 0;return[n?I(n):`0x`,t,r?I(r):`0x`,...i?[i]:[]]}function cS(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(sS(n));return t}R();let lS=`0x20c0`;function uS(e){return typeof e==`bigint`||typeof e==`number`?BigInt(e):dS(e)}function dS(e){let t=Zx(e);if(!t.toLowerCase().startsWith(lS))throw Error(`invalid tip20 address.`);return up(L(t,6))}function B(e){if(typeof e==`string`){let t=Zx(e);return u_(t),t}return P(lS,I(e,{size:18}))}let fS=`0x0000000000000000000000000000000000000000`;function pS(e){let{authorizedSigner:t=fS,expiringNonceHash:n,operator:r=fS,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:mS(t),expiringNonceHash:n,operator:mS(r),payee:mS(i),payer:mS(a),salt:o,token:typeof s==`string`?mS(s):B(s)}}function mS(e){return f_(e)}R();let hS=Z_(`address, address, address, address, bytes32, address, bytes32, address, uint256`),gS=Z_(`bytes32, bytes32, bytes32, uint256, address`),_S=Z_(`bytes32, bytes32, uint96`),vS=Jg(ip(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),yS=Jg(ip(`TIP20 Channel Reserve`)),bS=Jg(ip(`1`)),xS=`0x4d50500000000000000000000000000000000000`,SS=Jg(ip(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function CS(e){let t=pS(e);return Jg(Y_(hS,[t.payer,t.payee,t.operator,t.token,t.salt,t.authorizedSigner,t.expiringNonceHash,xS,BigInt(e.chainId)]))}function wS(e){return Jg(Y_(gS,[vS,yS,bS,BigInt(e.chainId),xS]))}function TS(e){let t=Jg(Y_(_S,[SS,e.channelId,e.cumulativeAmount]));return Jg(P(`0x1901`,wS({chainId:e.chainId}),t))}R();function ES(e,t={}){if(`keyId`in e)return DS(e);let n=e,r={...n,address:Zx(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:Zx(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:Zx(e.address),selector:BS(e.selector),...e.recipients?{recipients:e.recipients.map(e=>Zx(e))}:{}}))}:{}};return t.signature?{...r,signature:Hx(t.signature)}:r}function DS(e){let{allowedCalls:t,chainId:n,keyId:r,expiry:i,limits:a,keyType:o}=e,s=Ux(e.signature),c=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:zS(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0;return{address:r,chainId:n===`0x`?0n:up(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&RS(e.period)>0?{period:RS(e.period)}:{}})),...c?{scopes:c}:{},signature:s,type:o}}function OS(e){let[t,n]=e,[r,i,a,o,s,c]=t,l=(()=>{switch(i){case`0x`:case`0x00`:return`secp256k1`;case`0x01`:return`p256`;case`0x02`:return`webAuthn`;default:throw Error(`Invalid key type: ${i}`)}})(),u={address:a,expiry:o===void 0?void 0:RS(o)||void 0,type:l,chainId:r===`0x`?0n:up(r),...o===void 0?{}:{expiry:RS(o)||void 0},...s!==void 0&&Array.isArray(s)&&s.length>0?{limits:s.map(e=>{let[t,n,r]=e;return{token:t,limit:LS(n),...r===void 0?{}:{period:RS(r)}}})}:{},...c!==void 0&&Array.isArray(c)?{scopes:c.flatMap(e=>{let[t,n]=e;return!Array.isArray(n)||n.length===0?[{address:t}]:n.map(e=>{let[n,r]=e;return{address:t,selector:n,...Array.isArray(r)&&r.length>0?{recipients:r}:{}}})})}:{}};return n&&(u.signature=Vx(n)),ES(u)}function kS(e){return jS(e)}function AS(e){return OS(av(e))}function jS(e){let[t]=PS(e);return Jg(dv(t))}function MS(e){return dv(PS(e))}function NS(e){let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s}=e,c=(()=>{if(!n)return;let e=new Map;for(let t of n){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push({selector:BS(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}})}return[...e.entries()].map(([e,t])=>({target:e,...t.length>0?{selectorRules:t}:{}}))})();return{chainId:r===0n?`0x`:I(r),expiry:typeof i==`number`?I(i):null,keyId:Zx(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:I(t),...n?{period:IS(n)}:{}})),signature:Kx(s),...c?{allowedCalls:c}:{}}}function PS(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a}=e,o=e.signature?Gx(e.signature):void 0,s=(()=>{switch(e.type){case`secp256k1`:return`0x`;case`p256`:return`0x01`;case`webAuthn`:return`0x02`;default:throw Error(`Invalid key type: ${e.type}`)}})(),c=a?.map(e=>{let t=[e.token,FS(e.limit)];return e.period&&e.period>0&&t.push(IS(e.period)),t}),l=(()=>{if(!r)return;let e=new Map;for(let t of r){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push([BS(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})();return[[FS(n),s,t,i!=null&&i!==0||c||l?IS(i??0):void 0,c||l?c??[]:void 0,l].filter(e=>e!==void 0),...o?[o]:[]]}function FS(e){return e===0n?`0x`:I(e)}function IS(e){return e===0?`0x`:I(e)}function LS(e){return e===`0x`?0n:BigInt(e)}function RS(e){return e===`0x`?0:fp(e)}function zS(e){return typeof e==`string`?e:Array.isArray(e)?F(new Uint8Array(e)):e}function BS(e){if(e)return e.startsWith(`0x`)?e:my(e)}R();let VS={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function HS(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:Jg(ip(VS[e]??e))}let US={...tb,tempo:`0x76`},WS={...nb,\"0x76\":`tempo`};function GS(e,t={}){if(!e)return null;let n=rb(e);return n.type=WS[e.type],e.aaAuthorizationList&&(n.authorizationList=nS(e.aaAuthorizationList),delete n.aaAuthorizationList),e.calls&&(n.calls=e.calls.map(e=>({to:e.to,value:e.value&&e.value!==`0x`?BigInt(e.value):void 0,data:e.input||e.data||`0x`}))),e.feeToken&&(n.feeToken=e.feeToken),e.nonceKey&&(n.nonceKey=BigInt(e.nonceKey)),e.signature&&(n.signature=Ux(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=DS(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=Sv(e.feePayerSignature),n.feePayerSignature.v=Ov(n.feePayerSignature.yParity)),n}R();function KS(e){let t=px({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=oS(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?Zx(e.to):e.to,value:e.value?I(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?Zx(e.to):void 0,value:e.value?I(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=B(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=NS(e.keyAuthorization)),e.validBefore!==void 0&&(t.validBefore=I(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=I(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return sp(6);if(typeof e.nonceKey==`bigint`)return I(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=US.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}lf(),R();let qS=`tempo`;function JS(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new nC;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new rC({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&u_(e.to,{strict:!1});if(n<=0)throw new vx({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new _x({feeCap:r});if(i&&r&&i>r)throw new bx({maxFeePerGas:r,maxPriorityFeePerGas:i})}function YS(e){let t=av(L(e,1)),[n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]=t,_=Array.isArray(h)?h:void 0,v=_?g:h;if(!(t.length===13||t.length===14||t.length===15))throw new yx({attributes:{authorizationList:m,chainId:n,maxPriorityFeePerGas:r,maxFeePerGas:i,gas:a,calls:o,accessList:s,keyAuthorization:_,nonceKey:c,nonce:l,validBefore:u,validAfter:d,feeToken:f,feePayerSignatureOrSender:p,...t.length>12?{signature:v}:{}},serialized:e,type:qS});let y={chainId:Number(n),type:qS};mp(a)&&a!==`0x`&&(y.gas=BigInt(a)),mp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),mp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),mp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),mp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),mp(u)&&u!==`0x`&&(y.validBefore=Number(u)),mp(d)&&d!==`0x`&&(y.validAfter=Number(d)),mp(f)&&f!==`0x`&&(y.feeToken=f),o&&o!==`0x`&&(y.calls=o.map(e=>{let[t,n,r]=e,i={};return t&&t!==`0x`&&(i.to=t),n&&n!==`0x`&&(i.value=BigInt(n)),r&&r!==`0x`&&(i.data=r),i})),s?.length!==0&&s!==`0x`&&(y.accessList=Uy(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=iS(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||h_(p)?(y.feePayerSignature=null,h_(p)&&(y.from=p)):y.feePayerSignature=Cv(p)),_&&(y.keyAuthorization=OS(_));let b=v?Vx(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=zx({payload:$S(XS(y)),signature:b,root:!0})}catch{}return JS(y),y}function XS(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?YS(e):e;return i.from&&=Zx(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:Zx(e.to)}:{}})),JS(i),{...i,...r?{signature:Hx(r)}:{},...n?{feePayerSignature:bv(n)}:{},type:`tempo`}}function ZS(e,t={}){let{accessList:n,authorizationList:r,calls:i,chainId:a,feeToken:o,gas:s,keyAuthorization:c,nonce:l,nonceKey:u,maxFeePerGas:d,maxPriorityFeePerGas:f,validBefore:p,validAfter:m}=e;JS(e);let h=Wy(n),g=t.signature||e.signature,_=cS(r),v=i.map(e=>[e.to?Zx(e.to):`0x`,e.value?I(e.value):`0x`,e.data??`0x`]),y=!1,b=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&g){let t=Hx(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return p_(t.publicKey);if(t.type===`secp256k1`)return Vv({payload:$S(XS(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Ev(n):`0x`})(),x=[I(a),f?I(f):`0x`,d?I(d):`0x`,s?I(s):`0x`,v,h,u?I(u):`0x`,l?I(l):`0x`,typeof p==`number`?I(p):`0x`,typeof m==`number`?I(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?B(o):`0x`,b,_,...c?[PS(c)]:[],...g?[Gx(Hx(g))]:[]];return P(t.format===`feePayer`?`0x78`:`0x76`,dv(x))}function QS(e){return ZS({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function $S(e,t={}){let n=eC(e,{presign:!0});return t.from?Jg(P(`0x04`,n,Zx(t.from))):n}function eC(e,t={}){return Jg(t.presign?QS(e):ZS(e))}function tC(e,t){let n=Zx(t.sender);return Jg(ZS({...e,signature:void 0},{sender:n,format:`feePayer`}))}var nC=class extends N{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},rC=class extends N{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};let iC=[{name:`CLOSE_GRACE_PERIOD`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`VOUCHER_TYPEHASH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`open`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`uint96`,name:`deposit`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`}],outputs:[{type:`bytes32`,name:`channelId`}]},{name:`settle`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`topUp`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`additionalDeposit`}],outputs:[]},{name:`close`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`captureAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`requestClose`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`getChannel`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[{type:`tuple`,components:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`tuple`,name:`state`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]}]},{name:`getChannelState`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`}],outputs:[{type:`tuple`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`getChannelStatesBatch`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32[]`,name:`channelIds`}],outputs:[{type:`tuple[]`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`computeChannelId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}],outputs:[{type:`bytes32`}]},{name:`getVoucherDigest`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`},{type:`uint96`,name:`cumulativeAmount`}],outputs:[{type:`bytes32`}]},{name:`domainSeparator`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ChannelOpened`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`salt`},{type:`bytes32`,name:`expiringNonceHash`},{type:`uint96`,name:`deposit`}]},{name:`Settled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`deltaPaid`},{type:`uint96`,name:`newSettled`}]},{name:`TopUp`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`additionalDeposit`},{type:`uint96`,name:`newDeposit`}]},{name:`CloseRequested`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint256`,name:`closeGraceEnd`}]},{name:`ChannelClosed`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`settledToPayee`},{type:`uint96`,name:`refundedToPayer`}]},{name:`CloseRequestCancelled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0}]},{name:`ChannelAlreadyExists`,type:`error`,inputs:[]},{name:`ChannelNotFound`,type:`error`,inputs:[]},{name:`NotPayer`,type:`error`,inputs:[]},{name:`NotPayeeOrOperator`,type:`error`,inputs:[]},{name:`InvalidPayee`,type:`error`,inputs:[]},{name:`ZeroDeposit`,type:`error`,inputs:[]},{name:`ExpiringNonceHashNotSet`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`AmountExceedsDeposit`,type:`error`,inputs:[]},{name:`AmountNotIncreasing`,type:`error`,inputs:[]},{name:`CaptureAmountInvalid`,type:`error`,inputs:[]},{name:`CloseNotReady`,type:`error`,inputs:[]},{name:`DepositOverflow`,type:`error`,inputs:[]}],V=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],aC=[{name:`getActiveValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getInitializedAtHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`validatorByIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`index`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validatorAddress`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByPublicKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`publicKey`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getNextNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`isInitialized`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`bytes`,name:`signature`}],outputs:[{type:`uint64`,name:`index`}]},{name:`deactivateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`rotateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`setFeeRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`feeRecipient`}],outputs:[]},{name:`setIpAddresses`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`}],outputs:[]},{name:`transferValidatorOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`newAddress`}],outputs:[]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`setNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`migrateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`initializeIfMigrated`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`ValidatorAdded`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`}]},{name:`ValidatorDeactivated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0}]},{name:`ValidatorRotated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`uint64`,name:`deactivatedIndex`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`oldPublicKey`},{type:`bytes32`,name:`newPublicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`FeeRecipientUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`feeRecipient`},{type:`address`,name:`caller`}]},{name:`IpAddressesUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`ValidatorOwnershipTransferred`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`oldAddress`,indexed:!0},{type:`address`,name:`newAddress`,indexed:!0},{type:`address`,name:`caller`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`oldOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ValidatorMigrated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`NetworkIdentityRotationEpochSet`,type:`event`,inputs:[{type:`uint64`,name:`previousEpoch`,indexed:!0},{type:`uint64`,name:`nextEpoch`,indexed:!0}]},{name:`Initialized`,type:`event`,inputs:[{type:`uint64`,name:`height`}]},{name:`SkippedValidatorMigration`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`IngressAlreadyExists`,type:`error`,inputs:[{type:`string`,name:`ingress`}]},{name:`EmptyV1ValidatorSet`,type:`error`,inputs:[]},{name:`InvalidMigrationIndex`,type:`error`,inputs:[]},{name:`InvalidOwner`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`InvalidSignatureFormat`,type:`error`,inputs:[]},{name:`InvalidValidatorAddress`,type:`error`,inputs:[]},{name:`MigrationNotComplete`,type:`error`,inputs:[]},{name:`NotInitialized`,type:`error`,inputs:[]},{name:`NotIp`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`PublicKeyAlreadyExists`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`AddressAlreadyHasValidator`,type:`error`,inputs:[]},{name:`ValidatorAlreadyDeactivated`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]}],oC=[{name:`recover`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`address`,name:`signer`}]},{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`signer`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`InvalidFormat`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]}],sC=[{name:`createPair`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`base`}],outputs:[{type:`bytes32`,name:`key`}]},{name:`place`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`placeFlip`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`cancel`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`cancelStaleOrder`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`swapExactAmountIn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`},{type:`uint128`,name:`minAmountOut`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`swapExactAmountOut`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`},{type:`uint128`,name:`maxAmountIn`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`quoteSwapExactAmountIn`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`quoteSwapExactAmountOut`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`},{type:`address`,name:`token`}],outputs:[{type:`uint128`}]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`}],outputs:[]},{name:`getOrder`,type:`function`,stateMutability:`view`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`orderId`},{type:`address`,name:`maker`},{type:`bytes32`,name:`bookKey`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`remaining`},{type:`uint128`,name:`prev`},{type:`uint128`,name:`next`},{type:`bool`,name:`isFlip`},{type:`int16`,name:`flipTick`}]}]},{name:`getTickLevel`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`base`},{type:`int16`,name:`tick`},{type:`bool`,name:`isBid`}],outputs:[{type:`uint128`,name:`head`},{type:`uint128`,name:`tail`},{type:`uint128`,name:`totalLiquidity`}]},{name:`pairKey`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`tokenA`},{type:`address`,name:`tokenB`}],outputs:[{type:`bytes32`}]},{name:`nextOrderId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`books`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`pairKey`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`base`},{type:`address`,name:`quote`},{type:`int16`,name:`bestBidTick`},{type:`int16`,name:`bestAskTick`}]}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`OrderCancelled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PairDoesNotExist`,type:`error`,inputs:[]},{name:`PairAlreadyExists`,type:`error`,inputs:[]},{name:`OrderDoesNotExist`,type:`error`,inputs:[]},{name:`IdenticalTokens`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TickOutOfBounds`,type:`error`,inputs:[{type:`int16`,name:`tick`}]},{name:`InvalidTick`,type:`error`,inputs:[]},{name:`InvalidFlipTick`,type:`error`,inputs:[]},{name:`InsufficientBalance`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientOutput`,type:`error`,inputs:[]},{name:`MaxInputExceeded`,type:`error`,inputs:[]},{name:`BelowMinimumOrderSize`,type:`error`,inputs:[{type:`uint128`,name:`amount`}]},{name:`InvalidBaseToken`,type:`error`,inputs:[]},{name:`OrderNotStale`,type:`error`,inputs:[]}],cC=[{name:`registerVirtualMaster`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`salt`}],outputs:[{type:`bytes4`,name:`masterId`}]},{name:`getMaster`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes4`,name:`masterId`}],outputs:[{type:`address`}]},{name:`resolveRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`to`}],outputs:[{type:`address`,name:`effectiveRecipient`}]},{name:`resolveVirtualAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`virtualAddr`}],outputs:[{type:`address`,name:`master`}]},{name:`isVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`decodeVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`,name:`isVirtual`},{type:`bytes4`,name:`masterId`},{type:`bytes6`,name:`userTag`}]},{name:`isImplicitlyApproved`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`MasterRegistered`,type:`event`,inputs:[{type:`bytes4`,name:`masterId`,indexed:!0},{type:`address`,name:`masterAddress`,indexed:!0}]},{name:`MasterIdCollision`,type:`error`,inputs:[{type:`address`,name:`master`}]},{name:`InvalidMasterAddress`,type:`error`,inputs:[]},{name:`ProofOfWorkFailed`,type:`error`,inputs:[]},{name:`VirtualAddressUnregistered`,type:`error`,inputs:[]}],lC=[{name:`userTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`address`}]},{name:`validatorTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`address`}]},{name:`setUserToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setValidatorToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`distributeFees`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[]},{name:`collectedFees`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[{type:`uint256`}]},{name:`UserTokenSet`,type:`event`,inputs:[{type:`address`,name:`user`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`ValidatorTokenSet`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`FeesDistributed`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientFeeTokenBalance`,type:`error`,inputs:[]},{name:`CannotChangeWithinBlock`,type:`error`,inputs:[]}],uC=[{name:`M`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`N`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`SCALE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MIN_LIQUIDITY`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPoolId`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`bytes32`}]},{name:`getPool`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`pools`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`liquidity`}]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`uint256`}]},{name:`liquidityBalances`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`},{type:`address`,name:`user`}],outputs:[{type:`uint256`}]},{name:`rebalanceSwap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountOut`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountIn`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`sender`},{type:`address`,name:`to`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}]},{name:`RebalanceSwap`,type:`event`,inputs:[{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`address`,name:`swapper`,indexed:!0},{type:`uint256`,name:`amountIn`},{type:`uint256`,name:`amountOut`}]},{name:`IdenticalAddresses`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientReserves`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`DivisionByZero`,type:`error`,inputs:[]},{name:`InvalidSwapCalculation`,type:`error`,inputs:[]}],dC=[{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`burnKeyAuthorizationWitness`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`witness`}],outputs:[]},{name:`revokeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`}],outputs:[]},{name:`updateSpendingLimit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`token`},{type:`uint256`,name:`newLimit`}],outputs:[]},{name:`setAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}],outputs:[]},{name:`removeAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`target`}],outputs:[]},{name:`getKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`tuple`,components:[{type:`uint8`,name:`signatureType`},{type:`address`,name:`keyId`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`bool`,name:`isRevoked`}]}]},{name:`getRemainingLimit`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`}]},{name:`getRemainingLimitWithPeriod`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`},{type:`uint64`,name:`periodEnd`}]},{name:`getAllowedCalls`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`,name:`isScoped`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{name:`isKeyAuthorizationWitnessBurned`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`witness`}],outputs:[{type:`bool`}]},{name:`getTransactionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`KeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`}]},{name:`KeyRevoked`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`SpendingLimitUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`newLimit`}]},{name:`AccessKeySpend`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint256`,name:`remainingLimit`}]},{name:`KeyAuthorizationWitness`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`KeyAuthorizationWitnessBurned`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`UnauthorizedCaller`,type:`error`,inputs:[]},{name:`KeyAlreadyExists`,type:`error`,inputs:[]},{name:`KeyNotFound`,type:`error`,inputs:[]},{name:`KeyExpired`,type:`error`,inputs:[]},{name:`SpendingLimitExceeded`,type:`error`,inputs:[]},{name:`InvalidSpendingLimit`,type:`error`,inputs:[]},{name:`InvalidSignatureType`,type:`error`,inputs:[]},{name:`ZeroPublicKey`,type:`error`,inputs:[]},{name:`ExpiryInPast`,type:`error`,inputs:[]},{name:`KeyAlreadyRevoked`,type:`error`,inputs:[]},{name:`SignatureTypeMismatch`,type:`error`,inputs:[{type:`uint8`,name:`expected`},{type:`uint8`,name:`actual`}]},{name:`CallNotAllowed`,type:`error`,inputs:[]},{name:`InvalidCallScope`,type:`error`,inputs:[]},{name:`InvalidKeyAuthorizationWitness`,type:`error`,inputs:[]},{name:`KeyAuthorizationWitnessAlreadyBurned`,type:`error`,inputs:[]},{name:`LegacyAuthorizeKeySelectorChanged`,type:`error`,inputs:[{type:`bytes4`,name:`newSelector`}]}],fC=[{name:`getNonce`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint256`,name:`nonceKey`}],outputs:[{type:`uint64`,name:`nonce`}]},{name:`NonceIncremented`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint256`,name:`nonceKey`,indexed:!0},{type:`uint64`,name:`newNonce`}]},{name:`ProtocolNonceNotSupported`,type:`error`,inputs:[]},{name:`InvalidNonceKey`,type:`error`,inputs:[]},{name:`NonceOverflow`,type:`error`,inputs:[]},{name:`ExpiringNonceReplay`,type:`error`,inputs:[]},{name:`ExpiringNonceSetFull`,type:`error`,inputs:[]},{name:`InvalidExpiringNonceExpiry`,type:`error`,inputs:[]}],pC=[{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`},{type:`string`,name:`logoURI`}],outputs:[{type:`address`}]},{name:`isTIP20`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`getTokenAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`sender`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`TokenCreated`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}]},{name:`AddressReserved`,type:`error`,inputs:[]},{name:`AddressNotReserved`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`TokenAlreadyExists`,type:`error`,inputs:[{type:`address`,name:`token`}]}],mC=[{name:`policyIdCounter`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`policyExists`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`bool`}]},{name:`policyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint8`,name:`policyType`},{type:`address`,name:`admin`}]},{name:`isAuthorized`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedSender`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedMintRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`compoundPolicyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`createPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`}],outputs:[{type:`uint64`}]},{name:`createPolicyWithAccounts`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`},{type:`address[]`,name:`accounts`}],outputs:[{type:`uint64`}]},{name:`setPolicyAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`admin`}],outputs:[]},{name:`modifyPolicyWhitelist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`modifyPolicyBlacklist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`restricted`}],outputs:[]},{name:`createCompoundPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}],outputs:[{type:`uint64`}]},{name:`PolicyAdminUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`admin`,indexed:!0}]},{name:`PolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`uint8`,name:`policyType`}]},{name:`WhitelistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`allowed`}]},{name:`BlacklistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`restricted`}]},{name:`CompoundPolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`creator`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PolicyNotFound`,type:`error`,inputs:[]},{name:`PolicyNotSimple`,type:`error`,inputs:[]},{name:`InvalidPolicyType`,type:`error`,inputs:[]},{name:`IncompatiblePolicyType`,type:`error`,inputs:[]},{name:`VirtualAddressNotAllowed`,type:`error`,inputs:[]}],hC=[{name:`getValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`updateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`changeValidatorStatus`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`bool`,name:`active`}],outputs:[]},{name:`changeValidatorStatusByIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`index`},{type:`bool`,name:`active`}],outputs:[]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`changeOwner`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`getNextFullDkgCeremony`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setNextFullDkgCeremony`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`validatorsArray`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`validators`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ValidatorAlreadyExists`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`NotHostPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]}],gC=[...iC,...V,...aC,...oC,...sC,...cC,...lC,...uC,...dC,...fC,...pC,...mC,...hC];R();function _C(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||t?.source===`accessKey`||e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.nonceKey!==void 0||e.signature!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:Ld(e)}function vC(e){try{return _C(e)===`tempo`}catch{return!1}}function yC(e){let t=L(e,0,1);return t===`0x76`||t===`0x78`?xC(e):Zv(e)}async function bC(e,t){if(!vC(e)){if(t&&`type`in t&&t.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+t.type+\"`.\");if(t&&`type`in t){let{r:n,s:r,yParity:i}=t?.signature;return _h(e,{r:I(n,{size:32}),s:I(r,{size:32}),yParity:i})}return _h(e,t)}if(_C(e)===`tempo`)return SC(e,t);throw Error(`Unsupported transaction type`)}function xC(e){let{feePayerSignature:t,nonce:n,...r}=YS(e);return{...r,nonce:Number(n??0n),feePayerSignature:t&&{r:I(t.r,{size:32}),s:I(t.s,{size:32}),yParity:t.yParity}}}async function SC(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return Hx({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,nonce:a,...o}=e,s=(()=>{let t=e.feePayerSignature;if(t)return{r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)};if(t===null||i)return null})(),c=e.feePayerSignature!==void 0&&e.feePayerSignature!==null,l=i===!0&&(!n||!s)||!n&&c,u={...o,calls:o.calls?.length?o.calls:[{to:o.to||(!o.data||o.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:o.value,data:o.data}],chainId:Number(r),feePayerSignature:s,type:`tempo`,...a?{nonce:BigInt(a)}:{}};if(l&&delete u.feeToken,n&&typeof e.feePayer==`object`){let t=XS(u,{signature:n}),r=tC(t,{sender:(()=>{if(e.from)return e.from;if(n.type===`secp256k1`)return Vv({payload:$S(t),signature:n.signature});throw Error(`Unable to extract sender from transaction or signature.`)})()});return ZS(t,{feePayerSignature:bv(await e.feePayer.sign({hash:r}))})}return i===!0||!n&&c?n&&s?ZS(u,{signature:n}):n?ZS(u,{format:`feePayer`,sender:e.from,signature:n}):ZS(u,{feePayerSignature:null}):ZS({...u,...i&&!s?{feeToken:void 0}:{}},{feePayerSignature:void 0,signature:n})}R(),va(),hi();function CC(e){let{access:t}=e;return t?NC(e):MC(e)}function wC(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=Db({privateKey:e});return CC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=kx({...t,challenge:n,rpId:i,origin:a});return Gx({metadata:r,signature:Ob({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function TC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Db({privateKey:e});return CC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return Gx({signature:Ob({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function EC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Bv({privateKey:e});return CC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return wv(Uv({payload:n,privateKey:e}))}})}function DC(e,t={}){let{id:n}=e,r=t_(e.publicKey);return CC({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await Ax({...t,challenge:e,credentialId:n});return Gx({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function OC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return CC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return Gx({signature:await Nx({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}function kC(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return TS({chainId:t,channelId:typeof n==`string`?n:CS(n,{chainId:t}),cumulativeAmount:r})}async function AC(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o}=t,{accessKeyAddress:s,keyType:c}=PC(r);return ES({address:s,chainId:n,expiry:i,limits:a,scopes:o,signature:Hx(await e.sign({hash:kS({address:s,chainId:n,expiry:i,limits:a,scopes:o,type:c})})),type:c})}function jC(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??p_(e.publicKey),o=r_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?mi(P(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?Gx(Hx({userAddress:n,inner:Hx(o),type:`keychain`,version:i})):o}return{address:d_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=Hx(await s({hash:Du({address:r,chainId:t,nonce:n})}));if(i.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+i.type+\"`.\");let{r:a,s:o,yParity:c}=i.signature;return{address:r,chainId:t,nonce:n,r:I(a,{size:32}),s:I(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:Wh(t)})},async signTransaction(e,t){let{serializer:n=bC}=t??{};return await n(e,Hx(await s({hash:mi(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e))})))},async signTypedData(e){return await s({hash:Qh(e)})},async signVoucher(e){let t=kC(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function MC(e){let t=jC(e);return{...t,source:`root`,async signKeyAuthorization(e,n){let{chainId:r,expiry:i,limits:a,scopes:o}=n,{accessKeyAddress:s,keyType:c}=PC(e);return ES({address:s,chainId:r,expiry:i,limits:a,scopes:o,signature:Hx(await t.sign({hash:kS({address:s,chainId:r,expiry:i,limits:a,scopes:o,type:c})})),type:c})}}}function NC(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=_a(t);return{...jC({...e,parentAddress:r}),accessKeyAddress:p_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function PC(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:p_(t_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let FC=`0xaAAAaaAA00000000000000000000000000000000`,IC=`0xdec0000000000000000000000000000000000000`,LC=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`];function RC(e,t){return LC.indexOf(e)<LC.indexOf(t)}Ca();function H(e){return{...e,data:Sa(e),to:e.address}}va();let zC={0:`secp256k1`,1:`p256`,2:`webAuthn`},BC={true:`limited`,false:`unlimited`};async function VC(e,t){return VC.inner(Ym,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,chainId:i=t.chain?.id,expiry:a,limits:o,scopes:s,...c}=n,l=c.account??t.account;if(!l)throw Error(`account is required.`);if(!i)throw Error(`chainId is required.`);let u=await AC(_a(l),{chainId:BigInt(i),key:r,expiry:a,limits:o,scopes:s});return await e(t,{...c,keyAuthorization:u})}e.inner=t;function n(e){let[t]=Qd({abi:dC,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(VC||={});async function HC(e,t){return HC.inner(z,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return H({address:FC,abi:dC,functionName:`revokeKey`,args:[KC(t)]})}e.call=n;function r(e){let[t]=Qd({abi:dC,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(HC||={});async function UC(e,t){return UC.inner(z,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return H({address:FC,abi:dC,functionName:`updateSpendingLimit`,args:[KC(t),n,r]})}e.call=n;function r(e){let[t]=Qd({abi:dC,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(UC||={});async function WC(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=_a(n),o=await Lm(e,{...i,account:null,...WC.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:zC[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:BC[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return H({address:FC,abi:dC,functionName:`getKey`,args:[t,KC(n)]})}e.call=t})(WC||={});async function GC(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=_a(n),s=e.chain?.hardfork;if(s&&RC(s,`t3`))return{remaining:await Lm(e,{...a,...GC.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await Lm(e,{...a,...GC.callWithPeriod({account:o.address,accessKey:r,token:i})});return{remaining:c,periodEnd:l}}(function(e){function t(e){let{account:t,accessKey:n,token:r}=e;return H({address:FC,abi:dC,functionName:`getRemainingLimit`,args:[t,KC(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return H({address:FC,abi:dC,functionName:`getRemainingLimitWithPeriod`,args:[t,KC(n),r]})}e.callWithPeriod=n})(GC||={});function KC(e){return typeof e==`string`?e:e.accessKeyAddress}R(),va();async function qC(e,t){return qC.inner(z,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountOut:r,maxAmountIn:i}=e;return H({address:IC,abi:sC,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(qC||={});async function JC(e,t){return JC.inner(z,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return H({address:IC,abi:sC,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=Qd({abi:sC,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(JC||={});async function YC(e,t){return YC.inner(z,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return H({address:IC,abi:sC,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=Qd({abi:sC,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(YC||={});async function XC(e,t){return XC.inner(z,e,t)}(function(e){async function t(t,n,r){let{base:i,...a}=r,o=e.call({base:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{base:t}=e;return H({address:IC,abi:sC,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=Qd({abi:sC,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(XC||={});async function ZC(e,t){let{account:n=e.account,token:r,...i}=t,a=n?_a(n).address:void 0;if(!a)throw Error(`account is required.`);return Lm(e,{...i,...ZC.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return H({address:IC,abi:sC,args:[t,n],functionName:`balanceOf`})}e.call=t})(ZC||={});async function QC(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return Lm(e,{...a,...QC.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return H({address:IC,abi:sC,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(QC||={});async function $C(e,t){let{orderId:n,...r}=t;return Lm(e,{...r,...$C.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return H({address:IC,abi:sC,args:[t],functionName:`getOrder`})}e.call=t})($C||={});async function ew(e,t){let{base:n,quote:r,...i}=t;return Lm(e,{...i,...ew.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e;return H({address:IC,abi:sC,args:[sw(t,n)],functionName:`books`})}e.call=t})(ew||={});async function tw(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await Lm(e,{...a,...tw.call({base:n,tick:r,isBid:i})});return{head:o,tail:s,totalLiquidity:c}}(function(e){function t(e){let{base:t,tick:n,isBid:r}=e;return H({address:IC,abi:sC,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(tw||={});async function nw(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return Lm(e,{...a,...nw.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return H({address:IC,abi:sC,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(nw||={});async function rw(e,t){return rw.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,token:a,type:o,tick:s,...c}=r,l=e.call({amount:i,token:a,type:o,tick:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i}=e;return H({address:IC,abi:sC,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=Qd({abi:sC,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(rw||={});async function iw(e,t){return iw.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,flipTick:a,tick:o,token:s,type:c,...l}=r,u=e.call({amount:i,flipTick:a,tick:o,token:s,type:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i,flipTick:a}=e;return H({address:IC,abi:sC,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=Qd({abi:sC,logs:e,eventName:`OrderPlaced`,strict:!0}).find(e=>e.args.isFlipOrder);if(!t)throw Error(\"`OrderPlaced` event (flip order) not found.\");return t}e.extractEvent=r})(iw||={});async function aw(e,t){return aw.inner(z,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountIn:r,minAmountOut:i}=e;return H({address:IC,abi:sC,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(aw||={});async function ow(e,t){return ow.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,amount:a,...o}=r,s=e.call({token:i,amount:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,amount:n}=e;return H({address:IC,abi:sC,functionName:`withdraw`,args:[t,n]})}e.call=n})(ow||={});function sw(e,t){return Jg(P(e,t))}R(),va(),Ca();async function cw(e,t){let{token:n,...r}=t;return cw.inner(z,e,t,{...r,token:n})}(function(e){async function t(t,n,r,i){let a=e.call(i);return await t(n,{...r,...a})}e.inner=t;function n(e){let{spender:t,amount:n,token:r}=e;return H({address:B(r),abi:V,functionName:`approve`,args:[t,n]})}e.call=n;function r(e){let[t]=Qd({abi:V,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=r})(cw||={});async function lw(e,t){return lw.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,token:o,...s}=r,c=e.call({amount:i,from:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{from:t,amount:n,token:r}=e;return H({address:B(r),abi:V,functionName:`burnBlocked`,args:[t,n]})}e.call=n;function r(e){let[t]=Qd({abi:V,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(lw||={});async function uw(e,t){return uw.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,token:o,...s}=r,c=e.call({amount:i,memo:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{amount:t,memo:n,token:r}=e,i=n?{functionName:`burnWithMemo`,args:[t,ap(n,32)]}:{functionName:`burn`,args:[t]};return H({address:B(r),abi:V,...i})}e.call=n;function r(e){let[t]=Qd({abi:V,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(uw||={});async function dw(e,t){return dw.inner(z,e,t)}(function(e){async function t(t,n,r){let{policyId:i,token:a,...o}=r,s=e.call({policyId:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,policyId:n}=e;return H({address:B(t),abi:V,functionName:`changeTransferPolicyId`,args:[n]})}e.call=n;function r(e){let[t]=Qd({abi:V,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(dw||={});async function fw(e,t){return fw.inner(z,e,t)}(function(e){async function t(t,n,r){let{account:i=n.account,admin:a=n.account,chain:o=n.chain,...s}=r,c=a?_a(a):void 0;if(!c)throw Error(`admin is required.`);let l=e.call({...s,admin:c.address});return await t(n,{...r,account:i,chain:o,...l})}e.inner=t;function n(e){let{name:t,symbol:n,currency:r,logoURI:i,quoteToken:a=`0x20c0000000000000000000000000000000000000`,admin:o,salt:s=sp(32)}=e;return H({address:`0x20fc000000000000000000000000000000000000`,abi:pC,args:typeof i==`string`?[t,n,r,B(a),o,s,i]:[t,n,r,B(a),o,s],functionName:`createToken`})}e.call=n;function r(e){let[t]=Qd({abi:pC,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(fw||={});async function pw(e,t){let{account:n=e.account}=t,r=n?_a(n).address:void 0;if(!r)throw Error(`account is required.`);return Lm(e,{...t,...pw.call({...t,account:r})})}(function(e){function t(e){let{account:t,spender:n,token:r}=e;return H({address:B(r),abi:V,functionName:`allowance`,args:[t,n]})}e.call=t})(pw||={});async function mw(e,t){let{account:n=e.account,...r}=t,i=n?_a(n).address:void 0;if(!i)throw Error(`account is required.`);return Lm(e,{...r,...mw.call({account:i,...r})})}(function(e){function t(e){let{account:t,token:n}=e;return H({address:B(n),abi:V,functionName:`balanceOf`,args:[t]})}e.call=t})(mw||={});async function hw(e,t){let{token:n,...r}=t,i=B(n),a=V;return uS(n)===dS(`0x20c0000000000000000000000000000000000000`)?ly(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`}],allowFailure:!0,deployless:!0}).then(([e,t,n,r,i,a])=>({name:gw(r),symbol:gw(i),currency:gw(e),decimals:gw(t),logoURI:gw(n,``),totalSupply:gw(a)})):ly(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`quoteToken`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`paused`},{address:i,abi:a,functionName:`supplyCap`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`},{address:i,abi:a,functionName:`transferPolicyId`}],allowFailure:!0,deployless:!0}).then(([e,t,n,r,i,a,o,s,c,l])=>({name:gw(i),symbol:gw(s),currency:gw(e),decimals:gw(t),logoURI:gw(n,``),quoteToken:gw(r),totalSupply:gw(c),paused:gw(a),supplyCap:gw(o),transferPolicyId:gw(l)}))}function gw(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function _w(e,t){return Lm(e,{...t,..._w.call(t)})}(function(e){function t(e){let{role:t,token:n}=e;return H({address:B(n),abi:V,functionName:`getRoleAdmin`,args:[HS(t)]})}e.call=t})(_w||={});async function vw(e,t){let{account:n=e.account}=t,r=n?_a(n).address:void 0;if(!r)throw Error(`account is required.`);return Lm(e,{...t,...vw.call({...t,account:r})})}(function(e){function t(e){let{account:t,role:n,token:r}=e;return H({address:B(r),abi:V,functionName:`hasRole`,args:[t,HS(n)]})}e.call=t})(vw||={});async function yw(e,t){return yw.inner(Ym,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let n=e.call({...r,role:t});return{...n,data:Sa(n)}})})}e.inner=t;function n(e){let{token:t,to:n,role:r}=e,i=HS(r);return H({address:B(t),abi:V,functionName:`grantRole`,args:[i,n]})}e.call=n;function r(e){let t=Qd({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(yw||={});async function bw(e,t){return bw.inner(z,e,t)}(function(e){async function t(t,n,r){let i=e.call(r);return await t(n,{...r,...i})}e.inner=t;function n(e){let{to:t,amount:n,memo:r,token:i}=e,a=r?{functionName:`mintWithMemo`,args:[t,n,ap(r,32)]}:{functionName:`mint`,args:[t,n]};return H({address:B(i),abi:V,...a})}e.call=n;function r(e){let[t]=Qd({abi:V,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(bw||={});async function xw(e,t){return xw.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return H({address:B(t),abi:V,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=Qd({abi:V,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(xw||={});async function Sw(e,t){return Sw.inner(Ym,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let n=e.call({...r,role:t});return{...n,data:Sa(n)}})})}e.inner=t;function n(e){let{token:t,role:n}=e,r=HS(n);return H({address:B(t),abi:V,functionName:`renounceRole`,args:[r]})}e.call=n;function r(e){let t=Qd({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(Sw||={});async function Cw(e,t){return Cw.inner(Ym,e,t)}(function(e){async function t(t,n,r){let{from:i,...a}=r;return await t(n,{...a,calls:r.roles.map(t=>{let n=e.call({...r,role:t});return{...n,data:Sa(n)}})})}e.inner=t;function n(e){let{token:t,from:n,role:r}=e,i=HS(r);return H({address:B(t),abi:V,functionName:`revokeRole`,args:[i,n]})}e.call=n;function r(e){let t=Qd({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(Cw||={});async function ww(e,t){return ww.inner(z,e,t)}(function(e){async function t(t,n,r){let{supplyCap:i,token:a,...o}=r,s=e.call({supplyCap:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,supplyCap:n}=e;return H({address:B(t),abi:V,functionName:`setSupplyCap`,args:[n]})}e.call=n;function r(e){let[t]=Qd({abi:V,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(ww||={});async function Tw(e,t){return Tw.inner(z,e,t)}(function(e){async function t(t,n,r){let{adminRole:i,role:a,token:o,...s}=r,c=e.call({adminRole:i,role:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{token:t,role:n,adminRole:r}=e,i=HS(n),a=HS(r);return H({address:B(t),abi:V,functionName:`setRoleAdmin`,args:[i,a]})}e.call=n;function r(e){let[t]=Qd({abi:V,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(Tw||={});async function Ew(e,t){return Ew.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,memo:o,token:s,to:c,...l}=r,u=e.call({amount:i,from:a,memo:o,token:s,to:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{amount:t,from:n,memo:r,token:i,to:a}=e,o=r&&n?{functionName:`transferFromWithMemo`,args:[n,a,t,ap(r,32)]}:r?{functionName:`transferWithMemo`,args:[a,t,ap(r,32)]}:n?{functionName:`transferFrom`,args:[n,a,t]}:{functionName:`transfer`,args:[a,t]};return H({address:B(i),abi:V,...o})}e.call=n;function r(e){let[t]=Qd({abi:V,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=r})(Ew||={});async function Dw(e,t){return Dw.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return H({address:B(t),abi:V,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=Qd({abi:V,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(Dw||={});async function Ow(e,t){return Ow.inner(z,e,t)}(function(e){async function t(t,n,r){let{quoteToken:i,token:a,...o}=r,s=e.call({quoteToken:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,quoteToken:n}=e;return H({address:B(t),abi:V,functionName:`setNextQuoteToken`,args:[B(n)]})}e.call=n;function r(e){let[t]=Qd({abi:V,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(Ow||={});async function kw(e,t){return kw.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return H({address:B(t),abi:V,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=Qd({abi:V,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(kw||={}),R(),va(),ed();function Aw(e){if(!vC(e))return md(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=GS(e);return{...a,accessList:a.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:n?{r:I(n.r,{size:32}),s:I(n.s,{size:32}),v:BigInt(n.v??27),yParity:n.yParity}:void 0,nonce:Number(i),typeHex:US[a.type],type:a.type}}function jw(e){return $m(e)}function Mw(e,t){let n=e,r=n.account?_a(n.account):void 0;if(!vC(n))return Xu(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let i=KS({...n,type:`tempo`});t===`estimateGas`&&(i.maxFeePerGas=void 0,i.maxPriorityFeePerGas=void 0),i.to=void 0,i.data=void 0,i.value=void 0;let[a,o]=(()=>{let e=r&&`keyType`in r?r.keyType:r?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,Nw(n.keyData)]:[n.keyType,Nw(n.keyData)]})(),s=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(i.from=r.address),{...i,...n.capabilities?{capabilities:n.capabilities}:{},...o?{keyData:o}:{},...s?{keyId:s}:{},...a?{keyType:a}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?_a(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function Nw(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:I(t,{size:2})}let Pw=new Map;async function Fw(e){Pw.set(e,(Pw.get(e)??0)+1),await Promise.resolve();let t=(Pw.get(e)??0)>1;return queueMicrotask(()=>{let t=Pw.get(e)??0;t<=1?Pw.delete(e):Pw.set(e,t-1)}),t}R(),od(),qd(),ed(),hi();let Iw={blockTime:1e3,extendSchema:Mh(),formatters:{transaction:hd({exclude:[`aaAuthorizationList`],format:Aw}),transactionReceipt:eh({format:jw}),transactionRequest:$u({format:Mw})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(n===`afterFillParameters`)return r.feePayer&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;if(!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await T(t,WC,`getMetadata`)({account:i,accessKey:a});Kd(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return await(async()=>{if(r.nonceKey===`expiring`||r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account?.address;return e&&r.nonceKey===void 0?await Fw(e):!1})()?(r.nonceKey=ad,r.nonce=0,r.validBefore===void 0&&(r.validBefore=Math.floor(Date.now()/1e3)+25)):r.nonceKey!==void 0&&(r.nonce=typeof r.nonce==`number`?r.nonce:0),!r.feeToken&&r.chain?.feeToken&&(r.feeToken=r.chain.feeToken),r},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:((e,t)=>bC(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return Vx(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?mi(P(`0x04`,r,n)):r,a=(()=>{try{return zx({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await WC(e,{account:n,accessKey:a,blockNumber:t.blockNumber,blockTag:t.blockTag});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:qx(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await uh(e,{address:n,blockNumber:t.blockNumber,blockTag:t.blockTag});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return qx(o,{address:n,payload:r})}}return await T(e,Ty,`verifyHash`)({...t,chain:null})}},Lw=jh({...Iw,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),Rw=jh({...Iw,id:42431,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0}),zw=jh({...Iw,id:31318,name:`Tempo Devnet`,hardfork:`t3`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.devnet.tempo.xyz`}},nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.devnet.tempoxyz.dev`],webSocket:[`wss://rpc.devnet.tempoxyz.dev`]}},testnet:!0}),Bw=jh({...Iw,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}});function Vw(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Iy({key:Vw.type,name:`Relay Proxy`,async request({method:e,params:t},n){if(e===`eth_fillTransaction`){let r=t?.[0];if(r&&typeof r==`object`&&`feePayer`in r&&r.feePayer===!0)return a.request({method:e,params:t},n)}if(e===`eth_sendRawTransactionSync`||e===`eth_sendRawTransaction`){let o=t[0];if(yC(o).feePayerSignature===null){if(r===`sign-and-broadcast`)return a.request({method:e,params:t},n);{let t=await a.request({method:`eth_signRawTransaction`,params:[o]},n);return i.request({method:e,params:[t]},n)}}}return await i.request({method:e,params:t},n)},type:Vw.type})}}eo();let Hw={AddressAlreadyHasValidator:`This address already has a validator.`,AddressNotReserved:`Address is not reserved.`,AddressReserved:`Address is reserved.`,AlreadyInitialized:`Already initialized.`,BelowMinimumOrderSize:`Order size is below the minimum allowed ({0}).`,CallNotAllowed:`This call is not allowed.`,CannotChangeWithPendingFees:`Cannot change while fees are pending.`,CannotChangeWithinBlock:`Cannot change within the same block.`,ContractPaused:`Contract is paused.`,DivisionByZero:`Division by zero.`,EmptyV1ValidatorSet:`Validator set is empty.`,ExpiringNonceReplay:`Expiring nonce has already been used.`,ExpiringNonceSetFull:`Expiring nonce set is full.`,ExpiryInPast:`Expiry is in the past.`,IdenticalAddresses:`Addresses must be different.`,IdenticalTokens:`Cannot swap a token for itself \u2014 input and output tokens must be different.`,IncompatiblePolicyType:`Incompatible policy type.`,IngressAlreadyExists:`Ingress \"{0}\" already exists.`,InsufficientAllowance:`Insufficient allowance.`,InsufficientBalance:`Insufficient balance. Required: {1}, available: {0}.`,InsufficientFeeTokenBalance:`Insufficient fee token balance.`,InsufficientLiquidity:`Not enough liquidity in the order book to fill this trade.`,InsufficientOutput:`The output amount is below the slippage minimum \u2014 try increasing slippage tolerance.`,InsufficientReserves:`Insufficient reserves.`,InternalError:`Internal error.`,InvalidAmount:`Invalid amount.`,InvalidBaseToken:`This token is not a valid base token for the requested pair.`,InvalidCallScope:`Invalid call scope.`,InvalidCurrency:`Invalid currency.`,InvalidExpiringNonceExpiry:`Invalid expiring nonce expiry.`,InvalidFlipTick:`The flip-order price tick is invalid.`,InvalidFormat:`Invalid format.`,InvalidMasterAddress:`Invalid master address.`,InvalidMigrationIndex:`Invalid migration index.`,InvalidNonceKey:`Invalid nonce key.`,InvalidOwner:`Invalid owner.`,InvalidPayload:`Invalid payload.`,InvalidPolicyType:`Invalid policy type.`,InvalidPublicKey:`Invalid public key.`,InvalidQuoteToken:`Invalid quote token.`,InvalidRecipient:`Invalid recipient.`,InvalidSignature:`Invalid signature.`,InvalidSignatureFormat:`Invalid signature format.`,InvalidSignatureType:`Invalid signature type.`,InvalidSpendingLimit:`Invalid spending limit.`,InvalidSupplyCap:`Invalid supply cap.`,InvalidSwapCalculation:`Invalid swap calculation.`,InvalidTick:`The price tick is invalid.`,InvalidToken:`This token is not supported on the exchange.`,InvalidTransferPolicyId:`Invalid transfer policy.`,InvalidValidatorAddress:`Invalid validator address.`,KeyAlreadyExists:`Key already exists.`,KeyAlreadyRevoked:`Key has already been revoked.`,KeyExpired:`Key has expired.`,KeyNotFound:`Key not found.`,LegacyAuthorizeKeySelectorChanged:`Legacy authorize key selector changed to {0}.`,MasterIdCollision:`Master ID collision with {0}.`,MaxInputExceeded:`The required input exceeds the slippage maximum \u2014 try increasing slippage tolerance.`,MigrationNotComplete:`Migration is not complete.`,NoOptedInSupply:`No opted-in supply.`,NonceOverflow:`Nonce overflow.`,NotHostPort:`\"{1}\" is not a valid host:port for {0}.`,NotInitialized:`Not initialized.`,NotIp:`\"{0}\" is not a valid IP address.`,NotIpPort:`\"{1}\" is not a valid IP:port for {0}.`,OnlySystemContract:`Only callable by system contract.`,OnlyValidator:`Only callable by a validator.`,OrderDoesNotExist:`No order exists with the given ID.`,OrderNotStale:`This order is not yet eligible for stale-cleanup.`,PairAlreadyExists:`A trading pair for these tokens has already been created.`,PairDoesNotExist:`No trading pair exists for these tokens.`,PermitExpired:`Permit has expired.`,PolicyForbids:`Forbidden by policy.`,PolicyNotFound:`Policy not found.`,PolicyNotSimple:`Policy is not a simple policy.`,PoolDoesNotExist:`Pool does not exist.`,ProofOfWorkFailed:`Proof of work failed.`,ProtectedAddress:`Address is protected.`,ProtocolNonceNotSupported:`Protocol nonce is not supported.`,PublicKeyAlreadyExists:`Public key already exists.`,SignatureTypeMismatch:`Signature type mismatch. Expected {0}, got {1}.`,SpendingLimitExceeded:`Spending limit exceeded.`,StringTooLong:`String is too long.`,SupplyCapExceeded:`Supply cap exceeded.`,TickOutOfBounds:`Price tick {0} is outside the allowed range.`,TokenAlreadyExists:`Token {0} already exists.`,TokenPolicyForbids:`Forbidden by token policy.`,TransfersDisabled:`Transfers are disabled.`,Unauthorized:`Unauthorized.`,UnauthorizedCaller:`Unauthorized caller.`,Uninitialized:`Uninitialized.`,ValidatorAlreadyDeactivated:`Validator is already deactivated.`,ValidatorAlreadyExists:`Validator already exists.`,ValidatorNotFound:`Validator not found.`,VirtualAddressNotAllowed:`Virtual address is not allowed.`,VirtualAddressUnregistered:`Virtual address is not registered.`,ZeroPublicKey:`Public key cannot be zero.`};function Uw(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function Ww(e){let t=e.details??e.shortMessage??e.message,n=Gw(e);if(n)try{let e=$a({abi:gC,data:n}),r=Hw[e.errorName];return{...e,data:n,message:r?Uw(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in Hw?{errorName:`unknown`,message:Hw[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function Gw(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.data==`string`&&t.data.startsWith(`0x`))return t.data;if(t.cause)return Gw(t.cause);if(t.error)return Gw(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return Gw(e)}return null}var Kw;function U(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,\"_zod\",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,\"name\",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,\"init\",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,\"name\",{value:e}),o}var qw=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Jw=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Kw=globalThis).__zod_globalConfig??(Kw.__zod_globalConfig={});let Yw=globalThis.__zod_globalConfig;function Xw(e){return e&&Object.assign(Yw,e),Yw}function Zw(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Qw(e,t){return typeof t==`bigint`?t.toString():t}function $w(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}throw Error(`cached value already set`)}}}function eT(e){return e==null}function tT(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let nT=Symbol(`evaluating`);function W(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==nT)return r===void 0&&(r=nT,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}let rT=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function iT(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function aT(e){if(iT(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(iT(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}let oT=new Set([`string`,`number`,`symbol`]),sT=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function cT(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function lT(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function uT(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error(\"Cannot specify both `message` and `error` params\");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function dT(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function fT(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function pT(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function mT(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function hT(e){return typeof e==`string`?e:e?.message}function gT(e,t,n){let r=e.message?e.message:hT(e.inst?._zod.def?.error?.(e))??hT(t?.error?.(e))??hT(n.customError?.(e))??hT(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function _T(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function vT(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let yT=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,\"_zod\",{value:e._zod,enumerable:!1}),Object.defineProperty(e,\"issues\",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Qw,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},bT=U(`$ZodError`,yT),xT=U(`$ZodError`,yT,{Parent:Error}),ST=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new qw;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>gT(e,a,Xw())));throw rT(t,i?.callee),t}return o.value},CT=ST(xT),wT=(e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>gT(e,a,Xw())));throw rT(t,i?.callee),t}return o.value})(xT),TT=(e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new qw;return a.issues.length?{success:!1,error:new(e??bT)(a.issues.map(e=>gT(e,i,Xw())))}:{success:!0,data:a.value}})(xT),ET=(e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>gT(e,i,Xw())))}:{success:!0,data:a.value}})(xT),DT=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ST(e)(t,n,i)})(xT),OT=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},kT=/^-?\\d+n?$/,AT=/^-?\\d+(?:\\.\\d+)?$/,jT=/^(?:true|false)$/i,MT=/^null$/i,NT=/^undefined$/i,PT=U(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),FT={number:`number`,bigint:`bigint`,object:`date`},IT=U(`$ZodCheckLessThan`,(e,t)=>{PT.init(e,t);let n=FT[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),LT=U(`$ZodCheckGreaterThan`,(e,t)=>{PT.init(e,t);let n=FT[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),RT=U(`$ZodCheckMaxLength`,(e,t)=>{var n;PT.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!eT(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=_T(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),zT=U(`$ZodCheckMinLength`,(e,t)=>{var n;PT.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!eT(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=_T(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),BT=U(`$ZodCheckStringFormat`,(e,t)=>{var n,r;PT.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),VT=U(`$ZodCheckRegex`,(e,t)=>{BT.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),HT={major:4,minor:4,patch:3},UT=U(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=HT;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=fT(e),i;for(let a of t){if(a._zod.def.when){if(pT(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new qw;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=fT(e,t))});else{if(e.issues.length===t)continue;r||=fT(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(fT(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new qw;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new qw;return o.then(e=>t(e,r,a))}return t(o,r,a)}}W(e,`~standard`,()=>({validate:t=>{try{let n=TT(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return ET(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),WT=U(`$ZodString`,(e,t)=>{UT.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??OT(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),GT=U(`$ZodNumber`,(e,t)=>{UT.init(e,t),e._zod.pattern=e._zod.bag.pattern??AT,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),KT=U(`$ZodBoolean`,(e,t)=>{UT.init(e,t),e._zod.pattern=jT,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),qT=U(`$ZodBigInt`,(e,t)=>{UT.init(e,t),e._zod.pattern=kT,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch{}return typeof n.value==`bigint`||n.issues.push({expected:`bigint`,code:`invalid_type`,input:n.value,inst:e}),n}}),JT=U(`$ZodUndefined`,(e,t)=>{UT.init(e,t),e._zod.pattern=NT,e._zod.values=new Set([void 0]),e._zod.parse=(t,n)=>{let r=t.value;return r===void 0||t.issues.push({expected:`undefined`,code:`invalid_type`,input:r,inst:e}),t}}),YT=U(`$ZodNull`,(e,t)=>{UT.init(e,t),e._zod.pattern=MT,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),XT=U(`$ZodUnknown`,(e,t)=>{UT.init(e,t),e._zod.parse=e=>e});function ZT(e,t,n){e.issues.length&&t.issues.push(...mT(n,e.issues)),t.value[n]=e.value}let QT=U(`$ZodArray`,(e,t)=>{UT.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>ZT(t,n,e))):ZT(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function $T(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...mT(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function eE(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key \"${n}\": expected a Zod schema`);let n=dT(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function tE(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>$T(e,n,i,t,u,d))):$T(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}let nE=U(`$ZodObject`,(e,t)=>{if(UT.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,\"shape\",{get:()=>{let n={...e};return Object.defineProperty(t,\"shape\",{value:n}),n}})}let n=$w(()=>eE(t));W(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=iT,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>$T(n,t,e,s,r,i))):$T(a,t,e,s,r,i)}return i?tE(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function rE(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!fT(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>gT(e,r,Xw())))}),t)}let iE=U(`$ZodUnion`,(e,t)=>{UT.init(e,t),W(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),W(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),W(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),W(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>tT(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>rE(t,r,e,i)):rE(o,r,e,i)}}),aE=U(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,iE.init(e,t);let n=e._zod.parse;W(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index \"${t.options.indexOf(n)}\"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=$w(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index \"${t.options.indexOf(r)}\"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value \"${String(t)}\"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!iT(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()),input:o,path:[t.discriminator],inst:e}),i)}}),oE=U(`$ZodTuple`,(e,t)=>{UT.init(e,t);let n=t.items;e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({input:a,inst:e,expected:`tuple`,code:`invalid_type`}),r;r.value=[];let o=[],s=sE(n,`optin`),c=sE(n,`optout`);if(!t.rest){if(a.length<s)return r.issues.push({code:`too_small`,minimum:s,inclusive:!0,input:a,inst:e,origin:`array`}),r;a.length>n.length&&r.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:a,inst:e,origin:`array`})}let l=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:a[e],issues:[]},i);t instanceof Promise?o.push(t.then(t=>{l[e]=t})):l[e]=t}if(t.rest){let e=n.length-1,s=a.slice(n.length);for(let n of s){e++;let a=t.rest._zod.run({value:n,issues:[]},i);a instanceof Promise?o.push(a.then(t=>cE(t,r,e))):cE(a,r,e)}}return o.length?Promise.all(o).then(()=>lE(l,r,n,a,c)):lE(l,r,n,a,c)}});function sE(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function cE(e,t,n){e.issues.length&&t.issues.push(...mT(n,e.issues)),t.value[n]=e.value}function lE(e,t,n,r,i){for(let a=0;a<n.length;a++){let n=e[a],o=a<r.length;if(n.issues.length){if(!o&&a>=i){t.value.length=a;break}t.issues.push(...mT(a,n.issues))}t.value[a]=n.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}let uE=U(`$ZodRecord`,(e,t)=>{UT.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!aT(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>gT(e,r,Xw())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...mT(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...mT(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&AT.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>gT(e,r,Xw())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...mT(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...mT(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),dE=U(`$ZodEnum`,(e,t)=>{UT.init(e,t);let n=Zw(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>oT.has(typeof e)).map(e=>typeof e==`string`?cT(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),fE=U(`$ZodLiteral`,(e,t)=>{if(UT.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?cT(e):e?cT(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),pE=U(`$ZodTransform`,(e,t)=>{UT.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Jw(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new qw;return n.value=i,n.fallback=!0,n}});function mE(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let hE=U(`$ZodOptional`,(e,t)=>{UT.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,W(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),W(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${tT(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>mE(e,r)):mE(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),gE=U(`$ZodNullable`,(e,t)=>{UT.init(e,t),W(e._zod,`optin`,()=>t.innerType._zod.optin),W(e._zod,`optout`,()=>t.innerType._zod.optout),W(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${tT(e.source)}|null)$`):void 0}),W(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),_E=U(`$ZodPipe`,(e,t)=>{UT.init(e,t),W(e._zod,`values`,()=>t.in._zod.values),W(e._zod,`optin`,()=>t.in._zod.optin),W(e._zod,`optout`,()=>t.out._zod.optout),W(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>vE(e,t.in,n)):vE(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>vE(e,t.out,n)):vE(r,t.out,n)}});function vE(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}let yE=U(`$ZodCodec`,(e,t)=>{UT.init(e,t),W(e._zod,`values`,()=>t.in._zod.values),W(e._zod,`optin`,()=>t.in._zod.optin),W(e._zod,`optout`,()=>t.out._zod.optout),W(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if((n.direction||`forward`)===`forward`){let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>bE(e,t,n)):bE(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>bE(e,t,n)):bE(r,t,n)}}});function bE(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||`forward`)===`forward`){let r=t.transform(e.value,e);return r instanceof Promise?r.then(r=>xE(e,r,t.out,n)):xE(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>xE(e,r,t.in,n)):xE(e,r,t.in,n)}}function xE(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let SE=U(`$ZodReadonly`,(e,t)=>{UT.init(e,t),W(e._zod,`propValues`,()=>t.innerType._zod.propValues),W(e._zod,`values`,()=>t.innerType._zod.values),W(e._zod,`optin`,()=>t.innerType?._zod?.optin),W(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(CE):CE(r)}});function CE(e){return e.value=Object.freeze(e.value),e}let wE=U(`$ZodTemplateLiteral`,(e,t)=>{UT.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){if(!e._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);let t=e._zod.pattern instanceof RegExp?e._zod.pattern.source:e._zod.pattern;if(!t)throw Error(`Invalid template literal part: ${e._zod.traits}`);let r=+!!t.startsWith(`^`),i=t.endsWith(`$`)?t.length-1:t.length;n.push(t.slice(r,i))}else if(e===null||sT.has(typeof e))n.push(cT(`${e}`));else throw Error(`Invalid template literal part: ${e}`);e._zod.pattern=RegExp(`^${n.join(``)}$`),e._zod.parse=(n,r)=>typeof n.value==`string`?(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:`invalid_format`,format:t.format??`template_literal`,pattern:e._zod.pattern.source}),n):(n.issues.push({input:n.value,inst:e,expected:`string`,code:`invalid_type`}),n)}),TE=U(`$ZodCustom`,(e,t)=>{PT.init(e,t),UT.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>EE(t,n,r,e));EE(i,n,r,e)}});function EE(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(vT(e))}}function DE(e,t){return new e({type:`string`,...uT(t)})}function OE(e,t){return new e({type:`number`,checks:[],...uT(t)})}function kE(e,t){return new e({type:`boolean`,...uT(t)})}function AE(e,t){return new e({type:`bigint`,...uT(t)})}function jE(e,t){return new e({type:`undefined`,...uT(t)})}function ME(e,t){return new e({type:`null`,...uT(t)})}function NE(e){return new e({type:`unknown`})}function PE(e,t){return new IT({check:`less_than`,...uT(t),value:e,inclusive:!0})}function FE(e,t){return new LT({check:`greater_than`,...uT(t),value:e,inclusive:!0})}function IE(e,t){return new RT({check:`max_length`,...uT(t),maximum:e})}function LE(e,t){return new zT({check:`min_length`,...uT(t),minimum:e})}function RE(e,t){return new VT({check:`string_format`,format:`regex`,...uT(t),pattern:e})}function zE(e,t,n){let r=uT(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function BE(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...uT(n)})}let VE=U(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);UT.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>CT(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>TT(e,t,n),e.parseAsync=async(t,n)=>wT(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>ET(e,t,n),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]},{parent:!0}),e.with=e.check,e.clone=(t,n)=>lT(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),HE=U(`ZodMiniString`,(e,t)=>{WT.init(e,t),VE.init(e,t)});function G(e){return DE(HE,e)}let UE=U(`ZodMiniNumber`,(e,t)=>{GT.init(e,t),VE.init(e,t)});function WE(e){return OE(UE,e)}let GE=U(`ZodMiniBoolean`,(e,t)=>{KT.init(e,t),VE.init(e,t)});function KE(e){return kE(GE,e)}let qE=U(`ZodMiniBigInt`,(e,t)=>{qT.init(e,t),VE.init(e,t)});function JE(e){return AE(qE,e)}let YE=U(`ZodMiniUndefined`,(e,t)=>{JT.init(e,t),VE.init(e,t)});function XE(e){return jE(YE,e)}let ZE=U(`ZodMiniNull`,(e,t)=>{YT.init(e,t),VE.init(e,t)});function QE(e){return ME(ZE,e)}let $E=U(`ZodMiniUnknown`,(e,t)=>{XT.init(e,t),VE.init(e,t)});function eD(){return NE($E)}let tD=U(`ZodMiniArray`,(e,t)=>{QT.init(e,t),VE.init(e,t)});function K(e,t){return new tD({type:`array`,element:e,...uT(t)})}let nD=U(`ZodMiniObject`,(e,t)=>{nE.init(e,t),VE.init(e,t),W(e,`shape`,()=>t.shape)});function q(e,t){return new nD({type:`object`,shape:e??{},...uT(t)})}let rD=U(`ZodMiniUnion`,(e,t)=>{iE.init(e,t),VE.init(e,t)});function iD(e,t){return new rD({type:`union`,options:e,...uT(t)})}let aD=U(`ZodMiniDiscriminatedUnion`,(e,t)=>{aE.init(e,t),VE.init(e,t)});function oD(e,t,n){return new aD({type:`union`,options:t,discriminator:e,...uT(n)})}let sD=U(`ZodMiniTuple`,(e,t)=>{oE.init(e,t),VE.init(e,t)});function cD(e,t,n){let r=t instanceof UT;return new sD({type:`tuple`,items:e,rest:r?t:null,...uT(r?n:t)})}let lD=U(`ZodMiniRecord`,(e,t)=>{uE.init(e,t),VE.init(e,t)});function uD(e,t,n){return!t||!t._zod?new lD({type:`record`,keyType:G(),valueType:e,...uT(t)}):new lD({type:`record`,keyType:e,valueType:t,...uT(n)})}let dD=U(`ZodMiniEnum`,(e,t)=>{dE.init(e,t),VE.init(e,t),e.options=Object.values(t.entries)});function fD(e,t){return new dD({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...uT(t)})}let pD=U(`ZodMiniLiteral`,(e,t)=>{fE.init(e,t),VE.init(e,t)});function J(e,t){return new pD({type:`literal`,values:Array.isArray(e)?e:[e],...uT(t)})}let mD=U(`ZodMiniTransform`,(e,t)=>{pE.init(e,t),VE.init(e,t)});function hD(e){return new mD({type:`transform`,transform:e})}let gD=U(`ZodMiniOptional`,(e,t)=>{hE.init(e,t),VE.init(e,t)});function Y(e){return new gD({type:`optional`,innerType:e})}let _D=U(`ZodMiniNullable`,(e,t)=>{gE.init(e,t),VE.init(e,t)});function vD(e){return new _D({type:`nullable`,innerType:e})}let yD=U(`ZodMiniPipe`,(e,t)=>{_E.init(e,t),VE.init(e,t)});function bD(e,t){return new yD({type:`pipe`,in:e,out:t})}let xD=U(`ZodMiniCodec`,(e,t)=>{yD.init(e,t),yE.init(e,t)});function SD(e,t,n){return new xD({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let CD=U(`ZodMiniReadonly`,(e,t)=>{SE.init(e,t),VE.init(e,t)});function X(e){return new CD({type:`readonly`,innerType:e})}let wD=U(`ZodMiniTemplateLiteral`,(e,t)=>{wE.init(e,t),VE.init(e,t)});function TD(e,t){return new wD({type:`template_literal`,parts:e,...uT(t)})}let ED=U(`ZodMiniCustom`,(e,t)=>{TE.init(e,t),VE.init(e,t)});function DD(e,t){return zE(ED,e??(()=>!0),t)}function OD(e,t={}){return BE(ED,e,t)}function kD(e){return e}function AD(e){return e}R();let Z=()=>TD([`0x`,G().check(RE(/^[0-9a-fA-F]{40}$/))],`Expected address`),jD=()=>SD(iD([Q(),JE()]),JE(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:up(e),encode:e=>I(e)}),Q=()=>TD([`0x`,G()],`Expected hex value`),MD=()=>SD(iD([Q(),WE()]),WE(),{decode:e=>typeof e==`number`?e:e===`0x`?0:fp(e),encode:e=>I(e)}),ND=q({address:Z(),blockHash:Q(),blockNumber:jD(),data:Q(),logIndex:MD(),removed:KE(),topics:X(K(Q())),transactionHash:Q(),transactionIndex:MD()}),PD=q({blobGasPrice:Y(jD()),blobGasUsed:Y(jD()),blockHash:Q(),blockNumber:jD(),contractAddress:vD(Z()),cumulativeGasUsed:jD(),effectiveGasPrice:jD(),feePayer:Y(Z()),feeToken:Y(Z()),from:Z(),gasUsed:jD(),logs:K(ND),logsBloom:Q(),root:Y(Q()),status:SD(Q(),fD([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:vD(Z()),transactionHash:Q(),transactionIndex:MD(),type:Q()}),FD=DD(),ID=iD([J(`secp256k1`),J(`p256`),J(`webAuthn`)]),LD=q({address:Z(),chainId:jD(),expiry:iD([MD(),QE(),XE()]),keyId:Z(),keyType:ID,limits:Y(X(K(q({token:Z(),limit:jD(),period:Y(MD())})))),signature:FD}),RD=q({data:Y(Q()),to:Y(Z()),value:Y(jD())}),zD=q({accessList:Y(K(q({address:Z(),storageKeys:K(Q())}))),calls:Y(X(K(RD))),chainId:Y(MD()),data:Y(Q()),feePayer:Y(iD([KE(),G()])),feePayerSignature:Y(uD(G(),eD())),feeToken:Y(Z()),from:Y(Z()),gas:Y(jD()),keyAuthorization:Y(LD),keyData:Y(Q()),keyId:Y(Z()),keyType:Y(ID),maxFeePerGas:Y(jD()),maxPriorityFeePerGas:Y(jD()),nonce:Y(MD()),nonceKey:Y(jD()),to:Y(Z()),validAfter:Y(MD()),validBefore:Y(MD()),value:Y(jD())});var BD;(function(e){e.schema=kD({method:J(`eth_accounts`),params:void 0,returns:X(K(Z()))})})(BD||={});var VD;(function(e){e.schema=kD({method:J(`eth_chainId`),params:void 0,returns:Q()})})(VD||={});var HD;(function(e){e.schema=kD({method:J(`eth_requestAccounts`),params:void 0,returns:X(K(Z()))})})(HD||={});var UD;(function(e){e.schema=kD({method:J(`eth_sendTransaction`),params:X(cD([zD])),returns:Q()})})(UD||={});var WD;(function(e){let t=q({address:Z(),decimals:WE(),direction:fD([`incoming`,`outgoing`]),formatted:G(),name:G(),recipients:X(K(Z())),symbol:G(),value:Q()}),n=q({decimals:WE(),formatted:G(),name:G(),symbol:G(),token:Z(),value:Q()});e.schema=kD({method:J(`eth_fillTransaction`),params:X(cD([zD])),returns:q({capabilities:q({balanceDiffs:Y(uD(Z(),X(K(t)))),error:Y(q({abiItem:Y(uD(G(),eD())),data:Y(Q()),errorName:G(),message:G()})),fee:Y(q({amount:Q(),decimals:WE(),formatted:G(),symbol:G()})),requireFunds:Y(q({amount:Q(),decimals:WE(),formatted:G(),token:Z(),symbol:G()})),autoSwap:Y(q({maxIn:n,minOut:n,slippage:WE()})),sponsor:Y(q({address:Z(),name:Y(G()),url:Y(G())})),sponsored:KE()}),tx:uD(G(),eD())})})})(WD||={});var GD;(function(e){e.schema=kD({method:J(`eth_signTransaction`),params:X(cD([zD])),returns:Q()})})(GD||={});var KD;(function(e){e.schema=kD({method:J(`eth_sendTransactionSync`),params:X(cD([zD])),returns:PD})})(KD||={});var qD;(function(e){e.schema=kD({method:J(`eth_signTypedData_v4`),params:X(cD([Z(),G()])),returns:Q()})})(qD||={});var JD;(function(e){e.schema=kD({method:J(`personal_sign`),params:X(cD([Q(),Z()])),returns:Q()})})(JD||={});let YD=Y(q({feePayer:Y(iD([KE(),G()])),sync:Y(KE())}));var XD;(function(e){e.schema=kD({method:J(`wallet_sendCalls`),params:Y(X(cD([q({atomicRequired:Y(KE()),calls:X(K(RD)),capabilities:YD,chainId:Y(MD()),from:Y(Z()),version:Y(G())})]))),returns:q({atomic:Y(KE()),capabilities:YD,chainId:Y(MD()),id:G(),receipts:Y(K(PD)),status:Y(WE()),version:Y(G())})})})(XD||={});var ZD;(function(e){e.schema=kD({method:J(`wallet_getBalances`),params:Y(X(cD([q({account:Y(Z()),chainId:Y(MD()),tokens:Y(X(K(Z())))})]))),returns:X(K(q({address:Z(),balance:jD(),decimals:WE(),display:G(),name:G(),symbol:G()})))})})(ZD||={});var QD;(function(e){e.schema=kD({method:J(`wallet_getCapabilities`),params:Y(X(iD([cD([Z()]),cD([Z(),X(K(Q()))])]))),returns:uD(Q(),q({accessKeys:Y(q({status:iD([J(`supported`),J(`unsupported`)])})),atomic:q({status:iD([J(`supported`),J(`ready`),J(`unsupported`)])}),feePayer:Y(q({status:iD([J(`supported`),J(`unsupported`)])}))}))})})(QD||={});var $D;(function(e){e.parameters=q({address:Y(Z()),chainId:Y(jD()),expiry:WE(),keyType:Y(ID),limits:Y(X(K(q({token:Z(),limit:jD(),period:Y(WE())})))),publicKey:Y(Q()),scopes:Y(X(K(q({address:Z(),selector:Y(iD([Q(),G()])),recipients:Y(X(K(Z())))}))))}),e.returns=q({keyAuthorization:LD,rootAddress:Z()}),e.schema=kD({method:J(`wallet_authorizeAccessKey`),params:X(cD([e.parameters])),returns:e.returns})})($D||={});var eO;(function(e){e.parameters=q({address:Y(Z()),expiry:WE(),keyType:Y(ID),limits:X(K(q({token:Z(),limit:jD(),period:Y(WE())}))),publicKey:Y(Q()),scopes:Y(X(K(q({address:Z(),selector:Y(iD([Q(),G()])),recipients:Y(X(K(Z())))}))))})})(eO||={});var tO;(function(e){e.schema=kD({method:J(`wallet_revokeAccessKey`),params:X(cD([q({address:Z(),accessKeyAddress:Z()})])),returns:void 0})})(tO||={});var nO;(function(e){e.authorizeAccessKey=Y($D.parameters),e.auth=Y(iD([G(),q({url:Y(G()),challenge:Y(G()),verify:Y(G()),logout:Y(G()),returnToken:Y(KE())})])),e.personalSign=Y(q({message:G()})),e.capabilities={request:Y(iD([q({digest:Y(Q()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,method:J(`register`),name:Y(G()),personalSign:e.personalSign,userId:Y(G())}),q({digest:Y(Q()),credentialId:Y(G()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,method:Y(J(`login`)),personalSign:e.personalSign,selectAccount:Y(KE())})])),result:q({email:Y(vD(G())),keyAuthorization:Y(LD),personalSign:Y(q({message:G()})),signature:Y(Q()),username:Y(vD(G())),auth:Y(q({token:Y(G())}))})},e.schema=kD({method:J(`wallet_connect`),params:Y(X(cD([q({capabilities:e.capabilities.request,chainId:Y(MD()),version:Y(G())})]))),returns:q({accounts:X(K(q({address:Z(),capabilities:e.capabilities.result})))})})})(nO||={});var rO;(function(e){let t=Y(eO.parameters),n=nO.auth,r=nO.personalSign;e.parameters=q({capabilities:Y(iD([q({digest:Y(Q()),authorizeAccessKey:t,auth:n,method:J(`register`),name:Y(G()),personalSign:r,userId:Y(G())}),q({digest:Y(Q()),credentialId:Y(G()),authorizeAccessKey:t,auth:n,method:Y(J(`login`)),personalSign:r,selectAccount:Y(KE())})])),chainId:Y(MD()),version:Y(G())})})(rO||={});var iO;(function(e){e.schema=kD({method:J(`wallet_disconnect`),params:void 0,returns:void 0})})(iO||={});var aO;(function(e){e.schema=kD({method:J(`wallet_getCallsStatus`),params:Y(X(cD([G()]))),returns:q({atomic:KE(),chainId:MD(),id:G(),receipts:Y(K(PD)),status:WE(),version:G()})})})(aO||={});var oO;(function(e){e.parameters=q({feePayer:Y(iD([KE(),G()])),to:Y(Z()),token:Y(Z()),value:Y(G())}),e.schema=kD({method:J(`wallet_send`),params:Y(X(cD([e.parameters]))),returns:q({chainId:MD(),receipt:PD})})})(oO||={});let sO=q({amount:Y(G()),pairToken:Y(Z()),slippage:Y(WE().check(FE(0),PE(1))),token:Y(Z()),type:Y(iD([J(`buy`),J(`sell`)]))});var cO;(function(e){e.schema=kD({method:J(`wallet_swap`),params:Y(X(cD([sO]))),returns:q({receipt:PD})})})(cO||={});var lO;(function(e){e.schema=kD({method:J(`wallet_switchEthereumChain`),params:X(cD([q({chainId:MD()})])),returns:void 0})})(lO||={});var uO;(function(e){e.schema=kD({method:J(`wallet_deposit`),params:X(cD([q({address:Y(Z()),chainId:Y(MD()),displayName:Y(G()),token:Y(Z()),value:Y(G())})])),returns:Y(q({receipts:Y(X(K(PD)))}))})})(uO||={});var dO;(function(e){e.parameters=q({amount:Y(G()),feePayer:Y(iD([KE(),G()])),token:Y(Z()),zoneId:Y(MD())}),e.schema=kD({method:J(`wallet_depositZone`),params:Y(X(cD([e.parameters]))),returns:q({receipt:PD})})})(dO||={});var fO;(function(e){e.parameters=q({amount:Y(G()),token:Y(Z()),zoneId:Y(MD())}),e.schema=kD({method:J(`wallet_withdrawZone`),params:Y(X(cD([e.parameters]))),returns:q({receipt:PD})})})(fO||={}),eO.parameters,rO.parameters;let pO=AD([BD.schema,VD.schema,WD.schema,HD.schema,UD.schema,KD.schema,GD.schema,qD.schema,JD.schema,$D.schema,nO.schema,uO.schema,dO.schema,iO.schema,ZD.schema,aO.schema,QD.schema,tO.schema,oO.schema,XD.schema,cO.schema,lO.schema,fO.schema]),mO=fx();function hO(e){return e.params?q({method:e.method,params:e.params}):q({method:e.method})}let gO=oD(`method`,pO.map(hO));function _O(e){let t=new CustomEvent(`eip6963:announceProvider`,{detail:Object.freeze(e)});window.dispatchEvent(t);let n=()=>window.dispatchEvent(t);return window.addEventListener(`eip6963:requestProvider`,n),()=>window.removeEventListener(`eip6963:requestProvider`,n)}var vO=class extends Error{status=402;toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...e&&{challengeId:e}}}},yO=class extends vO{name=`InvalidChallengeError`;title=`Invalid Challenge`;status=402;type=`https://paymentauth.org/problems/invalid-challenge`;constructor(e={}){let{id:t,reason:n}=e,r=t?` \"${t}\"`:``,i=n?`: ${n}`:``;super(`Challenge${r} is invalid${i}.`)}},$=class extends vO{name=`VerificationFailedError`;title=`Verification Failed`;type=`https://paymentauth.org/problems/verification-failed`;constructor(e={}){let{reason:t}=e;super(t?`Payment verification failed: ${t}.`:`Payment verification failed.`)}},bO=class extends vO{name=`PaymentExpiredError`;title=`Payment Expired`;type=`https://paymentauth.org/problems/payment-expired`;constructor(e={}){let{expires:t}=e;super(t?`Payment expired at ${t}.`:`Payment has expired.`)}};function xO(e,t){if(!e)throw new yO({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new yO({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new bO({expires:e})}Of();function SO(e){let t=eb(e);return JSON.parse(t)}function CO(e){return Qy(wf(e),{pad:!1,url:!0})}function wO(){return G().check(RE(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function TO(){return G().check(RE(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function EO(e=`Invalid ISO 8601 datetime`){return bD(iD([TO(),DD(e=>e instanceof Date)]),hD(DO)).check(OD(e=>Number.isFinite(e.getTime()),e))}function DO(e){return e instanceof Date?e:new Date(e)}function OO(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function kO(){return G().check(RE(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function AO(){return G().check(RE(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function jO(){return G().check(RE(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}ep();let MO=q({description:Y(G()),digest:Y(G().check(RE(/^sha-256=/,`Invalid digest format`))),expires:Y(TO()),id:G(),intent:G(),method:G(),meta:Y(uD(G(),G())),opaque:Y(G()),realm:G(),request:uD(G(),eD())});function NO(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?OO(e.expires):void 0,d=e.opaque??(i===void 0?void 0:CO(i)),f=l?WO({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return MO.parse({id:f,realm:s,method:a,intent:o,request:c,...n&&{description:n},...r&&{digest:r},...u&&{expires:u},...i!==void 0&&{meta:i},...d!==void 0&&{opaque:d}})}function PO(e,t){let n=FO(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=IO(n);if(!r)throw Error(`Missing request parameter.`);if(a.method&&!/^[a-z][a-z0-9:_-]*$/.test(a.method))throw Error(`Invalid method: \"${a.method}\". Must be lowercase per spec.`);return NO({...a,request:SO(r),...i&&{opaque:i}},t)}function FO(e){let t=!1,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(t){n?n=!1:i===`\\\\`?n=!0:i===`\"`&&(t=!1);continue}if(i===`\"`){t=!0;continue}if(!zO(e,r,`Payment`))continue;let a=e.slice(0,r);if(a.trim()&&!a.trimEnd().endsWith(`,`))continue;let o=r+7;for(;o<e.length&&/\\s/.test(e[o]??``);)o++;return e.slice(o)}return null}function IO(e){let t={},n=0;for(;n<e.length;){for(;n<e.length&&/[\\s,]/.test(e[n]??``);)n++;if(n>=e.length)break;let r=n;for(;n<e.length&&/[A-Za-z0-9_-]/.test(e[n]??``);)n++;let i=e.slice(r,n);if(!i)throw Error(`Malformed auth-param.`);for(;n<e.length&&/\\s/.test(e[n]??``);)n++;if(e[n]!==`=`)break;for(n++;n<e.length&&/\\s/.test(e[n]??``);)n++;let[a,o]=LO(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function LO(e,t){if(e[t]===`\"`)return RO(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function RO(e,t){let n=t,r=``,i=!1;for(;n<e.length;){let t=e[n];if(n++,i){r+=t,i=!1;continue}if(t===`\\\\`){i=!0;continue}if(t===`\"`)return[r,n];r+=t}throw Error(`Unterminated quoted-string.`)}function zO(e,t,n){if(!e.slice(t).toLowerCase().startsWith(n.toLowerCase()))return!1;let r=e[t+n.length];return!!(r&&/\\s/.test(r))}function BO(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return VO(e.headers,t)}function VO(e,t){let n=e.get(`WWW-Authenticate`);if(!n)throw Error(`Missing WWW-Authenticate header.`);return HO(n,t)}function HO(e,t){let n=[];for(let t of e.matchAll(/Payment\\s+/gi))n.push(t.index);if(n.length===0)throw Error(`No Payment schemes found.`);return n.map((r,i)=>{let a=i+1<n.length?n[i+1]:e.length;return PO(e.slice(r,a).replace(/,\\s*$/,``),t)})}function UO(e){return[e.realm,e.method,e.intent,CO(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?CO(e.meta):``)].join(`|`)}function WO(e,t){let n=UO(e);return Xy(Yg(Pf(t.secretKey),Pf(n),{as:`Bytes`}),{url:!0,pad:!1})}function GO(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=XO(n)}return t}function KO(e,t){let n=GO(e),r=nk(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[XO(e)]??1,index:t}));return{definition:r,entries:i,header:JO(i),keys:n}}function qO(e){let t=e.split(/\\s*,\\s*/).map(e=>e.trim()).filter(Boolean);if(t.length===0)throw Error(`Accept-Payment header is empty.`);return t.map((e,t)=>ek(e,t))}function JO(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${ok(n)}`}).join(`, `)}function YO(e,t,n){let r=new Map;for(let e of t){let t=XO(e);r.has(t)||r.set(t,e)}return e.map((e,t)=>{let i=r.get(XO(e));if(!i)return;let a=ZO(e,n);if(!(!a||a.q<=0))return{challenge:e,index:t,match:a,method:i}}).filter(e=>!!e).sort((e,t)=>t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function XO(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function ZO(e,t){let n;for(let r of t){if(!QO(e,r))continue;let t={...r,specificity:$O(r)};(!n||t.specificity>n.specificity||t.specificity===n.specificity&&t.q>n.q||t.specificity===n.specificity&&t.q===n.q&&t.index<n.index)&&(n=t)}return n}function QO(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function $O(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function ek(e,t){let n=/^(?<method>[^/;\\s]+|\\*)\\s*\\/\\s*(?<intent>[^/;\\s]+|\\*)(?<params>(?:\\s*;\\s*.+)?)$/u.exec(e),r=n?.groups?.method,i=n?.groups?.intent;if(!r||!i)throw Error(`Invalid Accept-Payment entry: ${e}`);sk(r,`method`),sk(i,`intent`);let a=1;for(let t of tk(n.groups?.params)){if(!t)continue;let n=/^(?<name>[A-Za-z0-9_-]+)\\s*=\\s*(?<value>\\S+)$/u.exec(t),r=n?.groups?.name,i=n?.groups?.value;if(!r||!i)throw Error(`Invalid Accept-Payment parameter: ${t}`);r===`q`&&(a=ik(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function tk(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function nk(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>XO(e))),a={};for(let[e,t]of Object.entries(r??{})){if(!i.has(e))throw Error(`Unknown payment preference \"${e}\". Available: ${[...i].join(`, `)}`);a[e]=rk(t,`payment preference \"${e}\"`)}return a}function rk(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return ak(e,t)}function ik(e,t){if(!/^0(?:\\.\\d{0,3})?$|^1(?:\\.0{0,3})?$/.test(e))throw Error(`Invalid q-value for ${t}. Expected an HTTP qvalue.`);return ak(Number(e),t)}function ak(e,t){if(e<0||e>1)throw Error(`Invalid q-value for ${t}. Expected a value between 0 and 1.`);let n=Math.round(e*1e3);if(Math.abs(e*1e3-n)>1e-9)throw Error(`Invalid q-value for ${t}. Expected at most 3 decimal places.`);return n/1e3}function ok(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function sk(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var ck=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},lk=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function uk(e){let t=e.match(/^Payment\\s+(.+)$/i);if(!t?.[1])throw new ck;try{let e=eb(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=dk(r);return{challenge:MO.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:SO(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new lk}}function dk(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!fk(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:CO(e)}}function fk(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function pk(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:CO(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:CO(r)},payload:e.payload,...e.source&&{source:e.source}};return`Payment ${Qy(JSON.stringify(o),{pad:!1,url:!0})}`}function mk(e){return{encode(t){return Qy(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(eb(t)))}catch{throw new hk}}}}var hk=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let gk=[`exact`],_k=`PAYMENT-REQUIRED`,vk=`PAYMENT-SIGNATURE`,yk=G().check(LE(1)),bk=WE().check(OD(e=>e>0,`Must be positive`)),xk=G().check(RE(/^\\d+$/,`Invalid atomic amount`)),Sk=kO(),Ck=G().check(RE(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),wk=q({description:Y(G()),iconUrl:Y(G()),mimeType:Y(G()),serviceName:Y(G()),tags:Y(K(G())),url:yk}),Tk=q({amount:xk,asset:yk,extra:Y(uD(G(),eD())),maxTimeoutSeconds:bk,network:Ck,payTo:yk,scheme:fD(gk)}),Ek=uD(G(),q({info:uD(G(),eD()),schema:uD(G(),eD())})),Dk=q({accepts:K(Tk).check(LE(1)),error:Y(G()),extensions:Y(Ek),resource:wk,x402Version:J(2)}),Ok=iD([q({authorization:q({from:Sk,nonce:AO(),to:Sk,validAfter:xk,validBefore:xk,value:xk}),signature:jO()}),q({permit2Authorization:q({deadline:xk,from:Sk,nonce:xk,permitted:q({amount:xk,token:Sk}),spender:Sk,witness:q({to:Sk,validAfter:xk})}),signature:jO()})]),kk=q({accepted:Tk,extensions:Y(Ek),payload:Ok,resource:Y(wk),x402Version:J(2)}),Ak=q({amount:Y(xk),errorMessage:Y(G()),errorReason:Y(G()),extensions:Y(Ek),extra:Y(uD(G(),eD())),network:yk,payer:Y(G()),success:KE(),transaction:G()}),jk=mk(Dk),Mk=mk(kk),Nk=mk(Ak);jk.encode;let Pk=jk.decode;Mk.encode,Mk.decode,Nk.encode,Nk.decode;let Fk=Symbol.for(`mppx.x402.challenge`);function Ik(e){return Object.defineProperty(e,Fk,{value:!0}),e}function Lk(e){return!!e?.[Fk]}let Rk=`Authorization`,zk=[Rk,_k,`PAYMENT-RESPONSE`,vk];function Bk(e){return e}function Vk(){return Bk({name:`http`,isPaymentRequired(e){return e.status===402},getChallenges(e){return Hk(e)},getChallenge(e){let t=Hk(e)[0];if(!t)throw Error(`No challenge in response.`);return t},setCredential(e,t,n){let r=new Headers(e.headers);for(let e of zk)r.delete(e);return Wk(n?.challenge)?r.set(vk,t):r.set(Rk,t),{...e,headers:r}}})}function Hk(e){return[...e.headers.has(`WWW-Authenticate`)?BO(e):[],...Uk(e)]}function Uk(e){let t=e.headers.get(_k);if(!t)return[];let n=Pk(t);if(e.url&&n.resource.url!==e.url)throw Error(`x402 payment-required resource does not match response URL.`);return n.accepts.map((e,t)=>Ik(NO({id:`x402:${t}`,intent:`charge`,method:`evm`,realm:new URL(n.resource.url).host,request:{...e,...n.extensions?{extensions:n.extensions}:{},resource:n.resource}})))}function Wk(e){return Lk(e)}let Gk=Symbol.for(`mppx.fetch.wrapper`),Kk;function qk(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,methods:i,onChallenge:a,orderChallenges:o,transport:s=Vk()}=e,c=e.eventDispatcher??Xk(),l=t??KO(i),u=mA(r),d=async(e,t)=>{let r=pA(e,t?.headers),d=r.has(`Accept-Payment`),f=_A(r,l),p=fA(e,t,r,f.header,d,n),m=await u(p.input,p.init);if(!s.isPaymentRequired(m))return m;let h=t?.context,{context:g,orderChallenges:_,...v}=p.init??{},y,b,x;try{b=s.getChallenges?s.getChallenges(m):[s.getChallenge(m)];let n=(await vA(YO(b,i,f.entries),_??o))[0];if(!n)throw Error(`No method found for challenges: ${b.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${i.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let r=n.challenge;y=r,x=n.method,y.expires&&xO(y.expires,y.id);let l=eA(e=>gA(r,n.method,e??h)),d=await c.emit(`challenge.received`,tA({challenge:r,challenges:b,createCredential:l,init:t,input:e,method:n.method,response:m}))??(a?await a(y,{createCredential:l}):void 0)??await l();hA(d),await c.emit(`credential.created`,nA({challenge:r,credential:d,init:t,input:e,method:n.method,response:m}));let g=await u(CA(m,p.input),s.setCredential({...v,headers:p.headers},d,{challenge:r}));return g.ok&&await c.emit(`payment.response`,rA({challenge:r,credential:d,init:t,input:e,method:n.method,response:g})),g}catch(n){throw await c.emit(`payment.failed`,iA({challenge:y,challenges:b,error:n,init:t,input:e,method:x,response:m})),n}};return d[Gk]=u,d}function Jk(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);Kk||=globalThis.fetch,globalThis.fetch=qk({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(xA()?`same-origin`:`always`),fetch:globalThis.fetch})}function Yk(e){if(!e)return{};if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}return Array.isArray(e)?Object.fromEntries(e):e}function Xk(){let e={\"*\":new Set,\"challenge.received\":new Set,\"credential.created\":new Set,\"payment.failed\":new Set,\"payment.response\":new Set};return{async emit(t,n){switch(t){case`challenge.received`:{let r;for(let t of e[`challenge.received`]){let e=await Zk(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await $k(e[`*`],t,n),r}case`credential.created`:await Qk(e[`credential.created`],n),await $k(e[`*`],t,n);return;case`payment.failed`:await Qk(e[`payment.failed`],n),await $k(e[`*`],t,n);return;case`payment.response`:await Qk(e[`payment.response`],n),await $k(e[`*`],t,n);return}},on:(t,n)=>{switch(t){case`*`:case`challenge.received`:case`credential.created`:case`payment.failed`:case`payment.response`:return e[t].add(n),()=>e[t].delete(n);default:throw Error(`Unknown client event \"${String(t)}\".`)}}}}async function Zk(e,t){try{return await e(t)}catch{return}}async function Qk(e,t){for(let n of e)try{await n(t)}catch{}}async function $k(e,t,n){await Qk(e,Object.freeze({name:t,payload:n}))}function eA(e){let t;return n=>(t??=e(n),t)}function tA(e){return Object.freeze({challenge:lA(e.challenge),challenges:e.challenges.map(e=>lA(e)),createCredential:e.createCredential,init:aA(e.init),input:oA(e.input),method:sA(e.method),response:cA(e.response)})}function nA(e){return Object.freeze({challenge:lA(e.challenge),credential:e.credential,init:aA(e.init),input:oA(e.input),method:sA(e.method),...e.response===void 0?{}:{response:cA(e.response)}})}function rA(e){return Object.freeze({challenge:lA(e.challenge),credential:e.credential,init:aA(e.init),input:oA(e.input),method:sA(e.method),response:cA(e.response)})}function iA(e){return Object.freeze({...e.challenge?{challenge:lA(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>lA(e))}:{},error:e.error,init:aA(e.init),input:oA(e.input),...e.method?{method:sA(e.method)}:{},...e.response===void 0?{}:{response:cA(e.response)}})}function aA(e){if(e)return dA({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function oA(e){return e instanceof Request?e.clone():e instanceof URL?new URL(e):e}function sA(e){return dA(Object.assign({},e))}function cA(e){return e instanceof Response?e.clone():lA(e)}function lA(e){try{return uA(structuredClone(e))}catch{return dA(e)}}function uA(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))uA(t);return e}function dA(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function fA(e,t,n,r,i,a){let o=!!r&&!i&&yA(e,a);if(!o)return{headers:n,init:t,input:e};let s=new Headers(e instanceof Request?e.headers:void 0);return n.forEach((e,t)=>{s.set(t,e)}),s.set(`Accept-Payment`,r),t?(t.headers=s,{headers:s,init:t,input:e}):{headers:s,init:o?{headers:s}:void 0,input:e}}function pA(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function mA(e){let t=e;for(;t[Gk];)t=t[Gk];return t}function hA(e){if(!e.trim())throw Error(`Credential header value must be non-empty`);if(e.includes(`\\r`)||e.includes(`\n`))throw Error(`Credential header value contains illegal newline characters`)}async function gA(e,t,n){let r=t.context&&n!==void 0?t.context.parse(n):void 0;return t.createCredential(r===void 0?{challenge:e}:{challenge:e,context:r})}function _A(e,t){let n=e.get(`Accept-Payment`);if(!n)return t;try{return{...t,entries:qO(n),header:n}}catch{return t}}async function vA(e,t){return t?t(e):e}function yA(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=SA(e);return t===`same-origin`?xA()?n.origin===globalThis.location.origin:!0:t.origins.some(e=>bA(n,e))}function bA(e,t){if(t.startsWith(`*.`)){let n=t.slice(1);return e.hostname.endsWith(n)||e.hostname===t.slice(2)}return e.origin===new URL(t).origin}function xA(){return globalThis.location!==void 0}function SA(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,xA()?globalThis.location.href:void 0)}function CA(e,t){return e.url?e.url:t}function wA(e){return e}function TA(e,t){let{context:n,createCredential:r}=t;return{...e,context:n,createCredential:r}}va();function EA(e={}){let{account:t}=e;return(e,{account:n}={})=>{let r=n??t;if(!r){if(!e.account)throw Error(\"No `account` provided. Pass `account` to parameters or context.\");return e.account}return _a(r)}}function DA(e){let{chain:t,feePayerUrl:n,getClient:r,rpcUrl:i}=e;return r?!t?.serializers&&!n?r:async e=>{let i=await r(e);if(n&&i.transport.key!==`feePayer`){let e=i.transport.url;if(e){let t=lh({chain:i.chain,transport:Vw(Hy(e),Hy(n))});Object.assign(i,{transport:t.transport,request:t.request})}}return!t?.serializers||i.chain?.serializers?.transaction?i:Object.assign({},i,{chain:{...t,...i.chain,formatters:i.chain?.formatters??t.formatters,prepareTransactionRequest:i.chain?.prepareTransactionRequest??t.prepareTransactionRequest,serializers:i.chain?.serializers?.transaction?i.chain.serializers:t.serializers}})}:({chainId:e})=>{if(!i)throw Error(\"No `rpcUrl` provided.\");let r=e||Number(Object.keys(i)[0]),a=i[r];if(!a)throw Error(`No \\`rpcUrl\\` configured for \\`chainId\\` (${r}).`);let o=n?Vw(Hy(a),Hy(n)):Hy(a);return lh({chain:{...t,id:r},transport:o})}}let OA={mainnet:4217,testnet:42431},kA={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};OA.mainnet,kA.usdc,OA.testnet,kA.pathUsd;let AA={[OA.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[OA.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},jA={[OA.mainnet]:`https://rpc.tempo.xyz`,[OA.testnet]:`https://rpc.moderato.tempo.xyz`},MA=[`push`,`pull`],NA=q({amount:wO(),memo:Y(AO()),recipient:bD(G(),hD(e=>e))}),PA=(1n<<64n)-1n,FA={dev_second:1n,day:86400n,week:604800n},IA=bD(kO(),hD(e=>e.toLowerCase())),LA=q({accessKeyAddress:IA,keyType:fD([`p256`,`secp256k1`,`webAuthn`])}),RA=q({accessKey:Y(LA),chainId:Y(WE())}),zA=EO(`subscriptionExpires must be a valid date`).check(OD(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),BA=fD([`dev_second`,`day`,`week`]),VA=bD(iD([G(),JE(),DD(e=>typeof e==`number`&&Number.isSafeInteger(e))]),hD(e=>e.toString())).check(RE(/^[1-9]\\d*$/,`Invalid periodCount`),OD(e=>{try{return BigInt(e)<=PA}catch{return!1}},`periodCount exceeds uint64`));function HA(e){return OD(e=>{let{amount:t,decimals:n}=e;return cy(t,n)>0n},e)}function UA(e){let{periodCount:t,periodUnit:n}=e;try{let e=FA[n];return e===void 0?!1:BigInt(t)*e<=PA}catch{return!1}}let WA=wA({name:`tempo`,intent:`charge`,schema:{credential:{payload:oD(`type`,[q({hash:AO(),type:J(`hash`)}),q({signature:jO(),type:J(`transaction`)}),q({signature:jO(),type:J(`proof`)})])},request:bD(q({amount:wO(),chainId:Y(WE()),currency:G(),decimals:WE(),description:Y(G()),externalId:Y(G()),feePayer:Y(bD(iD([KE(),DD()]),hD(e=>typeof e==`object`?!0:e))),memo:Y(AO()),recipient:Y(G()),splits:Y(K(NA).check(LE(1),IE(10))),supportedModes:Y(K(fD(MA)).check(LE(1)))}).check(OD(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=cy(e,t),i=n.reduce((e,n)=>e+cy(n.amount,t),0n);return n.every(e=>cy(e.amount,t)>0n)&&i<r},`Invalid splits`)),hD(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:cy(e,n).toString(),...t!==void 0||r!==void 0||i!==void 0||a!==void 0||o!==void 0?{methodDetails:{...t!==void 0&&{chainId:t},...r!==void 0&&{feePayer:r},...i!==void 0&&{memo:i},...a!==void 0&&{splits:a.map(e=>({...e,amount:cy(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),GA=wA({name:`tempo`,intent:`session`,schema:{credential:{payload:oD(`action`,[q({action:J(`open`),authorizedSigner:Y(G()),channelId:AO(),cumulativeAmount:wO(),signature:jO(),transaction:jO(),type:J(`transaction`)}),q({action:J(`topUp`),additionalDeposit:wO(),channelId:AO(),transaction:jO(),type:J(`transaction`)}),q({action:J(`voucher`),channelId:AO(),cumulativeAmount:wO(),signature:jO()}),q({action:J(`close`),channelId:AO(),cumulativeAmount:wO(),signature:jO()})])},request:bD(q({amount:wO(),chainId:Y(WE()),channelId:Y(AO()),currency:G(),decimals:WE(),escrowContract:Y(G()),feePayer:Y(bD(iD([KE(),DD()]),hD(e=>typeof e==`object`?!0:e))),minVoucherDelta:Y(wO()),recipient:Y(G()),suggestedDeposit:Y(wO()),unitType:G()}).check(OD(({amount:e,decimals:t})=>cy(e,t)>0n,`Session amount must be greater than 0`)),hD(({amount:e,chainId:t,channelId:n,decimals:r,escrowContract:i,feePayer:a,minVoucherDelta:o,suggestedDeposit:s,...c})=>({...c,amount:cy(e,r).toString(),...s?{suggestedDeposit:cy(s,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:cy(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a}}})))}}),KA=wA({name:`tempo`,intent:`subscription`,schema:{credential:{payload:q({signature:jO(),type:J(`keyAuthorization`)})},request:bD(q({amount:wO(),accessKey:Y(LA),chainId:Y(WE()),currency:IA,decimals:WE(),description:Y(G()),externalId:Y(G()),methodDetails:Y(RA),periodCount:VA,periodUnit:BA,recipient:IA,subscriptionExpires:zA}).check(HA(`Subscription amount must be greater than 0`),OD(UA,`Subscription period exceeds uint64`)),hD(({accessKey:e,amount:t,chainId:n,decimals:r,methodDetails:i,subscriptionExpires:a,...o})=>{let s={...i,...e!==void 0&&{accessKey:e},...n!==void 0&&{chainId:n}};return{...o,amount:cy(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});Ri(),qd();let qA=(1n<<64n)-1n,JA={dev_second:1n,day:86400n,week:604800n};function YA(e){return e instanceof Date?e:new Date(e)}function XA(e){let t=e.getTime();if(!Number.isFinite(t))throw new $({reason:`subscriptionExpires is invalid`});if(t%1e3!=0)throw new $({reason:`subscriptionExpires must be representable as whole seconds`});let n=t/1e3;if(n<=0||!Number.isSafeInteger(n))throw new $({reason:`subscriptionExpires cannot be represented in a Tempo key authorization`});return n}function ZA(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=JA[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>qA)throw new $({reason:`subscription period cannot be represented as an unsigned 64-bit integer`});if(n>BigInt(2**53-1))throw new $({reason:`subscription period cannot be represented exactly by this Tempo client`});return Number(n)}function QA(e){let{challengeExpires:t,request:n}=e;ZA(n);let r=XA(YA(n.subscriptionExpires));if(t){let e=Math.floor(new Date(t).getTime()/1e3);if(!Number.isFinite(e)||r<=e)throw new $({reason:`subscriptionExpires must be strictly later than challenge expires`})}}function $A(e){return[{address:dj(e.currency,`currency`),selector:`0x95777d59`,recipients:[dj(e.recipient,`recipient`)]}]}async function ej(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=nj({accessKey:t,chainId:r,request:i});return ES(a,{signature:Hx(await n.sign({hash:kS(a)}))})}function tj(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let a=rj(r.signature),o=ij(a);return aj({accessKey:t,authorization:a,chainId:n}),oj(a,i),cj(sj(a),i),lj(a.scopes,i),{authorization:a,source:{address:uj(a,o),chainId:n}}}function nj(e){let{accessKey:t,chainId:n,request:r}=e;return ES({address:dj(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:XA(YA(r.subscriptionExpires)),limits:[{token:dj(r.currency,`currency`),limit:BigInt(r.amount),period:ZA(r)}],scopes:$A(r),type:t.keyType})}function rj(e){try{return AS(e)}catch{throw new $({reason:`invalid keyAuthorization payload`})}}function ij(e){let t=e.signature;if(!t||t.type===`keychain`)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function aj(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!Kd(n.address,dj(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function oj(e,t){if(QA({request:t}),e.expiry!==XA(YA(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function sj(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function cj(e,t){if(!Kd(e.token,dj(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==ZA(t))throw new $({reason:`keyAuthorization period mismatch`})}function lj(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=dj(t.currency,`currency`),r=dj(t.recipient,`recipient`),i=new Set;for(let t of e){if(!Kd(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=fj(t.selector);if(e!==`0xa9059cbb`&&e!==`0x95777d59`)throw new $({reason:`keyAuthorization selector not allowed`});if(i.has(e))throw new $({reason:`keyAuthorization duplicate selector`});if(i.add(e),t.recipients?.length!==1||!Kd(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function uj(e,t){let n=kS(e);try{let e=zx({payload:n,signature:t});if(!qx(t,{address:e,payload:n}))throw new $({reason:`keyAuthorization signature is invalid`});return e}catch(e){throw e instanceof $?e:new $({reason:`keyAuthorization signature is invalid`})}}function dj(e,t){if(!Fi(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function fj(e){return typeof e==`string`?e.toLowerCase():``}R(),qd();let pj=q({accessKey:Y(DD()),account:Y(DD())});function mj(e={}){let t=DA({chain:Lw,getClient:e.getClient,rpcUrl:jA}),n=EA({account:e.account});return TA(KA,{context:pj,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??OA.testnet,o=await t({chainId:a}),s=n(o,i),c=i?.accessKey??e.accessKey??r.request.methodDetails?.accessKey;if(!c)throw Error(\"No `accessKey` provided. The subscription challenge must include `accessKey`, or the client must pass one to parameters/context.\");gj(r.request),await e.validateRequest?.(r.request);let l=await hj(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!Kd(tj({accessKey:c,chainId:a,payload:{signature:MS(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return pk({challenge:r,payload:{signature:MS(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function hj(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await ej({accessKey:n,account:r,chainId:i,request:a})||DS((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:XA(YA(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:I(BigInt(a.amount)),period:ZA(a)}],scopes:$A(a)}]})).keyAuthorization)}function gj(e){ZA(e),XA(YA(e.subscriptionExpires))}ep(),R();let _j=L(Jg(Pf(`mpp`),{as:`Hex`}),0,4);function vj(e){return dp(L(Jg(Pf(e),{as:`Hex`}),0,10))}function yj(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(dp(_j),0),i[4]=1,i.set(vj(t),5),n&&i.set(vj(n),15),i.set(bj(r),25),F(i)}function bj(e){return dp(L(Jg(Pf(e),{as:`Hex`}),0,7))}function xj(e,t){return e.toLowerCase()===t.toLowerCase()}let Sj=[kA.pathUsd,kA.usdc];async function Cj(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!xj(e,i)),c=await Promise.allSettled([Lm(e,mw.call({account:n,token:i})),...s.map(t=>Lm(e,mw.call({account:n,token:t})))]),l=c[0];if(!(l.status===`fulfilled`&&l.value>=r)){for(let t=0;t<s.length;t++){let n=c[t+1];if(n.status!==`fulfilled`)continue;let a=n.value;if(a<=0n)continue;let l=s[t];try{let t=await QC(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let e=t+t*BigInt(Math.round(o*100))/10000n;return[cw.call({token:l,spender:IC,amount:e}),qC.call({tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:e})]}}catch{}}throw new Tj({currency:i})}}function wj(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>xj(e,t)))]:t,slippage:e.slippage??1}:!1}var Tj=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function Ej(e){let t=BigInt(e.amount),n=e.methodDetails?.splits??[],r=n.reduce((e,t)=>e+BigInt(t.amount),0n);if(r>=t)throw Error(`Invalid charge request: split total must be less than total amount.`);let i=t-r;if(i<=0n)throw Error(`Invalid charge request: primary transfer amount must be positive.`);return[{amount:i.toString(),memo:e.methodDetails?.memo,recipient:e.recipient},...n.map(e=>({amount:e.amount,memo:e.memo,recipient:e.recipient}))]}let Dj={Proof:[{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function Oj(e){return{name:`MPP`,version:`2`,chainId:e}}function kj(e,t){return{challengeId:e,realm:t}}function Aj(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}function jj(e={}){let{clientId:t}=e,n=DA({chain:Lw,getClient:e.getClient,rpcUrl:jA}),r=EA({account:e.account});return TA(WA,{context:q({account:Y(DD()),autoSwap:Y(DD()),mode:Y(fD(MA))}),async createCredential({challenge:i,context:a}){let o=i.request.methodDetails?.chainId,s=await n({chainId:o}),c=o??s.chain?.id;if(c===void 0)throw Error(\"No `chainId` provided. Pass a chain ID in the challenge or client.\");let l=r(s,a),{request:u}=i,{amount:d,methodDetails:f}=u;if(BigInt(d)===0n)return pk({challenge:i,payload:{signature:await Fy(s,{account:l,domain:Oj(c),types:Dj,primaryType:`Proof`,message:kj(i.id,i.realm)}),type:`proof`},source:Aj({address:l.address,chainId:c})});let p=u.currency;if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase())),n=f?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}let m=f?.supportedModes??[`pull`,`push`],h=(()=>{let t=a?.mode??e.mode;if(t){if(!m.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=l.type===`json-rpc`?`push`:`pull`;return m.includes(n)?n:m[0]})(),g=f?.memo?f.memo:yj({challengeId:i.id,clientId:t,serverId:i.realm}),_=Ej({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}).map(e=>Ew.call({amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:p})),v=wj(a?.autoSwap??e.autoSwap,Sj),y=[...(v?await Cj(s,{account:l.address,amountOut:BigInt(d),tokenOut:p,tokenIn:v.tokenIn,slippage:v.slippage}):void 0)??[],..._],b=(()=>{let e=Math.floor(Date.now()/1e3)+25;if(!i.expires)return e;let t=Math.floor(new Date(i.expires).getTime()/1e3);return Math.min(e,t)})();if(h===`push`){let{receipts:e}=await Ny(s,{account:l,calls:y,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return pk({challenge:i,payload:{hash:t,type:`hash`},source:Aj({address:l.address,chainId:c})})}let x=await Wd(s,{account:l,calls:y,nonceKey:`expiring`,validBefore:b});return x.gas=(x.gas??0n)+5000n,f?.feePayer&&(x.feePayer=!0),pk({challenge:i,payload:{signature:await Py(s,x),type:`transaction`},source:Aj({address:l.address,chainId:c})})}})}function Mj(e){return`accessKeyAddress`in e}function Nj(e){return Mj(e)?e.accessKeyAddress:e.address}function Pj(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let Fj={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function Ij(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function Lj(e,t,n){return Qh({domain:Pj(e,t),types:Fj,primaryType:`Voucher`,message:Ij(n)})}async function Rj(e,t,n,r,i){return Fy(e,{account:t,domain:Pj(r,i),types:Fj,primaryType:`Voucher`,message:Ij(n)})}function zj(e){let t=Hx(e);if(t.type===`keychain`){if(t.inner.type!==`secp256k1`)throw Error(`Session vouchers only unwrap secp256k1 keychain signatures; pass a direct voucherSigner for other key types.`);return wv(t.inner.signature)}return Gx(t)}function Bj(e){return e.type===`keychain`?!1:e.type===`secp256k1`}function Vj(e){if(!Bj(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function Hj(e,t,n,r,i,a){let o=a??t,s=Nj(o),c=Lj(r,i,n),l=zj(Mj(o)?await o.sign({hash:c,raw:!0}):await Rj(e,o,n,r,i)),u=Hx(l);if(Vj(u),!qx(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function Uj(e){return Jg(Y_(Z_([`address payer`,`address payee`,`address token`,`bytes32 salt`,`address authorizedSigner`,`address escrowContract`,`uint256 chainId`]),[e.payer,e.payee,e.token,e.salt,e.authorizedSigner,e.escrowContract,BigInt(e.chainId)]))}let Wj=[{type:`function`,name:`CLOSE_GRACE_PERIOD`,inputs:[],outputs:[{name:``,type:`uint64`,internalType:`uint64`}],stateMutability:`view`},{type:`function`,name:`VOUCHER_TYPEHASH`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`channels`,inputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}],stateMutability:`view`},{type:`function`,name:`close`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`},{name:`signature`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`computeChannelId`,inputs:[{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`authorizedSigner`,type:`address`,internalType:`address`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`domainSeparator`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`eip712Domain`,inputs:[],outputs:[{name:`fields`,type:`bytes1`,internalType:`bytes1`},{name:`name`,type:`string`,internalType:`string`},{name:`version`,type:`string`,internalType:`string`},{name:`chainId`,type:`uint256`,internalType:`uint256`},{name:`verifyingContract`,type:`address`,internalType:`address`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`extensions`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`view`},{type:`function`,name:`getChannel`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:``,type:`tuple`,internalType:`struct TempoStreamChannel.Channel`,components:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`getChannelsBatch`,inputs:[{name:`channelIds`,type:`bytes32[]`,internalType:`bytes32[]`}],outputs:[{name:`channelStates`,type:`tuple[]`,internalType:`struct TempoStreamChannel.Channel[]`,components:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`getVoucherDigest`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`open`,inputs:[{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`authorizedSigner`,type:`address`,internalType:`address`}],outputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`requestClose`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`settle`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`},{name:`signature`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`topUp`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`additionalDeposit`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdraw`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`ChannelClosed`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`settledToPayee`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`refundedToPayer`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`ChannelExpired`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`ChannelOpened`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`token`,type:`address`,indexed:!1,internalType:`address`},{name:`authorizedSigner`,type:`address`,indexed:!1,internalType:`address`},{name:`salt`,type:`bytes32`,indexed:!1,internalType:`bytes32`},{name:`deposit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`CloseRequestCancelled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`CloseRequested`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`closeGraceEnd`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Settled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`cumulativeAmount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`deltaPaid`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newSettled`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`TopUp`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`additionalDeposit`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newDeposit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`error`,name:`AmountExceedsDeposit`,inputs:[]},{type:`error`,name:`AmountNotIncreasing`,inputs:[]},{type:`error`,name:`ChannelAlreadyExists`,inputs:[]},{type:`error`,name:`ChannelFinalized`,inputs:[]},{type:`error`,name:`ChannelNotFound`,inputs:[]},{type:`error`,name:`CloseNotReady`,inputs:[]},{type:`error`,name:`DepositOverflow`,inputs:[]},{type:`error`,name:`InvalidPayee`,inputs:[]},{type:`error`,name:`InvalidSignature`,inputs:[]},{type:`error`,name:`NotPayee`,inputs:[]},{type:`error`,name:`NotPayer`,inputs:[]},{type:`error`,name:`TransferFailed`,inputs:[]}];lm(),Ca(),Np(),ga(),fa(),Im();async function Gj(e,t,n){return Lm(e,{address:t,abi:Wj,functionName:`getChannel`,args:[n]})}pa({abi:Wj,name:`open`}),pa({abi:Wj,name:`topUp`}),R(),Ca();function Kj(e,t){return t??e}function qj(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??AA[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function Jj(e,t,n,r){return pk({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function Yj(e,t,n,r,i,a,o){let s=Kj(t,o),c=await Hj(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function Xj(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=Kj(t,n.voucherSigner),d=Nj(u),f=sp(32),p=Uj({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=Sa({abi:V,functionName:`approve`,args:[r,o]}),h=Sa({abi:Wj,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Wd(e,{account:t,calls:[{to:a,data:m},{to:r,data:h}],feeToken:a,...l?{nonceKey:`expiring`,validBefore:g}:{}});_.gas=(_.gas??0n)+5000n,l&&(_.feePayer=!0);let v=await Py(e,_),y=await Hj(e,t,{channelId:p,cumulativeAmount:s},r,c,u);return{entry:{channelId:p,salt:f,cumulativeAmount:s,escrowContract:r,chainId:c,opened:!0},payload:{action:`open`,type:`transaction`,channelId:p,transaction:v,authorizedSigner:d,cumulativeAmount:s.toString(),signature:y}}}async function Zj(e,t,n,r){try{let i=await Gj(e,t,n);if(i.deposit>0n&&!i.finalized)return{channelId:n,salt:`0x`,cumulativeAmount:i.settled,escrowContract:t,chainId:r,opened:!0}}catch{}}let Qj=q({account:Y(DD()),action:Y(fD([`open`,`topUp`,`voucher`,`close`])),channelId:Y(G()),cumulativeAmount:Y(wO()),cumulativeAmountRaw:Y(G()),transaction:Y(G()),additionalDeposit:Y(wO()),additionalDepositRaw:Y(G()),depositRaw:Y(G())});function $j(e={}){let{decimals:t=6}=e,n=DA({chain:Lw,getClient:e.getClient,rpcUrl:jA}),r=EA({account:e.account}),i=e.maxDeposit===void 0?void 0:cy(e.maxDeposit,t),a=new Map,o=new Map,s=new Map;function c(t){e.onChannelUpdate?.(t)}function l(e,t,n){return`${e.toLowerCase()}:${t.toLowerCase()}:${n.toLowerCase()}`}function u(t,n,r){if(r){let e=a.get(r);if(e)return e}return qj(t,n,e.escrowContract)}async function d(r,d,f){let p=r.request.methodDetails,m=p?.chainId??0,h=await n({chainId:m}),g=u(r,m),_=r.request.recipient,v=r.request.currency,y=BigInt(r.request.amount),b=r.request.suggestedDeposit,x=b?BigInt(b):void 0,S=(()=>{if(f?.depositRaw)return BigInt(f.depositRaw);if(e.deposit!==void 0)return cy(e.deposit,t);if(x!==void 0&&i!==void 0)return x<i?x:i;if(i!==void 0)return i;if(x!==void 0)return x;throw Error(\"No deposit amount available. Set `deposit`, `maxDeposit`, or ensure the server challenge includes `suggestedDeposit`.\")})(),ee=e.voucherSigner??d,te=l(_,v,g),C=o.get(te);if(!C){let e=f?.channelId??p?.channelId;if(e){let n=await Zj(h,g,e,m);if(n){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?cy(f.cumulativeAmount,t):void 0;e!==void 0&&(n.cumulativeAmount=e),o.set(te,n),s.set(n.channelId,te),a.set(n.channelId,g),C=n,c(C)}else if(f?.channelId)throw Error(`Channel ${f.channelId} cannot be reused (closed or not found on-chain).`)}}let w;if(C?.opened)C.cumulativeAmount+=y,w=await Yj(h,d,C.channelId,C.cumulativeAmount,g,m,ee),c(C);else{let e=await Xj(h,d,{voucherSigner:ee,escrowContract:g,payee:_,currency:v,deposit:S,initialAmount:y,chainId:m,feePayer:p?.feePayer});o.set(te,e.entry),s.set(e.entry.channelId,te),a.set(e.entry.channelId,g),w=e.payload,c(e.entry)}return Jj(r,w,m,d)}async function f(r,i,l){let d=r.request.methodDetails?.chainId??0,f=await n({chainId:d}),p=l.action,{channelId:m,transaction:h}=l,g=e.voucherSigner??i,_=m,v=l.cumulativeAmountRaw?BigInt(l.cumulativeAmountRaw):l.cumulativeAmount?cy(l.cumulativeAmount,t):void 0,y=l.additionalDepositRaw?BigInt(l.additionalDepositRaw):l.additionalDeposit?cy(l.additionalDeposit,t):void 0,b=u(r,d,_);a.set(_,b);let x;switch(p){case`open`:{if(!h)throw Error(`transaction required for open action`);if(v===void 0)throw Error(`cumulativeAmount required for open action`);let e=await Hj(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:Nj(g),cumulativeAmount:v.toString(),signature:e};break}case`topUp`:if(!h)throw Error(`transaction required for topUp action`);if(y===void 0)throw Error(`additionalDeposit required for topUp action`);x={action:`topUp`,type:`transaction`,channelId:_,transaction:h,additionalDeposit:y.toString()};break;case`voucher`:{if(v===void 0)throw Error(`cumulativeAmount required for voucher action`);x=await Yj(f,i,_,v,b,d,g);let e=s.get(_);if(e){let t=o.get(e);t&&(t.cumulativeAmount=t.cumulativeAmount>v?t.cumulativeAmount:v,c(t))}break}case`close`:{if(v===void 0)throw Error(`cumulativeAmount required for close action`);let e=await Hj(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`close`,channelId:_,cumulativeAmount:v.toString(),signature:e};let t=s.get(_);if(t){let e=o.get(t);e&&(e.opened=!1,e.cumulativeAmount=e.cumulativeAmount>v?e.cumulativeAmount:v,c(e))}break}}return Jj(r,x,d,i)}return TA(GA,{context:Qj,async createCredential({challenge:t,context:a}){let o=r(await n({chainId:t.request.methodDetails?.chainId??0}),a);if(!a?.action&&(e.deposit!==void 0||i!==void 0))return d(t,o,a);if(a?.action)return f(t,o,a);throw Error(\"No `action` in context and no `deposit` or `maxDeposit` configured. Either provide context with action/channelId/cumulativeAmount, or configure `deposit`/`maxDeposit` for auto-management.\")}})}function eM(e){let t=eb(e);return JSON.parse(t)}function tM(e){let t=`message`,n=[];for(let r of e.split(`\n`))r.startsWith(`event: `)?t=r.slice(7).trim():r.startsWith(`data: `)?n.push(r.slice(6)):r===`data:`&&n.push(``);if(n.length===0)return null;let r=n.join(`\n`);switch(t){case`message`:return{type:`message`,data:r};case`payment-need-voucher`:return{type:`payment-need-voucher`,data:JSON.parse(r)};case`payment-receipt`:return{type:`payment-receipt`,data:JSON.parse(r)};default:return{type:`message`,data:r}}}function nM(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function rM(){return JSON.stringify({mpp:`payment-close-request`})}function iM(e){try{let t=JSON.parse(e);return t.mpp===`authorization`&&typeof t.authorization==`string`?{mpp:`authorization`,authorization:t.authorization}:t.mpp===`message`&&typeof t.data==`string`?{mpp:`message`,data:t.data}:t.mpp===`payment-close-request`?{mpp:`payment-close-request`}:t.mpp===`payment-close-ready`&&aM(t.data)?{mpp:`payment-close-ready`,data:t.data}:t.mpp===`payment-error`&&typeof t.status==`number`&&typeof t.message==`string`?{mpp:`payment-error`,status:t.status,message:t.message}:t.mpp===`payment-need-voucher`&&oM(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&aM(t.data)?{mpp:`payment-receipt`,data:t.data}:null}catch{return null}}function aM(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.challengeId==`string`&&typeof t.channelId==`string`}function oM(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.channelId==`string`&&typeof t.requiredCumulative==`string`}let sM={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function cM(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:cy(e.maxDeposit,e.decimals??6),i=null,a=null,o=null,s=0n,c=null,l=null,u=null,d=null,f=null,p=null,m=null,h=0n,g=0n,_=$j({account:e.account,voucherSigner:e.voucherSigner,getClient:e.client?()=>e.client:e.getClient,escrowContract:e.escrowContract,decimals:e.decimals,maxDeposit:e.maxDeposit,onChannelUpdate(e){e.channelId!==i?.channelId&&(s=0n),i=e}}),v=qk({fetch:t,methods:[_],onChallenge:async(e,t)=>{a=e},orderChallenges:e.orderChallenges});function y(e){if(!e||e.channelId!==i?.channelId)return;b(e);let t=BigInt(e.spent);s=s>t?s:t}function b(e){if(!i||e.channelId!==i.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>i.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>i.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);re(t),re(n)}function x(e=()=>!0){if(m)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{m={predicate:e,resolve:t,reject:n}})}function S(){if(d)return Promise.resolve(d);if(f)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{f={resolve:e,reject:t}})}function ee(e){if(!m||!m.predicate(e))return;let t=m;m=null,t.resolve(e)}function te(e){if(d=e,!f)return;let t=f;f=null,t.resolve(e)}function C(e){if(!m)return;let t=m;m=null,t.reject(e)}function w(e){if(!f)return;let t=f;f=null,t.reject(e)}function ne(e,t){if(d&&d.challengeId===e.id&&d.channelId===t)return d.spent;let n=i?.channelId===t?i.cumulativeAmount:0n;if(g>0n){let e=h*g,t=s>e?s:e;return(t>n?n:t).toString()}return s.toString()}function re(e){if(r!==null&&!(e<=r))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${r}`)}function ie(e){let t=e.headers.get(`Payment-Receipt`),n=t?eM(t):null;return y(n),Object.assign(e,{receipt:n,challenge:a,channelId:i?.channelId??null,cumulative:i?.cumulativeAmount??0n})}async function ae(e,t){return o=e,ie(await v(e,t))}function oe(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`?i.once===!0:!1,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)},s=(e,a)=>{if(e===`close`){if(n)return;n=!0,i=sM.CLOSED,r=null}if(e===`open`&&(i=sM.OPEN),e===`message`&&r){r.push(a);return}let o=c[`on${e}`];typeof o==`function`&&o(a);let s=t.get(e);if(s)for(let e of Array.from(s))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&s.delete(e)},c={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,_onmessage:null,get onmessage(){return c._onmessage},set onmessage(e){if(c._onmessage=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:c}}return{get channelId(){return i?.channelId},get cumulative(){return i?.cumulativeAmount??0n},get opened(){return i?.opened??!1},async open(e){if(i?.opened)return;if(!a)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let n=e?.deposit,r=await _.createCredential({challenge:a,context:{...n!==void 0&&{depositRaw:n.toString()}}});if(!o)throw Error(`No URL available \u2014 call fetch() or sse() before open().`);let s=await t(o,{method:`POST`,headers:{Authorization:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=s.headers.get(`WWW-Authenticate`)??``;throw Error(`Open request failed with status ${s.status}${e?`: ${e}`:``}${t?` [WWW-Authenticate: ${t}]`:``}`)}},fetch:ae,async sse(e,n){let{onReceipt:r,signal:o,...s}=n??{},c=await ae(e,{...s,headers:{...Yk(s.headers),Accept:`text/event-stream`},...o?{signal:o}:{}}),l=a;if(!c.body)throw Error(`Response has no body.`);let u=c.body.getReader(),d=new TextDecoder;async function*f(){let n=``;try{for(;!o?.aborted;){let{done:a,value:o}=await u.read();if(a)break;n+=d.decode(o,{stream:!0});let s=n.split(`\n\n`);n=s.pop();for(let n of s){if(!n.trim())continue;let a=tM(n);if(a)switch(a.type){case`message`:yield a.data;break;case`payment-need-voucher`:{if(!i||!l)break;let n=BigInt(a.data.requiredCumulative);re(n),i.cumulativeAmount=i.cumulativeAmount>n?i.cumulativeAmount:n;let r=await t(e,{method:`POST`,headers:{Authorization:await _.createCredential({challenge:l,context:{action:`voucher`,channelId:i.channelId,cumulativeAmountRaw:i.cumulativeAmount.toString()}})}});if(!r.ok)throw Error(`Voucher POST failed with status ${r.status}`);break}case`payment-receipt`:y(a.data),r?.(a.data);break}}}}finally{u.releaseLock()}}return f()},async ws(r,s){if(!n)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:f,protocols:m,signal:v}=s??{},b=new URL(r.toString()),S=new URL(b.toString());S.protocol===`ws:`&&(S.protocol=`http:`),S.protocol===`wss:`&&(S.protocol=`https:`),o=S.toString();let ne=await t(S,v?{signal:v}:void 0);if(ne.status!==402)throw Error(`Expected a 402 payment challenge from ${S}, received ${ne.status} instead.`);let ie=(await lM(YO(BO(ne),[_],KO([_]).entries),s?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!ie)throw Error(`No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.`);a=ie;let ae=await _.createCredential({challenge:ie,context:{}});d=null,c=ie,h=0n,g=BigInt(ie.request.amount);let se=uk(ae);l=se.payload.channelId;let ce=new n(b,m);u=ce;let le=oe(ce),ue=e=>{C(Error(e)),w(Error(e)),(ce.readyState===sM.CONNECTING||ce.readyState===sM.OPEN)&&ce.close(3008,e)},de=e=>e.challengeId===ie.id&&e.channelId===l,fe=new Promise((e,t)=>{let n=()=>{ce.removeEventListener(`error`,r),le.emit(`open`,{type:`open`}),e()},r=()=>{ce.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${b} failed to open.`))};ce.addEventListener(`open`,n,{once:!0}),ce.addEventListener(`error`,r,{once:!0})});return ce.addEventListener(`close`,e=>{u===ce&&(u=null),c===ie&&(c=null),l===se.payload.channelId&&(l=null),p=null,C(Error(`WebSocket closed before the payment flow completed.`)),w(Error(`WebSocket closed before the payment flow completed.`)),le.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),ce.addEventListener(`error`,()=>{le.emit(`error`,{type:`error`})}),ce.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=iM(t);if(!n){le.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:h+=1n,le.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!de(n.data)){ue(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(i?.cumulativeAmount??0n)){ue(`received payment-close-ready beyond local voucher state`);break}y(n.data),f?.(n.data),te(n.data),le.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:C(Error(n.message)),w(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==l){ue(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{re(e)}catch(e){ue(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(i?.cumulativeAmount??0n)>e?i?.cumulativeAmount??0n:e;i?.channelId===l&&(i.cumulativeAmount=t);let r=await _.createCredential({challenge:ie,context:{action:`voucher`,channelId:l,cumulativeAmountRaw:t.toString()}});ce.send(nM(r));break}case`payment-receipt`:if(!de(n.data)){ue(`received mismatched payment-receipt frame`);break}if(p!==null&&n.data.txHash&&(n.data.acceptedCumulative!==p||n.data.spent!==p)){ue(`received mismatched payment-close receipt frame`);break}y(n.data),f?.(n.data),ee(n.data);break}}),v&&v.addEventListener(`abort`,()=>{C(Error(`WebSocket payment flow aborted.`)),w(Error(`WebSocket payment flow aborted.`)),ce.close()},{once:!0}),await fe,ce.send(nM(ae)),await x(),le.socket},async close(){let e=c??a,n=l??i?.channelId;if(!i?.opened)return;if(!e)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!n)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);if(u?.readyState===sM.OPEN){let t=d??await(async()=>(u.send(rM()),S()))(),r=BigInt(t.spent);if(r>(i.cumulativeAmount>s?i.cumulativeAmount:s))throw Error(`close-ready spent exceeds local voucher state`);let a=await _.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:r.toString()}}),o=r.toString();p=o;try{let t=x(t=>!!t.txHash&&t.challengeId===e.id&&t.channelId===n&&t.acceptedCumulative===o&&t.spent===o);u.send(nM(a));let r=await t;return u.close(),d=null,r}finally{p=null}}let r=await _.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:(()=>{let t=BigInt(ne(e,n));if(t>i.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return re(t),t.toString()})()}});if(!o)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let f=await t(o,{method:`POST`,headers:{Authorization:r}});if(!f.ok){let e=await f.text().catch(()=>``),t=(()=>{if(!e)return``;if(!f.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=f.headers.get(`WWW-Authenticate`)??``;throw Error(`Close request failed with status ${f.status}${t?`: ${t}`:``}${n?` [WWW-Authenticate: ${n}]`:``}`)}let m=f.headers.get(`Payment-Receipt`);return m?eM(m):void 0}}}async function lM(e,t){let n=t;return n?n(e):e}function uM(e={}){return[jj(e),$j(e)]}(function(e){e.charge=jj,e.session=cM,e.subscription=mj})(uM||={});function dM(e){let{onChallenge:t,orderChallenges:n,polyfill:r=!0,acceptPaymentPolicy:i=r&&globalThis.location!==void 0?`same-origin`:`always`,transport:a=Vk()}=e,o=e.fetch??globalThis.fetch,s=e.methods.flat(),c=KO(s,e.paymentPreferences),l=Xk(),u=t,d={acceptPayment:c,acceptPaymentPolicy:i,...e.fetch&&{fetch:e.fetch},eventDispatcher:l,...u&&{onChallenge:u},...n&&{orderChallenges:n},methods:s,transport:a},f=qk(d);r&&Jk(d);function p(e){return l.on(`challenge.received`,e)}function m(e){return l.on(`credential.created`,e)}function h(e){return l.on(`payment.failed`,e)}function g(e){return l.on(`payment.response`,e)}return{fetch:f,rawFetch:o,methods:s,transport:a,on:l.on,onChallengeReceived:p,onCredentialCreated:m,onPaymentFailed:h,onPaymentResponse:g,async createCredential(e,t,r){let i=a.getChallenges?a.getChallenges(e):[a.getChallenge(e)],o=xM(c.entries,r?.acceptPayment),u,d;try{let a=(await SM(YO(i,s,o),r?.orderChallenges??n))[0];if(!a)throw Error(`No method found for challenges: ${i.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${s.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let c=a.challenge;u=c,d=a.method,u.expires&&xO(u.expires,u.id);let f=fM(e=>CM(c,d,e??t)),p=await l.emit(`challenge.received`,pM({challenge:c,challenges:i,createCredential:f,method:d,response:e}))??await f();return hA(p),await l.emit(`credential.created`,mM({challenge:c,credential:p,method:d,response:e})),p}catch(t){throw await l.emit(`payment.failed`,hM({challenge:u,challenges:i,error:t,method:d,response:e})),t}}}}function fM(e){let t;return n=>(t??=e(n),t)}function pM(e){return Object.freeze({challenge:vM(e.challenge),challenges:e.challenges.map(e=>vM(e)),createCredential:e.createCredential,method:gM(e.method),response:_M(e.response)})}function mM(e){return Object.freeze({challenge:vM(e.challenge),credential:e.credential,method:gM(e.method),response:_M(e.response)})}function hM(e){return Object.freeze({...e.challenge?{challenge:vM(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>vM(e))}:{},error:e.error,...e.method?{method:gM(e.method)}:{},response:_M(e.response)})}function gM(e){return bM(Object.assign({},e))}function _M(e){return e instanceof Response?e.clone():vM(e)}function vM(e){try{return yM(structuredClone(e))}catch{return bM(e)}}function yM(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))yM(t);return e}function bM(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function xM(e,t){return t?typeof t==`string`?qO(t):t:e}async function SM(e,t){return t?t(e):e}async function CM(e,t,n){let r=t.context&&n!==void 0?t.context.parse(n):void 0;return t.createCredential(r===void 0?{challenge:e}:{challenge:e,context:r})}R();function wM(e,t){if(e.source!==`accessKey`)return;let{store:n}=t,r=e.accessKeyAddress,{accessKeys:i}=n.getState();return i.find(e=>e.address?.toLowerCase()===r.toLowerCase())?.keyAuthorization}async function TM(e={}){let{account:t}=e,n=await Mx();return{accessKey:OC(n,t?{access:t}:void 0),keyPair:n}}function EM(e,t){if(e.source!==`accessKey`)return;let{store:n}=t,r=e.accessKeyAddress;n.setState(e=>({accessKeys:e.accessKeys.filter(e=>e.address?.toLowerCase()!==r?.toLowerCase())}))}function DM(e,t){if(e.source!==`accessKey`)return;let{store:n}=t,r=e.accessKeyAddress;n.setState(e=>({accessKeys:e.accessKeys.map(e=>e.address.toLowerCase()===r.toLowerCase()?{...e,keyAuthorization:void 0}:e)}))}function OM(e){let{address:t,keyAuthorization:n,keyPair:r,privateKey:i,store:a}=e,o={address:n.address,access:t,expiry:n.expiry??void 0,keyAuthorization:n,keyType:n.type,limits:n.limits,scopes:n.scopes},s=i?{...o,privateKey:i}:r?{...o,keyPair:r}:{...o};a.setState(e=>({accessKeys:[s,...e.accessKeys.filter(e=>e.address.toLowerCase()!==n.address.toLowerCase())]}))}function kM(e){let{accessKey:t=!0,address:n,signable:r=!1,store:i}=e,{accessKeys:a,accounts:o,activeAccount:s}=i.getState(),c=o[s]?.address,l=n?o.find(e=>e.address===n):o.find(e=>e.address===c);if(!l)throw n?new Jb({message:`Account \"${n}\" not found.`}):new Xb({message:`No active account.`});if(t){let t=a.find(e=>e.access.toLowerCase()===l.address.toLowerCase()&&(`keyPair`in e&&!!e.keyPair||`privateKey`in e&&!!e.privateKey));if(t){if(t.expiry&&t.expiry<Date.now()/1e3)i.setState({accessKeys:a.filter(e=>e!==t)});else if(MM(t,e))return AM(t)}}return jM(l,{signable:r})}function AM(e){if(`keyPair`in e&&e.keyPair)return OC(e.keyPair,{access:e.access});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return EC(e.privateKey,{access:e.access});case`p256`:return TC(e.privateKey,{access:e.access})}throw new Jb({message:`External access key cannot be hydrated for signing.`})}function jM(e,t={}){let{signable:n=!1}=t;if(!n)return{address:e.address,type:`json-rpc`};if(`sign`in e&&typeof e.sign==`function`)return e;if(!e.keyType)throw new Jb({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return EC(e.privateKey);case`p256`:return TC(e.privateKey);case`webCrypto`:return OC(e.keyPair);case`webAuthn`:return DC(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return wC(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new Jb({message:`Unknown key type.`})}}function MM(e,t){return!t.calls||!e.scopes?!0:t.calls.every(t=>{if(!t.to)return!1;let n=t.to.toLowerCase(),r=t.data?.slice(0,10).toLowerCase();return e.scopes.some(e=>e.address.toLowerCase()===n?e.selector?r===(e.selector.startsWith(`0x`)&&e.selector.length===10?e.selector:yy(e.selector)).toLowerCase():!0:!1)})}function NM(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function PM(e={}){let{dialog:t=ee()?ae():ie(),host:n=`https://wallet.tempo.xyz/embed`,icon:r=`data:image/svg+xml,<svg width=\"269\" height=\"269\" viewBox=\"0 0 269 269\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"269\" height=\"269\" fill=\"black\"/><path d=\"M123.273 190.794H93.445L121.09 105.318H85.7334L93.445 80.2642H191.95L184.238 105.318H150.773L123.273 190.794Z\" fill=\"white\"/></svg>`,name:i=`Tempo Wallet`,rdns:a=`xyz.tempo`,theme:o}=e;return typeof window<`u`&&!window.isSecureContext&&console.warn(`[accounts] Detected insecure context (HTTP).`,`\\n\\nThe Tempo Wallet iframe dialog is not supported on HTTP origins (${window.location.origin})`,`due to lack of WebAuthn passkey support in non-secure contexts.`),NM({icon:r,name:i,rdns:a},({getAccount:e,getClient:r,store:i})=>{let a=new Set,s=ux();function c(e){return new Promise((t,n)=>{let r=o=>{let s=o.find(t=>t.request.id===e);if(!s&&o.length===0){a.delete(r),n(new qb);return}s&&(s.status!==`success`&&s.status!==`error`||(a.delete(r),s.status===`success`?t(s.result):n(new qb({message:s.error.message})),i.setState(t=>({...t,requestQueue:t.requestQueue.filter(t=>t.request.id!==e)}))))};a.add(r),r(i.getState().requestQueue)})}let l=sx({async request(e){let t=s.prepare(e);return i.setState(e=>({...e,requestQueue:[...e.requestQueue,{request:t,status:`pending`}]})),c(t.id)}},{schema:mO});async function u(e){if(!e||e.publicKey||e.address)return;let{accessKey:t,keyPair:n}=await TM();return{accessKey:t,keyPair:n,request:{...e,publicKey:t.publicKey,keyType:`p256`}}}function d(e,t,n){OM({address:e,keyAuthorization:DS(t),keyPair:n,store:i})}async function f(t){let n=(()=>{try{return e({signable:!0})}catch{return}})();if(!n||n.source!==`accessKey`)return;let r=wM(n,{store:i});try{let e=await t(n,r??void 0);return DM(n,{store:i}),e}catch(e){if((e instanceof Error?Ww(e):void 0)?.errorName===`InsufficientBalance`)return;console.warn(`[accounts] silent sign with access key failed, removing key:`,e),EM(n,{store:i});return}}let p=t({host:n,store:i,theme:o}),m=i.subscribe(e=>e.requestQueue,e=>{for(let t of a)t(e);let t=e.filter(e=>e.status===`pending`);p?.syncRequests(t),t.length===0&&p?.close()});return{cleanup(){m(),p?.destroy()},forwardsAuth:!0,actions:{async createAccount(e,t){let n=await u(e.authorizeAccessKey),{accounts:r}=await l.request({...t,params:[{...t.params?.[0],capabilities:{...t.params?.[0]?.capabilities,...n?{authorizeAccessKey:DT(nO.authorizeAccessKey,n.request)}:{}}}]}),i=r[0]?.address,a=r[0]?.capabilities.keyAuthorization;return n&&i&&a&&d(i,a,n.keyPair),{accounts:r.map(e=>({address:e.address})),...a?{keyAuthorization:a}:{},...r[0]?.capabilities.signature?{signature:r[0].capabilities.signature}:{},...r[0]?.capabilities.personalSign?{personalSign:r[0].capabilities.personalSign}:{}}},async loadAccounts(e,t){let n=await u(e?.authorizeAccessKey),{accounts:r}=await l.request({...t,params:[{...t.params?.[0],capabilities:{...t.params?.[0]?.capabilities,...n?{authorizeAccessKey:DT(nO.authorizeAccessKey,n.request)}:{}}}]}),i=r[0]?.address,a=r[0]?.capabilities.keyAuthorization;return n&&i&&a&&d(i,a,n.keyPair),{accounts:r.map(e=>({address:e.address})),...a?{keyAuthorization:a}:{},...r[0]?.capabilities.signature?{signature:r[0].capabilities.signature}:{},...r[0]?.capabilities.personalSign?{personalSign:r[0].capabilities.personalSign}:{}}},async signPersonalMessage(e,t){return await l.request(t)},async signTransaction(e,t){let n=await f(async(t,n)=>{let{feePayer:i,...a}=e,o=await Wd(r({feePayer:(()=>{if(i===!1)return!1;if(typeof i==`string`)return i})()}),{account:t,...a,...i===void 0?{}:{feePayer:!!i},keyAuthorization:n,type:`tempo`});return await t.signTransaction(o)});return n===void 0?await l.request({...t,params:[DT(zD,e)]}):n},async signTypedData(e,t){return await l.request(t)},async sendTransaction(e,t){let n=await f(async(t,n)=>{let{feePayer:i,...a}=e,o=r({feePayer:(()=>{if(i===!1)return!1;if(typeof i==`string`)return i})()}),s=await Wd(o,{account:t,...a,...i===void 0?{}:{feePayer:!!i},keyAuthorization:n,type:`tempo`}),c=await t.signTransaction(s);return await o.request({method:`eth_sendRawTransaction`,params:[c]})});return n===void 0?await l.request({...t,params:[DT(zD,e)]}):n},async sendTransactionSync(e,t){let n=await f(async(t,n)=>{let{feePayer:i,...a}=e,o=r({feePayer:(()=>{if(i===!1)return!1;if(typeof i==`string`)return i})()}),s=await Wd(o,{account:t,...a,...i===void 0?{}:{feePayer:!!i},keyAuthorization:n,type:`tempo`}),c=await t.signTransaction(s);return await o.request({method:`eth_sendRawTransactionSync`,params:[c]})});return n===void 0?await l.request({...t,params:[DT(zD,e)]}):n},async authorizeAccessKey(t,n){let r=await u(t),i=await l.request({...n,params:[DT(nO.authorizeAccessKey,r?r.request:t)]});return r&&d(e({accessKey:!1,signable:!1}).address,i.keyAuthorization,r.keyPair),i},async revokeAccessKey(e,t){await l.request(t)},async deposit(e,t){return await l.request(t)},async send(e,t){return await l.request({...t,params:[DT(oO.parameters,e)]})},async swap(e,t){return await l.request(t)},async depositZone(e,t){return await l.request({...t,params:[DT(dO.parameters,e)]})},async withdrawZone(e,t){return await l.request({...t,params:[DT(fO.parameters,e)]})},async disconnect(){i.setState({accessKeys:[],accounts:[],activeAccount:0})}}}})}let FM=new Map,IM=new WeakMap;function LM(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return zM(r);if(r?.url)return zM(r.url)}})(),c=typeof r==`object`&&r?r.precedence??`fee-payer-first`:`fee-payer-first`,l=e??a.getState().chainId,u=`${l}:${i?`p`:``}:${r===!1?`no-fp`:s??``}:${c}`,d=i??o,f=(()=>{if(!d)return FM;let e=IM.get(d);return e||(e=new Map,IM.set(d,e)),e})(),p=f.get(u);if(!p){let e=n.find(e=>e.id===l)??n[0],t=o?.[l]??Hy(),r=i?RM(i,t):t;p=lh({chain:e,transport:s?BM(r,s,c):r,pollingInterval:1e3}),f.set(u,p)}return p}function RM(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function zM(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function BM(e,t,n){return r=>{let i=e(r),a=Hy(t)(r);return{...i,async request({method:e,params:t}){let r=t;if(n===`fee-payer-first`&&e===`eth_fillTransaction`){let t=r?.[0];if(t&&typeof t==`object`&&`feePayer`in t&&(t.feePayer===!0||typeof t.feePayer==`string`))return a.request({method:e,params:[{...t,feePayer:!0}]})}if(e===`eth_sendRawTransaction`||e===`eth_sendRawTransactionSync`){let t=r?.[0];if(typeof t==`string`&&(t.startsWith(`0x76`)||t.startsWith(`0x78`))){let n=yC(t);if(`feePayerSignature`in n&&n.feePayerSignature===null){let n=await a.request({method:`eth_signRawTransaction`,params:[t]});return await i.request({method:e,params:[n]})}}}return await i.request({method:e,params:t})}}}}function VM(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(VM.cache.get(n))return VM.cache.get(n);let r=e().finally(()=>VM.cache.delete(n));return VM.cache.set(n,r),r}VM.cache=new Map;function HM(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function UM(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=HM(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let WM;function GM(){return WM||=UM(`keyval-store`,`keyval`),WM}function KM(e,t=GM()){return t(`readonly`,t=>HM(t.get(e)))}function qM(e,t,n=GM()){return n(`readwrite`,n=>(n.put(t,e),HM(n.transaction)))}function JM(e,t=GM()){return t(`readwrite`,t=>(t.delete(e),HM(t.transaction)))}function YM(e,t={}){let n=`${t.key??`tempo`}.`;return{getItem:t=>e.getItem(`${n}${t}`),setItem:(t,r)=>e.setItem(`${n}${t}`,r),removeItem:t=>e.removeItem(`${n}${t}`)}}function XM(e={}){let t=typeof indexedDB<`u`?UM(`tempo`,`store`):void 0;return YM({async getItem(e){let n=await KM(e,t);return n===null?null:n},async setItem(e,n){await qM(e,n,t)},async removeItem(e){await JM(e,t)}},e)}function ZM(e={}){let t=new Map;return YM({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e)}let QM=e=>(t,n,r)=>{let i=r.subscribe;return r.subscribe=((e,t,n)=>{let a=e;if(t){let i=n?.equalityFn||Object.is,o=e(r.getState());a=n=>{let r=e(n);if(!i(o,r)){let e=o;t(o=r,e)}},n?.fireImmediately&&t(o,o)}return i(a)}),e(t,n,r)};function $M(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}let eN=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return eN(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return eN(t)(e)}}}},tN=(e,t)=>(n,r,i)=>{let a={storage:$M(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return eN(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},nN=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},rN=(e=>e?nN(e):nN);function iN(e){let{chainId:t,maxAccounts:n,persistCredentials:r=!0,storage:i=typeof window<`u`?XM({key:`tempo`}):ZM({key:`tempo`})}=e;return rN(QM(tN(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t,requestQueue:[]}),{merge(e,t){let n=e;return{...n,...t,accounts:n.accounts?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,accessKeys:n.accessKeys??t.accessKeys,chainId:n.chainId??t.chainId}},name:`store`,partialize:e=>({accounts:n&&e.accounts.length>n?e.accounts.slice(0,n):e.accounts,activeAccount:e.activeAccount,...r?{accessKeys:e.accessKeys}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}),storage:i,version:0})))}async function aN(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}function oN(e,t){let n=TT(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new Yb({message:`Unsupported method \"${t?.method}\".`}):new Kb(-32602,`Invalid params: ${sN(n.error.issues)}`)}return{...t,_decoded:n.data}}function sN(e){return e.flatMap(e=>e.code===`invalid_union`&&e.errors.length>0?e.errors.flatMap(t=>t.map(t=>`${[...e.path,...t.path].join(`.`)}: ${t.code===`invalid_union`&&t.errors.length>0?sN([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}R(),Of();let cN=new Set;function lN(e={}){let{adapter:t=PM(),chains:n=[Lw,Rw,zw],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?XM():ZM()}=e,c=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Hy(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),l=(()=>{if(e.feePayer)return typeof e.feePayer==`string`?{precedence:`fee-payer-first`,url:e.feePayer}:{precedence:e.feePayer.precedence??`fee-payer-first`,url:e.feePayer.url}})(),u=iN({chainId:(o?n.find(e=>e.testnet)??n[n.length-1]:n[0]).id,maxAccounts:r,persistCredentials:i,storage:s}),d=(e={})=>kM({...e,store:u}),f;function p(e={}){let{chainId:t,feePayer:r}=e;return LM(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:l?.precedence}})(),store:u,transports:c})}let m=t({getAccount:d,getClient:p,storage:s,store:u}),{actions:h}=m,g=ox();u.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>g.emit(`accountsChanged`,u.getState().accounts.map(e=>e.address))),u.subscribe(e=>e.chainId,e=>g.emit(`chainChanged`,I(e))),u.subscribe(e=>e.accounts.length>0,e=>{e?g.emit(`connect`,{chainId:I(u.getState().chainId)}):g.emit(`disconnect`,new Xb)});function _(){if(u.getState().accounts.length===0)throw new Xb({message:`No accounts connected.`})}function v(e){if(!m.persistAccounts)return e;let t=[...e];for(let e of u.getState().accounts)t.some(t=>t.address.toLowerCase()===e.address.toLowerCase())||t.push(e);return t}function y(e){if(e===!1)return!1;let t=typeof e==`string`?e:l?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}let b=Object.assign(sx({...g,async request({method:t,params:r}){return await aN(u),VM(async()=>{let i;try{i=oN(gO,{method:t,params:r})}catch(e){if(!(e instanceof Yb))throw e;return await LM(void 0,{chains:n,store:u,transports:c}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:{let{accounts:e,activeAccount:t}=u.getState();if(e.length===0)return[];let n=e[t]?.address,r=e.findIndex(e=>e.address===n),i=[...e];if(r>=0){let[e]=i.splice(r,1);return[e.address,...i.map(e=>e.address)]}return i.map(e=>e.address)}case`eth_chainId`:return I(u.getState().chainId);case`eth_requestAccounts`:{let{accounts:e}=await h.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return u.setState({accounts:v(e),activeAccount:0}),e.map(e=>e.address)}case`eth_sendTransaction`:{_();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0);return await h.sendTransaction({...r,chainId:e.chainId??u.getState().chainId,...a?{calls:a}:{},feePayer:y(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=t.chainId,r=y(t.feePayer),a=e=>{let t=p({chainId:n,feePayer:r}),i={...e,chainId:e.chainId??t.chain?.id,...r?{feePayer:!0}:{}},a=t.chain?.formatters?.transactionRequest,o=a&&!i.keyAuthorization?a.format({...i},`fillTransaction`):i;return t.request({method:`eth_fillTransaction`,params:[o]})};if(!t.keyAuthorization){let e=(()=>{try{return d({signable:!0})}catch{return}})();if(e?.source===`accessKey`){let n=wM(e,{store:u});if(n)try{let r=await a({...t,keyAuthorization:{address:n.address,...NS(n)}});return DM(e,{store:u}),r}catch{return EM(e,{store:u}),await a(t)}}}return await a(t)}case`eth_signTransaction`:{_();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0);return await h.signTransaction({...r,chainId:e.chainId??u.getState().chainId,...a?{calls:a}:{},feePayer:y(e.feePayer)},i)}case`eth_sendTransactionSync`:{_();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0);return await h.sendTransactionSync({...r,chainId:e.chainId??u.getState().chainId,...a?{calls:a}:{},feePayer:y(e.feePayer)},i)}case`eth_signTypedData_v4`:{_();let[e,t]=i._decoded.params;return await h.signTypedData({address:e,data:t},i)}case`personal_sign`:{_();let[e,t]=i._decoded.params;return await h.signPersonalMessage({address:t,data:e},i)}case`wallet_sendCalls`:{_();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=y(t?.feePayer??(l?!0:void 0)),s={calls:e,chainId:n,from:r,...o?{feePayer:o}:{}};if(!a){let e=P(await h.sendTransaction(s,{method:`eth_sendTransaction`,params:[DT(zD,s)]}),ap(I(u.getState().chainId),32),dN);return{capabilities:{sync:a},id:e}}let c=await h.sendTransactionSync(s,{method:`eth_sendTransactionSync`,params:[DT(zD,s)]}),d=c.transactionHash,f=I(u.getState().chainId),p=P(d,ap(f,32),dN);return{atomic:!0,capabilities:{sync:a},chainId:f,id:p,receipts:[c],status:c.status===`0x1`?200:500,version:`2.0.0`}}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=u.getState(),a=e?.account??t[r]?.address;if(!a)throw new Xb({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new Ub({message:\"`tokens` is required.\"});let s=LM(e?.chainId,{chains:n,store:u,transports:c});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([mw(s,{account:a,token:e}),hw(s,{token:e})]),r=Number(t)/10**n.decimals,i=new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(r);return{address:e,balance:I(t),decimals:n.decimals,display:i,name:n.name,symbol:n.symbol}}))}case`wallet_getCallsStatus`:{let[e]=i._decoded.params??[];if(!e)throw Error(\"`id` not found\");if(!e.endsWith(dN.slice(2)))throw Error(\"`id` not supported\");tp(e);let t=L(e,0,32),r=I(Number(L(e,32,64))),a=await LM(Number(r),{chains:n,store:u,transports:c}).request({method:`eth_getTransactionReceipt`,params:[t]});return{atomic:!0,chainId:r,id:e,receipts:a?[a]:[],status:a?a.status===`0x1`?200:500:100,version:`2.0.0`}}case`wallet_getCapabilities`:{let e=i._decoded.params,t=e?.[0],r=e?.[1];if(t){let{accounts:e}=u.getState();if(!e.some(e=>e.address.toLowerCase()===t.toLowerCase()))throw new Jb({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(I(e.id))):n,o={};for(let e of a)o[I(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...l?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&u.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??e.authorizeAccessKey?.(),a=n?.auth??e.auth,o=a?mN(a):void 0;if(o&&n?.personalSign)throw new Ub({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});o&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,auth:o}}]});let s=o&&!m.forwardsAuth?await gN(o,t??u.getState().chainId??0):void 0,c=s?{message:s.message}:n?.personalSign,{keyAuthorization:l,accounts:d,email:f,personalSign:p,signature:g,username:_}=await(async()=>{if(n?.method===`register`){let e=n.name?u.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await h.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:r,...c?{personalSign:c}:{}},i):await h.createAccount({digest:n.digest,authorizeAccessKey:r,name:n.name??`default`,userId:n.userId??sp(16),...c?{personalSign:c}:{}},i)}return await h.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:r,selectAccount:n?.selectAccount,...c?{personalSign:c}:{}},i)})();u.setState({accounts:v(d),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let y=d[0]?.address,b=o&&typeof o==`object`?o.verify:void 0,x=s?.message??p?.message,S=o&&b&&x&&g&&y?await _N(o,{address:y,message:x,signature:g}):void 0;return{accounts:d.map(e=>({address:e.address,capabilities:e.address===y?{...l?{keyAuthorization:{...l,address:l.keyId}}:{},...g?{signature:g}:{},...f===void 0?{}:{email:f},..._===void 0?{}:{username:_},...S?{auth:S}:{},...p?{personalSign:{message:p.message}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=u.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=mN(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await h.disconnect?.(),u.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0});return}case`wallet_authorizeAccessKey`:{if(!h.authorizeAccessKey)throw new Yb({message:\"`authorizeAccessKey` not supported by adapter.\"});let e=i._decoded.params[0],t=await h.authorizeAccessKey(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{if(_(),!h.revokeAccessKey)throw new Yb({message:\"`revokeAccessKey` not supported by adapter.\"});let[e]=i._decoded.params;await h.revokeAccessKey({...e},i);return}case`wallet_deposit`:if(!h.deposit)throw new Yb({message:\"`deposit` not supported by adapter.\"});return await h.deposit(i._decoded.params[0],i);case`wallet_send`:{if(_(),!h.send)throw new Yb({message:\"`send` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:y(e.feePayer)}};return await h.send(t,i)}case`wallet_swap`:if(_(),!h.swap)throw new Yb({message:\"`swap` not supported by adapter.\"});return await h.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(_(),!h.depositZone)throw new Yb({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:y(e.feePayer)}};return await h.depositZone(t,i)}case`wallet_withdrawZone`:if(_(),!h.withdrawZone)throw new Yb({message:\"`withdrawZone` not supported by adapter.\"});return await h.withdrawZone(i._decoded.params?.[0]??{},i);case`wallet_switchEthereumChain`:{let{chainId:e}=i._decoded.params[0];if(!n.some(t=>t.id===e))throw new ex({message:`Chain ${e} not configured.`});await h.switchChain?.({chainId:e}),u.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:Ef({method:t,params:r})})}},{schema:mO}),{chains:n,getAccount:d,getClient(e={}){let{chainId:t,feePayer:r}=e;return LM(t,{chains:n,feePayer:r,provider:f,store:u,transports:c})},store:u});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;cN.has(e)||(cN.add(e),_O({info:{icon:t.icon??uN,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:b}))}if(e.mpp){let{mode:t=`push`}=typeof e.mpp==`object`?e.mpp:{};dM({methods:[uM({getClient:({chainId:e})=>{let t=b.getClient({chainId:e}),n=b.getAccount();return Object.assign(t,{account:n})},mode:t})]})}return f=b,b}let uN=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,dN=Jg(ip(`TEMPO_5792`));function fN(){return typeof document<`u`&&typeof document.cookie==`string`||typeof navigator<`u`&&navigator.product===`ReactNative`}function pN(e,t){let n=(()=>{if(typeof e==`string`){let n=e.endsWith(`/`)?e.slice(0,-1):e;return t===`verify`?n:`${n}/${t}`}let n=e[t];if(n)return n;if(e.url){let n=e.url.endsWith(`/`)?e.url.slice(0,-1):e.url;return t===`verify`?n:`${n}/${t}`}throw new Ub({message:`\\`auth\\` capability must include either \\`url\\` or an explicit \\`${t}\\` endpoint.`})})();return n.startsWith(`http://`)||n.startsWith(`https://`)?n:typeof window<`u`?new URL(n,window.location.origin).href:n}function mN(e){let t=typeof e==`string`||!!e.url,n=t||typeof e==`object`&&!!e.challenge,r=t||typeof e==`object`&&!!e.verify,i=t||typeof e==`object`&&!!e.logout,a={...n?{challenge:pN(e,`challenge`)}:{},...r?{verify:pN(e,`verify`)}:{},...i?{logout:pN(e,`logout`)}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return hN(a),a}function hN(e){if(typeof e!=`object`)return;let t=[e.challenge,e.verify,e.logout].filter(e=>typeof e==`string`);if(t.length<2)return;let n=t.map(e=>{try{return new URL(e).origin}catch{throw new Ub({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),r=n[0];if(n.some(e=>e!==r))throw new Ub({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}async function gN(e,t){let n=typeof e==`object`?e.challenge:pN(e,`challenge`),r=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t})});if(!r.ok)throw new Ub({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${r.status}.`});let i=await r.json().catch(()=>({}));if(!i.message)throw new Ub({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});let a=Ay(i.message),o=new URL(n);if(a.version!==`1`)throw new Ub({message:`Server Authentication challenge endpoint \\`${n}\\` returned a non-SIWE-v1 message.`});if(!a.nonce)throw new Ub({message:`Server Authentication challenge endpoint \\`${n}\\` response is missing a \\`nonce\\`.`});if(a.domain!==o.host)throw new Ub({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to \\`${a.domain}\\` (expected \\`${o.host}\\`).`});if(a.uri!==o.origin)throw new Ub({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message with \\`uri\\` \\`${a.uri}\\` (expected \\`${o.origin}\\`).`});if(a.chainId!==t)throw new Ub({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to chainId \\`${a.chainId}\\` (expected \\`${t}\\`).`});return{message:i.message}}async function _N(e,t){let n=typeof e==`object`?e.verify:pN(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!fN(),i=await fetch(n,{method:`POST`,credentials:`include`,headers:{\"content-type\":`application/json`},body:JSON.stringify({...t,...r?{returnToken:!0}:{}})});if(!i.ok)throw new Wb({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return a.token?{token:a.token}:{}}let vN={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},yN={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},bN={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var xN=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let SN={accent:new xN(`accent`),background:new xN(`background`),border:new xN(`border`),foreground:new xN(`foreground`),muted:new xN(`muted`),negative:new xN(`negative`),positive:new xN(`positive`),surface:new xN(`surface`),fontFamily:new xN(`font-family`),fontSizeBase:new xN(`font-size-base`),radius:new xN(`radius`),spacingUnit:new xN(`spacing-unit`)};String.raw`<style>\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n border-color: ${SN.border};\n }\n html,\n :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n -webkit-tap-highlight-color: transparent;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp,\n pre {\n font-family:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',\n monospace;\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n ol,\n ul,\n menu {\n list-style: none;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n vertical-align: middle;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n button,\n input,\n select,\n optgroup,\n textarea,\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button,\n input:where([type='button'], [type='reset'], [type='submit']),\n ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden='until-found'])) {\n display: none !important;\n }\n</style>`;async function CN(e){let t=new URL(location.href);t.searchParams.set(yN.serviceWorker,``);let n=await navigator.serviceWorker.register(t.pathname+t.search),r=await new Promise(e=>{let t=n.installing??n.waiting??n.active;if(t?.state===`activated`)return e(t);let r=t??n;r.addEventListener(`statechange`,function t(){let i=n.active;i?.state===`activated`&&(r.removeEventListener(`statechange`,t),e(i))})});await new Promise(t=>{let n=new MessageChannel;n.port1.onmessage=()=>t(),r.postMessage({credential:e},[n.port2])}),location.reload()}Of();function wN(e){let t=document.getElementById(vN.data),n=Tf(t.textContent),r=t.getAttribute(bN.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(bN.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(bN.challengeId),o=a?(i.removeAttribute(bN.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(vN.error)?.remove();return}let t=document.getElementById(vN.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=vN.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:CN,vars:SN}}let TN=wN(`tempo`),EN=String.raw,DN=document.createElement(`style`);DN.textContent=EN`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${TN.vars.spacingUnit} * 8);\n }\n button {\n background: ${TN.vars.accent};\n border-radius: ${TN.vars.radius};\n color: ${TN.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${TN.vars.spacingUnit} * 4) calc(${TN.vars.spacingUnit} * 8);\n width: 100%;\n }\n button:hover:not(:disabled) {\n opacity: 0.85;\n }\n button:disabled {\n cursor: default;\n opacity: 0.5;\n }\n button svg {\n display: inline;\n fill: currentColor;\n height: 0.85em;\n transform: translateY(0.05em);\n vertical-align: baseline;\n width: auto;\n }\n`,TN.root.append(DN);let ON=lN({testnet:TN.challenge.request.methodDetails?.chainId===Rw.id||TN.challenge.request.methodDetails?.chainId===Bw.id}),kN=document.createElement(`button`);kN.innerHTML=`${TN.text.pay===`Pay`?`Continue with`:TN.text.pay} <svg aria-label=\"Tempo\" viewBox=\"0 0 107 25\" role=\"img\"><path d=\"M8.10464 23.7163H1.82475L7.64513 5.79356H0.201172L1.82475 0.540352H22.5637L20.9401 5.79356H13.8944L8.10464 23.7163Z\"></path><path d=\"M31.474 23.7163H16.5861L24.0607 0.540352H38.8873L37.4782 4.95923H28.8701L27.3078 9.93433H35.6402L34.231 14.2914H25.8681L24.3057 19.2974H32.8525L31.474 23.7163Z\"></path><path d=\"M38.2124 23.7163H33.2192L40.7244 0.540352H49.0567L48.781 13.0245L56.8989 0.540352H66.0277L58.5531 23.7163H52.3039L57.3584 7.86395L46.9736 23.7163H43.267L43.4201 7.80214L38.2124 23.7163Z\"></path><path d=\"M73.057 4.83563L70.6369 12.3137H71.3108C72.8425 12.3137 74.1189 11.9532 75.14 11.2322C76.1612 10.4906 76.8249 9.43991 77.1312 8.08025C77.3967 6.90601 77.2538 6.07167 76.7023 5.57725C76.1509 5.08284 75.2319 4.83563 73.9453 4.83563H73.057ZM66.9915 23.7163H60.7116L68.1862 0.540352H75.814C77.5703 0.540352 79.0816 0.828764 80.3478 1.40559C81.6344 1.96181 82.5738 2.76524 83.166 3.81588C83.7787 4.84592 83.9829 6.05107 83.7787 7.43133C83.5132 9.2442 82.8189 10.8408 81.6956 12.221C80.5724 13.6013 79.1122 14.6725 77.315 15.4347C75.5383 16.1764 73.5471 16.5472 71.3415 16.5472H69.289L66.9915 23.7163Z\"></path><path d=\"M98.747 22.233C96.664 23.4691 94.4481 24.0871 92.0996 24.0871H92.0383C89.9552 24.0871 88.1989 23.6236 86.7693 22.6965C85.3602 21.7489 84.3493 20.4717 83.7366 18.8648C83.1443 17.2579 83.0014 15.4966 83.3077 13.5807C83.6957 11.1704 84.5841 8.94549 85.9728 6.90601C87.3616 4.86653 89.0975 3.23906 91.1805 2.02361C93.2636 0.808164 95.4897 0.200439 97.8587 0.200439H97.9199C100.085 0.200439 101.872 0.663958 103.281 1.591C104.71 2.51803 105.701 3.78498 106.252 5.39185C106.824 6.97811 106.947 8.76008 106.62 10.7378C106.232 13.0657 105.343 15.2596 103.955 17.3197C102.566 19.3592 100.83 20.997 98.747 22.233ZM90.0777 18.2468C90.6292 19.2974 91.589 19.8227 92.9573 19.8227H93.0186C94.1418 19.8227 95.1833 19.4004 96.1432 18.5558C97.1235 17.6905 97.9506 16.5369 98.6245 15.0948C99.3189 13.6528 99.8294 12.0459 100.156 10.2742C100.463 8.54377 100.34 7.15322 99.7886 6.10257C99.2372 5.03133 98.2875 4.49571 96.9397 4.49571H96.8784C95.8369 4.49571 94.826 4.92833 93.8457 5.79356C92.8858 6.6588 92.0485 7.82274 91.3337 9.2854C90.6189 10.7481 90.0982 12.3343 89.7714 14.0442C89.4446 15.7747 89.5468 17.1755 90.0777 18.2468Z\"></path></svg>`,kN.onclick=async()=>{try{TN.error(),kN.disabled=!0;let e=await(async()=>{let e=await ON.request({method:`eth_accounts`});return e.length>0?e.at(0):(await ON.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await uM({account:e,getClient:e=>{let t=e.chainId??TN.challenge.request.methodDetails?.chainId;return lh({chain:[...ON?.chains??[],Rw,Bw].find(e=>e.id===t),transport:Ly(ON)})}})[0].createCredential({challenge:TN.challenge,context:{}});await TN.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;TN.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{kN.disabled=!1}},TN.root.appendChild(kN)})();</script>";
|
|
1
|
+
export declare const html = "<script>(function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));function d(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}let f=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function p(e){return e}function m(e,t={}){let{targetOrigin:n}=t,r=new Map;return p({destroy(){for(let t of r.values())e.removeEventListener(`message`,t);r.clear()},on(t,i,a){function o(e){e.data.topic===t&&(a&&e.data.id!==a||n&&e.origin!==n||i(e.data.payload,e))}return e.addEventListener(`message`,o),r.set(t,o),()=>{e.removeEventListener(`message`,o),r.delete(t)}},async send(t,r,i){let a=crypto.randomUUID();return e.postMessage(_({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function h(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=g();t.on(`ready`,e=>a.resolve(e??{}));let o=p({destroy(){t.destroy(),n.destroy(),i&&a.reject()},on(e,n,r){return t.on(e,n,r)},async send(e,t){return i=!0,r&&await a.promise.finally(()=>i=!1),n.send(e,t)}});return{...o,ready(e){o.send(`ready`,e??{})},waitForReady(){return a.promise}}}function g(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function _(e){if(Array.isArray(e))return e.map(_);if(typeof e==`function`)return;if(typeof e!=`object`||!e)return e;if(Object.getPrototypeOf(e)!==Object.prototype)try{return structuredClone(e)}catch{return}let t={};for(let[n,r]of Object.entries(e))t[n]=_(r);return t}function v(e,t,n){return n&&y(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function y(e,t){return b(e)===b(t)}function b(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function x(e,t){t&&(t.accent&&e.searchParams.set(`accent`,t.accent),t.radius&&e.searchParams.set(`radius`,t.radius),t.scheme&&e.searchParams.set(`scheme`,t.scheme))}let S={height:440,width:360};function C(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function ee(){return typeof window>`u`?!1:window.location.protocol===`http:`?!0:!window.isSecureContext}function te(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let ne,re,ie,ae=[];function oe(){return typeof window>`u`?ce():C({name:`iframe`},e=>{let{host:t}=e;if(ne&&ne.host===t){let t=re;return re=e.store,t&&t!==re&&!ae.includes(t)&&ae.push(t),ie?.destroy(),ie=se()(e),ne.instance.syncTheme(e.theme),ne.instance}ne?.instance.destroy(),re=e.store,ie=se()(e);let n=!1,r=me(),i=new URL(t);i.searchParams.set(`chainId`,String(re.getState().chainId)),i.searchParams.set(`mode`,`iframe`),r.icon&&(typeof r.icon==`string`?i.searchParams.set(`icon`,r.icon):(i.searchParams.set(`icon`,r.icon.light),i.searchParams.set(`iconDark`,r.icon.dark))),x(i,e.theme);let a=document.createElement(`dialog`);a.dataset.tempoWallet=``,a.setAttribute(`role`,`dialog`),a.setAttribute(`aria-closed`,`true`),a.setAttribute(`aria-label`,`Tempo Wallet`),a.setAttribute(`hidden`,`until-found`),Object.assign(a.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`});let o=document.createElement(`iframe`);o.dataset.testid=`tempo-wallet`,o.setAttribute(`allow`,[`publickey-credentials-get ${i.origin}`,`publickey-credentials-create ${i.origin}`,`clipboard-write`,`payment`].join(`; `)),o.setAttribute(`allowtransparency`,`true`),o.setAttribute(`tabindex`,`0`),o.setAttribute(`title`,`Tempo Wallet`),o.src=i.toString(),Object.assign(o.style,{backgroundColor:`transparent`,border:`0`,colorScheme:e.theme?.scheme??`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let s=document.createElement(`style`);s.innerHTML=`\n dialog[data-tempo-wallet]::backdrop {\n background: transparent!important;\n }\n `,a.appendChild(s),a.appendChild(o);let c,l=!1;function u(){c=void 0;let e=h({from:m(window,{targetOrigin:i.origin}),to:m(o.contentWindow,{targetOrigin:i.origin}),waitForReady:!0});return e.on(`rpc-response`,e=>{ue(le(re,ae,e.id),e)}),e.waitForReady().then(t=>{c=t,t.colorScheme&&(o.style.colorScheme=t.colorScheme),fe(e)}),e.on(`sync`,({valid:e})=>{e===!1&&re?.setState({accessKeys:[],accounts:[],activeAccount:0})}),e.on(`switch-mode`,()=>{ce(),S(),n=!1,l=!0;let e=re?.getState().requestQueue.filter(e=>e.status===`pending`);e&&e.length>0&&ie?.syncRequests(e)}),e}document.body.appendChild(a);let d=u();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===a){document.body.appendChild(a),d.destroy(),d=u();return}}).observe(document.body,{childList:!0});let p=``,g=null,_=()=>de(re),y=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&a.removeAttribute(`inert`)});y.observe(a,{attributeOldValue:!0,attributes:!0});let b=!1,S=()=>{b&&(b=!1,a.removeEventListener(`cancel`,_),a.removeEventListener(`click`,_),a.style.pointerEvents=`none`,g?.focus(),g=null,document.body.style.overflow=p)},C=()=>{b||(b=!0,a.addEventListener(`cancel`,_),a.addEventListener(`click`,_),o.focus(),a.style.pointerEvents=`auto`,p=document.body.style.overflow,document.body.style.overflow=`hidden`)},ee=!1,oe=()=>{ee||(ee=!0,document.activeElement instanceof HTMLElement&&(g=document.activeElement),a.removeAttribute(`hidden`),a.removeAttribute(`aria-closed`),a.showModal())},ce=()=>{if(ee){ee=!1,a.setAttribute(`hidden`,`true`),a.setAttribute(`aria-closed`,`true`),a.close();for(let e of a.parentNode?Array.from(a.parentNode.children):[])e!==a&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}},he={close(){ie.close(),n=!1,ce(),S()},destroy(){ne?.instance===he&&(ne=void 0),ie?.close(),n=!1,S(),ce(),ie?.destroy(),d.destroy(),a.remove(),y.disconnect(),re=void 0,ie=void 0,ae=[]},open(){n||(n=!0,oe(),C())},async syncRequests(e){if(l){ie.syncRequests(e);return}let{trustedHosts:t}=c??await d.waitForReady();if(te()&&e.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){ie.syncRequests(e);return}let r=f(),a=window.location.hostname.replace(/^www\\./,``),o=!!(t&&v(t,a,i.hostname));if(!(r||o))console.warn([`[accounts] Browser does not support IntersectionObserver v2 and \"${window.location.hostname}\" is not a trusted host.`,`Falling back to popup dialog.`,``,`To enable the iframe dialog, add your hostname to the trusted hosts list.`].join(`\n`)),ie.syncRequests(e);else{let t=e.some(e=>e.status===`pending`);!n&&t&&this.open(),d.send(`rpc-requests`,{account:pe(re),chainId:re.getState().chainId,requests:e})}},syncTheme(e){o.style.colorScheme=e?.scheme??`light dark`,d.send(`theme`,e??{})}};return ne={host:t,instance:he},he})}function se(e={}){if(typeof window>`u`)return ce();let{size:t=S}=e;return C({name:`popup`},e=>{let{host:n,store:r}=e,i=null,a=(()=>{let e=setInterval(()=>{i?.closed&&de(r)},100);return()=>clearInterval(e)})(),o,s=document.createElement(`div`);Object.assign(s.style,{alignItems:`center`,background:`rgba(0, 0, 0, 0.5)`,color:`white`,display:`none`,flexDirection:`column`,fontFamily:`system-ui, sans-serif`,fontSize:`16px`,gap:`12px`,inset:`0`,justifyContent:`center`,position:`fixed`,zIndex:`2147483647`});let c=document.createElement(`p`);Object.assign(c.style,{margin:`0`}),c.textContent=`Continue in the popup window`;let l=document.createElement(`button`);return Object.assign(l.style,{background:`none`,border:`none`,color:`white`,cursor:`pointer`,font:`inherit`,padding:`0`,textDecoration:`underline`}),l.textContent=`Close`,l.addEventListener(`click`,()=>de(r)),s.appendChild(c),s.appendChild(l),document.body.appendChild(s),{close(){s.style.display=`none`,i&&=(i.close(),null)},destroy(){this.close(),o?.destroy(),a(),s.remove()},open(){o?.destroy(),i?.close();let a=me(),c=new URL(n);c.searchParams.set(`chainId`,String(r.getState().chainId)),c.searchParams.set(`mode`,`popup`),a.icon&&(typeof a.icon==`string`?c.searchParams.set(`icon`,a.icon):(c.searchParams.set(`icon`,a.icon.light),c.searchParams.set(`iconDark`,a.icon.dark))),x(c,e.theme);let l=(window.innerWidth-t.width)/2+window.screenX,u=window.screenY+100;if(i=window.open(c.toString(),`_blank`,`width=${t.width},height=${t.height},left=${l},top=${u}`),!i)throw Error(`Failed to open popup`);o=h({from:m(window,{targetOrigin:c.origin}),to:m(i,{targetOrigin:c.origin}),waitForReady:!0}),o.on(`rpc-response`,e=>ue(r,e)),s.style.display=`flex`},async syncRequests(e){e.some(e=>e.status===`pending`)&&(!i||i.closed?this.open():i.focus()),o?.send(`rpc-requests`,{account:pe(r),chainId:r.getState().chainId,requests:e})},syncTheme(){}}})}function ce(){return C({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function le(e,t,n){if(e.getState().requestQueue.some(e=>e.request.id===n))return e;for(let e of t)if(e.getState().requestQueue.some(e=>e.request.id===n))return e;return e}function ue(e,t){e.setState(e=>({...e,requestQueue:e.requestQueue.map(e=>e.request.id===t.id?t.error?{request:e.request,error:t.error,status:`error`}:{request:e.request,result:t.result,status:`success`}:e)}))}function de(e){e.setState(e=>({...e,requestQueue:e.requestQueue.map(e=>e.status===`pending`?{request:e.request,error:{code:4001,message:`User rejected the request.`},status:`error`}:e)}))}function fe(e){if(!re)return;let{accounts:t}=re.getState();t.length!==0&&e.send(`sync`,{addresses:t.map(e=>e.address)})}function pe(e){let{accounts:t,activeAccount:n}=e.getState(),r=t[n];if(r)return{address:r.address}}function me(){return{icon:(()=>{let e=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: dark)\"]`),t=document.querySelector(`link[rel~=\"icon\"][media=\"(prefers-color-scheme: light)\"]`)??document.querySelector(`link[rel~=\"icon\"]`);return e?.href&&t?.href&&e.href!==t.href?{dark:e.href,light:t.href}:(window.matchMedia(`(prefers-color-scheme: dark)`).matches?e?.href:t?.href)??t?.href})(),title:document.title}}var he,ge=o((()=>{he=`1.2.3`})),_e,ve=o((()=>{ge(),_e=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${he}`].join(`\n`);super(a),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=i,this.metaMessages=n.metaMessages,this.shortMessage=t}}}));function ye(e,t){return e.exec(t)?.groups}var be,xe,Se,Ce=o((()=>{be=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,xe=/^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)?$/,Se=/^\\(.+?\\).*?$/}));function we(e){let t=e.type;if(Te.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=we(i),r<n-1&&(t+=`, `)}let r=ye(Te,e.type);return t+=`)${r?.array||``}`,we({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var Te,Ee=o((()=>{Ce(),Te=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function De(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=we(i),r!==n-1&&(t+=`, `)}return t}var Oe=o((()=>{Ee()}));function ke(e){return e.type===`function`?`function ${e.name}(${De(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${De(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${De(e.inputs)})`:e.type===`error`?`error ${e.name}(${De(e.inputs)})`:e.type===`constructor`?`constructor(${De(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var Ae=o((()=>{Oe()}));function je(e){return We.test(e)}function Me(e){return ye(We,e)}function Ne(e){return Ge.test(e)}function Pe(e){return ye(Ge,e)}function Fe(e){return Ke.test(e)}function Ie(e){return ye(Ke,e)}function Le(e){return qe.test(e)}function Re(e){return ye(qe,e)}function ze(e){return Je.test(e)}function Be(e){return ye(Je,e)}function Ve(e){return Ye.test(e)}function He(e){return ye(Ye,e)}function Ue(e){return Xe.test(e)}var We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe,$e=o((()=>{Ce(),We=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ge=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ke=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,qe=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Je=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Ye=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,Xe=/^receive\\(\\) external payable$/,Ze=new Set([`indexed`]),Qe=new Set([`calldata`,`memory`,`storage`])})),et,tt,nt=o((()=>{ve(),et=class extends _e{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`})}},tt=class extends _e{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`})}}})),rt,it,at,ot,st,ct=o((()=>{ve(),rt=class extends _e{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},it=class extends _e{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`})}},at=class extends _e{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`})}},ot=class extends _e{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`})}},st=class extends _e{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`})}}})),lt,ut,dt,ft=o((()=>{ve(),lt=class extends _e{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},ut=class extends _e{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},dt=class extends _e{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`})}}})),pt,mt=o((()=>{ve(),pt=class extends _e{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`})}}})),ht,gt=o((()=>{ve(),ht=class extends _e{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`})}}}));function _t(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}var vt,yt=o((()=>{vt=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 bt(e,t={}){if(Fe(e))return xt(e,t);if(Ne(e))return St(e,t);if(je(e))return Ct(e,t);if(ze(e))return wt(e,t);if(Ve(e))return Tt(e);if(Ue(e))return{type:`receive`,stateMutability:`payable`};throw new ut({signature:e})}function xt(e,t={}){let n=Ie(e);if(!n)throw new lt({signature:e,type:`function`});let r=Dt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Et(r[e],{modifiers:Qe,structs:t,type:`function`}));let o=[];if(n.returns){let e=Dt(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(Et(e[n],{modifiers:Qe,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function St(e,t={}){let n=Pe(e);if(!n)throw new lt({signature:e,type:`event`});let r=Dt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Et(r[e],{modifiers:Ze,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function Ct(e,t={}){let n=Me(e);if(!n)throw new lt({signature:e,type:`error`});let r=Dt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Et(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function wt(e,t={}){let n=Be(e);if(!n)throw new lt({signature:e,type:`constructor`});let r=Dt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Et(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function Tt(e){let t=He(e);if(!t)throw new lt({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function Et(e,t){let n=_t(e,t?.type,t?.structs);if(vt.has(n))return vt.get(n);let r=Se.test(e),i=ye(r?Mt:jt,e);if(!i)throw new rt({param:e});if(i.name&&kt(i.name))throw new it({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=Dt(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(Et(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(Nt.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!Ot(c))throw new tt({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new at({param:e,type:t?.type,modifier:i.modifier});if(Qe.has(i.modifier)&&!At(c,!!i.array))throw new ot({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return vt.set(n,u),u}function Dt(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?Dt(o,[...t,n.trim()]):Dt(o,t,`${n}${i}`,r);case`(`:return Dt(o,t,`${n}${i}`,r+1);case`)`:return Dt(o,t,`${n}${i}`,r-1);default:return Dt(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new ht({current:n,depth:r});return t.push(n.trim()),t}function Ot(e){return e===`address`||e===`bool`||e===`function`||e===`string`||be.test(e)||xe.test(e)}function kt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||be.test(e)||xe.test(e)||Pt.test(e)}function At(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var jt,Mt,Nt,Pt,Ft=o((()=>{Ce(),nt(),ct(),ft(),gt(),yt(),$e(),jt=/^(?<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$_]*))?$/,Mt=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Nt=/^u?int$/,Pt=/^(?: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 It(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Le(n))continue;let i=Re(n);if(!i)throw new lt({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=Et(t,{type:`struct`});o.push(n)}if(!o.length)throw new dt({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=Lt(a,t)}return r}function Lt(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Se.test(i.type))r.push(i);else{let e=ye(Rt,i.type);if(!e?.type)throw new st({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new pt({type:o});r.push({...i,type:`tuple${a??``}`,components:Lt(t[o],t,new Set([...n,o]))})}else if(Ot(o))r.push(i);else throw new et({type:o})}}return r}var Rt,zt=o((()=>{Ce(),nt(),ct(),ft(),mt(),$e(),Ft(),Rt=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function Bt(e){let t=It(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];Le(r)||n.push(bt(r,t))}return n}var Vt=o((()=>{$e(),zt(),Ft()})),Ht=o((()=>{ve(),Ae(),Ee(),Oe(),Vt(),nt(),$e(),zt(),Ft(),ct(),ft(),gt(),mt()}));function w(e,t,n){let r=e[t.name];if(typeof r==`function`)return r;let i=e[n];return typeof i==`function`?i:n=>t(e,n)}function Ut(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new Cn(e.type);return`${e.name}(${Wt(e.inputs,{includeName:t})})`}function Wt(e,{includeName:t=!1}={}){return e?e.map(e=>Gt(e,{includeName:t})).join(t?`, `:`,`):``}function Gt(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${Wt(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var Kt=o((()=>{wn()}));function T(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var qt=o((()=>{}));function Jt(e){return T(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Yt=o((()=>{qt()})),Xt,Zt=o((()=>{Xt=`2.51.3`}));function Qt(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Qt(e.cause,t):t?null:e}var $t,E,D=o((()=>{Zt(),$t={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Xt}`},E=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=$t.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...$t.version?[`Version: ${$t.version}`]:[]].join(`\n`);super(o,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=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Xt}walk(e){return Qt(this,e)}}})),en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn,wn=o((()=>{Kt(),Yt(),D(),en=class extends E{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`})}},tn=class extends E{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`})}},nn=class extends E{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${Wt(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}},rn=class extends E{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},an=class extends E{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`})}},on=class extends E{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Jt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},sn=class extends E{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},cn=class extends E{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`})}},ln=class extends E{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`})}},un=class extends E{constructor(e,{docsPath:t,cause:n}){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://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiErrorSignatureNotFoundError`,cause:n}),Object.defineProperty(this,\"signature\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=e}},dn=class extends E{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},fn=class extends E{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://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiEventSignatureNotFoundError`})}},pn=class extends E{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`})}},mn=class extends E{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`})}},hn=class extends E{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://4byte.sourcify.dev/?q=${e}.`].join(`\n`),{docsPath:t,name:`AbiFunctionSignatureNotFoundError`})}},gn=class extends E{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Ut(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Ut(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},_n=class extends E{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},vn=class extends E{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: (${Wt(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}},yn=class extends E{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Ut(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},bn=class extends E{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`})}},xn=class extends E{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`})}},Sn=class extends E{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},Cn=class extends E{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),Tn,En,Dn,On=o((()=>{D(),Tn=class extends E{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},En=class extends E{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},Dn=class extends E{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 kn(e,{dir:t,size:n=32}={}){return typeof e==`string`?An(e,{dir:t,size:n}):jn(e,{dir:t,size:n})}function An(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new En({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function jn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new En({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var Mn=o((()=>{On()})),Nn,Pn,Fn,In,Ln,Rn=o((()=>{D(),Nn=class extends E{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \"${i}\" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},Pn=class extends E{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`})}},Fn=class extends E{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},In=class extends E{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},Ln=class extends E{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function zn(e,{dir:t=`left`}={}){let n=typeof e==`string`?e.replace(`0x`,``):e,r=0;for(let e=0;e<n.length-1&&n[t===`left`?e:n.length-e-1].toString()===`0`;e++)r++;return n=t===`left`?n.slice(r):n.slice(0,n.length-r),typeof e==`string`?(n.length===1&&t===`right`&&(n=`${n}0`),`0x${n.length%2==1?`0${n}`:n}`):n}var Bn=o((()=>{}));function Vn(e,{size:t}){if(Jt(e)>t)throw new Ln({givenSize:Jt(e),maxSize:t})}function O(e,t={}){let{signed:n}=t;t.size&&Vn(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function Hn(e,t={}){let n=e;if(t.size&&(Vn(n,{size:t.size}),n=zn(n)),zn(n)===`0x00`)return!1;if(zn(n)===`0x01`)return!0;throw new Fn(n)}function Un(e,t={}){let n=O(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new Nn({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var Wn=o((()=>{Rn(),Yt(),Bn()}));function Gn(e,t={}){return typeof e==`number`||typeof e==`bigint`?k(e,t):typeof e==`string`?Jn(e,t):typeof e==`boolean`?Kn(e,t):qn(e,t)}function Kn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Vn(n,{size:t.size}),kn(n,{size:t.size})):n}function qn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Yn[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Vn(r,{size:t.size}),kn(r,{dir:`right`,size:t.size})):r}function k(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Nn({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?kn(s,{size:r}):s}function Jn(e,t={}){return qn(Xn.encode(e),t)}var Yn,Xn,A=o((()=>{Rn(),Mn(),Wn(),Yn=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Xn=new TextEncoder}));function Zn(e,t={}){return typeof e==`number`||typeof e==`bigint`?tr(e,t):typeof e==`boolean`?Qn(e,t):T(e)?er(e,t):nr(e,t)}function Qn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(Vn(n,{size:t.size}),kn(n,{size:t.size})):n}function $n(e){if(e>=ir.zero&&e<=ir.nine)return e-ir.zero;if(e>=ir.A&&e<=ir.F)return e-(ir.A-10);if(e>=ir.a&&e<=ir.f)return e-(ir.a-10)}function er(e,t={}){let n=e;t.size&&(Vn(n,{size:t.size}),n=kn(n,{dir:`right`,size:t.size}));let r=n.slice(2);r.length%2&&(r=`0${r}`);let i=r.length/2,a=new Uint8Array(i);for(let e=0,t=0;e<i;e++){let n=$n(r.charCodeAt(t++)),i=$n(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new E(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function tr(e,t){return er(k(e,t))}function nr(e,t={}){let n=rr.encode(e);return typeof t.size==`number`?(Vn(n,{size:t.size}),kn(n,{dir:`right`,size:t.size})):n}var rr,ir,ar=o((()=>{D(),qt(),Mn(),Wn(),A(),rr=new TextEncoder,ir={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function or(e,t=!1){return t?{h:Number(e&lr),l:Number(e>>ur&lr)}:{h:Number(e>>ur&lr)|0,l:Number(e&lr)|0}}function sr(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=or(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function cr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr=o((()=>{lr=BigInt(2**32-1),ur=BigInt(32),dr=(e,t,n)=>e>>>n,fr=(e,t,n)=>e<<32-n|t>>>n,pr=(e,t,n)=>e>>>n|t<<32-n,mr=(e,t,n)=>e<<32-n|t>>>n,hr=(e,t,n)=>e<<64-n|t>>>n-32,gr=(e,t,n)=>e>>>n-32|t<<64-n,_r=(e,t,n)=>e<<n|t>>>32-n,vr=(e,t,n)=>t<<n|e>>>32-n,yr=(e,t,n)=>t<<n-32|e>>>64-n,br=(e,t,n)=>e<<n-32|t>>>64-n,xr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),Sr=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Cr=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),wr=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,Tr=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),Er=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),Or,kr=o((()=>{Or=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Ar(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function jr(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Mr(e,...t){if(!Ar(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function Nr(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);jr(e.outputLen),jr(e.blockLen)}function Pr(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function Fr(e,t){Mr(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function Ir(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Lr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Rr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function zr(e,t){return e<<32-t|e>>>t}function Br(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Vr(e){for(let t=0;t<e.length;t++)e[t]=Br(e[t]);return e}function Hr(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Ur(e){return typeof e==`string`&&(e=Hr(e)),Mr(e),e}function Wr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Mr(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function Gr(e){let t=t=>e().update(Ur(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Kr(e=32){if(Or&&typeof Or.getRandomValues==`function`)return Or.getRandomValues(new Uint8Array(e));if(Or&&typeof Or.randomBytes==`function`)return Uint8Array.from(Or.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var qr,Jr,Yr,Xr=o((()=>{kr(),qr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Jr=qr?e=>e:Vr,Yr=class{}}));function Zr(e,t=24){let 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){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=ui(a,o,1)^n[r],c=di(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=ai[n],a=ui(t,i,r),o=di(t,i,r),s=ii[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}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]^=ci[r],e[1]^=li[r]}Lr(n)}var Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di,fi,pi,mi,hi=o((()=>{Dr(),Xr(),Qr=BigInt(0),$r=BigInt(1),ei=BigInt(2),ti=BigInt(7),ni=BigInt(256),ri=BigInt(113),ii=[],ai=[],oi=[];for(let e=0,t=$r,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],ii.push(2*(5*r+n)),ai.push((e+1)*(e+2)/2%64);let i=Qr;for(let e=0;e<7;e++)t=(t<<$r^(t>>ti)*ri)%ni,t&ei&&(i^=$r<<($r<<BigInt(e))-$r);oi.push(i)}si=sr(oi,!0),ci=si[0],li=si[1],ui=(e,t,n)=>n>32?yr(e,t,n):_r(e,t,n),di=(e,t,n)=>n>32?br(e,t,n):vr(e,t,n),fi=class e extends Yr{constructor(e,t,n,r=!1,i=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=i,jr(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=Ir(this.state)}clone(){return this._cloneInto()}keccak(){Jr(this.state32),Zr(this.state32,this.rounds),Jr(this.state32),this.posOut=0,this.pos=0}update(e){Pr(this),e=Ur(e),Mr(e);let{blockLen:t,state:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){Pr(this,!1),Mr(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return jr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Fr(e,this),this.finished)throw Error(`digest() was already called`);return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Lr(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}},pi=(e,t,n)=>Gr(()=>new fi(t,e,n)),mi=pi(1,136,256/8)}));function gi(e,t){let n=t||`hex`,r=mi(T(e,{strict:!1})?Zn(e):e);return n===`bytes`?r:Gn(r)}var _i=o((()=>{hi(),qt(),ar(),A()}));function vi(e){return yi(e)}var yi,bi=o((()=>{ar(),_i(),yi=e=>gi(Zn(e))}));function xi(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new E(`Unable to normalize signature.`);return i}var Si=o((()=>{D()})),Ci,wi=o((()=>{Ht(),Si(),Ci=e=>xi(typeof e==`string`?e:ke(e))}));function Ti(e){return vi(Ci(e))}var Ei=o((()=>{bi(),wi()})),Di,Oi=o((()=>{Ei(),Di=Ti})),ki,Ai=o((()=>{D(),ki=class extends E{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`})}}})),ji,Mi=o((()=>{ji=class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,t)),t}set(e,t){if(super.has(e)&&super.delete(e),super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=super.keys().next().value;e!==void 0&&super.delete(e)}return this}}}));function Ni(e,t){if(Fi.has(`${e}.${t}`))return Fi.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=gi(nr(n),`bytes`),i=(t?n.substring(`${t}0x`.length):n).split(``);for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(r[e>>1]&15)>=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let a=`0x${i.join(``)}`;return Fi.set(`${e}.${t}`,a),a}function Pi(e,t){if(!Li(e,{strict:!1}))throw new ki({address:e});return Ni(e,t)}var Fi,Ii=o((()=>{Ai(),ar(),_i(),Mi(),Bi(),Fi=new ji(8192)}));function Li(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(zi.has(r))return zi.get(r);let i=Ri.test(e)?e.toLowerCase()===e?!0:n?Ni(e)===e:!0:!1;return zi.set(r,i),i}var Ri,zi,Bi=o((()=>{Mi(),Ii(),Ri=/^0x[a-fA-F0-9]{40}$/,zi=new ji(8192)}));function Vi(e){return typeof e[0]==`string`?Ui(e):Hi(e)}function Hi(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Ui(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Wi=o((()=>{}));function Gi(e,t,n,{strict:r}={}){return T(e,{strict:!1})?Yi(e,t,n,{strict:r}):Ji(e,t,n,{strict:r})}function Ki(e,t){if(typeof t==`number`&&t>0&&t>Jt(e)-1)throw new Tn({offset:t,position:`start`,size:Jt(e)})}function qi(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Jt(e)!==n-t)throw new Tn({offset:n,position:`end`,size:Jt(e)})}function Ji(e,t,n,{strict:r}={}){Ki(e,t);let i=e.slice(t,n);return r&&qi(i,t,n),i}function Yi(e,t,n,{strict:r}={}){Ki(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&qi(i,t,n),i}var Xi=o((()=>{On(),qt(),Yt()})),Zi,Qi,$i=o((()=>{Zi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Qi=/^(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 ea(e,t){if(e.length!==t.length)throw new sn({expectedLength:e.length,givenLength:t.length});let n=ra(ta({params:e,values:t}));return n.length===0?`0x`:n}function ta({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(na({param:e[r],value:t[r]}));return n}function na({param:e,value:t}){let n=da(e.type);if(n){let[r,i]=n;return aa(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return ua(t,{param:e});if(e.type===`address`)return ia(t);if(e.type===`bool`)return sa(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Qi.exec(e.type)??[];return ca(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return oa(t,{param:e});if(e.type===`string`)return la(t);throw new bn(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function ra(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=Jt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(k(t+i,{size:32})),r.push(s),i+=Jt(s)):n.push(s)}return Vi([...n,...r])}function ia(e){if(!Li(e))throw new ki({address:e});return{dynamic:!1,encoded:An(e.toLowerCase())}}function aa(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new Sn(e);if(!r&&e.length!==t)throw new an({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=!1,a=[];for(let t=0;t<e.length;t++){let r=na({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=ra(a);if(r){let t=k(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Vi([t,e]):t}}if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Vi(a.map(({encoded:e})=>e))}}function oa(e,{param:t}){let[,n]=t.type.split(`bytes`),r=Jt(e);if(!n){let t=e;return r%32!=0&&(t=An(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Vi([An(k(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new on({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:An(e,{dir:`right`})}}function sa(e){if(typeof e!=`boolean`)throw new E(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:An(Kn(e))}}function ca(e,{signed:t,size:n=256}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new Nn({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:k(e,{size:32,signed:t})}}function la(e){let t=Jn(e),n=Math.ceil(Jt(t)/32),r=[];for(let e=0;e<n;e++)r.push(An(Gi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Vi([An(k(Jt(t),{size:32})),...r])}}function ua(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=na({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?ra(r):Vi(r.map(({encoded:e})=>e))}}function da(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var fa=o((()=>{wn(),Ai(),D(),Rn(),Bi(),Wi(),Mn(),Yt(),Xi(),A(),$i()})),pa,ma=o((()=>{Xi(),Ei(),pa=e=>Gi(Ti(e),0,4)}));function ha(e){let{abi:t,args:n=[],name:r}=e,i=T(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?pa(e)===r:e.type===`event`?Di(e)===r:!1:`name`in e&&e.name===r);if(a.length===0)return;if(a.length===1)return a[0];let o;for(let e of a)if(`inputs`in e){if(!n||n.length===0){if(!e.inputs||e.inputs.length===0)return e;continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===n.length&&n.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?ga(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=_a(e.inputs,o.inputs,n);if(t)throw new gn({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function ga(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Li(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,r)=>n===`object`&&ga(Object.values(e)[r],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)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>ga(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function _a(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return _a(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&Li(n[r],{strict:!1}))return o}}var va=o((()=>{wn(),qt(),Bi(),Oi(),ma()}));function j(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var ya=o((()=>{}));function ba(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=ha({abi:t,args:n,name:r});if(!e)throw new pn(r,{docsPath:xa});i=e}if(i.type!==`function`)throw new pn(void 0,{docsPath:xa});return{abi:[i],functionName:pa(Ut(i))}}var xa,Sa=o((()=>{wn(),ma(),Kt(),va(),xa=`/docs/contract/encodeFunctionData`}));function Ca(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:ba(e),i=n[0];return Ui([r,(`inputs`in i&&i.inputs?ea(i.inputs,t??[]):void 0)??`0x`])}var wa=o((()=>{Wi(),fa(),Sa()})),Ta,Ea,Da,Oa=o((()=>{Ta={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.`},Ea={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Da={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),ka,Aa,ja,Ma=o((()=>{D(),ka=class extends E{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},Aa=class extends E{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},ja=class extends E{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Na(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Pa);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Pa,Fa=o((()=>{Ma(),Pa={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new ja({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Aa({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new ka({offset:e});let 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 ka({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let 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,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}}}));function Ia(e,t={}){return t.size!==void 0&&Vn(e,{size:t.size}),O(qn(e,t),t)}function La(e,t={}){let n=e;if(t.size!==void 0&&(Vn(n,{size:t.size}),n=zn(n)),n.length>1||n[0]>1)throw new Pn(n);return!!n[0]}function Ra(e,t={}){return t.size!==void 0&&Vn(e,{size:t.size}),Un(qn(e,t),t)}function za(e,t={}){let n=e;return t.size!==void 0&&(Vn(n,{size:t.size}),n=zn(n,{dir:`right`})),new TextDecoder().decode(n)}var Ba=o((()=>{Rn(),Bn(),Wn(),A()}));function Va(e,t){let n=typeof t==`string`?er(t):t,r=Na(n);if(Jt(n)===0&&e.length>0)throw new rn;if(Jt(t)&&Jt(t)<32)throw new nn({data:typeof t==`string`?t:qn(t),params:e,size:Jt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let n=e[t];r.setPosition(i);let[o,s]=Ha(r,n,{staticPosition:0});i+=s,a.push(o)}return a}function Ha(e,t,{staticPosition:n}){let r=da(t.type);if(r){let[i,a]=r;return Wa(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Ja(e,t,{staticPosition:n});if(t.type===`address`)return Ua(e);if(t.type===`bool`)return Ga(e);if(t.type.startsWith(`bytes`))return Ka(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return qa(e,t);if(t.type===`string`)return Ya(e,{staticPosition:n});throw new xn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function Ua(e){return[Ni(qn(Ji(e.readBytes(32),-20))),32]}function Wa(e,t,{length:n,staticPosition:r}){if(!n){let n=r+Ra(e.readBytes(Qa)),i=n+Za;e.setPosition(n);let a=Ra(e.readBytes(Za)),o=Xa(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=Ha(e,t,{staticPosition:i});s+=a,c.push(r)}return e.setPosition(r+32),[c,32]}if(Xa(t)){let i=r+Ra(e.readBytes(Qa)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=Ha(e,t,{staticPosition:i});a.push(n)}return e.setPosition(r+32),[a,32]}let i=0,a=[];for(let o=0;o<n;++o){let[n,o]=Ha(e,t,{staticPosition:r+i});i+=o,a.push(n)}return[a,i]}function Ga(e){return[La(e.readBytes(32),{size:32}),32]}function Ka(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Ra(e.readBytes(32));e.setPosition(n+t);let r=Ra(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[qn(i),32]}return[qn(e.readBytes(Number.parseInt(i,10),32)),32]}function qa(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Ia(i,{signed:n}):Ra(i,{signed:n}),32]}function Ja(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Xa(t)){let o=n+Ra(e.readBytes(Qa));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=Ha(e,s,{staticPosition:o});a+=l,i[r?n:s?.name]=c}return e.setPosition(n+32),[i,32]}for(let o=0;o<t.components.length;++o){let s=t.components[o],[c,l]=Ha(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Ya(e,{staticPosition:t}){let n=t+Ra(e.readBytes(32));e.setPosition(n);let r=Ra(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=za(zn(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Xa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Xa);let n=da(e.type);return!!(n&&Xa({...e,type:n[1]}))}var Za,Qa,$a=o((()=>{wn(),Ii(),Fa(),Yt(),Xi(),Bn(),Ba(),ar(),A(),fa(),Za=32,Qa=32}));function eo(e){let{abi:t,data:n,cause:r}=e,i=Gi(n,0,4);if(i===`0x`)throw new rn({cause:r});let a=[...t||[],Ea,Da].find(e=>e.type===`error`&&i===pa(Ut(e)));if(!a)throw new un(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?Va(a.inputs,Gi(n,4)):void 0,errorName:a.name}}var to=o((()=>{Oa(),wn(),Xi(),ma(),$a(),Kt()})),no,ro=o((()=>{no=(e,t,n)=>JSON.stringify(e,(e,n)=>{let r=typeof n==`bigint`?n.toString():n;return typeof t==`function`?t(e,r):r},n)}));function io({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}: `:``}${typeof t[n]==`object`?no(t[n]):t[n]}`).join(`, `)})`}var ao=o((()=>{ro()})),oo,so,co=o((()=>{oo={gwei:9,wei:18},so={ether:-9,wei:9}}));function lo(e,t){let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}var uo=o((()=>{}));function fo(e,t=`wei`){return lo(e,oo[t])}var po=o((()=>{co(),uo()}));function mo(e,t=`wei`){return lo(e,so[t])}var ho=o((()=>{co(),uo()}));function go(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function _o(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+=go(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=go(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var vo,yo,bo=o((()=>{D(),vo=class extends E{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},yo=class extends E{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function xo(e){let t=Object.entries(e).map(([e,t])=>t===void 0||t===!1?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`)}var So,Co,wo,To,Eo,Do,Oo=o((()=>{po(),ho(),D(),So=class extends E{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},Co=class extends E{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,xo(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`})}},wo=class extends E{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},To=class extends E{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},Eo=class extends E{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},Do=class extends E{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=xo({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${fo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${mo(o)} gwei`,maxFeePerGas:s!==void 0&&`${mo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${mo(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Request Arguments:`,f].filter(Boolean),name:`TransactionExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}}}));function ko(e){if(e?.reason)return e.reason;if(typeof DOMException==`function`)return new DOMException(`This operation was aborted`,`AbortError`);let t=Error(`This operation was aborted`);return t.name=`AbortError`,t}function Ao(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var jo,Mo,No=o((()=>{jo=e=>e,Mo=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Po,Fo,Io,Lo,Ro,zo,Bo=o((()=>{ya(),Oa(),to(),Kt(),ao(),va(),po(),ho(),wn(),D(),bo(),Oo(),No(),Po=class extends E{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d,stateOverride:f}){let p=xo({from:(t?j(t):void 0)?.address,to:u,value:d!==void 0&&`${fo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${mo(o)} gwei`,maxFeePerGas:s!==void 0&&`${mo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${mo(c)} gwei`,nonce:l});f&&(p+=`\\n${_o(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}},Fo=class extends E{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=ha({abi:t,args:n,name:a}),c=s?io({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Ut(s,{includeName:!0}):void 0,u=xo({address:r&&jo(r),function:l,args:c&&c!==`()`&&`${[...Array(a?.length??0).keys()].map(()=>` `).join(``)}${c}`,sender:o});super(e.shortMessage||`An unknown error occurred while executing the contract function \"${a}\".`,{cause:e,docsPath:i,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=a,this.sender=o}},Io=class extends E{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=eo({abi:e,data:t,cause:i});let{abiItem:n,errorName:r,args:a}=o;if(r===`Error`)c=a[0];else if(r===`Panic`){let[e]=a;c=Ta[e]}else{let e=n?Ut(n,{includeName:!0}):void 0,t=n&&a?io({abiItem:n,args:a,includeFunctionName:!1,includeName:!1}):void 0;s=[e?`Error: ${e}`:``,t&&t!==`()`?` ${[...Array(r?.length??0).keys()].map(()=>` `).join(``)}${t}`:``]}}catch(e){a=e}else r&&(c=r);let l;a instanceof un&&(l=a.signature,s=[`Unable to decode signature \"${l}\" 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://4byte.sourcify.dev/?q=${l}.`]),super(c&&c!==`execution reverted`||l?[`The contract function \"${n}\" reverted with the following ${l?`signature`:`reason`}:`,c||l].join(`\n`):`The contract function \"${n}\" reverted.`,{cause:a??i,metaMessages:s,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=o,this.raw=t,this.reason=c,this.signature=l}},Lo=class extends E{constructor({functionName:e,cause:t}){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`,cause:t})}},Ro=class extends E{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`})}},zo=class extends E{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}}})),Vo,Ho,Uo,Wo=o((()=>{ro(),D(),No(),Vo=class extends E{constructor({body:e,cause:t,details:n,headers:r,status:i,url:a}){super(`HTTP request failed.`,{cause:t,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${Mo(a)}`,e&&`Request body: ${no(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=i,this.url=a}},Ho=class extends E{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Mo(n)}`,`Request body: ${no(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}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data,this.url=n}},Uo=class extends E{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Mo(t)}`,`Request body: ${no(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Go,Ko,qo,Jo,Yo,Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs=o((()=>{D(),Wo(),Go=-1,Ko=class extends E{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof Ho?e.code:t??Go}},qo=class extends Ko{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},Jo=class e extends Ko{constructor(t){super(t,{code:e.code,name:`ParseRpcError`,shortMessage:`Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.`})}},Object.defineProperty(Jo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Yo=class e extends Ko{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(Yo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Xo=class e extends Ko{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(Xo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Zo=class e extends Ko{constructor(t){super(t,{code:e.code,name:`InvalidParamsRpcError`,shortMessage:[`Invalid parameters were provided to the RPC method.`,`Double check you have provided the correct parameters.`].join(`\n`)})}},Object.defineProperty(Zo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),Qo=class e extends Ko{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(Qo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),$o=class e extends Ko{constructor(t){super(t,{code:e.code,name:`InvalidInputRpcError`,shortMessage:[`Missing or invalid parameters.`,`Double check you have provided the correct parameters.`].join(`\n`)})}},Object.defineProperty($o,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),es=class e extends Ko{constructor(t){super(t,{code:e.code,name:`ResourceNotFoundRpcError`,shortMessage:`Requested resource not found.`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ResourceNotFoundRpcError`})}},Object.defineProperty(es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),ts=class e extends Ko{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),ns=class e extends Ko{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),rs=class e extends Ko{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),is=class e extends Ko{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),as=class e extends Ko{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),os=class e extends qo{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),ss=class e extends qo{constructor(t){super(t,{code:e.code,name:`UnauthorizedProviderError`,shortMessage:`The requested method and/or account has not been authorized by the user.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),cs=class e extends qo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),ls=class e extends qo{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),us=class e extends qo{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),ds=class e extends qo{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),fs=class e extends qo{constructor(t){super(t,{code:e.code,name:`UnsupportedNonOptionalCapabilityError`,shortMessage:`This Wallet does not support a capability that was not marked as optional.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),ps=class e extends qo{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),ms=class e extends qo{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),hs=class e extends qo{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),gs=class e extends qo{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),_s=class e extends qo{constructor(t){super(t,{code:e.code,name:`AtomicReadyWalletRejectedUpgradeError`,shortMessage:`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),vs=class e extends qo{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),ys=class e extends qo{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),bs=class extends Ko{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));wn(),D(),Bo(),Wo(),xs();function Ss(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof zo?e:e instanceof E?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s;return new Fo(e instanceof rn?new Lo({functionName:a,cause:e}):[3,Qo.code].includes(c)&&(l||u||d||f)||c===$o.code&&u===`execution reverted`&&l?new Io({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Ho?u:f??d,cause:e}):e,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}Ii(),_i();function Cs(e){return Ni(`0x${gi(`0x${e.substring(4)}`).substring(26)}`)}function ws(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}function Ts(e,t,n){return e&t^~e&n}function Es(e,t,n){return e&t^e&n^t&n}var Ds,Os,ks,As,js=o((()=>{Xr(),Ds=class extends Yr{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=Rr(this.buffer)}update(e){Pr(this),e=Ur(e),Mr(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=Rr(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Pr(this),Fr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Lr(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;ws(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Rr(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Os=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ks=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),As=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Ms,Ns,Ps,Fs,Is,Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs=o((()=>{js(),Dr(),Xr(),Ms=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]),Ns=new Uint32Array(64),Ps=class extends Ds{constructor(e=32){super(64,e,8,!1),this.A=Os[0]|0,this.B=Os[1]|0,this.C=Os[2]|0,this.D=Os[3]|0,this.E=Os[4]|0,this.F=Os[5]|0,this.G=Os[6]|0,this.H=Os[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}process(e,t){for(let n=0;n<16;n++,t+=4)Ns[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Ns[e-15],n=Ns[e-2],r=zr(t,7)^zr(t,18)^t>>>3;Ns[e]=(zr(n,17)^zr(n,19)^n>>>10)+Ns[e-7]+r+Ns[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=zr(o,6)^zr(o,11)^zr(o,25),u=l+t+Ts(o,s,c)+Ms[e]+Ns[e]|0,d=(zr(n,2)^zr(n,13)^zr(n,22))+Es(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){Lr(Ns)}destroy(){this.set(0,0,0,0,0,0,0,0),Lr(this.buffer)}},Fs=sr(`0x428a2f98d728ae22.0x7137449123ef65cd.0xb5c0fbcfec4d3b2f.0xe9b5dba58189dbbc.0x3956c25bf348b538.0x59f111f1b605d019.0x923f82a4af194f9b.0xab1c5ed5da6d8118.0xd807aa98a3030242.0x12835b0145706fbe.0x243185be4ee4b28c.0x550c7dc3d5ffb4e2.0x72be5d74f27b896f.0x80deb1fe3b1696b1.0x9bdc06a725c71235.0xc19bf174cf692694.0xe49b69c19ef14ad2.0xefbe4786384f25e3.0x0fc19dc68b8cd5b5.0x240ca1cc77ac9c65.0x2de92c6f592b0275.0x4a7484aa6ea6e483.0x5cb0a9dcbd41fbd4.0x76f988da831153b5.0x983e5152ee66dfab.0xa831c66d2db43210.0xb00327c898fb213f.0xbf597fc7beef0ee4.0xc6e00bf33da88fc2.0xd5a79147930aa725.0x06ca6351e003826f.0x142929670a0e6e70.0x27b70a8546d22ffc.0x2e1b21385c26c926.0x4d2c6dfc5ac42aed.0x53380d139d95b3df.0x650a73548baf63de.0x766a0abb3c77b2a8.0x81c2c92e47edaee6.0x92722c851482353b.0xa2bfe8a14cf10364.0xa81a664bbc423001.0xc24b8b70d0f89791.0xc76c51a30654be30.0xd192e819d6ef5218.0xd69906245565a910.0xf40e35855771202a.0x106aa07032bbd1b8.0x19a4c116b8d2d0c8.0x1e376c085141ab53.0x2748774cdf8eeb99.0x34b0bcb5e19b48a8.0x391c0cb3c5c95a63.0x4ed8aa4ae3418acb.0x5b9cca4f7763e373.0x682e6ff3d6b2b8a3.0x748f82ee5defb2fc.0x78a5636f43172f60.0x84c87814a1f0ab72.0x8cc702081a6439ec.0x90befffa23631e28.0xa4506cebde82bde9.0xbef9a3f7b2c67915.0xc67178f2e372532b.0xca273eceea26619c.0xd186b8c721c0c207.0xeada7dd6cde0eb1e.0xf57d4f7fee6ed178.0x06f067aa72176fba.0x0a637dc5a2c898a6.0x113f9804bef90dae.0x1b710b35131c471b.0x28db77f523047d84.0x32caab7b40c72493.0x3c9ebe0a15c9bebc.0x431d67c49c100d4c.0x4cc5d4becb3e42b6.0x597f299cfc657e2a.0x5fcb6fab3ad6faec.0x6c44198c4a475817`.split(`.`).map(e=>BigInt(e))),Is=Fs[0],Ls=Fs[1],Rs=new Uint32Array(80),zs=new Uint32Array(80),Bs=class extends Ds{constructor(e=64){super(128,e,16,!1),this.Ah=As[0]|0,this.Al=As[1]|0,this.Bh=As[2]|0,this.Bl=As[3]|0,this.Ch=As[4]|0,this.Cl=As[5]|0,this.Dh=As[6]|0,this.Dl=As[7]|0,this.Eh=As[8]|0,this.El=As[9]|0,this.Fh=As[10]|0,this.Fl=As[11]|0,this.Gh=As[12]|0,this.Gl=As[13]|0,this.Hh=As[14]|0,this.Hl=As[15]|0}get(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}process(e,t){for(let n=0;n<16;n++,t+=4)Rs[n]=e.getUint32(t),zs[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Rs[e-15]|0,n=zs[e-15]|0,r=pr(t,n,1)^pr(t,n,8)^dr(t,n,7),i=mr(t,n,1)^mr(t,n,8)^fr(t,n,7),a=Rs[e-2]|0,o=zs[e-2]|0,s=pr(a,o,19)^hr(a,o,61)^dr(a,o,6),c=mr(a,o,19)^gr(a,o,61)^fr(a,o,6),l=Cr(i,c,zs[e-7],zs[e-16]);Rs[e]=wr(l,r,s,Rs[e-7],Rs[e-16])|0,zs[e]=l|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=pr(u,d,14)^pr(u,d,18)^hr(u,d,41),v=mr(u,d,14)^mr(u,d,18)^gr(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=Tr(_,v,b,Ls[e],zs[e]),S=Er(x,g,t,y,Is[e],Rs[e]),C=x|0,ee=pr(n,r,28)^hr(n,r,34)^hr(n,r,39),te=mr(n,r,28)^gr(n,r,34)^gr(n,r,39),ne=n&i^n&o^i&o,re=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=cr(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let ie=xr(C,te,re);n=Sr(ie,S,ee,ne),r=ie|0}({h:n,l:r}=cr(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=cr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=cr(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=cr(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=cr(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=cr(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=cr(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=cr(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){Lr(Rs,zs)}destroy(){Lr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Vs=class extends Bs{constructor(){super(48),this.Ah=ks[0]|0,this.Al=ks[1]|0,this.Bh=ks[2]|0,this.Bl=ks[3]|0,this.Ch=ks[4]|0,this.Cl=ks[5]|0,this.Dh=ks[6]|0,this.Dl=ks[7]|0,this.Eh=ks[8]|0,this.El=ks[9]|0,this.Fh=ks[10]|0,this.Fl=ks[11]|0,this.Gh=ks[12]|0,this.Gl=ks[13]|0,this.Hh=ks[14]|0,this.Hl=ks[15]|0}},Hs=Gr(()=>new Ps),Us=Gr(()=>new Bs),Ws=Gr(()=>new Vs)})),Ks,qs,Js=o((()=>{Xr(),Ks=class extends Yr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Nr(e);let n=Ur(t);if(this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<i.length;e++)i[e]^=54;this.iHash.update(i),this.oHash=e.create();for(let e=0;e<i.length;e++)i[e]^=106;this.oHash.update(i),Lr(i)}update(e){return Pr(this),this.iHash.update(e),this}digestInto(e){Pr(this),Mr(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,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()}},qs=(e,t,n)=>new Ks(e,t).update(n).digest(),qs.create=(e,t)=>new Ks(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Ys(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Xs(e){if(!Ys(e))throw Error(`Uint8Array expected`)}function Zs(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function Qs(e){let t=e.toString(16);return t.length&1?`0`+t:t}function $s(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?_c:BigInt(`0x`+e)}function ec(e){if(Xs(e),yc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=bc[e[n]];return t}function tc(e){if(e>=xc._0&&e<=xc._9)return e-xc._0;if(e>=xc.A&&e<=xc.F)return e-(xc.A-10);if(e>=xc.a&&e<=xc.f)return e-(xc.a-10)}function nc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(yc)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=tc(e.charCodeAt(i)),a=tc(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character \"`+t+`\" at index `+i)}r[t]=n*16+a}return r}function rc(e){return $s(ec(e))}function ic(e){return Xs(e),$s(ec(Uint8Array.from(e).reverse()))}function ac(e,t){return nc(e.toString(16).padStart(t*2,`0`))}function oc(e,t){return ac(e,t).reverse()}function sc(e,t,n){let r;if(typeof t==`string`)try{r=nc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(Ys(t))r=Uint8Array.from(t);else throw Error(e+` must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(e+` of length `+n+` expected, got `+i);return r}function cc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Xs(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function lc(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function uc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function dc(e,t,n){return Sc(e)&&Sc(t)&&Sc(n)&&t<=e&&e<n}function fc(e,t,n,r){if(!dc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function pc(e){let t;for(t=0;e>_c;e>>=vc,t+=1);return t}function mc(e,t,n){if(typeof e!=`number`||e<2)throw Error(`hashLen must be a number`);if(typeof t!=`number`||t<2)throw Error(`qByteLen must be a number`);if(typeof n!=`function`)throw Error(`hmacFn must be a function`);let r=wc(e),i=wc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=wc(0))=>{i=s(Tc([0]),e),r=s(),e.length!==0&&(i=s(Tc([1]),e),r=s())},l=()=>{if(a++>=1e3)throw Error(`drbg: tried 1000 values`);let e=0,n=[];for(;e<t;){r=s();let t=r.slice();n.push(t),e+=r.length}return cc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function hc(e,t,n={}){let r=(t,n,r)=>{let i=Ec[n];if(typeof i!=`function`)throw Error(`invalid validator function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`param `+String(t)+` is invalid. Expected `+n+`, got `+a)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}function gc(e){let t=new WeakMap;return(n,...r)=>{let i=t.get(n);if(i!==void 0)return i;let a=e(n,...r);return t.set(n,a),a}}var _c,vc,yc,bc,xc,Sc,Cc,wc,Tc,Ec,Dc=o((()=>{_c=BigInt(0),vc=BigInt(1),yc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,bc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),xc={_0:48,_9:57,A:65,F:70,a:97,f:102},Sc=e=>typeof e==`bigint`&&_c<=e,Cc=e=>(vc<<BigInt(e))-vc,wc=e=>new Uint8Array(e),Tc=e=>Uint8Array.from(e),Ec={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||Ys(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)}}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Oc(e,t){let n=e%t;return n>=Wc?n:t+n}function kc(e,t,n){let r=e;for(;t-- >Wc;)r*=r,r%=n;return r}function Ac(e,t){if(e===Wc)throw Error(`invert: expected non-zero number`);if(t<=Wc)throw Error(`invert: expected positive modulus, got `+t);let n=Oc(e,t),r=t,i=Wc,a=Gc,o=Gc,s=Wc;for(;n!==Wc;){let e=r/n,t=r%n,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==Gc)throw Error(`invert: does not exist`);return Oc(i,t)}function jc(e,t){let n=(e.ORDER+Gc)/Jc,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Mc(e,t){let n=(e.ORDER-Yc)/Xc,r=e.mul(t,Kc),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Kc),i),s=e.mul(a,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),t))throw Error(`Cannot find square root`);return s}function Nc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Gc,n=0;for(;t%Kc===Wc;)t/=Kc,n++;let r=Kc,i=Bc(e);for(;Rc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return jc;let a=i.pow(r,t),o=(t+Gc)/Kc;return function(e,r){if(e.is0(r))return r;if(Rc(e,r)!==1)throw Error(`Cannot find square root`);let i=n,s=e.mul(e.ONE,a),c=e.pow(r,t),l=e.pow(r,o);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===i)throw Error(`Cannot find square root`);let r=Gc<<BigInt(i-t-1),a=e.pow(s,r);i=t,s=e.sqr(a),c=e.mul(c,s),l=e.mul(l,a)}return l}}function Pc(e){return e%Jc===qc?jc:e%Xc===Yc?Mc:Nc(e)}function Fc(e){return hc(e,Zc.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Ic(e,t,n){if(n<Wc)throw Error(`invalid exponent, negatives unsupported`);if(n===Wc)return e.ONE;if(n===Gc)return t;let r=e.ONE,i=t;for(;n>Wc;)n&Gc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Gc;return r}function Lc(e,t,n=!1){let r=Array(t.length).fill(n?e.ZERO:void 0),i=t.reduce((t,n,i)=>e.is0(n)?t:(r[i]=t,e.mul(t,n)),e.ONE),a=e.inv(i);return t.reduceRight((t,n,i)=>e.is0(n)?t:(r[i]=e.mul(t,r[i]),e.mul(t,n)),a),r}function Rc(e,t){let n=(e.ORDER-Gc)/Kc,r=e.pow(t,n),i=e.eql(r,e.ONE),a=e.eql(r,e.ZERO),o=e.eql(r,e.neg(e.ONE));if(!i&&!a&&!o)throw Error(`invalid Legendre symbol result`);return i?1:a?0:-1}function zc(e,t){t!==void 0&&jr(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Bc(e,t,n=!1,r={}){if(e<=Wc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=zc(e,t);if(a>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);let o,s=Object.freeze({ORDER:e,isLE:n,BITS:i,BYTES:a,MASK:Cc(i),ZERO:Wc,ONE:Gc,create:t=>Oc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Wc<=t&&t<e},is0:e=>e===Wc,isOdd:e=>(e&Gc)===Gc,neg:t=>Oc(-t,e),eql:(e,t)=>e===t,sqr:t=>Oc(t*t,e),add:(t,n)=>Oc(t+n,e),sub:(t,n)=>Oc(t-n,e),mul:(t,n)=>Oc(t*n,e),pow:(e,t)=>Ic(s,e,t),div:(t,n)=>Oc(t*Ac(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Ac(t,e),sqrt:r.sqrt||(t=>(o||=Pc(e),o(s,t))),toBytes:e=>n?oc(e,a):ac(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?ic(e):rc(e)},invertBatch:e=>Lc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Vc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Hc(e){let t=Vc(e);return t+Math.ceil(t/2)}function Uc(e,t,n=!1){let r=e.length,i=Vc(t),a=Hc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Oc(n?ic(e):rc(e),t-Gc)+Gc;return n?oc(o,i):ac(o,i)}var Wc,Gc,Kc,qc,Jc,Yc,Xc,Zc,Qc=o((()=>{Xr(),Dc(),Wc=BigInt(0),Gc=BigInt(1),Kc=BigInt(2),qc=BigInt(3),Jc=BigInt(4),Yc=BigInt(5),Xc=BigInt(8),Zc=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`]}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction $c(e,t){let n=t.negate();return e?n:t}function el(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function tl(e,t){el(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Cc(e),maxNumber:i,shiftBy:BigInt(e)}}function nl(e,t,n){let{windowSize:r,mask:i,maxNumber:a,shiftBy:o}=n,s=Number(e&i),c=e>>o;s>r&&(s-=a,c+=ul);let l=t*r,u=l+Math.abs(s)-1,d=s===0,f=s<0,p=t%2!=0;return{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:l}}function rl(e,t){if(!Array.isArray(e))throw Error(`array expected`);e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function il(e,t){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,n)=>{if(!t.isValid(e))throw Error(`invalid scalar at index `+n)})}function al(e){return fl.get(e)||1}function ol(e,t){return{constTimeNegate:$c,hasPrecomputes(e){return al(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>ll;)n&ul&&(r=r.add(i)),i=i.double(),n>>=ul;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=tl(n,t),a=[],o=e,s=o;for(let e=0;e<r;e++){s=o,a.push(s);for(let e=1;e<i;e++)s=s.add(o),a.push(s);o=s.double()}return a},wNAF(n,r,i){let a=e.ZERO,o=e.BASE,s=tl(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=nl(i,e,s);i=t,c?o=o.add($c(u,r[d])):a=a.add($c(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=tl(n,t);for(let e=0;e<o.windows&&i!==ll;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=nl(i,e,o);if(i=t,!s){let e=r[n];a=a.add(c?e.negate():e)}}return a},getPrecomputes(e,t,n){let r=dl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&dl.set(t,n(r))),r},wNAFCached(e,t,n){let r=al(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=al(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){el(n,t),fl.set(e,n),dl.delete(e)}}}function sl(e,t,n,r){rl(n,e),il(r,t);let i=n.length,a=r.length;if(i!==a)throw Error(`arrays of points and scalars must have equal length`);let o=e.ZERO,s=pc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Cc(c),u=Array(Number(l)+1).fill(o),d=Math.floor((t.BITS-1)/c)*c,f=o;for(let e=d;e>=0;e-=c){u.fill(o);for(let t=0;t<a;t++){let i=r[t],a=Number(i>>BigInt(e)&l);u[a]=u[a].add(n[t])}let t=o;for(let e=u.length-1,n=o;e>0;e--)n=n.add(u[e]),t=t.add(n);if(f=f.add(t),e!==0)for(let e=0;e<c;e++)f=f.double()}return f}function cl(e){return Fc(e.Fp),hc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...zc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var ll,ul,dl,fl,pl=o((()=>{Qc(),Dc(),ll=BigInt(0),ul=BigInt(1),dl=new WeakMap,fl=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction ml(e){e.lowS!==void 0&&Zs(`lowS`,e.lowS),e.prehash!==void 0&&Zs(`prehash`,e.prehash)}function hl(e){let t=cl(e);hc(t,{a:`field`,b:`field`},{allowInfinityPoint:`boolean`,allowedPrivateKeyLengths:`array`,clearCofactor:`function`,fromBytes:`function`,isTorsionFree:`function`,toBytes:`function`,wrapPrivateKey:`boolean`});let{endo:n,Fp:r,a:i}=t;if(n){if(!r.eql(i,r.ZERO))throw Error(`invalid endo: CURVE.a must be 0`);if(typeof n!=`object`||typeof n.beta!=`bigint`||typeof n.splitScalar!=`function`)throw Error(`invalid endo: expected \"beta\": bigint and \"splitScalar\": function`)}return Object.freeze({...t})}function gl(e,t){return ec(ac(e,t))}function _l(e){let t=hl(e),{Fp:n}=t,r=Bc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return cc(Uint8Array.from([4]),n.toBytes(i.x),n.toBytes(i.y))}),a=t.fromBytes||(e=>{let t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function o(e){let{a:r,b:i}=t,a=n.sqr(e),o=n.mul(a,e);return n.add(n.add(o,n.mul(e,r)),i)}function s(e,t){let r=n.sqr(t),i=o(e);return n.eql(r,i)}if(!s(t.Gx,t.Gy))throw Error(`bad curve params: generator point`);let c=n.mul(n.pow(t.a,El),Dl),l=n.mul(n.sqr(t.b),BigInt(27));if(n.is0(n.add(c,l)))throw Error(`bad curve params: a or b`);function u(e){return dc(e,M,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(Ys(e)&&(e=ec(e)),typeof e!=`string`||!n.includes(e.length))throw Error(`invalid private key`);e=e.padStart(r*2,`0`)}let o;try{o=typeof e==`bigint`?e:rc(sc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Oc(o,a)),fc(`private key`,o,M,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=gc((e,t)=>{let{px:r,py:i,pz:a}=e;if(n.eql(a,n.ONE))return{x:r,y:i};let o=e.is0();t??=o?n.ONE:n.inv(a);let s=n.mul(r,t),c=n.mul(i,t),l=n.mul(a,t);if(o)return{x:n.ZERO,y:n.ZERO};if(!n.eql(l,n.ONE))throw Error(`invZ was invalid`);return{x:s,y:c}}),m=gc(e=>{if(e.is0()){if(t.allowInfinityPoint&&!n.is0(e.py))return;throw Error(`bad point: ZERO`)}let{x:r,y:i}=e.toAffine();if(!n.isValid(r)||!n.isValid(i))throw Error(`bad point: x or y not FE`);if(!s(r,i))throw Error(`bad point: equation left != right`);if(!e.isTorsionFree())throw Error(`bad point: not in prime-order subgroup`);return!0});class h{constructor(e,t,r){if(e==null||!n.isValid(e))throw Error(`x required`);if(t==null||!n.isValid(t)||n.is0(t))throw Error(`y required`);if(r==null||!n.isValid(r))throw Error(`z required`);this.px=e,this.py=t,this.pz=r,Object.freeze(this)}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw Error(`invalid affine point`);if(e instanceof h)throw Error(`projective point not allowed`);let i=e=>n.eql(e,n.ZERO);return i(t)&&i(r)?h.ZERO:new h(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=Lc(n,e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(h.fromAffine)}static fromHex(e){let t=h.fromAffine(a(sc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return sl(h,r,e,t)}_setWindowSize(e){v.setWindowSize(this,e)}assertValidity(){m(this)}hasEvenY(){let{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw Error(`Field doesn't support isOdd`)}equals(e){f(e);let{px:t,py:r,pz:i}=this,{px:a,py:o,pz:s}=e,c=n.eql(n.mul(t,s),n.mul(a,i)),l=n.eql(n.mul(r,s),n.mul(o,i));return c&&l}negate(){return new h(this.px,n.neg(this.py),this.pz)}double(){let{a:e,b:r}=t,i=n.mul(r,El),{px:a,py:o,pz:s}=this,c=n.ZERO,l=n.ZERO,u=n.ZERO,d=n.mul(a,a),f=n.mul(o,o),p=n.mul(s,s),m=n.mul(a,o);return m=n.add(m,m),u=n.mul(a,s),u=n.add(u,u),c=n.mul(e,u),l=n.mul(i,p),l=n.add(c,l),c=n.sub(f,l),l=n.add(f,l),l=n.mul(c,l),c=n.mul(m,c),u=n.mul(i,u),p=n.mul(e,p),m=n.sub(d,p),m=n.mul(e,m),m=n.add(m,u),u=n.add(d,d),d=n.add(u,d),d=n.add(d,p),d=n.mul(d,m),l=n.add(l,d),p=n.mul(o,s),p=n.add(p,p),d=n.mul(p,m),c=n.sub(c,d),u=n.mul(p,f),u=n.add(u,u),u=n.add(u,u),new h(c,l,u)}add(e){f(e);let{px:r,py:i,pz:a}=this,{px:o,py:s,pz:c}=e,l=n.ZERO,u=n.ZERO,d=n.ZERO,p=t.a,m=n.mul(t.b,El),g=n.mul(r,o),_=n.mul(i,s),v=n.mul(a,c),y=n.add(r,i),b=n.add(o,s);y=n.mul(y,b),b=n.add(g,_),y=n.sub(y,b),b=n.add(r,a);let x=n.add(o,c);return b=n.mul(b,x),x=n.add(g,v),b=n.sub(b,x),x=n.add(i,a),l=n.add(s,c),x=n.mul(x,l),l=n.add(_,v),x=n.sub(x,l),d=n.mul(p,b),l=n.mul(m,v),d=n.add(l,d),l=n.sub(_,d),d=n.add(_,d),u=n.mul(l,d),_=n.add(g,g),_=n.add(_,g),v=n.mul(p,v),b=n.mul(m,b),_=n.add(_,v),v=n.sub(g,v),v=n.mul(p,v),b=n.add(b,v),g=n.mul(_,b),u=n.add(u,g),g=n.mul(x,b),l=n.mul(y,l),l=n.sub(l,g),g=n.mul(y,_),d=n.mul(x,d),d=n.add(d,g),new h(l,u,d)}subtract(e){return this.add(e.negate())}is0(){return this.equals(h.ZERO)}wNAF(e){return v.wNAFCached(this,e,h.normalizeZ)}multiplyUnsafe(e){let{endo:r,n:i}=t;fc(`scalar`,e,wl,i);let a=h.ZERO;if(e===wl)return a;if(this.is0()||e===M)return this;if(!r||v.hasPrecomputes(this))return v.wNAFCachedUnsafe(this,e,h.normalizeZ);let{k1neg:o,k1:s,k2neg:c,k2:l}=r.splitScalar(e),u=a,d=a,f=this;for(;s>wl||l>wl;)s&M&&(u=u.add(f)),l&M&&(d=d.add(f)),f=f.double(),s>>=M,l>>=M;return o&&(u=u.negate()),c&&(d=d.negate()),d=new h(n.mul(d.px,r.beta),d.py,d.pz),u.add(d)}multiply(e){let{endo:r,n:i}=t;fc(`scalar`,e,M,i);let a,o;if(r){let{k1neg:t,k1:i,k2neg:s,k2:c}=r.splitScalar(e),{p:l,f:u}=this.wNAF(i),{p:d,f}=this.wNAF(c);l=v.constTimeNegate(t,l),d=v.constTimeNegate(s,d),d=new h(n.mul(d.px,r.beta),d.py,d.pz),a=l.add(d),o=u.add(f)}else{let{p:t,f:n}=this.wNAF(e);a=t,o=n}return h.normalizeZ([a,o])[0]}multiplyAndAddUnsafe(e,t,n){let r=h.BASE,i=(e,t)=>t===wl||t===M||!e.equals(r)?e.multiplyUnsafe(t):e.multiply(t),a=i(this,t).add(i(e,n));return a.is0()?void 0:a}toAffine(e){return p(this,e)}isTorsionFree(){let{h:e,isTorsionFree:n}=t;if(e===M)return!0;if(n)return n(h,this);throw Error(`isTorsionFree() has not been declared for the elliptic curve`)}clearCofactor(){let{h:e,clearCofactor:n}=t;return e===M?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return Zs(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return Zs(`isCompressed`,e),ec(this.toRawBytes(e))}}h.BASE=new h(t.Gx,t.Gy,n.ONE),h.ZERO=new h(n.ZERO,n.ONE,n.ZERO);let{endo:g,nBitLength:_}=t,v=ol(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function vl(e){let t=cl(e);return hc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function yl(e){let t=vl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Oc(e,r)}function l(e){return Ac(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=_l({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=cc;return Zs(`isCompressed`,r),r?o(Uint8Array.from([t.hasEvenY()?2:3]),a):o(Uint8Array.from([4]),a,n.toBytes(i.y))},fromBytes(e){let t=e.length,r=e[0],i=e.subarray(1);if(t===o&&(r===2||r===3)){let e=rc(i);if(!dc(e,M,n.ORDER))throw Error(`Point is not on curve`);let t=f(e),a;try{a=n.sqrt(t)}catch(e){let t=e instanceof Error?`: `+e.message:``;throw Error(`Point is not on curve`+t)}let o=(a&M)===M;return(r&1)==1!==o&&(a=n.neg(a)),{x:e,y:a}}else if(t===s&&r===4)return{x:n.fromBytes(i.subarray(0,n.BYTES)),y:n.fromBytes(i.subarray(n.BYTES,2*n.BYTES))};else{let e=o,n=s;throw Error(`invalid Point, expected length of `+e+`, or uncompressed `+n+`, got `+t)}}});function m(e){return e>r>>M}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>rc(e.slice(t,n));class _{constructor(e,t,n){fc(`r`,e,M,r),fc(`s`,t,M,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=sc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Cl.toSig(sc(`DER`,e));return new _(t,n)}assertValidity(){}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){let{r,s:i,recovery:a}=this,o=C(sc(`msgHash`,e));if(a==null||![0,1,2,3].includes(a))throw Error(`recovery id invalid`);let s=a===2||a===3?r+t.n:r;if(s>=n.ORDER)throw Error(`recovery id 2 or 3 invalid`);let d=a&1?`03`:`02`,f=u.fromHex(d+gl(s,n.BYTES)),p=l(s),m=c(-o*p),h=c(i*p),g=u.BASE.multiplyAndAddUnsafe(f,m,h);if(!g)throw Error(`point at infinify`);return g.assertValidity(),g}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new _(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return nc(this.toDERHex())}toDERHex(){return Cl.hexFromSig(this)}toCompactRawBytes(){return nc(this.toCompactHex())}toCompactHex(){let e=i;return gl(this.r,e)+gl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Hc(t.n);return Uc(t.randomBytes(e),t.n)},precompute(e=8,t=u.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}};function y(e,t=!0){return u.fromPrivateKey(e).toRawBytes(t)}function b(e){if(typeof e==`bigint`)return!1;if(e instanceof u)return!0;let r=sc(`key`,e).length,a=n.BYTES,o=a+1,s=2*a+1;if(!(t.allowedPrivateKeyLengths||i===o))return r===o||r===s}function x(e,t,n=!0){if(b(e)===!0)throw Error(`first arg must be private key`);if(b(t)===!1)throw Error(`second arg must be public key`);return u.fromHex(t).multiply(d(e)).toRawBytes(n)}let S=t.bits2int||function(e){if(e.length>8192)throw Error(`input is too large`);let t=rc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},ee=Cc(a);function te(e){return fc(`num < 2^`+a,e,wl,ee),ac(e,i)}function ne(e,r,i=re){if([`recovered`,`canonical`].some(e=>e in i))throw Error(`sign() legacy options not supported`);let{hash:a,randomBytes:o}=t,{lowS:s,prehash:f,extraEntropy:g}=i;s??=!0,e=sc(`msgHash`,e),ml(i),f&&(e=sc(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[te(y),te(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(sc(`extraEntropy`,e))}let x=cc(...b),ee=v;function ne(e){let t=S(e);if(!p(t))return;let n=l(t),r=u.BASE.multiply(t).toAffine(),i=c(r.x);if(i===wl)return;let a=c(n*c(ee+i*y));if(a===wl)return;let o=(r.x===i?0:2)|Number(r.y&M),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:ne}}let re={lowS:t.lowS,prehash:!1},ie={lowS:t.lowS,prehash:!1};function ae(e,n,r=re){let{seed:i,k2sig:a}=ne(e,n,r),o=t;return mc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function oe(e,n,r,i=ie){let a=e;n=sc(`msgHash`,n),r=sc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(ml(i),`strict`in i)throw Error(`options.strict was renamed to lowS`);if(d!==void 0&&d!==`compact`&&d!==`der`)throw Error(`format must be compact or der`);let f=typeof a==`string`||Ys(a),p=!f&&!d&&typeof a==`object`&&!!a&&typeof a.r==`bigint`&&typeof a.s==`bigint`;if(!f&&!p)throw Error(`invalid signature, expected Uint8Array, hex string or Signature instance`);let m,h;try{if(p&&(m=new _(a.r,a.s)),f){try{d!==`compact`&&(m=_.fromDER(a))}catch(e){if(!(e instanceof Cl.Err))throw e}!m&&d!==`der`&&(m=_.fromCompact(a))}h=u.fromHex(r)}catch{return!1}if(!m||o&&m.hasHighS())return!1;s&&(n=t.hash(n));let{r:g,s:v}=m,y=C(n),b=l(v),x=c(y*b),S=c(g*b),ee=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return ee?c(ee.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:ae,verify:oe,ProjectivePoint:u,Signature:_,utils:v}}function bl(e,t){let n=e.ORDER,r=wl;for(let e=n-M;e%Tl===wl;e/=Tl)r+=M;let i=r,a=Tl<<i-M-M,o=a*Tl,s=(n-M)/o,c=(s-M)/Tl,l=o-M,u=a,d=e.pow(t,s),f=e.pow(t,(s+M)/Tl),p=(t,n)=>{let r=d,a=e.pow(n,l),o=e.sqr(a);o=e.mul(o,n);let s=e.mul(t,o);s=e.pow(s,c),s=e.mul(s,a),a=e.mul(s,n),o=e.mul(s,t);let p=e.mul(o,a);s=e.pow(p,u);let m=e.eql(s,e.ONE);a=e.mul(o,f),s=e.mul(p,r),o=e.cmov(a,o,m),p=e.cmov(s,p,m);for(let t=i;t>M;t--){let n=t-Tl;n=Tl<<n-M;let i=e.pow(p,n),s=e.eql(i,e.ONE);a=e.mul(o,r),r=e.mul(r,r),i=e.mul(p,r),o=e.cmov(a,o,s),p=e.cmov(i,p,s)}return{isValid:m,value:o}};if(e.ORDER%Dl===El){let n=(e.ORDER-El)/Dl,r=e.sqrt(e.neg(t));p=(t,i)=>{let a=e.sqr(i),o=e.mul(t,i);a=e.mul(a,o);let s=e.pow(a,n);s=e.mul(s,o);let c=e.mul(s,r),l=e.mul(e.sqr(s),i),u=e.eql(l,t);return{isValid:u,value:e.cmov(c,s,u)}}}return p}function xl(e,t){if(Fc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=bl(e,t.Z);if(!e.isOdd)throw Error(`Fp.isOdd is not implemented!`);return r=>{let i,a,o,s,c,l,u,d;i=e.sqr(r),i=e.mul(i,t.Z),a=e.sqr(i),a=e.add(a,i),o=e.add(a,e.ONE),o=e.mul(o,t.B),s=e.cmov(t.Z,e.neg(a),!e.eql(a,e.ZERO)),s=e.mul(s,t.A),a=e.sqr(o),l=e.sqr(s),c=e.mul(l,t.A),a=e.add(a,c),a=e.mul(a,o),l=e.mul(l,s),c=e.mul(l,t.B),a=e.add(a,c),u=e.mul(i,o);let{isValid:f,value:p}=n(a,l);d=e.mul(i,r),d=e.mul(d,p),u=e.cmov(u,o,f),d=e.cmov(d,p,f);let m=e.isOdd(r)===e.isOdd(d);d=e.cmov(e.neg(d),d,m);let h=Lc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var Sl,Cl,wl,M,Tl,El,Dl,Ol=o((()=>{pl(),Qc(),Dc(),Sl=class extends Error{constructor(e=``){super(e)}},Cl={Err:Sl,_tlv:{encode:(e,t)=>{let{Err:n}=Cl;if(e<0||e>256)throw new n(`tlv.encode: wrong tag`);if(t.length&1)throw new n(`tlv.encode: unpadded data`);let r=t.length/2,i=Qs(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?Qs(i.length/2|128):``;return Qs(e)+a+i+t},decode(e,t){let{Err:n}=Cl,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`);let i=t[r++],a=!!(i&128),o=0;if(!a)o=i;else{let e=i&127;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`);let a=t.subarray(r,r+e);if(a.length!==e)throw new n(`tlv.decode: length bytes not complete`);if(a[0]===0)throw new n(`tlv.decode(long): zero leftmost byte`);for(let e of a)o=o<<8|e;if(r+=e,o<128)throw new n(`tlv.decode(long): not minimal encoding`)}let s=t.subarray(r,r+o);if(s.length!==o)throw new n(`tlv.decode: wrong value length`);return{v:s,l:t.subarray(r+o)}}},_int:{encode(e){let{Err:t}=Cl;if(e<wl)throw new t(`integer: negative integers are not allowed`);let n=Qs(e);if(Number.parseInt(n[0],16)&8&&(n=`00`+n),n.length&1)throw new t(`unexpected DER parsing assertion: unpadded hex`);return n},decode(e){let{Err:t}=Cl;if(e[0]&128)throw new t(`invalid signature integer: negative`);if(e[0]===0&&!(e[1]&128))throw new t(`invalid signature integer: unnecessary leading zero`);return rc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Cl,i=sc(`signature`,e),{v:a,l:o}=r.decode(48,i);if(o.length)throw new t(`invalid signature: left bytes after parsing`);let{v:s,l:c}=r.decode(2,a),{v:l,l:u}=r.decode(2,c);if(u.length)throw new t(`invalid signature: left bytes after parsing`);return{r:n.decode(s),s:n.decode(l)}},hexFromSig(e){let{_tlv:t,_int:n}=Cl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},wl=BigInt(0),M=BigInt(1),Tl=BigInt(2),El=BigInt(3),Dl=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction kl(e){return{hash:e,hmac:(t,...n)=>qs(e,t,Wr(...n)),randomBytes:Kr}}function Al(e,t){let n=t=>yl({...e,...kl(t)});return{...n(t),create:n}}var jl=o((()=>{Js(),Xr(),Ol()}));function Ml(e,t){if(Pl(e),Pl(t),e<0||e>=1<<8*t)throw Error(`invalid I2OSP input: `+e);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function Nl(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function Pl(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Fl(e,t,n,r){Xs(e),Xs(t),Pl(n),t.length>255&&(t=r(cc(uc(`H2C-OVERSIZE-DST-`),t)));let{outputLen:i,blockLen:a}=r,o=Math.ceil(n/i);if(n>65535||o>255)throw Error(`expand_message_xmd: invalid lenInBytes`);let s=cc(t,Ml(t.length,1)),c=Ml(0,a),l=Ml(n,2),u=Array(o),d=r(cc(c,e,l,Ml(0,1),s));u[0]=r(cc(d,Ml(1,1),s));for(let e=1;e<=o;e++)u[e]=r(cc(Nl(d,u[e-1]),Ml(e+1,1),s));return cc(...u).slice(0,n)}function Il(e,t,n,r,i){if(Xs(e),Xs(t),Pl(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(uc(`H2C-OVERSIZE-DST-`)).update(t).digest()}if(n>65535||t.length>255)throw Error(`expand_message_xof: invalid lenInBytes`);return i.create({dkLen:n}).update(e).update(Ml(n,2)).update(t).update(Ml(t.length,1)).digest()}function Ll(e,t,n){hc(n,{DST:`stringOrUint8Array`,p:`bigint`,m:`isSafeInteger`,k:`isSafeInteger`,hash:`hash`});let{p:r,k:i,m:a,hash:o,expand:s,DST:c}=n;Xs(e),Pl(t);let l=typeof c==`string`?uc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Fl(e,l,f,o);else if(s===`xof`)p=Il(e,l,f,i,o);else if(s===`_internal_pass`)p=e;else throw Error(`expand must be \"xmd\" or \"xof\"`);let m=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=d*(n+e*a);t[n]=Oc(Bl(p.subarray(i,i+d)),r)}m[e]=t}return m}function Rl(e,t){let n=t.map(e=>Array.from(e).reverse());return(t,r)=>{let[i,a,o,s]=n.map(n=>n.reduce((n,r)=>e.add(e.mul(n,t),r))),[c,l]=Lc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function zl(e,t,n){if(typeof t!=`function`)throw Error(`mapToCurve() must be defined`);function r(n){return e.fromAffine(t(n))}function i(t){let n=t.clearCofactor();return n.equals(e.ZERO)?e.ZERO:(n.assertValidity(),n)}return{defaults:n,hashToCurve(e,t){let a=Ll(e,2,{...n,DST:n.DST,...t}),o=r(a[0]),s=r(a[1]);return i(o.add(s))},encodeToCurve(e,t){return i(r(Ll(e,1,{...n,DST:n.encodeDST,...t})[0]))},mapToCurve(e){if(!Array.isArray(e))throw Error(`expected array of bigints`);for(let t of e)if(typeof t!=`bigint`)throw Error(`expected array of bigints`);return i(r(e))}}}var Bl,Vl=o((()=>{Qc(),Dc(),Bl=rc})),Hl=c({encodeToCurve:()=>vu,hashToCurve:()=>_u,schnorr:()=>pu,secp256k1:()=>iu,secp256k1_hasher:()=>gu});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Ul(e){let t=Zl,n=BigInt(3),r=BigInt(6),i=BigInt(11),a=BigInt(22),o=BigInt(23),s=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=kc(kc(kc(u,n,t)*u%t,n,t)*u%t,tu,t)*l%t,f=kc(d,i,t)*d%t,p=kc(f,a,t)*f%t,m=kc(p,s,t)*p%t,h=kc(kc(kc(kc(kc(kc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,tu,t);if(!ru.eql(ru.sqr(h),e))throw Error(`Cannot find square root`);return h}function Wl(e,...t){let n=au[e];if(n===void 0){let t=Hs(Uint8Array.from(e,e=>e.charCodeAt(0)));n=cc(t,t),au[e]=n}return Hs(cc(n,...t))}function Gl(e){let t=iu.utils.normPrivateKeyToScalar(e),n=uu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:lu(-t),bytes:ou(n)}}function Kl(e){fc(`x`,e,eu,Zl);let t=Ul(cu(cu(e*e)*e+BigInt(7)));t%tu!==$l&&(t=cu(-t));let n=new uu(e,t,eu);return n.assertValidity(),n}function ql(...e){return lu(fu(Wl(`BIP0340/challenge`,...e)))}function Jl(e){return Gl(e).bytes}function Yl(e,t,n=Kr(32)){let r=sc(`message`,e),{bytes:i,scalar:a}=Gl(t),o=lu(fu(Wl(`BIP0340/nonce`,su(a^fu(Wl(`BIP0340/aux`,sc(`auxRand`,n,32)))),i,r)));if(o===$l)throw Error(`sign failed: k is zero`);let{bytes:s,scalar:c}=Gl(o),l=ql(s,i,r),u=new Uint8Array(64);if(u.set(s,0),u.set(su(lu(c+l*a)),32),!Xl(u,r,i))throw Error(`sign: Invalid signature produced`);return u}function Xl(e,t,n){let r=sc(`signature`,e,64),i=sc(`message`,t),a=sc(`publicKey`,n,32);try{let e=Kl(fu(a)),t=fu(r.subarray(0,32));if(!dc(t,eu,Zl))return!1;let n=fu(r.subarray(32,64));if(!dc(n,eu,Ql))return!1;let o=du(e,n,lu(-ql(su(t),ou(e),i)));return!(!o||!o.hasEvenY()||o.toAffine().x!==t)}catch{return!1}}var Zl,Ql,$l,eu,tu,nu,ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu=o((()=>{Gs(),Xr(),jl(),Vl(),Qc(),Dc(),Ol(),Zl=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),Ql=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),$l=BigInt(0),eu=BigInt(1),tu=BigInt(2),nu=(e,t)=>(e+t/tu)/t,ru=Bc(Zl,void 0,void 0,{sqrt:Ul}),iu=Al({a:$l,b:BigInt(7),Fp:ru,n:Ql,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=Ql,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-eu*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=nu(a*e,t),c=nu(-r*e,t),l=Oc(e-s*n-c*i,t),u=Oc(-s*r-c*a,t),d=l>o,f=u>o;if(d&&(l=t-l),f&&(u=t-u),l>o||u>o)throw Error(`splitScalar: Endomorphism failed, k=`+e);return{k1neg:d,k1:l,k2neg:f,k2:u}}}},Hs),au={},ou=e=>e.toRawBytes(!0).slice(1),su=e=>ac(e,32),cu=e=>Oc(e,Zl),lu=e=>Oc(e,Ql),uu=iu.ProjectivePoint,du=(e,t,n)=>uu.BASE.multiplyAndAddUnsafe(e,t,n),fu=rc,pu={getPublicKey:Jl,sign:Yl,verify:Xl,utils:{randomPrivateKey:iu.utils.randomPrivateKey,lift_x:Kl,pointToBytes:ou,numberToBytesBE:ac,bytesToNumberBE:rc,taggedHash:Wl,mod:Oc}},mu=Rl(ru,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),hu=xl(ru,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:ru.create(BigInt(`-11`))}),gu=zl(iu.ProjectivePoint,e=>{let{x:t,y:n}=hu(ru.create(e[0]));return mu(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:ru.ORDER,m:1,k:128,expand:`xmd`,hash:Hs}),_u=gu.hashToCurve,vu=gu.encodeToCurve}));qt(),Yt(),Wn(),A();async function bu({hash:e,signature:t}){let n=T(e)?e:Gn(e),{secp256k1:r}=await Promise.resolve().then(()=>(yu(),Hl));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=xu(Number(a??i));return new r.Signature(O(e),O(n)).addRecoveryBit(o)}let e=T(t)?t:Gn(t);if(Jt(e)!==65)throw Error(`invalid signature length`);let n=xu(Un(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function xu(e){if(e===0||e===1)return e;if(e===27)return 0;if(e===28)return 1;throw Error(`Invalid yParityOrV value`)}async function Su({hash:e,signature:t}){return Cs(await bu({hash:e,signature:t}))}D(),Fa(),ar(),A();function Cu(e,t=`hex`){let n=wu(e),r=Na(new Uint8Array(n.length));return n.encode(r),t===`hex`?qn(r.bytes):r.bytes}function wu(e){return Array.isArray(e)?Tu(e.map(e=>wu(e))):Eu(e)}function Tu(e){let t=e.reduce((e,t)=>e+t.length,0),n=Du(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function Eu(e){let t=typeof e==`string`?er(e):e,n=Du(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function Du(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new E(`Length is too large.`)}Wi(),ar(),A(),_i();function Ou(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=gi(Ui([`0x05`,Cu([t?k(t):`0x`,i,n?k(n):`0x`])]));return r===`bytes`?er(a):a}async function ku(e){let{authorization:t,signature:n}=e;return Su({hash:Ou(t),signature:n??t})}po(),ho(),D(),Oo();var Au=class extends E{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=xo({from:t?.address,to:u,value:d!==void 0&&`${fo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${mo(o)} gwei`,maxFeePerGas:s!==void 0&&`${mo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${mo(c)} gwei`,nonce:l});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}},ju,Mu,Nu,Pu,Fu,Iu,Lu,Ru,zu,Bu,Vu,Hu,Uu=o((()=>{ho(),D(),ju=class extends E{constructor({cause:e,message:t}={}){let 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(ju,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(ju,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Mu=class extends E{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${mo(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(Mu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),Nu=class extends E{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${mo(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(Nu,\"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/}),Pu=class extends E{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(Pu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Fu=class extends E{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(Fu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Iu=class extends E{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(Iu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Lu=class extends E{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(Lu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Ru=class extends E{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(Ru,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),zu=class extends E{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(zu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Bu=class extends E{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),Vu=class extends E{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${mo(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${mo(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(Vu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Hu=class extends E{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function Wu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof E?e.walk(e=>e?.code===ju.code):e;return r instanceof E?new ju({cause:e,message:r.details}):ju.nodeMessage.test(n)?new ju({cause:e,message:e.details}):Mu.nodeMessage.test(n)?new Mu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Nu.nodeMessage.test(n)?new Nu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Pu.nodeMessage.test(n)?new Pu({cause:e,nonce:t?.nonce}):Fu.nodeMessage.test(n)?new Fu({cause:e,nonce:t?.nonce}):Iu.nodeMessage.test(n)?new Iu({cause:e,nonce:t?.nonce}):Lu.nodeMessage.test(n)?new Lu({cause:e}):Ru.nodeMessage.test(n)?new Ru({cause:e,gas:t?.gas}):zu.nodeMessage.test(n)?new zu({cause:e,gas:t?.gas}):Bu.nodeMessage.test(n)?new Bu({cause:e}):Vu.nodeMessage.test(n)?new Vu({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Hu({cause:e})}var Gu=o((()=>{D(),Uu()}));Uu(),Gu();function Ku(e,{docsPath:t,...n}){return new Au((()=>{let t=Wu(e,n);return t instanceof Hu?e:t})(),{docsPath:t,...n})}function qu(e,{format:t}){if(!t)return{};let n={};function r(t){let i=Object.keys(t);for(let a of i)a in e&&(n[a]=e[a]),t[a]&&typeof t[a]==`object`&&!Array.isArray(t[a])&&r(t[a])}return r(t(e||{})),n}var Ju=o((()=>{}));function Yu(e,t){return({exclude:n,format:r})=>({exclude:n,format:(e,i)=>{let a=t(e,i);if(n)for(let e of n)delete a[e];return{...a,...r(e,i)}},type:e})}var Xu=o((()=>{}));function Zu(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=Qu(e.authorizationList)),e.accessList!==void 0&&(n.accessList=e.accessList),e.blobVersionedHashes!==void 0&&(n.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(typeof e.blobs[0]==`string`?n.blobs=e.blobs:n.blobs=e.blobs.map(e=>qn(e))),e.data!==void 0&&(n.data=e.data),e.account&&(n.from=e.account.address),e.from!==void 0&&(n.from=e.from),e.gas!==void 0&&(n.gas=k(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=k(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=k(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=k(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=k(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=k(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=$u[e.type]),e.value!==void 0&&(n.value=k(e.value)),n}function Qu(e){return e.map(e=>({address:e.address,r:e.r?k(BigInt(e.r)):e.r,s:e.s?k(BigInt(e.s)):e.s,chainId:k(e.chainId),nonce:k(e.nonce),...e.yParity===void 0?{}:{yParity:k(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:k(e.v)}:{}}))}var $u,ed,td=o((()=>{A(),Xu(),$u={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},ed=Yu(`transactionRequest`,Zu)}));function nd(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new Dn({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new Dn({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function rd(e){let{balance:t,nonce:n,state:r,stateDiff:i,code:a}=e,o={};if(a!==void 0&&(o.code=a),t!==void 0&&(o.balance=k(t)),n!==void 0&&(o.nonce=k(n)),r!==void 0&&(o.state=nd(r)),i!==void 0){if(o.state)throw new yo;o.stateDiff=nd(i)}return o}function id(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Li(n,{strict:!1}))throw new ki({address:n});if(t[n])throw new vo({address:n});t[n]=rd(r)}return t}var ad=o((()=>{Ai(),On(),bo(),Bi(),A()})),od,sd=o((()=>{2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n)),od=2n**256n-1n}));function cd(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?j(t):void 0;if(a&&!Li(a.address))throw new ki({address:a.address});if(i&&!Li(i))throw new ki({address:i});if(n&&n>od)throw new Mu({maxFeePerGas:n});if(r&&n&&r>n)throw new Vu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var ld=o((()=>{ya(),sd(),Ai(),Uu(),Bi()}));ho(),D();var ud=class extends E{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},dd=class extends E{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},fd=class extends E{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${mo(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};D();var pd=class extends E{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`})}};Wn(),Xu();let md={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function hd(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?Un(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?Un(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?md[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&&(n.authorizationList=_d(e.authorizationList)),n.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof n.v==`bigint`){if(n.v===0n||n.v===27n)return 0;if(n.v===1n||n.v===28n)return 1;if(n.v>=35n)return+(n.v%2n==0n)}})(),n.type===`legacy`&&(delete n.accessList,delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.yParity),n.type===`eip2930`&&(delete n.maxFeePerBlobGas,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas),n.type===`eip1559`&&delete n.maxFeePerBlobGas,n}let gd=Yu(`transaction`,hd);function _d(e){return e.map(e=>({address:e.address,chainId:Number(e.chainId),nonce:Number(e.nonce),r:e.r,s:e.s,yParity:Number(e.yParity)}))}function vd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:hd(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:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}A();async function yd(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:k(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new pd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||vd)(s,`getBlock`)}async function bd(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}Wn();async function xd(e,t){let{block:n,chain:r=e.chain,request:i}=t||{};try{let t=r?.fees?.maxPriorityFeePerGas??r?.fees?.defaultPriorityFee;if(typeof t==`function`){let r=await t({block:n||await w(e,yd,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?O(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):w(e,yd,`getBlock`)({}),w(e,bd,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new dd;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Sd(e,t){let{block:n,chain:r=e.chain,request:i,type:a=`eip1559`}=t||{},o=await(async()=>typeof r?.fees?.baseFeeMultiplier==`function`?r.fees.baseFeeMultiplier({block:n,client:e,request:i}):r?.fees?.baseFeeMultiplier??1.2)();if(o<1)throw new ud;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.ceil(o*s))/BigInt(s),l=n||await w(e,yd,`getBlock`)({});if(typeof r?.fees?.estimateFeesPerGas==`function`){let t=await r.fees.estimateFeesPerGas({block:n,client:e,multiply:c,request:i,type:a});if(t!==null)return t}if(a===`eip1559`){if(typeof l.baseFeePerGas!=`bigint`)throw new dd;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await xd(e,{block:l,chain:r,request:i}),n=c(l.baseFeePerGas);return{maxFeePerGas:i?.maxFeePerGas??n+t,maxPriorityFeePerGas:t}}return{gasPrice:i?.gasPrice??c(await w(e,bd,`getGasPrice`)({}))}}function Cd(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new E(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?k(n):r??`latest`}var wd=o((()=>{D(),A()}));wd(),Wn();async function Td(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Cd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return Un(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}ar(),A();function Ed(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>er(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>qn(e))}ar(),A();function Dd(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>er(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>er(e)):e.commitments,a=[];for(let e=0;e<r.length;e++){let n=r[e],o=i[e];a.push(Uint8Array.from(t.computeBlobKzgProof(n,o)))}return n===`bytes`?a:a.map(e=>qn(e))}Gs();let Od=Hs;qt(),ar(),A();function kd(e,t){let n=t||`hex`,r=Od(T(e,{strict:!1})?Zn(e):e);return n===`bytes`?r:Gn(r)}A();function Ad(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=kd(t,`bytes`);return i.set([n],0),r===`bytes`?i:qn(i)}function jd(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Ad({commitment:e,to:r,version:n}));return i}D();var Md=class extends E{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Nd=class extends E{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Pd=class extends E{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Fd=class extends E{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};Fa(),Yt(),ar(),A();function Id(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?er(e.data):e.data,r=Jt(n);if(!r)throw new Nd;if(r>761855)throw new Md({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Na(new Uint8Array(131072)),t=0;for(;t<4096;){let r=n.slice(o,o+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),a=!1;break}t++,o+=31}i.push(e)}return t===`bytes`?i.map(e=>e.bytes):i.map(e=>qn(e.bytes))}function Ld(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Id({data:t,to:r}),a=e.commitments??Ed({blobs:i,kzg:n,to:r}),o=e.proofs??Dd({blobs:i,commitments:a,kzg:n,to:r}),s=[];for(let e=0;e<i.length;e++)s.push({blob:i[e],commitment:a[e],proof:o[e]});return s}Oo();function Rd(e){if(e.type)return e.type;if(e.authorizationList!==void 0)return`eip7702`;if(e.blobs!==void 0||e.blobVersionedHashes!==void 0||e.maxFeePerBlobGas!==void 0||e.sidecars!==void 0)return`eip4844`;if(e.maxFeePerGas!==void 0||e.maxPriorityFeePerGas!==void 0)return`eip1559`;if(e.gasPrice!==void 0)return e.accessList===void 0?`legacy`:`eip2930`;throw new Co({transaction:e})}Uu(),Oo(),Gu();function zd(e,{docsPath:t,...n}){return new Do((()=>{let t=Wu(e,n);return t instanceof Hu?e:t})(),{docsPath:t,...n})}Wn();async function Bd(e){return Un(await e.request({method:`eth_chainId`},{dedupe:!0}))}ya(),Ju(),td(),ld();async function Vd(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:m,nonceManager:h,to:g,type:_,value:v,...y}=t,b=await(async()=>{if(!n||!h||m!==void 0)return m;let t=j(n),r=a?a.id:await w(e,Bd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();cd(t);let x=a?.formatters?.transactionRequest?.format,S=(x||Zu)({...qu(y,{format:x}),account:n?j(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:b,to:g,type:_,value:v},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[S]}),r=(a?.formatters?.transaction?.format||hd)(n.tx);delete r.blockHash,delete r.blockNumber,delete r.r,delete r.s,delete r.transactionIndex,delete r.v,delete r.yParity,r.data=r.input,r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let i=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await w(e,yd,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new ud;let o=10**(i.toString().split(`.`)[1]?.length??0),s=e=>e*BigInt(Math.ceil(i*o))/BigInt(o);return r.feePayerSignature||(r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=s(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=s(r.gasPrice))),{raw:n.raw,transaction:{from:S.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw zd(n,{...t,chain:e.chain})}}ya(),Mi(),ld();let Hd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Ud=new Map,Wd=new ji(128);async function Gd(e,t){let n=t;n.account??=e.account,n.parameters??=Hd;let{account:r,chain:i=e.chain,nonceManager:a,parameters:o}=n,s=(()=>{if(typeof i?.prepareTransactionRequest==`function`)return{fn:i.prepareTransactionRequest,runAt:[`beforeFillTransaction`]};if(Array.isArray(i?.prepareTransactionRequest))return{fn:i.prepareTransactionRequest[0],runAt:i.prepareTransactionRequest[1].runAt}})(),c;async function l(){return c||(n.chainId===void 0?i?i.id:(c=await w(e,Bd,`getChainId`)({}),c):n.chainId)}let u=r&&j(r),d=n.nonce;if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}s?.fn&&s.runAt?.includes(`beforeFillTransaction`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce);let f=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs||Wd.get(e.uid)===!1||![`fees`,`gas`].some(e=>o.includes(e)))&&(o.includes(`chainId`)&&typeof n.chainId!=`number`||o.includes(`nonce`)&&typeof d!=`number`||o.includes(`fees`)&&typeof n.gasPrice!=`bigint`&&(typeof n.maxFeePerGas!=`bigint`||typeof n.maxPriorityFeePerGas!=`bigint`)||o.includes(`gas`)&&typeof n.gas!=`bigint`)?await w(e,Vd,`fillTransaction`)({...n,nonce:d}).then(t=>{let{chainId:r,from:i,gas:a,gasPrice:o,nonce:s,maxFeePerBlobGas:c,maxFeePerGas:l,maxPriorityFeePerGas:u,type:d,...f}=t.transaction;return Wd.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...`feeToken`in f&&f.feeToken!==void 0&&f.feeToken!==null&&!(`feeToken`in n)?{feeToken:f.feeToken}:{},...t.capabilities?{_capabilities:t.capabilities}:{}}}).catch(t=>{let r=t;if(r.name!==`TransactionExecutionError`)return n;if(r.walk?.(e=>e.name===`ExecutionRevertedError`))throw t;return r.walk?.(e=>{let t=e;return t.name===`MethodNotFoundRpcError`||t.name===`MethodNotSupportedRpcError`||t.message?.includes(`eth_fillTransaction is not available`)})&&Wd.set(e.uid,!1),n}):n;d??=f.nonce,n={...f,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:p,gas:m,kzg:h,type:g}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let _;async function v(){return _||(_=await w(e,yd,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await w(e,Td,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=Ed({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=jd({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Ld({blobs:p,commitments:e,proofs:Dd({blobs:p,commitments:e,kzg:h}),to:`hex`});n.sidecars=t}}if(o.includes(`chainId`)&&(n.chainId=await l()),(o.includes(`fees`)||o.includes(`type`))&&g===void 0)try{n.type=Rd(n)}catch{let t=Ud.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Ud.set(e.uid,t)),n.type=t?`eip1559`:`legacy`}if(o.includes(`fees`))if(n.type!==`legacy`&&n.type!==`eip2930`){if(n.maxFeePerGas===void 0||n.maxPriorityFeePerGas===void 0){let{maxFeePerGas:t,maxPriorityFeePerGas:r}=await Sd(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new fd({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new dd;if(n.gasPrice===void 0){let{gasPrice:t}=await Sd(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}return o.includes(`gas`)&&m===void 0&&(n.gas=await w(e,Kd,`estimateGas`)({...n,account:u,prepare:u?.type===`local`?[]:[`blobVersionedHashes`]})),s?.fn&&s.runAt?.includes(`afterFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`afterFillParameters`})),cd(n),delete n.parameters,n}ya(),D(),A(),Ju(),td(),ad(),ld();async function Kd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?j(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await ku({authorization:t.authorizationList[0]}).catch(()=>{throw new E(\"`to` is required. Could not infer from `authorizationList`\")})})(),{accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,blockNumber:u,blockTag:d,data:f,gas:p,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,value:y,stateOverride:b,...x}=r?await Gd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?k(u):void 0)||d,C=id(b);cd(t);let ee=e.chain?.formatters?.transactionRequest?.format,te=(ee||Zu)({...qu(x,{format:ee}),account:i,accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,to:n,value:y},`estimateGas`);return BigInt(await e.request({method:`eth_estimateGas`,params:C?[te,S??e.experimental_blockTag??`latest`,C]:S?[te,S]:[te]}))}catch(n){throw Ku(n,{...t,account:i,chain:e.chain})}}function qd(e,t){if(!Li(e,{strict:!1}))throw new ki({address:e});if(!Li(t,{strict:!1}))throw new ki({address:t});return e.toLowerCase()===t.toLowerCase()}var Jd=o((()=>{Ai(),Bi()}));function Yd(e,{args:t,eventName:n}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,blockTimestamp:e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0,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}:{}}}wn(),Ma(),Yt(),Oi(),$a(),Kt();let Xd=`/docs/contract/decodeEventLog`;function Zd(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new dn({docsPath:Xd});let c=t.find(e=>e.type===`event`&&o===Di(Ut(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new fn(o,{docsPath:Xd});let{name:l,inputs:u}=c,d=u?.some(e=>!(`name`in e&&e.name)),f=d?[]:{},p=u.map((e,t)=>[e,t]).filter(([e])=>`indexed`in e&&e.indexed),m=[];for(let e=0;e<p.length;e++){let[t,n]=p[e],r=s[e];if(!r){if(a)throw new yn({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=Qd({param:t,value:r})}let h=u.filter(e=>!(`indexed`in e&&e.indexed)),g=a?h:[...m.map(([e])=>e),...h];if(g.length>0){if(n&&n!==`0x`)try{let e=Va(g,n);if(e){let t=0;if(!a)for(let[n,r]of m)f[d?r:n.name||r]=e[t++];if(d)for(let n=0;n<u.length;n++)f[n]===void 0&&t<e.length&&(f[n]=e[t++]);else for(let n=0;n<h.length;n++)f[h[n].name]=e[t++]}}catch(e){if(a)throw e instanceof nn||e instanceof Aa?new vn({abiItem:c,data:n,params:g,size:Jt(n)}):e}else if(a)throw new vn({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function Qd({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Va([e],t)||[])[0]}Jd(),ar(),_i(),Oi();function $d(e){let{abi:t,args:n,logs:r,strict:i=!0}=e,a=(()=>{if(e.eventName)return Array.isArray(e.eventName)?e.eventName:[e.eventName]})(),o=t.filter(e=>e.type===`event`).map(e=>({abi:e,selector:Di(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?Yd(e):e,r=o.filter(e=>t.topics[0]===e.selector);if(r.length===0)return null;let s,c;for(let e of r)try{s=Zd({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=Zd({data:t.data,topics:t.topics,abi:[c.abi],strict:!1})}catch{let e=c.abi.inputs?.some(e=>!(`name`in e&&e.name));return{...t,args:e?[]:{},eventName:c.abi.name}}}return!s||!c||a&&!a.includes(s.eventName)||!ef({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function ef(e){let{args:t,inputs:n,matchArgs:r}=e;if(!r)return!0;if(!t)return!1;function i(e,t,n){try{return e.type===`address`?qd(t,n):e.type===`string`||e.type===`bytes`?gi(Zn(t))===n:t===n}catch{return!1}}return Array.isArray(t)&&Array.isArray(r)?r.every((e,r)=>{if(e==null)return!0;let a=n[r];return a?(Array.isArray(e)?e:[e]).some(e=>i(a,e,t[r])):!1}):typeof t==`object`&&!Array.isArray(t)&&typeof r==`object`&&!Array.isArray(r)?Object.entries(r).every(([e,r])=>{if(r==null)return!0;let a=n.find(t=>t.name===e);return a?(Array.isArray(r)?r:[r]).some(n=>i(a,n,t[e])):!1}):!1}function tf(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=ha({abi:t,args:n,name:r});if(!e)throw new pn(r,{docsPath:nf});a=e}if(a.type!==`function`)throw new pn(void 0,{docsPath:nf});if(!a.outputs)throw new mn(a.name,{docsPath:nf});let o=Va(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var nf,rf=o((()=>{wn(),$a(),va(),nf=`/docs/contract/decodeFunctionResult`})),af,of=o((()=>{af=`0.1.1`}));function sf(){return af}var cf=o((()=>{of()}));function lf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?lf(e.cause,t):t?null:e}var N,uf=o((()=>{cf(),N=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=n.docsOrigin??e.prototype.docsOrigin,o=`${a}${i??``}`,s=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,l=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i||s?[``,r?`Details: ${r}`:void 0,i?`See: ${o}`:void 0,s?`Version: ${c}`:void 0]:[]].filter(e=>typeof e==`string`).join(`\n`);super(l,n.cause?{cause:n.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,\"docsOrigin\",{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,\"showVersion\",{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,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.cause=n.cause,this.details=r,this.docs=o,this.docsOrigin=a,this.docsPath=i,this.shortMessage=t,this.showVersion=s,this.version=c}walk(e){return lf(this,e)}},Object.defineProperty(N,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${sf()}`}}),N.setStaticOptions(N.defaultStaticOptions)}));function df(e,t){if(zf(e)>t)throw new Qf({givenSize:zf(e),maxSize:t})}function ff(e,t){if(typeof t==`number`&&t>0&&t>zf(e)-1)throw new $f({offset:t,position:`start`,size:zf(e)})}function pf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&zf(e)!==n-t)throw new $f({offset:n,position:`end`,size:zf(e)})}function mf(e){if(e>=_f.zero&&e<=_f.nine)return e-_f.zero;if(e>=_f.A&&e<=_f.F)return e-(_f.A-10);if(e>=_f.a&&e<=_f.f)return e-(_f.a-10)}function hf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new ep({size:e.length,targetSize:r,type:`Bytes`});let i=new Uint8Array(r);for(let t=0;t<r;t++){let a=n===`right`;i[a?t:r-t-1]=e[a?t:e.length-t-1]}return i}function gf(e,t={}){let{dir:n=`left`}=t,r=e,i=0;for(let e=0;e<r.length-1&&r[n===`left`?e:r.length-e-1].toString()===`0`;e++)i++;return r=n===`left`?r.slice(i):r.slice(0,r.length-i),r}var _f,vf=o((()=>{tp(),_f={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function yf(e,t){if(lp(e)>t)throw new Sp({givenSize:lp(e),maxSize:t})}function bf(e,t){if(typeof t==`number`&&t>0&&t>lp(e)-1)throw new Cp({offset:t,position:`start`,size:lp(e)})}function xf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&lp(e)!==n-t)throw new Cp({offset:n,position:`end`,size:lp(e)})}function Sf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;let i=e.replace(`0x`,``);if(i.length>r*2)throw new wp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function Cf(e,t={}){let{dir:n=`left`}=t,r=e.replace(`0x`,``),i=0;for(let e=0;e<r.length-1&&r[n===`left`?e:r.length-e-1].toString()===`0`;e++)i++;return r=n===`left`?r.slice(i):r.slice(0,r.length-i),r===`0`?`0x`:n===`right`&&r.length%2==1?`0x${r}0`:`0x${r}`}var wf=o((()=>{R()}));function Tf(e){if(e===null||typeof e==`boolean`||typeof e==`string`)return JSON.stringify(e);if(typeof e==`number`){if(!Number.isFinite(e))throw TypeError(`Cannot canonicalize non-finite number`);return Object.is(e,-0)?`0`:JSON.stringify(e)}if(typeof e==`bigint`)throw TypeError(`Cannot canonicalize bigint`);if(Array.isArray(e))return`[${e.map(e=>Tf(e)).join(`,`)}]`;if(typeof e==`object`)return`{${Object.keys(e).sort().reduce((t,n)=>{let r=e[n];return r!==void 0&&t.push(`${JSON.stringify(n)}:${Tf(r)}`),t},[]).join(`,`)}}`}function Ef(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Of)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Df(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Of:n,n)}var Of,kf=o((()=>{Of=`#__bigint`}));function Af(e){if(!(e instanceof Uint8Array)&&(!e||typeof e!=`object`||!(`BYTES_PER_ELEMENT`in e)||e.BYTES_PER_ELEMENT!==1||e.constructor.name!==`Uint8Array`))throw new Zf(e)}function jf(...e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function Mf(e){return e instanceof Uint8Array?e:typeof e==`string`?Pf(e):Nf(e)}function Nf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Pf(e,t={}){let{size:n}=t,r=e;n&&(yf(e,n),r=sp(e,n));let i=r.slice(2);i.length%2&&(i=`0${i}`);let a=i.length/2,o=new Uint8Array(a);for(let e=0,t=0;e<a;e++){let n=mf(i.charCodeAt(t++)),r=mf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new N(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function Ff(e,t={}){let{size:n}=t,r=Yf.encode(e);return typeof n==`number`?(df(r,n),Lf(r,n)):r}function If(e,t){return lc(e,t)}function Lf(e,t){return hf(e,{dir:`right`,size:t})}function Rf(e){return crypto.getRandomValues(new Uint8Array(e))}function zf(e){return e.length}function Bf(e,t,n,r={}){let{strict:i}=r;ff(e,t);let a=e.slice(t,n);return i&&pf(a,t,n),a}function Vf(e,t={}){let{size:n}=t;return n!==void 0&&df(e,n),dp(F(e,t),t)}function Hf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(df(r,n),r=Gf(r)),r.length>1||r[0]>1)throw new Xf(r);return!!r[0]}function Uf(e,t={}){let{size:n}=t;return n!==void 0&&df(e,n),pp(F(e,t),t)}function Wf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(df(r,n),r=Kf(r)),Jf.decode(r)}function Gf(e){return gf(e,{dir:`left`})}function Kf(e){return gf(e,{dir:`right`})}function qf(e){try{return Af(e),!0}catch{return!1}}var Jf,Yf,Xf,Zf,Qf,$f,ep,tp=o((()=>{Dc(),uf(),R(),vf(),wf(),kf(),Jf=new TextDecoder,Yf=new TextEncoder,Xf=class extends N{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`})}},Zf=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?Df(e):e}\\` of type \\`${typeof e}\\` is an invalid Bytes value.`,{metaMessages:[\"Bytes values must be of type `Bytes`.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesTypeError`})}},Qf=class extends N{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`})}},$f=class extends N{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SliceOffsetOutOfBoundsError`})}},ep=class extends N{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`})}}}));function np(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new yp(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new bp(e)}function P(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function rp(e){return e instanceof Uint8Array?F(e):Array.isArray(e)?F(new Uint8Array(e)):e}function ip(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(yf(n,t.size),op(n,t.size)):n}function F(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=_p[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(yf(r,t.size),sp(r,t.size)):r}function I(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new vp({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?BigInt.asUintN(r*8,BigInt(i)):i).toString(16)}`;return r?op(s,r):s}function ap(e,t={}){return F(gp.encode(e),t)}function op(e,t){return Sf(e,{dir:`left`,size:t})}function sp(e,t){return Sf(e,{dir:`right`,size:t})}function cp(e){return F(Rf(e))}function L(e,t,n,r={}){let{strict:i}=r;bf(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&xf(a,t,n),a}function lp(e){return Math.ceil((e.length-2)/2)}function up(e){return Cf(e,{dir:`left`})}function dp(e,t={}){let{signed:n}=t;t.size&&yf(e,t.size);let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2,a=(1n<<BigInt(i)*8n)-1n;return r<=a>>1n?r:r-a-1n}function fp(e,t={}){return Pf(e,t)}function pp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:dp(e,t))}function mp(e,t={}){let{size:n}=t,r=Pf(e);return n&&(df(r,n),r=Kf(r)),new TextDecoder().decode(r)}function hp(e,t={}){let{strict:n=!1}=t;try{return np(e,{strict:n}),!0}catch{return!1}}var gp,_p,vp,yp,bp,xp,Sp,Cp,wp,R=o((()=>{tp(),uf(),vf(),wf(),kf(),gp=new TextEncoder,_p=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),vp=class extends N{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \\`${i}\\` is not in safe${r?` ${r*8}-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`})}},yp=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?Df(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`})}},bp=class extends N{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`})}},xp=class extends N{constructor(e){super(`Hex value \\`\"${e}\"\\` is an odd length (${e.length-2} nibbles).`,{metaMessages:[`It must be an even length.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidLengthError`})}},Sp=class extends N{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`})}},Cp=class extends N{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},wp=class extends N{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 Tp(e){return{address:e.address,amount:I(e.amount),index:I(e.index),validatorIndex:I(e.validatorIndex)}}var Ep=o((()=>{R()}));function Dp(e){return{...typeof e.baseFeePerGas==`bigint`&&{baseFeePerGas:I(e.baseFeePerGas)},...typeof e.blobBaseFee==`bigint`&&{blobBaseFee:I(e.blobBaseFee)},...typeof e.feeRecipient==`string`&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit==`bigint`&&{gasLimit:I(e.gasLimit)},...typeof e.number==`bigint`&&{number:I(e.number)},...typeof e.prevRandao==`bigint`&&{prevRandao:I(e.prevRandao)},...typeof e.time==`bigint`&&{time:I(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Tp)}}}var Op=o((()=>{R(),Ep()})),kp,Ap,jp,Mp,Np,Pp=o((()=>{kp=[{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:`addr`,type:`address`}],name:`getEthBalance`,outputs:[{name:`balance`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getCurrentBlockTimestamp`,outputs:[{internalType:`uint256`,name:`timestamp`,type:`uint256`}],stateMutability:`view`,type:`function`}],Ap=[{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`}]}],jp=[{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`}],[...jp],[...jp],Mp=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Np=[{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`}]})),Fp=o((()=>{})),Ip,Lp,Rp,zp,Bp=o((()=>{Ip=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Lp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Rp=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,zp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),Vp,Hp,Up,Wp,Gp,Kp=o((()=>{D(),Vp=class extends E{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`})}},Hp=class extends E{constructor({chain:e,currentChainId:t}){super(`The current chain of the wallet (id: ${t}) does not match the target chain for the transaction (id: ${e.id} \u2013 ${e.name}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${e.id} \u2013 ${e.name}`],name:`ChainMismatchError`})}},Up=class extends E{constructor(){super([`No chain was provided to the request.`,\"Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.\"].join(`\n`),{name:`ChainNotFoundError`})}},Wp=class extends E{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},Gp=class extends E{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function qp(e){let{abi:t,args:n,bytecode:r}=e;if(!n||n.length===0)return r;let i=t.find(e=>`type`in e&&e.type===`constructor`);if(!i)throw new en({docsPath:Jp});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new tn({docsPath:Jp});return Ui([r,ea(i.inputs,n)])}var Jp,Yp=o((()=>{wn(),Wi(),fa(),Jp=`/docs/contract/encodeDeployData`}));function Xp({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Vp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Vp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var Zp=o((()=>{Kp()}));function Qp(e,{docsPath:t,...n}){return new Po((()=>{let t=Wu(e,n);return t instanceof Hu?e:t})(),{docsPath:t,...n})}var $p=o((()=>{Bo(),Uu(),Gu()}));function em(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var tm=o((()=>{}));function nm({fn:e,id:t,shouldSplitBatch:n,wait:r=0,sort:i}){let a=async()=>{let t=c();o();let n=t.map(({args:e})=>e);n.length!==0&&e(n).then(e=>{i&&Array.isArray(e)&&e.sort(i);for(let n=0;n<t.length;n++){let{resolve:r}=t[n];r?.([e[n],e])}}).catch(e=>{for(let n=0;n<t.length;n++){let{reject:r}=t[n];r?.(e)}})},o=()=>rm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>rm.get(t)||[],l=e=>rm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=em();return n?.([...s(),e])&&a(),c().length>0?(l({args:e,resolve:i,reject:o}),t):(l({args:e,resolve:i,reject:o}),setTimeout(a,r),t)}}}var rm,im=o((()=>{tm(),rm=new Map})),am,om,sm,cm=o((()=>{ro(),D(),No(),am=class extends E{constructor({callbackSelector:e,cause:t,data:n,extraData:r,sender:i,urls:a}){super(t.shortMessage||`An error occurred while fetching for an offchain result.`,{cause:t,metaMessages:[...t.metaMessages||[],t.metaMessages?.length?``:[],`Offchain Gateway Call:`,a&&[` Gateway URL(s):`,...a.map(e=>` ${Mo(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},om=class extends E{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Mo(t)}`,`Response: ${no(e)}`],name:`OffchainLookupResponseMalformedError`})}},sm=class extends E{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`})}}}));function lm(e){let{abi:t,data:n}=e,r=Gi(n,0,4),i=t.find(e=>e.type===`function`&&r===pa(Ut(e)));if(!i)throw new hn(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?Va(i.inputs,Gi(n,4)):void 0}}var um=o((()=>{wn(),Xi(),ma(),$a(),Kt()}));function dm(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=ha({abi:t,args:r,name:n});if(!e)throw new ln(n,{docsPath:fm});i=e}if(i.type!==`error`)throw new ln(void 0,{docsPath:fm});let a=pa(Ut(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new cn(i.name,{docsPath:fm});o=ea(i.inputs,r)}return Ui([a,o])}var fm,pm=o((()=>{wn(),Wi(),ma(),fa(),Kt(),va(),fm=`/docs/contract/encodeErrorResult`}));function mm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=ha({abi:t,name:n});if(!e)throw new pn(n,{docsPath:hm});i=e}if(i.type!==`function`)throw new pn(void 0,{docsPath:hm});if(!i.outputs)throw new mn(i.name,{docsPath:hm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new Sn(r)})();return ea(i.outputs,a)}var hm,gm=o((()=>{wn(),fa(),va(),hm=`/docs/contract/encodeFunctionResult`}));async function _m(e){let{data:t,ccipRequest:n}=e,{args:[r]}=lm({abi:Ap,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await _m({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=vm(e)}})),mm({abi:Ap,functionName:`query`,result:[i,a]})}function vm(e){return e.name===`HttpRequestError`&&e.status?dm({abi:Ap,errorName:`HttpError`,args:[e.status,e.shortMessage]}):dm({abi:[Ea],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var ym=o((()=>{Pp(),Oa(),um(),pm(),gm()})),bm=c({ccipRequest:()=>Sm,offchainLookup:()=>xm,offchainLookupAbiItem:()=>wm,offchainLookupSignature:()=>Cm});async function xm(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=eo({data:r,abi:[wm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:Sm;try{if(!qd(a,s))throw new sm({sender:s,to:a});let{data:r}=await Em(e,{blockNumber:t,blockTag:n,data:Vi([u,ea([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await _m({data:l,ccipRequest:e=>p({...e,requestOptions:i})}):await p({data:l,requestOptions:i,sender:s,urls:c}),d])]),requestOptions:i,to:a});return r}catch(e){throw i?.signal?.aborted?ko(i.signal):Ao(e)?e:new am({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function Sm({data:e,requestOptions:t,sender:n,urls:r}){let i=Error(`An unknown error occurred.`);for(let a=0;a<r.length;a++){if(t?.signal?.aborted)throw ko(t.signal);let o=r[a],s=o.includes(`{data}`)?`GET`:`POST`,c=s===`POST`?{data:e,sender:n}:void 0,l=s===`POST`?{\"Content-Type\":`application/json`}:{};try{let r=await fetch(o.replace(`{sender}`,n.toLowerCase()).replace(`{data}`,e),{body:JSON.stringify(c),headers:l,method:s,...t?.signal?{signal:t.signal}:{}}),a;if(a=r.headers.get(`Content-Type`)?.startsWith(`application/json`)?(await r.json()).data:await r.text(),!r.ok){i=new Vo({body:c,details:a?.error?no(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!T(a)){i=new om({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw ko(t.signal);if(Ao(e))throw e;i=new Vo({body:c,details:e.message,url:o})}}throw i}var Cm,wm,Tm=o((()=>{Lm(),cm(),Wo(),No(),to(),fa(),Jd(),Wi(),qt(),ym(),ro(),Cm=`0x556f1830`,wm={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 Em(e,t){let{account:n=e.account,authorizationList:r,batch:i=!!e.batch?.multicall,blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,accessList:l,blobs:u,blockOverrides:d,code:f,data:p,factory:m,factoryData:h,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,requestOptions:S,to:C,value:ee,stateOverride:te,...ne}=t,re=n?j(n):void 0;if(f&&(m||h))throw new E(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&C)throw new E(\"Cannot provide both `code` & `to` as parameters.\");let ie=f&&p,ae=m&&h&&C&&p,oe=ie||ae,se=ie?Mm({code:f,data:p}):ae?Nm({data:p,factory:m,factoryData:h,to:C}):p;try{cd(t);let n=Cd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Dp(d):void 0,p=id(te),m=e.chain?.formatters?.transactionRequest?.format,h=(m||Zu)({...qu(ne,{format:m}),accessList:l,account:re,authorizationList:r,blobs:u,data:se,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:oe?void 0:C,value:ee},`call`);if(i&&Dm({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=Am(e,{blockNumber:o,deployless:t});if(!n||!jm(p,n))return await km(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof Wp)&&!(e instanceof Vp))throw e}let ie=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),ae=await e.request({method:`eth_call`,params:ie},S);return ae===`0x`?{data:void 0}:{data:ae}}catch(n){if(S?.signal?.aborted)throw ko(S.signal);if(Ao(n))throw n;let r=Pm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Tm(),bm));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&C)return{data:await i(e,{data:r,requestOptions:S,to:C})};throw oe&&r?.slice(0,10)===`0x101bb98d`?new Ro({factory:m}):Qp(n,{...t,account:re,chain:e.chain})}}function Dm({request:e}){let{data:t,to:n,...r}=e;return!(!t||t.startsWith(`0x82ad56cb`)||!n||Object.values(r).filter(e=>e!==void 0).length>0)}function Om(e){if(!e)return`default`;let t=Im.get(e);if(t!==void 0)return t;let n=Fm++;return Im.set(e,n),n}async function km(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,data:l,multicallAddress:u,requestOptions:d,rpcStateOverride:f,to:p}=t,m=u===void 0?Am(e,{blockNumber:o,deployless:r}):u,h=Cd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=nm({id:`${e.uid}.${g}.${Om(d)}${_}`,wait:i,shouldSplitBatch(e){return e.reduce((e,{data:t})=>e+(t.length-2),0)>n*2},fn:async t=>{let n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=Ca({abi:kp,args:[n],functionName:`aggregate3`}),i={...m===null?{data:Mm({code:zp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return tf({abi:kp,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new zo({data:y});return y===`0x`?{data:void 0}:{data:y}}function Am(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return Xp({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new Wp}function jm(e,t){return e?Object.keys(e).some(e=>qd(e,t)):!1}function Mm(e){let{code:t,data:n}=e;return qp({abi:Bt([`constructor(bytes, bytes)`]),bytecode:Ip,args:[t,n]})}function Nm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return qp({abi:Bt([`constructor(address, bytes, address, bytes)`]),bytecode:Lp,args:[i,t,n,r]})}function Pm(e){if(!(e instanceof E))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Fm,Im,Lm=o((()=>{Ht(),Op(),ya(),Pp(),Fp(),Bp(),D(),Kp(),Bo(),No(),rf(),Yp(),wa(),Jd(),wd(),Zp(),$p(),Ju(),td(),im(),ad(),ld(),Fm=0,Im=new WeakMap}));rf(),wa(),Lm();async function Rm(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=Ca({abi:n,args:i,functionName:a});try{let{data:t}=await w(e,Em,`call`)({...o,data:s,to:r});return tf({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw Ss(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}let zm=new Map,Bm=new Map,Vm=0;function Hm(e,t,n){let r=++Vm,i=()=>zm.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){zm.delete(e),Bm.delete(e);return}zm.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Bm.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(zm.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return o;let c={};for(let e in t)c[e]=((...t)=>{let n=i();if(n.length!==0)for(let r of n)r.fns[e]?.(...t)});let l=n(c);return typeof l==`function`&&Bm.set(e,l),o}No();async function Um(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(ko(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(ko(t))};t?.addEventListener(`abort`,o,{once:!0})})}function Wm(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await Um(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await Um(r),s())};s()})(),a}D();var Gm=class extends E{constructor({docsPath:e}={}){super([`Could not find an Account to execute with this Action.`,\"Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.\"].join(`\n`),{docsPath:e,docsSlug:`account`,name:`AccountNotFoundError`})}},Km=class extends E{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};Kp();function qm({chain:e,currentChainId:t}){if(!e)throw new Up;if(t!==e.id)throw new Hp({chain:e,currentChainId:t})}async function Jm(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ya(),D(),Wi(),Ju(),td(),Mi(),ld();let Ym=new ji(128);async function Xm(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,type:g,value:_,...v}=t;if(n===void 0)throw new Gm({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?j(n):null,b;try{cd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await ku({authorization:o[0]}).catch(()=>{throw new E(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await w(e,Bd,`getChainId`)({}),r&&qm({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||Zu)({...qu(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Vi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=Ym.get(e.uid),C=S?`wallet_sendTransaction`:`eth_sendTransaction`;try{return await e.request({method:C,params:[x]},{retryCount:0})}catch(t){if(S===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[x]},{retryCount:0}).then(t=>(Ym.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(Ym.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){if(y.nonceManager&&h===void 0){let t=v.chainId,n=await(async()=>typeof t==`number`?t:i?i.id:w(e,Bd,`getChainId`)({}))();b={address:y.address,chainId:n}}let t=await w(e,Gd,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Vi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:y.nonceManager,parameters:[...Hd,`sidecars`],type:g,value:_,...v,to:n}),r=i?.serializers?.transaction,x=await y.signTransaction(t,{serializer:r});return await w(e,Jm,`sendRawTransaction`)({serializedTransaction:x})}throw y?.type===`smart`?new Km({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new Km({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof Km?e:(b&&y?.nonceManager?.reset(b),zd(e,{...t,account:y,chain:t.chain||void 0}))}}ya(),wa();async function Zm(e,t){return Zm.internal(e,Xm,`sendTransaction`,t)}(function(e){async function t(e,t,n,r){let{abi:i,account:a=e.account,address:o,args:s,functionName:c,...l}=r;if(a===void 0)throw new Gm({docsPath:`/docs/contract/writeContract`});let u=a?j(a):null,d=Ca({abi:i,args:s,functionName:c});try{return await w(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw Ss(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(Zm||={}),D();var Qm=class extends E{constructor(e){super(`Call bundle failed with status: ${e.statusCode}`,{name:`BundleFailedError`}),Object.defineProperty(this,\"result\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.result=e}};No();function $m(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=async({count:c=0}={})=>{if(i?.aborted){o(ko(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await Um(n,{signal:i})}catch(e){o(e);return}s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(ko(i));return}if(Ao(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s()})}Wn(),Xu();let eh={\"0x0\":`reverted`,\"0x1\":`success`};function th(e,t){let n={...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=>Yd(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Un(e.transactionIndex):null,status:e.status?eh[e.status]:null,type:e.type?md[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let nh=Yu(`transactionReceipt`,th);ya(),D(),xs(),wa(),Wi(),Wn(),A();let rh=k(0,{size:32});async function ih(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?j(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?Ca({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Vi([n,t.dataSuffix]):n,to:t.to,value:t.value?k(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:k(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e=\"non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.\";throw new fs(new E(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new vs(new E(e,{details:e}))}let t=[];for(let n of d){try{let i=await Xm(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?O(n.value):void 0});t.push({status:`fulfilled`,value:i})}catch(e){t.push({reason:e,status:`rejected`})}a>0&&await new Promise(e=>setTimeout(e,a))}if(t.every(e=>e.status===`rejected`))throw t[0].reason;return{id:Vi([...t.map(e=>e.status===`fulfilled`?e.value:rh),k(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw zd(n,{...t,account:l,chain:t.chain})}}Xi(),Bn(),Wn();async function ah(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=zn(Yi(t,-64,-32)),r=Yi(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>rh.slice(2)===t?void 0:e.request({method:`eth_getTransactionReceipt`,params:[`0x${t}`]},{dedupe:!0}))),a=i.some(e=>e===null)?100:i.every(e=>e?.status===`0x1`)?200:i.every(e=>e?.status===`0x0`)?500:600;return{atomic:!1,chainId:Un(n),receipts:i.filter(Boolean),status:a,version:`2.0.0`}}return e.request({method:`wallet_getCallsStatus`,params:[t]})}let{atomic:r=!1,chainId:i,receipts:a,version:o=`2.0.0`,...s}=await n(t.id),[c,l]=(()=>{let e=s.status;return e>=100&&e<200?[`pending`,e]:e>=200&&e<300?[`success`,e]:e>=300&&e<700?[`failure`,e]:e===`CONFIRMED`?[`success`,200]:e===`PENDING`?[`pending`,100]:[void 0,e]})();return{...s,atomic:r,chainId:i?Un(i):void 0,receipts:a?.map(e=>({...e,blockNumber:O(e.blockNumber),gasUsed:O(e.gasUsed),status:eh[e.status]}))??[],statusCode:l,status:c,version:o}}D(),tm(),ro();async function oh(e,t){let{id:n,pollingInterval:r=e.pollingInterval,status:i=({statusCode:e})=>e===200||e>=300,retryCount:a=4,retryDelay:o=({count:e})=>~~(1<<e)*200,timeout:s=6e4,throwOnFailure:c=!1}=t,l=no([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=em(),p,m=Hm(l,{resolve:d,reject:f},t=>{let s=Wm(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await $m(async()=>{let t=await w(e,ah,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new Qm(t);return t},{retryCount:a,delay:o});if(!i(s))return;r(()=>t.resolve(s))}catch(e){r(()=>t.reject(e))}},{interval:r,emitOnBegin:!0});return s});return p=s?setTimeout(()=>{m(),clearTimeout(p),f(new sh({id:n}))},s):void 0,await u}var sh=class extends E{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let ch=256,lh;function uh(e=11){if(!lh||ch+e>256*2){lh=``,ch=0;for(let e=0;e<256;e++)lh+=(256+Math.random()*256|0).toString(16).substring(1)}return lh.substring(ch,ch+++e)}ya();function dh(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,type:s=`base`}=e,c=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),l=n?.blockTime??12e3,u=Math.min(Math.max(Math.floor(l/2),500),4e3),d=e.pollingInterval??u,f=e.cacheTime??d,p=e.account?j(e.account):void 0,{config:m,request:h,value:g}=e.transport({account:p,chain:n,pollingInterval:d}),_={account:p,batch:t,cacheTime:f,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:d,request:h,transport:{...m,...g},type:s,uid:uh(),...c?{experimental_blockTag:c}:{}};function v(e){return t=>{let n=t(e);for(let e in _)delete n[e];let r={...e,...n};return Object.assign(r,{extend:v(r)})}}return Object.assign(_,{extend:v(_)})}wd();async function fh(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Cd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a}),s=await e.request({method:`eth_getCode`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0});if(s!==`0x`)return s}sd(),Ai(),D(),Kp(),Uu(),Bi(),Yt(),Xi(),Wn();function ph(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Li(n))throw new ki({address:n});if(t<0)throw new Gp({chainId:t})}hh(e)}function mh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Nd;for(let e of t){let t=Jt(e),n=Un(Gi(e,0,1));if(t!==32)throw new Pd({hash:e,size:t});if(n!==1)throw new Fd({hash:e,version:n})}}hh(e)}function hh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new Gp({chainId:t});if(i&&!Li(i))throw new ki({address:i});if(r&&r>od)throw new Mu({maxFeePerGas:r});if(n&&r&&n>r)throw new Vu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function gh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new Gp({chainId:t});if(a&&!Li(a))throw new ki({address:a});if(n||i)throw new E(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>od)throw new Mu({maxFeePerGas:r})}function _h(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Li(a))throw new ki({address:a});if(t!==void 0&&t<=0)throw new Gp({chainId:t});if(n||i)throw new E(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>od)throw new Mu({maxFeePerGas:r})}Ai(),Oo(),Bi();function vh(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let{address:r,storageKeys:i}=e[n];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new Eo({storageKey:i[e]});if(!Li(r,{strict:!1}))throw new ki({address:r});t.push([r,i])}return t}Oo(),Wi(),Bn(),A();function yh(e,t){let n=Rd(e);return n===`eip1559`?Sh(e,t):n===`eip2930`?Ch(e,t):n===`eip4844`?xh(e,t):n===`eip7702`?bh(e,t):wh(e,t)}function bh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;ph(e);let f=vh(u),p=Eh(n);return Ui([`0x04`,Cu([k(r),a?k(a):`0x`,l?k(l):`0x`,c?k(c):`0x`,i?k(i):`0x`,o??`0x`,s?k(s):`0x`,d??`0x`,f,p,...Th(e,t)])])}function xh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;mh(e);let f=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(f===void 0||p===void 0)){let t=typeof e.blobs[0]==`string`?e.blobs:e.blobs.map(e=>qn(e)),n=e.kzg,r=Ed({blobs:t,kzg:n});f===void 0&&(f=jd({commitments:r})),p===void 0&&(p=Ld({blobs:t,commitments:r,proofs:Dd({blobs:t,commitments:r,kzg:n})}))}let m=vh(u),h=[k(n),i?k(i):`0x`,l?k(l):`0x`,c?k(c):`0x`,r?k(r):`0x`,a??`0x`,o?k(o):`0x`,d??`0x`,m,s?k(s):`0x`,f??[],...Th(e,t)],g=[],_=[],v=[];if(p)for(let e=0;e<p.length;e++){let{blob:t,commitment:n,proof:r}=p[e];g.push(t),_.push(n),v.push(r)}return Ui([`0x03`,Cu(p?[h,g,_,v]:h)])}function Sh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;hh(e);let d=vh(l);return Ui([`0x02`,Cu([k(n),i?k(i):`0x`,c?k(c):`0x`,s?k(s):`0x`,r?k(r):`0x`,a??`0x`,o?k(o):`0x`,u??`0x`,d,...Th(e,t)])])}function Ch(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;gh(e);let u=vh(c);return Ui([`0x01`,Cu([k(n),a?k(a):`0x`,l?k(l):`0x`,r?k(r):`0x`,o??`0x`,s?k(s):`0x`,i??`0x`,u,...Th(e,t)])])}function wh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;_h(e);let l=[a?k(a):`0x`,c?k(c):`0x`,r?k(r):`0x`,o??`0x`,s?k(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new So({v:t.v});return e})(),r=zn(t.r),i=zn(t.s);l=[...l,k(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,k(n),`0x`,`0x`]);return Cu(l)}function Th(e,t){let n=t??e,{v:r,yParity:i}=n;if(n.r===void 0||n.s===void 0||r===void 0&&i===void 0)return[];let a=zn(n.r),o=zn(n.s);return[typeof i==`number`?i?k(1):`0x`:r===0n?`0x`:r===1n?k(1):r===27n?`0x`:k(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}A();function Eh(e){if(!e||e.length===0)return[];let t=[];for(let n of e){let{chainId:e,nonce:r,...i}=n,a=n.address;t.push([e?Gn(e):`0x`,a,r?Gn(r):`0x`,...Th({},i)])}return t}Ii(),Jd();async function Dh({address:e,authorization:t,signature:n}){return qd(Pi(e),await ku({authorization:t,signature:n}))}Mi();let Oh=new ji(8192);function kh(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Oh.get(n))return Oh.get(n);let r=e().finally(()=>Oh.delete(n));return Oh.set(n,r),r}D(),Wo(),xs(),No(),ro();function Ah(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,signal:c,uid:l}={...t,...r},{method:u}=n;if(a?.exclude?.includes(u)||a?.include&&!a.include.includes(u))throw new rs(Error(`method not supported`),{method:u});if(c?.aborted)throw ko(c);return kh(()=>$m(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw ko(c);if(Ao(e))throw e;let t=e;switch(t.code){case Jo.code:throw new Jo(t);case Yo.code:throw new Yo(t);case Xo.code:throw new Xo(t,{method:n.method});case Zo.code:throw new Zo(t);case Qo.code:throw new Qo(t);case $o.code:throw new $o(t);case es.code:throw new es(t);case ts.code:throw new ts(t);case ns.code:throw new ns(t);case rs.code:throw new rs(t,{method:n.method});case is.code:throw new is(t);case as.code:throw new as(t);case os.code:throw new os(t);case ss.code:throw new ss(t);case cs.code:throw new cs(t);case ls.code:throw new ls(t);case us.code:throw new us(t);case ds.code:throw new ds(t);case fs.code:throw new fs(t);case ps.code:throw new ps(t);case ms.code:throw new ms(t);case hs.code:throw new hs(t);case gs.code:throw new gs(t);case _s.code:throw new _s(t);case vs.code:throw new vs(t);case 5e3:throw new os(t);case ys.code:throw new ys(t);default:throw e instanceof E?e:new bs(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Vo){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>jh(e)}),{enabled:i,id:i?Mh(`${l}.${no(n)}`):void 0})}}function jh(e){return Ao(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===is.code||e.code===Qo.code||e.code===429:e instanceof Vo&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function Mh(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function Nh(e){let t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(e){return t=>{let r=typeof t==`function`?t(e):t,i={...e,...r};return Object.assign(i,{extend:n(i)})}}return Object.assign(t,{extend:n(t)})}function Ph(){return{}}D(),Rn(),Fa(),ar(),A();function Fh(e,t=`hex`){return Ih(Na((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new In(e);return er(e)}return e})(),{recursiveReadLimit:1/0}),t)}function Ih(e,t=`hex`){if(e.bytes.length===0)return t===`hex`?qn(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=Lh(e,n,128),i=e.readBytes(r);return t===`hex`?qn(i):i}return Rh(e,Lh(e,n,192),t)}function Lh(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new E(`Invalid RLP prefix`)}function Rh(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(Ih(e,n));return i}qt(),Yt();function zh(e){return T(e)&&Jt(e)===32}No();function Bh(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o,s=new AbortController;try{n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){if(s?.signal.aborted&&Ao(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function Vh(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let Hh=Vh();Wo(),No(),ro();function Uh(e,t={}){let{url:n,headers:r}=Wh(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,onRequest:o=t.onRequest,onResponse:s=t.onResponse,timeout:c=t.timeout??1e4}=e,l={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:u,method:d,signal:f}=l;try{let e=await Bh(async({signal:e})=>{let t={...l,body:no(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??Hh.take(),...e})):{jsonrpc:`2.0`,id:i.id??Hh.take(),...i}),headers:{...r,\"Content-Type\":`application/json`,...u},method:d||`POST`,signal:f||(c>0?e:null)},s=new Request(n,t),p=await o?.(s,t)??{...t,url:n};return await a(p.url??n,p)},{errorInstance:new Uo({body:i,url:n}),timeout:c,signal:!0});s&&await s(e);let t;if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=await e.json();else{t=await e.text();try{t=JSON.parse(t||`{}`)}catch(n){if(e.ok)throw n;t={error:t}}}if(!e.ok){if(typeof t.error?.code==`number`&&typeof t.error?.message==`string`)return t;throw new Vo({body:i,details:no(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw f?.aborted?ko(f):Ao(e)||e instanceof Vo||e instanceof Uo?e:new Vo({body:i,cause:e,url:n})}}}}function Wh(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}Wi(),Yt(),A();function Gh(e){let t=typeof e==`string`?Jn(e):typeof e.raw==`string`?e.raw:qn(e.raw);return Vi([Jn(`\u0019Ethereum Signed Message:\n${Jt(t)}`),t])}_i();function Kh(e,t){return gi(Gh(e),t)}ro(),D();var qh=class extends E{constructor({domain:e}){super(`Invalid domain \"${no(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},Jh=class extends E{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`.\"]})}},Yh=class extends E{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};wn(),Ai(),Bi(),Yt(),A(),$i(),ro();function Xh(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{let n={...t};for(let t of e){let{name:e,type:r}=t;r===`address`&&(n[e]=n[e].toLowerCase())}return n};return no({domain:!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),message:(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})(),primaryType:r,types:i})}function Zh(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{for(let n of e){let{name:e,type:r}=n,o=t[e],s=r.match(Qi);if(s&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=s;k(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Li(o))throw new ki({address:o});let c=r.match(Zi);if(c){let[e,t]=c;if(t&&Jt(o)!==Number.parseInt(t,10))throw new _n({expectedSize:Number.parseInt(t,10),givenSize:Jt(o)})}let l=i[r];l&&($h(r),a(l,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new qh({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`)if(i[r])a(i[r],n);else throw new Jh({primaryType:r,types:i})}function Qh({domain:e}){return[typeof e?.name==`string`&&{name:`name`,type:`string`},e?.version&&{name:`version`,type:`string`},(typeof e?.chainId==`number`||typeof e?.chainId==`bigint`)&&{name:`chainId`,type:`uint256`},e?.verifyingContract&&{name:`verifyingContract`,type:`address`},e?.salt&&{name:`salt`,type:`bytes32`}].filter(Boolean)}function $h(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new Yh({type:e})}fa(),Wi(),A(),_i();function eg(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:Qh({domain:t}),...e.types};Zh({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(tg({domain:t,types:i})),r!==`EIP712Domain`&&a.push(ng({data:n,primaryType:r,types:i})),gi(Vi(a))}function tg({domain:e,types:t}){return ng({data:e,primaryType:`EIP712Domain`,types:t})}function ng({data:e,primaryType:t,types:n}){return gi(rg({data:e,primaryType:t,types:n}))}function rg({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[ig({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=sg({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return ea(r,i)}function ig({primaryType:e,types:t}){return gi(Gn(ag({primaryType:e,types:t})))}function ag({primaryType:e,types:t}){let n=``,r=og({primaryType:e,types:t});r.delete(e);let i=[e,...Array.from(r).sort()];for(let e of i)n+=`${e}(${t[e].map(({name:e,type:t})=>`${t} ${e}`).join(`,`)})`;return n}function og({primaryType:e,types:t},n=new Set){let r=e.match(/^\\w*/u)?.[0];if(n.has(r)||t[r]===void 0)return n;n.add(r);for(let e of t[r])og({primaryType:e.type,types:t},n);return n}function sg({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},gi(rg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},gi(r)];if(n===`string`)return[{type:`bytes32`},gi(Gn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>sg({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},gi(ea(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var cg=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@1.2.4`].join(`\n`);super(a),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=i,this.metaMessages=n.metaMessages,this.shortMessage=t}};function lg(e,t){return e.exec(t)?.groups}let ug=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,dg=/^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)?$/,fg=/^\\(.+?\\).*?$/,pg=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function mg(e){let t=e.type;if(pg.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=mg(i),r<n-1&&(t+=`, `)}let r=lg(pg,e.type);return t+=`)${r?.array||``}`,mg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function hg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=mg(i),r!==n-1&&(t+=`, `)}return t}function gg(e){return e.type===`function`?`function ${e.name}(${hg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${hg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${hg(e.inputs)})`:e.type===`error`?`error ${e.name}(${hg(e.inputs)})`:e.type===`constructor`?`constructor(${hg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let _g=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function vg(e){return _g.test(e)}function yg(e){return lg(_g,e)}let bg=new Set([`memory`,`indexed`,`storage`,`calldata`]),xg=new Set([`calldata`,`memory`,`storage`]);var Sg=class extends cg{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`})}},Cg=class extends cg{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`})}},wg=class extends cg{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`})}},Tg=class extends cg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Eg=class extends cg{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`})}},Dg=class extends cg{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`})}},Og=class extends cg{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`})}},kg=class extends cg{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`})}},Ag=class extends cg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},jg=class extends cg{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`})}},Mg=class extends cg{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`})}},Ng=class extends cg{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`})}};function Pg(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}let Fg=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}]]),Ig=/^(?<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$_]*))?$/,Lg=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Rg=/^u?int$/;function zg(e,t){let n=Pg(e,t?.type,t?.structs);if(Fg.has(n))return Fg.get(n);let r=fg.test(e),i=lg(r?Lg:Ig,e);if(!i)throw new Tg({param:e});if(i.name&&Ug(i.name))throw new Eg({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=Bg(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(zg(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(Rg.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!Vg(c))throw new Cg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Dg({param:e,type:t?.type,modifier:i.modifier});if(xg.has(i.modifier)&&!Wg(c,!!i.array))throw new Og({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return Fg.set(n,u),u}function Bg(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?Bg(o,[...t,n.trim()]):Bg(o,t,`${n}${i}`,r);case`(`:return Bg(o,t,`${n}${i}`,r+1);case`)`:return Bg(o,t,`${n}${i}`,r-1);default:return Bg(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new Ng({current:n,depth:r});return t.push(n.trim()),t}function Vg(e){return e===`address`||e===`bool`||e===`function`||e===`string`||ug.test(e)||dg.test(e)}let Hg=/^(?: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 Ug(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||ug.test(e)||dg.test(e)||Hg.test(e)}function Wg(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function Gg(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!vg(n))continue;let i=yg(n);if(!i)throw new Ag({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=zg(t,{type:`struct`});o.push(n)}if(!o.length)throw new jg({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=qg(a,t)}return r}let Kg=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function qg(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(fg.test(i.type))r.push(i);else{let e=lg(Kg,i.type);if(!e?.type)throw new kg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new Mg({type:o});r.push({...i,type:`tuple${a??``}`,components:qg(t[o],t,new Set([...n,o]))})}else if(Vg(o))r.push(i);else throw new Sg({type:o})}}return r}function Jg(e){let t=[];if(typeof e==`string`){let n=Bg(e),r=n.length;for(let e=0;e<r;e++)t.push(zg(n[e],{modifiers:bg}))}else{let n=Gg(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(vg(r))continue;let a=Bg(r),o=a.length;for(let e=0;e<o;e++)t.push(zg(a[e],{modifiers:bg,structs:n}))}}if(t.length===0)throw new wg({params:e});return t}let Yg={checksum:new class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}(8192)}.checksum;Js(),hi(),tp(),R();function Xg(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=mi(Mf(e));return n===`Bytes`?r:F(r)}function Zg(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=qs(Od,Mf(e),Mf(t));return r===`Bytes`?i:F(i)}function Qg(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Od(Mf(e));return n===`Bytes`?r:F(r)}function $g(e){return hp(e)&&lp(e)===32}tp(),uf(),R(),kf();function e_(e,t={}){let{compressed:n}=t,{prefix:r,x:i,y:a}=e;if(n===!1||typeof i==`bigint`&&typeof a==`bigint`){if(r!==4)throw new s_({prefix:r,cause:new l_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new s_({prefix:r,cause:new c_});return}throw new o_({publicKey:e})}function t_(e){let t=(()=>{if(hp(e))return r_(e);if(qf(e))return n_(e);let{prefix:t,x:n,y:r}=e;return typeof n==`bigint`&&typeof r==`bigint`?{prefix:t??4,x:n,y:r}:{prefix:t,x:n}})();return e_(t),t}function n_(e){return r_(F(e))}function r_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new u_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(L(e,0,32)),y:BigInt(L(e,32,64))}:e.length===132?{prefix:Number(L(e,0,1)),x:BigInt(L(e,1,33)),y:BigInt(L(e,33,65))}:{prefix:Number(L(e,0,1)),x:BigInt(L(e,1,33))}}function i_(e,t={}){return Pf(a_(e,t))}function a_(e,t={}){e_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return P(a?I(n,{size:1}):`0x`,I(r,{size:32}),typeof i==`bigint`?I(i,{size:32}):`0x`)}var o_=class extends N{constructor({publicKey:e}){super(`Value \\`${Df(e)}\\` is not a valid public key.`,{metaMessages:[`Public key must contain:`,\"- an `x` and `prefix` value (compressed)\",\"- an `x`, `y`, and `prefix` value (uncompressed)\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidError`})}},s_=class extends N{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},c_=class extends N{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},l_=class extends N{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},u_=class extends N{constructor({publicKey:e}){super(`Value \\`${e}\\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${lp(rp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};tp(),uf();let d_=/^0x[a-fA-F0-9]{40}$/;function f_(e,t={}){let{strict:n=!0}=t;if(!d_.test(e))throw new v_({address:e,cause:new y_});if(n){if(e.toLowerCase()===e)return;if(p_(e)!==e)throw new v_({address:e,cause:new b_})}}function p_(e){if(Yg.has(e))return Yg.get(e);f_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=Xg(Ff(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()),(n[e>>1]&15)>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let i=`0x${r.join(``)}`;return Yg.set(e,i),i}function m_(e,t={}){let{checksum:n=!1}=t;return f_(e),n?p_(e):e}function h_(e,t={}){return m_(`0x${Xg(`0x${a_(e).slice(4)}`).substring(26)}`,t)}function g_(e,t){return f_(e,{strict:!1}),f_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function __(e,t={}){let{strict:n=!0}=t??{};try{return f_(e,{strict:n}),!0}catch{return!1}}var v_=class extends N{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`})}},y_=class extends N{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`})}},b_=class extends N{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let x_=/^(.*)\\[([0-9]*)\\]$/,S_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,C_=/^(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)?$/;2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n));let w_=2n**256n-1n;tp(),uf(),R();function T_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=U_(t.type);if(a){let[n,o]=a;return D_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return j_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return E_(e,{checksum:r});if(t.type===`bool`)return O_(e);if(t.type.startsWith(`bytes`))return k_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return A_(e,t);if(t.type===`string`)return M_(e,{staticPosition:i});throw new ov(t.type)}function E_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?p_(e):e)(F(Bf(e.readBytes(32),-20))),32]}function D_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(!i){let n=a+Uf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Uf(e.readBytes(32)),s=W_(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=T_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a)}return e.setPosition(a+32),[l,32]}if(W_(t)){let n=a+Uf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=T_(e,t,{checksumAddress:r,staticPosition:n});o.push(i)}return e.setPosition(a+32),[o,32]}let o=0,s=[];for(let n=0;n<i;++n){let[n,i]=T_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n)}return[s,o]}function O_(e){return[Hf(e.readBytes(32),{size:32}),32]}function k_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Uf(e.readBytes(32));e.setPosition(n+t);let r=Uf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[F(i),32]}return[F(e.readBytes(Number.parseInt(i,10),32)),32]}function A_(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Vf(i,{signed:n}):Uf(i,{signed:n}),32]}function j_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=t.components.length===0||t.components.some(({name:e})=>!e),o=a?[]:{},s=0;if(W_(t)){let n=i+Uf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=T_(e,c,{checksumAddress:r,staticPosition:n});s+=u,o[a?i:c?.name]=l}return e.setPosition(i+32),[o,32]}for(let n=0;n<t.components.length;++n){let c=t.components[n],[l,u]=T_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function M_(e,{staticPosition:t}){let n=t+Uf(e.readBytes(32));e.setPosition(n);let r=Uf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Wf(Gf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function N_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(P_({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function P_({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=U_(r.type);if(i){let[t,a]=i;return L_(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return H_(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return I_(n,{checksum:e});if(r.type===`bool`)return z_(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=C_.exec(r.type)??[];return B_(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return R_(n,{type:r.type});if(r.type===`string`)return V_(n);throw new ov(r.type)}function F_(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=lp(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(I(t+i,{size:32})),r.push(s),i+=lp(s)):n.push(s)}return P(...n,...r)}function I_(e,t){let{checksum:n=!1}=t;return f_(e,{strict:n}),{dynamic:!1,encoded:op(e.toLowerCase())}}function L_(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new av(e);if(!a&&e.length!==r)throw new nv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=!1,s=[];for(let t=0;t<e.length;t++){let r=P_({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=F_(s);if(a){let t=I(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?P(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:P(...s.map(({encoded:e})=>e))}}function R_(e,{type:t}){let[,n]=t.split(`bytes`),r=lp(e);if(!n){let t=e;return r%32!=0&&(t=sp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:P(op(I(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new rv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:sp(e)}}function z_(e){if(typeof e!=`boolean`)throw new N(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:op(ip(e))}}function B_(e,{signed:t,size:n}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new vp({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:I(e,{size:32,signed:t})}}function V_(e){let t=ap(e),n=Math.ceil(lp(t)/32),r=[];for(let e=0;e<n;e++)r.push(sp(L(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:P(sp(I(lp(t),{size:32})),...r)}}function H_(e,t){let{checksumAddress:n,parameter:r}=t,i=!1,a=[];for(let t=0;t<r.components.length;t++){let o=r.components[t],s=P_({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?F_(a):P(...a.map(({encoded:e})=>e))}}function U_(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function W_(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(W_);let n=U_(e.type);return!!(n&&W_({...e,type:n[1]}))}uf();let G_={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new Y_({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new J_({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new q_({offset:e});let 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 q_({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let 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,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function K_(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(G_);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var q_=class extends N{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},J_=class extends N{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`})}},Y_=class extends N{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`})}};tp(),uf(),R();function X_(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Pf(t):t,o=K_(a);if(zf(a)===0&&e.length>0)throw new tv;if(zf(a)&&zf(a)<32)throw new ev({data:typeof t==`string`?t:F(t),parameters:e,size:zf(a)});let s=0,c=r===`Array`?[]:{};for(let t=0;t<e.length;++t){let n=e[t];o.setPosition(s);let[a,l]=T_(o,n,{checksumAddress:i,staticPosition:0});s+=l,r===`Array`?c.push(a):c[n.name??t]=a}return c}function Z_(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new iv({expectedLength:e.length,givenLength:t.length});let i=F_(N_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function Q_(e,t){if(e.length!==t.length)throw new iv({expectedLength:e.length,givenLength:t.length});let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r];n.push(Q_.encode(i,a))}return P(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return f_(e),op(e.toLowerCase(),r?32:0)}if(e===`string`)return ap(n);if(e===`bytes`)return n;if(e===`bool`)return op(ip(n),r?32:1);let i=e.match(C_);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return I(n,{size:r?32:o,signed:t===`int`})}let a=e.match(S_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new rv({expectedSize:Number.parseInt(t,10),value:n});return sp(n,r?32:0)}let o=e.match(x_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:P(...i)}throw new ov(e)}e.encode=t})(Q_||={});function $_(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?Jg(e):e}var ev=class extends N{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${hg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},tv=class extends N{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},nv=class extends N{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`})}},rv=class extends N{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${lp(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},iv=class extends N{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`})}},av=class extends N{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},ov=class extends N{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};tp(),uf(),R();function sv(e){return cv(e,`Hex`)}function cv(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return lv(K_((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new xp(e);return Pf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function lv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?F(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=uv(e,n,128),i=e.readBytes(r);return t===`Hex`?F(i):i}return dv(e,uv(e,n,192),t)}function uv(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new N(`Invalid RLP prefix`)}function dv(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(lv(e,n));return i}function fv(e,t){let{as:n}=t,r=mv(e),i=K_(new Uint8Array(r.length));return r.encode(i),n===`Hex`?F(i.bytes):i.bytes}function pv(e,t={}){let{as:n=`Hex`}=t;return fv(e,{as:n})}function mv(e){return Array.isArray(e)?hv(e.map(e=>mv(e))):gv(e)}function hv(e){let t=e.reduce((e,t)=>e+t.length,0),n=_v(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function gv(e){let t=typeof e==`string`?Pf(e):e,n=_v(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function _v(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new N(`Length is too large.`)}uf(),R(),kf();function vv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Mv({signature:e});if(e.r<0n||e.r>w_)throw new Nv({value:e.r});if(e.s<0n||e.s>w_)throw new Pv({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new Fv({value:e.yParity})}function yv(e){return bv(F(e))}function bv(e){if(e.length!==130&&e.length!==132)throw new jv({signature:e});let t=BigInt(L(e,0,32)),n=BigInt(L(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return kv(t)}catch{throw new Fv({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function xv(e){if(e.r!==void 0&&e.s!==void 0)return Sv(e)}function Sv(e){let t=typeof e==`string`?bv(e):e instanceof Uint8Array?yv(e):typeof e.r==`string`?wv(e):e.v?Cv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return vv(t),t}function Cv(e){return{r:e.r,s:e.s,yParity:kv(e.v)}}function wv(e){let t=(()=>{let t=e.v?Number(e.v):void 0,n=e.yParity?Number(e.yParity):void 0;if(typeof t==`number`&&typeof n!=`number`&&(n=kv(t)),typeof n!=`number`)throw new Fv({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Tv(e){let[t,n,r]=e;return Sv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Ev(e){vv(e);let t=e.r,n=e.s;return P(I(t,{size:32}),I(n,{size:32}),typeof e.yParity==`number`?I(Av(e.yParity),{size:1}):`0x`)}function Dv(e){let{r:t,s:n,yParity:r}=e;return{r:I(t,{size:32}),s:I(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function Ov(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:up(I(t)),n===0n?`0x`:up(I(n))]}function kv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new Iv({value:e})}function Av(e){if(e===0)return 27;if(e===1)return 28;throw new Fv({value:e})}var jv=class extends N{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${lp(rp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Mv=class extends N{constructor({signature:e}){super(`Signature \\`${Df(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Nv=class extends N{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`})}},Pv=class extends N{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`})}},Fv=class extends N{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`})}},Iv=class extends N{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`})}};R();function Lv(e,t={}){return typeof e.chainId==`string`?Rv(e):{...e,...t.signature}}function Rv(e){let{address:t,chainId:n,nonce:r}=e,i=xv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function zv(e){return e.map(Rv)}function Bv(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:I(n),nonce:I(r),...Dv(i)}}function Vv(e){return e.map(Bv)}yu(),tp(),R();function Hv(e){let{privateKey:t}=e;return t_(iu.ProjectivePoint.fromPrivateKey(rp(t).slice(2)))}function Uv(e){return h_(Wv(e))}function Wv(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return t_(new iu.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(rp(t).substring(2)))}function Gv(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=iu.sign(Mf(r),Mf(i),{extraEntropy:typeof t==`boolean`?t:rp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Kv(e){let{hash:t,payload:n}=e;return e.address?g_(e.address,Uv({payload:n,signature:e.signature})):iu.verify(e.signature,Mf(n),i_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}uf(),R();let qv=$_(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function Jv(e){if(typeof e==`string`){if(L(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new Zv(e)}else vv(e.authorization)}function Yv(e){Jv(e);let t=pp(L(e,-64,-32)),n=L(e,-t-64,-64),r=L(e,0,-t-64),[i,a,o]=X_(qv,n);return{authorization:Lv({address:i.delegation,chainId:Number(i.chainId),nonce:i.nonce,yParity:i.yParity,r:i.r,s:i.s}),signature:r,...o&&o!==`0x`?{data:o,to:a}:{}}}function Xv(e){try{return Jv(e),!0}catch{return!1}}var Zv=class extends N{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`})}};Oo(),Xi(),Wn();function Qv(e){let t=Yi(e,0,1);if(t===`0x04`)return`eip7702`;if(t===`0x03`)return`eip4844`;if(t===`0x02`)return`eip1559`;if(t===`0x01`)return`eip2930`;if(t!==`0x`&&Un(t)>=192)return`legacy`;throw new wo({serializedType:t})}Ai(),Oo(),Bi(),qt(),Mn(),Bn(),Wn();function $v(e){let t=Qv(e);return t===`eip1559`?ny(e):t===`eip2930`?ry(e):t===`eip4844`?ty(e):t===`eip7702`?ey(e):iy(e)}function ey(e){let t=ay(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new To({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,authorizationList:d,...t.length>9?{v:f,r:p,s:m}:{}},serializedTransaction:e,type:`eip7702`});let h={chainId:Un(n),type:`eip7702`};return T(s)&&s!==`0x`&&(h.to=s),T(o)&&o!==`0x`&&(h.gas=O(o)),T(l)&&l!==`0x`&&(h.data=l),T(r)&&(h.nonce=r===`0x`?0:Un(r)),T(c)&&c!==`0x`&&(h.value=O(c)),T(a)&&a!==`0x`&&(h.maxFeePerGas=O(a)),T(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=O(i)),u.length!==0&&u!==`0x`&&(h.accessList=oy(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=sy(d)),ph(h),{...t.length===13?cy(t):void 0,...h}}function ty(e){let t=ay(e),n=t.length===4,r=n?t[0]:t,i=n?t.slice(1):[],[a,o,s,c,l,u,d,f,p,m,h,g,_,v]=r,[y,b,x]=i;if(!(r.length===11||r.length===14))throw new To({attributes:{chainId:a,nonce:o,maxPriorityFeePerGas:s,maxFeePerGas:c,gas:l,to:u,value:d,data:f,accessList:p,...r.length>9?{v:g,r:_,s:v}:{}},serializedTransaction:e,type:`eip4844`});let S={blobVersionedHashes:h,chainId:Un(a),to:u,type:`eip4844`};return T(l)&&l!==`0x`&&(S.gas=O(l)),T(f)&&f!==`0x`&&(S.data=f),T(o)&&(S.nonce=o===`0x`?0:Un(o)),T(d)&&d!==`0x`&&(S.value=O(d)),T(m)&&m!==`0x`&&(S.maxFeePerBlobGas=O(m)),T(c)&&c!==`0x`&&(S.maxFeePerGas=O(c)),T(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=O(s)),p.length!==0&&p!==`0x`&&(S.accessList=oy(p)),y&&b&&x&&(S.sidecars=Ld({blobs:y,commitments:b,proofs:x})),mh(S),{...r.length===14?cy(r):void 0,...S}}function ny(e){let t=ay(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(!(t.length===9||t.length===12))throw new To({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,...t.length>9?{v:d,r:f,s:p}:{}},serializedTransaction:e,type:`eip1559`});let m={chainId:Un(n),type:`eip1559`};return T(s)&&s!==`0x`&&(m.to=s),T(o)&&o!==`0x`&&(m.gas=O(o)),T(l)&&l!==`0x`&&(m.data=l),T(r)&&(m.nonce=r===`0x`?0:Un(r)),T(c)&&c!==`0x`&&(m.value=O(c)),T(a)&&a!==`0x`&&(m.maxFeePerGas=O(a)),T(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=O(i)),u.length!==0&&u!==`0x`&&(m.accessList=oy(u)),hh(m),{...t.length===12?cy(t):void 0,...m}}function ry(e){let t=ay(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(!(t.length===8||t.length===11))throw new To({attributes:{chainId:n,nonce:r,gasPrice:i,gas:a,to:o,value:s,data:c,accessList:l,...t.length>8?{v:u,r:d,s:f}:{}},serializedTransaction:e,type:`eip2930`});let p={chainId:Un(n),type:`eip2930`};return T(o)&&o!==`0x`&&(p.to=o),T(a)&&a!==`0x`&&(p.gas=O(a)),T(c)&&c!==`0x`&&(p.data=c),T(r)&&(p.nonce=r===`0x`?0:Un(r)),T(s)&&s!==`0x`&&(p.value=O(s)),T(i)&&i!==`0x`&&(p.gasPrice=O(i)),l.length!==0&&l!==`0x`&&(p.accessList=oy(l)),gh(p),{...t.length===11?cy(t):void 0,...p}}function iy(e){let t=Fh(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(!(t.length===6||t.length===9))throw new To({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(T(a)&&a!==`0x`&&(d.to=a),T(i)&&i!==`0x`&&(d.gas=O(i)),T(s)&&s!==`0x`&&(d.data=s),T(n)&&(d.nonce=n===`0x`?0:Un(n)),T(o)&&o!==`0x`&&(d.value=O(o)),T(r)&&r!==`0x`&&(d.gasPrice=O(r)),_h(d),t.length===6)return d;let f=T(c)&&c!==`0x`?O(c):0n;if(u===`0x`&&l===`0x`)return f>0&&(d.chainId=Number(f)),d;let p=f,m=Number((p-35n)/2n);if(m>0)d.chainId=m;else if(p!==27n&&p!==28n)throw new So({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function ay(e){return Fh(`0x${e.slice(4)}`,`hex`)}function oy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Li(r,{strict:!1}))throw new ki({address:r});t.push({address:r,storageKeys:i.map(e=>zh(e)?e:zn(e))})}return t}function sy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i,a,o,s,c]=e[n];t.push({address:i,chainId:r===`0x`?0:Un(r),nonce:a===`0x`?0:Un(a),...cy([o,s,c])})}return t}function cy(e){let t=e.slice(-3),n=t[0]===`0x`||O(t[0])===0n?27n:28n;return{r:An(t[1],{size:32}),s:An(t[2],{size:32}),v:n,yParity:n===27n?0:1}}D();var ly=class extends E{constructor({value:e}){super(`Number \\`${e}\\` is not a valid decimal number.`,{name:`InvalidDecimalNumberError`})}};function uy(e,t){if(!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(e))throw new ly({value:e});let[n,r=`0`]=e.split(`.`),i=n.startsWith(`-`);if(i&&(n=n.slice(1)),r=r.replace(/(0+)$/,``),t===0)Math.round(Number(`.${r}`))===1&&(n=`${BigInt(n)+1n}`),r=``;else if(r.length>t){let[e,i,a]=[r.slice(0,t-1),r.slice(t-1,t),r.slice(t)],o=Math.round(Number(`${i}.${a}`));r=o>9?`${BigInt(e)+BigInt(1)}0`.padStart(e.length+1,`0`):`${e}${o}`,r.length>t&&(r=r.slice(1),n=`${BigInt(n)+1n}`),r=r.slice(0,t)}else r=r.padEnd(t,`0`);return BigInt(`${i?`-`:``}${n}${r}`)}Pp(),Bp(),wn(),D(),Bo(),rf(),wa(),Zp();async function dy(e,t){let{account:n,authorizationList:r,allowFailure:i=!0,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,requireCanonical:l,stateOverride:u}=t,d=t.contracts,{batchSize:f=t.batchSize??1024,deployless:p=t.deployless??!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},m=(()=>{if(t.multicallAddress)return t.multicallAddress;if(p)return null;if(e.chain)return Xp({blockNumber:o,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),h=[[]],g=0,_=0;for(let e=0;e<d.length;e++){let{abi:t,address:r,args:a,functionName:o}=d[e];try{let e=Ca({abi:t,args:a,functionName:o});_+=(e.length-2)/2,f>0&&_>f&&h[g].length>0&&(g++,_=(e.length-2)/2,h[g]=[]),h[g]=[...h[g],{allowFailure:!0,callData:e,target:r}]}catch(e){let s=Ss(e,{abi:t,address:r,args:a,docsPath:`/docs/contract/multicall`,functionName:o,sender:n});if(!i)throw s;h[g]=[...h[g],{allowFailure:!0,callData:`0x`,target:r}]}}let v=await Promise.allSettled(h.map(t=>w(e,Rm,`readContract`)({...m===null?{code:zp}:{address:m},abi:kp,account:n,args:[t],authorizationList:r,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,functionName:`aggregate3`,requireCanonical:l,stateOverride:u}))),y=[];for(let e=0;e<v.length;e++){let t=v[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<h[e].length;n++)y.push({status:`failure`,error:t.reason,result:void 0});continue}let n=t.value;for(let t=0;t<n.length;t++){let{returnData:r,success:a}=n[t],{callData:o}=h[e][t],{abi:s,address:c,functionName:l,args:u}=d[y.length];try{if(o===`0x`)throw new rn;if(!a)throw new zo({data:r});let e=tf({abi:s,args:u,data:r,functionName:l});y.push(i?{result:e,status:`success`}:e)}catch(e){let t=Ss(e,{abi:s,address:c,args:u,docsPath:`/docs/contract/multicall`,functionName:l});if(!i)throw t;y.push({error:t,result:void 0,status:`failure`})}}}if(y.length!==d.length)throw new E(`multicall results mismatch`);return y}uf();function fy(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,`error`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new N(`Unable to normalize signature.`);return i}function py(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return __(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,n)=>py(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)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>py(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function my(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return my(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&__(n[r],{strict:!1}))return o}}uf(),R();function hy(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=hp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?gy(e)===L(t,0,4):e.type===`event`?vy(e)===t:!1:`name`in e&&e.name===t);if(o.length===0)throw new by({name:t});if(o.length===1)return{...o[0],...i?{hash:vy(o[0])}:{}};let s;for(let e of o)if(`inputs`in e){if(!r||r.length===0){if(!e.inputs||e.inputs.length===0)return{...e,...i?{hash:vy(e)}:{}};continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===r.length&&r.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?py(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=my(e.inputs,s.inputs,r);if(t)throw new yy({abiItem:e,type:t[0]},{abiItem:s,type:t[1]})}s=e}}let c=(()=>{if(s)return s;let[e,...t]=o;return{...e,overloads:t}})();if(!c)throw new by({name:t});return{...c,...i?{hash:vy(c)}:{}}}function gy(...e){return L(vy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return hy(t,n)}return e[0]})()),0,4)}function _y(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return hy(t,n)}return e[0]})();return fy(typeof t==`string`?t:gg(t))}function vy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return hy(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:Xg(ap(_y(t)))}var yy=class extends N{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${fy(gg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${fy(gg(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`})}},by=class extends N{constructor({name:e,data:t,type:n=`item`}){let r=e?` with name \"${e}\"`:t?` with data \"${t}\"`:``;super(`ABI ${n}${r} not found.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.NotFoundError`})}};function xy(e){return gy(e)}uf(),R();function Sy(e){if(L(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Ty(e)}function Cy(e){let{data:t,signature:n,to:r}=e;return P(Z_($_(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function wy(e){try{return Sy(e),!0}catch{return!1}}var Ty=class extends N{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`})}};yu(),Wn(),ar();function Ey({r:e,s:t,to:n=`hex`,v:r,yParity:i}){let a=(()=>{if(i===0||i===1)return i;if(r&&(r===27n||r===28n||r>=35n))return+(r%2n==0n);throw Error(\"Invalid `v` or `yParity` value\")})(),o=`0x${new iu.Signature(O(e),O(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:er(o)}Pp(),Bp(),Bo(),Yp(),wa(),Ii(),Jd(),Wi(),qt(),Wn(),A(),Lm();async function Dy(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return T(e)?e:typeof e==`object`&&`r`in e&&`s`in e?Ey(e):qn(e)})();try{if(s===`eoa`)try{if(qd(Pi(n),await Su({hash:i,signature:c})))return!0}catch{}return Xv(c)?await Oy(e,{...t,multicallAddress:o,signature:c}):await ky(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(qd(Pi(n),await Su({hash:i,signature:c})))return!0}catch{}if(e instanceof jy)return!1;throw e}}async function Oy(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,multicallAddress:o}=t,{authorization:s,data:c,signature:l,to:u}=Yv(t.signature);if(await fh(e,{address:n,blockNumber:r,blockTag:i})===Ui([`0xef0100`,s.address]))return await Ay(e,{address:n,blockNumber:r,blockTag:i,hash:a,signature:l});let d={address:s.address,chainId:Number(s.chainId),nonce:Number(s.nonce),r:k(s.r,{size:32}),s:k(s.s,{size:32}),yParity:s.yParity};if(!await Dh({address:n,authorization:d}))throw new jy;let f=await w(e,Rm,`readContract`)({...o?{address:o}:{code:zp},authorizationList:[d],abi:kp,blockNumber:r,blockTag:`pending`,functionName:`aggregate3`,args:[[...c?[{allowFailure:!0,target:u??n,callData:c}]:[],{allowFailure:!0,target:n,callData:Ca({abi:Mp,functionName:`isValidSignature`,args:[a,l]})}]]});if((f[f.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new jy}async function ky(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||wy(o)?o:Cy({data:i,signature:o,to:r}))(),u=s?{to:s,data:Ca({abi:Np,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:qp({abi:Np,args:[n,a,l],bytecode:Rp}),...c},{data:d}=await w(e,Em,`call`)(u).catch(e=>{throw e instanceof Po?new jy:e});if(Hn(d??`0x0`))return!0;throw new jy}async function Ay(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,signature:o}=t;if((await w(e,Rm,`readContract`)({address:n,abi:Mp,args:[a,o],blockNumber:r,blockTag:i,functionName:`isValidSignature`}).catch(e=>{throw e instanceof Fo?new jy:e})).startsWith(`0x1626ba7e`))return!0;throw new jy}var jy=class extends Error{};function My(e){let{scheme:t,statement:n,...r}=e.match(Ny)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(Py)?.groups??{},u=e.split(`Resources:`)[1]?.split(`\n- `).slice(1);return{...r,...l,...i?{chainId:Number(i)}:{},...a?{expirationTime:new Date(a)}:{},...o?{issuedAt:new Date(o)}:{},...s?{notBefore:new Date(s)}:{},...c?{requestId:c}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}let Ny=/^(?:(?<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)?/,Py=/(?: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 Fy(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await w(e,ih,`sendCalls`)(t);return await w(e,oh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}ya(),A(),td(),ld();async function Iy(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new Gm({docsPath:`/docs/actions/wallet/signTransaction`});let a=j(n);cd({account:a,...t});let o=await w(e,Bd,`getChainId`)({});r!==null&&qm({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||Zu;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:k(o),from:a.address}]},{retryCount:0})}ya();async function Ly(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new Gm({docsPath:`/docs/actions/wallet/signTypedData`});let o=j(n),s={EIP712Domain:Qh({domain:r}),...t.types};if(Zh({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=Xh({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}function Ry({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=uh();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:Ah(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function zy(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Ry({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}D();var By=class extends E{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};Wo(),im();let Vy=0,Hy=new WeakMap;function Uy(e){if(!e)return`default`;let t=Hy.get(e);if(t!==void 0)return t;let n=Vy++;return Hy.set(e,n),n}function Wy(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,methods:o,name:s=`HTTP JSON-RPC`,onFetchRequest:c,onFetchResponse:l,retryDelay:u,raw:d}=t;return({chain:f,retryCount:p,timeout:m})=>{let{batchSize:h=1e3,wait:g=0}=typeof n==`object`?n:{},_=t.retryCount??p,v=m??t.timeout??1e4,y=e||f?.rpcUrls.default.http[0];if(!y)throw new By;let b=Uh(y,{fetchFn:r,fetchOptions:i,onRequest:c,onResponse:l,timeout:v});return Ry({key:a,methods:o,name:s,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=nm({id:`${y}.${Uy(r?.signal)}`,wait:g,shouldSplitBatch(e){return e.length>h},fn:e=>b.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await b.request({body:e,fetchOptions:a})])(i);if(d)return{error:s,result:c};if(s)throw new Ho({body:i,error:s,url:y});return c},retryCount:_,retryDelay:u,timeout:v,type:`http`},{fetchOptions:i,url:y})}}uf(),R();function Gy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&f_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>$g(e)?e:up(e))})}return t}function Ky(e){if(!e||e.length===0)return[];let t=[];for(let{address:n,storageKeys:r}of e){for(let e=0;e<r.length;e++)if(lp(r[e])!==32)throw new qy({storageKey:r[e]});n&&f_(n,{strict:!1}),t.push([n,r])}return t}var qy=class extends N{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${lp(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};tp();let Jy=new TextEncoder,Yy=new TextDecoder,Xy=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),Zy={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function Qy(e,t={}){let{pad:n=!0,url:r=!1}=t,i=new Uint8Array(Math.ceil(e.length/3)*4);for(let t=0,n=0;n<e.length;t+=4,n+=3){let r=(e[n]<<16)+(e[n+1]<<8)+(e[n+2]|0);i[t]=Xy[r>>18],i[t+1]=Xy[r>>12&63],i[t+2]=Xy[r>>6&63],i[t+3]=Xy[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=Yy.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function $y(e,t={}){return Qy(Pf(e),t)}function eb(e,t={}){return Qy(Ff(e),t)}function tb(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);Jy.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(Zy[r[e]]<<18)+(Zy[r[e+1]]<<12)+(Zy[r[e+2]]<<6)+Zy[r[e+3]];r[n]=t>>16,r[n+1]=t>>8&255,r[n+2]=t&255}let i=(n>>2)*3+(n%4&&n%4-1);return new Uint8Array(r.buffer,0,i)}function nb(e){return Wf(tb(e))}let rb={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},ib={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function ab(e,t={}){if(!e)return null;let n=xv(e),r={...e,...n};return r.blockNumber=e.blockNumber?BigInt(e.blockNumber):null,`blockTimestamp`in e&&(r.blockTimestamp=e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0),r.data=e.input,r.gas=BigInt(e.gas??0n),r.nonce=BigInt(e.nonce??0n),r.transactionIndex=e.transactionIndex?Number(e.transactionIndex):null,r.value=BigInt(e.value??0n),e.authorizationList&&(r.authorizationList=zv(e.authorizationList)),e.chainId&&(r.chainId=Number(e.chainId)),e.gasPrice&&(r.gasPrice=BigInt(e.gasPrice)),e.maxFeePerBlobGas&&(r.maxFeePerBlobGas=BigInt(e.maxFeePerBlobGas)),e.maxFeePerGas&&(r.maxFeePerGas=BigInt(e.maxFeePerGas)),e.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=BigInt(e.maxPriorityFeePerGas)),e.type&&(r.type=ib[e.type]??e.type),n&&(r.v=Av(n.yParity)),r}tp(),uf(),R();function ob(e,t={}){let{as:n=`Hex`}=t,r=bb(e),i=K_(new Uint8Array(r.length));return r.encode(i),n===`Hex`?F(i.bytes):i.bytes}var sb=class extends N{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},cb=class extends N{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},lb=class extends N{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},ub=class extends N{constructor({tag:e}){super(`CBOR tagged data (tag ${e}) is not yet supported.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedTagError`})}},db=class extends N{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},fb=class extends N{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},pb=class extends N{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},mb=class extends N{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},hb=class extends N{constructor({number:e}){super(`Number exceeds maximum safe integer (${2**53-1}): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.NumberTooLargeError`})}},gb=class extends N{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},_b=class extends N{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},vb=class extends N{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},yb=class extends N{constructor({size:e}){super(`Byte string length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ByteStringTooLargeError`})}};function bb(e){if(e===void 0)return{length:1,encode:e=>e.pushUint8(247)};if(e===null)return{length:1,encode:e=>e.pushUint8(246)};if(typeof e==`boolean`)return{length:1,encode:t=>t.pushUint8(e?245:244)};if(typeof e==`number`)return bb.number(e);if(typeof e==`bigint`)throw new pb;if(typeof e==`string`)return bb.string(e);if(Array.isArray(e))return bb.array(e);if(e instanceof Uint8Array)return bb.byteString(e);if(e instanceof ArrayBuffer)return bb.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return bb.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return bb.map(e);if(typeof e==`object`)return bb.object(e);throw new mb({token:String(e)})}(function(e){function t(e){if(!Number.isSafeInteger(e)){let t=Math.fround(e);return Number.isNaN(e)||e===t?{length:5,encode(t){t.pushUint8(250),t.dataView.setFloat32(t.position,e,!1),t.position+=4}}:{length:9,encode(t){t.pushUint8(251),t.dataView.setFloat64(t.position,e,!1),t.position+=8}}}if(e>=0){if(e<=23)return{length:1,encode:t=>t.pushUint8(e)};if(e<=255)return{length:2,encode:t=>{t.pushUint8(24),t.pushUint8(e)}};if(e<=65535)return{length:3,encode:t=>{t.pushUint8(25),t.pushUint16(e)}};if(e<=4294967295)return{length:5,encode:t=>{t.pushUint8(26),t.pushUint32(e)}};throw new hb({number:e.toString(10)})}let t=-1-e;if(e>=-24)return{length:1,encode:e=>e.pushUint8(32+t)};if(t<=255)return{length:2,encode:e=>{e.pushUint8(56),e.pushUint8(t)}};if(t<=65535)return{length:3,encode:e=>{e.pushUint8(57),e.pushUint16(t)}};if(t<=4294967295)return{length:5,encode:e=>{e.pushUint8(58),e.pushUint32(t)}};throw new hb({number:e.toString(10)})}e.number=t;function n(e){let t=Ff(e),n=t.length;if(n<=23)return{length:1+n,encode(e){e.pushUint8(96+n),n>0&&e.pushBytes(t)}};if(n<=255)return{length:2+n,encode(e){e.pushUint8(120),e.pushUint8(n),e.pushBytes(t)}};if(n<=65535)return{length:3+n,encode(e){e.pushUint8(121),e.pushUint16(n),e.pushBytes(t)}};if(n<=4294967295)return{length:5+n,encode(e){e.pushUint8(122),e.pushUint32(n),e.pushBytes(t)}};throw new gb({size:n})}e.string=n;function r(t){let n=t.map(t=>e(t)),r=n.reduce((e,t)=>e+t.length,0),i=t.length;if(i<=23)return{length:1+r,encode(e){e.pushUint8(128+i);for(let t of n)t.encode(e)}};if(i<=255)return{length:2+r,encode(e){e.pushUint8(152),e.pushUint8(i);for(let t of n)t.encode(e)}};if(i<=65535)return{length:3+r,encode(e){e.pushUint8(153),e.pushUint16(i);for(let t of n)t.encode(e)}};if(i<=4294967295)return{length:5+r,encode(e){e.pushUint8(154),e.pushUint32(i);for(let t of n)t.encode(e)}};throw new _b({size:i})}e.array=r;function i(e){let t=e.byteLength;if(t<=23)return{length:1+t,encode(n){n.pushUint8(64+t),n.pushBytes(e)}};if(t<=255)return{length:2+t,encode(n){n.pushUint8(88),n.pushUint8(t),n.pushBytes(e)}};if(t<=65535)return{length:3+t,encode(n){n.pushUint8(89),n.pushUint16(t),n.pushBytes(e)}};if(t<=4294967295)return{length:5+t,encode(n){n.pushUint8(90),n.pushUint32(t),n.pushBytes(e)}};throw new yb({size:t})}e.byteString=i;function a(t){let n=Object.keys(t),r=n.map(n=>({key:e(n),value:e(t[n])})),i=r.reduce((e,t)=>e+t.key.length+t.value.length,0),a=n.length;if(a<=23)return{length:1+i,encode(e){e.pushUint8(160+a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=255)return{length:2+i,encode(e){e.pushUint8(184),e.pushUint8(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=65535)return{length:3+i,encode(e){e.pushUint8(185),e.pushUint16(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=4294967295)return{length:5+i,encode(e){e.pushUint8(186),e.pushUint32(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};throw new vb({size:a})}e.object=a;function o(t){let n=[];for(let[r,i]of t)n.push({key:e(r),value:e(i)});let r=n.reduce((e,t)=>e+t.key.length+t.value.length,0),i=t.size;if(i<=23)return{length:1+r,encode(e){e.pushUint8(160+i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=255)return{length:2+r,encode(e){e.pushUint8(184),e.pushUint8(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=65535)return{length:3+r,encode(e){e.pushUint8(185),e.pushUint16(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=4294967295)return{length:5+r,encode(e){e.pushUint8(186),e.pushUint32(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};throw new vb({size:i})}e.map=o})(bb||={});function xb(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return xb.readUnsignedInteger(e,r);case 1:return xb.readNegativeInteger(e,r);case 2:return xb.readByteString(e,r);case 3:return xb.readTextString(e,r);case 4:return xb.readArray(e,r);case 5:return xb.readMap(e,r);case 6:throw new ub({tag:r});case 7:return xb.readSimpleOrFloat(e,r);default:throw new sb({majorType:n})}}(function(e){function t(e,t){if(t<24)return t;if(t===24)return e.readUint8();if(t===25)return e.readUint16();if(t===26)return e.readUint32();throw t===27?new lb:new cb({additionalInfo:t})}function n(e,n){return t(e,n)}e.readUnsignedInteger=n;function r(e,n){return-1-t(e,n)}e.readNegativeInteger=r;function i(n,r){if(r===31){let t=[],r=0;for(;;){if(n.inspectUint8()===255){n.readUint8();break}let i=e(n);if(!(i instanceof Uint8Array))throw new db({type:`byte string`});t.push(i),r+=i.length}let i=new Uint8Array(r),a=0;for(let e of t)i.set(e,a),a+=e.length;return i}let i=t(n,r);return n.readBytes(i)}e.readByteString=i;function a(n,r){if(r===31){let t=[];for(;;){if(n.inspectUint8()===255){n.readUint8();break}let r=e(n);if(typeof r!=`string`)throw new db({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Wf(n.readBytes(i))}e.readTextString=a;function o(n,r){if(r===31){let t=[];for(;;){if(n.inspectUint8()===255){n.readUint8();break}t.push(e(n))}return t}let i=t(n,r),a=[];for(let t=0;t<i;t++)a.push(e(n));return a}e.readArray=o;function s(n,r){if(r===31){let t={};for(;;){if(n.inspectUint8()===255){n.readUint8();break}let r=e(n),i=typeof r==`string`?r:String(r);t[i]=e(n)}return t}let i=t(n,r),a={};for(let t=0;t<i;t++){let t=e(n),r=typeof t==`string`?t:String(t);a[r]=e(n)}return a}e.readMap=s;function c(e,t){if(t===20)return!1;if(t===21)return!0;if(t===22)return null;if(t!==23){if(t===25)return l(e.readUint16());if(t===26){let t=e.dataView.getFloat32(e.position,!1);return e.position+=4,t}if(t===27){let t=e.dataView.getFloat64(e.position,!1);return e.position+=8,t}if(t===24){let t=e.readUint8();if(t<32)throw new fb({value:t});return}throw new cb({additionalInfo:t})}}e.readSimpleOrFloat=c;function l(e){let t=e>>15&1,n=e>>10&31,r=e&1023;if(n===0){if(r===0)return t?-0:0;let e=2**-14*(r/1024);return t?-e:e}if(n===31)return r===0?t?-1/0:1/0:NaN;let i=2**(n-15)*(1+r/1024);return t?-i:i}})(xb||={}),uf();function Sb(e){let t=i_(e),n=t.slice(1,33),r=t.slice(33,65);return ob(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}Gs(),jl(),Qc();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Cb=Bc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),wb=Al({a:Cb.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:Cb,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Hs),Tb=Bc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));Al({a:Tb.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:Tb,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Ws);let Eb=Bc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));Al({a:Eb.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:Eb,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Us);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Db=wb,Ob=wb;tp(),R();function kb(e){let{privateKey:t}=e;return t_(Ob.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):F(t).slice(2)))}function Ab(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Ob.sign(r instanceof Uint8Array?r:Pf(r),i instanceof Uint8Array?i:Pf(i),{extraEntropy:typeof t==`boolean`?t:rp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function jb(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Ob.verify(i,n instanceof Uint8Array?n:Pf(n),a_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}var Mb=u(s(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1);function Nb(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw Pb(r.error);return r.result}function Pb(e){let t=e;if(t instanceof Error&&!(`code`in t))return new Kb({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===Kb.code?new Kb(t):n===Ib.code?new Ib(t):n===Gb.code?new Gb(t):n===Ub.code?new Ub(t):n===Vb.code?new Vb(t):n===Wb.code?new Wb(t):n===Bb.code?new Bb(t):n===qb.code?new qb(t):n===Lb.code?new Lb(t):n===Rb.code?new Rb(t):n===zb.code?new zb(t):n===Hb.code?new Hb(t):new Kb({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Fb=class extends Error{constructor(e){let{cause:t,code:n,message:r,data:i,stack:a}=e;super(r,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.BaseError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"stack\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),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.cause=t,this.code=n,this.data=i,this.stack=a??``}},Ib=class e extends Fb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Missing or invalid parameters.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidInputError`})}};Object.defineProperty(Ib,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Lb=class e extends Fb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Requested resource not found.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ResourceNotFoundError`})}};Object.defineProperty(Lb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Rb=class e extends Fb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Requested resource not available.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ResourceUnavailableError`})}};Object.defineProperty(Rb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var zb=class e extends Fb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Transaction creation failed.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.TransactionRejectedError`})}};Object.defineProperty(zb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var Bb=class e extends Fb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Method is not implemented.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.MethodNotSupportedError`})}};Object.defineProperty(Bb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Vb=class e extends Fb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Rate limit exceeded.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.LimitExceededError`})}};Object.defineProperty(Vb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Hb=class e extends Fb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`JSON-RPC version not supported.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.VersionNotSupportedError`})}};Object.defineProperty(Hb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Ub=class e extends Fb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Input is not a valid JSON-RPC request.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidRequestError`})}};Object.defineProperty(Ub,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Wb=class e extends Fb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Method does not exist.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.MethodNotFoundError`})}};Object.defineProperty(Wb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Gb=class e extends Fb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Invalid method parameters.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidParamsError`})}};Object.defineProperty(Gb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var Kb=class e extends Fb{constructor(t={}){super({cause:t.cause,code:e.code,data:t.data,message:t.message??`Internal JSON-RPC error.`,stack:t.stack}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InternalError`})}};Object.defineProperty(Kb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var qb=class e extends Fb{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Failed to parse JSON-RPC response.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ParseError`})}};Object.defineProperty(qb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),uf();var Jb=class extends Error{constructor(e,t){super(t),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ProviderRpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=e,this.details=t}},Yb=class extends Jb{constructor({message:e=`The user rejected the request.`}={}){super(4001,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UserRejectedRequestError`})}};Object.defineProperty(Yb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var Xb=class extends Jb{constructor({message:e=`The requested method and/or account has not been authorized by the user.`}={}){super(4100,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnauthorizedError`})}};Object.defineProperty(Xb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var Zb=class extends Jb{constructor({message:e=`The provider does not support the requested method.`}={}){super(4200,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedMethodError`})}};Object.defineProperty(Zb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var Qb=class extends Jb{constructor({message:e=`The provider is disconnected from all chains.`}={}){super(4900,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.DisconnectedError`})}};Object.defineProperty(Qb,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var $b=class extends Jb{constructor({message:e=`The provider is not connected to the requested chain.`}={}){super(4901,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.ChainDisconnectedError`})}};Object.defineProperty($b,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var ex=class extends Jb{constructor({message:e=`An error occurred when attempting to switch chain.`}={}){super(4902,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.SwitchChainError`})}};Object.defineProperty(ex,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var tx=class extends Jb{constructor({message:e=`This Wallet does not support a capability that was not marked as optional.`}={}){super(5700,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedNonOptionalCapabilityError`})}};Object.defineProperty(tx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var nx=class extends Jb{constructor({message:e=`This Wallet does not support the requested chain ID.`}={}){super(5710,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedChainIdError`})}};Object.defineProperty(nx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var rx=class extends Jb{constructor({message:e=`There is already a bundle submitted with this ID.`}={}){super(5720,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.DuplicateIdError`})}};Object.defineProperty(rx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var ix=class extends Jb{constructor({message:e=`This bundle id is unknown / has not been submitted.`}={}){super(5730,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnknownBundleIdError`})}};Object.defineProperty(ix,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var ax=class extends Jb{constructor({message:e=`The call bundle is too large for the Wallet to process.`}={}){super(5740,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.BundleTooLargeError`})}};Object.defineProperty(ax,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var ox=class extends Jb{constructor({message:e=`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`}={}){super(5750,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.AtomicReadyWalletRejectedUpgradeError`})}};Object.defineProperty(ox,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var sx=class extends Jb{constructor({message:e=`The wallet does not support atomic execution but the request requires it.`}={}){super(5760,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.AtomicityNotSupportedError`})}};Object.defineProperty(sx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function cx(){let e=new Mb.default;return{get eventNames(){return e.eventNames.bind(e)},get listenerCount(){return e.listenerCount.bind(e)},get listeners(){return e.listeners.bind(e)},addListener:e.addListener.bind(e),emit:e.emit.bind(e),off:e.off.bind(e),on:e.on.bind(e),once:e.once.bind(e),removeAllListeners:e.removeAllListeners.bind(e),removeListener:e.removeListener.bind(e)}}function lx(e,t={}){if(!e)throw new dx;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?Nb(n):n}catch(e){throw ux(e)}}}}function ux(e){let t=Pb(e);if(t instanceof Kb){if(!t.data)return t;let{code:e}=t.data;if(e===Qb.code)return new Qb(t);if(e===$b.code)return new $b(t);if(e===Yb.code)return new Yb(t);if(e===Xb.code)return new Xb(t);if(e===Zb.code)return new Zb(t);if(e===ex.code)return new ex(t);if(e===ox.code)return new ox(t);if(e===sx.code)return new sx(t);if(e===ax.code)return new ax(t);if(e===ix.code)return new ix(t);if(e===rx.code)return new rx(t);if(e===nx.code)return new nx(t);if(e===tx.code)return new tx(t)}return t}var dx=class extends N{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function fx(e={}){let t=e.id??0;return{prepare(e){return px({id:t++,...e})},get id(){return t}}}function px(e){return{...e,jsonrpc:`2.0`}}function mx(){return null}R();function hx(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=Vv(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=I(e.chainId)),e.data===void 0?e.input!==void 0&&(t.data=e.input,t.input=e.input):(t.data=e.data,t.input=e.data),e.from!==void 0&&(t.from=e.from),e.gas!==void 0&&(t.gas=I(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=I(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=I(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=I(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=I(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=I(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=I(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=rb[e.type]||e.type),e.value!==void 0&&(t.value=I(e.value)),t}uf();let gx={wei:0,gwei:9,szabo:12,finney:15,ether:18};function _x(e,t=0){let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}function vx(e,t=`wei`){return _x(e,gx.gwei-gx[t])}uf();var yx=class extends N{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${vx(e)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.FeeCapTooHighError`})}},bx=class extends N{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID \"${e}\" is invalid.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},xx=class extends N{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},Sx=class extends N{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${vx(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${vx(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function Cx(e){let t=Db.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}R();function wx(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=P(Qg(ap(r)),I(n,{size:1}),I(i,{size:4}));if(!t)return a;let o=F(new Uint8Array(16)),s=F(t.id);return P(a,o,I(t.id.length,{size:2}),s,Sb(t.publicKey))}function Tx(e){let{challenge:t,crossOrigin:n=!1,extraClientData:r,origin:i=window.location.origin,type:a=`webauthn.get`}=e;return JSON.stringify({type:a,challenge:$y(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}tp(),uf(),R();function Ex(e){let{credentialId:t,challenge:n,extensions:r,rpId:i=window.location.hostname,userVerification:a=`required`}=e;return{publicKey:{...t?{allowCredentials:Array.isArray(t)?t.map(e=>({id:tb(e),type:`public-key`})):[{id:tb(t),type:`public-key`}]}:{},challenge:Pf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function Dx(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=wx({flag:i,rpId:o,signCount:s}),u=Tx({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=Qg(ap(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:P(l,d)}}async function Ox(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:Ex(n);try{let e=await t(r);if(!e)throw new kx;let n=e.response,i=new Uint8Array(n.clientDataJSON),a=new Uint8Array(n.authenticatorData),o=new Uint8Array(n.signature),s=e.id,c=String.fromCharCode(...i),l=c.indexOf(`\"challenge\"`),u=c.indexOf(`\"type\"`),d=Cx(o);return{id:s,metadata:{authenticatorData:F(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new kx({cause:e})}}var kx=class extends N{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function Ax(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Pf(s);if(u.length<37||a!==void 0&&!If(u.slice(0,32),Qg(ap(a),{as:`Bytes`})))return!1;let d=u[32];if((d&1)!=1||l&&(d&4)!=4||(d&8)!=8&&(d&16)==16)return!1;let f=JSON.parse(c);return f.type!==`webauthn.get`||!f.challenge||F(tb(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:jb({hash:!0,payload:jf(u,Qg(Ff(c),{as:`Bytes`})),publicKey:i,signature:o})}let jx=Dx;async function Mx(e){return Ox(e)}function Nx(e){return Ax(e)}tp();async function Px(e={}){let{extractable:t=!1}=e,n=await globalThis.crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},t,[`sign`,`verify`]),r=await globalThis.crypto.subtle.exportKey(`raw`,n.publicKey),i=t_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function Fx(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,Mf(t)),i=Nf(new Uint8Array(r)),a=Vf(Bf(i,0,32)),o=Vf(Bf(i,32,64));return o>Db.CURVE.n/2n&&(o=Db.CURVE.n-o),{r:a,s:o}}uf(),R(),kf();let Ix=`0x01`,Lx=`0x02`,Rx=`0x03`,zx=`0x04`,Bx=`0x7777777777777777777777777777777777777777777777777777777777777777`;function Vx(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:Vx({...e,signature:t.inner}):h_(Hx(e))}function Hx(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return Wv({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return Hx({payload:t,signature:n.inner})}}function Ux(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?L(e,0,-lp(Bx)):e;if(lp(t)===65){let e=bv(t);return vv(e),{signature:e,type:`secp256k1`}}let n=L(t,0,1),r=L(t,1),i=lp(r);if(n===Ix){if(i!==129)throw new Zx({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${i} bytes`,serialized:t});return{publicKey:{prefix:4,x:dp(L(r,64,96)),y:dp(L(r,96,128))},prehash:pp(L(r,128,129))!==0,signature:{r:dp(L(r,0,32)),s:dp(L(r,32,64))},type:`p256`}}if(n===Lx){if(i<128)throw new Zx({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${i} bytes`,serialized:t});let e=i-128,n=L(r,0,e),a,o;for(let t=37;t<e;t++){let e=mp(L(n,t));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),a=L(n,0,t),o=e;break}catch{}}if(!a||!o)throw new Zx({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{publicKey:{prefix:4,x:dp(L(r,e+64,e+96)),y:dp(L(r,e+96,e+128))},metadata:{authenticatorData:a,clientDataJSON:o},signature:{r:dp(L(r,e,e+32)),s:dp(L(r,e+32,e+64))},type:`webAuthn`}}if(n===Rx||n===zx)return{userAddress:L(r,0,20),inner:Ux(L(r,20)),type:`keychain`,version:n===zx?`v2`:`v1`};throw new Zx({reason:`Unknown signature type identifier: ${n}. Expected ${Ix} (P256), ${Lx} (WebAuthn), ${Rx} (Keychain V1), or ${zx} (Keychain V2)`,serialized:t})}function Wx(e,t){if(typeof e==`string`)return Ux(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=Kx(e);return{...e,...n===`p256`?{prehash:e.prehash}:{},...n===`keychain`?{...typeof e==`object`&&e&&`version`in e&&e.version?{}:{version:`v2`},...typeof e==`object`&&`keyId`in e&&e.keyId?{}:(()=>{let n=e.inner;return n.type===`p256`||n.type===`webAuthn`?{keyId:h_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:h_(Wv({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function Gx(e){if(e.type===`secp256k1`)return{signature:wv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:dp(e.pubKeyX),y:dp(e.pubKeyY)},signature:{r:dp(e.r),s:dp(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=lp(t),r,i;for(let e=37;e<n;e++){let n=mp(L(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=L(t,0,e),i=n;break}catch{}}if(!r||!i)throw new Zx({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{metadata:{authenticatorData:r,clientDataJSON:i},publicKey:{prefix:4,x:dp(e.pubKeyX),y:dp(e.pubKeyY)},signature:{r:dp(e.r),s:dp(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e)return{type:`keychain`,userAddress:e.userAddress,inner:Gx(e.signature),...e.keyId?{keyId:e.keyId}:{},...e.version?{version:e.version}:{}};throw new Xx({envelope:e})}function Kx(e){if(typeof e!=`object`||!e)throw new Xx({envelope:e});if(`type`in e&&e.type)return e.type;if(`signature`in e&&!(`publicKey`in e)&&typeof e.signature==`object`&&e.signature!==null&&`r`in e.signature&&`s`in e.signature&&`yParity`in e.signature||`r`in e&&`s`in e&&`yParity`in e)return`secp256k1`;if(`signature`in e&&`prehash`in e&&`publicKey`in e&&typeof e.prehash==`boolean`)return`p256`;if(`signature`in e&&`metadata`in e&&`publicKey`in e)return`webAuthn`;if(`userAddress`in e&&`inner`in e)return`keychain`;throw new Xx({envelope:e})}function qx(e,t={}){let n=Kx(e);if(n===`secp256k1`)return P(Ev(e.signature),t.magic?Bx:`0x`);if(n===`p256`){let n=e;return P(Ix,I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),I(+!!n.prehash,{size:1}),t.magic?Bx:`0x`)}if(n===`webAuthn`){let n=e;return P(Lx,P(n.metadata.authenticatorData,ap(n.metadata.clientDataJSON)),I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),t.magic?Bx:`0x`)}if(n===`keychain`){let n=e;return P(n.version===`v1`?Rx:zx,n.userAddress,qx(n.inner),t.magic?Bx:`0x`)}throw new Xx({envelope:e})}function Jx(e){let t=Kx(e);if(t===`secp256k1`)return{...Dv(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:I(t.publicKey.x,{size:32}),pubKeyY:I(t.publicKey.y,{size:32}),r:I(t.signature.r,{size:32}),s:I(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=P(t.metadata.authenticatorData,ap(t.metadata.clientDataJSON));return{pubKeyX:I(t.publicKey.x,{size:32}),pubKeyY:I(t.publicKey.y,{size:32}),r:I(t.signature.r,{size:32}),s:I(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return{type:`keychain`,userAddress:t.userAddress,signature:Jx(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}throw new Xx({envelope:e})}function Yx(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return h_(t.publicKey)})();if(!r)return!1;let i=Wx(e);if(i.type===`secp256k1`)return r?Kv({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return g_(h_(i.publicKey),r)?jb({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return g_(h_(i.publicKey),r)?Nx({challenge:rp(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new Qx(`Unable to verify signature envelope of type \"${i.type}\".`)}var Xx=class extends N{constructor({envelope:e}){super(`Unable to coerce value (\\`${Df(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},Zx=class extends N{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},Qx=class extends N{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};uf(),R();function $x(e){return e.startsWith(`tempo`)?eS(e).address:e}function eS(e){if(!e.startsWith(`tempox`))throw new tS({address:e});let t=e.slice(6);return np(t,{strict:!0}),{address:p_(t)}}var tS=class extends N{constructor({address:e}){super(`Tempo address \"${e}\" has an invalid prefix. Expected \"tempox\".`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};R();function nS(e,t={}){if(typeof e.chainId==`string`)return rS(e);let n={...e,address:$x(e.address)};return t.signature?{...n,signature:t.signature}:n}function rS(e){let{address:t,chainId:n,nonce:r}=e,i=Gx(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function iS(e){return e.map(e=>rS(e))}function aS(e){let[t,n,r,i]=e,a={address:n,chainId:t===`0x`?0:Number(t),nonce:r===`0x`?0n:BigInt(r)};return i&&(a.signature=Ux(i)),nS(a)}function oS(e){let t=[];for(let n of e)t.push(aS(n));return t}function sS(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:I(n),nonce:I(r),signature:Jx(i)}}function cS(e){return e.map(e=>sS(e))}function lS(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?qx(e.signature):void 0;return[n?I(n):`0x`,t,r?I(r):`0x`,...i?[i]:[]]}function uS(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(lS(n));return t}R();let dS=`0x20c0`;function fS(e){return typeof e==`bigint`||typeof e==`number`?BigInt(e):pS(e)}function pS(e){let t=$x(e);if(!t.toLowerCase().startsWith(dS))throw Error(`invalid tip20 address.`);return dp(L(t,6))}function z(e){if(typeof e==`string`){let t=$x(e);return f_(t),t}return P(dS,I(e,{size:18}))}let mS=`0x0000000000000000000000000000000000000000`;function hS(e){let{authorizedSigner:t=mS,expiringNonceHash:n,operator:r=mS,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:gS(t),expiringNonceHash:n,operator:gS(r),payee:gS(i),payer:gS(a),salt:o,token:typeof s==`string`?gS(s):z(s)}}function gS(e){return m_(e)}R();let _S=$_(`address, address, address, address, bytes32, address, bytes32, address, uint256`),vS=$_(`bytes32, bytes32, bytes32, uint256, address`),yS=$_(`bytes32, bytes32, uint96`),bS=Xg(ap(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),xS=Xg(ap(`TIP20 Channel Reserve`)),SS=Xg(ap(`1`)),CS=`0x4d50500000000000000000000000000000000000`,wS=Xg(ap(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function TS(e){let t=hS(e);return Xg(Z_(_S,[t.payer,t.payee,t.operator,t.token,t.salt,t.authorizedSigner,t.expiringNonceHash,CS,BigInt(e.chainId)]))}function ES(e){return Xg(Z_(vS,[bS,xS,SS,BigInt(e.chainId),CS]))}function DS(e){let t=Xg(Z_(yS,[wS,e.channelId,e.cumulativeAmount]));return Xg(P(`0x1901`,ES({chainId:e.chainId}),t))}R();function OS(e,t={}){if(`keyId`in e)return kS(e);let n=e,r={...n,address:$x(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:$x(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:$x(e.address),selector:HS(e.selector),...e.recipients?{recipients:e.recipients.map(e=>$x(e))}:{}}))}:{}};return t.signature?{...r,signature:Wx(t.signature)}:r}function kS(e){let{allowedCalls:t,chainId:n,keyId:r,expiry:i,limits:a,keyType:o}=e,s=Gx(e.signature),c=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:VS(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0;return{address:r,chainId:n===`0x`?0n:dp(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&BS(e.period)>0?{period:BS(e.period)}:{}})),...c?{scopes:c}:{},signature:s,type:o}}function AS(e){let[t,n]=e,[r,i,a,o,s,c]=t,l=(()=>{switch(i){case`0x`:case`0x00`:return`secp256k1`;case`0x01`:return`p256`;case`0x02`:return`webAuthn`;default:throw Error(`Invalid key type: ${i}`)}})(),u={address:a,expiry:o===void 0?void 0:BS(o)||void 0,type:l,chainId:r===`0x`?0n:dp(r),...o===void 0?{}:{expiry:BS(o)||void 0},...s!==void 0&&Array.isArray(s)&&s.length>0?{limits:s.map(e=>{let[t,n,r]=e;return{token:t,limit:zS(n),...r===void 0?{}:{period:BS(r)}}})}:{},...c!==void 0&&Array.isArray(c)?{scopes:c.flatMap(e=>{let[t,n]=e;return!Array.isArray(n)||n.length===0?[{address:t}]:n.map(e=>{let[n,r]=e;return{address:t,selector:n,...Array.isArray(r)&&r.length>0?{recipients:r}:{}}})})}:{}};return n&&(u.signature=Ux(n)),OS(u)}function jS(e){return NS(e)}function MS(e){return AS(sv(e))}function NS(e){let[t]=IS(e);return Xg(pv(t))}function PS(e){return pv(IS(e))}function FS(e){let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s}=e,c=(()=>{if(!n)return;let e=new Map;for(let t of n){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push({selector:HS(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}})}return[...e.entries()].map(([e,t])=>({target:e,...t.length>0?{selectorRules:t}:{}}))})();return{chainId:r===0n?`0x`:I(r),expiry:typeof i==`number`?I(i):null,keyId:$x(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:I(t),...n?{period:RS(n)}:{}})),signature:Jx(s),...c?{allowedCalls:c}:{}}}function IS(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a}=e,o=e.signature?qx(e.signature):void 0,s=(()=>{switch(e.type){case`secp256k1`:return`0x`;case`p256`:return`0x01`;case`webAuthn`:return`0x02`;default:throw Error(`Invalid key type: ${e.type}`)}})(),c=a?.map(e=>{let t=[e.token,LS(e.limit)];return e.period&&e.period>0&&t.push(RS(e.period)),t}),l=(()=>{if(!r)return;let e=new Map;for(let t of r){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push([HS(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})();return[[LS(n),s,t,i!=null&&i!==0||c||l?RS(i??0):void 0,c||l?c??[]:void 0,l].filter(e=>e!==void 0),...o?[o]:[]]}function LS(e){return e===0n?`0x`:I(e)}function RS(e){return e===0?`0x`:I(e)}function zS(e){return e===`0x`?0n:BigInt(e)}function BS(e){return e===`0x`?0:pp(e)}function VS(e){return typeof e==`string`?e:Array.isArray(e)?F(new Uint8Array(e)):e}function HS(e){if(e)return e.startsWith(`0x`)?e:gy(e)}R();let US={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function WS(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:Xg(ap(US[e]??e))}let GS={...rb,tempo:`0x76`},KS={...ib,\"0x76\":`tempo`};function qS(e,t={}){if(!e)return null;let n=ab(e);return n.type=KS[e.type],e.aaAuthorizationList&&(n.authorizationList=iS(e.aaAuthorizationList),delete n.aaAuthorizationList),e.calls&&(n.calls=e.calls.map(e=>({to:e.to,value:e.value&&e.value!==`0x`?BigInt(e.value):void 0,data:e.input||e.data||`0x`}))),e.feeToken&&(n.feeToken=e.feeToken),e.nonceKey&&(n.nonceKey=BigInt(e.nonceKey)),e.signature&&(n.signature=Gx(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=kS(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=wv(e.feePayerSignature),n.feePayerSignature.v=Av(n.feePayerSignature.yParity)),n}R();function JS(e){let t=hx({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=cS(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?$x(e.to):e.to,value:e.value?I(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?$x(e.to):void 0,value:e.value?I(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=z(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=FS(e.keyAuthorization)),e.validBefore!==void 0&&(t.validBefore=I(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=I(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return cp(6);if(typeof e.nonceKey==`bigint`)return I(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=GS.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}uf(),R();let YS=`tempo`;function XS(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new iC;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new aC({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&f_(e.to,{strict:!1});if(n<=0)throw new bx({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new yx({feeCap:r});if(i&&r&&i>r)throw new Sx({maxFeePerGas:r,maxPriorityFeePerGas:i})}function ZS(e){let t=sv(L(e,1)),[n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]=t,_=Array.isArray(h)?h:void 0,v=_?g:h;if(!(t.length===13||t.length===14||t.length===15))throw new xx({attributes:{authorizationList:m,chainId:n,maxPriorityFeePerGas:r,maxFeePerGas:i,gas:a,calls:o,accessList:s,keyAuthorization:_,nonceKey:c,nonce:l,validBefore:u,validAfter:d,feeToken:f,feePayerSignatureOrSender:p,...t.length>12?{signature:v}:{}},serialized:e,type:YS});let y={chainId:Number(n),type:YS};hp(a)&&a!==`0x`&&(y.gas=BigInt(a)),hp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),hp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),hp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),hp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),hp(u)&&u!==`0x`&&(y.validBefore=Number(u)),hp(d)&&d!==`0x`&&(y.validAfter=Number(d)),hp(f)&&f!==`0x`&&(y.feeToken=f),o&&o!==`0x`&&(y.calls=o.map(e=>{let[t,n,r]=e,i={};return t&&t!==`0x`&&(i.to=t),n&&n!==`0x`&&(i.value=BigInt(n)),r&&r!==`0x`&&(i.data=r),i})),s?.length!==0&&s!==`0x`&&(y.accessList=Gy(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=oS(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||__(p)?(y.feePayerSignature=null,__(p)&&(y.from=p)):y.feePayerSignature=Tv(p)),_&&(y.keyAuthorization=AS(_));let b=v?Ux(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=Vx({payload:tC(QS(y)),signature:b,root:!0})}catch{}return XS(y),y}function QS(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?ZS(e):e;return i.from&&=$x(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:$x(e.to)}:{}})),XS(i),{...i,...r?{signature:Wx(r)}:{},...n?{feePayerSignature:Sv(n)}:{},type:`tempo`}}function $S(e,t={}){let{accessList:n,authorizationList:r,calls:i,chainId:a,feeToken:o,gas:s,keyAuthorization:c,nonce:l,nonceKey:u,maxFeePerGas:d,maxPriorityFeePerGas:f,validBefore:p,validAfter:m}=e;XS(e);let h=Ky(n),g=t.signature||e.signature,_=uS(r),v=i.map(e=>[e.to?$x(e.to):`0x`,e.value?I(e.value):`0x`,e.data??`0x`]),y=!1,b=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&g){let t=Wx(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return h_(t.publicKey);if(t.type===`secp256k1`)return Uv({payload:tC(QS(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Ov(n):`0x`})(),x=[I(a),f?I(f):`0x`,d?I(d):`0x`,s?I(s):`0x`,v,h,u?I(u):`0x`,l?I(l):`0x`,typeof p==`number`?I(p):`0x`,typeof m==`number`?I(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?z(o):`0x`,b,_,...c?[IS(c)]:[],...g?[qx(Wx(g))]:[]];return P(t.format===`feePayer`?`0x78`:`0x76`,pv(x))}function eC(e){return $S({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function tC(e,t={}){let n=nC(e,{presign:!0});return t.from?Xg(P(`0x04`,n,$x(t.from))):n}function nC(e,t={}){return Xg(t.presign?eC(e):$S(e))}function rC(e,t){let n=$x(t.sender);return Xg($S({...e,signature:void 0},{sender:n,format:`feePayer`}))}var iC=class extends N{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},aC=class extends N{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};let oC=[{name:`CLOSE_GRACE_PERIOD`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`VOUCHER_TYPEHASH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`open`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`uint96`,name:`deposit`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`}],outputs:[{type:`bytes32`,name:`channelId`}]},{name:`settle`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`topUp`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`additionalDeposit`}],outputs:[]},{name:`close`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`captureAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`requestClose`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`getChannel`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[{type:`tuple`,components:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`tuple`,name:`state`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]}]},{name:`getChannelState`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`}],outputs:[{type:`tuple`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`getChannelStatesBatch`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32[]`,name:`channelIds`}],outputs:[{type:`tuple[]`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`computeChannelId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}],outputs:[{type:`bytes32`}]},{name:`getVoucherDigest`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`},{type:`uint96`,name:`cumulativeAmount`}],outputs:[{type:`bytes32`}]},{name:`domainSeparator`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ChannelOpened`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`salt`},{type:`bytes32`,name:`expiringNonceHash`},{type:`uint96`,name:`deposit`}]},{name:`Settled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`deltaPaid`},{type:`uint96`,name:`newSettled`}]},{name:`TopUp`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`additionalDeposit`},{type:`uint96`,name:`newDeposit`}]},{name:`CloseRequested`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint256`,name:`closeGraceEnd`}]},{name:`ChannelClosed`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`settledToPayee`},{type:`uint96`,name:`refundedToPayer`}]},{name:`CloseRequestCancelled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0}]},{name:`ChannelAlreadyExists`,type:`error`,inputs:[]},{name:`ChannelNotFound`,type:`error`,inputs:[]},{name:`NotPayer`,type:`error`,inputs:[]},{name:`NotPayeeOrOperator`,type:`error`,inputs:[]},{name:`InvalidPayee`,type:`error`,inputs:[]},{name:`ZeroDeposit`,type:`error`,inputs:[]},{name:`ExpiringNonceHashNotSet`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`AmountExceedsDeposit`,type:`error`,inputs:[]},{name:`AmountNotIncreasing`,type:`error`,inputs:[]},{name:`CaptureAmountInvalid`,type:`error`,inputs:[]},{name:`CloseNotReady`,type:`error`,inputs:[]},{name:`DepositOverflow`,type:`error`,inputs:[]}],B=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],sC=[{name:`getActiveValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getInitializedAtHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`validatorByIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`index`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validatorAddress`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByPublicKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`publicKey`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getNextNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`isInitialized`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`bytes`,name:`signature`}],outputs:[{type:`uint64`,name:`index`}]},{name:`deactivateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`rotateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`setFeeRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`feeRecipient`}],outputs:[]},{name:`setIpAddresses`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`}],outputs:[]},{name:`transferValidatorOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`newAddress`}],outputs:[]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`setNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`migrateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`initializeIfMigrated`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`ValidatorAdded`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`}]},{name:`ValidatorDeactivated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0}]},{name:`ValidatorRotated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`uint64`,name:`deactivatedIndex`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`oldPublicKey`},{type:`bytes32`,name:`newPublicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`FeeRecipientUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`feeRecipient`},{type:`address`,name:`caller`}]},{name:`IpAddressesUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`ValidatorOwnershipTransferred`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`oldAddress`,indexed:!0},{type:`address`,name:`newAddress`,indexed:!0},{type:`address`,name:`caller`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`oldOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ValidatorMigrated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`NetworkIdentityRotationEpochSet`,type:`event`,inputs:[{type:`uint64`,name:`previousEpoch`,indexed:!0},{type:`uint64`,name:`nextEpoch`,indexed:!0}]},{name:`Initialized`,type:`event`,inputs:[{type:`uint64`,name:`height`}]},{name:`SkippedValidatorMigration`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`IngressAlreadyExists`,type:`error`,inputs:[{type:`string`,name:`ingress`}]},{name:`EmptyV1ValidatorSet`,type:`error`,inputs:[]},{name:`InvalidMigrationIndex`,type:`error`,inputs:[]},{name:`InvalidOwner`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`InvalidSignatureFormat`,type:`error`,inputs:[]},{name:`InvalidValidatorAddress`,type:`error`,inputs:[]},{name:`MigrationNotComplete`,type:`error`,inputs:[]},{name:`NotInitialized`,type:`error`,inputs:[]},{name:`NotIp`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`PublicKeyAlreadyExists`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`AddressAlreadyHasValidator`,type:`error`,inputs:[]},{name:`ValidatorAlreadyDeactivated`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]}],cC=[{name:`recover`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`address`,name:`signer`}]},{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`signer`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`InvalidFormat`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]}],lC=[{name:`createPair`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`base`}],outputs:[{type:`bytes32`,name:`key`}]},{name:`place`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`placeFlip`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`cancel`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`cancelStaleOrder`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`swapExactAmountIn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`},{type:`uint128`,name:`minAmountOut`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`swapExactAmountOut`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`},{type:`uint128`,name:`maxAmountIn`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`quoteSwapExactAmountIn`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`quoteSwapExactAmountOut`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`},{type:`address`,name:`token`}],outputs:[{type:`uint128`}]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`}],outputs:[]},{name:`getOrder`,type:`function`,stateMutability:`view`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`orderId`},{type:`address`,name:`maker`},{type:`bytes32`,name:`bookKey`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`remaining`},{type:`uint128`,name:`prev`},{type:`uint128`,name:`next`},{type:`bool`,name:`isFlip`},{type:`int16`,name:`flipTick`}]}]},{name:`getTickLevel`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`base`},{type:`int16`,name:`tick`},{type:`bool`,name:`isBid`}],outputs:[{type:`uint128`,name:`head`},{type:`uint128`,name:`tail`},{type:`uint128`,name:`totalLiquidity`}]},{name:`pairKey`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`tokenA`},{type:`address`,name:`tokenB`}],outputs:[{type:`bytes32`}]},{name:`nextOrderId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`books`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`pairKey`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`base`},{type:`address`,name:`quote`},{type:`int16`,name:`bestBidTick`},{type:`int16`,name:`bestAskTick`}]}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`OrderCancelled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PairDoesNotExist`,type:`error`,inputs:[]},{name:`PairAlreadyExists`,type:`error`,inputs:[]},{name:`OrderDoesNotExist`,type:`error`,inputs:[]},{name:`IdenticalTokens`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TickOutOfBounds`,type:`error`,inputs:[{type:`int16`,name:`tick`}]},{name:`InvalidTick`,type:`error`,inputs:[]},{name:`InvalidFlipTick`,type:`error`,inputs:[]},{name:`InsufficientBalance`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientOutput`,type:`error`,inputs:[]},{name:`MaxInputExceeded`,type:`error`,inputs:[]},{name:`BelowMinimumOrderSize`,type:`error`,inputs:[{type:`uint128`,name:`amount`}]},{name:`InvalidBaseToken`,type:`error`,inputs:[]},{name:`OrderNotStale`,type:`error`,inputs:[]}],uC=[{name:`registerVirtualMaster`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`salt`}],outputs:[{type:`bytes4`,name:`masterId`}]},{name:`getMaster`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes4`,name:`masterId`}],outputs:[{type:`address`}]},{name:`resolveRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`to`}],outputs:[{type:`address`,name:`effectiveRecipient`}]},{name:`resolveVirtualAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`virtualAddr`}],outputs:[{type:`address`,name:`master`}]},{name:`isVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`decodeVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`,name:`isVirtual`},{type:`bytes4`,name:`masterId`},{type:`bytes6`,name:`userTag`}]},{name:`isImplicitlyApproved`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`MasterRegistered`,type:`event`,inputs:[{type:`bytes4`,name:`masterId`,indexed:!0},{type:`address`,name:`masterAddress`,indexed:!0}]},{name:`MasterIdCollision`,type:`error`,inputs:[{type:`address`,name:`master`}]},{name:`InvalidMasterAddress`,type:`error`,inputs:[]},{name:`ProofOfWorkFailed`,type:`error`,inputs:[]},{name:`VirtualAddressUnregistered`,type:`error`,inputs:[]}],dC=[{name:`userTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`address`}]},{name:`validatorTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`address`}]},{name:`setUserToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setValidatorToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`distributeFees`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[]},{name:`collectedFees`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[{type:`uint256`}]},{name:`UserTokenSet`,type:`event`,inputs:[{type:`address`,name:`user`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`ValidatorTokenSet`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`FeesDistributed`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientFeeTokenBalance`,type:`error`,inputs:[]},{name:`CannotChangeWithinBlock`,type:`error`,inputs:[]}],fC=[{name:`M`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`N`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`SCALE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MIN_LIQUIDITY`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPoolId`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`bytes32`}]},{name:`getPool`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`pools`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`liquidity`}]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`uint256`}]},{name:`liquidityBalances`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`},{type:`address`,name:`user`}],outputs:[{type:`uint256`}]},{name:`rebalanceSwap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountOut`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountIn`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`sender`},{type:`address`,name:`to`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}]},{name:`RebalanceSwap`,type:`event`,inputs:[{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`address`,name:`swapper`,indexed:!0},{type:`uint256`,name:`amountIn`},{type:`uint256`,name:`amountOut`}]},{name:`IdenticalAddresses`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientReserves`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`DivisionByZero`,type:`error`,inputs:[]},{name:`InvalidSwapCalculation`,type:`error`,inputs:[]}],pC=[{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`burnKeyAuthorizationWitness`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`witness`}],outputs:[]},{name:`revokeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`}],outputs:[]},{name:`updateSpendingLimit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`token`},{type:`uint256`,name:`newLimit`}],outputs:[]},{name:`setAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}],outputs:[]},{name:`removeAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`target`}],outputs:[]},{name:`getKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`tuple`,components:[{type:`uint8`,name:`signatureType`},{type:`address`,name:`keyId`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`bool`,name:`isRevoked`}]}]},{name:`getRemainingLimit`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`}]},{name:`getRemainingLimitWithPeriod`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`},{type:`uint64`,name:`periodEnd`}]},{name:`getAllowedCalls`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`,name:`isScoped`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{name:`isKeyAuthorizationWitnessBurned`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`witness`}],outputs:[{type:`bool`}]},{name:`getTransactionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`KeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`}]},{name:`KeyRevoked`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`SpendingLimitUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`newLimit`}]},{name:`AccessKeySpend`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint256`,name:`remainingLimit`}]},{name:`KeyAuthorizationWitness`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`KeyAuthorizationWitnessBurned`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`UnauthorizedCaller`,type:`error`,inputs:[]},{name:`KeyAlreadyExists`,type:`error`,inputs:[]},{name:`KeyNotFound`,type:`error`,inputs:[]},{name:`KeyExpired`,type:`error`,inputs:[]},{name:`SpendingLimitExceeded`,type:`error`,inputs:[]},{name:`InvalidSpendingLimit`,type:`error`,inputs:[]},{name:`InvalidSignatureType`,type:`error`,inputs:[]},{name:`ZeroPublicKey`,type:`error`,inputs:[]},{name:`ExpiryInPast`,type:`error`,inputs:[]},{name:`KeyAlreadyRevoked`,type:`error`,inputs:[]},{name:`SignatureTypeMismatch`,type:`error`,inputs:[{type:`uint8`,name:`expected`},{type:`uint8`,name:`actual`}]},{name:`CallNotAllowed`,type:`error`,inputs:[]},{name:`InvalidCallScope`,type:`error`,inputs:[]},{name:`InvalidKeyAuthorizationWitness`,type:`error`,inputs:[]},{name:`KeyAuthorizationWitnessAlreadyBurned`,type:`error`,inputs:[]},{name:`LegacyAuthorizeKeySelectorChanged`,type:`error`,inputs:[{type:`bytes4`,name:`newSelector`}]}],mC=[{name:`getNonce`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint256`,name:`nonceKey`}],outputs:[{type:`uint64`,name:`nonce`}]},{name:`NonceIncremented`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint256`,name:`nonceKey`,indexed:!0},{type:`uint64`,name:`newNonce`}]},{name:`ProtocolNonceNotSupported`,type:`error`,inputs:[]},{name:`InvalidNonceKey`,type:`error`,inputs:[]},{name:`NonceOverflow`,type:`error`,inputs:[]},{name:`ExpiringNonceReplay`,type:`error`,inputs:[]},{name:`ExpiringNonceSetFull`,type:`error`,inputs:[]},{name:`InvalidExpiringNonceExpiry`,type:`error`,inputs:[]}],hC=[{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`},{type:`string`,name:`logoURI`}],outputs:[{type:`address`}]},{name:`isTIP20`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`getTokenAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`sender`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`TokenCreated`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}]},{name:`AddressReserved`,type:`error`,inputs:[]},{name:`AddressNotReserved`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`TokenAlreadyExists`,type:`error`,inputs:[{type:`address`,name:`token`}]}],gC=[{name:`policyIdCounter`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`policyExists`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`bool`}]},{name:`policyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint8`,name:`policyType`},{type:`address`,name:`admin`}]},{name:`isAuthorized`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedSender`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedMintRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`compoundPolicyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`createPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`}],outputs:[{type:`uint64`}]},{name:`createPolicyWithAccounts`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`},{type:`address[]`,name:`accounts`}],outputs:[{type:`uint64`}]},{name:`setPolicyAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`admin`}],outputs:[]},{name:`modifyPolicyWhitelist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`modifyPolicyBlacklist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`restricted`}],outputs:[]},{name:`createCompoundPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}],outputs:[{type:`uint64`}]},{name:`PolicyAdminUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`admin`,indexed:!0}]},{name:`PolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`uint8`,name:`policyType`}]},{name:`WhitelistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`allowed`}]},{name:`BlacklistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`restricted`}]},{name:`CompoundPolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`creator`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PolicyNotFound`,type:`error`,inputs:[]},{name:`PolicyNotSimple`,type:`error`,inputs:[]},{name:`InvalidPolicyType`,type:`error`,inputs:[]},{name:`IncompatiblePolicyType`,type:`error`,inputs:[]},{name:`VirtualAddressNotAllowed`,type:`error`,inputs:[]}],_C=[{name:`getValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`updateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`changeValidatorStatus`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`bool`,name:`active`}],outputs:[]},{name:`changeValidatorStatusByIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`index`},{type:`bool`,name:`active`}],outputs:[]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`changeOwner`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`getNextFullDkgCeremony`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setNextFullDkgCeremony`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`validatorsArray`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`validators`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ValidatorAlreadyExists`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`NotHostPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]}],vC=[...oC,...B,...sC,...cC,...lC,...uC,...dC,...fC,...pC,...mC,...hC,...gC,..._C];R();function yC(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||t?.source===`accessKey`||e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.nonceKey!==void 0||e.signature!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:Rd(e)}function bC(e){try{return yC(e)===`tempo`}catch{return!1}}function xC(e){let t=L(e,0,1);return t===`0x76`||t===`0x78`?CC(e):$v(e)}async function SC(e,t){if(!bC(e)){if(t&&`type`in t&&t.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+t.type+\"`.\");if(t&&`type`in t){let{r:n,s:r,yParity:i}=t?.signature;return yh(e,{r:I(n,{size:32}),s:I(r,{size:32}),yParity:i})}return yh(e,t)}if(yC(e)===`tempo`)return wC(e,t);throw Error(`Unsupported transaction type`)}function CC(e){let{feePayerSignature:t,nonce:n,...r}=ZS(e);return{...r,nonce:Number(n??0n),feePayerSignature:t&&{r:I(t.r,{size:32}),s:I(t.s,{size:32}),yParity:t.yParity}}}async function wC(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return Wx({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,nonce:a,...o}=e,s=(()=>{let t=e.feePayerSignature;if(t)return{r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)};if(t===null||i)return null})(),c=e.feePayerSignature!==void 0&&e.feePayerSignature!==null,l=i===!0&&(!n||!s)||!n&&c,u={...o,calls:o.calls?.length?o.calls:[{to:o.to||(!o.data||o.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:o.value,data:o.data}],chainId:Number(r),feePayerSignature:s,type:`tempo`,...a?{nonce:BigInt(a)}:{}};if(l&&delete u.feeToken,n&&typeof e.feePayer==`object`){let t=QS(u,{signature:n}),r=rC(t,{sender:(()=>{if(e.from)return e.from;if(n.type===`secp256k1`)return Uv({payload:tC(t),signature:n.signature});throw Error(`Unable to extract sender from transaction or signature.`)})()});return $S(t,{feePayerSignature:Sv(await e.feePayer.sign({hash:r}))})}return i===!0||!n&&c?n&&s?$S(u,{signature:n}):n?$S(u,{format:`feePayer`,sender:e.from,signature:n}):$S(u,{feePayerSignature:null}):$S({...u,...i&&!s?{feeToken:void 0}:{}},{feePayerSignature:void 0,signature:n})}R(),ya(),_i();function TC(e){let{access:t}=e;return t?FC(e):PC(e)}function EC(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=kb({privateKey:e});return TC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=jx({...t,challenge:n,rpId:i,origin:a});return qx({metadata:r,signature:Ab({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function DC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=kb({privateKey:e});return TC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return qx({signature:Ab({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function OC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Hv({privateKey:e});return TC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Ev(Gv({payload:n,privateKey:e}))}})}function kC(e,t={}){let{id:n}=e,r=r_(e.publicKey);return TC({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await Mx({...t,challenge:e,credentialId:n});return qx({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function AC(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return TC({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return qx({signature:await Fx({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}function jC(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return DS({chainId:t,channelId:typeof n==`string`?n:TS(n,{chainId:t}),cumulativeAmount:r})}async function MC(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o}=t,{accessKeyAddress:s,keyType:c}=IC(r);return OS({address:s,chainId:n,expiry:i,limits:a,scopes:o,signature:Wx(await e.sign({hash:jS({address:s,chainId:n,expiry:i,limits:a,scopes:o,type:c})})),type:c})}function NC(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??h_(e.publicKey),o=a_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?gi(P(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?qx(Wx({userAddress:n,inner:Wx(o),type:`keychain`,version:i})):o}return{address:p_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=Wx(await s({hash:Ou({address:r,chainId:t,nonce:n})}));if(i.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+i.type+\"`.\");let{r:a,s:o,yParity:c}=i.signature;return{address:r,chainId:t,nonce:n,r:I(a,{size:32}),s:I(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:Kh(t)})},async signTransaction(e,t){let{serializer:n=SC}=t??{};return await n(e,Wx(await s({hash:gi(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e))})))},async signTypedData(e){return await s({hash:eg(e)})},async signVoucher(e){let t=jC(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function PC(e){let t=NC(e);return{...t,source:`root`,async signKeyAuthorization(e,n){let{chainId:r,expiry:i,limits:a,scopes:o}=n,{accessKeyAddress:s,keyType:c}=IC(e);return OS({address:s,chainId:r,expiry:i,limits:a,scopes:o,signature:Wx(await t.sign({hash:jS({address:s,chainId:r,expiry:i,limits:a,scopes:o,type:c})})),type:c})}}}function FC(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=j(t);return{...NC({...e,parentAddress:r}),accessKeyAddress:h_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function IC(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:h_(r_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let LC=`0xaAAAaaAA00000000000000000000000000000000`,RC=`0xdec0000000000000000000000000000000000000`,zC=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`];function BC(e,t){return zC.indexOf(e)<zC.indexOf(t)}wa();function V(e){return{...e,data:Ca(e),to:e.address}}ya();let VC={0:`secp256k1`,1:`p256`,2:`webAuthn`},HC={true:`limited`,false:`unlimited`};async function UC(e,t){return UC.inner(Xm,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,chainId:i=t.chain?.id,expiry:a,limits:o,scopes:s,...c}=n,l=c.account??t.account;if(!l)throw Error(`account is required.`);if(!i)throw Error(`chainId is required.`);let u=await MC(j(l),{chainId:BigInt(i),key:r,expiry:a,limits:o,scopes:s});return await e(t,{...c,keyAuthorization:u})}e.inner=t;function n(e){let[t]=$d({abi:pC,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(UC||={});async function WC(e,t){return WC.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return V({address:LC,abi:pC,functionName:`revokeKey`,args:[JC(t)]})}e.call=n;function r(e){let[t]=$d({abi:pC,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(WC||={});async function GC(e,t){return GC.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return V({address:LC,abi:pC,functionName:`updateSpendingLimit`,args:[JC(t),n,r]})}e.call=n;function r(e){let[t]=$d({abi:pC,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(GC||={});async function KC(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=j(n),o=await Rm(e,{...i,account:null,...KC.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:VC[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:HC[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:LC,abi:pC,functionName:`getKey`,args:[t,JC(n)]})}e.call=t})(KC||={});async function qC(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=j(n),s=e.chain?.hardfork;if(s&&BC(s,`t3`))return{remaining:await Rm(e,{...a,...qC.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await Rm(e,{...a,...qC.callWithPeriod({account:o.address,accessKey:r,token:i})});return{remaining:c,periodEnd:l}}(function(e){function t(e){let{account:t,accessKey:n,token:r}=e;return V({address:LC,abi:pC,functionName:`getRemainingLimit`,args:[t,JC(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return V({address:LC,abi:pC,functionName:`getRemainingLimitWithPeriod`,args:[t,JC(n),r]})}e.callWithPeriod=n})(qC||={});function JC(e){return typeof e==`string`?e:e.accessKeyAddress}R(),ya();async function YC(e,t){return YC.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountOut:r,maxAmountIn:i}=e;return V({address:RC,abi:lC,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(YC||={});async function XC(e,t){return XC.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return V({address:RC,abi:lC,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=$d({abi:lC,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(XC||={});async function ZC(e,t){return ZC.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return V({address:RC,abi:lC,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=$d({abi:lC,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(ZC||={});async function QC(e,t){return QC.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{base:i,...a}=r,o=e.call({base:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{base:t}=e;return V({address:RC,abi:lC,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=$d({abi:lC,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(QC||={});async function $C(e,t){let{account:n=e.account,token:r,...i}=t,a=n?j(n).address:void 0;if(!a)throw Error(`account is required.`);return Rm(e,{...i,...$C.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:RC,abi:lC,args:[t,n],functionName:`balanceOf`})}e.call=t})($C||={});async function ew(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return Rm(e,{...a,...ew.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return V({address:RC,abi:lC,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(ew||={});async function tw(e,t){let{orderId:n,...r}=t;return Rm(e,{...r,...tw.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return V({address:RC,abi:lC,args:[t],functionName:`getOrder`})}e.call=t})(tw||={});async function nw(e,t){let{base:n,quote:r,...i}=t;return Rm(e,{...i,...nw.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e;return V({address:RC,abi:lC,args:[lw(t,n)],functionName:`books`})}e.call=t})(nw||={});async function rw(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await Rm(e,{...a,...rw.call({base:n,tick:r,isBid:i})});return{head:o,tail:s,totalLiquidity:c}}(function(e){function t(e){let{base:t,tick:n,isBid:r}=e;return V({address:RC,abi:lC,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(rw||={});async function iw(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return Rm(e,{...a,...iw.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return V({address:RC,abi:lC,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(iw||={});async function aw(e,t){return aw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{amount:i,token:a,type:o,tick:s,...c}=r,l=e.call({amount:i,token:a,type:o,tick:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i}=e;return V({address:RC,abi:lC,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=$d({abi:lC,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(aw||={});async function ow(e,t){return ow.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{amount:i,flipTick:a,tick:o,token:s,type:c,...l}=r,u=e.call({amount:i,flipTick:a,tick:o,token:s,type:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i,flipTick:a}=e;return V({address:RC,abi:lC,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=$d({abi:lC,logs:e,eventName:`OrderPlaced`,strict:!0}).find(e=>e.args.isFlipOrder);if(!t)throw Error(\"`OrderPlaced` event (flip order) not found.\");return t}e.extractEvent=r})(ow||={});async function sw(e,t){return sw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountIn:r,minAmountOut:i}=e;return V({address:RC,abi:lC,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(sw||={});async function cw(e,t){return cw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{token:i,amount:a,...o}=r,s=e.call({token:i,amount:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,amount:n}=e;return V({address:RC,abi:lC,functionName:`withdraw`,args:[t,n]})}e.call=n})(cw||={});function lw(e,t){return Xg(P(e,t))}R(),ya(),wa();async function uw(e,t){let{token:n,...r}=t;return uw.inner(Zm,e,t,{...r,token:n})}(function(e){async function t(t,n,r,i){let a=e.call(i);return await t(n,{...r,...a})}e.inner=t;function n(e){let{spender:t,amount:n,token:r}=e;return V({address:z(r),abi:B,functionName:`approve`,args:[t,n]})}e.call=n;function r(e){let[t]=$d({abi:B,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=r})(uw||={});async function dw(e,t){return dw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,token:o,...s}=r,c=e.call({amount:i,from:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{from:t,amount:n,token:r}=e;return V({address:z(r),abi:B,functionName:`burnBlocked`,args:[t,n]})}e.call=n;function r(e){let[t]=$d({abi:B,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(dw||={});async function fw(e,t){return fw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,token:o,...s}=r,c=e.call({amount:i,memo:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{amount:t,memo:n,token:r}=e,i=n?{functionName:`burnWithMemo`,args:[t,op(n,32)]}:{functionName:`burn`,args:[t]};return V({address:z(r),abi:B,...i})}e.call=n;function r(e){let[t]=$d({abi:B,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(fw||={});async function pw(e,t){return pw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{policyId:i,token:a,...o}=r,s=e.call({policyId:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,policyId:n}=e;return V({address:z(t),abi:B,functionName:`changeTransferPolicyId`,args:[n]})}e.call=n;function r(e){let[t]=$d({abi:B,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(pw||={});async function mw(e,t){return mw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{account:i=n.account,admin:a=n.account,chain:o=n.chain,...s}=r,c=a?j(a):void 0;if(!c)throw Error(`admin is required.`);let l=e.call({...s,admin:c.address});return await t(n,{...r,account:i,chain:o,...l})}e.inner=t;function n(e){let{name:t,symbol:n,currency:r,logoURI:i,quoteToken:a=`0x20c0000000000000000000000000000000000000`,admin:o,salt:s=cp(32)}=e;return V({address:`0x20fc000000000000000000000000000000000000`,abi:hC,args:typeof i==`string`?[t,n,r,z(a),o,s,i]:[t,n,r,z(a),o,s],functionName:`createToken`})}e.call=n;function r(e){let[t]=$d({abi:hC,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(mw||={});async function hw(e,t){let{account:n=e.account}=t,r=n?j(n).address:void 0;if(!r)throw Error(`account is required.`);return Rm(e,{...t,...hw.call({...t,account:r})})}(function(e){function t(e){let{account:t,spender:n,token:r}=e;return V({address:z(r),abi:B,functionName:`allowance`,args:[t,n]})}e.call=t})(hw||={});async function gw(e,t){let{account:n=e.account,...r}=t,i=n?j(n).address:void 0;if(!i)throw Error(`account is required.`);return Rm(e,{...r,...gw.call({account:i,...r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:z(n),abi:B,functionName:`balanceOf`,args:[t]})}e.call=t})(gw||={});async function _w(e,t){let{token:n,...r}=t,i=z(n),a=B;return fS(n)===pS(`0x20c0000000000000000000000000000000000000`)?dy(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`}],allowFailure:!0,deployless:!0}).then(([e,t,n,r,i,a])=>({name:vw(r),symbol:vw(i),currency:vw(e),decimals:vw(t),logoURI:vw(n,``),totalSupply:vw(a)})):dy(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`quoteToken`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`paused`},{address:i,abi:a,functionName:`supplyCap`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`},{address:i,abi:a,functionName:`transferPolicyId`}],allowFailure:!0,deployless:!0}).then(([e,t,n,r,i,a,o,s,c,l])=>({name:vw(i),symbol:vw(s),currency:vw(e),decimals:vw(t),logoURI:vw(n,``),quoteToken:vw(r),totalSupply:vw(c),paused:vw(a),supplyCap:vw(o),transferPolicyId:vw(l)}))}function vw(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function yw(e,t){return Rm(e,{...t,...yw.call(t)})}(function(e){function t(e){let{role:t,token:n}=e;return V({address:z(n),abi:B,functionName:`getRoleAdmin`,args:[WS(t)]})}e.call=t})(yw||={});async function bw(e,t){let{account:n=e.account}=t,r=n?j(n).address:void 0;if(!r)throw Error(`account is required.`);return Rm(e,{...t,...bw.call({...t,account:r})})}(function(e){function t(e){let{account:t,role:n,token:r}=e;return V({address:z(r),abi:B,functionName:`hasRole`,args:[t,WS(n)]})}e.call=t})(bw||={});async function xw(e,t){return xw.inner(Xm,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let n=e.call({...r,role:t});return{...n,data:Ca(n)}})})}e.inner=t;function n(e){let{token:t,to:n,role:r}=e,i=WS(r);return V({address:z(t),abi:B,functionName:`grantRole`,args:[i,n]})}e.call=n;function r(e){let t=$d({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(xw||={});async function Sw(e,t){return Sw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let i=e.call(r);return await t(n,{...r,...i})}e.inner=t;function n(e){let{to:t,amount:n,memo:r,token:i}=e,a=r?{functionName:`mintWithMemo`,args:[t,n,op(r,32)]}:{functionName:`mint`,args:[t,n]};return V({address:z(i),abi:B,...a})}e.call=n;function r(e){let[t]=$d({abi:B,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(Sw||={});async function Cw(e,t){return Cw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return V({address:z(t),abi:B,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=$d({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(Cw||={});async function ww(e,t){return ww.inner(Xm,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let n=e.call({...r,role:t});return{...n,data:Ca(n)}})})}e.inner=t;function n(e){let{token:t,role:n}=e,r=WS(n);return V({address:z(t),abi:B,functionName:`renounceRole`,args:[r]})}e.call=n;function r(e){let t=$d({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(ww||={});async function Tw(e,t){return Tw.inner(Xm,e,t)}(function(e){async function t(t,n,r){let{from:i,...a}=r;return await t(n,{...a,calls:r.roles.map(t=>{let n=e.call({...r,role:t});return{...n,data:Ca(n)}})})}e.inner=t;function n(e){let{token:t,from:n,role:r}=e,i=WS(r);return V({address:z(t),abi:B,functionName:`revokeRole`,args:[i,n]})}e.call=n;function r(e){let t=$d({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(Tw||={});async function Ew(e,t){return Ew.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{supplyCap:i,token:a,...o}=r,s=e.call({supplyCap:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,supplyCap:n}=e;return V({address:z(t),abi:B,functionName:`setSupplyCap`,args:[n]})}e.call=n;function r(e){let[t]=$d({abi:B,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(Ew||={});async function Dw(e,t){return Dw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{adminRole:i,role:a,token:o,...s}=r,c=e.call({adminRole:i,role:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{token:t,role:n,adminRole:r}=e,i=WS(n),a=WS(r);return V({address:z(t),abi:B,functionName:`setRoleAdmin`,args:[i,a]})}e.call=n;function r(e){let[t]=$d({abi:B,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(Dw||={});async function Ow(e,t){return Ow.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,memo:o,token:s,to:c,...l}=r,u=e.call({amount:i,from:a,memo:o,token:s,to:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{amount:t,from:n,memo:r,token:i,to:a}=e,o=r&&n?{functionName:`transferFromWithMemo`,args:[n,a,t,op(r,32)]}:r?{functionName:`transferWithMemo`,args:[a,t,op(r,32)]}:n?{functionName:`transferFrom`,args:[n,a,t]}:{functionName:`transfer`,args:[a,t]};return V({address:z(i),abi:B,...o})}e.call=n;function r(e){let[t]=$d({abi:B,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=r})(Ow||={});async function kw(e,t){return kw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return V({address:z(t),abi:B,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=$d({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(kw||={});async function Aw(e,t){return Aw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{quoteToken:i,token:a,...o}=r,s=e.call({quoteToken:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,quoteToken:n}=e;return V({address:z(t),abi:B,functionName:`setNextQuoteToken`,args:[z(n)]})}e.call=n;function r(e){let[t]=$d({abi:B,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(Aw||={});async function jw(e,t){return jw.inner(Zm,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return V({address:z(t),abi:B,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=$d({abi:B,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(jw||={}),R(),ya(),td();function Mw(e){if(!bC(e))return hd(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=qS(e);return{...a,accessList:a.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:n?{r:I(n.r,{size:32}),s:I(n.s,{size:32}),v:BigInt(n.v??27),yParity:n.yParity}:void 0,nonce:Number(i),typeHex:GS[a.type],type:a.type}}function Nw(e){return th(e)}function Pw(e,t){let n=e,r=n.account?j(n.account):void 0;if(!bC(n))return Zu(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let i=JS({...n,type:`tempo`});t===`estimateGas`&&(i.maxFeePerGas=void 0,i.maxPriorityFeePerGas=void 0),i.to=void 0,i.data=void 0,i.value=void 0;let[a,o]=(()=>{let e=r&&`keyType`in r?r.keyType:r?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,Fw(n.keyData)]:[n.keyType,Fw(n.keyData)]})(),s=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(i.from=r.address),{...i,...n.capabilities?{capabilities:n.capabilities}:{},...o?{keyData:o}:{},...s?{keyId:s}:{},...a?{keyType:a}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?j(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function Fw(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:I(t,{size:2})}let Iw=new Map;async function Lw(e){Iw.set(e,(Iw.get(e)??0)+1),await Promise.resolve();let t=(Iw.get(e)??0)>1;return queueMicrotask(()=>{let t=Iw.get(e)??0;t<=1?Iw.delete(e):Iw.set(e,t-1)}),t}R(),sd(),Jd(),td(),_i();let Rw={blockTime:1e3,extendSchema:Ph(),formatters:{transaction:gd({exclude:[`aaAuthorizationList`],format:Mw}),transactionReceipt:nh({format:Nw}),transactionRequest:ed({format:Pw})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(n===`afterFillParameters`)return r.feePayer&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;if(!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await w(t,KC,`getMetadata`)({account:i,accessKey:a});qd(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return await(async()=>{if(r.nonceKey===`expiring`||r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account?.address;return e&&r.nonceKey===void 0?await Lw(e):!1})()?(r.nonceKey=od,r.nonce=0,r.validBefore===void 0&&(r.validBefore=Math.floor(Date.now()/1e3)+25)):r.nonceKey!==void 0&&(r.nonce=typeof r.nonce==`number`?r.nonce:0),!r.feeToken&&r.chain?.feeToken&&(r.feeToken=r.chain.feeToken),r},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:((e,t)=>SC(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return Ux(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?gi(P(`0x04`,r,n)):r,a=(()=>{try{return Vx({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await KC(e,{account:n,accessKey:a,blockNumber:t.blockNumber,blockTag:t.blockTag});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:Yx(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await fh(e,{address:n,blockNumber:t.blockNumber,blockTag:t.blockTag});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return Yx(o,{address:n,payload:r})}}return await w(e,Dy,`verifyHash`)({...t,chain:null})}},zw=Nh({...Rw,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),Bw=Nh({...Rw,id:42431,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0}),Vw=Nh({...Rw,id:31318,name:`Tempo Devnet`,hardfork:`t3`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.devnet.tempo.xyz`}},nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.devnet.tempoxyz.dev`],webSocket:[`wss://rpc.devnet.tempoxyz.dev`]}},testnet:!0}),Hw=Nh({...Rw,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}});function Uw(e){return e.source}function Ww(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Ry({key:Ww.type,name:`Relay Proxy`,async request({method:e,params:t},n){if(e===`eth_fillTransaction`){let r=t?.[0];if(r&&typeof r==`object`&&`feePayer`in r&&r.feePayer===!0)return a.request({method:e,params:t},n)}if(e===`eth_sendRawTransactionSync`||e===`eth_sendRawTransaction`){let o=t[0];if(xC(o).feePayerSignature===null){if(r===`sign-and-broadcast`)return a.request({method:e,params:t},n);{let t=await a.request({method:`eth_signRawTransaction`,params:[o]},n);return i.request({method:e,params:[t]},n)}}}return await i.request({method:e,params:t},n)},type:Ww.type})}}to();let Gw={AddressAlreadyHasValidator:`This address already has a validator.`,AddressNotReserved:`Address is not reserved.`,AddressReserved:`Address is reserved.`,AlreadyInitialized:`Already initialized.`,AmountExceedsDeposit:`Amount exceeds deposit.`,AmountNotIncreasing:`Amount is not increasing.`,BelowMinimumOrderSize:`Order size is below the minimum allowed ({0}).`,CallNotAllowed:`This call is not allowed.`,CannotChangeWithinBlock:`Cannot change within the same block.`,CaptureAmountInvalid:`Capture amount is invalid.`,ChannelAlreadyExists:`Channel already exists.`,ChannelNotFound:`Channel not found.`,CloseNotReady:`Channel is not ready to close.`,ContractPaused:`Contract is paused.`,DepositOverflow:`Deposit overflow.`,DivisionByZero:`Division by zero.`,EmptyV1ValidatorSet:`Validator set is empty.`,ExpiringNonceHashNotSet:`Expiring nonce hash is not set.`,ExpiringNonceReplay:`Expiring nonce has already been used.`,ExpiringNonceSetFull:`Expiring nonce set is full.`,ExpiryInPast:`Expiry is in the past.`,IdenticalAddresses:`Addresses must be different.`,IdenticalTokens:`Cannot swap a token for itself \u2014 input and output tokens must be different.`,IncompatiblePolicyType:`Incompatible policy type.`,IngressAlreadyExists:`Ingress \"{0}\" already exists.`,InsufficientAllowance:`Insufficient allowance.`,InsufficientBalance:`Insufficient balance. Required: {1}, available: {0}.`,InsufficientFeeTokenBalance:`Insufficient fee token balance.`,InsufficientLiquidity:`Not enough liquidity in the order book to fill this trade.`,InsufficientOutput:`The output amount is below the slippage minimum \u2014 try increasing slippage tolerance.`,InsufficientReserves:`Insufficient reserves.`,InvalidAmount:`Invalid amount.`,InvalidBaseToken:`This token is not a valid base token for the requested pair.`,InvalidCallScope:`Invalid call scope.`,InvalidCurrency:`Invalid currency.`,InvalidExpiringNonceExpiry:`Invalid expiring nonce expiry.`,InvalidFlipTick:`The flip-order price tick is invalid.`,InvalidFormat:`Invalid format.`,InvalidKeyAuthorizationWitness:`Invalid key authorization witness.`,InvalidLogoURI:`Invalid logo URI.`,InvalidMasterAddress:`Invalid master address.`,InvalidMigrationIndex:`Invalid migration index.`,InvalidNonceKey:`Invalid nonce key.`,InvalidOwner:`Invalid owner.`,InvalidPayee:`Invalid payee.`,InvalidPayload:`Invalid payload.`,InvalidPolicyType:`Invalid policy type.`,InvalidPublicKey:`Invalid public key.`,InvalidQuoteToken:`Invalid quote token.`,InvalidRecipient:`Invalid recipient.`,InvalidSignature:`Invalid signature.`,InvalidSignatureFormat:`Invalid signature format.`,InvalidSignatureType:`Invalid signature type.`,InvalidSpendingLimit:`Invalid spending limit.`,InvalidSupplyCap:`Invalid supply cap.`,InvalidSwapCalculation:`Invalid swap calculation.`,InvalidTick:`The price tick is invalid.`,InvalidToken:`This token is not supported on the exchange.`,InvalidTransferPolicyId:`Invalid transfer policy.`,InvalidValidatorAddress:`Invalid validator address.`,KeyAlreadyExists:`Key already exists.`,KeyAlreadyRevoked:`Key has already been revoked.`,KeyAuthorizationWitnessAlreadyBurned:`Key authorization witness has already been burned.`,KeyExpired:`Key has expired.`,KeyNotFound:`Key not found.`,LegacyAuthorizeKeySelectorChanged:`Legacy authorize key selector changed to {0}.`,LogoURITooLong:`Logo URI is too long.`,MasterIdCollision:`Master ID collision with {0}.`,MaxInputExceeded:`The required input exceeds the slippage maximum \u2014 try increasing slippage tolerance.`,MigrationNotComplete:`Migration is not complete.`,NoOptedInSupply:`No opted-in supply.`,NonceOverflow:`Nonce overflow.`,NotHostPort:`\"{1}\" is not a valid host:port for {0}.`,NotInitialized:`Not initialized.`,NotIp:`\"{0}\" is not a valid IP address.`,NotIpPort:`\"{1}\" is not a valid IP:port for {0}.`,NotPayeeOrOperator:`Not payee or operator.`,NotPayer:`Not payer.`,OrderDoesNotExist:`No order exists with the given ID.`,OrderNotStale:`This order is not yet eligible for stale-cleanup.`,PairAlreadyExists:`A trading pair for these tokens has already been created.`,PairDoesNotExist:`No trading pair exists for these tokens.`,PermitExpired:`Permit has expired.`,PolicyForbids:`Forbidden by policy.`,PolicyNotFound:`Policy not found.`,PolicyNotSimple:`Policy is not a simple policy.`,ProofOfWorkFailed:`Proof of work failed.`,ProtectedAddress:`Address is protected.`,ProtocolNonceNotSupported:`Protocol nonce is not supported.`,PublicKeyAlreadyExists:`Public key already exists.`,SignatureTypeMismatch:`Signature type mismatch. Expected {0}, got {1}.`,SpendingLimitExceeded:`Spending limit exceeded.`,SupplyCapExceeded:`Supply cap exceeded.`,TickOutOfBounds:`Price tick {0} is outside the allowed range.`,TokenAlreadyExists:`Token {0} already exists.`,Unauthorized:`Unauthorized.`,UnauthorizedCaller:`Unauthorized caller.`,Uninitialized:`Uninitialized.`,ValidatorAlreadyDeactivated:`Validator is already deactivated.`,ValidatorAlreadyExists:`Validator already exists.`,ValidatorNotFound:`Validator not found.`,VirtualAddressNotAllowed:`Virtual address is not allowed.`,VirtualAddressUnregistered:`Virtual address is not registered.`,ZeroDeposit:`Deposit cannot be zero.`,ZeroPublicKey:`Public key cannot be zero.`};function Kw(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function qw(e){let t=e.details??e.shortMessage??e.message,n=Jw(e);if(n)try{let e=eo({abi:vC,data:n}),r=Gw[e.errorName];return{...e,data:n,message:r?Kw(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in Gw?{errorName:`unknown`,message:Gw[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function Jw(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.data==`string`&&t.data.startsWith(`0x`))return t.data;if(t.cause)return Jw(t.cause);if(t.error)return Jw(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return Jw(e)}return null}var Yw;function H(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,\"_zod\",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,\"name\",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,\"init\",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,\"name\",{value:e}),o}var Xw=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Zw=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Yw=globalThis).__zod_globalConfig??(Yw.__zod_globalConfig={});let Qw=globalThis.__zod_globalConfig;function $w(e){return e&&Object.assign(Qw,e),Qw}function eT(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function tT(e,t){return typeof t==`bigint`?t.toString():t}function nT(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}throw Error(`cached value already set`)}}}function rT(e){return e==null}function iT(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let aT=Symbol(`evaluating`);function U(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==aT)return r===void 0&&(r=aT,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function oT(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function sT(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}let cT=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function lT(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function uT(e){if(lT(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(lT(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}let dT=new Set([`string`,`number`,`symbol`]),fT=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function pT(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function mT(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function hT(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error(\"Cannot specify both `message` and `error` params\");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function gT(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function _T(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return mT(e,sT(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: \"${e}\"`);t[e]&&delete r[e]}return oT(this,`shape`,r),r},checks:[]}))}function vT(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function yT(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function bT(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function xT(e){return typeof e==`string`?e:e?.message}function ST(e,t,n){let r=e.message?e.message:xT(e.inst?._zod.def?.error?.(e))??xT(t?.error?.(e))??xT(n.customError?.(e))??xT(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function CT(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function wT(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let TT=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,\"_zod\",{value:e._zod,enumerable:!1}),Object.defineProperty(e,\"issues\",{value:t,enumerable:!1}),e.message=JSON.stringify(t,tT,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},ET=H(`$ZodError`,TT),DT=H(`$ZodError`,TT,{Parent:Error}),OT=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new Xw;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>ST(e,a,$w())));throw cT(t,i?.callee),t}return o.value},kT=OT(DT),AT=(e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>ST(e,a,$w())));throw cT(t,i?.callee),t}return o.value})(DT),jT=(e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Xw;return a.issues.length?{success:!1,error:new(e??ET)(a.issues.map(e=>ST(e,i,$w())))}:{success:!0,data:a.value}})(DT),MT=(e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>ST(e,i,$w())))}:{success:!0,data:a.value}})(DT),NT=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return OT(e)(t,n,i)})(DT),PT=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},FT=/^-?\\d+n?$/,IT=/^-?\\d+(?:\\.\\d+)?$/,LT=/^(?:true|false)$/i,RT=/^null$/i,zT=/^undefined$/i,BT=H(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),VT={number:`number`,bigint:`bigint`,object:`date`},HT=H(`$ZodCheckLessThan`,(e,t)=>{BT.init(e,t);let n=VT[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),UT=H(`$ZodCheckGreaterThan`,(e,t)=>{BT.init(e,t);let n=VT[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),WT=H(`$ZodCheckMaxLength`,(e,t)=>{var n;BT.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!rT(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=CT(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),GT=H(`$ZodCheckMinLength`,(e,t)=>{var n;BT.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!rT(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=CT(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),KT=H(`$ZodCheckStringFormat`,(e,t)=>{var n,r;BT.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),qT=H(`$ZodCheckRegex`,(e,t)=>{KT.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),JT={major:4,minor:4,patch:3},YT=H(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=JT;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=vT(e),i;for(let a of t){if(a._zod.def.when){if(yT(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new Xw;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=vT(e,t))});else{if(e.issues.length===t)continue;r||=vT(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(vT(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new Xw;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new Xw;return o.then(e=>t(e,r,a))}return t(o,r,a)}}U(e,`~standard`,()=>({validate:t=>{try{let n=jT(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return MT(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),XT=H(`$ZodString`,(e,t)=>{YT.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??PT(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),ZT=H(`$ZodNumber`,(e,t)=>{YT.init(e,t),e._zod.pattern=e._zod.bag.pattern??IT,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),QT=H(`$ZodBoolean`,(e,t)=>{YT.init(e,t),e._zod.pattern=LT,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),$T=H(`$ZodBigInt`,(e,t)=>{YT.init(e,t),e._zod.pattern=FT,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch{}return typeof n.value==`bigint`||n.issues.push({expected:`bigint`,code:`invalid_type`,input:n.value,inst:e}),n}}),eE=H(`$ZodUndefined`,(e,t)=>{YT.init(e,t),e._zod.pattern=zT,e._zod.values=new Set([void 0]),e._zod.parse=(t,n)=>{let r=t.value;return r===void 0||t.issues.push({expected:`undefined`,code:`invalid_type`,input:r,inst:e}),t}}),tE=H(`$ZodNull`,(e,t)=>{YT.init(e,t),e._zod.pattern=RT,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),nE=H(`$ZodUnknown`,(e,t)=>{YT.init(e,t),e._zod.parse=e=>e});function rE(e,t,n){e.issues.length&&t.issues.push(...bT(n,e.issues)),t.value[n]=e.value}let iE=H(`$ZodArray`,(e,t)=>{YT.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>rE(t,n,e))):rE(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function aE(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...bT(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function oE(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key \"${n}\": expected a Zod schema`);let n=gT(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function sE(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>aE(e,n,i,t,u,d))):aE(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}let cE=H(`$ZodObject`,(e,t)=>{if(YT.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,\"shape\",{get:()=>{let n={...e};return Object.defineProperty(t,\"shape\",{value:n}),n}})}let n=nT(()=>oE(t));U(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=lT,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>aE(n,t,e,s,r,i))):aE(a,t,e,s,r,i)}return i?sE(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function lE(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!vT(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>ST(e,r,$w())))}),t)}let uE=H(`$ZodUnion`,(e,t)=>{YT.init(e,t),U(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),U(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),U(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),U(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>iT(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>lE(t,r,e,i)):lE(o,r,e,i)}}),dE=H(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,uE.init(e,t);let n=e._zod.parse;U(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index \"${t.options.indexOf(n)}\"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=nT(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index \"${t.options.indexOf(r)}\"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value \"${String(t)}\"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!lT(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()),input:o,path:[t.discriminator],inst:e}),i)}}),fE=H(`$ZodTuple`,(e,t)=>{YT.init(e,t);let n=t.items;e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({input:a,inst:e,expected:`tuple`,code:`invalid_type`}),r;r.value=[];let o=[],s=pE(n,`optin`),c=pE(n,`optout`);if(!t.rest){if(a.length<s)return r.issues.push({code:`too_small`,minimum:s,inclusive:!0,input:a,inst:e,origin:`array`}),r;a.length>n.length&&r.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:a,inst:e,origin:`array`})}let l=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:a[e],issues:[]},i);t instanceof Promise?o.push(t.then(t=>{l[e]=t})):l[e]=t}if(t.rest){let e=n.length-1,s=a.slice(n.length);for(let n of s){e++;let a=t.rest._zod.run({value:n,issues:[]},i);a instanceof Promise?o.push(a.then(t=>mE(t,r,e))):mE(a,r,e)}}return o.length?Promise.all(o).then(()=>hE(l,r,n,a,c)):hE(l,r,n,a,c)}});function pE(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function mE(e,t,n){e.issues.length&&t.issues.push(...bT(n,e.issues)),t.value[n]=e.value}function hE(e,t,n,r,i){for(let a=0;a<n.length;a++){let n=e[a],o=a<r.length;if(n.issues.length){if(!o&&a>=i){t.value.length=a;break}t.issues.push(...bT(a,n.issues))}t.value[a]=n.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}let gE=H(`$ZodRecord`,(e,t)=>{YT.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!uT(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>ST(e,r,$w())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...bT(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...bT(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&IT.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>ST(e,r,$w())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...bT(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...bT(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),_E=H(`$ZodEnum`,(e,t)=>{YT.init(e,t);let n=eT(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>dT.has(typeof e)).map(e=>typeof e==`string`?pT(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),vE=H(`$ZodLiteral`,(e,t)=>{if(YT.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?pT(e):e?pT(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),yE=H(`$ZodTransform`,(e,t)=>{YT.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Zw(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new Xw;return n.value=i,n.fallback=!0,n}});function bE(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let xE=H(`$ZodOptional`,(e,t)=>{YT.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,U(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),U(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${iT(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>bE(e,r)):bE(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),SE=H(`$ZodNullable`,(e,t)=>{YT.init(e,t),U(e._zod,`optin`,()=>t.innerType._zod.optin),U(e._zod,`optout`,()=>t.innerType._zod.optout),U(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${iT(e.source)}|null)$`):void 0}),U(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),CE=H(`$ZodPipe`,(e,t)=>{YT.init(e,t),U(e._zod,`values`,()=>t.in._zod.values),U(e._zod,`optin`,()=>t.in._zod.optin),U(e._zod,`optout`,()=>t.out._zod.optout),U(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>wE(e,t.in,n)):wE(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>wE(e,t.out,n)):wE(r,t.out,n)}});function wE(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}let TE=H(`$ZodCodec`,(e,t)=>{YT.init(e,t),U(e._zod,`values`,()=>t.in._zod.values),U(e._zod,`optin`,()=>t.in._zod.optin),U(e._zod,`optout`,()=>t.out._zod.optout),U(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if((n.direction||`forward`)===`forward`){let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>EE(e,t,n)):EE(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>EE(e,t,n)):EE(r,t,n)}}});function EE(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||`forward`)===`forward`){let r=t.transform(e.value,e);return r instanceof Promise?r.then(r=>DE(e,r,t.out,n)):DE(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>DE(e,r,t.in,n)):DE(e,r,t.in,n)}}function DE(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let OE=H(`$ZodReadonly`,(e,t)=>{YT.init(e,t),U(e._zod,`propValues`,()=>t.innerType._zod.propValues),U(e._zod,`values`,()=>t.innerType._zod.values),U(e._zod,`optin`,()=>t.innerType?._zod?.optin),U(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(kE):kE(r)}});function kE(e){return e.value=Object.freeze(e.value),e}let AE=H(`$ZodTemplateLiteral`,(e,t)=>{YT.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){if(!e._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);let t=e._zod.pattern instanceof RegExp?e._zod.pattern.source:e._zod.pattern;if(!t)throw Error(`Invalid template literal part: ${e._zod.traits}`);let r=+!!t.startsWith(`^`),i=t.endsWith(`$`)?t.length-1:t.length;n.push(t.slice(r,i))}else if(e===null||fT.has(typeof e))n.push(pT(`${e}`));else throw Error(`Invalid template literal part: ${e}`);e._zod.pattern=RegExp(`^${n.join(``)}$`),e._zod.parse=(n,r)=>typeof n.value==`string`?(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:`invalid_format`,format:t.format??`template_literal`,pattern:e._zod.pattern.source}),n):(n.issues.push({input:n.value,inst:e,expected:`string`,code:`invalid_type`}),n)}),jE=H(`$ZodCustom`,(e,t)=>{BT.init(e,t),YT.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>ME(t,n,r,e));ME(i,n,r,e)}});function ME(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(wT(e))}}function NE(e,t){return new e({type:`string`,...hT(t)})}function PE(e,t){return new e({type:`number`,checks:[],...hT(t)})}function FE(e,t){return new e({type:`boolean`,...hT(t)})}function IE(e,t){return new e({type:`bigint`,...hT(t)})}function LE(e,t){return new e({type:`undefined`,...hT(t)})}function RE(e,t){return new e({type:`null`,...hT(t)})}function zE(e){return new e({type:`unknown`})}function BE(e,t){return new HT({check:`less_than`,...hT(t),value:e,inclusive:!0})}function VE(e,t){return new UT({check:`greater_than`,...hT(t),value:e,inclusive:!0})}function HE(e,t){return new WT({check:`max_length`,...hT(t),maximum:e})}function UE(e,t){return new GT({check:`min_length`,...hT(t),minimum:e})}function WE(e,t){return new qT({check:`string_format`,format:`regex`,...hT(t),pattern:e})}function GE(e,t,n){let r=hT(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function KE(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...hT(n)})}let qE=H(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);YT.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>kT(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>jT(e,t,n),e.parseAsync=async(t,n)=>AT(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>MT(e,t,n),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]},{parent:!0}),e.with=e.check,e.clone=(t,n)=>mT(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),JE=H(`ZodMiniString`,(e,t)=>{XT.init(e,t),qE.init(e,t)});function W(e){return NE(JE,e)}let YE=H(`ZodMiniNumber`,(e,t)=>{ZT.init(e,t),qE.init(e,t)});function XE(e){return PE(YE,e)}let ZE=H(`ZodMiniBoolean`,(e,t)=>{QT.init(e,t),qE.init(e,t)});function QE(e){return FE(ZE,e)}let $E=H(`ZodMiniBigInt`,(e,t)=>{$T.init(e,t),qE.init(e,t)});function eD(e){return IE($E,e)}let tD=H(`ZodMiniUndefined`,(e,t)=>{eE.init(e,t),qE.init(e,t)});function nD(e){return LE(tD,e)}let rD=H(`ZodMiniNull`,(e,t)=>{tE.init(e,t),qE.init(e,t)});function iD(e){return RE(rD,e)}let aD=H(`ZodMiniUnknown`,(e,t)=>{nE.init(e,t),qE.init(e,t)});function oD(){return zE(aD)}let sD=H(`ZodMiniArray`,(e,t)=>{iE.init(e,t),qE.init(e,t)});function G(e,t){return new sD({type:`array`,element:e,...hT(t)})}let cD=H(`ZodMiniObject`,(e,t)=>{cE.init(e,t),qE.init(e,t),U(e,`shape`,()=>t.shape)});function K(e,t){return new cD({type:`object`,shape:e??{},...hT(t)})}function lD(e,t){return _T(e,t)}let uD=H(`ZodMiniUnion`,(e,t)=>{uE.init(e,t),qE.init(e,t)});function q(e,t){return new uD({type:`union`,options:e,...hT(t)})}let dD=H(`ZodMiniDiscriminatedUnion`,(e,t)=>{dE.init(e,t),qE.init(e,t)});function fD(e,t,n){return new dD({type:`union`,options:t,discriminator:e,...hT(n)})}let pD=H(`ZodMiniTuple`,(e,t)=>{fE.init(e,t),qE.init(e,t)});function mD(e,t,n){let r=t instanceof YT;return new pD({type:`tuple`,items:e,rest:r?t:null,...hT(r?n:t)})}let hD=H(`ZodMiniRecord`,(e,t)=>{gE.init(e,t),qE.init(e,t)});function gD(e,t,n){return!t||!t._zod?new hD({type:`record`,keyType:W(),valueType:e,...hT(t)}):new hD({type:`record`,keyType:e,valueType:t,...hT(n)})}let _D=H(`ZodMiniEnum`,(e,t)=>{_E.init(e,t),qE.init(e,t),e.options=Object.values(t.entries)});function vD(e,t){return new _D({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...hT(t)})}let yD=H(`ZodMiniLiteral`,(e,t)=>{vE.init(e,t),qE.init(e,t)});function J(e,t){return new yD({type:`literal`,values:Array.isArray(e)?e:[e],...hT(t)})}let bD=H(`ZodMiniTransform`,(e,t)=>{yE.init(e,t),qE.init(e,t)});function xD(e){return new bD({type:`transform`,transform:e})}let SD=H(`ZodMiniOptional`,(e,t)=>{xE.init(e,t),qE.init(e,t)});function Y(e){return new SD({type:`optional`,innerType:e})}let CD=H(`ZodMiniNullable`,(e,t)=>{SE.init(e,t),qE.init(e,t)});function wD(e){return new CD({type:`nullable`,innerType:e})}let TD=H(`ZodMiniPipe`,(e,t)=>{CE.init(e,t),qE.init(e,t)});function ED(e,t){return new TD({type:`pipe`,in:e,out:t})}let DD=H(`ZodMiniCodec`,(e,t)=>{TD.init(e,t),TE.init(e,t)});function OD(e,t,n){return new DD({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let kD=H(`ZodMiniReadonly`,(e,t)=>{OE.init(e,t),qE.init(e,t)});function X(e){return new kD({type:`readonly`,innerType:e})}let AD=H(`ZodMiniTemplateLiteral`,(e,t)=>{AE.init(e,t),qE.init(e,t)});function jD(e,t){return new AD({type:`template_literal`,parts:e,...hT(t)})}let MD=H(`ZodMiniCustom`,(e,t)=>{jE.init(e,t),qE.init(e,t)});function ND(e,t){return GE(MD,e??(()=>!0),t)}function PD(e,t={}){return KE(MD,e,t)}function FD(e){return e}function ID(e){return e}R();let Z=()=>jD([`0x`,W().check(WE(/^[0-9a-fA-F]{40}$/))],`Expected address`),LD=()=>OD(q([Q(),eD()]),eD(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:dp(e),encode:e=>I(e)}),Q=()=>jD([`0x`,W()],`Expected hex value`),RD=()=>OD(q([Q(),XE()]),XE(),{decode:e=>typeof e==`number`?e:e===`0x`?0:pp(e),encode:e=>I(e)});R();let zD=K({address:Z(),blockHash:Q(),blockNumber:LD(),data:Q(),logIndex:RD(),removed:QE(),topics:X(G(Q())),transactionHash:Q(),transactionIndex:RD()}),BD=K({blobGasPrice:Y(LD()),blobGasUsed:Y(LD()),blockHash:Q(),blockNumber:LD(),contractAddress:wD(Z()),cumulativeGasUsed:LD(),effectiveGasPrice:LD(),feePayer:Y(Z()),feeToken:Y(Z()),from:Z(),gasUsed:LD(),logs:G(zD),logsBloom:Q(),root:Y(Q()),status:OD(Q(),vD([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:wD(Z()),transactionHash:Q(),transactionIndex:RD(),type:Q()}),VD=ND(),HD=q([J(`secp256k1`),J(`p256`),J(`webAuthn`)]),UD=OD(K({allowedCalls:Y(X(G(K({target:Z(),selectorRules:Y(X(G(K({selector:Q(),recipients:Y(X(G(Z())))}))))})))),address:Y(Z()),chainId:LD(),expiry:q([RD(),iD(),nD()]),keyId:Z(),keyType:HD,limits:Y(X(G(K({token:Z(),limit:LD(),period:Y(RD())})))),signature:VD}),ND(),{decode(e){return kS({chainId:I(e.chainId),expiry:e.expiry==null?null:I(e.expiry),keyId:e.keyId,keyType:e.keyType,limits:e.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:I(e),...typeof t==`number`?{period:I(t)}:{}})),signature:e.signature,...e.allowedCalls?{allowedCalls:e.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}})},encode(e){let t=FS(e);return{chainId:t.chainId===`0x`?0n:dp(t.chainId),expiry:t.expiry==null?null:pp(t.expiry),keyId:t.keyId,keyType:t.keyType,limits:t.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:dp(e),...t?{period:pp(t)}:{}})),signature:t.signature,address:t.keyId,...t.allowedCalls?{allowedCalls:t.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}}}}),WD=K({data:Y(Q()),to:Y(Z()),value:Y(LD())}),GD=K({accessList:Y(G(K({address:Z(),storageKeys:G(Q())}))),calls:Y(X(G(WD))),chainId:Y(RD()),data:Y(Q()),feePayer:Y(q([QE(),W()])),feePayerSignature:Y(gD(W(),oD())),feeToken:Y(Z()),from:Y(Z()),gas:Y(LD()),keyAuthorization:Y(UD),keyData:Y(Q()),keyId:Y(Z()),keyType:Y(HD),maxFeePerGas:Y(LD()),maxPriorityFeePerGas:Y(LD()),nonce:Y(RD()),nonceKey:Y(LD()),to:Y(Z()),validAfter:Y(RD()),validBefore:Y(RD()),value:Y(LD())});var KD;(function(e){e.schema=FD({method:J(`eth_accounts`),params:void 0,returns:X(G(Z()))})})(KD||={});var qD;(function(e){e.schema=FD({method:J(`eth_chainId`),params:void 0,returns:Q()})})(qD||={});var JD;(function(e){e.schema=FD({method:J(`eth_requestAccounts`),params:void 0,returns:X(G(Z()))})})(JD||={});var YD;(function(e){e.schema=FD({method:J(`eth_sendTransaction`),params:X(mD([GD])),returns:Q()})})(YD||={});var XD;(function(e){let t=K({address:Z(),decimals:XE(),direction:vD([`incoming`,`outgoing`]),formatted:W(),name:W(),recipients:X(G(Z())),symbol:W(),value:Q()}),n=K({decimals:XE(),formatted:W(),name:W(),symbol:W(),token:Z(),value:Q()});e.schema=FD({method:J(`eth_fillTransaction`),params:X(mD([GD])),returns:K({capabilities:K({balanceDiffs:Y(gD(Z(),X(G(t)))),error:Y(K({abiItem:Y(gD(W(),oD())),data:Y(Q()),errorName:W(),message:W()})),fee:Y(K({amount:Q(),decimals:XE(),formatted:W(),symbol:W()})),requireFunds:Y(K({amount:Q(),decimals:XE(),formatted:W(),token:Z(),symbol:W()})),autoSwap:Y(K({maxIn:n,minOut:n,slippage:XE()})),sponsor:Y(K({address:Z(),name:Y(W()),url:Y(W())})),sponsored:QE()}),tx:gD(W(),oD())})})})(XD||={});var ZD;(function(e){e.schema=FD({method:J(`eth_signTransaction`),params:X(mD([GD])),returns:Q()})})(ZD||={});var QD;(function(e){e.schema=FD({method:J(`eth_sendTransactionSync`),params:X(mD([GD])),returns:BD})})(QD||={});var $D;(function(e){e.schema=FD({method:J(`eth_signTypedData_v4`),params:X(mD([Z(),W()])),returns:Q()})})($D||={});var eO;(function(e){e.schema=FD({method:J(`personal_sign`),params:X(mD([Q(),Z()])),returns:Q()})})(eO||={});let tO=Y(K({feePayer:Y(q([QE(),W()])),sync:Y(QE())}));var nO;(function(e){e.schema=FD({method:J(`wallet_sendCalls`),params:Y(X(mD([K({atomicRequired:Y(QE()),calls:X(G(WD)),capabilities:tO,chainId:Y(RD()),from:Y(Z()),version:Y(W())})]))),returns:K({atomic:Y(QE()),capabilities:tO,chainId:Y(RD()),id:W(),receipts:Y(G(BD)),status:Y(XE()),version:Y(W())})})})(nO||={});var rO;(function(e){e.schema=FD({method:J(`wallet_getBalances`),params:Y(X(mD([K({account:Y(Z()),chainId:Y(RD()),tokens:Y(X(G(Z())))})]))),returns:X(G(K({address:Z(),balance:LD(),decimals:XE(),display:W(),name:W(),symbol:W()})))})})(rO||={});var iO;(function(e){e.schema=FD({method:J(`wallet_getCapabilities`),params:Y(X(q([mD([Z()]),mD([Z(),X(G(Q()))])]))),returns:gD(Q(),K({accessKeys:Y(K({status:q([J(`supported`),J(`unsupported`)])})),atomic:K({status:q([J(`supported`),J(`ready`),J(`unsupported`)])}),feePayer:Y(K({status:q([J(`supported`),J(`unsupported`)])}))}))})})(iO||={});var aO;(function(e){e.showDeposit=Y(q([QE(),K({amount:Y(W()),displayName:Y(W()),token:Y(q([Z(),W()]))})])),e.parameters=K({address:Y(Z()),chainId:Y(LD()),expiry:XE(),keyType:Y(HD),limits:Y(X(G(K({token:Z(),limit:LD(),period:Y(XE())})))),publicKey:Y(Q()),scopes:Y(X(G(K({address:Z(),selector:Y(q([Q(),W()])),recipients:Y(X(G(Z())))})))),showDeposit:e.showDeposit}),e.returns=K({keyAuthorization:UD,rootAddress:Z()}),e.schema=FD({method:J(`wallet_authorizeAccessKey`),params:X(mD([e.parameters])),returns:e.returns})})(aO||={});var oO;(function(e){e.parameters=K({address:Y(Z()),expiry:XE(),keyType:Y(HD),limits:X(G(K({token:Z(),limit:LD(),period:Y(XE())})).check(UE(1))),publicKey:Y(Q()),scopes:X(G(K({address:Z(),selector:Y(q([Q(),W()])),recipients:Y(X(G(Z())))})).check(UE(1))),showDeposit:aO.showDeposit})})(oO||={});var sO;(function(e){e.schema=FD({method:J(`wallet_revokeAccessKey`),params:X(mD([K({address:Z(),accessKeyAddress:Z()})])),returns:void 0})})(sO||={});var cO;(function(e){e.authorizeAccessKey=Y(lD(aO.parameters,{showDeposit:!0})),e.showDeposit=Y(q([QE(),K({amount:Y(W()),displayName:Y(W()),on:Y(q([J(`login`),J(`register`)])),token:Y(q([Z(),W()]))})])),e.auth=Y(q([W(),K({url:Y(W()),challenge:Y(W()),verify:Y(W()),logout:Y(W()),returnToken:Y(QE())})])),e.personalSign=Y(K({message:W()})),e.capabilities={request:Y(q([K({digest:Y(Q()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,method:J(`register`),name:Y(W()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:Y(W())}),K({digest:Y(Q()),credentialId:Y(W()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,method:Y(J(`login`)),personalSign:e.personalSign,selectAccount:Y(QE()),showDeposit:e.showDeposit})])),result:K({email:Y(wD(W())),keyAuthorization:Y(UD),personalSign:Y(K({message:W()})),signature:Y(Q()),username:Y(wD(W())),auth:Y(K({token:Y(W())}))})},e.schema=FD({method:J(`wallet_connect`),params:Y(X(mD([K({capabilities:e.capabilities.request,chainId:Y(RD()),version:Y(W())})]))),returns:K({accounts:X(G(K({address:Z(),capabilities:e.capabilities.result})))})})})(cO||={});var lO;(function(e){let t=Y(lD(oO.parameters,{showDeposit:!0})),n=cO.auth,r=cO.personalSign,i=cO.showDeposit;e.parameters=K({capabilities:Y(q([K({digest:Y(Q()),authorizeAccessKey:t,auth:n,method:J(`register`),name:Y(W()),personalSign:r,showDeposit:i,userId:Y(W())}),K({digest:Y(Q()),credentialId:Y(W()),authorizeAccessKey:t,auth:n,method:Y(J(`login`)),personalSign:r,selectAccount:Y(QE()),showDeposit:i})])),chainId:Y(RD()),version:Y(W())})})(lO||={});var uO;(function(e){e.schema=FD({method:J(`wallet_disconnect`),params:void 0,returns:void 0})})(uO||={});var dO;(function(e){e.schema=FD({method:J(`wallet_getCallsStatus`),params:Y(X(mD([W()]))),returns:K({atomic:QE(),chainId:RD(),id:W(),receipts:Y(G(BD)),status:XE(),version:W()})})})(dO||={});var fO;(function(e){e.parameters=fD(`editable`,[K({amount:W(),chainId:Y(RD()),editable:Y(J(!1)),feePayer:Y(q([QE(),W()])),from:Y(Z()),memo:Y(W()),to:Z(),token:q([Z(),W()])}),K({amount:Y(W()),chainId:Y(RD()),editable:J(!0),feePayer:Y(q([QE(),W()])),memo:Y(W()),to:Y(Z()),token:Y(q([Z(),W()]))})]),e.schema=FD({method:J(`wallet_transfer`),params:Y(X(mD([e.parameters]))),returns:K({chainId:RD(),receipt:BD})})})(fO||={});let pO=K({amount:Y(W()),pairToken:Y(Z()),slippage:Y(XE().check(VE(0),BE(1))),token:Y(Z()),type:Y(q([J(`buy`),J(`sell`)]))});var mO;(function(e){e.schema=FD({method:J(`wallet_swap`),params:Y(X(mD([pO]))),returns:K({receipt:BD})})})(mO||={});var hO;(function(e){e.schema=FD({method:J(`wallet_switchEthereumChain`),params:X(mD([K({chainId:RD()})])),returns:void 0})})(hO||={});var gO;(function(e){e.schema=FD({method:J(`wallet_deposit`),params:Y(X(mD([K({address:Y(Z()),amount:Y(W()),chainId:Y(RD()),displayName:Y(W()),token:Y(q([Z(),W()]))})]))),returns:Y(K({receipts:Y(X(G(BD)))}))})})(gO||={});var _O;(function(e){e.parameters=K({amount:Y(W()),feePayer:Y(q([QE(),W()])),token:Y(Z()),zoneId:Y(RD())}),e.schema=FD({method:J(`wallet_depositZone`),params:Y(X(mD([e.parameters]))),returns:K({receipt:BD})})})(_O||={});var vO;(function(e){e.parameters=K({amount:Y(W()),token:Y(Z()),zoneId:Y(RD())}),e.schema=FD({method:J(`wallet_withdrawZone`),params:Y(X(mD([e.parameters]))),returns:K({receipt:BD})})})(vO||={}),oO.parameters,lO.parameters;let yO=ID([KD.schema,qD.schema,XD.schema,JD.schema,YD.schema,QD.schema,ZD.schema,$D.schema,eO.schema,aO.schema,cO.schema,gO.schema,_O.schema,uO.schema,rO.schema,dO.schema,iO.schema,sO.schema,fO.schema,nO.schema,mO.schema,hO.schema,vO.schema]),bO=mx();function xO(e){return e.params?K({method:e.method,params:e.params}):K({method:e.method})}let SO=fD(`method`,yO.map(xO));function CO(e){let t=new CustomEvent(`eip6963:announceProvider`,{detail:Object.freeze(e)});window.dispatchEvent(t);let n=()=>window.dispatchEvent(t);return window.addEventListener(`eip6963:requestProvider`,n),()=>window.removeEventListener(`eip6963:requestProvider`,n)}var wO=class extends Error{status=402;toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...e&&{challengeId:e}}}},TO=class extends wO{name=`InvalidChallengeError`;title=`Invalid Challenge`;status=402;type=`https://paymentauth.org/problems/invalid-challenge`;constructor(e={}){let{id:t,reason:n}=e,r=t?` \"${t}\"`:``,i=n?`: ${n}`:``;super(`Challenge${r} is invalid${i}.`)}},$=class extends wO{name=`VerificationFailedError`;title=`Verification Failed`;type=`https://paymentauth.org/problems/verification-failed`;constructor(e={}){let{reason:t}=e;super(t?`Payment verification failed: ${t}.`:`Payment verification failed.`)}},EO=class extends wO{name=`PaymentExpiredError`;title=`Payment Expired`;type=`https://paymentauth.org/problems/payment-expired`;constructor(e={}){let{expires:t}=e;super(t?`Payment expired at ${t}.`:`Payment has expired.`)}};function DO(e,t){if(!e)throw new TO({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new TO({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new EO({expires:e})}kf();function OO(e){let t=nb(e);return JSON.parse(t)}function kO(e){return eb(Tf(e),{pad:!1,url:!0})}function AO(){return W().check(WE(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function jO(){return W().check(WE(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function MO(e=`Invalid ISO 8601 datetime`){return ED(q([jO(),ND(e=>e instanceof Date)]),xD(NO)).check(PD(e=>Number.isFinite(e.getTime()),e))}function NO(e){return e instanceof Date?e:new Date(e)}function PO(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function FO(){return W().check(WE(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function IO(){return W().check(WE(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function LO(){return W().check(WE(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}tp();let RO=K({description:Y(W()),digest:Y(W().check(WE(/^sha-256=/,`Invalid digest format`))),expires:Y(jO()),id:W(),intent:W(),method:W(),meta:Y(gD(W(),W())),opaque:Y(W()),realm:W(),request:gD(W(),oD())});function zO(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?PO(e.expires):void 0,d=e.opaque??(i===void 0?void 0:kO(i)),f=l?XO({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return RO.parse({id:f,realm:s,method:a,intent:o,request:c,...n&&{description:n},...r&&{digest:r},...u&&{expires:u},...i!==void 0&&{meta:i},...d!==void 0&&{opaque:d}})}function BO(e,t){let n=VO(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=HO(n);if(!r)throw Error(`Missing request parameter.`);if(a.method&&!/^[a-z][a-z0-9:_-]*$/.test(a.method))throw Error(`Invalid method: \"${a.method}\". Must be lowercase per spec.`);return zO({...a,request:OO(r),...i&&{opaque:i}},t)}function VO(e){let t=!1,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(t){n?n=!1:i===`\\\\`?n=!0:i===`\"`&&(t=!1);continue}if(i===`\"`){t=!0;continue}if(!GO(e,r,`Payment`))continue;let a=e.slice(0,r);if(a.trim()&&!a.trimEnd().endsWith(`,`))continue;let o=r+7;for(;o<e.length&&/\\s/.test(e[o]??``);)o++;return e.slice(o)}return null}function HO(e){let t={},n=0;for(;n<e.length;){for(;n<e.length&&/[\\s,]/.test(e[n]??``);)n++;if(n>=e.length)break;let r=n;for(;n<e.length&&/[A-Za-z0-9_-]/.test(e[n]??``);)n++;let i=e.slice(r,n);if(!i)throw Error(`Malformed auth-param.`);for(;n<e.length&&/\\s/.test(e[n]??``);)n++;if(e[n]!==`=`)break;for(n++;n<e.length&&/\\s/.test(e[n]??``);)n++;let[a,o]=UO(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function UO(e,t){if(e[t]===`\"`)return WO(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function WO(e,t){let n=t,r=``,i=!1;for(;n<e.length;){let t=e[n];if(n++,i){r+=t,i=!1;continue}if(t===`\\\\`){i=!0;continue}if(t===`\"`)return[r,n];r+=t}throw Error(`Unterminated quoted-string.`)}function GO(e,t,n){if(!e.slice(t).toLowerCase().startsWith(n.toLowerCase()))return!1;let r=e[t+n.length];return!!(r&&/\\s/.test(r))}function KO(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return qO(e.headers,t)}function qO(e,t){let n=e.get(`WWW-Authenticate`);if(!n)throw Error(`Missing WWW-Authenticate header.`);return JO(n,t)}function JO(e,t){let n=[];for(let t of e.matchAll(/Payment\\s+/gi))n.push(t.index);if(n.length===0)throw Error(`No Payment schemes found.`);return n.map((r,i)=>{let a=i+1<n.length?n[i+1]:e.length;return BO(e.slice(r,a).replace(/,\\s*$/,``),t)})}function YO(e){return[e.realm,e.method,e.intent,kO(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?kO(e.meta):``)].join(`|`)}function XO(e,t){let n=YO(e);return Qy(Zg(Ff(t.secretKey),Ff(n),{as:`Bytes`}),{url:!0,pad:!1})}function ZO(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=nk(n)}return t}function QO(e,t){let n=ZO(e),r=ck(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[nk(e)]??1,index:t}));return{definition:r,entries:i,header:ek(i),keys:n}}function $O(e){let t=e.split(/\\s*,\\s*/).map(e=>e.trim()).filter(Boolean);if(t.length===0)throw Error(`Accept-Payment header is empty.`);return t.map((e,t)=>ok(e,t))}function ek(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${fk(n)}`}).join(`, `)}function tk(e,t,n){let r=new Map;for(let e of t){let t=nk(e);r.has(t)||r.set(t,e)}return e.map((e,t)=>{let i=r.get(nk(e));if(!i)return;let a=rk(e,n);if(!(!a||a.q<=0))return{challenge:e,index:t,match:a,method:i}}).filter(e=>!!e).sort((e,t)=>t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function nk(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function rk(e,t){let n;for(let r of t){if(!ik(e,r))continue;let t={...r,specificity:ak(r)};(!n||t.specificity>n.specificity||t.specificity===n.specificity&&t.q>n.q||t.specificity===n.specificity&&t.q===n.q&&t.index<n.index)&&(n=t)}return n}function ik(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function ak(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function ok(e,t){let n=/^(?<method>[^/;\\s]+|\\*)\\s*\\/\\s*(?<intent>[^/;\\s]+|\\*)(?<params>(?:\\s*;\\s*.+)?)$/u.exec(e),r=n?.groups?.method,i=n?.groups?.intent;if(!r||!i)throw Error(`Invalid Accept-Payment entry: ${e}`);pk(r,`method`),pk(i,`intent`);let a=1;for(let t of sk(n.groups?.params)){if(!t)continue;let n=/^(?<name>[A-Za-z0-9_-]+)\\s*=\\s*(?<value>\\S+)$/u.exec(t),r=n?.groups?.name,i=n?.groups?.value;if(!r||!i)throw Error(`Invalid Accept-Payment parameter: ${t}`);r===`q`&&(a=uk(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function sk(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function ck(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>nk(e))),a={};for(let[e,t]of Object.entries(r??{})){if(!i.has(e))throw Error(`Unknown payment preference \"${e}\". Available: ${[...i].join(`, `)}`);a[e]=lk(t,`payment preference \"${e}\"`)}return a}function lk(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return dk(e,t)}function uk(e,t){if(!/^0(?:\\.\\d{0,3})?$|^1(?:\\.0{0,3})?$/.test(e))throw Error(`Invalid q-value for ${t}. Expected an HTTP qvalue.`);return dk(Number(e),t)}function dk(e,t){if(e<0||e>1)throw Error(`Invalid q-value for ${t}. Expected a value between 0 and 1.`);let n=Math.round(e*1e3);if(Math.abs(e*1e3-n)>1e-9)throw Error(`Invalid q-value for ${t}. Expected at most 3 decimal places.`);return n/1e3}function fk(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function pk(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var mk=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},hk=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function gk(e){let t=e.match(/^Payment\\s+(.+)$/i);if(!t?.[1])throw new mk;try{let e=nb(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=_k(r);return{challenge:RO.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:OO(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new hk}}function _k(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!vk(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:kO(e)}}function vk(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function yk(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:kO(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:kO(r)},payload:e.payload,...e.source&&{source:e.source}};return`Payment ${eb(JSON.stringify(o),{pad:!1,url:!0})}`}function bk(e){return{encode(t){return eb(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(nb(t)))}catch{throw new xk}}}}var xk=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let Sk=[`exact`],Ck=`PAYMENT-REQUIRED`,wk=`PAYMENT-SIGNATURE`,Tk=W().check(UE(1)),Ek=XE().check(PD(e=>e>0,`Must be positive`)),Dk=W().check(WE(/^\\d+$/,`Invalid atomic amount`)),Ok=FO(),kk=W().check(WE(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),Ak=K({description:Y(W()),iconUrl:Y(W()),mimeType:Y(W()),serviceName:Y(W()),tags:Y(G(W())),url:Tk}),jk=K({amount:Dk,asset:Tk,extra:Y(gD(W(),oD())),maxTimeoutSeconds:Ek,network:kk,payTo:Tk,scheme:vD(Sk)}),Mk=gD(W(),K({info:gD(W(),oD()),schema:gD(W(),oD())})),Nk=K({accepts:G(jk).check(UE(1)),error:Y(W()),extensions:Y(Mk),resource:Ak,x402Version:J(2)}),Pk=q([K({authorization:K({from:Ok,nonce:IO(),to:Ok,validAfter:Dk,validBefore:Dk,value:Dk}),signature:LO()}),K({permit2Authorization:K({deadline:Dk,from:Ok,nonce:Dk,permitted:K({amount:Dk,token:Ok}),spender:Ok,witness:K({to:Ok,validAfter:Dk})}),signature:LO()})]),Fk=K({accepted:jk,extensions:Y(Mk),payload:Pk,resource:Y(Ak),x402Version:J(2)}),Ik=K({amount:Y(Dk),errorMessage:Y(W()),errorReason:Y(W()),extensions:Y(Mk),extra:Y(gD(W(),oD())),network:Tk,payer:Y(W()),success:QE(),transaction:W()}),Lk=bk(Nk),Rk=bk(Fk),zk=bk(Ik);Lk.encode;let Bk=Lk.decode;Rk.encode,Rk.decode,zk.encode,zk.decode;let Vk=Symbol.for(`mppx.x402.challenge`);function Hk(e){return Object.defineProperty(e,Vk,{value:!0}),e}function Uk(e){return!!e?.[Vk]}let Wk=`Authorization`,Gk=[Wk,Ck,`PAYMENT-RESPONSE`,wk];function Kk(e){return e}function qk(){return Kk({name:`http`,isPaymentRequired(e){return e.status===402},getChallenges(e){return Jk(e)},getChallenge(e){let t=Jk(e)[0];if(!t)throw Error(`No challenge in response.`);return t},setCredential(e,t,n){let r=new Headers(e.headers);for(let e of Gk)r.delete(e);return Xk(n?.challenge)?r.set(wk,t):r.set(Wk,t),{...e,headers:r}}})}function Jk(e){return[...e.headers.has(`WWW-Authenticate`)?KO(e):[],...Yk(e)]}function Yk(e){let t=e.headers.get(Ck);if(!t)return[];let n=Bk(t);if(e.url&&n.resource.url!==e.url)throw Error(`x402 payment-required resource does not match response URL.`);return n.accepts.map((e,t)=>Hk(zO({id:`x402:${t}`,intent:`charge`,method:`evm`,realm:new URL(n.resource.url).host,request:{...e,...n.extensions?{extensions:n.extensions}:{},resource:n.resource}})))}function Xk(e){return Uk(e)}let Zk=Symbol.for(`mppx.fetch.wrapper`),Qk;function $k(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,methods:i,onChallenge:a,orderChallenges:o,transport:s=qk()}=e,c=e.eventDispatcher??nA(),l=t??QO(i),u=bA(r),d=async(e,t)=>{let r=yA(e,t?.headers),d=r.has(`Accept-Payment`),f=CA(r,l),p=vA(e,t,r,f.header,d,n),m=await u(p.input,p.init);if(!s.isPaymentRequired(m))return m;let h=t?.context,{context:g,orderChallenges:_,...v}=p.init??{},y,b,x;try{b=s.getChallenges?s.getChallenges(m):[s.getChallenge(m)];let n=(await wA(tk(b,i,f.entries),_??o))[0];if(!n)throw Error(`No method found for challenges: ${b.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${i.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let r=n.challenge;y=r,x=n.method,y.expires&&DO(y.expires,y.id);let l=oA(e=>SA(r,n.method,e??h)),d=await c.emit(`challenge.received`,sA({challenge:r,challenges:b,createCredential:l,init:t,input:e,method:n.method,response:m}))??(a?await a(y,{createCredential:l}):void 0)??await l();xA(d),await c.emit(`credential.created`,cA({challenge:r,credential:d,init:t,input:e,method:n.method,response:m}));let g=await u(kA(m,p.input),s.setCredential({...v,headers:p.headers},d,{challenge:r}));return g.ok&&await c.emit(`payment.response`,lA({challenge:r,credential:d,init:t,input:e,method:n.method,response:g})),g}catch(n){throw await c.emit(`payment.failed`,uA({challenge:y,challenges:b,error:n,init:t,input:e,method:x,response:m})),n}};return d[Zk]=u,d}function eA(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);Qk||=globalThis.fetch,globalThis.fetch=$k({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(DA()?`same-origin`:`always`),fetch:globalThis.fetch})}function tA(e){if(!e)return{};if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}return Array.isArray(e)?Object.fromEntries(e):e}function nA(){let e={\"*\":new Set,\"challenge.received\":new Set,\"credential.created\":new Set,\"payment.failed\":new Set,\"payment.response\":new Set};return{async emit(t,n){switch(t){case`challenge.received`:{let r;for(let t of e[`challenge.received`]){let e=await rA(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await aA(e[`*`],t,n),r}case`credential.created`:await iA(e[`credential.created`],n),await aA(e[`*`],t,n);return;case`payment.failed`:await iA(e[`payment.failed`],n),await aA(e[`*`],t,n);return;case`payment.response`:await iA(e[`payment.response`],n),await aA(e[`*`],t,n);return}},on:(t,n)=>{switch(t){case`*`:case`challenge.received`:case`credential.created`:case`payment.failed`:case`payment.response`:return e[t].add(n),()=>e[t].delete(n);default:throw Error(`Unknown client event \"${String(t)}\".`)}}}}async function rA(e,t){try{return await e(t)}catch{return}}async function iA(e,t){for(let n of e)try{await n(t)}catch{}}async function aA(e,t,n){await iA(e,Object.freeze({name:t,payload:n}))}function oA(e){let t;return n=>(t??=e(n),t)}function sA(e){return Object.freeze({challenge:hA(e.challenge),challenges:e.challenges.map(e=>hA(e)),createCredential:e.createCredential,init:dA(e.init),input:fA(e.input),method:pA(e.method),response:mA(e.response)})}function cA(e){return Object.freeze({challenge:hA(e.challenge),credential:e.credential,init:dA(e.init),input:fA(e.input),method:pA(e.method),...e.response===void 0?{}:{response:mA(e.response)}})}function lA(e){return Object.freeze({challenge:hA(e.challenge),credential:e.credential,init:dA(e.init),input:fA(e.input),method:pA(e.method),response:mA(e.response)})}function uA(e){return Object.freeze({...e.challenge?{challenge:hA(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>hA(e))}:{},error:e.error,init:dA(e.init),input:fA(e.input),...e.method?{method:pA(e.method)}:{},...e.response===void 0?{}:{response:mA(e.response)}})}function dA(e){if(e)return _A({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function fA(e){return e instanceof Request?e.clone():e instanceof URL?new URL(e):e}function pA(e){return _A(Object.assign({},e))}function mA(e){return e instanceof Response?e.clone():hA(e)}function hA(e){try{return gA(structuredClone(e))}catch{return _A(e)}}function gA(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))gA(t);return e}function _A(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function vA(e,t,n,r,i,a){let o=!!r&&!i&&TA(e,a);if(!o)return{headers:n,init:t,input:e};let s=new Headers(e instanceof Request?e.headers:void 0);return n.forEach((e,t)=>{s.set(t,e)}),s.set(`Accept-Payment`,r),t?(t.headers=s,{headers:s,init:t,input:e}):{headers:s,init:o?{headers:s}:void 0,input:e}}function yA(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function bA(e){let t=e;for(;t[Zk];)t=t[Zk];return t}function xA(e){if(!e.trim())throw Error(`Credential header value must be non-empty`);if(e.includes(`\\r`)||e.includes(`\n`))throw Error(`Credential header value contains illegal newline characters`)}async function SA(e,t,n){let r=t.context&&n!==void 0?t.context.parse(n):void 0;return t.createCredential(r===void 0?{challenge:e}:{challenge:e,context:r})}function CA(e,t){let n=e.get(`Accept-Payment`);if(!n)return t;try{return{...t,entries:$O(n),header:n}}catch{return t}}async function wA(e,t){return t?t(e):e}function TA(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=OA(e);return t===`same-origin`?DA()?n.origin===globalThis.location.origin:!0:t.origins.some(e=>EA(n,e))}function EA(e,t){if(t.startsWith(`*.`)){let n=t.slice(1);return e.hostname.endsWith(n)||e.hostname===t.slice(2)}return e.origin===new URL(t).origin}function DA(){return globalThis.location!==void 0}function OA(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,DA()?globalThis.location.href:void 0)}function kA(e,t){return e.url?e.url:t}function AA(e){return e}function jA(e,t){let{context:n,createCredential:r}=t;return{...e,context:n,createCredential:r}}ya();function MA(e={}){let{account:t}=e;return(e,{account:n}={})=>{let r=n??t;if(!r){if(!e.account)throw Error(\"No `account` provided. Pass `account` to parameters or context.\");return e.account}return j(r)}}function NA(e){let{chain:t,feePayerUrl:n,getClient:r,rpcUrl:i}=e;return r?!t?.serializers&&!n?r:async e=>{let i=await r(e);if(n&&i.transport.key!==`feePayer`){let e=i.transport.url;if(e){let t=dh({chain:i.chain,transport:Ww(Wy(e),Wy(n))});Object.assign(i,{transport:t.transport,request:t.request})}}return!t?.serializers||i.chain?.serializers?.transaction?i:Object.assign({},i,{chain:{...t,...i.chain,formatters:i.chain?.formatters??t.formatters,prepareTransactionRequest:i.chain?.prepareTransactionRequest??t.prepareTransactionRequest,serializers:i.chain?.serializers?.transaction?i.chain.serializers:t.serializers}})}:({chainId:e})=>{if(!i)throw Error(\"No `rpcUrl` provided.\");let r=e||Number(Object.keys(i)[0]),a=i[r];if(!a)throw Error(`No \\`rpcUrl\\` configured for \\`chainId\\` (${r}).`);let o=n?Ww(Wy(a),Wy(n)):Wy(a);return dh({chain:{...t,id:r},transport:o})}}let PA={mainnet:4217,testnet:42431},FA={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};PA.mainnet,FA.usdc,PA.testnet,FA.pathUsd;let IA={[PA.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[PA.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},LA={[PA.mainnet]:`https://rpc.tempo.xyz`,[PA.testnet]:`https://rpc.moderato.tempo.xyz`},RA=[`push`,`pull`],zA=K({amount:AO(),memo:Y(IO()),recipient:ED(W(),xD(e=>e))}),BA=(1n<<64n)-1n,VA={dev_second:1n,day:86400n,week:604800n},HA=ED(FO(),xD(e=>e.toLowerCase())),UA=K({accessKeyAddress:HA,keyType:vD([`p256`,`secp256k1`,`webAuthn`])}),WA=K({accessKey:Y(UA),chainId:Y(XE())}),GA=MO(`subscriptionExpires must be a valid date`).check(PD(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),KA=vD([`dev_second`,`day`,`week`]),qA=ED(q([W(),eD(),ND(e=>typeof e==`number`&&Number.isSafeInteger(e))]),xD(e=>e.toString())).check(WE(/^[1-9]\\d*$/,`Invalid periodCount`),PD(e=>{try{return BigInt(e)<=BA}catch{return!1}},`periodCount exceeds uint64`));function JA(e){return PD(e=>{let{amount:t,decimals:n}=e;return uy(t,n)>0n},e)}function YA(e){let{periodCount:t,periodUnit:n}=e;try{let e=VA[n];return e===void 0?!1:BigInt(t)*e<=BA}catch{return!1}}let XA=AA({name:`tempo`,intent:`charge`,schema:{credential:{payload:fD(`type`,[K({hash:IO(),type:J(`hash`)}),K({signature:LO(),type:J(`transaction`)}),K({signature:LO(),type:J(`proof`)})])},request:ED(K({amount:AO(),chainId:Y(XE()),currency:W(),decimals:XE(),description:Y(W()),externalId:Y(W()),feePayer:Y(ED(q([QE(),ND()]),xD(e=>typeof e==`object`?!0:e))),memo:Y(IO()),recipient:Y(W()),splits:Y(G(zA).check(UE(1),HE(10))),supportedModes:Y(G(vD(RA)).check(UE(1)))}).check(PD(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=uy(e,t),i=n.reduce((e,n)=>e+uy(n.amount,t),0n);return n.every(e=>uy(e.amount,t)>0n)&&i<r},`Invalid splits`)),xD(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:uy(e,n).toString(),...t!==void 0||r!==void 0||i!==void 0||a!==void 0||o!==void 0?{methodDetails:{...t!==void 0&&{chainId:t},...r!==void 0&&{feePayer:r},...i!==void 0&&{memo:i},...a!==void 0&&{splits:a.map(e=>({...e,amount:uy(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),ZA=AA({name:`tempo`,intent:`session`,schema:{credential:{payload:fD(`action`,[K({action:J(`open`),authorizedSigner:Y(W()),channelId:IO(),cumulativeAmount:AO(),signature:LO(),transaction:LO(),type:J(`transaction`)}),K({action:J(`topUp`),additionalDeposit:AO(),channelId:IO(),transaction:LO(),type:J(`transaction`)}),K({action:J(`voucher`),channelId:IO(),cumulativeAmount:AO(),signature:LO()}),K({action:J(`close`),channelId:IO(),cumulativeAmount:AO(),signature:LO()})])},request:ED(K({amount:AO(),chainId:Y(XE()),channelId:Y(IO()),currency:W(),decimals:XE(),escrowContract:Y(W()),feePayer:Y(ED(q([QE(),ND()]),xD(e=>typeof e==`object`?!0:e))),minVoucherDelta:Y(AO()),recipient:Y(W()),suggestedDeposit:Y(AO()),unitType:W()}).check(PD(({amount:e,decimals:t})=>uy(e,t)>0n,`Session amount must be greater than 0`)),xD(({amount:e,chainId:t,channelId:n,decimals:r,escrowContract:i,feePayer:a,minVoucherDelta:o,suggestedDeposit:s,...c})=>({...c,amount:uy(e,r).toString(),...s?{suggestedDeposit:uy(s,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:uy(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a}}})))}}),QA=AA({name:`tempo`,intent:`subscription`,schema:{credential:{payload:K({signature:LO(),type:J(`keyAuthorization`)})},request:ED(K({amount:AO(),accessKey:Y(UA),chainId:Y(XE()),currency:HA,decimals:XE(),description:Y(W()),externalId:Y(W()),methodDetails:Y(WA),periodCount:qA,periodUnit:KA,recipient:HA,subscriptionExpires:GA}).check(JA(`Subscription amount must be greater than 0`),PD(YA,`Subscription period exceeds uint64`)),xD(({accessKey:e,amount:t,chainId:n,decimals:r,methodDetails:i,subscriptionExpires:a,...o})=>{let s={...i,...e!==void 0&&{accessKey:e},...n!==void 0&&{chainId:n}};return{...o,amount:uy(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});Bi(),Jd();let $A=(1n<<64n)-1n,ej={dev_second:1n,day:86400n,week:604800n};function tj(e){return e instanceof Date?e:new Date(e)}function nj(e){let t=e.getTime();if(!Number.isFinite(t))throw new $({reason:`subscriptionExpires is invalid`});if(t%1e3!=0)throw new $({reason:`subscriptionExpires must be representable as whole seconds`});let n=t/1e3;if(n<=0||!Number.isSafeInteger(n))throw new $({reason:`subscriptionExpires cannot be represented in a Tempo key authorization`});return n}function rj(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=ej[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>$A)throw new $({reason:`subscription period cannot be represented as an unsigned 64-bit integer`});if(n>BigInt(2**53-1))throw new $({reason:`subscription period cannot be represented exactly by this Tempo client`});return Number(n)}function ij(e){let{challengeExpires:t,request:n}=e;rj(n);let r=nj(tj(n.subscriptionExpires));if(t){let e=Math.floor(new Date(t).getTime()/1e3);if(!Number.isFinite(e)||r<=e)throw new $({reason:`subscriptionExpires must be strictly later than challenge expires`})}}function aj(e){return[{address:_j(e.currency,`currency`),selector:`0x95777d59`,recipients:[_j(e.recipient,`recipient`)]}]}async function oj(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=cj({accessKey:t,chainId:r,request:i});return OS(a,{signature:Wx(await n.sign({hash:jS(a)}))})}function sj(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let a=lj(r.signature),o=uj(a);return dj({accessKey:t,authorization:a,chainId:n}),fj(a,i),mj(pj(a),i),hj(a.scopes,i),{authorization:a,source:{address:gj(a,o),chainId:n}}}function cj(e){let{accessKey:t,chainId:n,request:r}=e;return OS({address:_j(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:nj(tj(r.subscriptionExpires)),limits:[{token:_j(r.currency,`currency`),limit:BigInt(r.amount),period:rj(r)}],scopes:aj(r),type:t.keyType})}function lj(e){try{return MS(e)}catch{throw new $({reason:`invalid keyAuthorization payload`})}}function uj(e){let t=e.signature;if(!t||t.type===`keychain`)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function dj(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!qd(n.address,_j(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function fj(e,t){if(ij({request:t}),e.expiry!==nj(tj(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function pj(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function mj(e,t){if(!qd(e.token,_j(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==rj(t))throw new $({reason:`keyAuthorization period mismatch`})}function hj(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=_j(t.currency,`currency`),r=_j(t.recipient,`recipient`),i=new Set;for(let t of e){if(!qd(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=vj(t.selector);if(e!==`0xa9059cbb`&&e!==`0x95777d59`)throw new $({reason:`keyAuthorization selector not allowed`});if(i.has(e))throw new $({reason:`keyAuthorization duplicate selector`});if(i.add(e),t.recipients?.length!==1||!qd(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function gj(e,t){let n=jS(e);try{let e=Vx({payload:n,signature:t});if(!Yx(t,{address:e,payload:n}))throw new $({reason:`keyAuthorization signature is invalid`});return e}catch(e){throw e instanceof $?e:new $({reason:`keyAuthorization signature is invalid`})}}function _j(e,t){if(!Li(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function vj(e){return typeof e==`string`?e.toLowerCase():``}R(),Jd();let yj=K({accessKey:Y(ND()),account:Y(ND())});function bj(e={}){let t=NA({chain:zw,getClient:e.getClient,rpcUrl:LA}),n=MA({account:e.account});return jA(QA,{context:yj,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??PA.testnet,o=await t({chainId:a}),s=n(o,i),c=i?.accessKey??e.accessKey??r.request.methodDetails?.accessKey;if(!c)throw Error(\"No `accessKey` provided. The subscription challenge must include `accessKey`, or the client must pass one to parameters/context.\");Sj(r.request),await e.validateRequest?.(r.request);let l=await xj(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!qd(sj({accessKey:c,chainId:a,payload:{signature:PS(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return yk({challenge:r,payload:{signature:PS(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function xj(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await oj({accessKey:n,account:r,chainId:i,request:a})||kS((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:nj(tj(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:I(BigInt(a.amount)),period:rj(a)}],scopes:aj(a)}]})).keyAuthorization)}function Sj(e){rj(e),nj(tj(e.subscriptionExpires))}tp(),R();let Cj=L(Xg(Ff(`mpp`),{as:`Hex`}),0,4);function wj(e){return fp(L(Xg(Ff(e),{as:`Hex`}),0,10))}function Tj(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(fp(Cj),0),i[4]=1,i.set(wj(t),5),n&&i.set(wj(n),15),i.set(Ej(r),25),F(i)}function Ej(e){return fp(L(Xg(Ff(e),{as:`Hex`}),0,7))}function Dj(e,t){return e.toLowerCase()===t.toLowerCase()}let Oj=[FA.pathUsd,FA.usdc];async function kj(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!Dj(e,i)),c=await Promise.allSettled([Rm(e,gw.call({account:n,token:i})),...s.map(t=>Rm(e,gw.call({account:n,token:t})))]),l=c[0];if(!(l.status===`fulfilled`&&l.value>=r)){for(let t=0;t<s.length;t++){let n=c[t+1];if(n.status!==`fulfilled`)continue;let a=n.value;if(a<=0n)continue;let l=s[t];try{let t=await ew(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let e=t+t*BigInt(Math.round(o*100))/10000n;return[uw.call({token:l,spender:RC,amount:e}),YC.call({tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:e})]}}catch{}}throw new jj({currency:i})}}function Aj(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>Dj(e,t)))]:t,slippage:e.slippage??1}:!1}var jj=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function Mj(e){let t=BigInt(e.amount),n=e.methodDetails?.splits??[],r=n.reduce((e,t)=>e+BigInt(t.amount),0n);if(r>=t)throw Error(`Invalid charge request: split total must be less than total amount.`);let i=t-r;if(i<=0n)throw Error(`Invalid charge request: primary transfer amount must be positive.`);return[{amount:i.toString(),memo:e.methodDetails?.memo,recipient:e.recipient},...n.map(e=>({amount:e.amount,memo:e.memo,recipient:e.recipient}))]}let Nj={Proof:[{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function Pj(e){return{name:`MPP`,version:`2`,chainId:e}}function Fj(e,t){return{challengeId:e,realm:t}}function Ij(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}function Lj(e={}){let{clientId:t}=e,n=NA({chain:zw,getClient:e.getClient,rpcUrl:LA}),r=MA({account:e.account});return jA(XA,{context:K({account:Y(ND()),autoSwap:Y(ND()),mode:Y(vD(RA))}),async createCredential({challenge:i,context:a}){let o=i.request.methodDetails?.chainId,s=await n({chainId:o}),c=o??s.chain?.id;if(c===void 0)throw Error(\"No `chainId` provided. Pass a chain ID in the challenge or client.\");let l=r(s,a),{request:u}=i,{amount:d,methodDetails:f}=u;if(BigInt(d)===0n)return yk({challenge:i,payload:{signature:await Ly(s,{account:l,domain:Pj(c),types:Nj,primaryType:`Proof`,message:Fj(i.id,i.realm)}),type:`proof`},source:Ij({address:l.address,chainId:c})});let p=u.currency;if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase())),n=f?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}let m=f?.supportedModes??[`pull`,`push`],h=(()=>{let t=a?.mode??e.mode;if(t){if(!m.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=l.type===`json-rpc`?`push`:`pull`;return m.includes(n)?n:m[0]})(),g=f?.memo?f.memo:Tj({challengeId:i.id,clientId:t,serverId:i.realm}),_=Mj({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}).map(e=>Ow.call({amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:p})),v=Aj(a?.autoSwap??e.autoSwap,Oj),y=[...(v?await kj(s,{account:l.address,amountOut:BigInt(d),tokenOut:p,tokenIn:v.tokenIn,slippage:v.slippage}):void 0)??[],..._],b=(()=>{let e=Math.floor(Date.now()/1e3)+25;if(!i.expires)return e;let t=Math.floor(new Date(i.expires).getTime()/1e3);return Math.min(e,t)})();if(h===`push`){let{receipts:e}=await Fy(s,{account:l,calls:y,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return yk({challenge:i,payload:{hash:t,type:`hash`},source:Ij({address:l.address,chainId:c})})}let x=await Gd(s,{account:l,calls:y,nonceKey:`expiring`,validBefore:b});return x.gas=(x.gas??0n)+5000n,f?.feePayer&&(x.feePayer=!0),yk({challenge:i,payload:{signature:await Iy(s,x),type:`transaction`},source:Ij({address:l.address,chainId:c})})}})}function Rj(e){return`accessKeyAddress`in e}function zj(e){return Rj(e)?e.accessKeyAddress:e.address}function Bj(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let Vj={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function Hj(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function Uj(e,t,n){return eg({domain:Bj(e,t),types:Vj,primaryType:`Voucher`,message:Hj(n)})}async function Wj(e,t,n,r,i){return Ly(e,{account:t,domain:Bj(r,i),types:Vj,primaryType:`Voucher`,message:Hj(n)})}function Gj(e){let t=Wx(e);if(t.type===`keychain`){if(t.inner.type!==`secp256k1`)throw Error(`Session vouchers only unwrap secp256k1 keychain signatures; pass a direct voucherSigner for other key types.`);return Ev(t.inner.signature)}return qx(t)}function Kj(e){return e.type===`keychain`?!1:e.type===`secp256k1`}function qj(e){if(!Kj(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function Jj(e,t,n,r,i,a){let o=a??t,s=zj(o),c=Uj(r,i,n),l=Gj(Rj(o)?await o.sign({hash:c,raw:!0}):await Wj(e,o,n,r,i)),u=Wx(l);if(qj(u),!Yx(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function Yj(e){return Xg(Z_($_([`address payer`,`address payee`,`address token`,`bytes32 salt`,`address authorizedSigner`,`address escrowContract`,`uint256 chainId`]),[e.payer,e.payee,e.token,e.salt,e.authorizedSigner,e.escrowContract,BigInt(e.chainId)]))}let Xj=[{type:`function`,name:`CLOSE_GRACE_PERIOD`,inputs:[],outputs:[{name:``,type:`uint64`,internalType:`uint64`}],stateMutability:`view`},{type:`function`,name:`VOUCHER_TYPEHASH`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`channels`,inputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}],stateMutability:`view`},{type:`function`,name:`close`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`},{name:`signature`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`computeChannelId`,inputs:[{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`authorizedSigner`,type:`address`,internalType:`address`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`domainSeparator`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`eip712Domain`,inputs:[],outputs:[{name:`fields`,type:`bytes1`,internalType:`bytes1`},{name:`name`,type:`string`,internalType:`string`},{name:`version`,type:`string`,internalType:`string`},{name:`chainId`,type:`uint256`,internalType:`uint256`},{name:`verifyingContract`,type:`address`,internalType:`address`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`extensions`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`view`},{type:`function`,name:`getChannel`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:``,type:`tuple`,internalType:`struct TempoStreamChannel.Channel`,components:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`getChannelsBatch`,inputs:[{name:`channelIds`,type:`bytes32[]`,internalType:`bytes32[]`}],outputs:[{name:`channelStates`,type:`tuple[]`,internalType:`struct TempoStreamChannel.Channel[]`,components:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`getVoucherDigest`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`open`,inputs:[{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`authorizedSigner`,type:`address`,internalType:`address`}],outputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`requestClose`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`settle`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`},{name:`signature`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`topUp`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`additionalDeposit`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdraw`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`ChannelClosed`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`settledToPayee`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`refundedToPayer`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`ChannelExpired`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`ChannelOpened`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`token`,type:`address`,indexed:!1,internalType:`address`},{name:`authorizedSigner`,type:`address`,indexed:!1,internalType:`address`},{name:`salt`,type:`bytes32`,indexed:!1,internalType:`bytes32`},{name:`deposit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`CloseRequestCancelled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`CloseRequested`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`closeGraceEnd`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Settled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`cumulativeAmount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`deltaPaid`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newSettled`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`TopUp`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`additionalDeposit`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newDeposit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`error`,name:`AmountExceedsDeposit`,inputs:[]},{type:`error`,name:`AmountNotIncreasing`,inputs:[]},{type:`error`,name:`ChannelAlreadyExists`,inputs:[]},{type:`error`,name:`ChannelFinalized`,inputs:[]},{type:`error`,name:`ChannelNotFound`,inputs:[]},{type:`error`,name:`CloseNotReady`,inputs:[]},{type:`error`,name:`DepositOverflow`,inputs:[]},{type:`error`,name:`InvalidPayee`,inputs:[]},{type:`error`,name:`InvalidSignature`,inputs:[]},{type:`error`,name:`NotPayee`,inputs:[]},{type:`error`,name:`NotPayer`,inputs:[]},{type:`error`,name:`TransferFailed`,inputs:[]}];um(),wa(),Pp(),va(),ma(),Lm();async function Zj(e,t,n){return Rm(e,{address:t,abi:Xj,functionName:`getChannel`,args:[n]})}ha({abi:Xj,name:`open`}),ha({abi:Xj,name:`topUp`}),R(),wa();function Qj(e,t){return t??e}function $j(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??IA[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function eM(e,t,n,r){return yk({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function tM(e,t,n,r,i,a,o){let s=Qj(t,o),c=await Jj(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function nM(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=Qj(t,n.voucherSigner),d=zj(u),f=cp(32),p=Yj({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=Ca({abi:B,functionName:`approve`,args:[r,o]}),h=Ca({abi:Xj,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Gd(e,{account:t,calls:[{to:a,data:m},{to:r,data:h}],feeToken:a,...l?{nonceKey:`expiring`,validBefore:g}:{}});_.gas=(_.gas??0n)+5000n,l&&(_.feePayer=!0);let v=await Iy(e,_),y=await Jj(e,t,{channelId:p,cumulativeAmount:s},r,c,u);return{entry:{channelId:p,salt:f,cumulativeAmount:s,escrowContract:r,chainId:c,opened:!0},payload:{action:`open`,type:`transaction`,channelId:p,transaction:v,authorizedSigner:d,cumulativeAmount:s.toString(),signature:y}}}async function rM(e,t,n,r){try{let i=await Zj(e,t,n);if(i.deposit>0n&&!i.finalized)return{channelId:n,salt:`0x`,cumulativeAmount:i.settled,escrowContract:t,chainId:r,opened:!0}}catch{}}let iM=K({account:Y(ND()),action:Y(vD([`open`,`topUp`,`voucher`,`close`])),channelId:Y(W()),cumulativeAmount:Y(AO()),cumulativeAmountRaw:Y(W()),transaction:Y(W()),additionalDeposit:Y(AO()),additionalDepositRaw:Y(W()),depositRaw:Y(W())});function aM(e={}){let{decimals:t=6}=e,n=NA({chain:zw,getClient:e.getClient,rpcUrl:LA}),r=MA({account:e.account}),i=e.maxDeposit===void 0?void 0:uy(e.maxDeposit,t),a=new Map,o=new Map,s=new Map;function c(t){e.onChannelUpdate?.(t)}function l(e,t,n){return`${e.toLowerCase()}:${t.toLowerCase()}:${n.toLowerCase()}`}function u(t,n,r){if(r){let e=a.get(r);if(e)return e}return $j(t,n,e.escrowContract)}async function d(r,d,f){let p=r.request.methodDetails,m=p?.chainId??0,h=await n({chainId:m}),g=u(r,m),_=r.request.recipient,v=r.request.currency,y=BigInt(r.request.amount),b=r.request.suggestedDeposit,x=b?BigInt(b):void 0,S=(()=>{if(f?.depositRaw)return BigInt(f.depositRaw);if(e.deposit!==void 0)return uy(e.deposit,t);if(x!==void 0&&i!==void 0)return x<i?x:i;if(i!==void 0)return i;if(x!==void 0)return x;throw Error(\"No deposit amount available. Set `deposit`, `maxDeposit`, or ensure the server challenge includes `suggestedDeposit`.\")})(),C=e.voucherSigner??d,ee=l(_,v,g),te=o.get(ee);if(!te){let e=f?.channelId??p?.channelId;if(e){let n=await rM(h,g,e,m);if(n){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?uy(f.cumulativeAmount,t):void 0;e!==void 0&&(n.cumulativeAmount=e),o.set(ee,n),s.set(n.channelId,ee),a.set(n.channelId,g),te=n,c(te)}else if(f?.channelId)throw Error(`Channel ${f.channelId} cannot be reused (closed or not found on-chain).`)}}let ne;if(te?.opened)te.cumulativeAmount+=y,ne=await tM(h,d,te.channelId,te.cumulativeAmount,g,m,C),c(te);else{let e=await nM(h,d,{voucherSigner:C,escrowContract:g,payee:_,currency:v,deposit:S,initialAmount:y,chainId:m,feePayer:p?.feePayer});o.set(ee,e.entry),s.set(e.entry.channelId,ee),a.set(e.entry.channelId,g),ne=e.payload,c(e.entry)}return eM(r,ne,m,d)}async function f(r,i,l){let d=r.request.methodDetails?.chainId??0,f=await n({chainId:d}),p=l.action,{channelId:m,transaction:h}=l,g=e.voucherSigner??i,_=m,v=l.cumulativeAmountRaw?BigInt(l.cumulativeAmountRaw):l.cumulativeAmount?uy(l.cumulativeAmount,t):void 0,y=l.additionalDepositRaw?BigInt(l.additionalDepositRaw):l.additionalDeposit?uy(l.additionalDeposit,t):void 0,b=u(r,d,_);a.set(_,b);let x;switch(p){case`open`:{if(!h)throw Error(`transaction required for open action`);if(v===void 0)throw Error(`cumulativeAmount required for open action`);let e=await Jj(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:zj(g),cumulativeAmount:v.toString(),signature:e};break}case`topUp`:if(!h)throw Error(`transaction required for topUp action`);if(y===void 0)throw Error(`additionalDeposit required for topUp action`);x={action:`topUp`,type:`transaction`,channelId:_,transaction:h,additionalDeposit:y.toString()};break;case`voucher`:{if(v===void 0)throw Error(`cumulativeAmount required for voucher action`);x=await tM(f,i,_,v,b,d,g);let e=s.get(_);if(e){let t=o.get(e);t&&(t.cumulativeAmount=t.cumulativeAmount>v?t.cumulativeAmount:v,c(t))}break}case`close`:{if(v===void 0)throw Error(`cumulativeAmount required for close action`);let e=await Jj(f,i,{channelId:_,cumulativeAmount:v},b,d,g);x={action:`close`,channelId:_,cumulativeAmount:v.toString(),signature:e};let t=s.get(_);if(t){let e=o.get(t);e&&(e.opened=!1,e.cumulativeAmount=e.cumulativeAmount>v?e.cumulativeAmount:v,c(e))}break}}return eM(r,x,d,i)}return jA(ZA,{context:iM,async createCredential({challenge:t,context:a}){let o=r(await n({chainId:t.request.methodDetails?.chainId??0}),a);if(!a?.action&&(e.deposit!==void 0||i!==void 0))return d(t,o,a);if(a?.action)return f(t,o,a);throw Error(\"No `action` in context and no `deposit` or `maxDeposit` configured. Either provide context with action/channelId/cumulativeAmount, or configure `deposit`/`maxDeposit` for auto-management.\")}})}function oM(e){let t=nb(e);return JSON.parse(t)}function sM(e){let t=`message`,n=[];for(let r of e.split(`\n`))r.startsWith(`event: `)?t=r.slice(7).trim():r.startsWith(`data: `)?n.push(r.slice(6)):r===`data:`&&n.push(``);if(n.length===0)return null;let r=n.join(`\n`);switch(t){case`message`:return{type:`message`,data:r};case`payment-need-voucher`:return{type:`payment-need-voucher`,data:JSON.parse(r)};case`payment-receipt`:return{type:`payment-receipt`,data:JSON.parse(r)};default:return{type:`message`,data:r}}}function cM(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function lM(){return JSON.stringify({mpp:`payment-close-request`})}function uM(e){try{let t=JSON.parse(e);return t.mpp===`authorization`&&typeof t.authorization==`string`?{mpp:`authorization`,authorization:t.authorization}:t.mpp===`message`&&typeof t.data==`string`?{mpp:`message`,data:t.data}:t.mpp===`payment-close-request`?{mpp:`payment-close-request`}:t.mpp===`payment-close-ready`&&dM(t.data)?{mpp:`payment-close-ready`,data:t.data}:t.mpp===`payment-error`&&typeof t.status==`number`&&typeof t.message==`string`?{mpp:`payment-error`,status:t.status,message:t.message}:t.mpp===`payment-need-voucher`&&fM(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&dM(t.data)?{mpp:`payment-receipt`,data:t.data}:null}catch{return null}}function dM(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.challengeId==`string`&&typeof t.channelId==`string`}function fM(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.channelId==`string`&&typeof t.requiredCumulative==`string`}let pM={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function mM(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:uy(e.maxDeposit,e.decimals??6),i=null,a=null,o=null,s=0n,c=null,l=null,u=null,d=null,f=null,p=null,m=null,h=0n,g=0n,_=aM({account:e.account,voucherSigner:e.voucherSigner,getClient:e.client?()=>e.client:e.getClient,escrowContract:e.escrowContract,decimals:e.decimals,maxDeposit:e.maxDeposit,onChannelUpdate(e){e.channelId!==i?.channelId&&(s=0n),i=e}}),v=$k({fetch:t,methods:[_],onChallenge:async(e,t)=>{a=e},orderChallenges:e.orderChallenges});function y(e){if(!e||e.channelId!==i?.channelId)return;b(e);let t=BigInt(e.spent);s=s>t?s:t}function b(e){if(!i||e.channelId!==i.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>i.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>i.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);ie(t),ie(n)}function x(e=()=>!0){if(m)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{m={predicate:e,resolve:t,reject:n}})}function S(){if(d)return Promise.resolve(d);if(f)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{f={resolve:e,reject:t}})}function C(e){if(!m||!m.predicate(e))return;let t=m;m=null,t.resolve(e)}function ee(e){if(d=e,!f)return;let t=f;f=null,t.resolve(e)}function te(e){if(!m)return;let t=m;m=null,t.reject(e)}function ne(e){if(!f)return;let t=f;f=null,t.reject(e)}function re(e,t){if(d&&d.challengeId===e.id&&d.channelId===t)return d.spent;let n=i?.channelId===t?i.cumulativeAmount:0n;if(g>0n){let e=h*g,t=s>e?s:e;return(t>n?n:t).toString()}return s.toString()}function ie(e){if(r!==null&&!(e<=r))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${r}`)}function ae(e){let t=e.headers.get(`Payment-Receipt`),n=t?oM(t):null;return y(n),Object.assign(e,{receipt:n,challenge:a,channelId:i?.channelId??null,cumulative:i?.cumulativeAmount??0n})}async function oe(e,t){return o=e,ae(await v(e,t))}function se(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`?i.once===!0:!1,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)},s=(e,a)=>{if(e===`close`){if(n)return;n=!0,i=pM.CLOSED,r=null}if(e===`open`&&(i=pM.OPEN),e===`message`&&r){r.push(a);return}let o=c[`on${e}`];typeof o==`function`&&o(a);let s=t.get(e);if(s)for(let e of Array.from(s))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&s.delete(e)},c={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,_onmessage:null,get onmessage(){return c._onmessage},set onmessage(e){if(c._onmessage=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:c}}return{get channelId(){return i?.channelId},get cumulative(){return i?.cumulativeAmount??0n},get opened(){return i?.opened??!1},async open(e){if(i?.opened)return;if(!a)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let n=e?.deposit,r=await _.createCredential({challenge:a,context:{...n!==void 0&&{depositRaw:n.toString()}}});if(!o)throw Error(`No URL available \u2014 call fetch() or sse() before open().`);let s=await t(o,{method:`POST`,headers:{Authorization:r}});if(!s.ok){let e=await s.text().catch(()=>``),t=s.headers.get(`WWW-Authenticate`)??``;throw Error(`Open request failed with status ${s.status}${e?`: ${e}`:``}${t?` [WWW-Authenticate: ${t}]`:``}`)}},fetch:oe,async sse(e,n){let{onReceipt:r,signal:o,...s}=n??{},c=await oe(e,{...s,headers:{...tA(s.headers),Accept:`text/event-stream`},...o?{signal:o}:{}}),l=a;if(!c.body)throw Error(`Response has no body.`);let u=c.body.getReader(),d=new TextDecoder;async function*f(){let n=``;try{for(;!o?.aborted;){let{done:a,value:o}=await u.read();if(a)break;n+=d.decode(o,{stream:!0});let s=n.split(`\n\n`);n=s.pop();for(let n of s){if(!n.trim())continue;let a=sM(n);if(a)switch(a.type){case`message`:yield a.data;break;case`payment-need-voucher`:{if(!i||!l)break;let n=BigInt(a.data.requiredCumulative);ie(n),i.cumulativeAmount=i.cumulativeAmount>n?i.cumulativeAmount:n;let r=await t(e,{method:`POST`,headers:{Authorization:await _.createCredential({challenge:l,context:{action:`voucher`,channelId:i.channelId,cumulativeAmountRaw:i.cumulativeAmount.toString()}})}});if(!r.ok)throw Error(`Voucher POST failed with status ${r.status}`);break}case`payment-receipt`:y(a.data),r?.(a.data);break}}}}finally{u.releaseLock()}}return f()},async ws(r,s){if(!n)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:f,protocols:m,signal:v}=s??{},b=new URL(r.toString()),S=new URL(b.toString());S.protocol===`ws:`&&(S.protocol=`http:`),S.protocol===`wss:`&&(S.protocol=`https:`),o=S.toString();let re=await t(S,v?{signal:v}:void 0);if(re.status!==402)throw Error(`Expected a 402 payment challenge from ${S}, received ${re.status} instead.`);let ae=(await hM(tk(KO(re),[_],QO([_]).entries),s?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!ae)throw Error(`No payment challenge received from HTTP endpoint for this WebSocket URL. The server may not require payment or did not advertise a challenge.`);a=ae;let oe=await _.createCredential({challenge:ae,context:{}});d=null,c=ae,h=0n,g=BigInt(ae.request.amount);let ce=gk(oe);l=ce.payload.channelId;let le=new n(b,m);u=le;let ue=se(le),de=e=>{te(Error(e)),ne(Error(e)),(le.readyState===pM.CONNECTING||le.readyState===pM.OPEN)&&le.close(3008,e)},fe=e=>e.challengeId===ae.id&&e.channelId===l,pe=new Promise((e,t)=>{let n=()=>{le.removeEventListener(`error`,r),ue.emit(`open`,{type:`open`}),e()},r=()=>{le.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${b} failed to open.`))};le.addEventListener(`open`,n,{once:!0}),le.addEventListener(`error`,r,{once:!0})});return le.addEventListener(`close`,e=>{u===le&&(u=null),c===ae&&(c=null),l===ce.payload.channelId&&(l=null),p=null,te(Error(`WebSocket closed before the payment flow completed.`)),ne(Error(`WebSocket closed before the payment flow completed.`)),ue.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),le.addEventListener(`error`,()=>{ue.emit(`error`,{type:`error`})}),le.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=uM(t);if(!n){ue.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:h+=1n,ue.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!fe(n.data)){de(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(i?.cumulativeAmount??0n)){de(`received payment-close-ready beyond local voucher state`);break}y(n.data),f?.(n.data),ee(n.data),ue.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:te(Error(n.message)),ne(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==l){de(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{ie(e)}catch(e){de(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(i?.cumulativeAmount??0n)>e?i?.cumulativeAmount??0n:e;i?.channelId===l&&(i.cumulativeAmount=t);let r=await _.createCredential({challenge:ae,context:{action:`voucher`,channelId:l,cumulativeAmountRaw:t.toString()}});le.send(cM(r));break}case`payment-receipt`:if(!fe(n.data)){de(`received mismatched payment-receipt frame`);break}if(p!==null&&n.data.txHash&&(n.data.acceptedCumulative!==p||n.data.spent!==p)){de(`received mismatched payment-close receipt frame`);break}y(n.data),f?.(n.data),C(n.data);break}}),v&&v.addEventListener(`abort`,()=>{te(Error(`WebSocket payment flow aborted.`)),ne(Error(`WebSocket payment flow aborted.`)),le.close()},{once:!0}),await pe,le.send(cM(oe)),await x(),ue.socket},async close(){let e=c??a,n=l??i?.channelId;if(!i?.opened)return;if(!e)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!n)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);if(u?.readyState===pM.OPEN){let t=d??await(async()=>(u.send(lM()),S()))(),r=BigInt(t.spent);if(r>(i.cumulativeAmount>s?i.cumulativeAmount:s))throw Error(`close-ready spent exceeds local voucher state`);let a=await _.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:r.toString()}}),o=r.toString();p=o;try{let t=x(t=>!!t.txHash&&t.challengeId===e.id&&t.channelId===n&&t.acceptedCumulative===o&&t.spent===o);u.send(cM(a));let r=await t;return u.close(),d=null,r}finally{p=null}}let r=await _.createCredential({challenge:e,context:{action:`close`,channelId:n,cumulativeAmountRaw:(()=>{let t=BigInt(re(e,n));if(t>i.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return ie(t),t.toString()})()}});if(!o)throw Error(`Cannot close session: no URL available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or call fetch()/sse() before close().`);let f=await t(o,{method:`POST`,headers:{Authorization:r}});if(!f.ok){let e=await f.text().catch(()=>``),t=(()=>{if(!e)return``;if(!f.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=f.headers.get(`WWW-Authenticate`)??``;throw Error(`Close request failed with status ${f.status}${t?`: ${t}`:``}${n?` [WWW-Authenticate: ${n}]`:``}`)}let m=f.headers.get(`Payment-Receipt`);return m?oM(m):void 0}}}async function hM(e,t){let n=t;return n?n(e):e}function gM(e={}){return[Lj(e),aM(e)]}(function(e){e.charge=Lj,e.session=mM,e.subscription=bj})(gM||={});function _M(e){let{onChallenge:t,orderChallenges:n,polyfill:r=!0,acceptPaymentPolicy:i=r&&globalThis.location!==void 0?`same-origin`:`always`,transport:a=qk()}=e,o=e.fetch??globalThis.fetch,s=e.methods.flat(),c=QO(s,e.paymentPreferences),l=nA(),u=t,d={acceptPayment:c,acceptPaymentPolicy:i,...e.fetch&&{fetch:e.fetch},eventDispatcher:l,...u&&{onChallenge:u},...n&&{orderChallenges:n},methods:s,transport:a},f=$k(d);r&&eA(d);function p(e){return l.on(`challenge.received`,e)}function m(e){return l.on(`credential.created`,e)}function h(e){return l.on(`payment.failed`,e)}function g(e){return l.on(`payment.response`,e)}return{fetch:f,rawFetch:o,methods:s,transport:a,on:l.on,onChallengeReceived:p,onCredentialCreated:m,onPaymentFailed:h,onPaymentResponse:g,async createCredential(e,t,r){let i=a.getChallenges?a.getChallenges(e):[a.getChallenge(e)],o=DM(c.entries,r?.acceptPayment),u,d;try{let a=(await OM(tk(i,s,o),r?.orderChallenges??n))[0];if(!a)throw Error(`No method found for challenges: ${i.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${s.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let c=a.challenge;u=c,d=a.method,u.expires&&DO(u.expires,u.id);let f=vM(e=>kM(c,d,e??t)),p=await l.emit(`challenge.received`,yM({challenge:c,challenges:i,createCredential:f,method:d,response:e}))??await f();return xA(p),await l.emit(`credential.created`,bM({challenge:c,credential:p,method:d,response:e})),p}catch(t){throw await l.emit(`payment.failed`,xM({challenge:u,challenges:i,error:t,method:d,response:e})),t}}}}function vM(e){let t;return n=>(t??=e(n),t)}function yM(e){return Object.freeze({challenge:wM(e.challenge),challenges:e.challenges.map(e=>wM(e)),createCredential:e.createCredential,method:SM(e.method),response:CM(e.response)})}function bM(e){return Object.freeze({challenge:wM(e.challenge),credential:e.credential,method:SM(e.method),response:CM(e.response)})}function xM(e){return Object.freeze({...e.challenge?{challenge:wM(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>wM(e))}:{},error:e.error,...e.method?{method:SM(e.method)}:{},response:CM(e.response)})}function SM(e){return EM(Object.assign({},e))}function CM(e){return e instanceof Response?e.clone():wM(e)}function wM(e){try{return TM(structuredClone(e))}catch{return EM(e)}}function TM(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))TM(t);return e}function EM(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function DM(e,t){return t?typeof t==`string`?$O(t):t:e}async function OM(e,t){return t?t(e):e}async function kM(e,t,n){let r=t.context&&n!==void 0?t.context.parse(n):void 0;return t.createCredential(r===void 0?{challenge:e}:{challenge:e,context:r})}R(),D();let AM={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},jM=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);async function MM(e={}){let{account:t}=e,n=await Px();return{accessKey:AC(n,t?{access:t}:void 0),keyPair:n}}async function NM(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a,store:o}=e,s=e.now??Date.now()/1e3,c=GM({account:n,accessKey:t,chainId:i,store:o}).find(e=>BM(e,{calls:r}));if(c){if(UM(c.expiry,s))return AM.expired;if(c.keyAuthorization){let e=await WM(a,{accessKey:c.address,account:n,now:s}).catch(()=>AM.pending);return e===AM.published&&LM({accessKey:c.address,account:n,chainId:i,store:o}),e===AM.published?AM.published:AM.pending}return await WM(a,{accessKey:c.address,account:n,now:s})}return t?await WM(a,{accessKey:t,account:n,now:s}):AM.missing}async function PM(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=GM({account:t,chainId:r,store:i});for(let e of o){if(!BM(e,{calls:n}))continue;if(UM(e.expiry,a)){RM({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=HM(e,i);if(t)return t}}function FM(e){return Uw({source:{get(t){return GM({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){LM({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){KM({account:t.address,accessKey:t.accessKey,chainId:t.chainId,patch:{keyAuthorization:n},store:e})}}})}function IM(e){let{account:t,authorization:n,keyPair:r,privateKey:i,store:a}=e,o={address:n.address,access:t,chainId:Number(n.chainId),expiry:n.expiry??void 0,keyAuthorization:n,keyType:n.type,limits:n.limits,scopes:n.scopes},s=i?{...o,privateKey:i}:r?{...o,keyPair:r}:o;return a.setState(e=>({accessKeys:[s,...e.accessKeys.filter(e=>!qM(e,{account:s.access,accessKey:s.address,chainId:s.chainId}))]})),s}function LM(e){let{store:t,...n}=e;KM({...n,patch:{keyAuthorization:void 0},store:t})}function RM(e){let{store:t,...n}=e;t.setState(e=>({accessKeys:e.accessKeys.filter(e=>!qM(e,n))}))}function zM(e){return e instanceof E&&e.walk(e=>{let t=e.data?.errorName;return!!t&&jM.has(t)})?!0:e instanceof Error?jM.has(qw(e).errorName):!1}function BM(e,t){let n=e.scopes;return n===void 0?!0:!Array.isArray(n)||!t.calls?!1:t.calls.every(e=>{if(!e.to)return!1;let t=e.to.toLowerCase(),r=e.data?.slice(0,10).toLowerCase();return n.some(n=>{if(!VM(n)||n.address.toLowerCase()!==t)return!1;let i=n.selector;if(!i)return n.recipients?n.recipients.length===0:!0;let a=(()=>{try{return(i.startsWith(`0x`)&&i.length===10?i:xy(i)).toLowerCase()}catch{return}})();if(!a||r!==a)return!1;if(!n.recipients||n.recipients.length===0)return!0;if(!e.data||e.data.length<74)return!1;let o=`0x${e.data.slice(34,74)}`;return __(o)?n.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function VM(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!__(t.address)||t.selector!==void 0&&typeof t.selector!=`string`||t.recipients!==void 0&&(!Array.isArray(t.recipients)||t.recipients.some(e=>typeof e!=`string`)||t.recipients.some(e=>!__(e))))}function HM(e,t){let n=FM(t);if(`keyPair`in e&&e.keyPair)return AC(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return OC(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return DC(e.privateKey,{access:e.access,keyAuthorizationManager:n})}}function UM(e,t){return typeof e==`number`&&e<t}async function WM(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await KC(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?AM.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?AM.expired:AM.published}catch(e){if(zM(e))return AM.missing;throw e}}function GM(e){let{store:t,...n}=e;return t.getState().accessKeys.filter(e=>qM(e,n))}function KM(e){let{patch:t,store:n,...r}=e;n.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!qM(e,r))return e;let n={...e};for(let[e,r]of Object.entries(t))r===void 0?delete n[e]:n[e]=r;return n})}))}function qM(e,t){let{accessKey:n,account:r,chainId:i}=t;return!(e.access.toLowerCase()!==r.toLowerCase()||e.chainId!==i||n&&e.address.toLowerCase()!==n.toLowerCase())}function JM(e){let{address:t,signable:n=!1,store:r}=e,{accounts:i,activeAccount:a}=r.getState(),o=i[a]?.address,s=t?i.find(e=>e.address.toLowerCase()===t.toLowerCase()):i.find(e=>o&&e.address.toLowerCase()===o.toLowerCase());if(!s)throw t?new Xb({message:`Account \"${t}\" not found.`}):new Qb({message:`No active account.`});return YM(s,{signable:n})}function YM(e,t={}){let{signable:n=!1}=t;if(!n)return{address:e.address,type:`json-rpc`,...e.keyType?{keyType:e.keyType}:{}};if(`sign`in e&&typeof e.sign==`function`)return e;if(!e.keyType)throw new Xb({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return OC(e.privateKey);case`p256`:return DC(e.privateKey);case`webCrypto`:return AC(e.keyPair);case`webAuthn`:return kC(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return EC(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new Xb({message:`Unknown key type.`})}}let XM=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function ZM(e){let{address:t,calls:n,chainId:r,client:i,store:a}=e,o=await PM({account:t,calls:n,chainId:r,store:a});if(o)return QM({account:o,address:t,chainId:r,client:i,store:a})}function QM(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{return await eN(i,await Gd(i,{account:t,...e,parameters:[],type:`tempo`}))}catch(e){throw tN(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{return $M({account:t,address:n,chainId:r,client:i,request:await Gd(i,{account:t,...e,type:`tempo`}),store:a})}catch(e){throw tN(e,{account:t,address:n,chainId:r,store:a}),e}}}}function $M(e){let{account:t,address:n,chainId:r,client:i,request:a,store:o}=e;async function s(){try{return await t.signTransaction(a)}catch(e){throw tN(e,{account:t,address:n,chainId:r,store:o}),e}}return{request:a,sign:s,async send(){try{let e=await s();return await i.request({method:`eth_sendRawTransaction`,params:[e]})}catch(e){throw tN(e,{account:t,address:n,chainId:r,store:o}),e}},async sendSync(){try{let e=await s();return await i.request({method:`eth_sendRawTransactionSync`,params:[e]})}catch(e){throw tN(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function eN(e,t){let n=e.chain?.formatters?.transactionRequest,r=n?n.format({...t},`fillTransaction`):t;return await e.request({method:`eth_fillTransaction`,params:[r]})}function tN(e,t){nN(e)&&RM({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId,store:t.store})}function nN(e){if(!(e instanceof Error))return!1;let t=qw(e);if(XM.has(t.errorName))return!0;let n=rN(e);return[...XM].some(e=>n.includes(e))}function rN(e){if(!(e instanceof Error))return``;let t=e.details,n=e.shortMessage,r=e.cause;return[e.message,typeof t==`string`?t:``,typeof n==`string`?n:``,rN(r)].join(`\n`)}function iN(e={}){let{dialog:t=ee()?se():oe(),host:n=`https://wallet.tempo.xyz/embed`,icon:r=`data:image/svg+xml,<svg width=\"269\" height=\"269\" viewBox=\"0 0 269 269\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"269\" height=\"269\" fill=\"black\"/><path d=\"M123.273 190.794H93.445L121.09 105.318H85.7334L93.445 80.2642H191.95L184.238 105.318H150.773L123.273 190.794Z\" fill=\"white\"/></svg>`,name:i=`Tempo Wallet`,rdns:a=`xyz.tempo`,theme:o}=e;return typeof window<`u`&&!window.isSecureContext&&console.warn(`[accounts] Detected insecure context (HTTP).`,`\\n\\nThe Tempo Wallet iframe dialog is not supported on HTTP origins (${window.location.origin})`,`due to lack of WebAuthn passkey support in non-secure contexts.`),d({icon:r,name:i,rdns:a},({getAccount:e,getClient:r,store:i})=>{let a=new Set,s=fx();function c(e){return new Promise((t,n)=>{let r=o=>{let s=o.find(t=>t.request.id===e);if(!s&&o.length===0){a.delete(r),n(new Yb);return}s&&(s.status!==`success`&&s.status!==`error`||(a.delete(r),s.status===`success`?t(s.result):n(ux(s.error)),i.setState(t=>({...t,requestQueue:t.requestQueue.filter(t=>t.request.id!==e)}))))};a.add(r),r(i.getState().requestQueue)})}let l=lx({async request(e){let t=s.prepare(e);return i.setState(e=>({...e,requestQueue:[...e.requestQueue,{request:t,status:`pending`}]})),c(t.id)}},{schema:bO});async function u(e){if(!e||e.publicKey||e.address)return;if(e.keyType&&e.keyType!==`p256`)throw new Gb({message:`\\`keyType: \"${e.keyType}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let t=await MM(),{accessKey:n}=t;return{accessKey:n,generated:t,request:{...e,publicKey:n.publicKey,keyType:`p256`}}}function d(e,t,n){IM({account:e,authorization:kS(t),keyPair:n.keyPair,store:i})}let f=t({host:n,store:i,theme:o}),p=i.subscribe(e=>e.requestQueue,e=>{for(let t of a)t(e);let t=e.filter(e=>e.status===`pending`);f?.syncRequests(t),t.length===0&&f?.close()});return{cleanup(){p(),f?.destroy()},forwardsAuth:!0,actions:{async createAccount(e,t){let n=await u(e.authorizeAccessKey),{accounts:r}=await l.request({...t,params:[{...t.params?.[0],capabilities:{...t.params?.[0]?.capabilities,...n?{authorizeAccessKey:NT(cO.authorizeAccessKey,n.request)}:{}}}]}),i=r[0]?.address,a=r[0]?.capabilities,o=a?.keyAuthorization;return n&&i&&o&&d(i,o,n.generated),{accounts:r.map(e=>({address:e.address})),...a?.auth?{auth:a.auth}:{},...o?{keyAuthorization:o}:{},...a?.signature?{signature:a.signature}:{},...a?.personalSign?{personalSign:a.personalSign}:{}}},async loadAccounts(e,t){let n=await u(e?.authorizeAccessKey),{accounts:r}=await l.request({...t,params:[{...t.params?.[0],capabilities:{...t.params?.[0]?.capabilities,...n?{authorizeAccessKey:NT(cO.authorizeAccessKey,n.request)}:{}}}]}),i=r[0]?.address,a=r[0]?.capabilities,o=a?.keyAuthorization;return n&&i&&o&&d(i,o,n.generated),{accounts:r.map(e=>({address:e.address})),...a?.auth?{auth:a.auth}:{},...o?{keyAuthorization:o}:{},...a?.signature?{signature:a.signature}:{},...a?.personalSign?{personalSign:a.personalSign}:{}}},async signPersonalMessage(e,t){return await l.request(t)},async signTransaction(e,t){let{feePayer:n,...a}=e,o=r({chainId:e.chainId,feePayer:(()=>{if(n===!1)return!1;if(typeof n==`string`)return n})()}),s=e.from&&e.chainId!==void 0?await ZM({address:e.from,calls:e.calls,chainId:e.chainId,client:o,store:i}):void 0;if(s)try{return await(await s.prepare({...a,...n===void 0?{}:{feePayer:!!n}})).sign()}catch(e){console.warn(`[accounts] access key sign failed, falling through to dialog:`,e)}return await l.request({...t,params:[NT(GD,e)]})},async signTypedData(e,t){return await l.request(t)},async sendTransaction(e,t){let{feePayer:n,...a}=e,o=r({chainId:e.chainId,feePayer:(()=>{if(n===!1)return!1;if(typeof n==`string`)return n})()}),s=e.from&&e.chainId!==void 0?await ZM({address:e.from,calls:e.calls,chainId:e.chainId,client:o,store:i}):void 0;if(s)try{return await(await s.prepare({...a,...n===void 0?{}:{feePayer:!!n}})).send()}catch(e){console.warn(`[accounts] access key sign failed, falling through to dialog:`,e)}return await l.request({...t,params:[NT(GD,e)]})},async sendTransactionSync(e,t){let{feePayer:n,...a}=e,o=r({chainId:e.chainId,feePayer:(()=>{if(n===!1)return!1;if(typeof n==`string`)return n})()}),s=e.from&&e.chainId!==void 0?await ZM({address:e.from,calls:e.calls,chainId:e.chainId,client:o,store:i}):void 0;if(s)try{return await(await s.prepare({...a,...n===void 0?{}:{feePayer:!!n}})).sendSync()}catch(e){console.warn(`[accounts] access key sign failed, falling through to dialog:`,e)}return await l.request({...t,params:[NT(GD,e)]})},async authorizeAccessKey(t,n){let r=await u(t),i=await l.request({...n,params:[NT(aO.parameters,r?r.request:t)]});return r&&d(e({signable:!1}).address,i.keyAuthorization,r.generated),i},async revokeAccessKey(e,t){await l.request(t),RM({accessKey:e.accessKeyAddress,account:e.address,chainId:i.getState().chainId,store:i})},async deposit(e,t){return await l.request(t)},async transfer(e,t){return await l.request({...t,params:[NT(fO.parameters,e)]})},async swap(e,t){return await l.request(t)},async depositZone(e,t){return await l.request({...t,params:[NT(_O.parameters,e)]})},async withdrawZone(e,t){return await l.request({...t,params:[NT(vO.parameters,e)]})},async disconnect(){i.setState({accessKeys:[],accounts:[],activeAccount:0})}}}})}let aN=new Map,oN=new WeakMap;function sN(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return lN(r);if(r?.url)return lN(r.url)}})(),c=typeof r==`object`&&r?r.precedence??`fee-payer-first`:`fee-payer-first`,l=e??a.getState().chainId,u=`${l}:${i?`p`:``}:${r===!1?`no-fp`:s??``}:${c}`,d=i??o,f=(()=>{if(!d)return aN;let e=oN.get(d);return e||(e=new Map,oN.set(d,e)),e})(),p=f.get(u);if(!p){let e=n.find(e=>e.id===l)??n[0],t=o?.[l]??Wy(),r=i?cN(i,t):t;p=dh({chain:e,transport:s?uN(r,s,c):r,pollingInterval:1e3}),f.set(u,p)}return p}function cN(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function lN(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function uN(e,t,n){return r=>{let i=e(r),a=Wy(t)(r);return{...i,async request({method:e,params:t}){let r=t;if(n===`fee-payer-first`&&e===`eth_fillTransaction`){let t=r?.[0];if(t&&typeof t==`object`&&`feePayer`in t&&(t.feePayer===!0||typeof t.feePayer==`string`))return a.request({method:e,params:[{...t,feePayer:!0}]})}if(e===`eth_sendRawTransaction`||e===`eth_sendRawTransactionSync`){let t=r?.[0];if(typeof t==`string`&&(t.startsWith(`0x76`)||t.startsWith(`0x78`))){let n=xC(t);if(`feePayerSignature`in n&&n.feePayerSignature===null){let n=await a.request({method:`eth_signRawTransaction`,params:[t]});return await i.request({method:e,params:[n]})}}}return await i.request({method:e,params:t})}}}}function dN(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(dN.cache.get(n))return dN.cache.get(n);let r=e().finally(()=>dN.cache.delete(n));return dN.cache.set(n,r),r}dN.cache=new Map;function fN(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function pN(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=fN(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let mN;function hN(){return mN||=pN(`keyval-store`,`keyval`),mN}function gN(e,t=hN()){return t(`readonly`,t=>fN(t.get(e)))}function _N(e,t,n=hN()){return n(`readwrite`,n=>(n.put(t,e),fN(n.transaction)))}function vN(e,t=hN()){return t(`readwrite`,t=>(t.delete(e),fN(t.transaction)))}function yN(e,t={}){let n=`${t.key??`tempo`}.`;return{getItem:t=>e.getItem(`${n}${t}`),setItem:(t,r)=>e.setItem(`${n}${t}`,r),removeItem:t=>e.removeItem(`${n}${t}`)}}function bN(e={}){let t=typeof indexedDB<`u`?pN(`tempo`,`store`):void 0;return yN({async getItem(e){let n=await gN(e,t);return n===null?null:n},async setItem(e,n){await _N(e,n,t)},async removeItem(e){await vN(e,t)}},e)}function xN(e={}){let t=new Map;return yN({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e)}let SN=e=>(t,n,r)=>{let i=r.subscribe;return r.subscribe=((e,t,n)=>{let a=e;if(t){let i=n?.equalityFn||Object.is,o=e(r.getState());a=n=>{let r=e(n);if(!i(o,r)){let e=o;t(o=r,e)}},n?.fireImmediately&&t(o,o)}return i(a)}),e(t,n,r)};function CN(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}let wN=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return wN(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return wN(t)(e)}}}},TN=(e,t)=>(n,r,i)=>{let a={storage:CN(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return wN(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},EN=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},DN=(e=>e?EN(e):EN);function ON(e){let{chainId:t,maxAccounts:n,persistCredentials:r=!0,schema:i,storage:a=typeof window<`u`?bN({key:`tempo`}):xN({key:`tempo`})}=e;return DN(SN(TN(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t,requestQueue:[]}),{merge:(e,t)=>AN(e,t,{schema:i}),name:`store`,partialize:e=>kN(e,{maxAccounts:n,persistCredentials:r}),storage:a,version:0})))}function kN(e,t={}){let{maxAccounts:n,persistCredentials:r=!0}=t;return{accounts:n&&e.accounts.length>n?e.accounts.slice(0,n):e.accounts,activeAccount:e.activeAccount,...r?{accessKeys:e.accessKeys}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function AN(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(MN):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>jT(n.schema,e).success):i;return{...r,...t,accounts:a,activeAccount:a.length===0?0:Math.min(r.activeAccount??t.activeAccount,a.length-1),accessKeys:jN(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function jN(e){if(e)return e.filter(e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.access==`string`&&typeof t.address==`string`&&typeof t.chainId==`number`&&(t.keyType===`secp256k1`||t.keyType===`p256`||t.keyType===`webAuthn`||t.keyType===`webCrypto`)})}function MN(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}async function NN(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let PN=new Map;async function FN(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=PN.get(r);if(i)return i;let a=(async()=>{try{let e=await globalThis.fetch(`${n}/list/${t}`);return e.ok?(await e.json()).tokens.map(({logoURI:e,...t})=>({...t,logoUri:t.logoUri??e})):[]}catch{return[]}})();return PN.set(r,a),a.then(e=>{e.length===0&&PN.delete(r)}),a}async function IN(e){let{symbol:t,...n}=e,r=await FN(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function LN(e,t){let n=jT(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new Zb({message:`Unsupported method \"${t?.method}\".`}):new Jb(-32602,`Invalid params: ${RN(n.error.issues)}`)}return{...t,_decoded:n.data}}function RN(e){return e.flatMap(e=>e.code===`invalid_union`&&e.errors.length>0?e.errors.flatMap(t=>t.map(t=>`${[...e.path,...t.path].join(`.`)}: ${t.code===`invalid_union`&&t.errors.length>0?RN([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}R(),kf();let zN=new Set;function BN(e={}){let{adapter:t=iN(),chains:n=[zw,Bw,Vw],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?bN():xN()}=e,c=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Wy(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),l=(()=>{if(e.feePayer)return typeof e.feePayer==`string`?{precedence:`fee-payer-first`,url:e.feePayer}:{precedence:e.feePayer.precedence??`fee-payer-first`,url:e.feePayer.url}})(),u=ON({chainId:(o?n.find(e=>e.testnet)??n[n.length-1]:n[0]).id,maxAccounts:r,persistCredentials:i,schema:t.schema,storage:s}),d=(e={})=>JM({...e,store:u}),f;function p(e={}){let{chainId:t,feePayer:r}=e;return sN(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:l?.precedence}})(),store:u,transports:c})}let m=t({getAccount:d,getClient:p,storage:s,store:u}),{actions:h}=m,g=cx();u.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>g.emit(`accountsChanged`,u.getState().accounts.map(e=>e.address))),u.subscribe(e=>e.chainId,e=>g.emit(`chainChanged`,I(e))),u.subscribe(e=>e.accounts.length>0,e=>{e?g.emit(`connect`,{chainId:I(u.getState().chainId)}):g.emit(`disconnect`,new Qb)});function _(){if(u.getState().accounts.length===0)throw new Qb({message:`No accounts connected.`})}function v(){let{accounts:e,activeAccount:t}=u.getState();if(e.length===0)return[];let n=e[t]?.address,r=e.findIndex(e=>e.address===n),i=[...e];if(r>=0){let[e]=i.splice(r,1);return[e.address,...i.map(e=>e.address)]}return i.map(e=>e.address)}function y(e){if(!m.persistAccounts)return e;let t=[...e];for(let e of u.getState().accounts)t.some(t=>t.address.toLowerCase()===e.address.toLowerCase())||t.push(e);return t}function b(e){if(e===!1)return!1;let t=typeof e==`string`?e:l?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}let x=Object.assign(lx({...g,async request({method:t,params:r}){return await NN(u),dN(async()=>{let i;try{i=LN(SO,{method:t,params:r})}catch(e){if(!(e instanceof Zb))throw e;return await sN(void 0,{chains:n,store:u,transports:c}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return v();case`eth_chainId`:return I(u.getState().chainId);case`eth_requestAccounts`:{let e=v();if(e.length>0)return e;let{accounts:t}=await h.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return u.setState({accounts:y(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{_();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=u.getState();return await h.sendTransaction({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:b(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=t.chainId,r=b(t.feePayer),a=p({chainId:n,feePayer:r}),o=e=>{let t={...e,chainId:e.chainId??a.chain?.id,...r?{feePayer:!0}:{}},n=a.chain?.formatters?.transactionRequest,i=n?n.format({...t},`fillTransaction`):t;return a.request({method:`eth_fillTransaction`,params:[i]})};if(!t.keyAuthorization){let e=u.getState(),n=t.from??e.accounts[e.activeAccount]?.address;if(n){let i=await ZM({address:n,calls:t.calls??(t.to?[{data:t.data,to:t.to}]:void 0),chainId:t.chainId??e.chainId,client:a,store:u});if(i)try{return await i.fill({...t,chainId:t.chainId??e.chainId,from:t.from??n,...r?{feePayer:!0}:{}})}catch{return await o(t)}}}return await o(t)}case`eth_signTransaction`:{_();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=u.getState();return await h.signTransaction({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:b(e.feePayer)},i)}case`eth_sendTransactionSync`:{_();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=u.getState();return await h.sendTransactionSync({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:b(e.feePayer)},i)}case`eth_signTypedData_v4`:{_();let[e,t]=i._decoded.params;return await h.signTypedData({address:e,data:t},i)}case`personal_sign`:{_();let[e,t]=i._decoded.params;return await h.signPersonalMessage({address:t,data:e},i)}case`wallet_sendCalls`:try{_();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=b(t?.feePayer??(l?!0:void 0)),s=u.getState(),c={calls:e,chainId:n,from:r??s.accounts[s.activeAccount]?.address,...o?{feePayer:o}:{}};if(!a){let e=P(await h.sendTransaction(c,{method:`eth_sendTransaction`,params:[NT(GD,c)]}),op(I(u.getState().chainId),32),HN);return{capabilities:{sync:a},id:e}}let d=await h.sendTransactionSync(c,{method:`eth_sendTransactionSync`,params:[NT(GD,c)]}),f=d.transactionHash,p=I(u.getState().chainId),m=P(f,op(p,32),HN);return{atomic:!0,capabilities:{sync:a},chainId:p,id:m,receipts:[d],status:d.status===`0x1`?200:500,version:`2.0.0`}}catch(e){throw UN(e)}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=u.getState(),a=e?.account??t[r]?.address;if(!a)throw new Qb({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new Gb({message:\"`tokens` is required.\"});let s=sN(e?.chainId,{chains:n,store:u,transports:c});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([gw(s,{account:a,token:e}),_w(s,{token:e})]),r=Number(t)/10**n.decimals,i=new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(r);return{address:e,balance:I(t),decimals:n.decimals,display:i,name:n.name,symbol:n.symbol}}))}case`wallet_getCallsStatus`:{let[e]=i._decoded.params??[];if(!e)throw Error(\"`id` not found\");if(!e.endsWith(HN.slice(2)))throw Error(\"`id` not supported\");np(e);let t=L(e,0,32),r=I(Number(L(e,32,64))),a=await sN(Number(r),{chains:n,store:u,transports:c}).request({method:`eth_getTransactionReceipt`,params:[t]});return{atomic:!0,chainId:r,id:e,receipts:a?[a]:[],status:a?a.status===`0x1`?200:500:100,version:`2.0.0`}}case`wallet_getCapabilities`:{let e=i._decoded.params,t=e?.[0],r=e?.[1];if(t){let{accounts:e}=u.getState();if(!e.some(e=>e.address.toLowerCase()===t.toLowerCase()))throw new Xb({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(I(e.id))):n,o={};for(let e of a)o[I(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...l?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&u.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??e.authorizeAccessKey?.(),a=n?.auth??e.auth,o=a?qN(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new Gb({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new Gb({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});o&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,auth:o}}]});let s=o&&!m.forwardsAuth?await XN(o,t??u.getState().chainId??0):void 0,c=s?{message:s.message}:n?.personalSign,{accounts:l,auth:d,email:f,keyAuthorization:p,personalSign:g,signature:_,username:v}=await(async()=>{if(n?.method===`register`){let e=n.name?u.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await h.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:r,...c?{personalSign:c}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await h.createAccount({digest:n.digest,authorizeAccessKey:r,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??cp(16),...c?{personalSign:c}:{}},i)}return await h.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:r,selectAccount:n?.selectAccount,...c?{personalSign:c}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();u.setState({accounts:y(l),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let b=l[0]?.address,x=o&&typeof o==`object`?o.verify:void 0,S=s?.message??g?.message,C=o&&x&&S&&_&&b?await ZN(o,{address:b,message:S,signature:_}):void 0;return{accounts:l.map(e=>({address:e.address,capabilities:e.address===b?{...p?{keyAuthorization:{...p,address:p.keyId}}:{},..._&&(!o||C||!x)?{signature:_}:{},...f===void 0?{}:{email:f},...v===void 0?{}:{username:v},...C??d?{auth:C??d}:{},...g?{personalSign:{message:g.message}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=u.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=qN(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await h.disconnect?.(),u.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0});return}case`wallet_authorizeAccessKey`:{if(!h.authorizeAccessKey)throw new Zb({message:\"`authorizeAccessKey` not supported by adapter.\"});let e=i._decoded.params[0],t=await h.authorizeAccessKey(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{if(_(),!h.revokeAccessKey)throw new Zb({message:\"`revokeAccessKey` not supported by adapter.\"});let[e]=i._decoded.params;await h.revokeAccessKey({...e},i);return}case`wallet_deposit`:if(!h.deposit)throw new Zb({message:\"`deposit` not supported by adapter.\"});return await h.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{_();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!h.transfer)throw new Zb({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:b(e.feePayer)}};return await h.transfer(t,i)}let{amount:t,feePayer:n,from:r,memo:a,to:o,token:s}=e,c=u.getState(),l=e.chainId??c.chainId,d=b(n),f=p({chainId:l,feePayer:typeof d==`string`?d:void 0}),{address:m,decimals:g}=await(async()=>{if(__(s))return{address:s,decimals:(await _w(f,{token:s})).decimals};let e=await IN({chainId:f.chain.id,symbol:s});if(!e)throw new Jb(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),v=uy(t,g),y=c.accounts[c.activeAccount]?.address,x=r&&y&&r.toLowerCase()!==y.toLowerCase()?r:void 0,S={calls:[Ow.call({amount:v,...x?{from:x}:{},memo:a?ap(a):void 0,to:o,token:m})],chainId:l,from:y,...d===void 0?{}:{feePayer:d}},C=await h.sendTransactionSync(S,{method:`eth_sendTransactionSync`,params:[NT(GD,S)]});return{chainId:I(l),receipt:C}}case`wallet_swap`:if(_(),!h.swap)throw new Zb({message:\"`swap` not supported by adapter.\"});return await h.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(_(),!h.depositZone)throw new Zb({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:b(e.feePayer)}};return await h.depositZone(t,i)}case`wallet_withdrawZone`:if(_(),!h.withdrawZone)throw new Zb({message:\"`withdrawZone` not supported by adapter.\"});return await h.withdrawZone(i._decoded.params?.[0]??{},i);case`wallet_switchEthereumChain`:{let{chainId:e}=i._decoded.params[0];if(!n.some(t=>t.id===e))throw new nx({message:`Chain ${e} not configured.`});await h.switchChain?.({chainId:e}),u.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:Df({method:t,params:r})})}},{schema:bO}),{chains:n,getAccount:(e=>{let t=d(e);return e?.signable?t:{address:t.address,type:`json-rpc`}}),async getAccessKeyStatus(e={}){let t=u.getState(),n=e.address??t.accounts[t.activeAccount]?.address;if(!n)return`missing`;let r=e.chainId??t.chainId,{accessKey:i,calls:a}=e;return await NM({account:n,...i?{accessKey:i}:{},...a?{calls:a}:{},chainId:r,client:x.getClient({chainId:r}),store:u})},getClient(e={}){let{chainId:t,feePayer:r}=e;return sN(t,{chains:n,feePayer:r,provider:f,store:u,transports:c})},store:u});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;zN.has(e)||(zN.add(e),CO({info:{icon:t.icon??VN,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:x}))}let S=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(S){let{mode:e=`push`,polyfill:t,...n}=S,r=t??WN(),i=({chainId:e})=>{let t=x.getClient({chainId:e}),n=u.getState().accounts[u.getState().activeAccount];if(!n)throw new Qb({message:`No active account.`});return Object.assign(t,{account:{address:n.address,type:`json-rpc`}})};_M({methods:[gM({...n,getClient:i,mode:e}),gM.subscription({getClient:i})],polyfill:r})}return f=x,x}let VN=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,HN=Xg(ap(`TEMPO_5792`));function UN(e){if(e instanceof Error)return typeof e.details==`string`||Object.assign(e,{details:e.message}),e;let t=Error(String(e));return Object.assign(t,{details:t.message}),t}function WN(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function GN(){return typeof document<`u`&&typeof document.cookie==`string`}function KN(e,t){let n=(()=>{if(typeof e==`string`){let n=e.endsWith(`/`)?e.slice(0,-1):e;return t===`verify`?n:`${n}/${t}`}let n=e[t];if(n)return n;if(e.url){let n=e.url.endsWith(`/`)?e.url.slice(0,-1):e.url;return t===`verify`?n:`${n}/${t}`}throw new Gb({message:`\\`auth\\` capability must include either \\`url\\` or an explicit \\`${t}\\` endpoint.`})})();return n.startsWith(`http://`)||n.startsWith(`https://`)?n:typeof window<`u`?new URL(n,window.location.origin).href:n}function qN(e){let t=typeof e==`string`||!!e.url,n=t||typeof e==`object`&&!!e.challenge,r=t||typeof e==`object`&&!!e.verify,i=t||typeof e==`object`&&!!e.logout,a={...n?{challenge:KN(e,`challenge`)}:{},...r?{verify:KN(e,`verify`)}:{},...i?{logout:KN(e,`logout`)}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return JN(a),a}function JN(e){if(typeof e!=`object`)return;let t=[e.challenge,e.verify,e.logout].filter(e=>typeof e==`string`).map(e=>{try{return new URL(e).origin}catch{throw new Gb({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new Gb({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let YN=' Hint: if the server is behind a reverse proxy or tunnel, set `Handler.auth({ trustProxy: true })` to honor `x-forwarded-*` headers, or pin the public origin with `Handler.auth({ origin: \"https://app.example.com\" })`.';async function XN(e,t){let n=typeof e==`object`?e.challenge:KN(e,`challenge`),r=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t})});if(!r.ok)throw new Gb({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${r.status}.`});let i=await r.json().catch(()=>({}));if(!i.message)throw new Gb({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});let a=My(i.message),o=new URL(n);if(a.version!==`1`)throw new Gb({message:`Server Authentication challenge endpoint \\`${n}\\` returned a non-SIWE-v1 message.`});if(!a.nonce)throw new Gb({message:`Server Authentication challenge endpoint \\`${n}\\` response is missing a \\`nonce\\`.`});if(a.domain!==o.host)throw new Gb({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to \\`${a.domain}\\` (expected \\`${o.host}\\`).${YN}`});if(a.uri!==o.origin)throw new Gb({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message with \\`uri\\` \\`${a.uri}\\` (expected \\`${o.origin}\\`).${YN}`});if(a.chainId!==t)throw new Gb({message:`Server Authentication challenge endpoint \\`${n}\\` returned a message bound to chainId \\`${a.chainId}\\` (expected \\`${t}\\`).`});return{message:i.message}}async function ZN(e,t){let n=typeof e==`object`?e.verify:KN(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!GN(),i=await fetch(n,{method:`POST`,credentials:`include`,headers:{\"content-type\":`application/json`},body:JSON.stringify({...t,...r?{returnToken:!0}:{}})});if(!i.ok)throw new Kb({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return a.token?{token:a.token}:{}}let QN={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},$N={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},eP={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var tP=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let nP={accent:new tP(`accent`),background:new tP(`background`),border:new tP(`border`),foreground:new tP(`foreground`),muted:new tP(`muted`),negative:new tP(`negative`),positive:new tP(`positive`),surface:new tP(`surface`),fontFamily:new tP(`font-family`),fontSizeBase:new tP(`font-size-base`),radius:new tP(`radius`),spacingUnit:new tP(`spacing-unit`)};String.raw`<style>\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n border-color: ${nP.border};\n }\n html,\n :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n -webkit-tap-highlight-color: transparent;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp,\n pre {\n font-family:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',\n monospace;\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n ol,\n ul,\n menu {\n list-style: none;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n vertical-align: middle;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n button,\n input,\n select,\n optgroup,\n textarea,\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button,\n input:where([type='button'], [type='reset'], [type='submit']),\n ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden='until-found'])) {\n display: none !important;\n }\n</style>`;async function rP(e){let t=new URL(location.href);t.searchParams.set($N.serviceWorker,``);let n=await navigator.serviceWorker.register(t.pathname+t.search),r=await new Promise(e=>{let t=n.installing??n.waiting??n.active;if(t?.state===`activated`)return e(t);let r=t??n;r.addEventListener(`statechange`,function t(){let i=n.active;i?.state===`activated`&&(r.removeEventListener(`statechange`,t),e(i))})});await new Promise(t=>{let n=new MessageChannel;n.port1.onmessage=()=>t(),r.postMessage({credential:e},[n.port2])}),location.reload()}kf();function iP(e){let t=document.getElementById(QN.data),n=Ef(t.textContent),r=t.getAttribute(eP.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(eP.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(eP.challengeId),o=a?(i.removeAttribute(eP.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(QN.error)?.remove();return}let t=document.getElementById(QN.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=QN.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:rP,vars:nP}}let aP=iP(`tempo`),oP=String.raw,sP=document.createElement(`style`);sP.textContent=oP`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${aP.vars.spacingUnit} * 8);\n }\n button {\n background: ${aP.vars.accent};\n border-radius: ${aP.vars.radius};\n color: ${aP.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${aP.vars.spacingUnit} * 4) calc(${aP.vars.spacingUnit} * 8);\n width: 100%;\n }\n button:hover:not(:disabled) {\n opacity: 0.85;\n }\n button:disabled {\n cursor: default;\n opacity: 0.5;\n }\n button svg {\n display: inline;\n fill: currentColor;\n height: 0.85em;\n transform: translateY(0.05em);\n vertical-align: baseline;\n width: auto;\n }\n`,aP.root.append(sP);let cP=BN({testnet:aP.challenge.request.methodDetails?.chainId===Bw.id||aP.challenge.request.methodDetails?.chainId===Hw.id}),lP=document.createElement(`button`);lP.innerHTML=`${aP.text.pay===`Pay`?`Continue with`:aP.text.pay} <svg aria-label=\"Tempo\" viewBox=\"0 0 107 25\" role=\"img\"><path d=\"M8.10464 23.7163H1.82475L7.64513 5.79356H0.201172L1.82475 0.540352H22.5637L20.9401 5.79356H13.8944L8.10464 23.7163Z\"></path><path d=\"M31.474 23.7163H16.5861L24.0607 0.540352H38.8873L37.4782 4.95923H28.8701L27.3078 9.93433H35.6402L34.231 14.2914H25.8681L24.3057 19.2974H32.8525L31.474 23.7163Z\"></path><path d=\"M38.2124 23.7163H33.2192L40.7244 0.540352H49.0567L48.781 13.0245L56.8989 0.540352H66.0277L58.5531 23.7163H52.3039L57.3584 7.86395L46.9736 23.7163H43.267L43.4201 7.80214L38.2124 23.7163Z\"></path><path d=\"M73.057 4.83563L70.6369 12.3137H71.3108C72.8425 12.3137 74.1189 11.9532 75.14 11.2322C76.1612 10.4906 76.8249 9.43991 77.1312 8.08025C77.3967 6.90601 77.2538 6.07167 76.7023 5.57725C76.1509 5.08284 75.2319 4.83563 73.9453 4.83563H73.057ZM66.9915 23.7163H60.7116L68.1862 0.540352H75.814C77.5703 0.540352 79.0816 0.828764 80.3478 1.40559C81.6344 1.96181 82.5738 2.76524 83.166 3.81588C83.7787 4.84592 83.9829 6.05107 83.7787 7.43133C83.5132 9.2442 82.8189 10.8408 81.6956 12.221C80.5724 13.6013 79.1122 14.6725 77.315 15.4347C75.5383 16.1764 73.5471 16.5472 71.3415 16.5472H69.289L66.9915 23.7163Z\"></path><path d=\"M98.747 22.233C96.664 23.4691 94.4481 24.0871 92.0996 24.0871H92.0383C89.9552 24.0871 88.1989 23.6236 86.7693 22.6965C85.3602 21.7489 84.3493 20.4717 83.7366 18.8648C83.1443 17.2579 83.0014 15.4966 83.3077 13.5807C83.6957 11.1704 84.5841 8.94549 85.9728 6.90601C87.3616 4.86653 89.0975 3.23906 91.1805 2.02361C93.2636 0.808164 95.4897 0.200439 97.8587 0.200439H97.9199C100.085 0.200439 101.872 0.663958 103.281 1.591C104.71 2.51803 105.701 3.78498 106.252 5.39185C106.824 6.97811 106.947 8.76008 106.62 10.7378C106.232 13.0657 105.343 15.2596 103.955 17.3197C102.566 19.3592 100.83 20.997 98.747 22.233ZM90.0777 18.2468C90.6292 19.2974 91.589 19.8227 92.9573 19.8227H93.0186C94.1418 19.8227 95.1833 19.4004 96.1432 18.5558C97.1235 17.6905 97.9506 16.5369 98.6245 15.0948C99.3189 13.6528 99.8294 12.0459 100.156 10.2742C100.463 8.54377 100.34 7.15322 99.7886 6.10257C99.2372 5.03133 98.2875 4.49571 96.9397 4.49571H96.8784C95.8369 4.49571 94.826 4.92833 93.8457 5.79356C92.8858 6.6588 92.0485 7.82274 91.3337 9.2854C90.6189 10.7481 90.0982 12.3343 89.7714 14.0442C89.4446 15.7747 89.5468 17.1755 90.0777 18.2468Z\"></path></svg>`,lP.onclick=async()=>{try{aP.error(),lP.disabled=!0;let e=await(async()=>{let e=await cP.request({method:`eth_accounts`});return e.length>0?e.at(0):(await cP.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await gM({account:e,getClient:e=>{let t=e.chainId??aP.challenge.request.methodDetails?.chainId;return dh({chain:[...cP?.chains??[],Bw,Hw].find(e=>e.id===t),transport:zy(cP)})}})[0].createCredential({challenge:aP.challenge,context:{}});await aP.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;aP.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{lP.disabled=!1}},aP.root.appendChild(lP)})();</script>";
|
|
2
2
|
//# sourceMappingURL=html.gen.d.ts.map
|