mppx 0.6.22 → 0.6.24
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 +13 -0
- package/dist/Credential.d.ts.map +1 -1
- package/dist/Credential.js +1 -1
- package/dist/Credential.js.map +1 -1
- package/dist/client/Mppx.d.ts +6 -2
- package/dist/client/Mppx.d.ts.map +1 -1
- package/dist/client/Mppx.js +8 -2
- package/dist/client/Mppx.js.map +1 -1
- package/dist/client/internal/Fetch.d.ts +4 -0
- package/dist/client/internal/Fetch.d.ts.map +1 -1
- package/dist/client/internal/Fetch.js +9 -3
- package/dist/client/internal/Fetch.js.map +1 -1
- package/dist/internal/AcceptPayment.d.ts +16 -0
- package/dist/internal/AcceptPayment.d.ts.map +1 -1
- package/dist/internal/AcceptPayment.js +31 -8
- package/dist/internal/AcceptPayment.js.map +1 -1
- package/dist/server/Mppx.d.ts.map +1 -1
- package/dist/server/Mppx.js +6 -5
- package/dist/server/Mppx.js.map +1 -1
- package/dist/tempo/client/SessionManager.d.ts +12 -2
- package/dist/tempo/client/SessionManager.d.ts.map +1 -1
- package/dist/tempo/client/SessionManager.js +8 -1
- package/dist/tempo/client/SessionManager.js.map +1 -1
- package/dist/tempo/server/Subscription.d.ts +7 -0
- package/dist/tempo/server/Subscription.d.ts.map +1 -1
- package/dist/tempo/server/Subscription.js +47 -6
- package/dist/tempo/server/Subscription.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 +1 -1
- package/src/Credential.test.ts +23 -0
- package/src/Credential.ts +2 -1
- package/src/client/Mppx.test-d.ts +13 -0
- package/src/client/Mppx.test.ts +52 -0
- package/src/client/Mppx.ts +22 -4
- package/src/client/internal/Fetch.test-d.ts +11 -0
- package/src/client/internal/Fetch.test.ts +117 -1
- package/src/client/internal/Fetch.ts +24 -2
- package/src/internal/AcceptPayment.test.ts +26 -0
- package/src/internal/AcceptPayment.ts +55 -10
- package/src/server/Mppx.test.ts +24 -0
- package/src/server/Mppx.ts +6 -5
- package/src/tempo/client/SessionManager.test.ts +84 -3
- package/src/tempo/client/SessionManager.ts +35 -5
- package/src/tempo/server/Subscription.ts +62 -3
- 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.font&&e.searchParams.set(`font`,t.font),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,T,ne=[];function re(){return typeof window>`u`?ae():S({name:`iframe`},e=>{let{host:t}=e;if(C&&C.host===t){let t=w;return w=e.store,t&&t!==w&&!ne.includes(t)&&ne.push(t),T?.destroy(),T=ie()(e),C.instance.syncTheme(e.theme),C.instance}C?.instance.destroy(),w=e.store,T=ie()(e);let n=!1,r=de(),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=>{se(oe(w,ne,e.id),e)}),e.waitForReady().then(t=>{c=t,t.colorScheme&&(o.style.colorScheme=t.colorScheme),le(e)}),e.on(`sync`,({valid:e})=>{e===!1&&w?.setState({accessKeys:[],accounts:[],activeAccount:0})}),e.on(`switch-mode`,()=>{fe(),S(),n=!1,l=!0;let e=w?.getState().requestQueue.filter(e=>e.status===`pending`);e&&e.length>0&&T?.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=()=>ce(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`)},re=!1,ae=()=>{re||(re=!0,document.activeElement instanceof HTMLElement&&(g=document.activeElement),a.removeAttribute(`hidden`),a.removeAttribute(`aria-closed`),a.showModal())},fe=()=>{if(re){re=!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`)}},pe={close(){T.close(),n=!1,fe(),S()},destroy(){C?.instance===pe&&(C=void 0),T?.close(),n=!1,S(),fe(),T?.destroy(),f.destroy(),a.remove(),y.disconnect(),w=void 0,T=void 0,ne=[]},open(){n||(n=!0,ae(),ee())},async syncRequests(e){if(l){T.syncRequests(e);return}let{trustedHosts:t}=c??await f.waitForReady();if(te()&&e.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){T.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`)),T.syncRequests(e);else{let t=e.some(e=>e.status===`pending`);!n&&t&&this.open(),f.send(`rpc-requests`,{account:ue(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:pe},pe})}function ie(e={}){if(typeof window>`u`)return ae();let{size:t=x}=e;return S({name:`popup`},e=>{let{host:n,store:r}=e,i=null,a=(()=>{let e=setInterval(()=>{i?.closed&&ce(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`,()=>ce(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=de(),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=>se(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:ue(r),chainId:r.getState().chainId,requests:e})},syncTheme(){}}})}function ae(){return S({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function oe(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 se(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 ce(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 le(e){if(!w)return;let{accounts:t}=w.getState();t.length!==0&&e.send(`sync`,{addresses:t.map(e=>e.address)})}function ue(e){let{accounts:t,activeAccount:n}=e.getState(),r=t[n];if(r)return{address:r.address}}function de(){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 fe,pe=o((()=>{fe=`1.2.3`})),me,he=o((()=>{pe(),me=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@${fe}`].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 ge(e,t){return e.exec(t)?.groups}var _e,ve,ye,be=o((()=>{_e=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,ve=/^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)?$/,ye=/^\\(.+?\\).*?$/}));function xe(e){let t=e.type;if(Se.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+=xe(i),r<n-1&&(t+=`, `)}let r=ge(Se,e.type);return t+=`)${r?.array||``}`,xe({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var Se,Ce=o((()=>{be(),Se=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function we(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=xe(i),r!==n-1&&(t+=`, `)}return t}var Te=o((()=>{Ce()}));function Ee(e){return e.type===`function`?`function ${e.name}(${we(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${we(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${we(e.inputs)})`:e.type===`error`?`error ${e.name}(${we(e.inputs)})`:e.type===`constructor`?`constructor(${we(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var De=o((()=>{Te()}));function Oe(e){return Ve.test(e)}function ke(e){return ge(Ve,e)}function Ae(e){return He.test(e)}function je(e){return ge(He,e)}function Me(e){return Ue.test(e)}function Ne(e){return ge(Ue,e)}function Pe(e){return We.test(e)}function Fe(e){return ge(We,e)}function Ie(e){return Ge.test(e)}function Le(e){return ge(Ge,e)}function Re(e){return Ke.test(e)}function ze(e){return ge(Ke,e)}function Be(e){return qe.test(e)}var Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe=o((()=>{be(),Ve=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,He=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ue=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,We=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Ge=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Ke=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,qe=/^receive\\(\\) external payable$/,Je=new Set([`indexed`]),Ye=new Set([`calldata`,`memory`,`storage`])})),Ze,Qe,$e=o((()=>{he(),Ze=class extends me{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`})}},Qe=class extends me{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`})}}})),et,tt,nt,rt,it,at=o((()=>{he(),et=class extends me{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},tt=class extends me{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`})}},nt=class extends me{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`})}},rt=class extends me{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`})}},it=class extends me{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`})}}})),ot,st,ct,lt=o((()=>{he(),ot=class extends me{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},st=class extends me{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},ct=class extends me{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`})}}})),ut,dt=o((()=>{he(),ut=class extends me{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`})}}})),ft,pt=o((()=>{he(),ft=class extends me{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 mt(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 ht,gt=o((()=>{ht=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 _t(e,t={}){if(Me(e))return vt(e,t);if(Ae(e))return yt(e,t);if(Oe(e))return bt(e,t);if(Ie(e))return xt(e,t);if(Re(e))return St(e);if(Be(e))return{type:`receive`,stateMutability:`payable`};throw new st({signature:e})}function vt(e,t={}){let n=Ne(e);if(!n)throw new ot({signature:e,type:`function`});let r=wt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Ct(r[e],{modifiers:Ye,structs:t,type:`function`}));let o=[];if(n.returns){let e=wt(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(Ct(e[n],{modifiers:Ye,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function yt(e,t={}){let n=je(e);if(!n)throw new ot({signature:e,type:`event`});let r=wt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Ct(r[e],{modifiers:Je,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function bt(e,t={}){let n=ke(e);if(!n)throw new ot({signature:e,type:`error`});let r=wt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Ct(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function xt(e,t={}){let n=Le(e);if(!n)throw new ot({signature:e,type:`constructor`});let r=wt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(Ct(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function St(e){let t=ze(e);if(!t)throw new ot({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function Ct(e,t){let n=mt(e,t?.type,t?.structs);if(ht.has(n))return ht.get(n);let r=ye.test(e),i=ge(r?kt:Ot,e);if(!i)throw new et({param:e});if(i.name&&Et(i.name))throw new tt({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=wt(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(Ct(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(At.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!Tt(c))throw new Qe({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new nt({param:e,type:t?.type,modifier:i.modifier});if(Ye.has(i.modifier)&&!Dt(c,!!i.array))throw new rt({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return ht.set(n,u),u}function wt(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?wt(o,[...t,n.trim()]):wt(o,t,`${n}${i}`,r);case`(`:return wt(o,t,`${n}${i}`,r+1);case`)`:return wt(o,t,`${n}${i}`,r-1);default:return wt(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new ft({current:n,depth:r});return t.push(n.trim()),t}function Tt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||_e.test(e)||ve.test(e)}function Et(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||_e.test(e)||ve.test(e)||jt.test(e)}function Dt(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var Ot,kt,At,jt,Mt=o((()=>{be(),$e(),at(),lt(),pt(),gt(),Xe(),Ot=/^(?<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$_]*))?$/,kt=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,At=/^u?int$/,jt=/^(?: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 Nt(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Pe(n))continue;let i=Fe(n);if(!i)throw new ot({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=Ct(t,{type:`struct`});o.push(n)}if(!o.length)throw new ct({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]=Pt(a,t)}return r}function Pt(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(ye.test(i.type))r.push(i);else{let e=ge(Ft,i.type);if(!e?.type)throw new it({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new ut({type:o});r.push({...i,type:`tuple${a??``}`,components:Pt(t[o],t,new Set([...n,o]))})}else if(Tt(o))r.push(i);else throw new Ze({type:o})}}return r}var Ft,It=o((()=>{be(),$e(),at(),lt(),dt(),Xe(),Mt(),Ft=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function Lt(e){let t=Nt(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];Pe(r)||n.push(_t(r,t))}return n}var Rt=o((()=>{Xe(),It(),Mt()})),zt=o((()=>{he(),De(),Ce(),Te(),Rt(),$e(),Xe(),It(),Mt(),at(),lt(),pt(),dt()}));function E(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 Bt(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new bn(e.type);return`${e.name}(${Vt(e.inputs,{includeName:t})})`}function Vt(e,{includeName:t=!1}={}){return e?e.map(e=>Ht(e,{includeName:t})).join(t?`, `:`,`):``}function Ht(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${Vt(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var Ut=o((()=>{xn()}));function D(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var Wt=o((()=>{}));function Gt(e){return D(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Kt=o((()=>{Wt()})),qt,Jt=o((()=>{qt=`2.47.6`}));function Yt(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Yt(e.cause,t):t?null:e}var Xt,O,k=o((()=>{Jt(),Xt={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${qt}`},O=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=Xt.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Xt.version?[`Version: ${Xt.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=qt}walk(e){return Yt(this,e)}}})),Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn=o((()=>{Ut(),Kt(),k(),Zt=class extends O{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`})}},Qt=class extends O{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`})}},$t=class extends O{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${Vt(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}},en=class extends O{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},tn=class extends O{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`})}},nn=class extends O{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Gt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},rn=class extends O{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},an=class extends O{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`})}},on=class extends O{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`})}},sn=class extends O{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}},cn=class extends O{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},ln=class extends O{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`})}},un=class extends O{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`})}},dn=class extends O{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`})}},fn=class extends O{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`})}},pn=class extends O{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Bt(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Bt(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},mn=class extends O{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},hn=class extends O{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: (${Vt(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}},gn=class extends O{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Bt(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,`abiItem`,{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},_n=class extends O{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`})}},vn=class extends O{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`})}},yn=class extends O{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},bn=class extends O{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),Sn,Cn,wn,Tn=o((()=>{k(),Sn=class extends O{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},Cn=class extends O{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},wn=class extends O{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 En(e,{dir:t,size:n=32}={}){return typeof e==`string`?Dn(e,{dir:t,size:n}):On(e,{dir:t,size:n})}function Dn(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new Cn({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function On(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Cn({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 kn=o((()=>{Tn()})),An,jn,Mn,Nn,Pn,Fn=o((()=>{k(),An=class extends O{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`})}},jn=class extends O{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`})}},Mn=class extends O{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},Nn=class extends O{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},Pn=class extends O{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function In(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 Ln=o((()=>{}));function Rn(e,{size:t}){if(Gt(e)>t)throw new Pn({givenSize:Gt(e),maxSize:t})}function A(e,t={}){let{signed:n}=t;t.size&&Rn(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 zn(e,t={}){let n=e;if(t.size&&(Rn(n,{size:t.size}),n=In(n)),In(n)===`0x00`)return!1;if(In(n)===`0x01`)return!0;throw new Mn(n)}function Bn(e,t={}){let n=A(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new An({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var Vn=o((()=>{Fn(),Kt(),Ln()}));function Hn(e,t={}){return typeof e==`number`||typeof e==`bigint`?j(e,t):typeof e==`string`?Gn(e,t):typeof e==`boolean`?Un(e,t):Wn(e,t)}function Un(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Rn(n,{size:t.size}),En(n,{size:t.size})):n}function Wn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Kn[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Rn(r,{size:t.size}),En(r,{dir:`right`,size:t.size})):r}function j(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 An({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?En(s,{size:r}):s}function Gn(e,t={}){return Wn(qn.encode(e),t)}var Kn,qn,M=o((()=>{Fn(),kn(),Vn(),Kn=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),qn=new TextEncoder}));function Jn(e,t={}){return typeof e==`number`||typeof e==`bigint`?Qn(e,t):typeof e==`boolean`?Yn(e,t):D(e)?Zn(e,t):$n(e,t)}function Yn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(Rn(n,{size:t.size}),En(n,{size:t.size})):n}function Xn(e){if(e>=tr.zero&&e<=tr.nine)return e-tr.zero;if(e>=tr.A&&e<=tr.F)return e-(tr.A-10);if(e>=tr.a&&e<=tr.f)return e-(tr.a-10)}function Zn(e,t={}){let n=e;t.size&&(Rn(n,{size:t.size}),n=En(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=Xn(r.charCodeAt(t++)),i=Xn(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new O(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function Qn(e,t){return Zn(j(e,t))}function $n(e,t={}){let n=er.encode(e);return typeof t.size==`number`?(Rn(n,{size:t.size}),En(n,{dir:`right`,size:t.size})):n}var er,tr,nr=o((()=>{k(),Wt(),kn(),Vn(),M(),er=new TextEncoder,tr={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function rr(e,t=!1){return t?{h:Number(e&or),l:Number(e>>sr&or)}:{h:Number(e>>sr&or)|0,l:Number(e&or)|0}}function ir(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}=rr(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function ar(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr=o((()=>{or=BigInt(2**32-1),sr=BigInt(32),cr=(e,t,n)=>e>>>n,lr=(e,t,n)=>e<<32-n|t>>>n,ur=(e,t,n)=>e>>>n|t<<32-n,dr=(e,t,n)=>e<<32-n|t>>>n,fr=(e,t,n)=>e<<64-n|t>>>n-32,pr=(e,t,n)=>e>>>n-32|t<<64-n,mr=(e,t,n)=>e<<n|t>>>32-n,hr=(e,t,n)=>t<<n|e>>>32-n,gr=(e,t,n)=>t<<n-32|e>>>64-n,_r=(e,t,n)=>e<<n-32|t>>>64-n,vr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),yr=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,br=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),xr=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,Sr=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),Cr=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),Tr,Er=o((()=>{Tr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));function Dr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Or(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function kr(e,...t){if(!Dr(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 Ar(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);Or(e.outputLen),Or(e.blockLen)}function jr(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 Mr(e,t){kr(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function Nr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Pr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Fr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Ir(e,t){return e<<32-t|e>>>t}function Lr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Rr(e){for(let t=0;t<e.length;t++)e[t]=Lr(e[t]);return e}function zr(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Br(e){return typeof e==`string`&&(e=zr(e)),kr(e),e}function Vr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];kr(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 Hr(e){let t=t=>e().update(Br(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Ur(e){let t=(t,n)=>e(n).update(Br(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}function Wr(e=32){if(Tr&&typeof Tr.getRandomValues==`function`)return Tr.getRandomValues(new Uint8Array(e));if(Tr&&typeof Tr.randomBytes==`function`)return Uint8Array.from(Tr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Gr,Kr,qr,Jr=o((()=>{Er(),Gr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Kr=Gr?e=>e:Rr,typeof Uint8Array.from([]).toHex==`function`&&Uint8Array.fromHex,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]}Pr(n)}var Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di,fi,pi,mi=o((()=>{wr(),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=ir(ii,!0),oi=ai[0],si=ai[1],ci=(e,t,n)=>n>32?gr(e,t,n):mr(e,t,n),li=(e,t,n)=>n>32?_r(e,t,n):hr(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,Or(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=Nr(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){jr(this),e=Br(e),kr(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){jr(this,!1),kr(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 Or(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Mr(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,Pr(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)=>Hr(()=>new ui(t,e,n)),di(6,144,224/8),di(6,136,256/8),di(6,104,384/8),di(6,72,512/8),di(1,144,224/8),fi=di(1,136,256/8),di(1,104,384/8),di(1,72,512/8),pi=(e,t,n)=>Ur((r={})=>new ui(t,e,r.dkLen===void 0?n:r.dkLen,!0)),pi(31,168,128/8),pi(31,136,256/8)}));function hi(e,t){let n=t||`hex`,r=fi(D(e,{strict:!1})?Jn(e):e);return n===`bytes`?r:Hn(r)}var gi=o((()=>{mi(),Wt(),nr(),M()}));function _i(e){return vi(e)}var vi,yi=o((()=>{nr(),gi(),vi=e=>hi(Jn(e))}));function bi(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 O(`Unable to normalize signature.`);return i}var xi=o((()=>{k()})),Si,Ci=o((()=>{zt(),xi(),Si=e=>bi(typeof e==`string`?e:Ee(e))}));function wi(e){return _i(Si(e))}var Ti=o((()=>{yi(),Ci()})),Ei,Di=o((()=>{Ti(),Ei=wi})),Oi,ki=o((()=>{k(),Oi=class extends O{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`})}}})),Ai,ji=o((()=>{Ai=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 Mi(e,t){if(Pi.has(`${e}.${t}`))return Pi.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=hi($n(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 Pi.set(`${e}.${t}`,a),a}function Ni(e,t){if(!Ii(e,{strict:!1}))throw new Oi({address:e});return Mi(e,t)}var Pi,Fi=o((()=>{ki(),nr(),gi(),ji(),zi(),Pi=new Ai(8192)}));function Ii(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Ri.has(r))return Ri.get(r);let i=Li.test(e)?e.toLowerCase()===e?!0:n?Mi(e)===e:!0:!1;return Ri.set(r,i),i}var Li,Ri,zi=o((()=>{ji(),Fi(),Li=/^0x[a-fA-F0-9]{40}$/,Ri=new Ai(8192)}));function Bi(e){return typeof e[0]==`string`?Hi(e):Vi(e)}function Vi(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 Hi(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Ui=o((()=>{}));function Wi(e,t,n,{strict:r}={}){return D(e,{strict:!1})?Ji(e,t,n,{strict:r}):qi(e,t,n,{strict:r})}function Gi(e,t){if(typeof t==`number`&&t>0&&t>Gt(e)-1)throw new Sn({offset:t,position:`start`,size:Gt(e)})}function Ki(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Gt(e)!==n-t)throw new Sn({offset:n,position:`end`,size:Gt(e)})}function qi(e,t,n,{strict:r}={}){Gi(e,t);let i=e.slice(t,n);return r&&Ki(i,t,n),i}function Ji(e,t,n,{strict:r}={}){Gi(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Ki(i,t,n),i}var Yi=o((()=>{Tn(),Wt(),Kt()})),Xi,Zi,Qi=o((()=>{Xi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Zi=/^(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 $i(e,t){if(e.length!==t.length)throw new rn({expectedLength:e.length,givenLength:t.length});let n=na(ea({params:e,values:t}));return n.length===0?`0x`:n}function ea({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(ta({param:e[r],value:t[r]}));return n}function ta({param:e,value:t}){let n=ua(e.type);if(n){let[r,i]=n;return ia(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return la(t,{param:e});if(e.type===`address`)return ra(t);if(e.type===`bool`)return oa(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Zi.exec(e.type)??[];return sa(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return aa(t,{param:e});if(e.type===`string`)return ca(t);throw new _n(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function na(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=Gt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(j(t+i,{size:32})),r.push(s),i+=Gt(s)):n.push(s)}return Bi([...n,...r])}function ra(e){if(!Ii(e))throw new Oi({address:e});return{dynamic:!1,encoded:Dn(e.toLowerCase())}}function ia(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new yn(e);if(!r&&e.length!==t)throw new tn({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=!1,a=[];for(let t=0;t<e.length;t++){let r=ta({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=na(a);if(r){let t=j(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?Bi([t,e]):t}}if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Bi(a.map(({encoded:e})=>e))}}function aa(e,{param:t}){let[,n]=t.type.split(`bytes`),r=Gt(e);if(!n){let t=e;return r%32!=0&&(t=Dn(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Bi([Dn(j(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new nn({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Dn(e,{dir:`right`})}}function oa(e){if(typeof e!=`boolean`)throw new O(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:Dn(Un(e))}}function sa(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 An({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:j(e,{size:32,signed:t})}}function ca(e){let t=Gn(e),n=Math.ceil(Gt(t)/32),r=[];for(let e=0;e<n;e++)r.push(Dn(Wi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Bi([Dn(j(Gt(t),{size:32})),...r])}}function la(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=ta({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?na(r):Bi(r.map(({encoded:e})=>e))}}function ua(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}var da=o((()=>{xn(),ki(),k(),Fn(),zi(),Ui(),kn(),Kt(),Yi(),M(),Qi()})),fa,pa=o((()=>{Yi(),Ti(),fa=e=>Wi(wi(e),0,4)}));function ma(e){let{abi:t,args:n=[],name:r}=e,i=D(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?fa(e)===r:e.type===`event`?Ei(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?ha(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=ga(e.inputs,o.inputs,n);if(t)throw new pn({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function ha(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Ii(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`&&ha(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=>ha(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function ga(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 ga(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`))&&Ii(n[r],{strict:!1}))return o}}var _a=o((()=>{xn(),Wt(),zi(),Di(),pa()}));function va(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=ma({abi:t,args:n,name:r});if(!e)throw new un(r,{docsPath:xa});i=e}if(i.type!==`function`)throw new un(void 0,{docsPath:xa});return{abi:[i],functionName:fa(Bt(i))}}var xa,Sa=o((()=>{xn(),pa(),Ut(),_a(),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 Hi([r,(`inputs`in i&&i.inputs?$i(i.inputs,t??[]):void 0)??`0x`])}var wa=o((()=>{Ui(),da(),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((()=>{k(),ka=class extends O{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},Aa=class extends O{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},ja=class extends O{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&&Rn(e,{size:t.size}),A(Wn(e,t),t)}function La(e,t={}){let n=e;if(t.size!==void 0&&(Rn(n,{size:t.size}),n=In(n)),n.length>1||n[0]>1)throw new jn(n);return!!n[0]}function Ra(e,t={}){return t.size!==void 0&&Rn(e,{size:t.size}),Bn(Wn(e,t),t)}function za(e,t={}){let n=e;return t.size!==void 0&&(Rn(n,{size:t.size}),n=In(n,{dir:`right`})),new TextDecoder().decode(n)}var Ba=o((()=>{Fn(),Ln(),Vn(),M()}));function Va(e,t){let n=typeof t==`string`?Zn(t):t,r=Na(n);if(Gt(n)===0&&e.length>0)throw new en;if(Gt(t)&&Gt(t)<32)throw new $t({data:typeof t==`string`?t:Wn(t),params:e,size:Gt(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=ua(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 vn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function Ua(e){return[Mi(Wn(qi(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),[Wn(i),32]}return[Wn(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(In(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=ua(e.type);return!!(n&&Xa({...e,type:n[1]}))}var Za,Qa,$a=o((()=>{xn(),Fi(),Fa(),Kt(),Yi(),Ln(),Ba(),nr(),M(),da(),Za=32,Qa=32}));function eo(e){let{abi:t,data:n,cause:r}=e,i=Wi(n,0,4);if(i===`0x`)throw new en({cause:r});let a=[...t||[],Ea,Da].find(e=>e.type===`error`&&i===fa(Bt(e)));if(!a)throw new sn(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?Va(a.inputs,Wi(n,4)):void 0,errorName:a.name}}var to=o((()=>{Oa(),xn(),Yi(),pa(),$a(),Ut()})),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((()=>{k(),vo=class extends O{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},yo=class extends O{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(),k(),So=class extends O{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},Co=class extends O{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 O{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 O{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 O{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 O{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}}})),ko,Ao,jo=o((()=>{ko=e=>e,Ao=e=>e})),Mo,No,Po,Fo,Io,Lo,Ro=o((()=>{ya(),Oa(),to(),Ut(),ao(),_a(),po(),ho(),xn(),k(),bo(),Oo(),jo(),Mo=class extends O{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?va(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}},No=class extends O{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=ma({abi:t,args:n,name:a}),c=s?io({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Bt(s,{includeName:!0}):void 0,u=xo({address:r&&ko(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}},Po=class extends O{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?Bt(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 sn&&(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}},Fo=class extends O{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})}},Io=class extends O{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`})}},Lo=class extends O{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}}})),zo,Bo,Vo,Ho=o((()=>{ro(),k(),jo(),zo=class extends O{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: ${Ao(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}},Bo=class extends O{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Ao(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}},Vo=class extends O{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Ao(t)}`,`Request body: ${no(e)}`],name:`TimeoutError`}),Object.defineProperty(this,`url`,{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Uo,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=o((()=>{k(),Ho(),Uo=-1,Wo=class extends O{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 Bo?e.code:t??Uo}},Go=class extends Wo{constructor(e,t){super(e,t),Object.defineProperty(this,`data`,{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},Ko=class e extends Wo{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(Ko,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32700}),qo=class e extends Wo{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(qo,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Jo=class e extends Wo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(Jo,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Yo=class e extends Wo{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(Yo,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32602}),Xo=class e extends Wo{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(Xo,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Zo=class e extends Wo{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(Zo,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),Qo=class e extends Wo{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(Qo,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32001}),$o=class e extends Wo{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty($o,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32002}),es=class e extends Wo{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(es,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32003}),ts=class e extends Wo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(ts,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32004}),ns=class e extends Wo{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(ns,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32005}),rs=class e extends Wo{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(rs,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32006}),is=class e extends Go{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(is,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4001}),as=class e extends Go{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(as,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4100}),os=class e extends Go{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(os,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4200}),ss=class e extends Go{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(ss,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4900}),cs=class e extends Go{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(cs,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4901}),ls=class e extends Go{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(ls,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4902}),us=class e extends Go{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(us,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5700}),ds=class e extends Go{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(ds,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5710}),fs=class e extends Go{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(fs,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5720}),ps=class e extends Go{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(ps,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5730}),ms=class e extends Go{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(ms,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5740}),hs=class e extends Go{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(hs,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5750}),gs=class e extends Go{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(gs,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5760}),_s=class e extends Go{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(_s,`code`,{enumerable:!0,configurable:!0,writable:!0,value:7e3}),vs=class extends Wo{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));xn(),k(),Ro(),Ho(),ys();function bs(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Lo?e:e instanceof O?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s;return new No(e instanceof en?new Fo({functionName:a,cause:e}):[3,Xo.code].includes(c)&&(l||u||d||f)||c===Zo.code&&u===`execution reverted`&&l?new Po({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Bo?u:f??d,cause:e}):e,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}Fi(),gi();function xs(e){return Mi(`0x${hi(`0x${e.substring(4)}`).substring(26)}`)}function Ss(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 Cs(e,t,n){return e&t^~e&n}function ws(e,t,n){return e&t^e&n^t&n}var Ts,Es,Ds,Os,ks=o((()=>{Jr(),Ts=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=Fr(this.buffer)}update(e){jr(this),e=Br(e),kr(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=Fr(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){jr(this),Mr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Pr(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;Ss(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Fr(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()}},Es=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ds=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Os=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),As,js,Ms,Ns,Ps,Fs,Is,Ls,Rs,zs,Bs,Vs,Hs,Us=o((()=>{ks(),wr(),Jr(),As=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]),js=new Uint32Array(64),Ms=class extends Ts{constructor(e=32){super(64,e,8,!1),this.A=Es[0]|0,this.B=Es[1]|0,this.C=Es[2]|0,this.D=Es[3]|0,this.E=Es[4]|0,this.F=Es[5]|0,this.G=Es[6]|0,this.H=Es[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)js[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=js[e-15],n=js[e-2],r=Ir(t,7)^Ir(t,18)^t>>>3;js[e]=(Ir(n,17)^Ir(n,19)^n>>>10)+js[e-7]+r+js[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=Ir(o,6)^Ir(o,11)^Ir(o,25),u=l+t+Cs(o,s,c)+As[e]+js[e]|0,d=(Ir(n,2)^Ir(n,13)^Ir(n,22))+ws(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(){Pr(js)}destroy(){this.set(0,0,0,0,0,0,0,0),Pr(this.buffer)}},Ns=ir(`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))),Ps=Ns[0],Fs=Ns[1],Is=new Uint32Array(80),Ls=new Uint32Array(80),Rs=class extends Ts{constructor(e=64){super(128,e,16,!1),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}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)Is[n]=e.getUint32(t),Ls[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Is[e-15]|0,n=Ls[e-15]|0,r=ur(t,n,1)^ur(t,n,8)^cr(t,n,7),i=dr(t,n,1)^dr(t,n,8)^lr(t,n,7),a=Is[e-2]|0,o=Ls[e-2]|0,s=ur(a,o,19)^fr(a,o,61)^cr(a,o,6),c=dr(a,o,19)^pr(a,o,61)^lr(a,o,6),l=br(i,c,Ls[e-7],Ls[e-16]);Is[e]=xr(l,r,s,Is[e-7],Is[e-16])|0,Ls[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=ur(u,d,14)^ur(u,d,18)^fr(u,d,41),v=dr(u,d,14)^dr(u,d,18)^pr(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=Sr(_,v,b,Fs[e],Ls[e]),S=Cr(x,g,t,y,Ps[e],Is[e]),ee=x|0,te=ur(n,r,28)^fr(n,r,34)^fr(n,r,39),C=dr(n,r,28)^pr(n,r,34)^pr(n,r,39),w=n&i^n&o^i&o,T=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}=ar(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 ne=vr(ee,C,T);n=yr(ne,S,te,w),r=ne|0}({h:n,l:r}=ar(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=ar(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=ar(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=ar(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=ar(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=ar(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=ar(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=ar(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(){Pr(Is,Ls)}destroy(){Pr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},zs=class extends Rs{constructor(){super(48),this.Ah=Ds[0]|0,this.Al=Ds[1]|0,this.Bh=Ds[2]|0,this.Bl=Ds[3]|0,this.Ch=Ds[4]|0,this.Cl=Ds[5]|0,this.Dh=Ds[6]|0,this.Dl=Ds[7]|0,this.Eh=Ds[8]|0,this.El=Ds[9]|0,this.Fh=Ds[10]|0,this.Fl=Ds[11]|0,this.Gh=Ds[12]|0,this.Gl=Ds[13]|0,this.Hh=Ds[14]|0,this.Hl=Ds[15]|0}},Bs=Hr(()=>new Ms),Vs=Hr(()=>new Rs),Hs=Hr(()=>new zs)})),Ws,Gs,Ks=o((()=>{Jr(),Ws=class extends qr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Ar(e);let n=Br(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),Pr(i)}update(e){return jr(this),this.iHash.update(e),this}digestInto(e){jr(this),kr(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()}},Gs=(e,t,n)=>new Ws(e,t).update(n).digest(),Gs.create=(e,t)=>new Ws(e,t)}));function qs(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Js(e){if(!qs(e))throw Error(`Uint8Array expected`)}function Ys(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function Xs(e){let t=e.toString(16);return t.length&1?`0`+t:t}function Zs(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?hc:BigInt(`0x`+e)}function Qs(e){if(Js(e),_c)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=vc[e[n]];return t}function $s(e){if(e>=yc._0&&e<=yc._9)return e-yc._0;if(e>=yc.A&&e<=yc.F)return e-(yc.A-10);if(e>=yc.a&&e<=yc.f)return e-(yc.a-10)}function ec(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(_c)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=$s(e.charCodeAt(i)),a=$s(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 tc(e){return Zs(Qs(e))}function nc(e){return Js(e),Zs(Qs(Uint8Array.from(e).reverse()))}function rc(e,t){return ec(e.toString(16).padStart(t*2,`0`))}function ic(e,t){return rc(e,t).reverse()}function ac(e,t,n){let r;if(typeof t==`string`)try{r=ec(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(qs(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 oc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Js(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 sc(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 cc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function lc(e,t,n){return bc(e)&&bc(t)&&bc(n)&&t<=e&&e<n}function uc(e,t,n,r){if(!lc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function dc(e){let t;for(t=0;e>hc;e>>=gc,t+=1);return t}function fc(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=Sc(e),i=Sc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Sc(0))=>{i=s(Cc([0]),e),r=s(),e.length!==0&&(i=s(Cc([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 oc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function pc(e,t,n={}){let r=(t,n,r)=>{let i=wc[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 mc(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 hc,gc,_c,vc,yc,bc,xc,Sc,Cc,wc,Tc=o((()=>{hc=BigInt(0),gc=BigInt(1),_c=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,vc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),yc={_0:48,_9:57,A:65,F:70,a:97,f:102},bc=e=>typeof e==`bigint`&&hc<=e,xc=e=>(gc<<BigInt(e))-gc,Sc=e=>new Uint8Array(e),Cc=e=>Uint8Array.from(e),wc={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`||qs(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)}}));function Ec(e,t){let n=e%t;return n>=Hc?n:t+n}function Dc(e,t,n){let r=e;for(;t-- >Hc;)r*=r,r%=n;return r}function Oc(e,t){if(e===Hc)throw Error(`invert: expected non-zero number`);if(t<=Hc)throw Error(`invert: expected positive modulus, got `+t);let n=Ec(e,t),r=t,i=Hc,a=Uc,o=Uc,s=Hc;for(;n!==Hc;){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!==Uc)throw Error(`invert: does not exist`);return Ec(i,t)}function kc(e,t){let n=(e.ORDER+Uc)/Kc,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Ac(e,t){let n=(e.ORDER-qc)/Jc,r=e.mul(t,Wc),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Wc),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 jc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Uc,n=0;for(;t%Wc===Hc;)t/=Wc,n++;let r=Wc,i=Rc(e);for(;Ic(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return kc;let a=i.pow(r,t),o=(t+Uc)/Wc;return function(e,r){if(e.is0(r))return r;if(Ic(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=Uc<<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 Mc(e){return e%Kc===Gc?kc:e%Jc===qc?Ac:jc(e)}function Nc(e){return pc(e,Yc.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Pc(e,t,n){if(n<Hc)throw Error(`invalid exponent, negatives unsupported`);if(n===Hc)return e.ONE;if(n===Uc)return t;let r=e.ONE,i=t;for(;n>Hc;)n&Uc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Uc;return r}function Fc(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 Ic(e,t){let n=(e.ORDER-Uc)/Wc,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 Lc(e,t){t!==void 0&&Or(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Rc(e,t,n=!1,r={}){if(e<=Hc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Lc(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:xc(i),ZERO:Hc,ONE:Uc,create:t=>Ec(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Hc<=t&&t<e},is0:e=>e===Hc,isOdd:e=>(e&Uc)===Uc,neg:t=>Ec(-t,e),eql:(e,t)=>e===t,sqr:t=>Ec(t*t,e),add:(t,n)=>Ec(t+n,e),sub:(t,n)=>Ec(t-n,e),mul:(t,n)=>Ec(t*n,e),pow:(e,t)=>Pc(s,e,t),div:(t,n)=>Ec(t*Oc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Oc(t,e),sqrt:r.sqrt||(t=>(o||=Mc(e),o(s,t))),toBytes:e=>n?ic(e,a):rc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?nc(e):tc(e)},invertBatch:e=>Fc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function zc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Bc(e){let t=zc(e);return t+Math.ceil(t/2)}function Vc(e,t,n=!1){let r=e.length,i=zc(t),a=Bc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Ec(n?nc(e):tc(e),t-Uc)+Uc;return n?ic(o,i):rc(o,i)}var Hc,Uc,Wc,Gc,Kc,qc,Jc,Yc,Xc=o((()=>{Jr(),Tc(),Hc=BigInt(0),Uc=BigInt(1),Wc=BigInt(2),Gc=BigInt(3),Kc=BigInt(4),qc=BigInt(5),Jc=BigInt(8),Yc=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`]}));function Zc(e,t){let n=t.negate();return e?n:t}function Qc(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function $c(e,t){Qc(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:xc(e),maxNumber:i,shiftBy:BigInt(e)}}function el(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+=cl);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 tl(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 nl(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 rl(e){return ul.get(e)||1}function il(e,t){return{constTimeNegate:Zc,hasPrecomputes(e){return rl(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>sl;)n&cl&&(r=r.add(i)),i=i.double(),n>>=cl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=$c(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=$c(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=el(i,e,s);i=t,c?o=o.add(Zc(u,r[d])):a=a.add(Zc(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=$c(n,t);for(let e=0;e<o.windows&&i!==sl;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=el(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=ll.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&ll.set(t,n(r))),r},wNAFCached(e,t,n){let r=rl(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=rl(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){Qc(n,t),ul.set(e,n),ll.delete(e)}}}function al(e,t,n,r){tl(n,e),nl(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=dc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=xc(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 ol(e){return Nc(e.Fp),pc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Lc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var sl,cl,ll,ul,dl=o((()=>{Xc(),Tc(),sl=BigInt(0),cl=BigInt(1),ll=new WeakMap,ul=new WeakMap}));function fl(e){e.lowS!==void 0&&Ys(`lowS`,e.lowS),e.prehash!==void 0&&Ys(`prehash`,e.prehash)}function pl(e){let t=ol(e);pc(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 ml(e,t){return Qs(rc(e,t))}function hl(e){let t=pl(e),{Fp:n}=t,r=Rc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return oc(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,wl),Tl),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 lc(e,N,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(qs(e)&&(e=Qs(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:tc(ac(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Ec(o,a)),uc(`private key`,o,N,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=mc((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=mc(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=Fc(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(ac(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return al(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,wl),{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,wl),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;uc(`scalar`,e,Sl,i);let a=h.ZERO;if(e===Sl)return a;if(this.is0()||e===N)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>Sl||l>Sl;)s&N&&(u=u.add(f)),l&N&&(d=d.add(f)),f=f.double(),s>>=N,l>>=N;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;uc(`scalar`,e,N,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===Sl||t===N||!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===N)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===N?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return Ys(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return Ys(`isCompressed`,e),Qs(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=il(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function gl(e){let t=ol(e);return pc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function _l(e){let t=gl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Ec(e,r)}function l(e){return Oc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=hl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=oc;return Ys(`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=tc(i);if(!lc(e,N,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&N)===N;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>>N}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>tc(e.slice(t,n));class _{constructor(e,t,n){uc(`r`,e,N,r),uc(`s`,t,N,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=ac(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=xl.toSig(ac(`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(ac(`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+ml(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 ec(this.toDERHex())}toDERHex(){return xl.hexFromSig(this)}toCompactRawBytes(){return ec(this.toCompactHex())}toCompactHex(){let e=i;return ml(this.r,e)+ml(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Bc(t.n);return Vc(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=ac(`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=tc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},ee=t.bits2int_modN||function(e){return c(S(e))},te=xc(a);function C(e){return uc(`num < 2^`+a,e,Sl,te),rc(e,i)}function w(e,r,i=T){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=ac(`msgHash`,e),fl(i),f&&(e=ac(`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(ac(`extraEntropy`,e))}let x=oc(...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===Sl)return;let a=c(n*c(te+i*y));if(a===Sl)return;let o=(r.x===i?0:2)|Number(r.y&N),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:w}}let T={lowS:t.lowS,prehash:!1},ne={lowS:t.lowS,prehash:!1};function re(e,n,r=T){let{seed:i,k2sig:a}=w(e,n,r),o=t;return fc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ie(e,n,r,i=ne){let a=e;n=ac(`msgHash`,n),r=ac(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(fl(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`||qs(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 xl.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:re,verify:ie,ProjectivePoint:u,Signature:_,utils:v}}function vl(e,t){let n=e.ORDER,r=Sl;for(let e=n-N;e%Cl===Sl;e/=Cl)r+=N;let i=r,a=Cl<<i-N-N,o=a*Cl,s=(n-N)/o,c=(s-N)/Cl,l=o-N,u=a,d=e.pow(t,s),f=e.pow(t,(s+N)/Cl),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>N;t--){let n=t-Cl;n=Cl<<n-N;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%Tl===wl){let n=(e.ORDER-wl)/Tl,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 yl(e,t){if(Nc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=vl(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=Fc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var bl,xl,Sl,N,Cl,wl,Tl,El=o((()=>{dl(),Xc(),Tc(),bl=class extends Error{constructor(e=``){super(e)}},xl={Err:bl,_tlv:{encode:(e,t)=>{let{Err:n}=xl;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=Xs(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?Xs(i.length/2|128):``;return Xs(e)+a+i+t},decode(e,t){let{Err:n}=xl,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}=xl;if(e<Sl)throw new t(`integer: negative integers are not allowed`);let n=Xs(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}=xl;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 tc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=xl,i=ac(`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}=xl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},Sl=BigInt(0),N=BigInt(1),Cl=BigInt(2),wl=BigInt(3),Tl=BigInt(4)}));function Dl(e){return{hash:e,hmac:(t,...n)=>Gs(e,t,Vr(...n)),randomBytes:Wr}}function Ol(e,t){let n=t=>_l({...e,...Dl(t)});return{...n(t),create:n}}var kl=o((()=>{Ks(),Jr(),El()}));function Al(e,t){if(Ml(e),Ml(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 jl(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 Ml(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Nl(e,t,n,r){Js(e),Js(t),Ml(n),t.length>255&&(t=r(oc(cc(`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=oc(t,Al(t.length,1)),c=Al(0,a),l=Al(n,2),u=Array(o),d=r(oc(c,e,l,Al(0,1),s));u[0]=r(oc(d,Al(1,1),s));for(let e=1;e<=o;e++)u[e]=r(oc(jl(d,u[e-1]),Al(e+1,1),s));return oc(...u).slice(0,n)}function Pl(e,t,n,r,i){if(Js(e),Js(t),Ml(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(cc(`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(Al(n,2)).update(t).update(Al(t.length,1)).digest()}function Fl(e,t,n){pc(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;Js(e),Ml(t);let l=typeof c==`string`?cc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Nl(e,l,f,o);else if(s===`xof`)p=Pl(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]=Ec(Rl(p.subarray(i,i+d)),r)}m[e]=t}return m}function Il(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]=Fc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Ll(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=Fl(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(Fl(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 Rl,zl=o((()=>{Xc(),Tc(),Rl=tc})),Bl=c({encodeToCurve:()=>gu,hashToCurve:()=>hu,schnorr:()=>du,secp256k1:()=>nu,secp256k1_hasher:()=>mu});function Vl(e){let t=Yl,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=Dc(Dc(Dc(u,n,t)*u%t,n,t)*u%t,$l,t)*l%t,f=Dc(d,i,t)*d%t,p=Dc(f,a,t)*f%t,m=Dc(p,s,t)*p%t,h=Dc(Dc(Dc(Dc(Dc(Dc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,$l,t);if(!tu.eql(tu.sqr(h),e))throw Error(`Cannot find square root`);return h}function Hl(e,...t){let n=ru[e];if(n===void 0){let t=Bs(Uint8Array.from(e,e=>e.charCodeAt(0)));n=oc(t,t),ru[e]=n}return Bs(oc(n,...t))}function Ul(e){let t=nu.utils.normPrivateKeyToScalar(e),n=cu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:su(-t),bytes:iu(n)}}function Wl(e){uc(`x`,e,Ql,Yl);let t=Vl(ou(ou(e*e)*e+BigInt(7)));t%$l!==Zl&&(t=ou(-t));let n=new cu(e,t,Ql);return n.assertValidity(),n}function Gl(...e){return su(uu(Hl(`BIP0340/challenge`,...e)))}function Kl(e){return Ul(e).bytes}function ql(e,t,n=Wr(32)){let r=ac(`message`,e),{bytes:i,scalar:a}=Ul(t),o=su(uu(Hl(`BIP0340/nonce`,au(a^uu(Hl(`BIP0340/aux`,ac(`auxRand`,n,32)))),i,r)));if(o===Zl)throw Error(`sign failed: k is zero`);let{bytes:s,scalar:c}=Ul(o),l=Gl(s,i,r),u=new Uint8Array(64);if(u.set(s,0),u.set(au(su(c+l*a)),32),!Jl(u,r,i))throw Error(`sign: Invalid signature produced`);return u}function Jl(e,t,n){let r=ac(`signature`,e,64),i=ac(`message`,t),a=ac(`publicKey`,n,32);try{let e=Wl(uu(a)),t=uu(r.subarray(0,32));if(!lc(t,Ql,Yl))return!1;let n=uu(r.subarray(32,64));if(!lc(n,Ql,Xl))return!1;let o=lu(e,n,su(-Gl(au(t),iu(e),i)));return!(!o||!o.hasEvenY()||o.toAffine().x!==t)}catch{return!1}}var Yl,Xl,Zl,Ql,$l,eu,tu,nu,ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u=o((()=>{Us(),Jr(),kl(),zl(),Xc(),Tc(),El(),Yl=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),Xl=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),Zl=BigInt(0),Ql=BigInt(1),$l=BigInt(2),eu=(e,t)=>(e+t/$l)/t,tu=Rc(Yl,void 0,void 0,{sqrt:Vl}),nu=Ol({a:Zl,b:BigInt(7),Fp:tu,n:Xl,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=Xl,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-Ql*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=eu(a*e,t),c=eu(-r*e,t),l=Ec(e-s*n-c*i,t),u=Ec(-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}}}},Bs),ru={},iu=e=>e.toRawBytes(!0).slice(1),au=e=>rc(e,32),ou=e=>Ec(e,Yl),su=e=>Ec(e,Xl),cu=nu.ProjectivePoint,lu=(e,t,n)=>cu.BASE.multiplyAndAddUnsafe(e,t,n),uu=tc,du={getPublicKey:Kl,sign:ql,verify:Jl,utils:{randomPrivateKey:nu.utils.randomPrivateKey,lift_x:Wl,pointToBytes:iu,numberToBytesBE:rc,bytesToNumberBE:tc,taggedHash:Hl,mod:Ec}},fu=Il(tu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),pu=yl(tu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:tu.create(BigInt(`-11`))}),mu=Ll(nu.ProjectivePoint,e=>{let{x:t,y:n}=pu(tu.create(e[0]));return fu(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:tu.ORDER,m:1,k:128,expand:`xmd`,hash:Bs}),hu=mu.hashToCurve,gu=mu.encodeToCurve}));Wt(),Kt(),Vn(),M();async function vu({hash:e,signature:t}){let n=D(e)?e:Hn(e),{secp256k1:r}=await Promise.resolve().then(()=>(_u(),Bl));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=yu(Number(a??i));return new r.Signature(A(e),A(n)).addRecoveryBit(o)}let e=D(t)?t:Hn(t);if(Gt(e)!==65)throw Error(`invalid signature length`);let n=yu(Bn(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function yu(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 bu({hash:e,signature:t}){return xs(await vu({hash:e,signature:t}))}k(),Fa(),nr(),M();function xu(e,t=`hex`){let n=Su(e),r=Na(new Uint8Array(n.length));return n.encode(r),t===`hex`?Wn(r.bytes):r.bytes}function Su(e){return Array.isArray(e)?Cu(e.map(e=>Su(e))):wu(e)}function Cu(e){let t=e.reduce((e,t)=>e+t.length,0),n=Tu(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 wu(e){let t=typeof e==`string`?Zn(e):e,n=Tu(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 Tu(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 O(`Length is too large.`)}Ui(),nr(),M(),gi();function Eu(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=hi(Hi([`0x05`,xu([t?j(t):`0x`,i,n?j(n):`0x`])]));return r===`bytes`?Zn(a):a}async function Du(e){let{authorization:t,signature:n}=e;return bu({hash:Eu(t),signature:n??t})}po(),ho(),k(),Oo();var Ou=class extends O{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}},ku,Au,ju,Mu,Nu,Pu,Fu,Iu,Lu,Ru,zu,Bu,Vu=o((()=>{ho(),k(),ku=class extends O{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(ku,`code`,{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(ku,`nodeMessage`,{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Au=class extends O{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(Au,`nodeMessage`,{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),ju=class extends O{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(ju,`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/}),Mu=class extends O{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(Mu,`nodeMessage`,{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Nu=class extends O{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(Nu,`nodeMessage`,{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Pu=class extends O{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(Pu,`nodeMessage`,{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Fu=class extends O{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(Fu,`nodeMessage`,{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Iu=class extends O{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(Iu,`nodeMessage`,{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Lu=class extends O{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(Lu,`nodeMessage`,{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Ru=class extends O{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Ru,`nodeMessage`,{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),zu=class extends O{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(zu,`nodeMessage`,{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Bu=class extends O{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function Hu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof O?e.walk(e=>e?.code===ku.code):e;return r instanceof O?new ku({cause:e,message:r.details}):ku.nodeMessage.test(n)?new ku({cause:e,message:e.details}):Au.nodeMessage.test(n)?new Au({cause:e,maxFeePerGas:t?.maxFeePerGas}):ju.nodeMessage.test(n)?new ju({cause:e,maxFeePerGas:t?.maxFeePerGas}):Mu.nodeMessage.test(n)?new Mu({cause:e,nonce:t?.nonce}):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}):Iu.nodeMessage.test(n)?new Iu({cause:e,gas:t?.gas}):Lu.nodeMessage.test(n)?new Lu({cause:e,gas:t?.gas}):Ru.nodeMessage.test(n)?new Ru({cause:e}):zu.nodeMessage.test(n)?new zu({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Bu({cause:e})}var Uu=o((()=>{k(),Vu()}));Vu(),Uu();function Wu(e,{docsPath:t,...n}){return new Ou((()=>{let t=Hu(e,n);return t instanceof Bu?e:t})(),{docsPath:t,...n})}function Gu(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 Ku=o((()=>{}));function qu(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 Ju=o((()=>{}));function Yu(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=Xu(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=>Wn(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=j(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=j(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=j(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=j(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=j(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=j(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=Zu[e.type]),e.value!==void 0&&(n.value=j(e.value)),n}function Xu(e){return e.map(e=>({address:e.address,r:e.r?j(BigInt(e.r)):e.r,s:e.s?j(BigInt(e.s)):e.s,chainId:j(e.chainId),nonce:j(e.nonce),...e.yParity===void 0?{}:{yParity:j(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:j(e.v)}:{}}))}var Zu,Qu,$u=o((()=>{M(),Ju(),Zu={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},Qu=qu(`transactionRequest`,Yu)}));function ed(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new wn({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new wn({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function td(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=j(t)),n!==void 0&&(o.nonce=j(n)),r!==void 0&&(o.state=ed(r)),i!==void 0){if(o.state)throw new yo;o.stateDiff=ed(i)}return o}function nd(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Ii(n,{strict:!1}))throw new Oi({address:n});if(t[n])throw new vo({address:n});t[n]=td(r)}return t}var rd=o((()=>{ki(),Tn(),bo(),zi(),M()})),id,ad=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)),id=2n**256n-1n}));function od(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?va(t):void 0;if(a&&!Ii(a.address))throw new Oi({address:a.address});if(i&&!Ii(i))throw new Oi({address:i});if(n&&n>id)throw new Au({maxFeePerGas:n});if(r&&n&&r>n)throw new zu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var sd=o((()=>{ya(),ad(),ki(),Vu(),zi()}));ho(),k();var cd=class extends O{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},ld=class extends O{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},ud=class extends O{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${mo(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};k();var dd=class extends O{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`})}};Vn(),Ju();let fd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function pd(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?Bn(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?Bn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?fd[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=hd(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 md=qu(`transaction`,pd);function hd(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 gd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:pd(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}}M();async function _d(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:j(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 dd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||gd)(s,`getBlock`)}async function vd(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}Vn();async function yd(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 E(e,_d,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?A(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):E(e,_d,`getBlock`)({}),E(e,vd,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new ld;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function bd(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 cd;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.ceil(o*s))/BigInt(s),l=n||await E(e,_d,`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 ld;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await yd(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 E(e,vd,`getGasPrice`)({}))}}Vn(),M();async function xd(e,{address:t,blockTag:n=`latest`,blockNumber:r}){return Bn(await e.request({method:`eth_getTransactionCount`,params:[t,typeof r==`bigint`?j(r):n]},{dedupe:!!r}))}nr(),M();function Sd(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=>Zn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Wn(e))}nr(),M();function Cd(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=>Zn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>Zn(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=>Wn(e))}Us();let wd=Bs;Wt(),nr(),M();function Td(e,t){let n=t||`hex`,r=wd(D(e,{strict:!1})?Jn(e):e);return n===`bytes`?r:Hn(r)}M();function Ed(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Td(t,`bytes`);return i.set([n],0),r===`bytes`?i:Wn(i)}function Dd(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Ed({commitment:e,to:r,version:n}));return i}let Od=4096,kd=32*Od;kd*6-1-1*Od*6,k();var Ad=class extends O{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},jd=class extends O{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Md=class extends O{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Nd=class extends O{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};Fa(),Kt(),nr(),M();function Pd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Zn(e.data):e.data,r=Gt(n);if(!r)throw new jd;if(r>761855)throw new Ad({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Na(new Uint8Array(kd)),t=0;for(;t<Od;){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=>Wn(e.bytes))}function Fd(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Pd({data:t,to:r}),a=e.commitments??Sd({blobs:i,kzg:n,to:r}),o=e.proofs??Cd({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 Id(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})}Vu(),Oo(),Uu();function Ld(e,{docsPath:t,...n}){return new Do((()=>{let t=Hu(e,n);return t instanceof Bu?e:t})(),{docsPath:t,...n})}Vn();async function Rd(e){return Bn(await e.request({method:`eth_chainId`},{dedupe:!0}))}ya(),Ku(),$u(),sd();async function zd(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=va(n),r=a?a.id:await E(e,Rd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();od(t);let x=a?.formatters?.transactionRequest?.format,S=(x||Yu)({...Gu(y,{format:x}),account:n?va(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||pd)(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&&=t.nonce??r.nonce;let i=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await E(e,_d,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new cd;let o=10**(i.toString().split(`.`)[1]?.length??0),s=e=>e*BigInt(Math.ceil(i*o))/BigInt(o);return 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}}}catch(n){throw Ld(n,{...t,chain:e.chain})}}ya(),ji(),sd();let Bd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Vd=new Map,Hd=new Ai(128);async function Ud(e,t){let n=t;n.account??=e.account,n.parameters??=Bd;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 E(e,Rd,`getChainId`)({}),c):n.chainId)}let u=r&&va(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},{phase:`beforeFillTransaction`}),d??=n.nonce);let f=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs||Hd.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 E(e,zd,`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 Hd.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}:{}}}).catch(t=>{let r=t;return r.name===`TransactionExecutionError`&&r.walk?.(e=>{let t=e;return t.name===`MethodNotFoundRpcError`||t.name===`MethodNotSupportedRpcError`||t.message?.includes(`eth_fillTransaction is not available`)})&&Hd.set(e.uid,!1),n}):n;d??=f.nonce,n={...f,...u?{from:u?.address}:{},...d?{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},{phase:`beforeFillParameters`}));let _;async function v(){return _||(_=await E(e,_d,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await E(e,xd,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=Sd({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Dd({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Fd({blobs:p,commitments:e,proofs:Cd({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=Id(n)}catch{let t=Vd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Vd.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 bd(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new ud({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new ld;if(n.gasPrice===void 0){let{gasPrice:t}=await bd(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}return o.includes(`gas`)&&m===void 0&&(n.gas=await E(e,Wd,`estimateGas`)({...n,account:u,prepare:u?.type===`local`?[]:[`blobVersionedHashes`]})),s?.fn&&s.runAt?.includes(`afterFillParameters`)&&(n=await s.fn({...n,chain:i},{phase:`afterFillParameters`})),od(n),delete n.parameters,n}ya(),k(),M(),Ku(),$u(),rd(),sd();async function Wd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?va(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 Du({authorization:t.authorizationList[0]}).catch(()=>{throw new O(\"`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 Ud(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?j(u):void 0)||d,ee=nd(b);od(t);let te=e.chain?.formatters?.transactionRequest?.format,C=(te||Yu)({...Gu(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 Wu(n,{...t,account:i,chain:e.chain})}}function Gd(e,t){if(!Ii(e,{strict:!1}))throw new Oi({address:e});if(!Ii(t,{strict:!1}))throw new Oi({address:t});return e.toLowerCase()===t.toLowerCase()}var Kd=o((()=>{ki(),zi()}));function qd(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}:{}}}xn(),Ma(),Kt(),Di(),$a(),Ut();let Jd=`/docs/contract/decodeEventLog`;function Yd(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new cn({docsPath:Jd});let c=t.find(e=>e.type===`event`&&o===Ei(Bt(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new ln(o,{docsPath:Jd});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 gn({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=Xd({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 $t||e instanceof Aa?new hn({abiItem:c,data:n,params:g,size:Gt(n)}):e}else if(a)throw new hn({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function Xd({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Va([e],t)||[])[0]}Kd(),nr(),gi(),Di();function Zd(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:Ei(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?qd(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=Yd({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=Yd({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)||!Qd({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function Qd(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`?Gd(t,n):e.type===`string`||e.type===`bytes`?hi(Jn(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 $d(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=ma({abi:t,args:n,name:r});if(!e)throw new un(r,{docsPath:ef});a=e}if(a.type!==`function`)throw new un(void 0,{docsPath:ef});if(!a.outputs)throw new dn(a.name,{docsPath:ef});let o=Va(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var ef,tf=o((()=>{xn(),$a(),_a(),ef=`/docs/contract/decodeFunctionResult`})),nf,rf=o((()=>{nf=`0.1.1`}));function af(){return nf}var of=o((()=>{rf()}));function sf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?sf(e.cause,t):t?null:e}var P,cf=o((()=>{of(),P=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 sf(this,e)}},Object.defineProperty(P,`defaultStaticOptions`,{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${af()}`}}),P.setStaticOptions(P.defaultStaticOptions)}));function lf(e,t){if(Lf(e)>t)throw new Xf({givenSize:Lf(e),maxSize:t})}function uf(e,t){if(typeof t==`number`&&t>0&&t>Lf(e)-1)throw new Zf({offset:t,position:`start`,size:Lf(e)})}function df(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Lf(e)!==n-t)throw new Zf({offset:n,position:`end`,size:Lf(e)})}function ff(e){if(e>=hf.zero&&e<=hf.nine)return e-hf.zero;if(e>=hf.A&&e<=hf.F)return e-(hf.A-10);if(e>=hf.a&&e<=hf.f)return e-(hf.a-10)}function pf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new Qf({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 mf(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 hf,gf=o((()=>{$f(),hf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function _f(e,t){if(sp(e)>t)throw new bp({givenSize:sp(e),maxSize:t})}function vf(e,t){if(typeof t==`number`&&t>0&&t>sp(e)-1)throw new xp({offset:t,position:`start`,size:sp(e)})}function yf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&sp(e)!==n-t)throw new xp({offset:n,position:`end`,size:sp(e)})}function bf(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 Sp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function xf(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 Sf=o((()=>{z()}));function Cf(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=>Cf(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)}:${Cf(r)}`),t},[]).join(`,`)}}`}function wf(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Ef)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Tf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Ef:n,n)}var Ef,Df=o((()=>{Ef=`#__bigint`}));function Of(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 Yf(e)}function kf(...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 Af(e){return e instanceof Uint8Array?e:typeof e==`string`?Mf(e):jf(e)}function jf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Mf(e,t={}){let{size:n}=t,r=e;n&&(_f(e,n),r=ap(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=ff(i.charCodeAt(t++)),r=ff(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new P(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function Nf(e,t={}){let{size:n}=t,r=qf.encode(e);return typeof n==`number`?(lf(r,n),Ff(r,n)):r}function Pf(e,t){return sc(e,t)}function Ff(e,t){return pf(e,{dir:`right`,size:t})}function If(e){return crypto.getRandomValues(new Uint8Array(e))}function Lf(e){return e.length}function Rf(e,t,n,r={}){let{strict:i}=r;uf(e,t);let a=e.slice(t,n);return i&&df(a,t,n),a}function zf(e,t={}){let{size:n}=t;return n!==void 0&&lf(e,n),lp(I(e,t),t)}function Bf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(lf(r,n),r=Uf(r)),r.length>1||r[0]>1)throw new Jf(r);return!!r[0]}function Vf(e,t={}){let{size:n}=t;return n!==void 0&&lf(e,n),dp(I(e,t),t)}function Hf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(lf(r,n),r=Wf(r)),Kf.decode(r)}function Uf(e){return mf(e,{dir:`left`})}function Wf(e){return mf(e,{dir:`right`})}function Gf(e){try{return Of(e),!0}catch{return!1}}var Kf,qf,Jf,Yf,Xf,Zf,Qf,$f=o((()=>{Tc(),cf(),z(),gf(),Sf(),Df(),Kf=new TextDecoder,qf=new TextEncoder,Jf=class extends P{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`})}},Yf=class extends P{constructor(e){super(`Value \\`${typeof e==`object`?Tf(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`})}},Xf=class extends P{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`})}},Zf=class extends P{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`})}},Qf=class extends P{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 ep(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new _p(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new vp(e)}function F(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function tp(e){return e instanceof Uint8Array?I(e):Array.isArray(e)?I(new Uint8Array(e)):e}function np(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(_f(n,t.size),ip(n,t.size)):n}function I(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=hp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(_f(r,t.size),ap(r,t.size)):r}function L(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 gp({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?ip(s,r):s}function rp(e,t={}){return I(mp.encode(e),t)}function ip(e,t){return bf(e,{dir:`left`,size:t})}function ap(e,t){return bf(e,{dir:`right`,size:t})}function op(e){return I(If(e))}function R(e,t,n,r={}){let{strict:i}=r;vf(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&yf(a,t,n),a}function sp(e){return Math.ceil((e.length-2)/2)}function cp(e){return xf(e,{dir:`left`})}function lp(e,t={}){let{signed:n}=t;t.size&&_f(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 up(e,t={}){return Mf(e,t)}function dp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:lp(e,t))}function fp(e,t={}){let{size:n}=t,r=Mf(e);return n&&(lf(r,n),r=Wf(r)),new TextDecoder().decode(r)}function pp(e,t={}){let{strict:n=!1}=t;try{return ep(e,{strict:n}),!0}catch{return!1}}var mp,hp,gp,_p,vp,yp,bp,xp,Sp,z=o((()=>{$f(),cf(),gf(),Sf(),Df(),mp=new TextEncoder,hp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),gp=class extends P{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`})}},_p=class extends P{constructor(e){super(`Value \\`${typeof e==`object`?Tf(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`})}},vp=class extends P{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`})}},yp=class extends P{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`})}},bp=class extends P{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`})}},xp=class extends P{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`})}},Sp=class extends P{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 Cp(e){return{address:e.address,amount:L(e.amount),index:L(e.index),validatorIndex:L(e.validatorIndex)}}var wp=o((()=>{z()}));function Tp(e){return{...typeof e.baseFeePerGas==`bigint`&&{baseFeePerGas:L(e.baseFeePerGas)},...typeof e.blobBaseFee==`bigint`&&{blobBaseFee:L(e.blobBaseFee)},...typeof e.feeRecipient==`string`&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit==`bigint`&&{gasLimit:L(e.gasLimit)},...typeof e.number==`bigint`&&{number:L(e.number)},...typeof e.prevRandao==`bigint`&&{prevRandao:L(e.prevRandao)},...typeof e.time==`bigint`&&{time:L(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Cp)}}}var Ep=o((()=>{z(),wp()})),Dp,Op,kp,Ap,jp,Mp=o((()=>{Dp=[{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`}],Op=[{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`}]}],kp=[{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`}],[...kp],[...kp],Ap=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],jp=[{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`}]})),Np=o((()=>{})),Pp,Fp,Ip,Lp,Rp=o((()=>{Pp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Fp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Ip=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,Lp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),zp,Bp,Vp,Hp,Up,Wp=o((()=>{k(),zp=class extends O{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`})}},Bp=class extends O{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`})}},Vp=class extends O{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`})}},Hp=class extends O{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},Up=class extends O{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function Gp(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 Zt({docsPath:Kp});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new Qt({docsPath:Kp});return Hi([r,$i(i.inputs,n)])}var Kp,qp=o((()=>{xn(),Ui(),da(),Kp=`/docs/contract/encodeDeployData`}));function Jp({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new zp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new zp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var Yp=o((()=>{Wp()}));function Xp(e,{docsPath:t,...n}){return new Mo((()=>{let t=Hu(e,n);return t instanceof Bu?e:t})(),{docsPath:t,...n})}var Zp=o((()=>{Ro(),Vu(),Uu()}));function Qp(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var $p=o((()=>{}));function em({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=()=>tm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>tm.get(t)||[],l=e=>tm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=Qp();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 tm,nm=o((()=>{$p(),tm=new Map})),rm,im,am,om=o((()=>{ro(),k(),jo(),rm=class extends O{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=>` ${Ao(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},im=class extends O{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Ao(t)}`,`Response: ${no(e)}`],name:`OffchainLookupResponseMalformedError`})}},am=class extends O{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 sm(e){let{abi:t,data:n}=e,r=Wi(n,0,4),i=t.find(e=>e.type===`function`&&r===fa(Bt(e)));if(!i)throw new fn(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?Va(i.inputs,Wi(n,4)):void 0}}var cm=o((()=>{xn(),Yi(),pa(),$a(),Ut()}));function lm(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=ma({abi:t,args:r,name:n});if(!e)throw new on(n,{docsPath:um});i=e}if(i.type!==`error`)throw new on(void 0,{docsPath:um});let a=fa(Bt(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new an(i.name,{docsPath:um});o=$i(i.inputs,r)}return Hi([a,o])}var um,dm=o((()=>{xn(),Ui(),pa(),da(),Ut(),_a(),um=`/docs/contract/encodeErrorResult`}));function fm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=ma({abi:t,name:n});if(!e)throw new un(n,{docsPath:pm});i=e}if(i.type!==`function`)throw new un(void 0,{docsPath:pm});if(!i.outputs)throw new dn(i.name,{docsPath:pm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new yn(r)})();return $i(i.outputs,a)}var pm,mm=o((()=>{xn(),da(),_a(),pm=`/docs/contract/encodeFunctionResult`}));async function hm(e){let{data:t,ccipRequest:n}=e,{args:[r]}=sm({abi:Op,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await hm({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=gm(e)}})),fm({abi:Op,functionName:`query`,result:[i,a]})}function gm(e){return e.name===`HttpRequestError`&&e.status?lm({abi:Op,errorName:`HttpError`,args:[e.status,e.shortMessage]}):lm({abi:[Ea],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var _m=o((()=>{Mp(),Oa(),cm(),dm(),mm()})),vm=c({ccipRequest:()=>bm,offchainLookup:()=>ym,offchainLookupAbiItem:()=>Sm,offchainLookupSignature:()=>xm});async function ym(e,{blockNumber:t,blockTag:n,data:r,to:i}){let{args:a}=eo({data:r,abi:[Sm]}),[o,s,c,l,u]=a,{ccipRead:d}=e,f=d&&typeof d?.request==`function`?d.request:bm;try{if(!Gd(i,o))throw new am({sender:o,to:i});let{data:r}=await wm(e,{blockNumber:t,blockTag:n,data:Bi([l,$i([{type:`bytes`},{type:`bytes`}],[s.includes(`x-batch-gateway:true`)?await hm({data:c,ccipRequest:f}):await f({data:c,sender:o,urls:s}),u])]),to:i});return r}catch(e){throw new rm({callbackSelector:l,cause:e,data:r,extraData:u,sender:o,urls:s})}}async function bm({data:e,sender:t,urls:n}){let r=Error(`An unknown error occurred.`);for(let i=0;i<n.length;i++){let a=n[i],o=a.includes(`{data}`)?`GET`:`POST`,s=o===`POST`?{data:e,sender:t}:void 0,c=o===`POST`?{\"Content-Type\":`application/json`}:{};try{let n=await fetch(a.replace(`{sender}`,t.toLowerCase()).replace(`{data}`,e),{body:JSON.stringify(s),headers:c,method:o}),i;if(i=n.headers.get(`Content-Type`)?.startsWith(`application/json`)?(await n.json()).data:await n.text(),!n.ok){r=new zo({body:s,details:i?.error?no(i.error):n.statusText,headers:n.headers,status:n.status,url:a});continue}if(!D(i)){r=new im({result:i,url:a});continue}return i}catch(e){r=new zo({body:s,details:e.message,url:a})}}throw r}var xm,Sm,Cm=o((()=>{Am(),om(),Ho(),to(),da(),Kd(),Ui(),Wt(),_m(),ro(),xm=`0x556f1830`,Sm={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 wm(e,t){let{account:n=e.account,authorizationList:r,batch:i=!!e.batch?.multicall,blockNumber:a,blockTag:o=e.experimental_blockTag??`latest`,accessList:s,blobs:c,blockOverrides:l,code:u,data:d,factory:f,factoryData:p,gas:m,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:_,maxPriorityFeePerGas:v,nonce:y,to:b,value:x,stateOverride:S,...ee}=t,te=n?va(n):void 0;if(u&&(f||p))throw new O(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(u&&b)throw new O(\"Cannot provide both `code` & `to` as parameters.\");let C=u&&d,w=f&&p&&b&&d,T=C||w,ne=C?Dm({code:u,data:d}):w?Om({data:d,factory:f,factoryData:p,to:b}):d;try{od(t);let n=(typeof a==`bigint`?j(a):void 0)||o,u=l?Tp(l):void 0,d=nd(S),f=e.chain?.formatters?.transactionRequest?.format,p=(f||Yu)({...Gu(ee,{format:f}),accessList:s,account:te,authorizationList:r,blobs:c,data:ne,gas:m,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:_,maxPriorityFeePerGas:v,nonce:y,to:T?void 0:b,value:x},`call`);if(i&&Tm({request:p})&&!d&&!u)try{return await Em(e,{...p,blockNumber:a,blockTag:o})}catch(e){if(!(e instanceof Hp)&&!(e instanceof zp))throw e}let C=(()=>{let e=[p,n];return d&&u?[...e,d,u]:d?[...e,d]:u?[...e,{},u]:e})(),w=await e.request({method:`eth_call`,params:C});return w===`0x`?{data:void 0}:{data:w}}catch(n){let r=km(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Cm(),vm));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&b)return{data:await i(e,{data:r,to:b})};throw T&&r?.slice(0,10)===`0x101bb98d`?new Io({factory:f}):Xp(n,{...t,account:te,chain:e.chain})}}function Tm({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)}async function Em(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockNumber:a,blockTag:o=e.experimental_blockTag??`latest`,data:s,to:c}=t,l=(()=>{if(r)return null;if(t.multicallAddress)return t.multicallAddress;if(e.chain)return Jp({blockNumber:a,chain:e.chain,contract:`multicall3`});throw new Hp})(),u=(typeof a==`bigint`?j(a):void 0)||o,{schedule:d}=em({id:`${e.uid}.${u}`,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:Dp,args:[n],functionName:`aggregate3`}),i=await e.request({method:`eth_call`,params:[{...l===null?{data:Dm({code:Lp,data:r})}:{to:l,data:r}},u]});return $d({abi:Dp,args:[n],functionName:`aggregate3`,data:i||`0x`})}}),[{returnData:f,success:p}]=await d({data:s,to:c});if(!p)throw new Lo({data:f});return f===`0x`?{data:void 0}:{data:f}}function Dm(e){let{code:t,data:n}=e;return Gp({abi:Lt([`constructor(bytes, bytes)`]),bytecode:Pp,args:[t,n]})}function Om(e){let{data:t,factory:n,factoryData:r,to:i}=e;return Gp({abi:Lt([`constructor(address, bytes, address, bytes)`]),bytecode:Fp,args:[i,t,n,r]})}function km(e){if(!(e instanceof O))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Am=o((()=>{zt(),Ep(),ya(),Mp(),Np(),Rp(),k(),Wp(),Ro(),tf(),qp(),wa(),Yp(),M(),Zp(),Ku(),$u(),nm(),rd(),sd()}));tf(),wa(),Am();async function jm(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 E(e,wm,`call`)({...o,data:s,to:r});return $d({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw bs(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}let Mm=new Map,Nm=new Map,Pm=0;function Fm(e,t,n){let r=++Pm,i=()=>Mm.get(e)||[],a=()=>{let t=i();Mm.set(e,t.filter(e=>e.id!==r))},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Nm.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Mm.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`&&Nm.set(e,l),o}async function Im(e){return new Promise(t=>setTimeout(t,e))}function Lm(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await Im(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await Im(r),s())};s()})(),a}k();var Rm=class extends O{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`})}},zm=class extends O{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};Wp();function Bm({chain:e,currentChainId:t}){if(!e)throw new Vp;if(t!==e.id)throw new Bp({chain:e,currentChainId:t})}async function Vm(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ya(),k(),Ui(),Ku(),$u(),ji(),sd();let Hm=new Ai(128);async function Um(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 Rm({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?va(n):null;try{od(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Du({authorization:o[0]}).catch(()=>{throw new O(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await E(e,Rd,`getChainId`)({}),r&&Bm({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||Yu)({...Gu(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Bi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=Hm.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=>(Hm.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(Hm.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){let t=await E(e,Ud,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Bi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:y.nonceManager,parameters:[...Bd,`sidecars`],type:g,value:_,...v,to:n}),r=i?.serializers?.transaction,b=await y.signTransaction(t,{serializer:r});return await E(e,Vm,`sendRawTransaction`)({serializedTransaction:b})}throw y?.type===`smart`?new zm({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new zm({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof zm?e:Ld(e,{...t,account:y,chain:t.chain||void 0})}}ya(),wa();async function Wm(e,t){return Wm.internal(e,Um,`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 Rm({docsPath:`/docs/contract/writeContract`});let u=a?va(a):null,d=Ca({abi:i,args:s,functionName:c});try{return await E(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw bs(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(Wm||={}),k();var Gm=class extends O{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}};function Km(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0}={}){return new Promise((i,a)=>{let o=async({count:s=0}={})=>{let c=async({error:e})=>{let n=typeof t==`function`?t({count:s,error:e}):t;n&&await Im(n),o({count:s+1})};try{i(await e())}catch(e){if(s<n&&await r({count:s,error:e}))return c({error:e});a(e)}};o()})}Vn(),Ju();let qm={\"0x0\":`reverted`,\"0x1\":`success`};function Jm(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=>qd(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Bn(e.transactionIndex):null,status:e.status?qm[e.status]:null,type:e.type?fd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let Ym=qu(`transactionReceipt`,Jm);ya(),k(),ys(),wa(),Ui(),Vn(),M();let Xm=j(0,{size:32});async function Zm(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?va(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?Bi([n,t.dataSuffix]):n,to:t.to,value:t.value?j(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:j(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 us(new O(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new gs(new O(e,{details:e}))}let t=[];for(let n of d){let i=Um(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?A(n.value):void 0});t.push(i),a>0&&await new Promise(e=>setTimeout(e,a))}let n=await Promise.allSettled(t);if(n.every(e=>e.status===`rejected`))throw n[0].reason;return{id:Bi([...n.map(e=>e.status===`fulfilled`?e.value:Xm),j(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Ld(n,{...t,account:l,chain:t.chain})}}Yi(),Ln(),Vn();async function Qm(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=In(Ji(t,-64,-32)),r=Ji(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>Xm.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:Bn(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?Bn(i):void 0,receipts:a?.map(e=>({...e,blockNumber:A(e.blockNumber),gasUsed:A(e.gasUsed),status:qm[e.status]}))??[],statusCode:l,status:c,version:o}}k(),$p(),ro();async function $m(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}=Qp(),p,m=Fm(l,{resolve:d,reject:f},t=>{let s=Lm(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await Km(async()=>{let t=await E(e,Qm,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new Gm(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 eh({id:n}))},s):void 0,await u}var eh=class extends O{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let th=256,nh;function rh(e=11){if(!nh||th+e>256*2){nh=``,th=0;for(let e=0;e<256;e++)nh+=(256+Math.random()*256|0).toString(16).substring(1)}return nh.substring(th,th+++e)}ya();function ih(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?va(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:rh(),...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(_)})}M();async function ah(e,{address:t,blockNumber:n,blockTag:r=`latest`}){let i=n===void 0?void 0:j(n),a=await e.request({method:`eth_getCode`,params:[t,i||r]},{dedupe:!!i});if(a!==`0x`)return a}ad(),ki(),k(),Wp(),Vu(),zi(),Kt(),Yi(),Vn();function oh(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Ii(n))throw new Oi({address:n});if(t<0)throw new Up({chainId:t})}ch(e)}function sh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new jd;for(let e of t){let t=Gt(e),n=Bn(Wi(e,0,1));if(t!==32)throw new Md({hash:e,size:t});if(n!==1)throw new Nd({hash:e,version:n})}}ch(e)}function ch(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new Up({chainId:t});if(i&&!Ii(i))throw new Oi({address:i});if(r&&r>id)throw new Au({maxFeePerGas:r});if(n&&r&&n>r)throw new zu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function lh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new Up({chainId:t});if(a&&!Ii(a))throw new Oi({address:a});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>id)throw new Au({maxFeePerGas:r})}function uh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Ii(a))throw new Oi({address:a});if(t!==void 0&&t<=0)throw new Up({chainId:t});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>id)throw new Au({maxFeePerGas:r})}ki(),Oo(),zi();function dh(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(!Ii(r,{strict:!1}))throw new Oi({address:r});t.push([r,i])}return t}Oo(),Ui(),Ln(),M();function fh(e,t){let n=Id(e);return n===`eip1559`?hh(e,t):n===`eip2930`?gh(e,t):n===`eip4844`?mh(e,t):n===`eip7702`?ph(e,t):_h(e,t)}function ph(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;oh(e);let f=dh(u),p=yh(n);return Hi([`0x04`,xu([j(r),a?j(a):`0x`,l?j(l):`0x`,c?j(c):`0x`,i?j(i):`0x`,o??`0x`,s?j(s):`0x`,d??`0x`,f,p,...vh(e,t)])])}function mh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;sh(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=>Wn(e)),n=e.kzg,r=Sd({blobs:t,kzg:n});f===void 0&&(f=Dd({commitments:r})),p===void 0&&(p=Fd({blobs:t,commitments:r,proofs:Cd({blobs:t,commitments:r,kzg:n})}))}let m=dh(u),h=[j(n),i?j(i):`0x`,l?j(l):`0x`,c?j(c):`0x`,r?j(r):`0x`,a??`0x`,o?j(o):`0x`,d??`0x`,m,s?j(s):`0x`,f??[],...vh(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 Hi([`0x03`,xu(p?[h,g,_,v]:h)])}function hh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;ch(e);let d=dh(l);return Hi([`0x02`,xu([j(n),i?j(i):`0x`,c?j(c):`0x`,s?j(s):`0x`,r?j(r):`0x`,a??`0x`,o?j(o):`0x`,u??`0x`,d,...vh(e,t)])])}function gh(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;lh(e);let u=dh(c);return Hi([`0x01`,xu([j(n),a?j(a):`0x`,l?j(l):`0x`,r?j(r):`0x`,o??`0x`,s?j(s):`0x`,i??`0x`,u,...vh(e,t)])])}function _h(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;uh(e);let l=[a?j(a):`0x`,c?j(c):`0x`,r?j(r):`0x`,o??`0x`,s?j(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=In(t.r),i=In(t.s);l=[...l,j(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,j(n),`0x`,`0x`]);return xu(l)}function vh(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=In(n.r),o=In(n.s);return[typeof i==`number`?i?j(1):`0x`:r===0n?`0x`:r===1n?j(1):r===27n?`0x`:j(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}M();function yh(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?Hn(e):`0x`,a,r?Hn(r):`0x`,...vh({},i)])}return t}Fi(),Kd();async function bh({address:e,authorization:t,signature:n}){return Gd(Ni(e),await Du({authorization:t,signature:n}))}ji();let xh=new Ai(8192);function Sh(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(xh.get(n))return xh.get(n);let r=e().finally(()=>xh.delete(n));return xh.set(n,r),r}k(),Ho(),ys(),M(),ro();function Ch(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,uid:c}={...t,...r},{method:l}=n;if(a?.exclude?.includes(l)||a?.include&&!a.include.includes(l))throw new ts(Error(`method not supported`),{method:l});return Sh(()=>Km(async()=>{try{return await e(n)}catch(e){let t=e;switch(t.code){case Ko.code:throw new Ko(t);case qo.code:throw new qo(t);case Jo.code:throw new Jo(t,{method:n.method});case Yo.code:throw new Yo(t);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,{method:n.method});case ns.code:throw new ns(t);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 5e3:throw new is(t);case _s.code:throw new _s(t);default:throw e instanceof O?e:new vs(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof zo){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,shouldRetry:({error:e})=>wh(e)}),{enabled:i,id:i?Gn(`${c}.${no(n)}`):void 0})}}function wh(e){return`code`in e&&typeof e.code==`number`?e.code===-1||e.code===ns.code||e.code===Xo.code:e instanceof zo&&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 Th(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 Eh(){return{}}k(),Fn(),Fa(),nr(),M();function Dh(e,t=`hex`){return Oh(Na((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Nn(e);return Zn(e)}return e})(),{recursiveReadLimit:1/0}),t)}function Oh(e,t=`hex`){if(e.bytes.length===0)return t===`hex`?Wn(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=kh(e,n,128),i=e.readBytes(r);return t===`hex`?Wn(i):i}return Ah(e,kh(e,n,192),t)}function kh(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 O(`Invalid RLP prefix`)}function Ah(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(Oh(e,n));return i}Wt(),Kt();function jh(e){return D(e)&&Gt(e)===32}function Mh(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o;try{let s=new AbortController;n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){e?.name===`AbortError`&&a(t),a(e)}finally{clearTimeout(o)}})()})}function Nh(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let Ph=Nh();Ho(),ro();function Fh(e,t={}){let{url:n,headers:r}=Ih(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 Mh(async({signal:e})=>{let t={...l,body:no(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??Ph.take(),...e})):{jsonrpc:`2.0`,id:i.id??Ph.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 Vo({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 zo({body:i,details:no(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw e instanceof zo||e instanceof Vo?e:new zo({body:i,cause:e,url:n})}}}}function Ih(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}}}Ui(),Kt(),M();function Lh(e){let t=typeof e==`string`?Gn(e):typeof e.raw==`string`?e.raw:Wn(e.raw);return Bi([Gn(`\u0019Ethereum Signed Message:\n${Gt(t)}`),t])}gi();function Rh(e,t){return hi(Lh(e),t)}ro(),k();var zh=class extends O{constructor({domain:e}){super(`Invalid domain \"${no(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},Bh=class extends O{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`.\"]})}},Vh=class extends O{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};xn(),ki(),zi(),Kt(),M(),Qi(),ro();function Hh(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 Uh(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(Zi);if(s&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=s;j(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Ii(o))throw new Oi({address:o});let c=r.match(Xi);if(c){let[e,t]=c;if(t&&Gt(o)!==Number.parseInt(t,10))throw new mn({expectedSize:Number.parseInt(t,10),givenSize:Gt(o)})}let l=i[r];l&&(Gh(r),a(l,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new zh({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`)if(i[r])a(i[r],n);else throw new Bh({primaryType:r,types:i})}function Wh({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 Gh(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new Vh({type:e})}da(),Ui(),M(),gi();function Kh(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:Wh({domain:t}),...e.types};Uh({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(qh({domain:t,types:i})),r!==`EIP712Domain`&&a.push(Jh({data:n,primaryType:r,types:i})),hi(Bi(a))}function qh({domain:e,types:t}){return Jh({data:e,primaryType:`EIP712Domain`,types:t})}function Jh({data:e,primaryType:t,types:n}){return hi(Yh({data:e,primaryType:t,types:n}))}function Yh({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[Xh({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=$h({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return $i(r,i)}function Xh({primaryType:e,types:t}){return hi(Hn(Zh({primaryType:e,types:t})))}function Zh({primaryType:e,types:t}){let n=``,r=Qh({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 Qh({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])Qh({primaryType:e.type,types:t},n);return n}function $h({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},hi(Yh({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},hi(r)];if(n===`string`)return[{type:`bytes32`},hi(Hn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>$h({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},hi($i(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var eg=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 tg(e,t){return e.exec(t)?.groups}let ng=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,rg=/^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)?$/,ig=/^\\(.+?\\).*?$/,ag=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function og(e){let t=e.type;if(ag.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+=og(i),r<n-1&&(t+=`, `)}let r=tg(ag,e.type);return t+=`)${r?.array||``}`,og({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function sg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=og(i),r!==n-1&&(t+=`, `)}return t}function cg(e){return e.type===`function`?`function ${e.name}(${sg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${sg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${sg(e.inputs)})`:e.type===`error`?`error ${e.name}(${sg(e.inputs)})`:e.type===`constructor`?`constructor(${sg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let lg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function ug(e){return lg.test(e)}function dg(e){return tg(lg,e)}let fg=new Set([`memory`,`indexed`,`storage`,`calldata`]),pg=new Set([`calldata`,`memory`,`storage`]);var mg=class extends eg{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`})}},hg=class extends eg{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`})}},gg=class extends eg{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`})}},_g=class extends eg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},vg=class extends eg{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`})}},yg=class extends eg{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`})}},bg=class extends eg{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`})}},xg=class extends eg{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`})}},Sg=class extends eg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Cg=class extends eg{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`})}},wg=class extends eg{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`})}},Tg=class extends eg{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 Eg(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 Dg=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}]]),Og=/^(?<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$_]*))?$/,kg=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Ag=/^u?int$/;function jg(e,t){let n=Eg(e,t?.type,t?.structs);if(Dg.has(n))return Dg.get(n);let r=ig.test(e),i=tg(r?kg:Og,e);if(!i)throw new _g({param:e});if(i.name&&Fg(i.name))throw new vg({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=Mg(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(jg(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(Ag.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!Ng(c))throw new hg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new yg({param:e,type:t?.type,modifier:i.modifier});if(pg.has(i.modifier)&&!Ig(c,!!i.array))throw new bg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return Dg.set(n,u),u}function Mg(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?Mg(o,[...t,n.trim()]):Mg(o,t,`${n}${i}`,r);case`(`:return Mg(o,t,`${n}${i}`,r+1);case`)`:return Mg(o,t,`${n}${i}`,r-1);default:return Mg(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new Tg({current:n,depth:r});return t.push(n.trim()),t}function Ng(e){return e===`address`||e===`bool`||e===`function`||e===`string`||ng.test(e)||rg.test(e)}let Pg=/^(?: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 Fg(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||ng.test(e)||rg.test(e)||Pg.test(e)}function Ig(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function Lg(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!ug(n))continue;let i=dg(n);if(!i)throw new Sg({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=jg(t,{type:`struct`});o.push(n)}if(!o.length)throw new Cg({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]=zg(a,t)}return r}let Rg=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function zg(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(ig.test(i.type))r.push(i);else{let e=tg(Rg,i.type);if(!e?.type)throw new xg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new wg({type:o});r.push({...i,type:`tuple${a??``}`,components:zg(t[o],t,new Set([...n,o]))})}else if(Ng(o))r.push(i);else throw new mg({type:o})}}return r}function Bg(e){let t=[];if(typeof e==`string`){let n=Mg(e),r=n.length;for(let e=0;e<r;e++)t.push(jg(n[e],{modifiers:fg}))}else{let n=Lg(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(ug(r))continue;let a=Mg(r),o=a.length;for(let e=0;e<o;e++)t.push(jg(a[e],{modifiers:fg,structs:n}))}}if(t.length===0)throw new gg({params:e});return t}let Vg={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;Ks(),mi(),$f(),z();function Hg(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=fi(Af(e));return n===`Bytes`?r:I(r)}function Ug(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Gs(wd,Af(e),Af(t));return r===`Bytes`?i:I(i)}function Wg(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=wd(Af(e));return n===`Bytes`?r:I(r)}function Gg(e){return pp(e)&&sp(e)===32}$f(),cf(),z(),Df();function Kg(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 $g({prefix:r,cause:new t_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new $g({prefix:r,cause:new e_});return}throw new Qg({publicKey:e})}function qg(e){let t=(()=>{if(pp(e))return Yg(e);if(Gf(e))return Jg(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 Kg(t),t}function Jg(e){return Yg(I(e))}function Yg(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new n_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(R(e,0,32)),y:BigInt(R(e,32,64))}:e.length===132?{prefix:Number(R(e,0,1)),x:BigInt(R(e,1,33)),y:BigInt(R(e,33,65))}:{prefix:Number(R(e,0,1)),x:BigInt(R(e,1,33))}}function Xg(e,t={}){return Mf(Zg(e,t))}function Zg(e,t={}){Kg(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return F(a?L(n,{size:1}):`0x`,L(r,{size:32}),typeof i==`bigint`?L(i,{size:32}):`0x`)}var Qg=class extends P{constructor({publicKey:e}){super(`Value \\`${Tf(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`})}},$g=class extends P{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`})}},e_=class extends P{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`})}},t_=class extends P{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},n_=class extends P{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 ${sp(tp(e))} bytes.`]}),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};$f(),cf();let r_=/^0x[a-fA-F0-9]{40}$/;function i_(e,t={}){let{strict:n=!0}=t;if(!r_.test(e))throw new u_({address:e,cause:new d_});if(n){if(e.toLowerCase()===e)return;if(a_(e)!==e)throw new u_({address:e,cause:new f_})}}function a_(e){if(Vg.has(e))return Vg.get(e);i_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=Hg(Nf(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 Vg.set(e,i),i}function o_(e,t={}){let{checksum:n=!1}=t;return i_(e),n?a_(e):e}function s_(e,t={}){return o_(`0x${Hg(`0x${Zg(e).slice(4)}`).substring(26)}`,t)}function c_(e,t){return i_(e,{strict:!1}),i_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function l_(e,t={}){let{strict:n=!0}=t??{};try{return i_(e,{strict:n}),!0}catch{return!1}}var u_=class extends P{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`})}},d_=class extends P{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`})}},f_=class extends P{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let p_=/^(.*)\\[([0-9]*)\\]$/,m_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,h_=/^(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 g_=2n**256n-1n;$f(),cf(),z();function __(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=F_(t.type);if(a){let[n,o]=a;return y_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return C_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return v_(e,{checksum:r});if(t.type===`bool`)return b_(e);if(t.type.startsWith(`bytes`))return x_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return S_(e,t);if(t.type===`string`)return w_(e,{staticPosition:i});throw new Q_(t.type)}function v_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?a_(e):e)(I(Rf(e.readBytes(32),-20))),32]}function y_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(!i){let n=a+Vf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Vf(e.readBytes(32)),s=I_(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=__(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a)}return e.setPosition(a+32),[l,32]}if(I_(t)){let n=a+Vf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=__(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]=__(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n)}return[s,o]}function b_(e){return[Bf(e.readBytes(32),{size:32}),32]}function x_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Vf(e.readBytes(32));e.setPosition(n+t);let r=Vf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[I(i),32]}return[I(e.readBytes(Number.parseInt(i,10),32)),32]}function S_(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?zf(i,{signed:n}):Vf(i,{signed:n}),32]}function C_(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(I_(t)){let n=i+Vf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=__(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]=__(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function w_(e,{staticPosition:t}){let n=t+Vf(e.readBytes(32));e.setPosition(n);let r=Vf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Hf(Uf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function T_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(E_({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function E_({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=F_(r.type);if(i){let[t,a]=i;return k_(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return P_(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return O_(n,{checksum:e});if(r.type===`bool`)return j_(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=h_.exec(r.type)??[];return M_(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return A_(n,{type:r.type});if(r.type===`string`)return N_(n);throw new Q_(r.type)}function D_(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];r?t+=32:t+=sp(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(L(t+i,{size:32})),r.push(s),i+=sp(s)):n.push(s)}return F(...n,...r)}function O_(e,t){let{checksum:n=!1}=t;return i_(e,{strict:n}),{dynamic:!1,encoded:ip(e.toLowerCase())}}function k_(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new Z_(e);if(!a&&e.length!==r)throw new J_({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=!1,s=[];for(let t=0;t<e.length;t++){let r=E_({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=D_(s);if(a){let t=L(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?F(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:F(...s.map(({encoded:e})=>e))}}function A_(e,{type:t}){let[,n]=t.split(`bytes`),r=sp(e);if(!n){let t=e;return r%32!=0&&(t=ap(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:F(ip(L(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new Y_({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:ap(e)}}function j_(e){if(typeof e!=`boolean`)throw new P(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:ip(np(e))}}function M_(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 gp({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:L(e,{size:32,signed:t})}}function N_(e){let t=rp(e),n=Math.ceil(sp(t)/32),r=[];for(let e=0;e<n;e++)r.push(ap(R(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:F(ap(L(sp(t),{size:32})),...r)}}function P_(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=E_({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?D_(a):F(...a.map(({encoded:e})=>e))}}function F_(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function I_(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(I_);let n=F_(e.type);return!!(n&&I_({...e,type:n[1]}))}cf();let L_={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 V_({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new B_({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new z_({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 z_({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 R_(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(L_);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var z_=class extends P{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},B_=class extends P{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`})}},V_=class extends P{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`})}};$f(),cf(),z();function H_(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Mf(t):t,o=R_(a);if(Lf(a)===0&&e.length>0)throw new q_;if(Lf(a)&&Lf(a)<32)throw new K_({data:typeof t==`string`?t:I(t),parameters:e,size:Lf(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]=__(o,n,{checksumAddress:i,staticPosition:0});s+=l,r===`Array`?c.push(a):c[n.name??t]=a}return c}function U_(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new X_({expectedLength:e.length,givenLength:t.length});let i=D_(T_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function W_(e,t){if(e.length!==t.length)throw new X_({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(W_.encode(i,a))}return F(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return i_(e),ip(e.toLowerCase(),r?32:0)}if(e===`string`)return rp(n);if(e===`bytes`)return n;if(e===`bool`)return ip(np(n),r?32:1);let i=e.match(h_);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return L(n,{size:r?32:o,signed:t===`int`})}let a=e.match(m_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new Y_({expectedSize:Number.parseInt(t,10),value:n});return ap(n,r?32:0)}let o=e.match(p_);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`:F(...i)}throw new Q_(e)}e.encode=t})(W_||={});function G_(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?Bg(e):e}var K_=class extends P{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${sg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},q_=class extends P{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},J_=class extends P{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`})}},Y_=class extends P{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${sp(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},X_=class extends P{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`})}},Z_=class extends P{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},Q_=class extends P{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};$f(),cf(),z();function $_(e){return ev(e,`Hex`)}function ev(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return tv(R_((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new yp(e);return Mf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function tv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?I(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=nv(e,n,128),i=e.readBytes(r);return t===`Hex`?I(i):i}return rv(e,nv(e,n,192),t)}function nv(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 P(`Invalid RLP prefix`)}function rv(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(tv(e,n));return i}function iv(e,t){let{as:n}=t,r=ov(e),i=R_(new Uint8Array(r.length));return r.encode(i),n===`Hex`?I(i.bytes):i.bytes}function av(e,t={}){let{as:n=`Hex`}=t;return iv(e,{as:n})}function ov(e){return Array.isArray(e)?sv(e.map(e=>ov(e))):cv(e)}function sv(e){let t=e.reduce((e,t)=>e+t.length,0),n=lv(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 cv(e){let t=typeof e==`string`?Mf(e):e,n=lv(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 lv(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new P(`Length is too large.`)}cf(),z(),Df();function uv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new wv({signature:e});if(e.r<0n||e.r>g_)throw new Tv({value:e.r});if(e.s<0n||e.s>g_)throw new Ev({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new Dv({value:e.yParity})}function dv(e){return fv(I(e))}function fv(e){if(e.length!==130&&e.length!==132)throw new Cv({signature:e});let t=BigInt(R(e,0,32)),n=BigInt(R(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return xv(t)}catch{throw new Dv({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function pv(e){if(e.r!==void 0&&e.s!==void 0)return mv(e)}function mv(e){let t=typeof e==`string`?fv(e):e instanceof Uint8Array?dv(e):typeof e.r==`string`?gv(e):e.v?hv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return uv(t),t}function hv(e){return{r:e.r,s:e.s,yParity:xv(e.v)}}function gv(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=xv(t)),typeof n!=`number`)throw new Dv({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function _v(e){let[t,n,r]=e;return mv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function vv(e){uv(e);let t=e.r,n=e.s;return F(L(t,{size:32}),L(n,{size:32}),typeof e.yParity==`number`?L(Sv(e.yParity),{size:1}):`0x`)}function yv(e){let{r:t,s:n,yParity:r}=e;return{r:L(t,{size:32}),s:L(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function bv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:cp(L(t)),n===0n?`0x`:cp(L(n))]}function xv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new Ov({value:e})}function Sv(e){if(e===0)return 27;if(e===1)return 28;throw new Dv({value:e})}var Cv=class extends P{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${sp(tp(e))} bytes.`]}),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},wv=class extends P{constructor({signature:e}){super(`Signature \\`${Tf(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},Tv=class extends P{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`})}},Ev=class extends P{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`})}},Dv=class extends P{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`})}},Ov=class extends P{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`})}};z();function kv(e,t={}){return typeof e.chainId==`string`?Av(e):{...e,...t.signature}}function Av(e){let{address:t,chainId:n,nonce:r}=e,i=pv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function jv(e){return e.map(Av)}function Mv(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:L(n),nonce:L(r),...yv(i)}}function Nv(e){return e.map(Mv)}_u(),$f(),z();function Pv(e){let{privateKey:t}=e;return qg(nu.ProjectivePoint.fromPrivateKey(tp(t).slice(2)))}function Fv(e){return s_(Iv(e))}function Iv(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return qg(new nu.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(tp(t).substring(2)))}function Lv(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=nu.sign(Af(r),Af(i),{extraEntropy:typeof t==`boolean`?t:tp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Rv(e){let{address:t,hash:n,payload:r,publicKey:i,signature:a}=e;return t?c_(t,Fv({payload:r,signature:a})):nu.verify(a,Af(r),Xg(i),...n?[{prehash:!0,lowS:!0}]:[])}cf(),z();let zv=G_(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function Bv(e){if(typeof e==`string`){if(R(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new Uv(e)}else uv(e.authorization)}function Vv(e){Bv(e);let t=dp(R(e,-64,-32)),n=R(e,-t-64,-64),r=R(e,0,-t-64),[i,a,o]=H_(zv,n);return{authorization:kv({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 Hv(e){try{return Bv(e),!0}catch{return!1}}var Uv=class extends P{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(),Yi(),Vn();function Wv(e){let t=Ji(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`&&Bn(t)>=192)return`legacy`;throw new wo({serializedType:t})}ki(),Oo(),zi(),Wt(),kn(),Ln(),Vn();function Gv(e){let t=Wv(e);return t===`eip1559`?Jv(e):t===`eip2930`?Yv(e):t===`eip4844`?qv(e):t===`eip7702`?Kv(e):Xv(e)}function Kv(e){let t=Zv(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:Bn(n),type:`eip7702`};return D(s)&&s!==`0x`&&(h.to=s),D(o)&&o!==`0x`&&(h.gas=A(o)),D(l)&&l!==`0x`&&(h.data=l),D(r)&&(h.nonce=r===`0x`?0:Bn(r)),D(c)&&c!==`0x`&&(h.value=A(c)),D(a)&&a!==`0x`&&(h.maxFeePerGas=A(a)),D(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=A(i)),u.length!==0&&u!==`0x`&&(h.accessList=Qv(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=$v(d)),oh(h),{...t.length===13?ey(t):void 0,...h}}function qv(e){let t=Zv(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:Bn(a),to:u,type:`eip4844`};return D(l)&&l!==`0x`&&(S.gas=A(l)),D(f)&&f!==`0x`&&(S.data=f),D(o)&&(S.nonce=o===`0x`?0:Bn(o)),D(d)&&d!==`0x`&&(S.value=A(d)),D(m)&&m!==`0x`&&(S.maxFeePerBlobGas=A(m)),D(c)&&c!==`0x`&&(S.maxFeePerGas=A(c)),D(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=A(s)),p.length!==0&&p!==`0x`&&(S.accessList=Qv(p)),y&&b&&x&&(S.sidecars=Fd({blobs:y,commitments:b,proofs:x})),sh(S),{...r.length===14?ey(r):void 0,...S}}function Jv(e){let t=Zv(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:Bn(n),type:`eip1559`};return D(s)&&s!==`0x`&&(m.to=s),D(o)&&o!==`0x`&&(m.gas=A(o)),D(l)&&l!==`0x`&&(m.data=l),D(r)&&(m.nonce=r===`0x`?0:Bn(r)),D(c)&&c!==`0x`&&(m.value=A(c)),D(a)&&a!==`0x`&&(m.maxFeePerGas=A(a)),D(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=A(i)),u.length!==0&&u!==`0x`&&(m.accessList=Qv(u)),ch(m),{...t.length===12?ey(t):void 0,...m}}function Yv(e){let t=Zv(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:Bn(n),type:`eip2930`};return D(o)&&o!==`0x`&&(p.to=o),D(a)&&a!==`0x`&&(p.gas=A(a)),D(c)&&c!==`0x`&&(p.data=c),D(r)&&(p.nonce=r===`0x`?0:Bn(r)),D(s)&&s!==`0x`&&(p.value=A(s)),D(i)&&i!==`0x`&&(p.gasPrice=A(i)),l.length!==0&&l!==`0x`&&(p.accessList=Qv(l)),lh(p),{...t.length===11?ey(t):void 0,...p}}function Xv(e){let t=Dh(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(D(a)&&a!==`0x`&&(d.to=a),D(i)&&i!==`0x`&&(d.gas=A(i)),D(s)&&s!==`0x`&&(d.data=s),D(n)&&(d.nonce=n===`0x`?0:Bn(n)),D(o)&&o!==`0x`&&(d.value=A(o)),D(r)&&r!==`0x`&&(d.gasPrice=A(r)),uh(d),t.length===6)return d;let f=D(c)&&c!==`0x`?A(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 Zv(e){return Dh(`0x${e.slice(4)}`,`hex`)}function Qv(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Ii(r,{strict:!1}))throw new Oi({address:r});t.push({address:r,storageKeys:i.map(e=>jh(e)?e:In(e))})}return t}function $v(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:Bn(r),nonce:a===`0x`?0:Bn(a),...ey([o,s,c])})}return t}function ey(e){let t=e.slice(-3),n=t[0]===`0x`||A(t[0])===0n?27n:28n;return{r:Dn(t[1],{size:32}),s:Dn(t[2],{size:32}),v:n,yParity:n===27n?0:1}}k();var ty=class extends O{constructor({value:e}){super(`Number \\`${e}\\` is not a valid decimal number.`,{name:`InvalidDecimalNumberError`})}};function ny(e,t){if(!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(e))throw new ty({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}`)}Mp(),Rp(),xn(),k(),Ro(),tf(),wa(),Yp();async function ry(e,t){let{account:n,authorizationList:r,allowFailure:i=!0,blockNumber:a,blockOverrides:o,blockTag:s,stateOverride:c}=t,l=t.contracts,{batchSize:u=t.batchSize??1024,deployless:d=t.deployless??!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},f=(()=>{if(t.multicallAddress)return t.multicallAddress;if(d)return null;if(e.chain)return Jp({blockNumber:a,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),p=[[]],m=0,h=0;for(let e=0;e<l.length;e++){let{abi:t,address:r,args:a,functionName:o}=l[e];try{let e=Ca({abi:t,args:a,functionName:o});h+=(e.length-2)/2,u>0&&h>u&&p[m].length>0&&(m++,h=(e.length-2)/2,p[m]=[]),p[m]=[...p[m],{allowFailure:!0,callData:e,target:r}]}catch(e){let s=bs(e,{abi:t,address:r,args:a,docsPath:`/docs/contract/multicall`,functionName:o,sender:n});if(!i)throw s;p[m]=[...p[m],{allowFailure:!0,callData:`0x`,target:r}]}}let g=await Promise.allSettled(p.map(t=>E(e,jm,`readContract`)({...f===null?{code:Lp}:{address:f},abi:Dp,account:n,args:[t],authorizationList:r,blockNumber:a,blockOverrides:o,blockTag:s,functionName:`aggregate3`,stateOverride:c}))),_=[];for(let e=0;e<g.length;e++){let t=g[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<p[e].length;n++)_.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}=p[e][t],{abi:s,address:c,functionName:u,args:d}=l[_.length];try{if(o===`0x`)throw new en;if(!a)throw new Lo({data:r});let e=$d({abi:s,args:d,data:r,functionName:u});_.push(i?{result:e,status:`success`}:e)}catch(e){let t=bs(e,{abi:s,address:c,args:d,docsPath:`/docs/contract/multicall`,functionName:u});if(!i)throw t;_.push({error:t,result:void 0,status:`failure`})}}}if(_.length!==l.length)throw new O(`multicall results mismatch`);return _}cf();function iy(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 P(`Unable to normalize signature.`);return i}function ay(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return l_(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)=>ay(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=>ay(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function oy(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 oy(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`))&&l_(n[r],{strict:!1}))return o}}cf(),z();function sy(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=pp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?cy(e)===R(t,0,4):e.type===`event`?uy(e)===t:!1:`name`in e&&e.name===t);if(o.length===0)throw new fy({name:t});if(o.length===1)return{...o[0],...i?{hash:uy(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:uy(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?ay(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=oy(e.inputs,s.inputs,r);if(t)throw new dy({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 fy({name:t});return{...c,...i?{hash:uy(c)}:{}}}function cy(...e){return R(uy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return sy(t,n)}return e[0]})()),0,4)}function ly(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return sy(t,n)}return e[0]})();return iy(typeof t==`string`?t:cg(t))}function uy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return sy(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:Hg(rp(ly(t)))}var dy=class extends P{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${iy(cg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${iy(cg(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`})}},fy=class extends P{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 py(e){return cy(e)}cf(),z();function my(e){if(R(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new _y(e)}function hy(e){let{data:t,signature:n,to:r}=e;return F(U_(G_(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function gy(e){try{return my(e),!0}catch{return!1}}var _y=class extends P{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`})}};_u(),Vn(),nr();function vy({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 nu.Signature(A(e),A(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Zn(o)}Mp(),Rp(),Ro(),qp(),wa(),Fi(),Kd(),Ui(),Wt(),Vn(),M(),Am();async function yy(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 D(e)?e:typeof e==`object`&&`r`in e&&`s`in e?vy(e):Wn(e)})();try{if(s===`eoa`)try{if(Gd(Ni(n),await bu({hash:i,signature:c})))return!0}catch{}return Hv(c)?await by(e,{...t,multicallAddress:o,signature:c}):await xy(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(Gd(Ni(n),await bu({hash:i,signature:c})))return!0}catch{}if(e instanceof Cy)return!1;throw e}}async function by(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,multicallAddress:o}=t,{authorization:s,data:c,signature:l,to:u}=Vv(t.signature);if(await ah(e,{address:n,blockNumber:r,blockTag:i})===Hi([`0xef0100`,s.address]))return await Sy(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:j(s.r,{size:32}),s:j(s.s,{size:32}),yParity:s.yParity};if(!await bh({address:n,authorization:d}))throw new Cy;let f=await E(e,jm,`readContract`)({...o?{address:o}:{code:Lp},authorizationList:[d],abi:Dp,blockNumber:r,blockTag:`pending`,functionName:`aggregate3`,args:[[...c?[{allowFailure:!0,target:u??n,callData:c}]:[],{allowFailure:!0,target:n,callData:Ca({abi:Ap,functionName:`isValidSignature`,args:[a,l]})}]]});if((f[f.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new Cy}async function xy(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||gy(o)?o:hy({data:i,signature:o,to:r}))(),u=s?{to:s,data:Ca({abi:jp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:Gp({abi:jp,args:[n,a,l],bytecode:Ip}),...c},{data:d}=await E(e,wm,`call`)(u).catch(e=>{throw e instanceof Mo?new Cy:e});if(zn(d??`0x0`))return!0;throw new Cy}async function Sy(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,signature:o}=t;if((await E(e,jm,`readContract`)({address:n,abi:Ap,args:[a,o],blockNumber:r,blockTag:i,functionName:`isValidSignature`}).catch(e=>{throw e instanceof No?new Cy:e})).startsWith(`0x1626ba7e`))return!0;throw new Cy}var Cy=class extends Error{};async function wy(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await E(e,Zm,`sendCalls`)(t);return await E(e,$m,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}ya(),M(),$u(),sd();async function Ty(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new Rm({docsPath:`/docs/actions/wallet/signTransaction`});let a=va(n);od({account:a,...t});let o=await E(e,Rd,`getChainId`)({});r!==null&&Bm({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||Yu;return a.signTransaction?a.signTransaction({...i,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:j(o),from:a.address}]},{retryCount:0})}ya();async function Ey(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new Rm({docsPath:`/docs/actions/wallet/signTypedData`});let o=va(n),s={EIP712Domain:Wh({domain:r}),...t.types};if(Uh({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=Hh({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}function Dy({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=rh();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:Ch(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Oy(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Dy({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}k();var ky=class extends O{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};Ho(),nm();function Ay(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 ky;let b=Fh(y,{fetchFn:r,fetchOptions:i,onRequest:c,onResponse:l,timeout:v});return Dy({key:a,methods:o,name:s,async request({method:e,params:t}){let r={method:e,params:t},{schedule:i}=em({id:y,wait:g,shouldSplitBatch(e){return e.length>h},fn:e=>b.request({body:e}),sort:(e,t)=>e.id-t.id}),[{error:a,result:o}]=await(async e=>n?i(e):[await b.request({body:e})])(r);if(d)return{error:a,result:o};if(a)throw new Bo({body:r,error:a,url:y});return o},retryCount:_,retryDelay:u,timeout:v,type:`http`},{fetchOptions:i,url:y})}}Us(),kl(),zl(),Xc(),El();let jy=Rc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),My=jy.create(BigInt(`-3`)),Ny=BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Py=Ol({a:My,b:Ny,Fp:jy,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Bs),Fy=Py,Iy=yl(jy,{A:My,B:Ny,Z:jy.create(BigInt(`-10`))}),Ly=Ll(Fy.ProjectivePoint,e=>Iy(e[0]),{DST:`P256_XMD:SHA-256_SSWU_RO_`,encodeDST:`P256_XMD:SHA-256_SSWU_NU_`,p:jy.ORDER,m:1,k:128,expand:`xmd`,hash:Bs}),Ry=Rc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`)),zy=Ry.create(BigInt(`-3`)),By=BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Vy=Ol({a:zy,b:By,Fp:Ry,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Hs),Hy=yl(Ry,{A:zy,B:By,Z:Ry.create(BigInt(`-12`))});Ll(Vy.ProjectivePoint,e=>Hy(e[0]),{DST:`P384_XMD:SHA-384_SSWU_RO_`,encodeDST:`P384_XMD:SHA-384_SSWU_NU_`,p:Ry.ORDER,m:1,k:192,expand:`xmd`,hash:Hs});let Uy=Rc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`)),Wy=Uy.create(BigInt(`-3`)),Gy=BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Ky=Ol({a:Wy,b:Gy,Fp:Uy,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Vs),qy=yl(Uy,{A:Wy,B:Gy,Z:Uy.create(BigInt(`-4`))});Ll(Ky.ProjectivePoint,e=>qy(e[0]),{DST:`P521_XMD:SHA-512_SSWU_RO_`,encodeDST:`P521_XMD:SHA-512_SSWU_NU_`,p:Uy.ORDER,m:1,k:256,expand:`xmd`,hash:Vs});let Jy=Py,Yy=Py;Ly.hashToCurve,Ly.encodeToCurve,$f(),z();function Xy(e){let{privateKey:t}=e;return qg(Yy.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):I(t).slice(2)))}function Zy(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Yy.sign(r instanceof Uint8Array?r:Mf(r),i instanceof Uint8Array?i:Mf(i),{extraEntropy:typeof t==`boolean`?t:tp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Qy(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Yy.verify(i,n instanceof Uint8Array?n:Mf(n),Zg(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}$f();let $y=new TextEncoder,eb=new TextDecoder,tb=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),nb={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function rb(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]=tb[r>>18],i[t+1]=tb[r>>12&63],i[t+2]=tb[r>>6&63],i[t+3]=tb[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=eb.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function ib(e,t={}){return rb(Mf(e),t)}function ab(e,t={}){return rb(Nf(e),t)}function ob(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);$y.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(nb[r[e]]<<18)+(nb[r[e+1]]<<12)+(nb[r[e+2]]<<6)+nb[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 sb(e){return Hf(ob(e))}$f(),cf(),z();function cb(e,t={}){let{as:n=`Hex`}=t,r=Sb(e),i=R_(new Uint8Array(r.length));return r.encode(i),n===`Hex`?I(i.bytes):i.bytes}var lb=class extends P{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},ub=class extends P{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},db=class extends P{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},fb=class extends P{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`})}},pb=class extends P{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},mb=class extends P{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},hb=class extends P{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},gb=class extends P{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},_b=class extends P{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`})}},vb=class extends P{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},yb=class extends P{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},bb=class extends P{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},xb=class extends P{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 Sb(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 Sb.number(e);if(typeof e==`bigint`)throw new hb;if(typeof e==`string`)return Sb.string(e);if(Array.isArray(e))return Sb.array(e);if(e instanceof Uint8Array)return Sb.byteString(e);if(e instanceof ArrayBuffer)return Sb.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return Sb.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return Sb.map(e);if(typeof e==`object`)return Sb.object(e);throw new gb({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 _b({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 _b({number:e.toString(10)})}e.number=t;function n(e){let t=Nf(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 vb({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 yb({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 xb({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 bb({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 bb({size:i})}e.map=o})(Sb||={});function Cb(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Cb.readUnsignedInteger(e,r);case 1:return Cb.readNegativeInteger(e,r);case 2:return Cb.readByteString(e,r);case 3:return Cb.readTextString(e,r);case 4:return Cb.readArray(e,r);case 5:return Cb.readMap(e,r);case 6:throw new fb({tag:r});case 7:return Cb.readSimpleOrFloat(e,r);default:throw new lb({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 db:new ub({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 pb({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 pb({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Hf(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 mb({value:t});return}throw new ub({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}})(Cb||={}),cf();function wb(e){let t=Xg(e),n=t.slice(1,33),r=t.slice(33,65);return cb(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}function Tb(e){let t=Jy.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}z();function Eb(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=F(Wg(rp(r)),L(n,{size:1}),L(i,{size:4}));if(!t)return a;let o=I(new Uint8Array(16)),s=I(t.id);return F(a,o,L(t.id.length,{size:2}),s,wb(t.publicKey))}function Db(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:ib(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}$f(),cf(),z();function Ob(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:ob(e),type:`public-key`})):[{id:ob(t),type:`public-key`}]}:{},challenge:Mf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function kb(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=Eb({flag:i,rpId:o,signCount:s}),u=Db({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=Wg(rp(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:F(l,d)}}async function Ab(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:Ob(n);try{let e=await t(r);if(!e)throw new jb;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=Tb(o);return{id:s,metadata:{authenticatorData:I(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new jb({cause:e})}}var jb=class extends P{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function Mb(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Mf(s);if(u.length<37||a!==void 0&&!Pf(u.slice(0,32),Wg(rp(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||I(ob(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Qy({hash:!0,payload:kf(u,Wg(Nf(c),{as:`Bytes`})),publicKey:i,signature:o})}let Nb=kb;async function Pb(e){return Ab(e)}function Fb(e){return Mb(e)}cf(),z(),Df();let Ib=`0x01`,Lb=`0x02`,Rb=`0x03`,zb=`0x04`,Bb=`0x7777777777777777777777777777777777777777777777777777777777777777`;function Vb(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:Vb({...e,signature:t.inner}):s_(Hb(e))}function Hb(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return Iv({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return Hb({payload:t,signature:n.inner})}}function Ub(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?R(e,0,-sp(Bb)):e;if(sp(t)===65){let e=fv(t);return uv(e),{signature:e,type:`secp256k1`}}let n=R(t,0,1),r=R(t,1),i=sp(r);if(n===Ib){if(i!==129)throw new Zb({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${i} bytes`,serialized:t});return{publicKey:{prefix:4,x:lp(R(r,64,96)),y:lp(R(r,96,128))},prehash:dp(R(r,128,129))!==0,signature:{r:lp(R(r,0,32)),s:lp(R(r,32,64))},type:`p256`}}if(n===Lb){if(i<128)throw new Zb({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${i} bytes`,serialized:t});let e=i-128,n=R(r,0,e),a,o;for(let t=37;t<e;t++){let e=fp(R(n,t));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),a=R(n,0,t),o=e;break}catch{}}if(!a||!o)throw new Zb({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{publicKey:{prefix:4,x:lp(R(r,e+64,e+96)),y:lp(R(r,e+96,e+128))},metadata:{authenticatorData:a,clientDataJSON:o},signature:{r:lp(R(r,e,e+32)),s:lp(R(r,e+32,e+64))},type:`webAuthn`}}if(n===Rb||n===zb)return{userAddress:R(r,0,20),inner:Ub(R(r,20)),type:`keychain`,version:n===zb?`v2`:`v1`};throw new Zb({reason:`Unknown signature type identifier: ${n}. Expected ${Ib} (P256), ${Lb} (WebAuthn), ${Rb} (Keychain V1), or ${zb} (Keychain V2)`,serialized:t})}function Wb(e,t){if(typeof e==`string`)return Ub(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=Kb(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:s_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:s_(Iv({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function Gb(e){if(e.type===`secp256k1`)return{signature:gv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:lp(e.pubKeyX),y:lp(e.pubKeyY)},signature:{r:lp(e.r),s:lp(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=sp(t),r,i;for(let e=37;e<n;e++){let n=fp(R(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=R(t,0,e),i=n;break}catch{}}if(!r||!i)throw new Zb({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:lp(e.pubKeyX),y:lp(e.pubKeyY)},signature:{r:lp(e.r),s:lp(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e)return{type:`keychain`,userAddress:e.userAddress,inner:Gb(e.signature),...e.keyId?{keyId:e.keyId}:{},...e.version?{version:e.version}:{}};throw new Xb({envelope:e})}function Kb(e){if(typeof e!=`object`||!e)throw new Xb({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 Xb({envelope:e})}function qb(e,t={}){let n=Kb(e);if(n===`secp256k1`)return F(vv(e.signature),t.magic?Bb:`0x`);if(n===`p256`){let n=e;return F(Ib,L(n.signature.r,{size:32}),L(n.signature.s,{size:32}),L(n.publicKey.x,{size:32}),L(n.publicKey.y,{size:32}),L(+!!n.prehash,{size:1}),t.magic?Bb:`0x`)}if(n===`webAuthn`){let n=e;return F(Lb,F(n.metadata.authenticatorData,rp(n.metadata.clientDataJSON)),L(n.signature.r,{size:32}),L(n.signature.s,{size:32}),L(n.publicKey.x,{size:32}),L(n.publicKey.y,{size:32}),t.magic?Bb:`0x`)}if(n===`keychain`){let n=e;return F(n.version===`v1`?Rb:zb,n.userAddress,qb(n.inner),t.magic?Bb:`0x`)}throw new Xb({envelope:e})}function Jb(e){let t=Kb(e);if(t===`secp256k1`)return{...yv(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:L(t.publicKey.x,{size:32}),pubKeyY:L(t.publicKey.y,{size:32}),r:L(t.signature.r,{size:32}),s:L(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=F(t.metadata.authenticatorData,rp(t.metadata.clientDataJSON));return{pubKeyX:L(t.publicKey.x,{size:32}),pubKeyY:L(t.publicKey.y,{size:32}),r:L(t.signature.r,{size:32}),s:L(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return{type:`keychain`,userAddress:t.userAddress,signature:Jb(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}throw new Xb({envelope:e})}function Yb(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return s_(t.publicKey)})();if(!r)return!1;let i=Wb(e);if(i.type===`secp256k1`)return r?Rv({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return c_(s_(i.publicKey),r)?Qy({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return c_(s_(i.publicKey),r)?Fb({challenge:tp(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new Qb(`Unable to verify signature envelope of type \"${i.type}\".`)}var Xb=class extends P{constructor({envelope:e}){super(`Unable to coerce value (\\`${Tf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},Zb=class extends P{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`})}},Qb=class extends P{constructor(){super(...arguments),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};cf(),z();function $b(e){return e.startsWith(`tempo`)?ex(e).address:e}function ex(e){if(!e.startsWith(`tempox`))throw new tx({address:e});let t=e.slice(6);return ep(t,{strict:!0}),{address:a_(t)}}var tx=class extends P{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`})}};z();function nx(e,t={}){if(typeof e.chainId==`string`)return rx(e);let n={...e,address:$b(e.address)};return t.signature?{...n,signature:t.signature}:n}function rx(e){let{address:t,chainId:n,nonce:r}=e,i=Gb(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function ix(e){return e.map(e=>rx(e))}function ax(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=Ub(i)),nx(a)}function ox(e){let t=[];for(let n of e)t.push(ax(n));return t}function sx(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:L(n),nonce:L(r),signature:Jb(i)}}function cx(e){return e.map(e=>sx(e))}function lx(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?qb(e.signature):void 0;return[n?L(n):`0x`,t,r?L(r):`0x`,...i?[i]:[]]}function ux(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(lx(n));return t}z();function dx(e,t={}){if(`keyId`in e)return fx(e);let n=e,r={...n,address:$b(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:$b(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:$b(e.address),selector:Tx(e.selector),...e.recipients?{recipients:e.recipients.map(e=>$b(e))}:{}}))}:{}};return t.signature?{...r,signature:Wb(t.signature)}:r}function fx(e){let{allowedCalls:t,chainId:n,keyId:r,expiry:i,limits:a,keyType:o}=e,s=Gb(e.signature),c=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:wx(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0;return{address:r,chainId:n===`0x`?0n:lp(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&Cx(e.period)>0?{period:Cx(e.period)}:{}})),...c?{scopes:c}:{},signature:s,type:o}}function px(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:Cx(o)||void 0,type:l,chainId:r===`0x`?0n:lp(r),...o===void 0?{}:{expiry:Cx(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:Sx(n),...r===void 0?{}:{period:Cx(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=Ub(n)),dx(u)}function mx(e){return gx(e)}function hx(e){return px($_(e))}function gx(e){let[t]=yx(e);return Hg(av(t))}function _x(e){return av(yx(e))}function vx(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:Tx(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`:L(r),expiry:typeof i==`number`?L(i):null,keyId:$b(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:L(t),...n?{period:xx(n)}:{}})),signature:Jb(s),...c?{allowedCalls:c}:{}}}function yx(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a}=e,o=e.signature?qb(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,bx(e.limit)];return e.period&&e.period>0&&t.push(xx(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([Tx(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})();return[[bx(n),s,t,i!=null&&i!==0||c||l?xx(i??0):void 0,c||l?c??[]:void 0,l].filter(e=>e!==void 0),...o?[o]:[]]}function bx(e){return e===0n?`0x`:L(e)}function xx(e){return e===0?`0x`:L(e)}function Sx(e){return e===`0x`?0n:BigInt(e)}function Cx(e){return e===`0x`?0:dp(e)}function wx(e){return typeof e==`string`?e:Array.isArray(e)?I(new Uint8Array(e)):e}function Tx(e){if(e)return e.startsWith(`0x`)?e:cy(e)}z();let Ex=`0x20c0`;function Dx(e){return typeof e==`bigint`||typeof e==`number`?BigInt(e):Ox(e)}function Ox(e){let t=$b(e);if(!t.toLowerCase().startsWith(Ex))throw Error(`invalid tip20 address.`);return lp(R(t,6))}function B(e){if(typeof e==`string`){let t=$b(e);return i_(t),t}return F(Ex,L(e,{size:18}))}z();let kx={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function Ax(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:Hg(rp(kx[e]??e))}let jx={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},Mx={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function Nx(e,t={}){if(!e)return null;let n=pv(e),r={...e,...n};return r.blockNumber=e.blockNumber?BigInt(e.blockNumber):null,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=jv(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=Mx[e.type]??e.type),n&&(r.v=Sv(n.yParity)),r}let Px={...jx,tempo:`0x76`},Fx={...Mx,\"0x76\":`tempo`};function Ix(e,t={}){if(!e)return null;let n=Nx(e);return n.type=Fx[e.type],e.aaAuthorizationList&&(n.authorizationList=ix(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=Gb(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=fx(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=gv(e.feePayerSignature),n.feePayerSignature.v=Sv(n.feePayerSignature.yParity)),n}z();function Lx(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=Nv(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=L(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=L(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=L(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=L(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=L(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=L(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=L(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=L(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=jx[e.type]||e.type),e.value!==void 0&&(t.value=L(e.value)),t}z();function Rx(e){let t=Lx({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=cx(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?$b(e.to):e.to,value:e.value?L(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?$b(e.to):void 0,value:e.value?L(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=B(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=vx(e.keyAuthorization)),e.validBefore!==void 0&&(t.validBefore=L(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=L(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return op(6);if(typeof e.nonceKey==`bigint`)return L(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=Px.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}cf(),z();function zx(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&i_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>Gg(e)?e:cp(e))})}return t}function Bx(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(sp(r[e])!==32)throw new Vx({storageKey:r[e]});n&&i_(n,{strict:!1}),t.push([n,r])}return t}var Vx=class extends P{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${sp(e)} bytes.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};cf();let Hx={wei:0,gwei:9,szabo:12,finney:15,ether:18};function Ux(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 Wx(e,t=`wei`){return Ux(e,Hx.gwei-Hx[t])}cf();var Gx=class extends P{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${Wx(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`})}},Kx=class extends P{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`})}},qx=class extends P{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`})}},Jx=class extends P{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${Wx(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${Wx(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};cf(),z();let Yx=`tempo`;function Xx(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new rS;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new iS({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&i_(e.to,{strict:!1});if(n<=0)throw new Kx({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new Gx({feeCap:r});if(i&&r&&i>r)throw new Jx({maxFeePerGas:r,maxPriorityFeePerGas:i})}function Zx(e){let t=$_(R(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 qx({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:Yx});let y={chainId:Number(n),type:Yx};pp(a)&&a!==`0x`&&(y.gas=BigInt(a)),pp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),pp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),pp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),pp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),pp(u)&&u!==`0x`&&(y.validBefore=Number(u)),pp(d)&&d!==`0x`&&(y.validAfter=Number(d)),pp(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=zx(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=ox(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||l_(p)?(y.feePayerSignature=null,l_(p)&&(y.from=p)):y.feePayerSignature=_v(p)),_&&(y.keyAuthorization=px(_));let b=v?Ub(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=Vb({payload:eS(Qx(y)),signature:b,root:!0})}catch{}return Xx(y),y}function Qx(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?Zx(e):e;return i.from&&=$b(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:$b(e.to)}:{}})),Xx(i),{...i,...r?{signature:Wb(r)}:{},...n?{feePayerSignature:mv(n)}:{},type:`tempo`}}function $x(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;Xx(e);let h=Bx(n),g=t.signature||e.signature,_=ux(r),v=i.map(e=>[e.to?$b(e.to):`0x`,e.value?L(e.value):`0x`,e.data??`0x`]),y=!1,b=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&g){let t=Wb(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return s_(t.publicKey);if(t.type===`secp256k1`)return Fv({payload:eS(Qx(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?bv(n):`0x`})(),x=[L(a),f?L(f):`0x`,d?L(d):`0x`,s?L(s):`0x`,v,h,u?L(u):`0x`,l?L(l):`0x`,typeof p==`number`?L(p):`0x`,typeof m==`number`?L(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?B(o):`0x`,b,_,...c?[yx(c)]:[],...g?[qb(Wb(g))]:[]];return F(t.format===`feePayer`?`0x78`:`0x76`,av(x))}function eS(e,t={}){let n=tS(e,{presign:!0});return t.from?Hg(F(`0x04`,n,$b(t.from))):n}function tS(e,t={}){return Hg($x({...e,...t.presign?{signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}}:{}}))}function nS(e,t){let n=$b(t.sender);return Hg($x({...e,signature:void 0},{sender:n,format:`feePayer`}))}var rS=class extends P{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},iS=class extends P{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 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:`view`,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:`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:`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:`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:`StringTooLong`,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:`TransfersDisabled`,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:`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:[]}],aS=[{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:`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:[]}],oS=[{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:`isTIP20`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`getTokenAddress`,type:`function`,stateMutability:`view`,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`}]}];$f();async function sS(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=qg(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function cS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,Af(t)),i=jf(new Uint8Array(r)),a=zf(Rf(i,0,32)),o=zf(Rf(i,32,64));return o>Jy.CURVE.n/2n&&(o=Jy.CURVE.n-o),{r:a,s:o}}z();function lS(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||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:Id(e)}function uS(e){try{return lS(e)===`tempo`}catch{return!1}}function dS(e){let t=R(e,0,1);return t===`0x76`||t===`0x78`?pS(e):Gv(e)}async function fS(e,t){if(!uS(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 fh(e,{r:L(n,{size:32}),s:L(r,{size:32}),yParity:i})}return fh(e,t)}if(lS(e)===`tempo`)return mS(e,t);throw Error(`Unsupported transaction type`)}function pS(e){let{feePayerSignature:t,nonce:n,...r}=Zx(e);return{...r,nonce:Number(n??0n),feePayerSignature:t&&{r:L(t.r,{size:32}),s:L(t.s,{size:32}),yParity:t.yParity}}}async function mS(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return Wb({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,feePayerSignature:a,nonce:o,...s}=e,c={...s,calls:s.calls?.length?s.calls:[{to:s.to||(!s.data||s.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:s.value,data:s.data}],chainId:Number(r),feePayerSignature:a?{r:BigInt(a.r),s:BigInt(a.s),yParity:Number(a.yParity)}:i?null:void 0,type:`tempo`,...o?{nonce:BigInt(o)}:{}};if(i===!0&&delete c.feeToken,n&&typeof e.feePayer==`object`){let t=Qx(c,{signature:n}),r=nS(t,{sender:(()=>{if(e.from)return e.from;if(n.type===`secp256k1`)return Fv({payload:eS(t),signature:n.signature});throw Error(`Unable to extract sender from transaction or signature.`)})()});return $x(t,{feePayerSignature:mv(await e.feePayer.sign({hash:r}))})}return i===!0?n?$x(c,{format:`feePayer`,sender:e.from,signature:n}):$x(c,{feePayerSignature:null}):$x({...c,...i?{feeToken:void 0}:{}},{feePayerSignature:void 0,signature:n})}z(),ya(),gi();function hS(e){let{access:t}=e;return t?CS(e):SS(e)}function gS(e,t){let{access:n,rpId:r,origin:i,internal_version:a}=t,o=Xy({privateKey:e});return hS({access:n,internal_version:a,keyType:`webAuthn`,publicKey:o,async sign({hash:n}){let{metadata:a,payload:s}=Nb({...t,challenge:n,rpId:r,origin:i});return qb({metadata:a,signature:Zy({payload:s,privateKey:e,hash:!0}),publicKey:o,type:`webAuthn`})}})}function _S(e,t={}){let{access:n,internal_version:r}=t,i=Xy({privateKey:e});return hS({access:n,internal_version:r,keyType:`p256`,publicKey:i,async sign({hash:t}){return qb({signature:Zy({payload:t,privateKey:e}),publicKey:i,type:`p256`})}})}function vS(e,t={}){let{access:n,internal_version:r}=t;return hS({access:n,internal_version:r,keyType:`secp256k1`,publicKey:Pv({privateKey:e}),async sign(t){let{hash:n}=t;return vv(Lv({payload:n,privateKey:e}))}})}function yS(e,t={}){let{id:n}=e,r=Yg(e.publicKey);return hS({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await Pb({...t,challenge:e,credentialId:n});return qb({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function bS(e,t={}){let{access:n,internal_version:r}=t,{publicKey:i,privateKey:a}=e;return hS({access:n,internal_version:r,keyType:`p256`,publicKey:i,async sign({hash:e}){return qb({signature:await cS({payload:e,privateKey:a}),prehash:!0,publicKey:i,type:`p256`})}})}function xS(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??s_(e.publicKey),o=Zg(e.publicKey,{includePrefix:!1});async function s({hash:r}){let a=n&&i===`v2`?hi(F(`0x04`,r,n)):r,o=await e.sign({hash:a});return n?qb(Wb({userAddress:n,inner:Wb(o),type:`keychain`,version:i})):t===`secp256k1`?o:F(o,Bb)}return{address:a_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=Wb(await s({hash:Eu({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:L(a,{size:32}),s:L(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:Rh(t)})},async signTransaction(e,t){let{serializer:n=fS}=t??{};return await n(e,Wb(await s({hash:hi(await n(e))})))},async signTypedData(e){return await s({hash:Kh(e)})},publicKey:o,source:r,type:`local`}}function SS(e){let t=xS(e);return{...t,source:`root`,async signKeyAuthorization(e,n){let{chainId:r,expiry:i,limits:a}=n,{accessKeyAddress:o,keyType:s}=e;return dx({address:o,chainId:r,expiry:i,limits:a,signature:Wb(await t.sign({hash:mx({address:o,chainId:r,expiry:i,limits:a,type:s})})),type:s})}}}function CS(e){let{access:t}=e,{address:n}=va(t);return{...xS({...e,parentAddress:n}),accessKeyAddress:s_(e.publicKey),source:`accessKey`}}let wS=`0xdec0000000000000000000000000000000000000`;function H(e){return{...e,data:Ca(e),to:e.address}}z(),ya();async function TS(e,t){return TS.inner(Wm,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:wS,abi:aS,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(TS||={});async function ES(e,t){return ES.inner(Wm,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:wS,abi:aS,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=Zd({abi:aS,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(ES||={});async function DS(e,t){return DS.inner(Wm,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:wS,abi:aS,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=Zd({abi:aS,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(DS||={});async function OS(e,t){return OS.inner(Wm,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:wS,abi:aS,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=Zd({abi:aS,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(OS||={});async function kS(e,t){let{account:n=e.account,token:r,...i}=t,a=n?va(n).address:void 0;if(!a)throw Error(`account is required.`);return jm(e,{...i,...kS.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return H({address:wS,abi:aS,args:[t,n],functionName:`balanceOf`})}e.call=t})(kS||={});async function AS(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return jm(e,{...a,...AS.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return H({address:wS,abi:aS,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(AS||={});async function jS(e,t){let{orderId:n,...r}=t;return jm(e,{...r,...jS.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return H({address:wS,abi:aS,args:[t],functionName:`getOrder`})}e.call=t})(jS||={});async function MS(e,t){let{base:n,quote:r,...i}=t;return jm(e,{...i,...MS.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e;return H({address:wS,abi:aS,args:[zS(t,n)],functionName:`books`})}e.call=t})(MS||={});async function NS(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await jm(e,{...a,...NS.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:wS,abi:aS,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(NS||={});async function PS(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return jm(e,{...a,...PS.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return H({address:wS,abi:aS,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(PS||={});async function FS(e,t){return FS.inner(Wm,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:wS,abi:aS,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=Zd({abi:aS,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(FS||={});async function IS(e,t){return IS.inner(Wm,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:wS,abi:aS,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=Zd({abi:aS,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})(IS||={});async function LS(e,t){return LS.inner(Wm,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:wS,abi:aS,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(LS||={});async function RS(e,t){return RS.inner(Wm,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:wS,abi:aS,functionName:`withdraw`,args:[t,n]})}e.call=n})(RS||={});function zS(e,t){return Hg(F(e,t))}z(),ya(),wa();async function BS(e,t){let{token:n,...r}=t;return BS.inner(Wm,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]=Zd({abi:V,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=r})(BS||={});async function VS(e,t){return VS.inner(Wm,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]=Zd({abi:V,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(VS||={});async function HS(e,t){return HS.inner(Wm,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,ip(n,32)]}:{functionName:`burn`,args:[t]};return H({address:B(r),abi:V,...i})}e.call=n;function r(e){let[t]=Zd({abi:V,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(HS||={});async function US(e,t){return US.inner(Wm,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]=Zd({abi:V,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(US||={});async function WS(e,t){return WS.inner(Wm,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?va(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,quoteToken:i=`0x20c0000000000000000000000000000000000000`,admin:a,salt:o=op(32)}=e;return H({address:`0x20fc000000000000000000000000000000000000`,abi:oS,args:[t,n,r,B(i),a,o],functionName:`createToken`})}e.call=n;function r(e){let[t]=Zd({abi:oS,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(WS||={});async function GS(e,t){let{account:n=e.account}=t,r=n?va(n).address:void 0;if(!r)throw Error(`account is required.`);return jm(e,{...t,...GS.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})(GS||={});async function KS(e,t){let{account:n=e.account,...r}=t,i=n?va(n).address:void 0;if(!i)throw Error(`account is required.`);return jm(e,{...r,...KS.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})(KS||={});async function qS(e,t){let{token:n,...r}=t,i=B(n),a=V;return Dx(n)===Ox(`0x20c0000000000000000000000000000000000000`)?ry(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`}],allowFailure:!1,deployless:!0}).then(([e,t,n,r,i])=>({name:n,symbol:r,currency:e,decimals:t,totalSupply:i})):ry(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{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:!1,deployless:!0}).then(([e,t,n,r,i,a,o,s,c])=>({name:r,symbol:o,currency:e,decimals:t,quoteToken:n,totalSupply:s,paused:i,supplyCap:a,transferPolicyId:c}))}async function JS(e,t){return jm(e,{...t,...JS.call(t)})}(function(e){function t(e){let{role:t,token:n}=e;return H({address:B(n),abi:V,functionName:`getRoleAdmin`,args:[Ax(t)]})}e.call=t})(JS||={});async function YS(e,t){let{account:n=e.account}=t,r=n?va(n).address:void 0;if(!r)throw Error(`account is required.`);return jm(e,{...t,...YS.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,Ax(n)]})}e.call=t})(YS||={});async function XS(e,t){return XS.inner(Um,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=Ax(r);return H({address:B(t),abi:V,functionName:`grantRole`,args:[i,n]})}e.call=n;function r(e){let t=Zd({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(XS||={});async function ZS(e,t){return ZS.inner(Wm,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,ip(r,32)]}:{functionName:`mint`,args:[t,n]};return H({address:B(i),abi:V,...a})}e.call=n;function r(e){let[t]=Zd({abi:V,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(ZS||={});async function QS(e,t){return QS.inner(Wm,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]=Zd({abi:V,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(QS||={});async function $S(e,t){return $S.inner(Um,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=Ax(n);return H({address:B(t),abi:V,functionName:`renounceRole`,args:[r]})}e.call=n;function r(e){let t=Zd({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})($S||={});async function eC(e,t){return eC.inner(Um,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,from:n,role:r}=e,i=Ax(r);return H({address:B(t),abi:V,functionName:`revokeRole`,args:[i,n]})}e.call=n;function r(e){let t=Zd({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(eC||={});async function tC(e,t){return tC.inner(Wm,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]=Zd({abi:V,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(tC||={});async function nC(e,t){return nC.inner(Wm,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=Ax(n),a=Ax(r);return H({address:B(t),abi:V,functionName:`setRoleAdmin`,args:[i,a]})}e.call=n;function r(e){let[t]=Zd({abi:V,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(nC||={});async function rC(e,t){return rC.inner(Wm,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,ip(r,32)]}:r?{functionName:`transferWithMemo`,args:[a,t,ip(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]=Zd({abi:V,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=r})(rC||={});async function iC(e,t){return iC.inner(Wm,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]=Zd({abi:V,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(iC||={});async function aC(e,t){return aC.inner(Wm,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]=Zd({abi:V,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(aC||={});async function oC(e,t){return oC.inner(Wm,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]=Zd({abi:V,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(oC||={}),z(),ya(),$u();function sC(e){if(!uS(e))return pd(e);let{feePayerSignature:t,gasPrice:n,nonce:r,...i}=Ix(e);return{...i,accessList:i.accessList,feePayerSignature:t?{r:L(t.r,{size:32}),s:L(t.s,{size:32}),v:BigInt(t.v??27),yParity:t.yParity}:void 0,nonce:Number(r),typeHex:Px[i.type],type:i.type}}function cC(e){return Jm(e)}function lC(e,t){let n=e,r=n.account?va(n.account):void 0;if(!uS(n))return Yu(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&&delete n.feeToken;let i=Rx({...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`,`0x${`ff`.repeat(1400)}`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[void 0,void 0]:[void 0,void 0]})(),s=r&&`accessKeyAddress`in r?r.accessKeyAddress:void 0;return{...i,...o?{keyData:o}:{},...s?{keyId:s}:{},...a?{keyType:a}:{},...n.feePayer?{feePayer:typeof n.feePayer==`object`?va(n.feePayer):n.feePayer}:{}}}var uC=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 dC(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw fC(r.error);return r.result}function fC(e){let t=e;if(t instanceof Error&&!(`code`in t))return new wC({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===wC.code?new wC(t):n===mC.code?new mC(t):n===CC.code?new CC(t):n===xC.code?new xC(t):n===yC.code?new yC(t):n===SC.code?new SC(t):n===vC.code?new vC(t):n===TC.code?new TC(t):n===hC.code?new hC(t):n===gC.code?new gC(t):n===_C.code?new _C(t):n===bC.code?new bC(t):new wC({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var pC=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??``}},mC=class e extends pC{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(mC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var hC=class e extends pC{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(hC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32001});var gC=class e extends pC{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(gC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32002});var _C=class e extends pC{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(_C,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32003});var vC=class e extends pC{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(vC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32004});var yC=class e extends pC{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(yC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32005});var bC=class e extends pC{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(bC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32006});var xC=class e extends pC{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(xC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32600});var SC=class e extends pC{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(SC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32601});var CC=class e extends pC{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(CC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32602});var wC=class e extends pC{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(wC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32603});var TC=class e extends pC{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(TC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32700}),cf();var EC=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}},DC=class extends EC{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(DC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4001});var OC=class extends EC{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(OC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4100});var kC=class extends EC{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(kC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4200});var AC=class extends EC{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(AC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4900});var jC=class extends EC{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(jC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4901});var MC=class extends EC{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(MC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4902});var NC=class extends EC{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(NC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5700});var PC=class extends EC{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(PC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5710});var FC=class extends EC{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(FC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5720});var IC=class extends EC{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(IC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5730});var LC=class extends EC{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(LC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5740});var RC=class extends EC{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(RC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5750});var zC=class extends EC{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(zC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5760});function BC(){let e=new uC.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 VC(e,t={}){if(!e)throw new UC;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?dC(n):n}catch(e){throw HC(e)}}}}function HC(e){let t=fC(e);if(t instanceof wC){if(!t.data)return t;let{code:e}=t.data;if(e===AC.code)return new AC(t);if(e===jC.code)return new jC(t);if(e===DC.code)return new DC(t);if(e===OC.code)return new OC(t);if(e===kC.code)return new kC(t);if(e===MC.code)return new MC(t);if(e===RC.code)return new RC(t);if(e===zC.code)return new zC(t);if(e===LC.code)return new LC(t);if(e===IC.code)return new IC(t);if(e===FC.code)return new FC(t);if(e===PC.code)return new PC(t);if(e===NC.code)return new NC(t)}return t}var UC=class extends P{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function WC(e={}){let t=e.id??0;return{prepare(e){return GC({id:t++,...e})},get id(){return t}}}function GC(e){return{...e,jsonrpc:`2.0`}}function KC(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Dy({key:KC.type,name:`Relay Proxy`,async request({method:e,params:t},n){if(e===`eth_sendRawTransactionSync`||e===`eth_sendRawTransaction`){let o=t[0];if(dS(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:KC.type})}}function qC(){return null}var JC;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 YC=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},XC=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(JC=globalThis).__zod_globalConfig??(JC.__zod_globalConfig={});let ZC=globalThis.__zod_globalConfig;function QC(e){return e&&Object.assign(ZC,e),ZC}function $C(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 ew(e,t){return typeof t==`bigint`?t.toString():t}function tw(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function nw(e){return e==null}function rw(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let iw=Symbol(`evaluating`);function W(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==iw)return r===void 0&&(r=iw,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}let aw=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function ow(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function sw(e){if(ow(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(ow(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}let cw=new Set([`string`,`number`,`symbol`]),lw=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function uw(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function dw(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function fw(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 pw(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function mw(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 hw(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 gw(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function _w(e){return typeof e==`string`?e:e?.message}function vw(e,t,n){let r=e.message?e.message:_w(e.inst?._zod.def?.error?.(e))??_w(t?.error?.(e))??_w(n.customError?.(e))??_w(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 yw(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function bw(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let xw=(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,ew,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},Sw=U(`$ZodError`,xw),Cw=U(`$ZodError`,xw,{Parent:Error}),ww=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 YC;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>vw(e,a,QC())));throw aw(t,i?.callee),t}return o.value},Tw=ww(Cw),Ew=(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=>vw(e,a,QC())));throw aw(t,i?.callee),t}return o.value})(Cw),Dw=(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 YC;return a.issues.length?{success:!1,error:new(e??Sw)(a.issues.map(e=>vw(e,i,QC())))}:{success:!0,data:a.value}})(Cw),Ow=(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=>vw(e,i,QC())))}:{success:!0,data:a.value}})(Cw),kw=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ww(e)(t,n,i)})(Cw),Aw=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},jw=/^-?\\d+n?$/,Mw=/^-?\\d+(?:\\.\\d+)?$/,Nw=/^(?:true|false)$/i,Pw=/^null$/i,Fw=/^undefined$/i,Iw=U(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Lw={number:`number`,bigint:`bigint`,object:`date`},Rw=U(`$ZodCheckLessThan`,(e,t)=>{Iw.init(e,t);let n=Lw[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})}}),zw=U(`$ZodCheckGreaterThan`,(e,t)=>{Iw.init(e,t);let n=Lw[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})}}),Bw=U(`$ZodCheckMaxLength`,(e,t)=>{var n;Iw.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!nw(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=yw(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Vw=U(`$ZodCheckMinLength`,(e,t)=>{var n;Iw.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!nw(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=yw(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Hw=U(`$ZodCheckStringFormat`,(e,t)=>{var n,r;Iw.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=()=>{})}),Uw=U(`$ZodCheckRegex`,(e,t)=>{Hw.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})}}),Ww={major:4,minor:4,patch:3},Gw=U(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Ww;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=mw(e),i;for(let a of t){if(a._zod.def.when){if(hw(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 YC;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=mw(e,t))});else{if(e.issues.length===t)continue;r||=mw(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(mw(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new YC;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 YC;return o.then(e=>t(e,r,a))}return t(o,r,a)}}W(e,`~standard`,()=>({validate:t=>{try{let n=Dw(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return Ow(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),Kw=U(`$ZodString`,(e,t)=>{Gw.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Aw(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}}),qw=U(`$ZodNumber`,(e,t)=>{Gw.init(e,t),e._zod.pattern=e._zod.bag.pattern??Mw,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}}),Jw=U(`$ZodBoolean`,(e,t)=>{Gw.init(e,t),e._zod.pattern=Nw,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}}),Yw=U(`$ZodBigInt`,(e,t)=>{Gw.init(e,t),e._zod.pattern=jw,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}}),Xw=U(`$ZodUndefined`,(e,t)=>{Gw.init(e,t),e._zod.pattern=Fw,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}}),Zw=U(`$ZodNull`,(e,t)=>{Gw.init(e,t),e._zod.pattern=Pw,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}}),Qw=U(`$ZodUnknown`,(e,t)=>{Gw.init(e,t),e._zod.parse=e=>e});function $w(e,t,n){e.issues.length&&t.issues.push(...gw(n,e.issues)),t.value[n]=e.value}let eT=U(`$ZodArray`,(e,t)=>{Gw.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=>$w(t,n,e))):$w(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function tT(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...gw(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 nT(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=pw(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function rT(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=>tT(e,n,i,t,u,d))):tT(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 iT=U(`$ZodObject`,(e,t)=>{if(Gw.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=tw(()=>nT(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=ow,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=>tT(n,t,e,s,r,i))):tT(a,t,e,s,r,i)}return i?rT(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function aT(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=>!mw(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=>vw(e,r,QC())))}),t)}let oT=U(`$ZodUnion`,(e,t)=>{Gw.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=>rw(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=>aT(t,r,e,i)):aT(o,r,e,i)}}),sT=U(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,oT.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=tw(()=>{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(!ow(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)}}),cT=U(`$ZodTuple`,(e,t)=>{Gw.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=lT(n,`optin`),c=lT(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=>uT(t,r,e))):uT(a,r,e)}}return o.length?Promise.all(o).then(()=>dT(l,r,n,a,c)):dT(l,r,n,a,c)}});function lT(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function uT(e,t,n){e.issues.length&&t.issues.push(...gw(n,e.issues)),t.value[n]=e.value}function dT(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(...gw(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 fT=U(`$ZodRecord`,(e,t)=>{Gw.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!sw(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=>vw(e,r,QC())),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(...gw(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...gw(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`&&Mw.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=>vw(e,r,QC())),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(...gw(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...gw(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),pT=U(`$ZodEnum`,(e,t)=>{Gw.init(e,t);let n=$C(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>cw.has(typeof e)).map(e=>typeof e==`string`?uw(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}}),mT=U(`$ZodLiteral`,(e,t)=>{if(Gw.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`?uw(e):e?uw(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}}),hT=U(`$ZodTransform`,(e,t)=>{Gw.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new XC(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 YC;return n.value=i,n.fallback=!0,n}});function gT(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let _T=U(`$ZodOptional`,(e,t)=>{Gw.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(`^(${rw(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=>gT(e,r)):gT(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),vT=U(`$ZodNullable`,(e,t)=>{Gw.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(`^(${rw(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)}),yT=U(`$ZodPipe`,(e,t)=>{Gw.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=>bT(e,t.in,n)):bT(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>bT(e,t.out,n)):bT(r,t.out,n)}});function bT(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 xT=U(`$ZodCodec`,(e,t)=>{Gw.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=>ST(e,t,n)):ST(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>ST(e,t,n)):ST(r,t,n)}}});function ST(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=>CT(e,r,t.out,n)):CT(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>CT(e,r,t.in,n)):CT(e,r,t.in,n)}}function CT(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let wT=U(`$ZodReadonly`,(e,t)=>{Gw.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(TT):TT(r)}});function TT(e){return e.value=Object.freeze(e.value),e}let ET=U(`$ZodTemplateLiteral`,(e,t)=>{Gw.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||lw.has(typeof e))n.push(uw(`${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)}),DT=U(`$ZodCustom`,(e,t)=>{Iw.init(e,t),Gw.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=>OT(t,n,r,e));OT(i,n,r,e)}});function OT(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(bw(e))}}function kT(e,t){return new e({type:`string`,...fw(t)})}function AT(e,t){return new e({type:`number`,checks:[],...fw(t)})}function jT(e,t){return new e({type:`boolean`,...fw(t)})}function MT(e,t){return new e({type:`bigint`,...fw(t)})}function NT(e,t){return new e({type:`undefined`,...fw(t)})}function PT(e,t){return new e({type:`null`,...fw(t)})}function FT(e){return new e({type:`unknown`})}function IT(e,t){return new Rw({check:`less_than`,...fw(t),value:e,inclusive:!0})}function LT(e,t){return new zw({check:`greater_than`,...fw(t),value:e,inclusive:!0})}function RT(e,t){return new Bw({check:`max_length`,...fw(t),maximum:e})}function zT(e,t){return new Vw({check:`min_length`,...fw(t),minimum:e})}function BT(e,t){return new Uw({check:`string_format`,format:`regex`,...fw(t),pattern:e})}function VT(e,t,n){let r=fw(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function HT(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...fw(n)})}let UT=U(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);Gw.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>Tw(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Dw(e,t,n),e.parseAsync=async(t,n)=>Ew(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Ow(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)=>dw(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),WT=U(`ZodMiniString`,(e,t)=>{Kw.init(e,t),UT.init(e,t)});function G(e){return kT(WT,e)}let GT=U(`ZodMiniNumber`,(e,t)=>{qw.init(e,t),UT.init(e,t)});function KT(e){return AT(GT,e)}let qT=U(`ZodMiniBoolean`,(e,t)=>{Jw.init(e,t),UT.init(e,t)});function JT(e){return jT(qT,e)}let YT=U(`ZodMiniBigInt`,(e,t)=>{Yw.init(e,t),UT.init(e,t)});function XT(e){return MT(YT,e)}let ZT=U(`ZodMiniUndefined`,(e,t)=>{Xw.init(e,t),UT.init(e,t)});function QT(e){return NT(ZT,e)}let $T=U(`ZodMiniNull`,(e,t)=>{Zw.init(e,t),UT.init(e,t)});function eE(e){return PT($T,e)}let tE=U(`ZodMiniUnknown`,(e,t)=>{Qw.init(e,t),UT.init(e,t)});function nE(){return FT(tE)}let rE=U(`ZodMiniArray`,(e,t)=>{eT.init(e,t),UT.init(e,t)});function K(e,t){return new rE({type:`array`,element:e,...fw(t)})}let iE=U(`ZodMiniObject`,(e,t)=>{iT.init(e,t),UT.init(e,t),W(e,`shape`,()=>t.shape)});function q(e,t){return new iE({type:`object`,shape:e??{},...fw(t)})}let aE=U(`ZodMiniUnion`,(e,t)=>{oT.init(e,t),UT.init(e,t)});function oE(e,t){return new aE({type:`union`,options:e,...fw(t)})}let sE=U(`ZodMiniDiscriminatedUnion`,(e,t)=>{sT.init(e,t),UT.init(e,t)});function cE(e,t,n){return new sE({type:`union`,options:t,discriminator:e,...fw(n)})}let lE=U(`ZodMiniTuple`,(e,t)=>{cT.init(e,t),UT.init(e,t)});function uE(e,t,n){let r=t instanceof Gw;return new lE({type:`tuple`,items:e,rest:r?t:null,...fw(r?n:t)})}let dE=U(`ZodMiniRecord`,(e,t)=>{fT.init(e,t),UT.init(e,t)});function fE(e,t,n){return!t||!t._zod?new dE({type:`record`,keyType:G(),valueType:e,...fw(t)}):new dE({type:`record`,keyType:e,valueType:t,...fw(n)})}let pE=U(`ZodMiniEnum`,(e,t)=>{pT.init(e,t),UT.init(e,t),e.options=Object.values(t.entries)});function mE(e,t){return new pE({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...fw(t)})}let hE=U(`ZodMiniLiteral`,(e,t)=>{mT.init(e,t),UT.init(e,t)});function J(e,t){return new hE({type:`literal`,values:Array.isArray(e)?e:[e],...fw(t)})}let gE=U(`ZodMiniTransform`,(e,t)=>{hT.init(e,t),UT.init(e,t)});function _E(e){return new gE({type:`transform`,transform:e})}let vE=U(`ZodMiniOptional`,(e,t)=>{_T.init(e,t),UT.init(e,t)});function Y(e){return new vE({type:`optional`,innerType:e})}let yE=U(`ZodMiniNullable`,(e,t)=>{vT.init(e,t),UT.init(e,t)});function bE(e){return new yE({type:`nullable`,innerType:e})}let xE=U(`ZodMiniPipe`,(e,t)=>{yT.init(e,t),UT.init(e,t)});function SE(e,t){return new xE({type:`pipe`,in:e,out:t})}let CE=U(`ZodMiniCodec`,(e,t)=>{xE.init(e,t),xT.init(e,t)});function wE(e,t,n){return new CE({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let TE=U(`ZodMiniReadonly`,(e,t)=>{wT.init(e,t),UT.init(e,t)});function X(e){return new TE({type:`readonly`,innerType:e})}let EE=U(`ZodMiniTemplateLiteral`,(e,t)=>{ET.init(e,t),UT.init(e,t)});function DE(e,t){return new EE({type:`template_literal`,parts:e,...fw(t)})}let OE=U(`ZodMiniCustom`,(e,t)=>{DT.init(e,t),UT.init(e,t)});function kE(e,t){return VT(OE,e??(()=>!0),t)}function AE(e,t={}){return HT(OE,e,t)}function jE(e){return e}function ME(e){return e}let Z=()=>DE([`0x`,G()],`Expected address`),NE=()=>wE(oE([Q(),XT()]),XT(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:lp(e),encode:e=>L(e)}),Q=()=>DE([`0x`,G()],`Expected hex value`),PE=()=>wE(oE([Q(),KT()]),KT(),{decode:e=>typeof e==`number`?e:e===`0x`?0:dp(e),encode:e=>L(e)}),FE=q({address:Z(),blockHash:Q(),blockNumber:NE(),data:Q(),logIndex:PE(),removed:JT(),topics:X(K(Q())),transactionHash:Q(),transactionIndex:PE()}),IE=q({blobGasPrice:Y(NE()),blobGasUsed:Y(NE()),blockHash:Q(),blockNumber:NE(),contractAddress:bE(Z()),cumulativeGasUsed:NE(),effectiveGasPrice:NE(),feePayer:Y(Z()),feeToken:Y(Z()),from:Z(),gasUsed:NE(),logs:K(FE),logsBloom:Q(),root:Y(Q()),status:wE(Q(),mE([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:bE(Z()),transactionHash:Q(),transactionIndex:PE(),type:Q()}),LE=kE(),RE=oE([J(`secp256k1`),J(`p256`),J(`webAuthn`)]),zE=q({address:Z(),chainId:NE(),expiry:oE([PE(),eE(),QT()]),keyId:Z(),keyType:RE,limits:Y(X(K(q({token:Z(),limit:NE(),period:Y(PE())})))),signature:LE}),BE=q({data:Y(Q()),to:Y(Z()),value:Y(NE())}),VE=q({accessList:Y(K(q({address:Z(),storageKeys:K(Q())}))),calls:Y(X(K(BE))),chainId:Y(PE()),data:Y(Q()),feePayer:Y(oE([JT(),G()])),feePayerSignature:Y(fE(G(),nE())),feeToken:Y(Z()),from:Y(Z()),gas:Y(NE()),keyAuthorization:Y(zE),keyData:Y(Q()),keyId:Y(Z()),keyType:Y(RE),maxFeePerGas:Y(NE()),maxPriorityFeePerGas:Y(NE()),nonce:Y(PE()),nonceKey:Y(NE()),to:Y(Z()),validAfter:Y(PE()),validBefore:Y(PE()),value:Y(NE())});var HE;(function(e){e.schema=jE({method:J(`eth_accounts`),params:void 0,returns:X(K(Z()))})})(HE||={});var UE;(function(e){e.schema=jE({method:J(`eth_chainId`),params:void 0,returns:Q()})})(UE||={});var WE;(function(e){e.schema=jE({method:J(`eth_requestAccounts`),params:void 0,returns:X(K(Z()))})})(WE||={});var GE;(function(e){e.schema=jE({method:J(`eth_sendTransaction`),params:X(uE([VE])),returns:Q()})})(GE||={});var KE;(function(e){let t=q({address:Z(),decimals:KT(),direction:mE([`incoming`,`outgoing`]),formatted:G(),name:G(),recipients:X(K(Z())),symbol:G(),value:Q()}),n=q({decimals:KT(),formatted:G(),name:G(),symbol:G(),token:Z(),value:Q()});e.schema=jE({method:J(`eth_fillTransaction`),params:X(uE([VE])),returns:q({capabilities:q({balanceDiffs:Y(fE(Z(),X(K(t)))),error:Y(q({abiItem:Y(fE(G(),nE())),data:Y(Q()),errorName:G(),message:G()})),fee:Y(q({amount:Q(),decimals:KT(),formatted:G(),symbol:G()})),requireFunds:Y(q({amount:Q(),decimals:KT(),formatted:G(),token:Z(),symbol:G()})),autoSwap:Y(q({maxIn:n,minOut:n,slippage:KT()})),sponsor:Y(q({address:Z(),name:Y(G()),url:Y(G())})),sponsored:JT()}),tx:fE(G(),nE())})})})(KE||={});var qE;(function(e){e.schema=jE({method:J(`eth_signTransaction`),params:X(uE([VE])),returns:Q()})})(qE||={});var JE;(function(e){e.schema=jE({method:J(`eth_sendTransactionSync`),params:X(uE([VE])),returns:IE})})(JE||={});var YE;(function(e){e.schema=jE({method:J(`eth_signTypedData_v4`),params:X(uE([Z(),G()])),returns:Q()})})(YE||={});var XE;(function(e){e.schema=jE({method:J(`personal_sign`),params:X(uE([Q(),Z()])),returns:Q()})})(XE||={});let ZE=Y(q({feePayer:Y(oE([JT(),G()])),sync:Y(JT())}));var QE;(function(e){e.schema=jE({method:J(`wallet_sendCalls`),params:Y(X(uE([q({atomicRequired:Y(JT()),calls:X(K(BE)),capabilities:ZE,chainId:Y(PE()),from:Y(Z()),version:Y(G())})]))),returns:q({atomic:Y(JT()),capabilities:ZE,chainId:Y(PE()),id:G(),receipts:Y(K(IE)),status:Y(KT()),version:Y(G())})})})(QE||={});var $E;(function(e){e.schema=jE({method:J(`wallet_getBalances`),params:Y(X(uE([q({account:Y(Z()),chainId:Y(PE()),tokens:Y(X(K(Z())))})]))),returns:X(K(q({address:Z(),balance:NE(),decimals:KT(),display:G(),name:G(),symbol:G()})))})})($E||={});var eD;(function(e){e.schema=jE({method:J(`wallet_getCapabilities`),params:Y(X(oE([uE([Z()]),uE([Z(),X(K(Q()))])]))),returns:fE(Q(),q({accessKeys:Y(q({status:oE([J(`supported`),J(`unsupported`)])})),atomic:q({status:oE([J(`supported`),J(`ready`),J(`unsupported`)])}),feePayer:Y(q({status:oE([J(`supported`),J(`unsupported`)])}))}))})})(eD||={});var tD;(function(e){e.parameters=q({address:Y(Z()),chainId:Y(NE()),expiry:KT(),keyType:Y(RE),limits:Y(X(K(q({token:Z(),limit:NE(),period:Y(KT())})))),publicKey:Y(Q()),scopes:Y(X(K(q({address:Z(),selector:Y(oE([Q(),G()])),recipients:Y(X(K(Z())))}))))}),e.returns=q({keyAuthorization:zE,rootAddress:Z()}),e.schema=jE({method:J(`wallet_authorizeAccessKey`),params:X(uE([e.parameters])),returns:e.returns})})(tD||={});var nD;(function(e){e.parameters=q({address:Y(Z()),expiry:KT(),keyType:Y(RE),limits:X(K(q({token:Z(),limit:NE(),period:Y(KT())}))),publicKey:Y(Q()),scopes:Y(X(K(q({address:Z(),selector:Y(oE([Q(),G()])),recipients:Y(X(K(Z())))}))))})})(nD||={});var rD;(function(e){e.schema=jE({method:J(`wallet_revokeAccessKey`),params:X(uE([q({address:Z(),accessKeyAddress:Z()})])),returns:void 0})})(rD||={});var iD;(function(e){e.authorizeAccessKey=Y(tD.parameters),e.capabilities={request:Y(oE([q({digest:Y(Q()),authorizeAccessKey:e.authorizeAccessKey,method:J(`register`),name:Y(G()),userId:Y(G())}),q({digest:Y(Q()),credentialId:Y(G()),authorizeAccessKey:e.authorizeAccessKey,method:Y(J(`login`)),selectAccount:Y(JT())})])),result:q({email:Y(bE(G())),keyAuthorization:Y(zE),signature:Y(Q()),username:Y(bE(G()))})},e.schema=jE({method:J(`wallet_connect`),params:Y(X(uE([q({capabilities:e.capabilities.request,chainId:Y(PE()),version:Y(G())})]))),returns:q({accounts:X(K(q({address:Z(),capabilities:e.capabilities.result})))})})})(iD||={});var aD;(function(e){let t=Y(nD.parameters);e.parameters=q({capabilities:Y(oE([q({digest:Y(Q()),authorizeAccessKey:t,method:J(`register`),name:Y(G()),userId:Y(G())}),q({digest:Y(Q()),credentialId:Y(G()),authorizeAccessKey:t,method:Y(J(`login`)),selectAccount:Y(JT())})])),chainId:Y(PE()),version:Y(G())})})(aD||={});var oD;(function(e){e.schema=jE({method:J(`wallet_disconnect`),params:void 0,returns:void 0})})(oD||={});var sD;(function(e){e.schema=jE({method:J(`wallet_getCallsStatus`),params:Y(X(uE([G()]))),returns:q({atomic:JT(),chainId:PE(),id:G(),receipts:Y(K(IE)),status:KT(),version:G()})})})(sD||={});var cD;(function(e){e.parameters=q({feePayer:Y(oE([JT(),G()])),to:Y(Z()),token:Y(Z()),value:Y(G())}),e.schema=jE({method:J(`wallet_send`),params:Y(X(uE([e.parameters]))),returns:q({chainId:PE(),receipt:IE})})})(cD||={});let lD=q({amount:Y(G()),pairToken:Y(Z()),slippage:Y(KT().check(LT(0),IT(1))),token:Y(Z()),type:Y(oE([J(`buy`),J(`sell`)]))});var uD;(function(e){e.schema=jE({method:J(`wallet_swap`),params:Y(X(uE([lD]))),returns:q({receipt:IE})})})(uD||={});var dD;(function(e){e.schema=jE({method:J(`wallet_switchEthereumChain`),params:X(uE([q({chainId:PE()})])),returns:void 0})})(dD||={});var fD;(function(e){e.schema=jE({method:J(`wallet_deposit`),params:X(uE([q({address:Y(Z()),chainId:Y(PE()),displayName:Y(G()),token:Y(Z()),value:Y(G())})])),returns:Y(q({receipts:Y(X(K(IE)))}))})})(fD||={});var pD;(function(e){e.parameters=q({amount:Y(G()),feePayer:Y(oE([JT(),G()])),token:Y(Z()),zoneId:Y(PE())}),e.schema=jE({method:J(`wallet_depositZone`),params:Y(X(uE([e.parameters]))),returns:q({receipt:IE})})})(pD||={});var mD;(function(e){e.parameters=q({amount:Y(G()),token:Y(Z()),zoneId:Y(PE())}),e.schema=jE({method:J(`wallet_withdrawZone`),params:Y(X(uE([e.parameters]))),returns:q({receipt:IE})})})(mD||={}),nD.parameters,aD.parameters;let hD=ME([HE.schema,UE.schema,KE.schema,WE.schema,GE.schema,JE.schema,qE.schema,YE.schema,XE.schema,tD.schema,iD.schema,fD.schema,pD.schema,oD.schema,$E.schema,sD.schema,eD.schema,rD.schema,cD.schema,QE.schema,uD.schema,dD.schema,mD.schema]),gD=qC();function _D(e){return e.params?q({method:e.method,params:e.params}):q({method:e.method})}let vD=cE(`method`,hD.map(_D));function yD(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 bD=class extends Error{status=402;toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...e&&{challengeId:e}}}},xD=class extends bD{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 bD{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.`)}},SD=class extends bD{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 CD(e,t){if(!e)throw new xD({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new xD({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new SD({expires:e})}function wD(e){let t=sb(e);return JSON.parse(t)}function TD(e){return ab(Cf(e),{pad:!1,url:!0})}function ED(){return G().check(BT(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function DD(){return G().check(BT(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function OD(e=`Invalid ISO 8601 datetime`){return SE(oE([DD(),kE(e=>e instanceof Date)]),_E(kD)).check(AE(e=>Number.isFinite(e.getTime()),e))}function kD(e){return e instanceof Date?e:new Date(e)}function AD(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function jD(){return G().check(BT(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function MD(){return G().check(BT(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function ND(){return G().check(BT(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}let PD=q({description:Y(G()),digest:Y(G().check(BT(/^sha-256=/,`Invalid digest format`))),expires:Y(DD()),id:G(),intent:G(),method:G(),meta:Y(fE(G(),G())),opaque:Y(G()),realm:G(),request:fE(G(),nE())});function FD(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?AD(e.expires):void 0,d=e.opaque??(i===void 0?void 0:TD(i)),f=l?JD({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return PD.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 ID(e,t){let n=LD(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=RD(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 FD({...a,request:wD(r),...i&&{opaque:i}},t)}function LD(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(!VD(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 RD(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]=zD(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function zD(e,t){if(e[t]===`\"`)return BD(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function BD(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 VD(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 HD(e,t){let n=e.get(`WWW-Authenticate`);if(!n)throw Error(`Missing WWW-Authenticate header.`);return ID(n,t)}function UD(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return HD(e.headers,t)}function WD(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return GD(e.headers,t)}function GD(e,t){let n=e.get(`WWW-Authenticate`);if(!n)throw Error(`Missing WWW-Authenticate header.`);return KD(n,t)}function KD(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 ID(e.slice(r,a).replace(/,\\s*$/,``),t)})}function qD(e){return[e.realm,e.method,e.intent,TD(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?TD(e.meta):``)].join(`|`)}function JD(e,t){let n=qD(e);return rb(Ug(Nf(t.secretKey),Nf(n),{as:`Bytes`}),{url:!0,pad:!1})}function YD(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=tO(n)}return t}function XD(e,t){let n=YD(e),r=sO(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[tO(e)]??1,index:t}));return{definition:r,entries:i,header:QD(i),keys:n}}function ZD(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)=>aO(e,t))}function QD(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${dO(n)}`}).join(`, `)}function $D(e,t){return e.map((e,n)=>{let r=nO(e,t);return r&&r.q>0?{match:r,offer:e,index:n}:void 0}).filter(e=>!!e).sort((e,t)=>t.match.q-e.match.q||e.index-t.index).map(({offer:e})=>e)}function eO(e,t,n){let r=new Map;for(let e of t){let t=tO(e);r.has(t)||r.set(t,e)}let i=$D(e.filter(e=>r.has(tO(e))),n)[0];if(i)return{challenge:i,method:r.get(tO(i))}}function tO(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function nO(e,t){let n;for(let r of t){if(!rO(e,r))continue;let t={...r,specificity:iO(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 rO(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function iO(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function aO(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}`);fO(r,`method`),fO(i,`intent`);let a=1;for(let t of oO(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=lO(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function oO(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function sO(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>tO(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]=cO(t,`payment preference \"${e}\"`)}return a}function cO(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return uO(e,t)}function lO(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 uO(Number(e),t)}function uO(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 dO(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function fO(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}let pO=Symbol.for(`mppx.fetch.wrapper`),mO;function hO(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,methods:i,onChallenge:a}=e,o=e.eventDispatcher??vO(),s=t??XD(i),c=LO(r),l=async(e,t)=>{let r=IO(e,t?.headers),l=r.has(`Accept-Payment`),u=BO(r,s),d=FO(e,t,r,u.header,l,n),f=await c(d.input,d.init);if(f.status!==402)return f;let p=t?.context,{context:m,...h}=d.init??{},g,_,v;try{_=WD(f);let n=eO(_,i,u.entries);if(!n)throw Error(`No method found for challenges: ${_.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${i.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let r=n.challenge;g=r,v=n.method,g.expires&&CD(g.expires,g.id);let s=SO(e=>zO(r,n.method,e??p)),l=await o.emit(`challenge.received`,CO({challenge:r,challenges:_,createCredential:s,init:t,input:e,method:n.method,response:f}))??(a?await a(g,{createCredential:s}):void 0)??await s();RO(l),await o.emit(`credential.created`,wO({challenge:r,credential:l,init:t,input:e,method:n.method,response:f}));let m=await c(d.input,{...h,headers:PO(d.headers,l)});return m.ok&&await o.emit(`payment.response`,TO({challenge:r,credential:l,init:t,input:e,method:n.method,response:m})),m}catch(n){throw await o.emit(`payment.failed`,EO({challenge:g,challenges:_,error:n,init:t,input:e,method:v,response:f})),n}};return l[pO]=c,l}function gO(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);mO||=globalThis.fetch,globalThis.fetch=hO({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(UO()?`same-origin`:`always`),fetch:globalThis.fetch})}function _O(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 vO(){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 yO(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await xO(e[`*`],t,n),r}case`credential.created`:await bO(e[`credential.created`],n),await xO(e[`*`],t,n);return;case`payment.failed`:await bO(e[`payment.failed`],n),await xO(e[`*`],t,n);return;case`payment.response`:await bO(e[`payment.response`],n),await xO(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 yO(e,t){try{return await e(t)}catch{return}}async function bO(e,t){for(let n of e)try{await n(t)}catch{}}async function xO(e,t,n){await bO(e,Object.freeze({name:t,payload:n}))}function SO(e){let t;return n=>(t??=e(n),t)}function CO(e){return Object.freeze({challenge:jO(e.challenge),challenges:e.challenges.map(e=>jO(e)),createCredential:e.createCredential,init:DO(e.init),input:OO(e.input),method:kO(e.method),response:AO(e.response)})}function wO(e){return Object.freeze({challenge:jO(e.challenge),credential:e.credential,init:DO(e.init),input:OO(e.input),method:kO(e.method),...e.response===void 0?{}:{response:AO(e.response)}})}function TO(e){return Object.freeze({challenge:jO(e.challenge),credential:e.credential,init:DO(e.init),input:OO(e.input),method:kO(e.method),response:AO(e.response)})}function EO(e){return Object.freeze({...e.challenge?{challenge:jO(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>jO(e))}:{},error:e.error,init:DO(e.init),input:OO(e.input),...e.method?{method:kO(e.method)}:{},...e.response===void 0?{}:{response:AO(e.response)}})}function DO(e){if(e)return NO({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function OO(e){return e instanceof Request?e.clone():e instanceof URL?new URL(e):e}function kO(e){return NO(Object.assign({},e))}function AO(e){return e instanceof Response?e.clone():jO(e)}function jO(e){try{return MO(structuredClone(e))}catch{return NO(e)}}function MO(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))MO(t);return e}function NO(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function PO(e,t){let n=_O(e);for(let e of Object.keys(n))e.toLowerCase()===`authorization`&&delete n[e];return n.Authorization=t,n}function FO(e,t,n,r,i,a){let o=!!r&&!i&&VO(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 IO(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function LO(e){let t=e;for(;t[pO];)t=t[pO];return t}function RO(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 zO(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 BO(e,t){let n=e.get(`Accept-Payment`);if(!n)return t;try{return{...t,entries:ZD(n),header:n}}catch{return t}}function VO(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=WO(e);return t===`same-origin`?UO()?n.origin===globalThis.location.origin:!0:t.origins.some(e=>HO(n,e))}function HO(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 UO(){return globalThis.location!==void 0}function WO(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,UO()?globalThis.location.href:void 0)}var GO=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},KO=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function qO(e){let t=e.match(/^Payment\\s+(.+)$/i);if(!t?.[1])throw new GO;try{let e=sb(t[1]),n=JSON.parse(e),{opaque:r,request:i,...a}=n.challenge,{meta:o,opaque:s}=JO(r);return{challenge:PD.parse({...a,...o!==void 0&&{meta:o},...s!==void 0&&{opaque:s},request:wD(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new KO}}function JO(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!YO(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:TD(e)}}function YO(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function XO(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:TD(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:TD(r)},payload:e.payload,...e.source&&{source:e.source}};return`Payment ${ab(JSON.stringify(o),{pad:!1,url:!0})}`}function ZO(e){return e}function QO(e,t){let{context:n,createCredential:r}=t;return{...e,context:n,createCredential:r}}let $O=new Map;async function ek(e){$O.set(e,($O.get(e)??0)+1),await Promise.resolve();let t=($O.get(e)??0)>1;return queueMicrotask(()=>{let t=$O.get(e)??0;t<=1?$O.delete(e):$O.set(e,t-1)}),t}ad(),$u();let tk={blockTime:1e3,extendSchema:Eh(),formatters:{transaction:md({exclude:[`aaAuthorizationList`],format:sC}),transactionReceipt:Ym({format:cC}),transactionRequest:Qu({format:lC})},prepareTransactionRequest:[async(e,{phase:t})=>{let n=e;return t===`afterFillParameters`?(n.feePayer&&n.keyAuthorization?.signature.type===`webAuthn`&&(n.gas=(n.gas??0n)+20000n),n):(await(async()=>{if(n.nonceKey===`expiring`||n.feePayer&&n.nonceKey===void 0)return!0;let e=n.account?.address;return e&&n.nonceKey===void 0?await ek(e):!1})()?(n.nonceKey=id,n.nonce=0,n.validBefore===void 0&&(n.validBefore=Math.floor(Date.now()/1e3)+25)):n.nonceKey!==void 0&&(n.nonce=typeof n.nonce==`number`?n.nonce:0),!n.feeToken&&n.chain?.feeToken&&(n.feeToken=n.chain.feeToken),n)},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:((e,t)=>fS(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i}=t;if(typeof i==`string`&&i.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)){let a=Ub(i);if(a.type!==`keychain`){let i=await ah(e,{address:n,blockNumber:t.blockNumber,blockTag:t.blockTag});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return Yb(a,{address:n,payload:r})}}return await E(e,yy,`verifyHash`)({...t,chain:null})}},nk=Th({...tk,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.presto.tempo.xyz`],webSocket:[`wss://rpc.presto.tempo.xyz`]}}}),rk=Th({...tk,id:31318,name:`Tempo Devnet`,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`]}}}),ik=Th({...tk,id:1337,name:`Tempo`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}}),ak=Th({...tk,id:42431,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.moderato.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`]}}});function ok(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 va(r)}}function sk(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=ih({chain:i.chain,transport:KC(Ay(e),Ay(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?KC(Ay(a),Ay(n)):Ay(a);return ih({chain:{...t,id:r},transport:o})}}let ck={mainnet:4217,testnet:42431},lk={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};ck.mainnet,lk.usdc,ck.testnet,lk.pathUsd;let uk={[ck.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[ck.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},dk={[ck.mainnet]:`https://rpc.tempo.xyz`,[ck.testnet]:`https://rpc.moderato.tempo.xyz`},fk=[`push`,`pull`],pk=q({amount:ED(),memo:Y(MD()),recipient:SE(G(),_E(e=>e))}),mk=(1n<<64n)-1n,hk=SE(jD(),_E(e=>e.toLowerCase())),gk=q({accessKeyAddress:hk,keyType:mE([`p256`,`secp256k1`,`webAuthn`])}),_k=q({accessKey:Y(gk),chainId:Y(KT())}),vk=OD(`subscriptionExpires must be a valid date`).check(AE(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),yk=mE([`day`,`week`]),bk=SE(oE([G(),XT(),kE(e=>typeof e==`number`&&Number.isSafeInteger(e))]),_E(e=>e.toString())).check(BT(/^[1-9]\\d*$/,`Invalid periodCount`),AE(e=>{try{return BigInt(e)<=mk}catch{return!1}},`periodCount exceeds uint64`));function xk(e){return AE(e=>{let{amount:t,decimals:n}=e;return ny(t,n)>0n},e)}function Sk(e){let{periodCount:t,periodUnit:n}=e;try{let e=n===`day`?86400n:604800n;return BigInt(t)*e<=mk}catch{return!1}}let Ck=ZO({name:`tempo`,intent:`charge`,schema:{credential:{payload:cE(`type`,[q({hash:MD(),type:J(`hash`)}),q({signature:ND(),type:J(`transaction`)}),q({signature:ND(),type:J(`proof`)})])},request:SE(q({amount:ED(),chainId:Y(KT()),currency:G(),decimals:KT(),description:Y(G()),externalId:Y(G()),feePayer:Y(SE(oE([JT(),kE()]),_E(e=>typeof e==`object`?!0:e))),memo:Y(MD()),recipient:Y(G()),splits:Y(K(pk).check(zT(1),RT(10))),supportedModes:Y(K(mE(fk)).check(zT(1)))}).check(AE(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=ny(e,t),i=n.reduce((e,n)=>e+ny(n.amount,t),0n);return n.every(e=>ny(e.amount,t)>0n)&&i<r},`Invalid splits`)),_E(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:ny(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:ny(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),wk=ZO({name:`tempo`,intent:`session`,schema:{credential:{payload:cE(`action`,[q({action:J(`open`),authorizedSigner:Y(G()),channelId:MD(),cumulativeAmount:ED(),signature:ND(),transaction:ND(),type:J(`transaction`)}),q({action:J(`topUp`),additionalDeposit:ED(),channelId:MD(),transaction:ND(),type:J(`transaction`)}),q({action:J(`voucher`),channelId:MD(),cumulativeAmount:ED(),signature:ND()}),q({action:J(`close`),channelId:MD(),cumulativeAmount:ED(),signature:ND()})])},request:SE(q({amount:ED(),chainId:Y(KT()),channelId:Y(MD()),currency:G(),decimals:KT(),escrowContract:Y(G()),feePayer:Y(SE(oE([JT(),kE()]),_E(e=>typeof e==`object`?!0:e))),minVoucherDelta:Y(ED()),recipient:Y(G()),suggestedDeposit:Y(ED()),unitType:G()}).check(AE(({amount:e,decimals:t})=>ny(e,t)>0n,`Session amount must be greater than 0`)),_E(({amount:e,chainId:t,channelId:n,decimals:r,escrowContract:i,feePayer:a,minVoucherDelta:o,suggestedDeposit:s,...c})=>({...c,amount:ny(e,r).toString(),...s?{suggestedDeposit:ny(s,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:ny(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a}}})))}}),Tk=ZO({name:`tempo`,intent:`subscription`,schema:{credential:{payload:q({signature:ND(),type:J(`keyAuthorization`)})},request:SE(q({amount:ED(),accessKey:Y(gk),chainId:Y(KT()),currency:hk,decimals:KT(),description:Y(G()),externalId:Y(G()),methodDetails:Y(_k),periodCount:bk,periodUnit:yk,recipient:hk,subscriptionExpires:vk}).check(xk(`Subscription amount must be greater than 0`),AE(Sk,`Subscription period exceeds uint64`)),_E(({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:ny(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}}),Ek=(1n<<64n)-1n;function Dk(e){return e instanceof Date?e:new Date(e)}function Ok(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 kk(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});if(e.periodUnit!==`day`&&e.periodUnit!==`week`)throw new $({reason:`periodUnit is invalid`});let t=e.periodUnit===`day`?86400n:604800n,n=BigInt(e.periodCount)*t;if(n>Ek)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 Ak(e){let{challengeExpires:t,request:n}=e;kk(n);let r=Ok(Dk(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 jk(e){let t=Uk(e.currency,`currency`),n=Uk(e.recipient,`recipient`);return[{address:t,selector:`0xa9059cbb`,recipients:[n]},{address:t,selector:`0x95777d59`,recipients:[n]}]}async function Mk(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=Pk({accessKey:t,chainId:r,request:i});return dx(a,{signature:Wb(await n.sign({hash:mx(a)}))})}function Nk(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let a=Fk(r.signature),o=Ik(a);return Lk({accessKey:t,authorization:a,chainId:n}),Rk(a,i),Bk(zk(a),i),Vk(a.scopes,i),{authorization:a,source:{address:Hk(a,o),chainId:n}}}function Pk(e){let{accessKey:t,chainId:n,request:r}=e;return dx({address:Uk(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:Ok(Dk(r.subscriptionExpires)),limits:[{token:Uk(r.currency,`currency`),limit:BigInt(r.amount),period:kk(r)}],scopes:jk(r),type:t.keyType})}function Fk(e){try{return hx(e)}catch{throw new $({reason:`invalid keyAuthorization payload`})}}function Ik(e){let t=e.signature;if(!t||t.type===`keychain`)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function Lk(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!Gd(n.address,Uk(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function Rk(e,t){if(Ak({request:t}),e.expiry!==Ok(Dk(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function zk(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function Bk(e,t){if(!Gd(e.token,Uk(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==kk(t))throw new $({reason:`keyAuthorization period mismatch`})}function Vk(e,t){if(!e||e.length<1||e.length>2)throw new $({reason:`keyAuthorization must contain recipient-scoped transfer calls`});let n=Uk(t.currency,`currency`),r=Uk(t.recipient,`recipient`),i=new Set;for(let t of e){if(!Gd(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=Wk(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||!Gd(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0xa9059cbb`))throw new $({reason:`keyAuthorization must allow transfer`});if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function Hk(e,t){let n=mx(e);try{let e=Vb({payload:n,signature:t});if(!Yb(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 Uk(e,t){if(!Ii(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function Wk(e){return typeof e==`string`?e.toLowerCase():``}let Gk=q({accessKey:Y(kE()),account:Y(kE())});function Kk(e={}){let t=sk({chain:nk,getClient:e.getClient,rpcUrl:dk}),n=ok({account:e.account});return QO(Tk,{context:Gk,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??ck.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.\");Jk(r.request),await e.validateRequest?.(r.request);let l=await qk(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!Gd(Nk({accessKey:c,chainId:a,payload:{signature:_x(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return XO({challenge:r,payload:{signature:_x(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function qk(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await Mk({accessKey:n,account:r,chainId:i,request:a})||fx((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:Ok(Dk(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:L(BigInt(a.amount)),period:kk(a)}],scopes:jk(a)}]})).keyAuthorization)}function Jk(e){kk(e),Ok(Dk(e.subscriptionExpires))}let Yk=R(Hg(Nf(`mpp`),{as:`Hex`}),0,4);function Xk(e){return up(R(Hg(Nf(e),{as:`Hex`}),0,10))}function Zk(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(up(Yk),0),i[4]=1,i.set(Xk(t),5),n&&i.set(Xk(n),15),i.set(Qk(r),25),I(i)}function Qk(e){return up(R(Hg(Nf(e),{as:`Hex`}),0,7))}function $k(e,t){return e.toLowerCase()===t.toLowerCase()}let eA=[lk.pathUsd,lk.usdc];async function tA(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!$k(e,i)),c=await Promise.allSettled([jm(e,KS.call({account:n,token:i})),...s.map(t=>jm(e,KS.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 AS(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let e=t+t*BigInt(Math.round(o*100))/10000n;return[BS.call({token:l,spender:wS,amount:e}),TS.call({tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:e})]}}catch{}}throw new rA({currency:i})}}function nA(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>$k(e,t)))]:t,slippage:e.slippage??1}:!1}var rA=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function iA(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 aA={Proof:[{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function oA(e){return{name:`MPP`,version:`2`,chainId:e}}function sA(e,t){return{challengeId:e,realm:t}}function cA(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}function lA(e={}){let{clientId:t}=e,n=sk({chain:nk,getClient:e.getClient,rpcUrl:dk}),r=ok({account:e.account});return QO(Ck,{context:q({account:Y(kE()),autoSwap:Y(kE()),mode:Y(mE(fk))}),async createCredential({challenge:i,context:a}){let o=i.request.methodDetails?.chainId,s=await n({chainId:o}),c=r(s,a),{request:l}=i,{amount:u,methodDetails:d}=l;if(BigInt(u)===0n)return XO({challenge:i,payload:{signature:await Ey(s,{account:c,domain:oA(o),types:aA,primaryType:`Proof`,message:sA(i.id,i.realm)}),type:`proof`},source:cA({address:c.address,chainId:o})});let f=l.currency;if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase())),n=d?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}let p=d?.supportedModes??[`pull`,`push`],m=(()=>{let t=a?.mode??e.mode;if(t){if(!p.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=c.type===`json-rpc`?`push`:`pull`;return p.includes(n)?n:p[0]})(),h=d?.memo?d.memo:Zk({challengeId:i.id,clientId:t,serverId:i.realm}),g=iA({amount:u,methodDetails:{...d,memo:h},recipient:l.recipient}).map(e=>rC.call({amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:f})),_=nA(a?.autoSwap??e.autoSwap,eA),v=[...(_?await tA(s,{account:c.address,amountOut:BigInt(u),tokenOut:f,tokenIn:_.tokenIn,slippage:_.slippage}):void 0)??[],...g],y=(()=>{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(m===`push`){let{receipts:e}=await wy(s,{account:c,calls:v,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return XO({challenge:i,payload:{hash:t,type:`hash`},source:`did:pkh:eip155:${o}:${c.address}`})}let b=await Ud(s,{account:c,calls:v,...d?.feePayer&&{feePayer:!0},nonceKey:`expiring`,validBefore:y});return b.gas+=5000n,XO({challenge:i,payload:{signature:await Ty(s,b),type:`transaction`},source:`did:pkh:eip155:${o}:${c.address}`})}})}function uA(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let dA={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};async function fA(e,t,n,r,i,a){let o=await Ey(e,{account:t,domain:uA(r,i),types:dA,primaryType:`Voucher`,message:{channelId:n.channelId,cumulativeAmount:n.cumulativeAmount}});if(a)try{let e=Wb(o);if(e.type===`keychain`&&e.inner.type===`secp256k1`)return vv(e.inner.signature)}catch{}return o}function pA(e){return Hg(U_(G_([`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 mA=[{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:[]}];async function hA(e,t,n){return jm(e,{address:t,abi:mA,functionName:`getChannel`,args:[n]})}ma({abi:mA,name:`open`}),ma({abi:mA,name:`topUp`});function gA(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??uk[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function _A(e,t,n,r){return XO({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function vA(e,t,n,r,i,a,o){let s=await fA(e,t,{channelId:n,cumulativeAmount:r},i,a,o);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:s}}async function yA(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=n.authorizedSigner??t.address,d=op(32),f=pA({authorizedSigner:u,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:d,token:a}),p=Ca({abi:V,functionName:`approve`,args:[r,o]}),m=Ca({abi:mA,functionName:`open`,args:[i,a,o,d,u]}),h=await Ud(e,{account:t,calls:[{to:a,data:p},{to:r,data:m}],...l&&{feePayer:!0},feeToken:a});h.gas+=5000n;let g=await Ty(e,h),_=await fA(e,t,{channelId:f,cumulativeAmount:s},r,c,n.authorizedSigner);return{entry:{channelId:f,salt:d,cumulativeAmount:s,escrowContract:r,chainId:c,opened:!0},payload:{action:`open`,type:`transaction`,channelId:f,transaction:g,authorizedSigner:u,cumulativeAmount:s.toString(),signature:_}}}async function bA(e,t,n,r){try{let i=await hA(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 xA=q({account:Y(kE()),action:Y(mE([`open`,`topUp`,`voucher`,`close`])),channelId:Y(G()),cumulativeAmount:Y(ED()),cumulativeAmountRaw:Y(G()),transaction:Y(G()),authorizedSigner:Y(G()),additionalDeposit:Y(ED()),additionalDepositRaw:Y(G()),depositRaw:Y(G())});function SA(e={}){let{decimals:t=6}=e,n=sk({chain:nk,getClient:e.getClient,rpcUrl:dk}),r=ok({account:e.account}),i=t=>e.authorizedSigner??t.accessKeyAddress,a=e.maxDeposit===void 0?void 0:ny(e.maxDeposit,t),o=new Map,s=new Map,c=new Map;function l(t){e.onChannelUpdate?.(t)}function u(e,t,n){return`${e.toLowerCase()}:${t.toLowerCase()}:${n.toLowerCase()}`}function d(t,n,r){if(r){let e=o.get(r);if(e)return e}return gA(t,n,e.escrowContract)}async function f(r,f,p){let m=r.request.methodDetails,h=m?.chainId??0,g=await n({chainId:h}),_=d(r,h),v=r.request.recipient,y=r.request.currency,b=BigInt(r.request.amount),x=r.request.suggestedDeposit,S=x?BigInt(x):void 0,ee=(()=>{if(p?.depositRaw)return BigInt(p.depositRaw);if(e.deposit!==void 0)return ny(e.deposit,t);if(S!==void 0&&a!==void 0)return S<a?S:a;if(a!==void 0)return a;if(S!==void 0)return S;throw Error(\"No deposit amount available. Set `deposit`, `maxDeposit`, or ensure the server challenge includes `suggestedDeposit`.\")})(),te=i(f),C=u(v,y,_),w=s.get(C);if(!w){let e=p?.channelId??m?.channelId;if(e){let n=await bA(g,_,e,h);if(n){let e=p?.cumulativeAmountRaw?BigInt(p.cumulativeAmountRaw):p?.cumulativeAmount?ny(p.cumulativeAmount,t):void 0;e!==void 0&&(n.cumulativeAmount=e),s.set(C,n),c.set(n.channelId,C),o.set(n.channelId,_),w=n,l(w)}else if(p?.channelId)throw Error(`Channel ${p.channelId} cannot be reused (closed or not found on-chain).`)}}let T;if(w?.opened)w.cumulativeAmount+=b,T=await vA(g,f,w.channelId,w.cumulativeAmount,_,h,te),l(w);else{let e=await yA(g,f,{authorizedSigner:te,escrowContract:_,payee:v,currency:y,deposit:ee,initialAmount:b,chainId:h,feePayer:m?.feePayer});s.set(C,e.entry),c.set(e.entry.channelId,C),o.set(e.entry.channelId,_),T=e.payload,l(e.entry)}return _A(r,T,h,f)}async function p(e,r,a){let u=e.request.methodDetails?.chainId??0,f=await n({chainId:u}),p=a.action,{channelId:m,transaction:h,authorizedSigner:g}=a,_=g??i(r),v=m,y=a.cumulativeAmountRaw?BigInt(a.cumulativeAmountRaw):a.cumulativeAmount?ny(a.cumulativeAmount,t):void 0,b=a.additionalDepositRaw?BigInt(a.additionalDepositRaw):a.additionalDeposit?ny(a.additionalDeposit,t):void 0,x=d(e,u,v);o.set(v,x);let S;switch(p){case`open`:{if(!h)throw Error(`transaction required for open action`);if(y===void 0)throw Error(`cumulativeAmount required for open action`);let e=await fA(f,r,{channelId:v,cumulativeAmount:y},x,u,_);S={action:`open`,type:`transaction`,channelId:v,transaction:h,authorizedSigner:_??r.address,cumulativeAmount:y.toString(),signature:e};break}case`topUp`:if(!h)throw Error(`transaction required for topUp action`);if(b===void 0)throw Error(`additionalDeposit required for topUp action`);S={action:`topUp`,type:`transaction`,channelId:v,transaction:h,additionalDeposit:b.toString()};break;case`voucher`:{if(y===void 0)throw Error(`cumulativeAmount required for voucher action`);S=await vA(f,r,v,y,x,u,_);let e=c.get(v);if(e){let t=s.get(e);t&&(t.cumulativeAmount=t.cumulativeAmount>y?t.cumulativeAmount:y,l(t))}break}case`close`:{if(y===void 0)throw Error(`cumulativeAmount required for close action`);let e=await fA(f,r,{channelId:v,cumulativeAmount:y},x,u,_);S={action:`close`,channelId:v,cumulativeAmount:y.toString(),signature:e};let t=c.get(v);if(t){let e=s.get(t);e&&(e.opened=!1,e.cumulativeAmount=e.cumulativeAmount>y?e.cumulativeAmount:y,l(e))}break}}return _A(e,S,u,r)}return QO(wk,{context:xA,async createCredential({challenge:t,context:i}){let o=r(await n({chainId:t.request.methodDetails?.chainId??0}),i);if(!i?.action&&(e.deposit!==void 0||a!==void 0))return f(t,o,i);if(i?.action)return p(t,o,i);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 CA(e){let t=sb(e);return JSON.parse(t)}function wA(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 TA(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function EA(){return JSON.stringify({mpp:`payment-close-request`})}function DA(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`&&OA(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`&&kA(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&OA(t.data)?{mpp:`payment-receipt`,data:t.data}:null}catch{return null}}function OA(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.challengeId==`string`&&typeof t.channelId==`string`}function kA(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.channelId==`string`&&typeof t.requiredCumulative==`string`}let AA={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function jA(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:ny(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,_=SA({account:e.account,authorizedSigner:e.authorizedSigner,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=hO({fetch:t,methods:[_],onChallenge:async(e,t)=>{a=e}});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`);ne(t),ne(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 T(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 ne(e){if(r!==null&&!(e<=r))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${r}`)}function re(e){let t=e.headers.get(`Payment-Receipt`),n=t?CA(t):null;return y(n),Object.assign(e,{receipt:n,challenge:a,channelId:i?.channelId??null,cumulative:i?.cumulativeAmount??0n})}async function ie(e,t){return o=e,re(await v(e,t))}function ae(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=AA.CLOSED,r=null}if(e===`open`&&(i=AA.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:ie,async sse(e,n){let{onReceipt:r,signal:o,...s}=n??{},c=await ie(e,{...s,headers:{..._O(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=wA(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);ne(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(e,r){if(!n)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:s,protocols:f,signal:m}=r??{},v=new URL(e.toString()),b=new URL(v.toString());b.protocol===`ws:`&&(b.protocol=`http:`),b.protocol===`wss:`&&(b.protocol=`https:`),o=b.toString();let S=await t(b,m?{signal:m}:void 0);if(S.status!==402)throw Error(`Expected a 402 payment challenge from ${b}, received ${S.status} instead.`);let T=WD(S).find(e=>e.method===_.name&&e.intent===_.intent);if(!T)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=T;let re=await _.createCredential({challenge:T,context:{}});d=null,c=T,h=0n,g=BigInt(T.request.amount);let ie=qO(re);l=ie.payload.channelId;let oe=new n(v,f);u=oe;let se=ae(oe),ce=e=>{C(Error(e)),w(Error(e)),(oe.readyState===AA.CONNECTING||oe.readyState===AA.OPEN)&&oe.close(3008,e)},le=e=>e.challengeId===T.id&&e.channelId===l,ue=new Promise((e,t)=>{let n=()=>{oe.removeEventListener(`error`,r),se.emit(`open`,{type:`open`}),e()},r=()=>{oe.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${v} failed to open.`))};oe.addEventListener(`open`,n,{once:!0}),oe.addEventListener(`error`,r,{once:!0})});return oe.addEventListener(`close`,e=>{u===oe&&(u=null),c===T&&(c=null),l===ie.payload.channelId&&(l=null),p=null,C(Error(`WebSocket closed before the payment flow completed.`)),w(Error(`WebSocket closed before the payment flow completed.`)),se.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),oe.addEventListener(`error`,()=>{se.emit(`error`,{type:`error`})}),oe.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=DA(t);if(!n){se.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:h+=1n,se.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!le(n.data)){ce(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(i?.cumulativeAmount??0n)){ce(`received payment-close-ready beyond local voucher state`);break}y(n.data),s?.(n.data),te(n.data),se.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){ce(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{ne(e)}catch(e){ce(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:T,context:{action:`voucher`,channelId:l,cumulativeAmountRaw:t.toString()}});oe.send(TA(r));break}case`payment-receipt`:if(!le(n.data)){ce(`received mismatched payment-receipt frame`);break}if(p!==null&&n.data.txHash&&(n.data.acceptedCumulative!==p||n.data.spent!==p)){ce(`received mismatched payment-close receipt frame`);break}y(n.data),s?.(n.data),ee(n.data);break}}),m&&m.addEventListener(`abort`,()=>{C(Error(`WebSocket payment flow aborted.`)),w(Error(`WebSocket payment flow aborted.`)),oe.close()},{once:!0}),await ue,oe.send(TA(re)),await x(),se.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===AA.OPEN){let t=d??await(async()=>(u.send(EA()),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(TA(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(T(e,n));if(t>i.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return ne(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?CA(m):void 0}}}function MA(e={}){return[lA(e),SA(e)]}(function(e){e.charge=lA,e.session=jA,e.subscription=Kk})(MA||={});function NA(e){return e}function PA(){return NA({name:`http`,isPaymentRequired(e){return e.status===402},getChallenges(e){return WD(e)},getChallenge(e){return UD(e)},setCredential(e,t){let n=new Headers(e.headers);return n.set(`Authorization`,t),{...e,headers:n}}})}function FA(e){let{onChallenge:t,polyfill:n=!0,acceptPaymentPolicy:r=n&&globalThis.location!==void 0?`same-origin`:`always`,transport:i=PA()}=e,a=e.fetch??globalThis.fetch,o=e.methods.flat(),s=XD(o,e.paymentPreferences),c=vO(),l=t,u={acceptPayment:s,acceptPaymentPolicy:r,...e.fetch&&{fetch:e.fetch},eventDispatcher:c,...l&&{onChallenge:l},methods:o},d=hO(u);n&&gO(u);function f(e){return c.on(`challenge.received`,e)}function p(e){return c.on(`credential.created`,e)}function m(e){return c.on(`payment.failed`,e)}function h(e){return c.on(`payment.response`,e)}return{fetch:d,rawFetch:a,methods:o,transport:i,on:c.on,onChallengeReceived:f,onCredentialCreated:p,onPaymentFailed:m,onPaymentResponse:h,async createCredential(e,t,n){let r=i.getChallenges?i.getChallenges(e):[i.getChallenge(e)],a=GA(s.entries,n?.acceptPayment),l,u;try{let n=eO(r,o,a);if(!n)throw Error(`No method found for challenges: ${r.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${o.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let i=n.challenge;l=i,u=n.method,l.expires&&CD(l.expires,l.id);let s=IA(e=>KA(i,u,e??t)),d=await c.emit(`challenge.received`,LA({challenge:i,challenges:r,createCredential:s,method:u,response:e}))??await s();return RO(d),await c.emit(`credential.created`,RA({challenge:i,credential:d,method:u,response:e})),d}catch(t){throw await c.emit(`payment.failed`,zA({challenge:l,challenges:r,error:t,method:u,response:e})),t}}}}function IA(e){let t;return n=>(t??=e(n),t)}function LA(e){return Object.freeze({challenge:HA(e.challenge),challenges:e.challenges.map(e=>HA(e)),createCredential:e.createCredential,method:BA(e.method),response:VA(e.response)})}function RA(e){return Object.freeze({challenge:HA(e.challenge),credential:e.credential,method:BA(e.method),response:VA(e.response)})}function zA(e){return Object.freeze({...e.challenge?{challenge:HA(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>HA(e))}:{},error:e.error,...e.method?{method:BA(e.method)}:{},response:VA(e.response)})}function BA(e){return WA(Object.assign({},e))}function VA(e){return e instanceof Response?e.clone():HA(e)}function HA(e){try{return UA(structuredClone(e))}catch{return WA(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 WA(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function GA(e,t){return t?typeof t==`string`?ZD(t):t:e}async function KA(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 qA(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 JA(e={}){let{account:t}=e,n=await sS();return{accessKey:bS(n,t?{access:t}:void 0),keyPair:n}}function YA(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 XA(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 ZA(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 QA(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 OC({message:`Account \"${n}\" not found.`}):new AC({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(tj(t,e))return $A(t)}}return ej(l,{signable:r})}function $A(e){if(`keyPair`in e&&e.keyPair)return bS(e.keyPair,{access:e.access});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return vS(e.privateKey,{access:e.access});case`p256`:return _S(e.privateKey,{access:e.access})}throw new OC({message:`External access key cannot be hydrated for signing.`})}function ej(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 OC({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return vS(e.privateKey);case`p256`:return _S(e.privateKey);case`webCrypto`:return bS(e.keyPair);case`webAuthn`:return yS(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return gS(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new OC({message:`Unknown key type.`})}}function tj(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:py(e.selector)).toLowerCase():!0:!1)})}function nj(e,t){let{name:n,...r}=e;return Object.defineProperty(t,`name`,{value:n,configurable:!0}),Object.assign(t,r)}function rj(e={}){let{dialog:t=ee()?ie():re(),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.`),nj({icon:r,name:i,rdns:a},({getAccount:e,getClient:r,store:i})=>{let a=new Set,s=WC();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 DC);return}s&&(s.status!==`success`&&s.status!==`error`||(a.delete(r),s.status===`success`?t(s.result):n(new DC({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=VC({async request(e){let t=s.prepare(e);return i.setState(e=>({...e,requestQueue:[...e.requestQueue,{request:t,status:`pending`}]})),c(t.id)}},{schema:gD});async function u(e){if(!e||e.publicKey||e.address)return;let{accessKey:t,keyPair:n}=await JA();return{accessKey:t,keyPair:n,request:{...e,publicKey:t.publicKey,keyType:`p256`}}}function d(e,t,n){ZA({address:e,keyAuthorization:fx(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=qA(n,{store:i});try{let e=await t(n,r??void 0);return XA(n,{store:i}),e}catch(e){console.warn(`[accounts] silent sign with access key failed, removing key:`,e),YA(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()},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:kw(iD.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}:{}}},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:kw(iD.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}:{}}},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 Ud(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:[kw(VE,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 Ud(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:[kw(VE,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 Ud(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:[kw(VE,e)]}):n},async authorizeAccessKey(t,n){let r=await u(t),i=await l.request({...n,params:[kw(iD.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:[kw(cD.parameters,e)]})},async swap(e,t){return await l.request(t)},async depositZone(e,t){return await l.request({...t,params:[kw(pD.parameters,e)]})},async withdrawZone(e,t){return await l.request({...t,params:[kw(mD.parameters,e)]})},async disconnect(){i.setState({accessKeys:[],accounts:[],activeAccount:0})}}}})}let ij=new Map;function aj(e,t){let{chains:n,feePayer:r,provider:i,store:a}=t,o=(()=>{if(r!==!1){if(typeof r==`string`)return sj(r);if(r?.url)return sj(r.url)}})(),s=typeof r==`object`&&r?r.precedence??`fee-payer-first`:`fee-payer-first`,c=e??a.getState().chainId,l=`${c}:${i?`p`:``}:${r===!1?`no-fp`:o??``}:${s}`,u=ij.get(l);if(!u){let e=n.find(e=>e.id===c)??n[0],t=Ay(),r=i?oj(i,t):t;u=ih({chain:e,transport:o?cj(r,o,s):r,pollingInterval:1e3}),ij.set(l,u)}return u}function oj(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function sj(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function cj(e,t,n){return r=>{let i=e(r),a=Ay(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=dS(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 lj(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(lj.cache.get(n))return lj.cache.get(n);let r=e().finally(()=>lj.cache.delete(n));return lj.cache.set(n,r),r}lj.cache=new Map;function uj(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function dj(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=uj(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let fj;function pj(){return fj||=dj(`keyval-store`,`keyval`),fj}function mj(e,t=pj()){return t(`readonly`,t=>uj(t.get(e)))}function hj(e,t,n=pj()){return n(`readwrite`,n=>(n.put(t,e),uj(n.transaction)))}function gj(e,t=pj()){return t(`readwrite`,t=>(t.delete(e),uj(t.transaction)))}function _j(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 vj(e={}){let t=typeof indexedDB<`u`?dj(`tempo`,`store`):void 0;return _j({async getItem(e){let n=await mj(e,t);return n===null?null:n},async setItem(e,n){await hj(e,n,t)},async removeItem(e){await gj(e,t)}},e)}function yj(e={}){let t=new Map;return _j({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e)}let bj=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 xj(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 Sj=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return Sj(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return Sj(t)(e)}}}},Cj=(e,t)=>(n,r,i)=>{let a={storage:xj(()=>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 Sj(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},wj=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},Tj=(e=>e?wj(e):wj);function Ej(e){let{chainId:t,maxAccounts:n,persistCredentials:r=!0,storage:i=typeof window<`u`?vj({key:`tempo`}):yj({key:`tempo`})}=e;return Tj(bj(Cj(()=>({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}:{},chainId:e.chainId}),storage:i,version:0})))}async function Dj(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}function Oj(e,t){let n=Dw(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new kC({message:`Unsupported method \"${t?.method}\".`}):new EC(-32602,`Invalid params: ${kj(n.error.issues)}`)}return{...t,_decoded:n.data}}function kj(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?kj([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}let Aj=new Set;function jj(e={}){let{adapter:t=rj(),chains:n=[nk,ak,rk],maxAccounts:r,persistCredentials:i,testnet:a,storage:o=typeof window<`u`?vj():yj()}=e,s=(()=>{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}})(),c=Ej({chainId:(a?n.find(e=>e.testnet)??n[n.length-1]:n[0]).id,maxAccounts:r,persistCredentials:i,storage:o}),l=(e={})=>QA({...e,store:c}),u;function d(e={}){let{chainId:t,feePayer:r}=e;return aj(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:s?.precedence}})(),store:c})}let f=t({getAccount:l,getClient:d,storage:o,store:c}),{actions:p}=f,m=BC();c.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>m.emit(`accountsChanged`,c.getState().accounts.map(e=>e.address))),c.subscribe(e=>e.chainId,e=>m.emit(`chainChanged`,L(e))),c.subscribe(e=>e.accounts.length>0,e=>{e?m.emit(`connect`,{chainId:L(c.getState().chainId)}):m.emit(`disconnect`,new AC)});function h(){if(c.getState().accounts.length===0)throw new AC({message:`No accounts connected.`})}function g(e){if(!f.persistAccounts)return e;let t=[...e];for(let e of c.getState().accounts)t.some(t=>t.address.toLowerCase()===e.address.toLowerCase())||t.push(e);return t}function _(e){if(e===!1)return!1;let t=typeof e==`string`?e:s?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}let v=Object.assign(VC({...m,async request({method:t,params:r}){return await Dj(c),lj(async()=>{let i;try{i=Oj(vD,{method:t,params:r})}catch(e){if(!(e instanceof kC))throw e;return await aj(void 0,{chains:n,store:c}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:{let{accounts:e,activeAccount:t}=c.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 L(c.getState().chainId);case`eth_requestAccounts`:{let{accounts:e}=await p.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return c.setState({accounts:g(e),activeAccount:0}),e.map(e=>e.address)}case`eth_sendTransaction`:{h();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 p.sendTransaction({...r,chainId:e.chainId??c.getState().chainId,...a?{calls:a}:{},feePayer:_(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=t.chainId,r=_(t.feePayer),a=e=>{let t=d({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 l({signable:!0})}catch{return}})();if(e?.source===`accessKey`){let n=qA(e,{store:c});if(n)try{let r=await a({...t,keyAuthorization:{address:n.address,...vx(n)}});return XA(e,{store:c}),r}catch{return YA(e,{store:c}),await a(t)}}}return await a(t)}case`eth_signTransaction`:{h();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 p.signTransaction({...r,chainId:e.chainId??c.getState().chainId,...a?{calls:a}:{},feePayer:_(e.feePayer)},i)}case`eth_sendTransactionSync`:{h();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 p.sendTransactionSync({...r,chainId:e.chainId??c.getState().chainId,...a?{calls:a}:{},feePayer:_(e.feePayer)},i)}case`eth_signTypedData_v4`:{h();let[e,t]=i._decoded.params;return await p.signTypedData({address:e,data:t},i)}case`personal_sign`:{h();let[e,t]=i._decoded.params;return await p.signPersonalMessage({address:t,data:e},i)}case`wallet_sendCalls`:{h();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=_(t?.feePayer??(s?!0:void 0)),l={calls:e,chainId:n,from:r,...o?{feePayer:o}:{}};if(!a){let e=F(await p.sendTransaction(l,{method:`eth_sendTransaction`,params:[kw(VE,l)]}),ip(L(c.getState().chainId),32),Nj);return{capabilities:{sync:a},id:e}}let u=await p.sendTransactionSync(l,{method:`eth_sendTransactionSync`,params:[kw(VE,l)]}),d=u.transactionHash,f=L(c.getState().chainId),m=F(d,ip(f,32),Nj);return{atomic:!0,capabilities:{sync:a},chainId:f,id:m,receipts:[u],status:u.status===`0x1`?200:500,version:`2.0.0`}}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=c.getState(),a=e?.account??t[r]?.address;if(!a)throw new AC({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new CC({message:\"`tokens` is required.\"});let s=aj(e?.chainId,{chains:n,store:c});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([KS(s,{account:a,token:e}),qS(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:L(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(Nj.slice(2)))throw Error(\"`id` not supported\");ep(e);let t=R(e,0,32),r=L(Number(R(e,32,64))),a=await aj(Number(r),{chains:n,store: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}=c.getState();if(!e.some(e=>e.address.toLowerCase()===t.toLowerCase()))throw new OC({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(L(e.id))):n,o={};for(let e of a)o[L(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...s?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&c.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??e.authorizeAccessKey?.(),{keyAuthorization:a,accounts:o,email:s,signature:l,username:u}=await(async()=>{if(n?.method===`register`){let e=n.name?c.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await p.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:r},i):await p.createAccount({digest:n.digest,authorizeAccessKey:r,name:n.name??`default`,userId:n.userId??op(16)},i)}return await p.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:r,selectAccount:n?.selectAccount},i)})();c.setState({accounts:g(o),activeAccount:0});let d=o[0]?.address;return{accounts:o.map(e=>({address:e.address,capabilities:e.address===d?{...a?{keyAuthorization:{...a,address:a.keyId}}:{},...l&&n?.digest?{signature:l}:{},...s===void 0?{}:{email:s},...u===void 0?{}:{username:u}}:{}}))}}case`wallet_disconnect`:await p.disconnect?.(),c.setState({accessKeys:[],accounts:[],activeAccount:0});return;case`wallet_authorizeAccessKey`:{if(!p.authorizeAccessKey)throw new kC({message:\"`authorizeAccessKey` not supported by adapter.\"});let e=i._decoded.params[0],t=await p.authorizeAccessKey(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{if(h(),!p.revokeAccessKey)throw new kC({message:\"`revokeAccessKey` not supported by adapter.\"});let[e]=i._decoded.params;await p.revokeAccessKey({...e},i);return}case`wallet_deposit`:if(!p.deposit)throw new kC({message:\"`deposit` not supported by adapter.\"});return await p.deposit(i._decoded.params[0],i);case`wallet_send`:{if(h(),!p.send)throw new kC({message:\"`send` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:_(e.feePayer)}};return await p.send(t,i)}case`wallet_swap`:if(h(),!p.swap)throw new kC({message:\"`swap` not supported by adapter.\"});return await p.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(h(),!p.depositZone)throw new kC({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:_(e.feePayer)}};return await p.depositZone(t,i)}case`wallet_withdrawZone`:if(h(),!p.withdrawZone)throw new kC({message:\"`withdrawZone` not supported by adapter.\"});return await p.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 PC({message:`Chain ${e} not configured.`});await p.switchChain?.({chainId:e}),c.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:Tf({method:t,params:r})})}},{schema:gD}),{chains:n,getAccount:l,getClient(e={}){let{chainId:t,feePayer:r}=e;return aj(t,{chains:n,feePayer:r,provider:u,store:c})},store:c});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;Aj.has(e)||(Aj.add(e),yD({info:{icon:t.icon??Mj,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:v}))}return e.mpp&&FA({methods:[MA({getClient:({chainId:e})=>{let t=v.getClient({chainId:e}),n=v.getAccount();return Object.assign(t,{account:n})},mode:`pull`})]}),u=v,v}let Mj=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,Nj=Hg(rp(`TEMPO_5792`)),Pj={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},Fj={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},Ij={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var Lj=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let Rj={accent:new Lj(`accent`),background:new Lj(`background`),border:new Lj(`border`),foreground:new Lj(`foreground`),muted:new Lj(`muted`),negative:new Lj(`negative`),positive:new Lj(`positive`),surface:new Lj(`surface`),fontFamily:new Lj(`font-family`),fontSizeBase:new Lj(`font-size-base`),radius:new Lj(`radius`),spacingUnit:new Lj(`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: ${Rj.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 zj(e){let t=new URL(location.href);t.searchParams.set(Fj.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()}function Bj(e){let t=document.getElementById(Pj.data),n=wf(t.textContent),r=t.getAttribute(Ij.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(Ij.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(Ij.challengeId),o=a?(i.removeAttribute(Ij.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(Pj.error)?.remove();return}let t=document.getElementById(Pj.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=Pj.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:zj,vars:Rj}}let Vj=Bj(`tempo`),Hj=String.raw,Uj=document.createElement(`style`);Uj.textContent=Hj`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${Vj.vars.spacingUnit} * 8);\n }\n button {\n background: ${Vj.vars.accent};\n border-radius: ${Vj.vars.radius};\n color: ${Vj.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${Vj.vars.spacingUnit} * 4) calc(${Vj.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`,Vj.root.append(Uj);let Wj=jj({testnet:Vj.challenge.request.methodDetails?.chainId===ak.id||Vj.challenge.request.methodDetails?.chainId===ik.id}),Gj=document.createElement(`button`);Gj.innerHTML=`${Vj.text.pay===`Pay`?`Continue with`:Vj.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>`,Gj.onclick=async()=>{try{Vj.error(),Gj.disabled=!0;let e=await(async()=>{let e=await Wj.request({method:`eth_accounts`});return e.length>0?e.at(0):(await Wj.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await MA({account:e,getClient:e=>{let t=e.chainId??Vj.challenge.request.methodDetails?.chainId;return ih({chain:[...Wj?.chains??[],ak,ik].find(e=>e.id===t),transport:Oy(Wj)})}})[0].createCredential({challenge:Vj.challenge,context:{}});await Vj.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;Vj.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{Gj.disabled=!1}},Vj.root.appendChild(Gj)})();</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));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.font&&e.searchParams.set(`font`,t.font),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.47.6`}));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}));function 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){let t=(t,n)=>e(n).update(Vr(t)).digest(),n=e({});return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}function Gr(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 Kr,qr,Jr,Yr=o((()=>{Dr(),Kr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,qr=Kr?e=>e:zr,typeof Uint8Array.from([]).toHex==`function`&&Uint8Array.fromHex,Jr=class{}}));function Xr(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=li(a,o,1)^n[r],c=ui(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=ii[n],a=li(t,i,r),o=ui(t,i,r),s=ri[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]^=si[r],e[1]^=ci[r]}Fr(n)}var Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di,fi,pi,mi,hi=o((()=>{Tr(),Yr(),Zr=BigInt(0),Qr=BigInt(1),$r=BigInt(2),ei=BigInt(7),ti=BigInt(256),ni=BigInt(113),ri=[],ii=[],ai=[];for(let e=0,t=Qr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],ri.push(2*(5*r+n)),ii.push((e+1)*(e+2)/2%64);let i=Zr;for(let e=0;e<7;e++)t=(t<<Qr^(t>>ei)*ni)%ti,t&$r&&(i^=Qr<<(Qr<<BigInt(e))-Qr);ai.push(i)}oi=ar(ai,!0),si=oi[0],ci=oi[1],li=(e,t,n)=>n>32?_r(e,t,n):hr(e,t,n),ui=(e,t,n)=>n>32?vr(e,t,n):gr(e,t,n),di=class e extends Jr{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(){qr(this.state32),Xr(this.state32,this.rounds),qr(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}},fi=(e,t,n)=>Ur(()=>new di(t,e,n)),fi(6,144,224/8),fi(6,136,256/8),fi(6,104,384/8),fi(6,72,512/8),fi(1,144,224/8),pi=fi(1,136,256/8),fi(1,104,384/8),fi(1,72,512/8),mi=(e,t,n)=>Wr((r={})=>new di(t,e,r.dkLen===void 0?n:r.dkLen,!0)),mi(31,168,128/8),mi(31,136,256/8)}));function gi(e,t){let n=t||`hex`,r=pi(E(e,{strict:!1})?Yn(e):e);return n===`bytes`?r:Un(r)}var _i=o((()=>{hi(),Gt(),rr(),j()}));function vi(e){return yi(e)}var yi,bi=o((()=>{rr(),_i(),yi=e=>gi(Yn(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 D(`Unable to normalize signature.`);return i}var Si=o((()=>{O()})),Ci,wi=o((()=>{Bt(),Si(),Ci=e=>xi(typeof e==`string`?e:De(e))}));function Ti(e){return vi(Ci(e))}var Ei=o((()=>{bi(),wi()})),Di,Oi=o((()=>{Ei(),Di=Ti})),ki,Ai=o((()=>{O(),ki=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`})}}})),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(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 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(),rr(),_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 E(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>Kt(e)-1)throw new Cn({offset:t,position:`start`,size:Kt(e)})}function qi(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 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((()=>{En(),Gt(),qt()})),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 an({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 vn(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+=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 Vi([...n,...r])}function ia(e){if(!Li(e))throw new ki({address:e});return{dynamic:!1,encoded:On(e.toLowerCase())}}function aa(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=na({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=ra(a);if(r){let t=A(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=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:Vi([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 sa(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 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 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 la(e){let t=Kn(e),n=Math.ceil(Kt(t)/32),r=[];for(let e=0;e<n;e++)r.push(On(Gi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Vi([On(A(Kt(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((()=>{Sn(),Ai(),O(),In(),Bi(),Wi(),An(),qt(),Xi(),j(),$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=E(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 mn({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((()=>{Sn(),Gt(),Bi(),Oi(),ma()}));function ya(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var ba=o((()=>{}));function xa(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 dn(r,{docsPath:Sa});i=e}if(i.type!==`function`)throw new dn(void 0,{docsPath:Sa});return{abi:[i],functionName:pa(Vt(i))}}var Sa,Ca=o((()=>{Sn(),ma(),Wt(),va(),Sa=`/docs/contract/encodeFunctionData`}));function wa(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:xa(e),i=n[0];return Ui([r,(`inputs`in i&&i.inputs?ea(i.inputs,t??[]):void 0)??`0x`])}var Ta=o((()=>{Wi(),fa(),Ca()})),Ea,Da,Oa,ka=o((()=>{Ea={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.`},Da={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Oa={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),Aa,ja,Ma,Na=o((()=>{O(),Aa=class extends D{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},ja=class extends D{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Ma=class extends D{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Pa(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Fa);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Fa,Ia=o((()=>{Na(),Fa={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 Ma({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new ja({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Aa({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 Aa({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 La(e,t={}){return t.size!==void 0&&zn(e,{size:t.size}),k(Gn(e,t),t)}function Ra(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 za(e,t={}){return t.size!==void 0&&zn(e,{size:t.size}),Vn(Gn(e,t),t)}function Ba(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 Va=o((()=>{In(),Rn(),Hn(),j()}));function Ha(e,t){let n=typeof t==`string`?Qn(t):t,r=Pa(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]=Ua(r,n,{staticPosition:0});i+=s,a.push(o)}return a}function Ua(e,t,{staticPosition:n}){let r=da(t.type);if(r){let[i,a]=r;return Ga(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Ya(e,t,{staticPosition:n});if(t.type===`address`)return Wa(e);if(t.type===`bool`)return Ka(e);if(t.type.startsWith(`bytes`))return qa(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Ja(e,t);if(t.type===`string`)return Xa(e,{staticPosition:n});throw new yn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function Wa(e){return[Ni(Gn(Ji(e.readBytes(32),-20))),32]}function Ga(e,t,{length:n,staticPosition:r}){if(!n){let n=r+za(e.readBytes($a)),i=n+Qa;e.setPosition(n);let a=za(e.readBytes(Qa)),o=Za(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=Ua(e,t,{staticPosition:i});s+=a,c.push(r)}return e.setPosition(r+32),[c,32]}if(Za(t)){let i=r+za(e.readBytes($a)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=Ua(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]=Ua(e,t,{staticPosition:r+i});i+=o,a.push(n)}return[a,i]}function Ka(e){return[Ra(e.readBytes(32),{size:32}),32]}function qa(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=za(e.readBytes(32));e.setPosition(n+t);let r=za(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 Ja(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?La(i,{signed:n}):za(i,{signed:n}),32]}function Ya(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Za(t)){let o=n+za(e.readBytes($a));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=Ua(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]=Ua(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Xa(e,{staticPosition:t}){let n=t+za(e.readBytes(32));e.setPosition(n);let r=za(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Ba(Ln(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function Za(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Za);let n=da(e.type);return!!(n&&Za({...e,type:n[1]}))}var Qa,$a,eo=o((()=>{Sn(),Ii(),Ia(),qt(),Xi(),Rn(),Va(),rr(),j(),fa(),Qa=32,$a=32}));function to(e){let{abi:t,data:n,cause:r}=e,i=Gi(n,0,4);if(i===`0x`)throw new tn({cause:r});let a=[...t||[],Da,Oa].find(e=>e.type===`error`&&i===pa(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?Ha(a.inputs,Gi(n,4)):void 0,errorName:a.name}}var no=o((()=>{ka(),Sn(),Xi(),ma(),eo(),Wt()})),ro,io=o((()=>{ro=(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 ao({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`?ro(t[n]):t[n]}`).join(`, `)})`}var oo=o((()=>{io()})),so,co,lo=o((()=>{so={gwei:9,wei:18},co={ether:-9,wei:9}}));function uo(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 fo=o((()=>{}));function po(e,t=`wei`){return uo(e,so[t])}var mo=o((()=>{lo(),fo()}));function ho(e,t=`wei`){return uo(e,co[t])}var go=o((()=>{lo(),fo()}));function _o(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function vo(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+=_o(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=_o(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var yo,bo,xo=o((()=>{O(),yo=class extends D{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},bo=class extends D{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function So(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 Co,wo,To,Eo,Do,Oo,ko=o((()=>{mo(),go(),O(),Co=class extends D{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},wo=class extends D{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,So(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`})}},To=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}},Eo=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}},Do=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`})}},Oo=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=So({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${po(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${ho(o)} gwei`,maxFeePerGas:s!==void 0&&`${ho(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${ho(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}}})),Ao,jo,Mo=o((()=>{Ao=e=>e,jo=e=>e})),No,Po,Fo,Io,Lo,Ro,zo=o((()=>{ba(),ka(),no(),Wt(),oo(),va(),mo(),go(),Sn(),O(),xo(),ko(),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=So({from:(t?ya(t):void 0)?.address,to:u,value:d!==void 0&&`${po(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${ho(o)} gwei`,maxFeePerGas:s!==void 0&&`${ho(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${ho(c)} gwei`,nonce:l});f&&(p+=`\\n${vo(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=ha({abi:t,args:n,name:a}),c=s?ao({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Vt(s,{includeName:!0}):void 0,u=So({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=to({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=Ea[e]}else{let e=n?Vt(n,{includeName:!0}):void 0,t=n&&a?ao({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((()=>{io(),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: ${ro(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: ${ro(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: ${ro(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})}Ii(),_i();function Ss(e){return Ni(`0x${gi(`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((()=>{Yr(),Es=class extends Jr{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(),Yr(),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((()=>{Yr(),Gs=class extends Jr{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)}));function 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)}}));function 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((()=>{Yr(),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`]}));function 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}));function 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)}));function Ol(e){return{hash:e,hmac:(t,...n)=>Ks(e,t,Hr(...n)),randomBytes:Gr}}function kl(e,t){let n=t=>vl({...e,...Ol(t)});return{...n(t),create:n}}var Al=o((()=>{qs(),Yr(),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});function 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=Gr(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(),Yr(),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(),Ia(),rr(),j();function Su(e,t=`hex`){let n=Cu(e),r=Pa(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.`)}Wi(),rr(),j(),_i();function Du(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=gi(Ui([`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})}mo(),go(),O(),ko();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=So({from:t?.address,to:u,value:d!==void 0&&`${po(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${ho(o)} gwei`,maxFeePerGas:s!==void 0&&`${ho(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${ho(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((()=>{go(),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?` = ${ho(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?` = ${ho(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?` = ${ho(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${ho(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 bo;o.stateDiff=td(i)}return o}function rd(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 yo({address:n});t[n]=nd(r)}return t}var id=o((()=>{Ai(),En(),xo(),Bi(),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?ya(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>ad)throw new ju({maxFeePerGas:n});if(r&&n&&r>n)throw new Bu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var cd=o((()=>{ba(),od(),Ai(),Hu(),Bi()}));go(),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\\` (${ho(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,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`)({}))}}Hn(),j();async function Sd(e,{address:t,blockTag:n=`latest`,blockNumber:r}){return Vn(await e.request({method:`eth_getTransactionCount`,params:[t,typeof r==`bigint`?A(r):n]},{dedupe:!!r}))}rr(),j();function Cd(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 wd(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 Td=Vs;Gt(),rr(),j();function Ed(e,t){let n=t||`hex`,r=Td(E(e,{strict:!1})?Yn(e):e);return n===`bytes`?r:Un(r)}j();function Dd(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Ed(t,`bytes`);return i.set([n],0),r===`bytes`?i:Gn(i)}function Od(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Dd({commitment:e,to:r,version:n}));return i}let kd=4096,Ad=32*kd;Ad*6-1-1*kd*6,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`})}};Ia(),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=Pa(new Uint8Array(Ad)),t=0;for(;t<kd;){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??Cd({blobs:i,kzg:n,to:r}),o=e.proofs??wd({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}ko();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 wo({transaction:e})}Hu(),ko(),Wu();function Rd(e,{docsPath:t,...n}){return new Oo((()=>{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}))}ba(),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=ya(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?ya(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&&=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.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}}}catch(n){throw Rd(n,{...t,chain:e.chain})}}ba(),Mi(),cd();let Vd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Hd=new Map,Ud=new ji(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&&ya(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},{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}:{}}}).catch(t=>{let r=t;return r.name===`TransactionExecutionError`&&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?{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},{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,Sd,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=Cd({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Od({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Id({blobs:p,commitments:e,proofs:wd({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},{phase:`afterFillParameters`})),sd(n),delete n.parameters,n}ba(),O(),j(),qu(),ed(),id(),cd();async function Gd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?ya(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(!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 qd=o((()=>{Ai(),Bi()}));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(),Na(),qt(),Oi(),eo(),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===Di(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=Ha(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 ja?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:(Ha([e],t)||[])[0]}qd(),rr(),_i(),Oi();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:Di(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`?gi(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=ha({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=Ha(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var tf,nf=o((()=>{Sn(),eo(),va(),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 Ui([r,ea(i.inputs,n)])}var qp,Jp=o((()=>{Sn(),Wi(),fa(),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((()=>{io(),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: ${ro(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=Gi(n,0,4),i=t.find(e=>e.type===`function`&&r===pa(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?Ha(i.inputs,Gi(n,4)):void 0}}var lm=o((()=>{Sn(),Xi(),ma(),eo(),Wt()}));function um(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 sn(n,{docsPath:dm});i=e}if(i.type!==`error`)throw new sn(void 0,{docsPath:dm});let a=pa(Vt(i)),o=`0x`;if(r&&r.length>0){if(!i.inputs)throw new on(i.name,{docsPath:dm});o=ea(i.inputs,r)}return Ui([a,o])}var dm,fm=o((()=>{Sn(),Wi(),ma(),fa(),Wt(),va(),dm=`/docs/contract/encodeErrorResult`}));function pm(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 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 ea(i.outputs,a)}var mm,hm=o((()=>{Sn(),fa(),va(),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:[Da],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var vm=o((()=>{Np(),ka(),lm(),fm(),hm()})),ym=c({ccipRequest:()=>xm,offchainLookup:()=>bm,offchainLookupAbiItem:()=>Cm,offchainLookupSignature:()=>Sm});async function bm(e,{blockNumber:t,blockTag:n,data:r,to:i}){let{args:a}=to({data:r,abi:[Cm]}),[o,s,c,l,u]=a,{ccipRead:d}=e,f=d&&typeof d?.request==`function`?d.request:xm;try{if(!Kd(i,o))throw new om({sender:o,to:i});let{data:r}=await Tm(e,{blockNumber:t,blockTag:n,data:Vi([l,ea([{type:`bytes`},{type:`bytes`}],[s.includes(`x-batch-gateway:true`)?await gm({data:c,ccipRequest:f}):await f({data:c,sender:o,urls:s}),u])]),to:i});return r}catch(e){throw new im({callbackSelector:l,cause:e,data:r,extraData:u,sender:o,urls:s})}}async function xm({data:e,sender:t,urls:n}){let r=Error(`An unknown error occurred.`);for(let i=0;i<n.length;i++){let a=n[i],o=a.includes(`{data}`)?`GET`:`POST`,s=o===`POST`?{data:e,sender:t}:void 0,c=o===`POST`?{\"Content-Type\":`application/json`}:{};try{let n=await fetch(a.replace(`{sender}`,t.toLowerCase()).replace(`{data}`,e),{body:JSON.stringify(s),headers:c,method:o}),i;if(i=n.headers.get(`Content-Type`)?.startsWith(`application/json`)?(await n.json()).data:await n.text(),!n.ok){r=new Bo({body:s,details:i?.error?ro(i.error):n.statusText,headers:n.headers,status:n.status,url:a});continue}if(!E(i)){r=new am({result:i,url:a});continue}return i}catch(e){r=new Bo({body:s,details:e.message,url:a})}}throw r}var Sm,Cm,wm=o((()=>{jm(),sm(),Uo(),no(),fa(),qd(),Wi(),Gt(),vm(),io(),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,blockNumber:a,blockTag:o=e.experimental_blockTag??`latest`,accessList:s,blobs:c,blockOverrides:l,code:u,data:d,factory:f,factoryData:p,gas:m,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:_,maxPriorityFeePerGas:v,nonce:y,to:b,value:x,stateOverride:S,...ee}=t,te=n?ya(n):void 0;if(u&&(f||p))throw new D(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(u&&b)throw new D(\"Cannot provide both `code` & `to` as parameters.\");let C=u&&d,w=f&&p&&b&&d,ne=C||w,re=C?Om({code:u,data:d}):w?km({data:d,factory:f,factoryData:p,to:b}):d;try{sd(t);let n=(typeof a==`bigint`?A(a):void 0)||o,u=l?Ep(l):void 0,d=rd(S),f=e.chain?.formatters?.transactionRequest?.format,p=(f||Xu)({...Ku(ee,{format:f}),accessList:s,account:te,authorizationList:r,blobs:c,data:re,gas:m,gasPrice:h,maxFeePerBlobGas:g,maxFeePerGas:_,maxPriorityFeePerGas:v,nonce:y,to:ne?void 0:b,value:x},`call`);if(i&&Em({request:p})&&!d&&!u)try{return await Dm(e,{...p,blockNumber:a,blockTag:o})}catch(e){if(!(e instanceof Up)&&!(e instanceof Bp))throw e}let C=(()=>{let e=[p,n];return d&&u?[...e,d,u]:d?[...e,d]:u?[...e,{},u]:e})(),w=await e.request({method:`eth_call`,params:C});return w===`0x`?{data:void 0}:{data:w}}catch(n){let r=Am(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(wm(),ym));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&b)return{data:await i(e,{data:r,to:b})};throw ne&&r?.slice(0,10)===`0x101bb98d`?new Lo({factory:f}):Zp(n,{...t,account:te,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)}async function Dm(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockNumber:a,blockTag:o=e.experimental_blockTag??`latest`,data:s,to:c}=t,l=(()=>{if(r)return null;if(t.multicallAddress)return t.multicallAddress;if(e.chain)return Yp({blockNumber:a,chain:e.chain,contract:`multicall3`});throw new Up})(),u=(typeof a==`bigint`?A(a):void 0)||o,{schedule:d}=tm({id:`${e.uid}.${u}`,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=wa({abi:Op,args:[n],functionName:`aggregate3`}),i=await e.request({method:`eth_call`,params:[{...l===null?{data:Om({code:Rp,data:r})}:{to:l,data:r}},u]});return ef({abi:Op,args:[n],functionName:`aggregate3`,data:i||`0x`})}}),[{returnData:f,success:p}]=await d({data:s,to:c});if(!p)throw new Ro({data:f});return f===`0x`?{data:void 0}:{data:f}}function Om(e){let{code:t,data:n}=e;return Kp({abi:Rt([`constructor(bytes, bytes)`]),bytecode:Fp,args:[t,n]})}function km(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 Am(e){if(!(e instanceof D))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var jm=o((()=>{Bt(),Dp(),ba(),Np(),Pp(),zp(),O(),Gp(),zo(),nf(),Jp(),Ta(),Xp(),j(),Qp(),qu(),ed(),rm(),id(),cd()}));nf(),Ta(),jm();async function Mm(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=wa({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 Nm=new Map,Pm=new Map,Fm=0;function Im(e,t,n){let r=++Fm,i=()=>Nm.get(e)||[],a=()=>{let t=i();Nm.set(e,t.filter(e=>e.id!==r))},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Pm.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Nm.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`&&Pm.set(e,l),o}async function Lm(e){return new Promise(t=>setTimeout(t,e))}function Rm(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await Lm(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await Lm(r),s())};s()})(),a}O();var zm=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`})}},Bm=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 Vm({chain:e,currentChainId:t}){if(!e)throw new Hp;if(t!==e.id)throw new Vp({chain:e,currentChainId:t})}async function Hm(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ba(),O(),Wi(),qu(),ed(),Mi(),cd();let Um=new ji(128);async function Wm(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 zm({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?ya(n):null;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&&Vm({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?Vi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=Um.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=>(Um.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(Um.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){let t=await T(e,Wd,`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:[...Vd,`sidecars`],type:g,value:_,...v,to:n}),r=i?.serializers?.transaction,b=await y.signTransaction(t,{serializer:r});return await T(e,Hm,`sendRawTransaction`)({serializedTransaction:b})}throw y?.type===`smart`?new Bm({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new Bm({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof Bm?e:Rd(e,{...t,account:y,chain:t.chain||void 0})}}ba(),Ta();async function Gm(e,t){return Gm.internal(e,Wm,`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 zm({docsPath:`/docs/contract/writeContract`});let u=a?ya(a):null,d=wa({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})(Gm||={}),O();var Km=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}};function qm(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0}={}){return new Promise((i,a)=>{let o=async({count:s=0}={})=>{let c=async({error:e})=>{let n=typeof t==`function`?t({count:s,error:e}):t;n&&await Lm(n),o({count:s+1})};try{i(await e())}catch(e){if(s<n&&await r({count:s,error:e}))return c({error:e});a(e)}};o()})}Hn(),Yu();let Jm={\"0x0\":`reverted`,\"0x1\":`success`};function Ym(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?Jm[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 Xm=Ju(`transactionReceipt`,Ym);ba(),O(),bs(),Ta(),Wi(),Hn(),j();let Zm=A(0,{size:32});async function Qm(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?ya(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?wa({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?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){let i=Wm(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?k(n.value):void 0});t.push(i),a>0&&await new Promise(e=>setTimeout(e,a))}let n=await Promise.allSettled(t);if(n.every(e=>e.status===`rejected`))throw n[0].reason;return{id:Vi([...n.map(e=>e.status===`fulfilled`?e.value:Zm),A(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Rd(n,{...t,account:l,chain:t.chain})}}Xi(),Rn(),Hn();async function $m(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Ln(Yi(t,-64,-32)),r=Yi(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>Zm.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:Jm[e.status]}))??[],statusCode:l,status:c,version:o}}O(),em(),io();async function eh(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=ro([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=$p(),p,m=Im(l,{resolve:d,reject:f},t=>{let s=Rm(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await qm(async()=>{let t=await T(e,$m,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new Km(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 th({id:n}))},s):void 0,await u}var th=class extends D{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let nh=256,rh;function ih(e=11){if(!rh||nh+e>256*2){rh=``,nh=0;for(let e=0;e<256;e++)rh+=(256+Math.random()*256|0).toString(16).substring(1)}return rh.substring(nh,nh+++e)}ba();function ah(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?ya(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:ih(),...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(_)})}j();async function oh(e,{address:t,blockNumber:n,blockTag:r=`latest`}){let i=n===void 0?void 0:A(n),a=await e.request({method:`eth_getCode`,params:[t,i||r]},{dedupe:!!i});if(a!==`0x`)return a}od(),Ai(),O(),Gp(),Hu(),Bi(),qt(),Xi(),Hn();function sh(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 Wp({chainId:t})}lh(e)}function ch(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(Gi(e,0,1));if(t!==32)throw new Nd({hash:e,size:t});if(n!==1)throw new Pd({hash:e,version:n})}}lh(e)}function lh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new Wp({chainId:t});if(i&&!Li(i))throw new ki({address:i});if(r&&r>ad)throw new ju({maxFeePerGas:r});if(n&&r&&n>r)throw new Bu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function uh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new Wp({chainId:t});if(a&&!Li(a))throw new ki({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 dh(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 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})}Ai(),ko(),Bi();function fh(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 Do({storageKey:i[e]});if(!Li(r,{strict:!1}))throw new ki({address:r});t.push([r,i])}return t}ko(),Wi(),Rn(),j();function ph(e,t){let n=Ld(e);return n===`eip1559`?gh(e,t):n===`eip2930`?_h(e,t):n===`eip4844`?hh(e,t):n===`eip7702`?mh(e,t):vh(e,t)}function mh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;sh(e);let f=fh(u),p=bh(n);return Ui([`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,...yh(e,t)])])}function hh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;ch(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=Cd({blobs:t,kzg:n});f===void 0&&(f=Od({commitments:r})),p===void 0&&(p=Id({blobs:t,commitments:r,proofs:wd({blobs:t,commitments:r,kzg:n})}))}let m=fh(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??[],...yh(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`,Su(p?[h,g,_,v]:h)])}function gh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;lh(e);let d=fh(l);return Ui([`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,...yh(e,t)])])}function _h(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;uh(e);let u=fh(c);return Ui([`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,...yh(e,t)])])}function vh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;dh(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 Co({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 yh(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 bh(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`,...yh({},i)])}return t}Ii(),qd();async function xh({address:e,authorization:t,signature:n}){return Kd(Pi(e),await Ou({authorization:t,signature:n}))}Mi();let Sh=new ji(8192);function Ch(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Sh.get(n))return Sh.get(n);let r=e().finally(()=>Sh.delete(n));return Sh.set(n,r),r}O(),Uo(),bs(),j(),io();function wh(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,uid:c}={...t,...r},{method:l}=n;if(a?.exclude?.includes(l)||a?.include&&!a.include.includes(l))throw new ns(Error(`method not supported`),{method:l});return Ch(()=>qm(async()=>{try{return await e(n)}catch(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,shouldRetry:({error:e})=>Th(e)}),{enabled:i,id:i?Kn(`${c}.${ro(n)}`):void 0})}}function Th(e){return`code`in e&&typeof e.code==`number`?e.code===-1||e.code===rs.code||e.code===Zo.code: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 Eh(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 Dh(){return{}}O(),In(),Ia(),rr(),j();function Oh(e,t=`hex`){return kh(Pa((()=>{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 kh(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=Ah(e,n,128),i=e.readBytes(r);return t===`hex`?Gn(i):i}return jh(e,Ah(e,n,192),t)}function Ah(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 jh(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(kh(e,n));return i}Gt(),qt();function Mh(e){return E(e)&&Kt(e)===32}function Nh(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o;try{let s=new AbortController;n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){e?.name===`AbortError`&&a(t),a(e)}finally{clearTimeout(o)}})()})}function Ph(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let Fh=Ph();Uo(),io();function Ih(e,t={}){let{url:n,headers:r}=Lh(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 Nh(async({signal:e})=>{let t={...l,body:ro(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??Fh.take(),...e})):{jsonrpc:`2.0`,id:i.id??Fh.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:ro(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw e instanceof Bo||e instanceof Ho?e:new Bo({body:i,cause:e,url:n})}}}}function Lh(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(),qt(),j();function Rh(e){let t=typeof e==`string`?Kn(e):typeof e.raw==`string`?e.raw:Gn(e.raw);return Vi([Kn(`\u0019Ethereum Signed Message:\n${Kt(t)}`),t])}_i();function zh(e,t){return gi(Rh(e),t)}io(),O();var Bh=class extends D{constructor({domain:e}){super(`Invalid domain \"${ro(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},Vh=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`.\"]})}},Hh=class extends D{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}};Sn(),Ai(),Bi(),qt(),j(),$i(),io();function Uh(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 ro({domain:!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),message:(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})(),primaryType:r,types:i})}function Wh(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;A(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&&Kt(o)!==Number.parseInt(t,10))throw new hn({expectedSize:Number.parseInt(t,10),givenSize:Kt(o)})}let l=i[r];l&&(Kh(r),a(l,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new Bh({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`)if(i[r])a(i[r],n);else throw new Vh({primaryType:r,types:i})}function Gh({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 Kh(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new Hh({type:e})}fa(),Wi(),j(),_i();function qh(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:Gh({domain:t}),...e.types};Wh({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(Jh({domain:t,types:i})),r!==`EIP712Domain`&&a.push(Yh({data:n,primaryType:r,types:i})),gi(Vi(a))}function Jh({domain:e,types:t}){return Yh({data:e,primaryType:`EIP712Domain`,types:t})}function Yh({data:e,primaryType:t,types:n}){return gi(Xh({data:e,primaryType:t,types:n}))}function Xh({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[Zh({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=eg({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return ea(r,i)}function Zh({primaryType:e,types:t}){return gi(Un(Qh({primaryType:e,types:t})))}function Qh({primaryType:e,types:t}){let n=``,r=$h({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 $h({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])$h({primaryType:e.type,types:t},n);return n}function eg({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},gi(Xh({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},gi(r)];if(n===`string`)return[{type:`bytes32`},gi(Un(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>eg({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 tg=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 ng(e,t){return e.exec(t)?.groups}let rg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,ig=/^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)?$/,ag=/^\\(.+?\\).*?$/,og=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function sg(e){let t=e.type;if(og.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+=sg(i),r<n-1&&(t+=`, `)}let r=ng(og,e.type);return t+=`)${r?.array||``}`,sg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function cg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=sg(i),r!==n-1&&(t+=`, `)}return t}function lg(e){return e.type===`function`?`function ${e.name}(${cg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${cg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${cg(e.inputs)})`:e.type===`error`?`error ${e.name}(${cg(e.inputs)})`:e.type===`constructor`?`constructor(${cg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let ug=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function dg(e){return ug.test(e)}function fg(e){return ng(ug,e)}let pg=new Set([`memory`,`indexed`,`storage`,`calldata`]),mg=new Set([`calldata`,`memory`,`storage`]);var hg=class extends tg{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`})}},gg=class extends tg{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`})}},_g=class extends tg{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`})}},vg=class extends tg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},yg=class extends tg{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`})}},bg=class extends tg{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`})}},xg=class extends tg{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`})}},Sg=class extends tg{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`})}},Cg=class extends tg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},wg=class extends tg{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`})}},Tg=class extends tg{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`})}},Eg=class extends tg{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 Dg(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 Og=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}]]),kg=/^(?<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$_]*))?$/,Ag=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,jg=/^u?int$/;function Mg(e,t){let n=Dg(e,t?.type,t?.structs);if(Og.has(n))return Og.get(n);let r=ag.test(e),i=ng(r?Ag:kg,e);if(!i)throw new vg({param:e});if(i.name&&Ig(i.name))throw new yg({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=Ng(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(Mg(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(jg.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!Pg(c))throw new gg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new bg({param:e,type:t?.type,modifier:i.modifier});if(mg.has(i.modifier)&&!Lg(c,!!i.array))throw new xg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return Og.set(n,u),u}function Ng(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?Ng(o,[...t,n.trim()]):Ng(o,t,`${n}${i}`,r);case`(`:return Ng(o,t,`${n}${i}`,r+1);case`)`:return Ng(o,t,`${n}${i}`,r-1);default:return Ng(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new Eg({current:n,depth:r});return t.push(n.trim()),t}function Pg(e){return e===`address`||e===`bool`||e===`function`||e===`string`||rg.test(e)||ig.test(e)}let Fg=/^(?: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 Ig(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||rg.test(e)||ig.test(e)||Fg.test(e)}function Lg(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function Rg(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!dg(n))continue;let i=fg(n);if(!i)throw new Cg({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=Mg(t,{type:`struct`});o.push(n)}if(!o.length)throw new wg({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]=Bg(a,t)}return r}let zg=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function Bg(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(ag.test(i.type))r.push(i);else{let e=ng(zg,i.type);if(!e?.type)throw new Sg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new Tg({type:o});r.push({...i,type:`tuple${a??``}`,components:Bg(t[o],t,new Set([...n,o]))})}else if(Pg(o))r.push(i);else throw new hg({type:o})}}return r}function Vg(e){let t=[];if(typeof e==`string`){let n=Ng(e),r=n.length;for(let e=0;e<r;e++)t.push(Mg(n[e],{modifiers:pg}))}else{let n=Rg(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(dg(r))continue;let a=Ng(r),o=a.length;for(let e=0;e<o;e++)t.push(Mg(a[e],{modifiers:pg,structs:n}))}}if(t.length===0)throw new _g({params:e});return t}let Hg={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(),hi(),ep(),R();function Ug(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=pi(jf(e));return n===`Bytes`?r:F(r)}function Wg(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Ks(Td,jf(e),jf(t));return r===`Bytes`?i:F(i)}function Gg(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Td(jf(e));return n===`Bytes`?r:F(r)}function Kg(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 e_({prefix:r,cause:new n_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new e_({prefix:r,cause:new t_});return}throw new $g({publicKey:e})}function Jg(e){let t=(()=>{if(mp(e))return Xg(e);if(Kf(e))return Yg(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 Yg(e){return Xg(F(e))}function Xg(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new r_({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 Zg(e,t={}){return Nf(Qg(e,t))}function Qg(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 $g=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`})}},e_=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`})}},t_=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`})}},n_=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`})}},r_=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 i_=/^0x[a-fA-F0-9]{40}$/;function a_(e,t={}){let{strict:n=!0}=t;if(!i_.test(e))throw new d_({address:e,cause:new f_});if(n){if(e.toLowerCase()===e)return;if(o_(e)!==e)throw new d_({address:e,cause:new p_})}}function o_(e){if(Hg.has(e))return Hg.get(e);a_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=Ug(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 Hg.set(e,i),i}function s_(e,t={}){let{checksum:n=!1}=t;return a_(e),n?o_(e):e}function c_(e,t={}){return s_(`0x${Ug(`0x${Qg(e).slice(4)}`).substring(26)}`,t)}function l_(e,t){return a_(e,{strict:!1}),a_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function u_(e,t={}){let{strict:n=!0}=t??{};try{return a_(e,{strict:n}),!0}catch{return!1}}var d_=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`})}},f_=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`})}},p_=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 m_=/^(.*)\\[([0-9]*)\\]$/,h_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,g_=/^(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 __=2n**256n-1n;ep(),lf(),R();function v_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=I_(t.type);if(a){let[n,o]=a;return b_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return w_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return y_(e,{checksum:r});if(t.type===`bool`)return x_(e);if(t.type.startsWith(`bytes`))return S_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return C_(e,t);if(t.type===`string`)return T_(e,{staticPosition:i});throw new $_(t.type)}function y_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?o_(e):e)(F(zf(e.readBytes(32),-20))),32]}function b_(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=L_(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=v_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a)}return e.setPosition(a+32),[l,32]}if(L_(t)){let n=a+Hf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=v_(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]=v_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n)}return[s,o]}function x_(e){return[Vf(e.readBytes(32),{size:32}),32]}function S_(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 C_(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 w_(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(L_(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]=v_(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]=v_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function T_(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 E_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(D_({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function D_({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=I_(r.type);if(i){let[t,a]=i;return A_(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return F_(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return k_(n,{checksum:e});if(r.type===`bool`)return M_(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=g_.exec(r.type)??[];return N_(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return j_(n,{type:r.type});if(r.type===`string`)return P_(n);throw new $_(r.type)}function O_(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 k_(e,t){let{checksum:n=!1}=t;return a_(e,{strict:n}),{dynamic:!1,encoded:ap(e.toLowerCase())}}function A_(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new Q_(e);if(!a&&e.length!==r)throw new Y_({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=!1,s=[];for(let t=0;t<e.length;t++){let r=D_({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=O_(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 j_(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 X_({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:op(e)}}function M_(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 N_(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 P_(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 F_(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=D_({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?O_(a):P(...a.map(({encoded:e})=>e))}}function I_(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function L_(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(L_);let n=I_(e.type);return!!(n&&L_({...e,type:n[1]}))}lf();let R_={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 H_({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new V_({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new B_({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 B_({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 z_(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(R_);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var B_=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`})}},V_=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`})}},H_=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 U_(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Nf(t):t,o=z_(a);if(Rf(a)===0&&e.length>0)throw new J_;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]=v_(o,n,{checksumAddress:i,staticPosition:0});s+=l,r===`Array`?c.push(a):c[n.name??t]=a}return c}function W_(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new Z_({expectedLength:e.length,givenLength:t.length});let i=O_(E_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function G_(e,t){if(e.length!==t.length)throw new Z_({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(G_.encode(i,a))}return P(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return a_(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(g_);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(h_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new X_({expectedSize:Number.parseInt(t,10),value:n});return op(n,r?32:0)}let o=e.match(m_);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 $_(e)}e.encode=t})(G_||={});function K_(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?Vg(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: (${cg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},J_=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`})}},Y_=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`})}},X_=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`})}},Z_=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`})}},Q_=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`})}},$_=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 ev(e){return tv(e,`Hex`)}function tv(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return nv(z_((()=>{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 nv(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=rv(e,n,128),i=e.readBytes(r);return t===`Hex`?F(i):i}return iv(e,rv(e,n,192),t)}function rv(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 iv(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(nv(e,n));return i}function av(e,t){let{as:n}=t,r=sv(e),i=z_(new Uint8Array(r.length));return r.encode(i),n===`Hex`?F(i.bytes):i.bytes}function ov(e,t={}){let{as:n=`Hex`}=t;return av(e,{as:n})}function sv(e){return Array.isArray(e)?cv(e.map(e=>sv(e))):lv(e)}function cv(e){let t=e.reduce((e,t)=>e+t.length,0),n=uv(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 lv(e){let t=typeof e==`string`?Nf(e):e,n=uv(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 uv(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 dv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Tv({signature:e});if(e.r<0n||e.r>__)throw new Ev({value:e.r});if(e.s<0n||e.s>__)throw new Dv({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new Ov({value:e.yParity})}function fv(e){return pv(F(e))}function pv(e){if(e.length!==130&&e.length!==132)throw new wv({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 Sv(t)}catch{throw new Ov({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function mv(e){if(e.r!==void 0&&e.s!==void 0)return hv(e)}function hv(e){let t=typeof e==`string`?pv(e):e instanceof Uint8Array?fv(e):typeof e.r==`string`?_v(e):e.v?gv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return dv(t),t}function gv(e){return{r:e.r,s:e.s,yParity:Sv(e.v)}}function _v(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=Sv(t)),typeof n!=`number`)throw new Ov({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function vv(e){let[t,n,r]=e;return hv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function yv(e){dv(e);let t=e.r,n=e.s;return P(I(t,{size:32}),I(n,{size:32}),typeof e.yParity==`number`?I(Cv(e.yParity),{size:1}):`0x`)}function bv(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 xv(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 Sv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new kv({value:e})}function Cv(e){if(e===0)return 27;if(e===1)return 28;throw new Ov({value:e})}var wv=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`})}},Tv=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`})}},Ev=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`})}},Dv=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`})}},Ov=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`})}},kv=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 Av(e,t={}){return typeof e.chainId==`string`?jv(e):{...e,...t.signature}}function jv(e){let{address:t,chainId:n,nonce:r}=e,i=mv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function Mv(e){return e.map(jv)}function Nv(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:I(n),nonce:I(r),...bv(i)}}function Pv(e){return e.map(Nv)}vu(),ep(),R();function Fv(e){let{privateKey:t}=e;return Jg(ru.ProjectivePoint.fromPrivateKey(np(t).slice(2)))}function Iv(e){return c_(Lv(e))}function Lv(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return Jg(new ru.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(np(t).substring(2)))}function Rv(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 zv(e){let{address:t,hash:n,payload:r,publicKey:i,signature:a}=e;return t?l_(t,Iv({payload:r,signature:a})):ru.verify(a,jf(r),Zg(i),...n?[{prehash:!0,lowS:!0}]:[])}lf(),R();let Bv=K_(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function Vv(e){if(typeof e==`string`){if(L(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new Wv(e)}else dv(e.authorization)}function Hv(e){Vv(e);let t=fp(L(e,-64,-32)),n=L(e,-t-64,-64),r=L(e,0,-t-64),[i,a,o]=U_(Bv,n);return{authorization:Av({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 Uv(e){try{return Vv(e),!0}catch{return!1}}var Wv=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`})}};ko(),Xi(),Hn();function Gv(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`&&Vn(t)>=192)return`legacy`;throw new To({serializedType:t})}Ai(),ko(),Bi(),Gt(),An(),Rn(),Hn();function Kv(e){let t=Gv(e);return t===`eip1559`?Yv(e):t===`eip2930`?Xv(e):t===`eip4844`?Jv(e):t===`eip7702`?qv(e):Zv(e)}function qv(e){let t=Qv(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new Eo({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=$v(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=ey(d)),sh(h),{...t.length===13?ty(t):void 0,...h}}function Jv(e){let t=Qv(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 Eo({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=$v(p)),y&&b&&x&&(S.sidecars=Id({blobs:y,commitments:b,proofs:x})),ch(S),{...r.length===14?ty(r):void 0,...S}}function Yv(e){let t=Qv(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(!(t.length===9||t.length===12))throw new Eo({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=$v(u)),lh(m),{...t.length===12?ty(t):void 0,...m}}function Xv(e){let t=Qv(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(!(t.length===8||t.length===11))throw new Eo({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=$v(l)),uh(p),{...t.length===11?ty(t):void 0,...p}}function Zv(e){let t=Oh(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(!(t.length===6||t.length===9))throw new Eo({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)),dh(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 Co({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function Qv(e){return Oh(`0x${e.slice(4)}`,`hex`)}function $v(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=>Mh(e)?e:Ln(e))})}return t}function ey(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),...ty([o,s,c])})}return t}function ty(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 ny=class extends D{constructor({value:e}){super(`Number \\`${e}\\` is not a valid decimal number.`,{name:`InvalidDecimalNumberError`})}};function ry(e,t){if(!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(e))throw new ny({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(),Ta(),Xp();async function iy(e,t){let{account:n,authorizationList:r,allowFailure:i=!0,blockNumber:a,blockOverrides:o,blockTag:s,stateOverride:c}=t,l=t.contracts,{batchSize:u=t.batchSize??1024,deployless:d=t.deployless??!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},f=(()=>{if(t.multicallAddress)return t.multicallAddress;if(d)return null;if(e.chain)return Yp({blockNumber:a,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),p=[[]],m=0,h=0;for(let e=0;e<l.length;e++){let{abi:t,address:r,args:a,functionName:o}=l[e];try{let e=wa({abi:t,args:a,functionName:o});h+=(e.length-2)/2,u>0&&h>u&&p[m].length>0&&(m++,h=(e.length-2)/2,p[m]=[]),p[m]=[...p[m],{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;p[m]=[...p[m],{allowFailure:!0,callData:`0x`,target:r}]}}let g=await Promise.allSettled(p.map(t=>T(e,Mm,`readContract`)({...f===null?{code:Rp}:{address:f},abi:Op,account:n,args:[t],authorizationList:r,blockNumber:a,blockOverrides:o,blockTag:s,functionName:`aggregate3`,stateOverride:c}))),_=[];for(let e=0;e<g.length;e++){let t=g[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<p[e].length;n++)_.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}=p[e][t],{abi:s,address:c,functionName:u,args:d}=l[_.length];try{if(o===`0x`)throw new tn;if(!a)throw new Ro({data:r});let e=ef({abi:s,args:d,data:r,functionName:u});_.push(i?{result:e,status:`success`}:e)}catch(e){let t=xs(e,{abi:s,address:c,args:d,docsPath:`/docs/contract/multicall`,functionName:u});if(!i)throw t;_.push({error:t,result:void 0,status:`failure`})}}}if(_.length!==l.length)throw new D(`multicall results mismatch`);return _}lf();function ay(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 oy(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return u_(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)=>oy(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=>oy(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function sy(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 sy(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`))&&u_(n[r],{strict:!1}))return o}}lf(),R();function cy(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`?ly(e)===L(t,0,4):e.type===`event`?dy(e)===t:!1:`name`in e&&e.name===t);if(o.length===0)throw new py({name:t});if(o.length===1)return{...o[0],...i?{hash:dy(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:dy(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?oy(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=sy(e.inputs,s.inputs,r);if(t)throw new fy({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 py({name:t});return{...c,...i?{hash:dy(c)}:{}}}function ly(...e){return L(dy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return cy(t,n)}return e[0]})()),0,4)}function uy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return cy(t,n)}return e[0]})();return ay(typeof t==`string`?t:lg(t))}function dy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return cy(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:Ug(ip(uy(t)))}var fy=class extends N{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${ay(lg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${ay(lg(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`})}},py=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 my(e){return ly(e)}lf(),R();function hy(e){if(L(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new vy(e)}function gy(e){let{data:t,signature:n,to:r}=e;return P(W_(K_(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function _y(e){try{return hy(e),!0}catch{return!1}}var vy=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 yy({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(),Ta(),Ii(),qd(),Wi(),Gt(),Hn(),j(),jm();async function by(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?yy(e):Gn(e)})();try{if(s===`eoa`)try{if(Kd(Pi(n),await xu({hash:i,signature:c})))return!0}catch{}return Uv(c)?await xy(e,{...t,multicallAddress:o,signature:c}):await Sy(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(Kd(Pi(n),await xu({hash:i,signature:c})))return!0}catch{}if(e instanceof wy)return!1;throw e}}async function xy(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,multicallAddress:o}=t,{authorization:s,data:c,signature:l,to:u}=Hv(t.signature);if(await oh(e,{address:n,blockNumber:r,blockTag:i})===Ui([`0xef0100`,s.address]))return await Cy(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 xh({address:n,authorization:d}))throw new wy;let f=await T(e,Mm,`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:wa({abi:jp,functionName:`isValidSignature`,args:[a,l]})}]]});if((f[f.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new wy}async function Sy(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||_y(o)?o:gy({data:i,signature:o,to:r}))(),u=s?{to:s,data:wa({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 wy:e});if(Bn(d??`0x0`))return!0;throw new wy}async function Cy(e,t){let{address:n,blockNumber:r,blockTag:i,hash:a,signature:o}=t;if((await T(e,Mm,`readContract`)({address:n,abi:jp,args:[a,o],blockNumber:r,blockTag:i,functionName:`isValidSignature`}).catch(e=>{throw e instanceof Po?new wy:e})).startsWith(`0x1626ba7e`))return!0;throw new wy}var wy=class extends Error{};async function Ty(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await T(e,Qm,`sendCalls`)(t);return await T(e,eh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}ba(),j(),ed(),cd();async function Ey(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new zm({docsPath:`/docs/actions/wallet/signTransaction`});let a=ya(n);sd({account:a,...t});let o=await T(e,zd,`getChainId`)({});r!==null&&Vm({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||Xu;return a.signTransaction?a.signTransaction({...i,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})}ba();async function Dy(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new zm({docsPath:`/docs/actions/wallet/signTypedData`});let o=ya(n),s={EIP712Domain:Gh({domain:r}),...t.types};if(Wh({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=Uh({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}function Oy({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=ih();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:wh(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function ky(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Oy({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}O();var Ay=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();function jy(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 Ay;let b=Ih(y,{fetchFn:r,fetchOptions:i,onRequest:c,onResponse:l,timeout:v});return Oy({key:a,methods:o,name:s,async request({method:e,params:t}){let r={method:e,params:t},{schedule:i}=tm({id:y,wait:g,shouldSplitBatch(e){return e.length>h},fn:e=>b.request({body:e}),sort:(e,t)=>e.id-t.id}),[{error:a,result:o}]=await(async e=>n?i(e):[await b.request({body:e})])(r);if(d)return{error:a,result:o};if(a)throw new Vo({body:r,error:a,url:y});return o},retryCount:_,retryDelay:u,timeout:v,type:`http`},{fetchOptions:i,url:y})}}Ws(),Al(),Bl(),Zc(),Dl();let My=zc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),Ny=My.create(BigInt(`-3`)),Py=BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fy=kl({a:Ny,b:Py,Fp:My,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Vs),Iy=Fy,Ly=bl(My,{A:Ny,B:Py,Z:My.create(BigInt(`-10`))}),Ry=Rl(Iy.ProjectivePoint,e=>Ly(e[0]),{DST:`P256_XMD:SHA-256_SSWU_RO_`,encodeDST:`P256_XMD:SHA-256_SSWU_NU_`,p:My.ORDER,m:1,k:128,expand:`xmd`,hash:Vs}),zy=zc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`)),By=zy.create(BigInt(`-3`)),Vy=BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Hy=kl({a:By,b:Vy,Fp:zy,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Us),Uy=bl(zy,{A:By,B:Vy,Z:zy.create(BigInt(`-12`))});Rl(Hy.ProjectivePoint,e=>Uy(e[0]),{DST:`P384_XMD:SHA-384_SSWU_RO_`,encodeDST:`P384_XMD:SHA-384_SSWU_NU_`,p:zy.ORDER,m:1,k:192,expand:`xmd`,hash:Us});let Wy=zc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`)),Gy=Wy.create(BigInt(`-3`)),Ky=BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),qy=kl({a:Gy,b:Ky,Fp:Wy,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Hs),Jy=bl(Wy,{A:Gy,B:Ky,Z:Wy.create(BigInt(`-4`))});Rl(qy.ProjectivePoint,e=>Jy(e[0]),{DST:`P521_XMD:SHA-512_SSWU_RO_`,encodeDST:`P521_XMD:SHA-512_SSWU_NU_`,p:Wy.ORDER,m:1,k:256,expand:`xmd`,hash:Hs});let Yy=Fy,Xy=Fy;Ry.hashToCurve,Ry.encodeToCurve,ep(),R();function Zy(e){let{privateKey:t}=e;return Jg(Xy.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):F(t).slice(2)))}function Qy(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Xy.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 $y(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Xy.verify(i,n instanceof Uint8Array?n:Nf(n),Qg(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}ep();let eb=new TextEncoder,tb=new TextDecoder,nb=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),rb={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function ib(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]=nb[r>>18],i[t+1]=nb[r>>12&63],i[t+2]=nb[r>>6&63],i[t+3]=nb[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=tb.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function ab(e,t={}){return ib(Nf(e),t)}function ob(e,t={}){return ib(Pf(e),t)}function sb(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);eb.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(rb[r[e]]<<18)+(rb[r[e+1]]<<12)+(rb[r[e+2]]<<6)+rb[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 cb(e){return Uf(sb(e))}ep(),lf(),R();function lb(e,t={}){let{as:n=`Hex`}=t,r=Cb(e),i=z_(new Uint8Array(r.length));return r.encode(i),n===`Hex`?F(i.bytes):i.bytes}var ub=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`})}},db=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`})}},fb=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`})}},pb=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`})}},mb=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`})}},hb=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`})}},gb=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`})}},_b=class extends N{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},vb=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`})}},yb=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`})}},bb=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`})}},xb=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`})}},Sb=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 Cb(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 Cb.number(e);if(typeof e==`bigint`)throw new gb;if(typeof e==`string`)return Cb.string(e);if(Array.isArray(e))return Cb.array(e);if(e instanceof Uint8Array)return Cb.byteString(e);if(e instanceof ArrayBuffer)return Cb.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return Cb.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return Cb.map(e);if(typeof e==`object`)return Cb.object(e);throw new _b({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 vb({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 vb({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 yb({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 bb({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 Sb({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 xb({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 xb({size:i})}e.map=o})(Cb||={});function wb(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return wb.readUnsignedInteger(e,r);case 1:return wb.readNegativeInteger(e,r);case 2:return wb.readByteString(e,r);case 3:return wb.readTextString(e,r);case 4:return wb.readArray(e,r);case 5:return wb.readMap(e,r);case 6:throw new pb({tag:r});case 7:return wb.readSimpleOrFloat(e,r);default:throw new ub({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 fb:new db({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 mb({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 mb({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 hb({value:t});return}throw new db({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}})(wb||={}),lf();function Tb(e){let t=Zg(e),n=t.slice(1,33),r=t.slice(33,65);return lb(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}function Eb(e){let t=Yy.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}R();function Db(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=P(Gg(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,Tb(t.publicKey))}function Ob(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:ab(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}ep(),lf(),R();function kb(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:sb(e),type:`public-key`})):[{id:sb(t),type:`public-key`}]}:{},challenge:Nf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function Ab(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=Db({flag:i,rpId:o,signCount:s}),u=Ob({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=Gg(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 jb(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:kb(n);try{let e=await t(r);if(!e)throw new Mb;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=Eb(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 Mb({cause:e})}}var Mb=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 Nb(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),Gg(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(sb(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:$y({hash:!0,payload:Af(u,Gg(Pf(c),{as:`Bytes`})),publicKey:i,signature:o})}let Pb=Ab;async function Fb(e){return jb(e)}function Ib(e){return Nb(e)}lf(),R(),Of();let Lb=`0x01`,Rb=`0x02`,zb=`0x03`,Bb=`0x04`,Vb=`0x7777777777777777777777777777777777777777777777777777777777777777`;function Hb(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:Hb({...e,signature:t.inner}):c_(Ub(e))}function Ub(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return Lv({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return Ub({payload:t,signature:n.inner})}}function Wb(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?L(e,0,-cp(Vb)):e;if(cp(t)===65){let e=pv(t);return dv(e),{signature:e,type:`secp256k1`}}let n=L(t,0,1),r=L(t,1),i=cp(r);if(n===Lb){if(i!==129)throw new Qb({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===Rb){if(i<128)throw new Qb({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 Qb({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===zb||n===Bb)return{userAddress:L(r,0,20),inner:Wb(L(r,20)),type:`keychain`,version:n===Bb?`v2`:`v1`};throw new Qb({reason:`Unknown signature type identifier: ${n}. Expected ${Lb} (P256), ${Rb} (WebAuthn), ${zb} (Keychain V1), or ${Bb} (Keychain V2)`,serialized:t})}function Gb(e,t){if(typeof e==`string`)return Wb(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=qb(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:c_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:c_(Lv({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function Kb(e){if(e.type===`secp256k1`)return{signature:_v(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 Qb({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:Kb(e.signature),...e.keyId?{keyId:e.keyId}:{},...e.version?{version:e.version}:{}};throw new Zb({envelope:e})}function qb(e){if(typeof e!=`object`||!e)throw new Zb({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 Zb({envelope:e})}function Jb(e,t={}){let n=qb(e);if(n===`secp256k1`)return P(yv(e.signature),t.magic?Vb:`0x`);if(n===`p256`){let n=e;return P(Lb,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?Vb:`0x`)}if(n===`webAuthn`){let n=e;return P(Rb,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?Vb:`0x`)}if(n===`keychain`){let n=e;return P(n.version===`v1`?zb:Bb,n.userAddress,Jb(n.inner),t.magic?Vb:`0x`)}throw new Zb({envelope:e})}function Yb(e){let t=qb(e);if(t===`secp256k1`)return{...bv(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:Yb(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}throw new Zb({envelope:e})}function Xb(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return c_(t.publicKey)})();if(!r)return!1;let i=Gb(e);if(i.type===`secp256k1`)return r?zv({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return l_(c_(i.publicKey),r)?$y({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return l_(c_(i.publicKey),r)?Ib({challenge:np(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new $b(`Unable to verify signature envelope of type \"${i.type}\".`)}var Zb=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`})}},Qb=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`})}},$b=class extends N{constructor(){super(...arguments),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};lf(),R();function ex(e){return e.startsWith(`tempo`)?tx(e).address:e}function tx(e){if(!e.startsWith(`tempox`))throw new nx({address:e});let t=e.slice(6);return tp(t,{strict:!0}),{address:o_(t)}}var nx=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 rx(e,t={}){if(typeof e.chainId==`string`)return ix(e);let n={...e,address:ex(e.address)};return t.signature?{...n,signature:t.signature}:n}function ix(e){let{address:t,chainId:n,nonce:r}=e,i=Kb(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function ax(e){return e.map(e=>ix(e))}function ox(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=Wb(i)),rx(a)}function sx(e){let t=[];for(let n of e)t.push(ox(n));return t}function cx(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:I(n),nonce:I(r),signature:Yb(i)}}function lx(e){return e.map(e=>cx(e))}function ux(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?Jb(e.signature):void 0;return[n?I(n):`0x`,t,r?I(r):`0x`,...i?[i]:[]]}function dx(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(ux(n));return t}R();function fx(e,t={}){if(`keyId`in e)return px(e);let n=e,r={...n,address:ex(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:ex(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:ex(e.address),selector:Ex(e.selector),...e.recipients?{recipients:e.recipients.map(e=>ex(e))}:{}}))}:{}};return t.signature?{...r,signature:Gb(t.signature)}:r}function px(e){let{allowedCalls:t,chainId:n,keyId:r,expiry:i,limits:a,keyType:o}=e,s=Kb(e.signature),c=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:Tx(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&&wx(e.period)>0?{period:wx(e.period)}:{}})),...c?{scopes:c}:{},signature:s,type:o}}function mx(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:wx(o)||void 0,type:l,chainId:r===`0x`?0n:up(r),...o===void 0?{}:{expiry:wx(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:Cx(n),...r===void 0?{}:{period:wx(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=Wb(n)),fx(u)}function hx(e){return _x(e)}function gx(e){return mx(ev(e))}function _x(e){let[t]=bx(e);return Ug(ov(t))}function vx(e){return ov(bx(e))}function yx(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:Ex(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:ex(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:I(t),...n?{period:Sx(n)}:{}})),signature:Yb(s),...c?{allowedCalls:c}:{}}}function bx(e){let{address:t,chainId:n,scopes:r,expiry:i,limits:a}=e,o=e.signature?Jb(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,xx(e.limit)];return e.period&&e.period>0&&t.push(Sx(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([Ex(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})();return[[xx(n),s,t,i!=null&&i!==0||c||l?Sx(i??0):void 0,c||l?c??[]:void 0,l].filter(e=>e!==void 0),...o?[o]:[]]}function xx(e){return e===0n?`0x`:I(e)}function Sx(e){return e===0?`0x`:I(e)}function Cx(e){return e===`0x`?0n:BigInt(e)}function wx(e){return e===`0x`?0:fp(e)}function Tx(e){return typeof e==`string`?e:Array.isArray(e)?F(new Uint8Array(e)):e}function Ex(e){if(e)return e.startsWith(`0x`)?e:ly(e)}R();let Dx=`0x20c0`;function Ox(e){return typeof e==`bigint`||typeof e==`number`?BigInt(e):kx(e)}function kx(e){let t=ex(e);if(!t.toLowerCase().startsWith(Dx))throw Error(`invalid tip20 address.`);return up(L(t,6))}function z(e){if(typeof e==`string`){let t=ex(e);return a_(t),t}return P(Dx,I(e,{size:18}))}R();let Ax={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function jx(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:Ug(ip(Ax[e]??e))}let Mx={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},Nx={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function Px(e,t={}){if(!e)return null;let n=mv(e),r={...e,...n};return r.blockNumber=e.blockNumber?BigInt(e.blockNumber):null,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=Mv(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=Nx[e.type]??e.type),n&&(r.v=Cv(n.yParity)),r}let Fx={...Mx,tempo:`0x76`},Ix={...Nx,\"0x76\":`tempo`};function Lx(e,t={}){if(!e)return null;let n=Px(e);return n.type=Ix[e.type],e.aaAuthorizationList&&(n.authorizationList=ax(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=Kb(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=px(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=_v(e.feePayerSignature),n.feePayerSignature.v=Cv(n.feePayerSignature.yParity)),n}R();function Rx(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=Pv(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=Mx[e.type]||e.type),e.value!==void 0&&(t.value=I(e.value)),t}R();function zx(e){let t=Rx({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=lx(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?ex(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?ex(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=yx(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=Fx.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}lf(),R();function Bx(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&a_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>Kg(e)?e:lp(e))})}return t}function Vx(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 Hx({storageKey:r[e]});n&&a_(n,{strict:!1}),t.push([n,r])}return t}var Hx=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`})}};lf();let Ux={wei:0,gwei:9,szabo:12,finney:15,ether:18};function Wx(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 Wx(e,Ux.gwei-Ux[t])}lf();var Kx=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`})}},qx=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`})}},Jx=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`})}},Yx=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`})}};lf(),R();let Xx=`tempo`;function Zx(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new iS;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new aS({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&a_(e.to,{strict:!1});if(n<=0)throw new qx({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new Kx({feeCap:r});if(i&&r&&i>r)throw new Yx({maxFeePerGas:r,maxPriorityFeePerGas:i})}function Qx(e){let t=ev(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 Jx({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:Xx});let y={chainId:Number(n),type:Xx};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=Bx(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=sx(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||u_(p)?(y.feePayerSignature=null,u_(p)&&(y.from=p)):y.feePayerSignature=vv(p)),_&&(y.keyAuthorization=mx(_));let b=v?Wb(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=Hb({payload:tS($x(y)),signature:b,root:!0})}catch{}return Zx(y),y}function $x(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?Qx(e):e;return i.from&&=ex(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:ex(e.to)}:{}})),Zx(i),{...i,...r?{signature:Gb(r)}:{},...n?{feePayerSignature:hv(n)}:{},type:`tempo`}}function eS(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;Zx(e);let h=Vx(n),g=t.signature||e.signature,_=dx(r),v=i.map(e=>[e.to?ex(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=Gb(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return c_(t.publicKey);if(t.type===`secp256k1`)return Iv({payload:tS($x(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?xv(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?[bx(c)]:[],...g?[Jb(Gb(g))]:[]];return P(t.format===`feePayer`?`0x78`:`0x76`,ov(x))}function tS(e,t={}){let n=nS(e,{presign:!0});return t.from?Ug(P(`0x04`,n,ex(t.from))):n}function nS(e,t={}){return Ug(eS({...e,...t.presign?{signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}}:{}}))}function rS(e,t){let n=ex(t.sender);return Ug(eS({...e,signature:void 0},{sender:n,format:`feePayer`}))}var iS=class extends N{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},aS=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 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:`view`,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:`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:`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:`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:`StringTooLong`,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:`TransfersDisabled`,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:`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:[]}],oS=[{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:`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:[]}],sS=[{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:`isTIP20`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`getTokenAddress`,type:`function`,stateMutability:`view`,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`}]}];ep();async function cS(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=Jg(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function lS(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>Yy.CURVE.n/2n&&(o=Yy.CURVE.n-o),{r:a,s:o}}R();function uS(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||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 dS(e){try{return uS(e)===`tempo`}catch{return!1}}function fS(e){let t=L(e,0,1);return t===`0x76`||t===`0x78`?mS(e):Kv(e)}async function pS(e,t){if(!dS(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 ph(e,{r:I(n,{size:32}),s:I(r,{size:32}),yParity:i})}return ph(e,t)}if(uS(e)===`tempo`)return hS(e,t);throw Error(`Unsupported transaction type`)}function mS(e){let{feePayerSignature:t,nonce:n,...r}=Qx(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 hS(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return Gb({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,feePayerSignature:a,nonce:o,...s}=e,c={...s,calls:s.calls?.length?s.calls:[{to:s.to||(!s.data||s.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:s.value,data:s.data}],chainId:Number(r),feePayerSignature:a?{r:BigInt(a.r),s:BigInt(a.s),yParity:Number(a.yParity)}:i?null:void 0,type:`tempo`,...o?{nonce:BigInt(o)}:{}};if(i===!0&&delete c.feeToken,n&&typeof e.feePayer==`object`){let t=$x(c,{signature:n}),r=rS(t,{sender:(()=>{if(e.from)return e.from;if(n.type===`secp256k1`)return Iv({payload:tS(t),signature:n.signature});throw Error(`Unable to extract sender from transaction or signature.`)})()});return eS(t,{feePayerSignature:hv(await e.feePayer.sign({hash:r}))})}return i===!0?n?eS(c,{format:`feePayer`,sender:e.from,signature:n}):eS(c,{feePayerSignature:null}):eS({...c,...i?{feeToken:void 0}:{}},{feePayerSignature:void 0,signature:n})}R(),ba(),_i();function gS(e){let{access:t}=e;return t?wS(e):CS(e)}function _S(e,t){let{access:n,rpId:r,origin:i,internal_version:a}=t,o=Zy({privateKey:e});return gS({access:n,internal_version:a,keyType:`webAuthn`,publicKey:o,async sign({hash:n}){let{metadata:a,payload:s}=Pb({...t,challenge:n,rpId:r,origin:i});return Jb({metadata:a,signature:Qy({payload:s,privateKey:e,hash:!0}),publicKey:o,type:`webAuthn`})}})}function vS(e,t={}){let{access:n,internal_version:r}=t,i=Zy({privateKey:e});return gS({access:n,internal_version:r,keyType:`p256`,publicKey:i,async sign({hash:t}){return Jb({signature:Qy({payload:t,privateKey:e}),publicKey:i,type:`p256`})}})}function yS(e,t={}){let{access:n,internal_version:r}=t;return gS({access:n,internal_version:r,keyType:`secp256k1`,publicKey:Fv({privateKey:e}),async sign(t){let{hash:n}=t;return yv(Rv({payload:n,privateKey:e}))}})}function bS(e,t={}){let{id:n}=e,r=Xg(e.publicKey);return gS({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await Fb({...t,challenge:e,credentialId:n});return Jb({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function xS(e,t={}){let{access:n,internal_version:r}=t,{publicKey:i,privateKey:a}=e;return gS({access:n,internal_version:r,keyType:`p256`,publicKey:i,async sign({hash:e}){return Jb({signature:await lS({payload:e,privateKey:a}),prehash:!0,publicKey:i,type:`p256`})}})}function SS(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??c_(e.publicKey),o=Qg(e.publicKey,{includePrefix:!1});async function s({hash:r}){let a=n&&i===`v2`?gi(P(`0x04`,r,n)):r,o=await e.sign({hash:a});return n?Jb(Gb({userAddress:n,inner:Gb(o),type:`keychain`,version:i})):t===`secp256k1`?o:P(o,Vb)}return{address:o_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=Gb(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:zh(t)})},async signTransaction(e,t){let{serializer:n=pS}=t??{};return await n(e,Gb(await s({hash:gi(await n(e))})))},async signTypedData(e){return await s({hash:qh(e)})},publicKey:o,source:r,type:`local`}}function CS(e){let t=SS(e);return{...t,source:`root`,async signKeyAuthorization(e,n){let{chainId:r,expiry:i,limits:a}=n,{accessKeyAddress:o,keyType:s}=e;return fx({address:o,chainId:r,expiry:i,limits:a,signature:Gb(await t.sign({hash:hx({address:o,chainId:r,expiry:i,limits:a,type:s})})),type:s})}}}function wS(e){let{access:t}=e,{address:n}=ya(t);return{...SS({...e,parentAddress:n}),accessKeyAddress:c_(e.publicKey),source:`accessKey`}}let TS=`0xdec0000000000000000000000000000000000000`;function V(e){return{...e,data:wa(e),to:e.address}}R(),ba();async function ES(e,t){return ES.inner(Gm,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:TS,abi:oS,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(ES||={});async function DS(e,t){return DS.inner(Gm,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:TS,abi:oS,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=Qd({abi:oS,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(DS||={});async function OS(e,t){return OS.inner(Gm,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:TS,abi:oS,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=Qd({abi:oS,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(OS||={});async function kS(e,t){return kS.inner(Gm,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:TS,abi:oS,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=Qd({abi:oS,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(kS||={});async function AS(e,t){let{account:n=e.account,token:r,...i}=t,a=n?ya(n).address:void 0;if(!a)throw Error(`account is required.`);return Mm(e,{...i,...AS.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:TS,abi:oS,args:[t,n],functionName:`balanceOf`})}e.call=t})(AS||={});async function jS(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return Mm(e,{...a,...jS.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return V({address:TS,abi:oS,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(jS||={});async function MS(e,t){let{orderId:n,...r}=t;return Mm(e,{...r,...MS.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return V({address:TS,abi:oS,args:[t],functionName:`getOrder`})}e.call=t})(MS||={});async function NS(e,t){let{base:n,quote:r,...i}=t;return Mm(e,{...i,...NS.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e;return V({address:TS,abi:oS,args:[BS(t,n)],functionName:`books`})}e.call=t})(NS||={});async function PS(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await Mm(e,{...a,...PS.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:TS,abi:oS,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(PS||={});async function FS(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return Mm(e,{...a,...FS.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return V({address:TS,abi:oS,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(FS||={});async function IS(e,t){return IS.inner(Gm,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:TS,abi:oS,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=Qd({abi:oS,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(IS||={});async function LS(e,t){return LS.inner(Gm,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:TS,abi:oS,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=Qd({abi:oS,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})(LS||={});async function RS(e,t){return RS.inner(Gm,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:TS,abi:oS,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(RS||={});async function zS(e,t){return zS.inner(Gm,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:TS,abi:oS,functionName:`withdraw`,args:[t,n]})}e.call=n})(zS||={});function BS(e,t){return Ug(P(e,t))}R(),ba(),Ta();async function VS(e,t){let{token:n,...r}=t;return VS.inner(Gm,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]=Qd({abi:B,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=r})(VS||={});async function HS(e,t){return HS.inner(Gm,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]=Qd({abi:B,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(HS||={});async function US(e,t){return US.inner(Gm,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 V({address:z(r),abi:B,...i})}e.call=n;function r(e){let[t]=Qd({abi:B,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(US||={});async function WS(e,t){return WS.inner(Gm,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]=Qd({abi:B,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(WS||={});async function GS(e,t){return GS.inner(Gm,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?ya(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,quoteToken:i=`0x20c0000000000000000000000000000000000000`,admin:a,salt:o=sp(32)}=e;return V({address:`0x20fc000000000000000000000000000000000000`,abi:sS,args:[t,n,r,z(i),a,o],functionName:`createToken`})}e.call=n;function r(e){let[t]=Qd({abi:sS,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(GS||={});async function KS(e,t){let{account:n=e.account}=t,r=n?ya(n).address:void 0;if(!r)throw Error(`account is required.`);return Mm(e,{...t,...KS.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})(KS||={});async function qS(e,t){let{account:n=e.account,...r}=t,i=n?ya(n).address:void 0;if(!i)throw Error(`account is required.`);return Mm(e,{...r,...qS.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})(qS||={});async function JS(e,t){let{token:n,...r}=t,i=z(n),a=B;return Ox(n)===kx(`0x20c0000000000000000000000000000000000000`)?iy(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`}],allowFailure:!1,deployless:!0}).then(([e,t,n,r,i])=>({name:n,symbol:r,currency:e,decimals:t,totalSupply:i})):iy(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{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:!1,deployless:!0}).then(([e,t,n,r,i,a,o,s,c])=>({name:r,symbol:o,currency:e,decimals:t,quoteToken:n,totalSupply:s,paused:i,supplyCap:a,transferPolicyId:c}))}async function YS(e,t){return Mm(e,{...t,...YS.call(t)})}(function(e){function t(e){let{role:t,token:n}=e;return V({address:z(n),abi:B,functionName:`getRoleAdmin`,args:[jx(t)]})}e.call=t})(YS||={});async function XS(e,t){let{account:n=e.account}=t,r=n?ya(n).address:void 0;if(!r)throw Error(`account is required.`);return Mm(e,{...t,...XS.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,jx(n)]})}e.call=t})(XS||={});async function ZS(e,t){return ZS.inner(Wm,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:wa(n)}})})}e.inner=t;function n(e){let{token:t,to:n,role:r}=e,i=jx(r);return V({address:z(t),abi:B,functionName:`grantRole`,args:[i,n]})}e.call=n;function r(e){let t=Qd({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(ZS||={});async function QS(e,t){return QS.inner(Gm,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 V({address:z(i),abi:B,...a})}e.call=n;function r(e){let[t]=Qd({abi:B,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(QS||={});async function $S(e,t){return $S.inner(Gm,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]=Qd({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})($S||={});async function eC(e,t){return eC.inner(Wm,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:wa(n)}})})}e.inner=t;function n(e){let{token:t,role:n}=e,r=jx(n);return V({address:z(t),abi:B,functionName:`renounceRole`,args:[r]})}e.call=n;function r(e){let t=Qd({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(eC||={});async function tC(e,t){return tC.inner(Wm,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:wa(n)}})})}e.inner=t;function n(e){let{token:t,from:n,role:r}=e,i=jx(r);return V({address:z(t),abi:B,functionName:`revokeRole`,args:[i,n]})}e.call=n;function r(e){let t=Qd({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(tC||={});async function nC(e,t){return nC.inner(Gm,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]=Qd({abi:B,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(nC||={});async function rC(e,t){return rC.inner(Gm,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=jx(n),a=jx(r);return V({address:z(t),abi:B,functionName:`setRoleAdmin`,args:[i,a]})}e.call=n;function r(e){let[t]=Qd({abi:B,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(rC||={});async function iC(e,t){return iC.inner(Gm,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 V({address:z(i),abi:B,...o})}e.call=n;function r(e){let[t]=Qd({abi:B,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=r})(iC||={});async function aC(e,t){return aC.inner(Gm,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]=Qd({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(aC||={});async function oC(e,t){return oC.inner(Gm,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]=Qd({abi:B,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(oC||={});async function sC(e,t){return sC.inner(Gm,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]=Qd({abi:B,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(sC||={}),R(),ba(),ed();function cC(e){if(!dS(e))return md(e);let{feePayerSignature:t,gasPrice:n,nonce:r,...i}=Lx(e);return{...i,accessList:i.accessList,feePayerSignature:t?{r:I(t.r,{size:32}),s:I(t.s,{size:32}),v:BigInt(t.v??27),yParity:t.yParity}:void 0,nonce:Number(r),typeHex:Fx[i.type],type:i.type}}function lC(e){return Ym(e)}function uC(e,t){let n=e,r=n.account?ya(n.account):void 0;if(!dS(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&&delete n.feeToken;let i=zx({...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`,`0x${`ff`.repeat(1400)}`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[void 0,void 0]:[void 0,void 0]})(),s=r&&`accessKeyAddress`in r?r.accessKeyAddress:void 0;return{...i,...o?{keyData:o}:{},...s?{keyId:s}:{},...a?{keyType:a}:{},...n.feePayer?{feePayer:typeof n.feePayer==`object`?ya(n.feePayer):n.feePayer}:{}}}var dC=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 fC(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw pC(r.error);return r.result}function pC(e){let t=e;if(t instanceof Error&&!(`code`in t))return new TC({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===TC.code?new TC(t):n===hC.code?new hC(t):n===wC.code?new wC(t):n===SC.code?new SC(t):n===bC.code?new bC(t):n===CC.code?new CC(t):n===yC.code?new yC(t):n===EC.code?new EC(t):n===gC.code?new gC(t):n===_C.code?new _C(t):n===vC.code?new vC(t):n===xC.code?new xC(t):new TC({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var mC=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??``}},hC=class e extends mC{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(hC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var gC=class e extends mC{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(gC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32001});var _C=class e extends mC{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(_C,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32002});var vC=class e extends mC{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(vC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32003});var yC=class e extends mC{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(yC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32004});var bC=class e extends mC{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(bC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32005});var xC=class e extends mC{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(xC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32006});var SC=class e extends mC{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(SC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32600});var CC=class e extends mC{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(CC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32601});var wC=class e extends mC{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(wC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32602});var TC=class e extends mC{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(TC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32603});var EC=class e extends mC{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(EC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:-32700}),lf();var DC=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}},OC=class extends DC{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(OC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4001});var kC=class extends DC{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(kC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4100});var AC=class extends DC{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(AC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4200});var jC=class extends DC{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(jC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4900});var MC=class extends DC{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(MC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4901});var NC=class extends DC{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(NC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:4902});var PC=class extends DC{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(PC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5700});var FC=class extends DC{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(FC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5710});var IC=class extends DC{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(IC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5720});var LC=class extends DC{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(LC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5730});var RC=class extends DC{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(RC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5740});var zC=class extends DC{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(zC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5750});var BC=class extends DC{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(BC,`code`,{enumerable:!0,configurable:!0,writable:!0,value:5760});function VC(){let e=new dC.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 HC(e,t={}){if(!e)throw new WC;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?fC(n):n}catch(e){throw UC(e)}}}}function UC(e){let t=pC(e);if(t instanceof TC){if(!t.data)return t;let{code:e}=t.data;if(e===jC.code)return new jC(t);if(e===MC.code)return new MC(t);if(e===OC.code)return new OC(t);if(e===kC.code)return new kC(t);if(e===AC.code)return new AC(t);if(e===NC.code)return new NC(t);if(e===zC.code)return new zC(t);if(e===BC.code)return new BC(t);if(e===RC.code)return new RC(t);if(e===LC.code)return new LC(t);if(e===IC.code)return new IC(t);if(e===FC.code)return new FC(t);if(e===PC.code)return new PC(t)}return t}var WC=class extends N{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,`name`,{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function GC(e={}){let t=e.id??0;return{prepare(e){return KC({id:t++,...e})},get id(){return t}}}function KC(e){return{...e,jsonrpc:`2.0`}}function qC(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Oy({key:qC.type,name:`Relay Proxy`,async request({method:e,params:t},n){if(e===`eth_sendRawTransactionSync`||e===`eth_sendRawTransaction`){let o=t[0];if(fS(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:qC.type})}}function JC(){return null}var YC;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 XC=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},ZC=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(YC=globalThis).__zod_globalConfig??(YC.__zod_globalConfig={});let QC=globalThis.__zod_globalConfig;function $C(e){return e&&Object.assign(QC,e),QC}function ew(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 tw(e,t){return typeof t==`bigint`?t.toString():t}function nw(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function rw(e){return e==null}function iw(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let aw=Symbol(`evaluating`);function U(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==aw)return r===void 0&&(r=aw,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}let ow=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function sw(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function cw(e){if(sw(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(sw(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}let lw=new Set([`string`,`number`,`symbol`]),uw=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function dw(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function fw(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function pw(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 mw(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function hw(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 gw(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 _w(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function vw(e){return typeof e==`string`?e:e?.message}function yw(e,t,n){let r=e.message?e.message:vw(e.inst?._zod.def?.error?.(e))??vw(t?.error?.(e))??vw(n.customError?.(e))??vw(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 bw(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function xw(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let Sw=(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,tw,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},Cw=H(`$ZodError`,Sw),ww=H(`$ZodError`,Sw,{Parent:Error}),Tw=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 XC;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>yw(e,a,$C())));throw ow(t,i?.callee),t}return o.value},Ew=Tw(ww),Dw=(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=>yw(e,a,$C())));throw ow(t,i?.callee),t}return o.value})(ww),Ow=(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 XC;return a.issues.length?{success:!1,error:new(e??Cw)(a.issues.map(e=>yw(e,i,$C())))}:{success:!0,data:a.value}})(ww),kw=(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=>yw(e,i,$C())))}:{success:!0,data:a.value}})(ww),Aw=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Tw(e)(t,n,i)})(ww),jw=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},Mw=/^-?\\d+n?$/,Nw=/^-?\\d+(?:\\.\\d+)?$/,Pw=/^(?:true|false)$/i,Fw=/^null$/i,Iw=/^undefined$/i,Lw=H(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Rw={number:`number`,bigint:`bigint`,object:`date`},zw=H(`$ZodCheckLessThan`,(e,t)=>{Lw.init(e,t);let n=Rw[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})}}),Bw=H(`$ZodCheckGreaterThan`,(e,t)=>{Lw.init(e,t);let n=Rw[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})}}),Vw=H(`$ZodCheckMaxLength`,(e,t)=>{var n;Lw.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!rw(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=bw(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Hw=H(`$ZodCheckMinLength`,(e,t)=>{var n;Lw.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!rw(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=bw(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Uw=H(`$ZodCheckStringFormat`,(e,t)=>{var n,r;Lw.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=()=>{})}),Ww=H(`$ZodCheckRegex`,(e,t)=>{Uw.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})}}),Gw={major:4,minor:4,patch:3},W=H(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Gw;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=hw(e),i;for(let a of t){if(a._zod.def.when){if(gw(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 XC;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=hw(e,t))});else{if(e.issues.length===t)continue;r||=hw(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(hw(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new XC;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 XC;return o.then(e=>t(e,r,a))}return t(o,r,a)}}U(e,`~standard`,()=>({validate:t=>{try{let n=Ow(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return kw(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),Kw=H(`$ZodString`,(e,t)=>{W.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??jw(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}}),qw=H(`$ZodNumber`,(e,t)=>{W.init(e,t),e._zod.pattern=e._zod.bag.pattern??Nw,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}}),Jw=H(`$ZodBoolean`,(e,t)=>{W.init(e,t),e._zod.pattern=Pw,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}}),Yw=H(`$ZodBigInt`,(e,t)=>{W.init(e,t),e._zod.pattern=Mw,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}}),Xw=H(`$ZodUndefined`,(e,t)=>{W.init(e,t),e._zod.pattern=Iw,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}}),Zw=H(`$ZodNull`,(e,t)=>{W.init(e,t),e._zod.pattern=Fw,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}}),Qw=H(`$ZodUnknown`,(e,t)=>{W.init(e,t),e._zod.parse=e=>e});function $w(e,t,n){e.issues.length&&t.issues.push(..._w(n,e.issues)),t.value[n]=e.value}let eT=H(`$ZodArray`,(e,t)=>{W.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=>$w(t,n,e))):$w(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function tT(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(..._w(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 nT(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=mw(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function rT(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=>tT(e,n,i,t,u,d))):tT(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 iT=H(`$ZodObject`,(e,t)=>{if(W.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=nw(()=>nT(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=sw,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=>tT(n,t,e,s,r,i))):tT(a,t,e,s,r,i)}return i?rT(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function aT(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=>!hw(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=>yw(e,r,$C())))}),t)}let oT=H(`$ZodUnion`,(e,t)=>{W.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=>iw(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=>aT(t,r,e,i)):aT(o,r,e,i)}}),sT=H(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,oT.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=nw(()=>{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(!sw(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)}}),cT=H(`$ZodTuple`,(e,t)=>{W.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=lT(n,`optin`),c=lT(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=>uT(t,r,e))):uT(a,r,e)}}return o.length?Promise.all(o).then(()=>dT(l,r,n,a,c)):dT(l,r,n,a,c)}});function lT(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function uT(e,t,n){e.issues.length&&t.issues.push(..._w(n,e.issues)),t.value[n]=e.value}function dT(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(..._w(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 fT=H(`$ZodRecord`,(e,t)=>{W.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!cw(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=>yw(e,r,$C())),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(..._w(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(..._w(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`&&Nw.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=>yw(e,r,$C())),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(..._w(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(..._w(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),pT=H(`$ZodEnum`,(e,t)=>{W.init(e,t);let n=ew(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>lw.has(typeof e)).map(e=>typeof e==`string`?dw(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}}),mT=H(`$ZodLiteral`,(e,t)=>{if(W.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`?dw(e):e?dw(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}}),hT=H(`$ZodTransform`,(e,t)=>{W.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new ZC(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 XC;return n.value=i,n.fallback=!0,n}});function gT(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let _T=H(`$ZodOptional`,(e,t)=>{W.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(`^(${iw(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=>gT(e,r)):gT(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),vT=H(`$ZodNullable`,(e,t)=>{W.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(`^(${iw(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)}),yT=H(`$ZodPipe`,(e,t)=>{W.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=>bT(e,t.in,n)):bT(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>bT(e,t.out,n)):bT(r,t.out,n)}});function bT(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 xT=H(`$ZodCodec`,(e,t)=>{W.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=>ST(e,t,n)):ST(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>ST(e,t,n)):ST(r,t,n)}}});function ST(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=>CT(e,r,t.out,n)):CT(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>CT(e,r,t.in,n)):CT(e,r,t.in,n)}}function CT(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let wT=H(`$ZodReadonly`,(e,t)=>{W.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(TT):TT(r)}});function TT(e){return e.value=Object.freeze(e.value),e}let ET=H(`$ZodTemplateLiteral`,(e,t)=>{W.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||uw.has(typeof e))n.push(dw(`${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)}),DT=H(`$ZodCustom`,(e,t)=>{Lw.init(e,t),W.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=>OT(t,n,r,e));OT(i,n,r,e)}});function OT(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(xw(e))}}function kT(e,t){return new e({type:`string`,...pw(t)})}function AT(e,t){return new e({type:`number`,checks:[],...pw(t)})}function jT(e,t){return new e({type:`boolean`,...pw(t)})}function MT(e,t){return new e({type:`bigint`,...pw(t)})}function NT(e,t){return new e({type:`undefined`,...pw(t)})}function PT(e,t){return new e({type:`null`,...pw(t)})}function FT(e){return new e({type:`unknown`})}function IT(e,t){return new zw({check:`less_than`,...pw(t),value:e,inclusive:!0})}function LT(e,t){return new Bw({check:`greater_than`,...pw(t),value:e,inclusive:!0})}function RT(e,t){return new Vw({check:`max_length`,...pw(t),maximum:e})}function zT(e,t){return new Hw({check:`min_length`,...pw(t),minimum:e})}function BT(e,t){return new Ww({check:`string_format`,format:`regex`,...pw(t),pattern:e})}function VT(e,t,n){let r=pw(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function HT(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...pw(n)})}let UT=H(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);W.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>Ew(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Ow(e,t,n),e.parseAsync=async(t,n)=>Dw(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>kw(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)=>fw(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),WT=H(`ZodMiniString`,(e,t)=>{Kw.init(e,t),UT.init(e,t)});function G(e){return kT(WT,e)}let GT=H(`ZodMiniNumber`,(e,t)=>{qw.init(e,t),UT.init(e,t)});function KT(e){return AT(GT,e)}let qT=H(`ZodMiniBoolean`,(e,t)=>{Jw.init(e,t),UT.init(e,t)});function JT(e){return jT(qT,e)}let YT=H(`ZodMiniBigInt`,(e,t)=>{Yw.init(e,t),UT.init(e,t)});function XT(e){return MT(YT,e)}let ZT=H(`ZodMiniUndefined`,(e,t)=>{Xw.init(e,t),UT.init(e,t)});function QT(e){return NT(ZT,e)}let $T=H(`ZodMiniNull`,(e,t)=>{Zw.init(e,t),UT.init(e,t)});function eE(e){return PT($T,e)}let tE=H(`ZodMiniUnknown`,(e,t)=>{Qw.init(e,t),UT.init(e,t)});function nE(){return FT(tE)}let rE=H(`ZodMiniArray`,(e,t)=>{eT.init(e,t),UT.init(e,t)});function K(e,t){return new rE({type:`array`,element:e,...pw(t)})}let iE=H(`ZodMiniObject`,(e,t)=>{iT.init(e,t),UT.init(e,t),U(e,`shape`,()=>t.shape)});function q(e,t){return new iE({type:`object`,shape:e??{},...pw(t)})}let aE=H(`ZodMiniUnion`,(e,t)=>{oT.init(e,t),UT.init(e,t)});function oE(e,t){return new aE({type:`union`,options:e,...pw(t)})}let sE=H(`ZodMiniDiscriminatedUnion`,(e,t)=>{sT.init(e,t),UT.init(e,t)});function cE(e,t,n){return new sE({type:`union`,options:t,discriminator:e,...pw(n)})}let lE=H(`ZodMiniTuple`,(e,t)=>{cT.init(e,t),UT.init(e,t)});function uE(e,t,n){let r=t instanceof W;return new lE({type:`tuple`,items:e,rest:r?t:null,...pw(r?n:t)})}let dE=H(`ZodMiniRecord`,(e,t)=>{fT.init(e,t),UT.init(e,t)});function fE(e,t,n){return!t||!t._zod?new dE({type:`record`,keyType:G(),valueType:e,...pw(t)}):new dE({type:`record`,keyType:e,valueType:t,...pw(n)})}let pE=H(`ZodMiniEnum`,(e,t)=>{pT.init(e,t),UT.init(e,t),e.options=Object.values(t.entries)});function mE(e,t){return new pE({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...pw(t)})}let hE=H(`ZodMiniLiteral`,(e,t)=>{mT.init(e,t),UT.init(e,t)});function J(e,t){return new hE({type:`literal`,values:Array.isArray(e)?e:[e],...pw(t)})}let gE=H(`ZodMiniTransform`,(e,t)=>{hT.init(e,t),UT.init(e,t)});function _E(e){return new gE({type:`transform`,transform:e})}let vE=H(`ZodMiniOptional`,(e,t)=>{_T.init(e,t),UT.init(e,t)});function Y(e){return new vE({type:`optional`,innerType:e})}let yE=H(`ZodMiniNullable`,(e,t)=>{vT.init(e,t),UT.init(e,t)});function bE(e){return new yE({type:`nullable`,innerType:e})}let xE=H(`ZodMiniPipe`,(e,t)=>{yT.init(e,t),UT.init(e,t)});function SE(e,t){return new xE({type:`pipe`,in:e,out:t})}let CE=H(`ZodMiniCodec`,(e,t)=>{xE.init(e,t),xT.init(e,t)});function wE(e,t,n){return new CE({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let TE=H(`ZodMiniReadonly`,(e,t)=>{wT.init(e,t),UT.init(e,t)});function X(e){return new TE({type:`readonly`,innerType:e})}let EE=H(`ZodMiniTemplateLiteral`,(e,t)=>{ET.init(e,t),UT.init(e,t)});function DE(e,t){return new EE({type:`template_literal`,parts:e,...pw(t)})}let OE=H(`ZodMiniCustom`,(e,t)=>{DT.init(e,t),UT.init(e,t)});function kE(e,t){return VT(OE,e??(()=>!0),t)}function AE(e,t={}){return HT(OE,e,t)}function jE(e){return e}function ME(e){return e}let Z=()=>DE([`0x`,G()],`Expected address`),NE=()=>wE(oE([Q(),XT()]),XT(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:up(e),encode:e=>I(e)}),Q=()=>DE([`0x`,G()],`Expected hex value`),PE=()=>wE(oE([Q(),KT()]),KT(),{decode:e=>typeof e==`number`?e:e===`0x`?0:fp(e),encode:e=>I(e)}),FE=q({address:Z(),blockHash:Q(),blockNumber:NE(),data:Q(),logIndex:PE(),removed:JT(),topics:X(K(Q())),transactionHash:Q(),transactionIndex:PE()}),IE=q({blobGasPrice:Y(NE()),blobGasUsed:Y(NE()),blockHash:Q(),blockNumber:NE(),contractAddress:bE(Z()),cumulativeGasUsed:NE(),effectiveGasPrice:NE(),feePayer:Y(Z()),feeToken:Y(Z()),from:Z(),gasUsed:NE(),logs:K(FE),logsBloom:Q(),root:Y(Q()),status:wE(Q(),mE([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:bE(Z()),transactionHash:Q(),transactionIndex:PE(),type:Q()}),LE=kE(),RE=oE([J(`secp256k1`),J(`p256`),J(`webAuthn`)]),zE=q({address:Z(),chainId:NE(),expiry:oE([PE(),eE(),QT()]),keyId:Z(),keyType:RE,limits:Y(X(K(q({token:Z(),limit:NE(),period:Y(PE())})))),signature:LE}),BE=q({data:Y(Q()),to:Y(Z()),value:Y(NE())}),VE=q({accessList:Y(K(q({address:Z(),storageKeys:K(Q())}))),calls:Y(X(K(BE))),chainId:Y(PE()),data:Y(Q()),feePayer:Y(oE([JT(),G()])),feePayerSignature:Y(fE(G(),nE())),feeToken:Y(Z()),from:Y(Z()),gas:Y(NE()),keyAuthorization:Y(zE),keyData:Y(Q()),keyId:Y(Z()),keyType:Y(RE),maxFeePerGas:Y(NE()),maxPriorityFeePerGas:Y(NE()),nonce:Y(PE()),nonceKey:Y(NE()),to:Y(Z()),validAfter:Y(PE()),validBefore:Y(PE()),value:Y(NE())});var HE;(function(e){e.schema=jE({method:J(`eth_accounts`),params:void 0,returns:X(K(Z()))})})(HE||={});var UE;(function(e){e.schema=jE({method:J(`eth_chainId`),params:void 0,returns:Q()})})(UE||={});var WE;(function(e){e.schema=jE({method:J(`eth_requestAccounts`),params:void 0,returns:X(K(Z()))})})(WE||={});var GE;(function(e){e.schema=jE({method:J(`eth_sendTransaction`),params:X(uE([VE])),returns:Q()})})(GE||={});var KE;(function(e){let t=q({address:Z(),decimals:KT(),direction:mE([`incoming`,`outgoing`]),formatted:G(),name:G(),recipients:X(K(Z())),symbol:G(),value:Q()}),n=q({decimals:KT(),formatted:G(),name:G(),symbol:G(),token:Z(),value:Q()});e.schema=jE({method:J(`eth_fillTransaction`),params:X(uE([VE])),returns:q({capabilities:q({balanceDiffs:Y(fE(Z(),X(K(t)))),error:Y(q({abiItem:Y(fE(G(),nE())),data:Y(Q()),errorName:G(),message:G()})),fee:Y(q({amount:Q(),decimals:KT(),formatted:G(),symbol:G()})),requireFunds:Y(q({amount:Q(),decimals:KT(),formatted:G(),token:Z(),symbol:G()})),autoSwap:Y(q({maxIn:n,minOut:n,slippage:KT()})),sponsor:Y(q({address:Z(),name:Y(G()),url:Y(G())})),sponsored:JT()}),tx:fE(G(),nE())})})})(KE||={});var qE;(function(e){e.schema=jE({method:J(`eth_signTransaction`),params:X(uE([VE])),returns:Q()})})(qE||={});var JE;(function(e){e.schema=jE({method:J(`eth_sendTransactionSync`),params:X(uE([VE])),returns:IE})})(JE||={});var YE;(function(e){e.schema=jE({method:J(`eth_signTypedData_v4`),params:X(uE([Z(),G()])),returns:Q()})})(YE||={});var XE;(function(e){e.schema=jE({method:J(`personal_sign`),params:X(uE([Q(),Z()])),returns:Q()})})(XE||={});let ZE=Y(q({feePayer:Y(oE([JT(),G()])),sync:Y(JT())}));var QE;(function(e){e.schema=jE({method:J(`wallet_sendCalls`),params:Y(X(uE([q({atomicRequired:Y(JT()),calls:X(K(BE)),capabilities:ZE,chainId:Y(PE()),from:Y(Z()),version:Y(G())})]))),returns:q({atomic:Y(JT()),capabilities:ZE,chainId:Y(PE()),id:G(),receipts:Y(K(IE)),status:Y(KT()),version:Y(G())})})})(QE||={});var $E;(function(e){e.schema=jE({method:J(`wallet_getBalances`),params:Y(X(uE([q({account:Y(Z()),chainId:Y(PE()),tokens:Y(X(K(Z())))})]))),returns:X(K(q({address:Z(),balance:NE(),decimals:KT(),display:G(),name:G(),symbol:G()})))})})($E||={});var eD;(function(e){e.schema=jE({method:J(`wallet_getCapabilities`),params:Y(X(oE([uE([Z()]),uE([Z(),X(K(Q()))])]))),returns:fE(Q(),q({accessKeys:Y(q({status:oE([J(`supported`),J(`unsupported`)])})),atomic:q({status:oE([J(`supported`),J(`ready`),J(`unsupported`)])}),feePayer:Y(q({status:oE([J(`supported`),J(`unsupported`)])}))}))})})(eD||={});var tD;(function(e){e.parameters=q({address:Y(Z()),chainId:Y(NE()),expiry:KT(),keyType:Y(RE),limits:Y(X(K(q({token:Z(),limit:NE(),period:Y(KT())})))),publicKey:Y(Q()),scopes:Y(X(K(q({address:Z(),selector:Y(oE([Q(),G()])),recipients:Y(X(K(Z())))}))))}),e.returns=q({keyAuthorization:zE,rootAddress:Z()}),e.schema=jE({method:J(`wallet_authorizeAccessKey`),params:X(uE([e.parameters])),returns:e.returns})})(tD||={});var nD;(function(e){e.parameters=q({address:Y(Z()),expiry:KT(),keyType:Y(RE),limits:X(K(q({token:Z(),limit:NE(),period:Y(KT())}))),publicKey:Y(Q()),scopes:Y(X(K(q({address:Z(),selector:Y(oE([Q(),G()])),recipients:Y(X(K(Z())))}))))})})(nD||={});var rD;(function(e){e.schema=jE({method:J(`wallet_revokeAccessKey`),params:X(uE([q({address:Z(),accessKeyAddress:Z()})])),returns:void 0})})(rD||={});var iD;(function(e){e.authorizeAccessKey=Y(tD.parameters),e.capabilities={request:Y(oE([q({digest:Y(Q()),authorizeAccessKey:e.authorizeAccessKey,method:J(`register`),name:Y(G()),userId:Y(G())}),q({digest:Y(Q()),credentialId:Y(G()),authorizeAccessKey:e.authorizeAccessKey,method:Y(J(`login`)),selectAccount:Y(JT())})])),result:q({email:Y(bE(G())),keyAuthorization:Y(zE),signature:Y(Q()),username:Y(bE(G()))})},e.schema=jE({method:J(`wallet_connect`),params:Y(X(uE([q({capabilities:e.capabilities.request,chainId:Y(PE()),version:Y(G())})]))),returns:q({accounts:X(K(q({address:Z(),capabilities:e.capabilities.result})))})})})(iD||={});var aD;(function(e){let t=Y(nD.parameters);e.parameters=q({capabilities:Y(oE([q({digest:Y(Q()),authorizeAccessKey:t,method:J(`register`),name:Y(G()),userId:Y(G())}),q({digest:Y(Q()),credentialId:Y(G()),authorizeAccessKey:t,method:Y(J(`login`)),selectAccount:Y(JT())})])),chainId:Y(PE()),version:Y(G())})})(aD||={});var oD;(function(e){e.schema=jE({method:J(`wallet_disconnect`),params:void 0,returns:void 0})})(oD||={});var sD;(function(e){e.schema=jE({method:J(`wallet_getCallsStatus`),params:Y(X(uE([G()]))),returns:q({atomic:JT(),chainId:PE(),id:G(),receipts:Y(K(IE)),status:KT(),version:G()})})})(sD||={});var cD;(function(e){e.parameters=q({feePayer:Y(oE([JT(),G()])),to:Y(Z()),token:Y(Z()),value:Y(G())}),e.schema=jE({method:J(`wallet_send`),params:Y(X(uE([e.parameters]))),returns:q({chainId:PE(),receipt:IE})})})(cD||={});let lD=q({amount:Y(G()),pairToken:Y(Z()),slippage:Y(KT().check(LT(0),IT(1))),token:Y(Z()),type:Y(oE([J(`buy`),J(`sell`)]))});var uD;(function(e){e.schema=jE({method:J(`wallet_swap`),params:Y(X(uE([lD]))),returns:q({receipt:IE})})})(uD||={});var dD;(function(e){e.schema=jE({method:J(`wallet_switchEthereumChain`),params:X(uE([q({chainId:PE()})])),returns:void 0})})(dD||={});var fD;(function(e){e.schema=jE({method:J(`wallet_deposit`),params:X(uE([q({address:Y(Z()),chainId:Y(PE()),displayName:Y(G()),token:Y(Z()),value:Y(G())})])),returns:Y(q({receipts:Y(X(K(IE)))}))})})(fD||={});var pD;(function(e){e.parameters=q({amount:Y(G()),feePayer:Y(oE([JT(),G()])),token:Y(Z()),zoneId:Y(PE())}),e.schema=jE({method:J(`wallet_depositZone`),params:Y(X(uE([e.parameters]))),returns:q({receipt:IE})})})(pD||={});var mD;(function(e){e.parameters=q({amount:Y(G()),token:Y(Z()),zoneId:Y(PE())}),e.schema=jE({method:J(`wallet_withdrawZone`),params:Y(X(uE([e.parameters]))),returns:q({receipt:IE})})})(mD||={}),nD.parameters,aD.parameters;let hD=ME([HE.schema,UE.schema,KE.schema,WE.schema,GE.schema,JE.schema,qE.schema,YE.schema,XE.schema,tD.schema,iD.schema,fD.schema,pD.schema,oD.schema,$E.schema,sD.schema,eD.schema,rD.schema,cD.schema,QE.schema,uD.schema,dD.schema,mD.schema]),gD=JC();function _D(e){return e.params?q({method:e.method,params:e.params}):q({method:e.method})}let vD=cE(`method`,hD.map(_D));function yD(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 bD=class extends Error{status=402;toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...e&&{challengeId:e}}}},xD=class extends bD{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 bD{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.`)}},SD=class extends bD{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 CD(e,t){if(!e)throw new xD({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new xD({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new SD({expires:e})}function wD(e){let t=cb(e);return JSON.parse(t)}function TD(e){return ob(wf(e),{pad:!1,url:!0})}function ED(){return G().check(BT(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function DD(){return G().check(BT(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function OD(e=`Invalid ISO 8601 datetime`){return SE(oE([DD(),kE(e=>e instanceof Date)]),_E(kD)).check(AE(e=>Number.isFinite(e.getTime()),e))}function kD(e){return e instanceof Date?e:new Date(e)}function AD(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function jD(){return G().check(BT(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function MD(){return G().check(BT(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function ND(){return G().check(BT(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}let PD=q({description:Y(G()),digest:Y(G().check(BT(/^sha-256=/,`Invalid digest format`))),expires:Y(DD()),id:G(),intent:G(),method:G(),meta:Y(fE(G(),G())),opaque:Y(G()),realm:G(),request:fE(G(),nE())});function FD(e,t){let{description:n,digest:r,meta:i,method:a,intent:o,realm:s,request:c,secretKey:l}=e,u=e.expires?AD(e.expires):void 0,d=e.opaque??(i===void 0?void 0:TD(i)),f=l?JD({...e,expires:u,...i!==void 0&&{meta:i},opaque:d},{secretKey:l}):e.id;return PD.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 ID(e,t){let n=LD(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=RD(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 FD({...a,request:wD(r),...i&&{opaque:i}},t)}function LD(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(!VD(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 RD(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]=zD(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function zD(e,t){if(e[t]===`\"`)return BD(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function BD(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 VD(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 HD(e,t){let n=e.get(`WWW-Authenticate`);if(!n)throw Error(`Missing WWW-Authenticate header.`);return ID(n,t)}function UD(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return HD(e.headers,t)}function WD(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return GD(e.headers,t)}function GD(e,t){let n=e.get(`WWW-Authenticate`);if(!n)throw Error(`Missing WWW-Authenticate header.`);return KD(n,t)}function KD(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 ID(e.slice(r,a).replace(/,\\s*$/,``),t)})}function qD(e){return[e.realm,e.method,e.intent,TD(e.request),e.expires??``,e.digest??``,e.opaque??(e.meta?TD(e.meta):``)].join(`|`)}function JD(e,t){let n=qD(e);return ib(Wg(Pf(t.secretKey),Pf(n),{as:`Bytes`}),{url:!0,pad:!1})}function YD(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=eO(n)}return t}function XD(e,t){let n=YD(e),r=oO(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[eO(e)]??1,index:t}));return{definition:r,entries:i,header:QD(i),keys:n}}function ZD(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)=>iO(e,t))}function QD(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${uO(n)}`}).join(`, `)}function $D(e,t,n){let r=new Map;for(let e of t){let t=eO(e);r.has(t)||r.set(t,e)}return e.map((e,t)=>{let i=r.get(eO(e));if(!i)return;let a=tO(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 eO(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function tO(e,t){let n;for(let r of t){if(!nO(e,r))continue;let t={...r,specificity:rO(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 nO(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function rO(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function iO(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}`);dO(r,`method`),dO(i,`intent`);let a=1;for(let t of aO(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=cO(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function aO(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function oO(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>eO(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]=sO(t,`payment preference \"${e}\"`)}return a}function sO(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return lO(e,t)}function cO(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 lO(Number(e),t)}function lO(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 uO(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function dO(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}let fO=Symbol.for(`mppx.fetch.wrapper`),pO;function mO(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,methods:i,onChallenge:a,orderChallenges:o}=e,s=e.eventDispatcher??_O(),c=t??XD(i),l=IO(r),u=async(e,t)=>{let r=FO(e,t?.headers),u=r.has(`Accept-Payment`),d=zO(r,c),f=PO(e,t,r,d.header,u,n),p=await l(f.input,f.init);if(p.status!==402)return p;let m=t?.context,{context:h,orderChallenges:g,..._}=f.init??{},v,y,b;try{y=WD(p);let n=(await BO($D(y,i,d.entries),g??o))[0];if(!n)throw Error(`No method found for challenges: ${y.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${i.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let r=n.challenge;v=r,b=n.method,v.expires&&CD(v.expires,v.id);let c=xO(e=>RO(r,n.method,e??m)),u=await s.emit(`challenge.received`,SO({challenge:r,challenges:y,createCredential:c,init:t,input:e,method:n.method,response:p}))??(a?await a(v,{createCredential:c}):void 0)??await c();LO(u),await s.emit(`credential.created`,CO({challenge:r,credential:u,init:t,input:e,method:n.method,response:p}));let h=await l(f.input,{..._,headers:NO(f.headers,u)});return h.ok&&await s.emit(`payment.response`,wO({challenge:r,credential:u,init:t,input:e,method:n.method,response:h})),h}catch(n){throw await s.emit(`payment.failed`,TO({challenge:v,challenges:y,error:n,init:t,input:e,method:b,response:p})),n}};return u[fO]=l,u}function hO(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);pO||=globalThis.fetch,globalThis.fetch=mO({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(UO()?`same-origin`:`always`),fetch:globalThis.fetch})}function gO(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 _O(){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 vO(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await bO(e[`*`],t,n),r}case`credential.created`:await yO(e[`credential.created`],n),await bO(e[`*`],t,n);return;case`payment.failed`:await yO(e[`payment.failed`],n),await bO(e[`*`],t,n);return;case`payment.response`:await yO(e[`payment.response`],n),await bO(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 vO(e,t){try{return await e(t)}catch{return}}async function yO(e,t){for(let n of e)try{await n(t)}catch{}}async function bO(e,t,n){await yO(e,Object.freeze({name:t,payload:n}))}function xO(e){let t;return n=>(t??=e(n),t)}function SO(e){return Object.freeze({challenge:AO(e.challenge),challenges:e.challenges.map(e=>AO(e)),createCredential:e.createCredential,init:EO(e.init),input:DO(e.input),method:OO(e.method),response:kO(e.response)})}function CO(e){return Object.freeze({challenge:AO(e.challenge),credential:e.credential,init:EO(e.init),input:DO(e.input),method:OO(e.method),...e.response===void 0?{}:{response:kO(e.response)}})}function wO(e){return Object.freeze({challenge:AO(e.challenge),credential:e.credential,init:EO(e.init),input:DO(e.input),method:OO(e.method),response:kO(e.response)})}function TO(e){return Object.freeze({...e.challenge?{challenge:AO(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>AO(e))}:{},error:e.error,init:EO(e.init),input:DO(e.input),...e.method?{method:OO(e.method)}:{},...e.response===void 0?{}:{response:kO(e.response)}})}function EO(e){if(e)return MO({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function DO(e){return e instanceof Request?e.clone():e instanceof URL?new URL(e):e}function OO(e){return MO(Object.assign({},e))}function kO(e){return e instanceof Response?e.clone():AO(e)}function AO(e){try{return jO(structuredClone(e))}catch{return MO(e)}}function jO(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))jO(t);return e}function MO(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function NO(e,t){let n=gO(e);for(let e of Object.keys(n))e.toLowerCase()===`authorization`&&delete n[e];return n.Authorization=t,n}function PO(e,t,n,r,i,a){let o=!!r&&!i&&VO(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 FO(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function IO(e){let t=e;for(;t[fO];)t=t[fO];return t}function LO(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 RO(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 zO(e,t){let n=e.get(`Accept-Payment`);if(!n)return t;try{return{...t,entries:ZD(n),header:n}}catch{return t}}async function BO(e,t){return t?t(e):e}function VO(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=WO(e);return t===`same-origin`?UO()?n.origin===globalThis.location.origin:!0:t.origins.some(e=>HO(n,e))}function HO(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 UO(){return globalThis.location!==void 0}function WO(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,UO()?globalThis.location.href:void 0)}var GO=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},KO=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function qO(e){let t=e.match(/^Payment\\s+(.+)$/i);if(!t?.[1])throw new GO;try{let e=cb(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=JO(r);return{challenge:PD.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:wD(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new KO}}function JO(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!YO(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:TD(e)}}function YO(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function XO(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:TD(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:TD(r)},payload:e.payload,...e.source&&{source:e.source}};return`Payment ${ob(JSON.stringify(o),{pad:!1,url:!0})}`}function ZO(e){return e}function QO(e,t){let{context:n,createCredential:r}=t;return{...e,context:n,createCredential:r}}let $O=new Map;async function ek(e){$O.set(e,($O.get(e)??0)+1),await Promise.resolve();let t=($O.get(e)??0)>1;return queueMicrotask(()=>{let t=$O.get(e)??0;t<=1?$O.delete(e):$O.set(e,t-1)}),t}od(),ed();let tk={blockTime:1e3,extendSchema:Dh(),formatters:{transaction:hd({exclude:[`aaAuthorizationList`],format:cC}),transactionReceipt:Xm({format:lC}),transactionRequest:$u({format:uC})},prepareTransactionRequest:[async(e,{phase:t})=>{let n=e;return t===`afterFillParameters`?(n.feePayer&&n.keyAuthorization?.signature.type===`webAuthn`&&(n.gas=(n.gas??0n)+20000n),n):(await(async()=>{if(n.nonceKey===`expiring`||n.feePayer&&n.nonceKey===void 0)return!0;let e=n.account?.address;return e&&n.nonceKey===void 0?await ek(e):!1})()?(n.nonceKey=ad,n.nonce=0,n.validBefore===void 0&&(n.validBefore=Math.floor(Date.now()/1e3)+25)):n.nonceKey!==void 0&&(n.nonce=typeof n.nonce==`number`?n.nonce:0),!n.feeToken&&n.chain?.feeToken&&(n.feeToken=n.chain.feeToken),n)},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:((e,t)=>pS(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i}=t;if(typeof i==`string`&&i.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)){let a=Wb(i);if(a.type!==`keychain`){let i=await oh(e,{address:n,blockNumber:t.blockNumber,blockTag:t.blockTag});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return Xb(a,{address:n,payload:r})}}return await T(e,by,`verifyHash`)({...t,chain:null})}},nk=Eh({...tk,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.presto.tempo.xyz`],webSocket:[`wss://rpc.presto.tempo.xyz`]}}}),rk=Eh({...tk,id:31318,name:`Tempo Devnet`,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`]}}}),ik=Eh({...tk,id:1337,name:`Tempo`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}}),ak=Eh({...tk,id:42431,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.moderato.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`]}}});function ok(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 ya(r)}}function sk(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=ah({chain:i.chain,transport:qC(jy(e),jy(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?qC(jy(a),jy(n)):jy(a);return ah({chain:{...t,id:r},transport:o})}}let ck={mainnet:4217,testnet:42431},lk={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};ck.mainnet,lk.usdc,ck.testnet,lk.pathUsd;let uk={[ck.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[ck.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},dk={[ck.mainnet]:`https://rpc.tempo.xyz`,[ck.testnet]:`https://rpc.moderato.tempo.xyz`},fk=[`push`,`pull`],pk=q({amount:ED(),memo:Y(MD()),recipient:SE(G(),_E(e=>e))}),mk=(1n<<64n)-1n,hk=SE(jD(),_E(e=>e.toLowerCase())),gk=q({accessKeyAddress:hk,keyType:mE([`p256`,`secp256k1`,`webAuthn`])}),_k=q({accessKey:Y(gk),chainId:Y(KT())}),vk=OD(`subscriptionExpires must be a valid date`).check(AE(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),yk=mE([`day`,`week`]),bk=SE(oE([G(),XT(),kE(e=>typeof e==`number`&&Number.isSafeInteger(e))]),_E(e=>e.toString())).check(BT(/^[1-9]\\d*$/,`Invalid periodCount`),AE(e=>{try{return BigInt(e)<=mk}catch{return!1}},`periodCount exceeds uint64`));function xk(e){return AE(e=>{let{amount:t,decimals:n}=e;return ry(t,n)>0n},e)}function Sk(e){let{periodCount:t,periodUnit:n}=e;try{let e=n===`day`?86400n:604800n;return BigInt(t)*e<=mk}catch{return!1}}let Ck=ZO({name:`tempo`,intent:`charge`,schema:{credential:{payload:cE(`type`,[q({hash:MD(),type:J(`hash`)}),q({signature:ND(),type:J(`transaction`)}),q({signature:ND(),type:J(`proof`)})])},request:SE(q({amount:ED(),chainId:Y(KT()),currency:G(),decimals:KT(),description:Y(G()),externalId:Y(G()),feePayer:Y(SE(oE([JT(),kE()]),_E(e=>typeof e==`object`?!0:e))),memo:Y(MD()),recipient:Y(G()),splits:Y(K(pk).check(zT(1),RT(10))),supportedModes:Y(K(mE(fk)).check(zT(1)))}).check(AE(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=ry(e,t),i=n.reduce((e,n)=>e+ry(n.amount,t),0n);return n.every(e=>ry(e.amount,t)>0n)&&i<r},`Invalid splits`)),_E(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:ry(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:ry(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),wk=ZO({name:`tempo`,intent:`session`,schema:{credential:{payload:cE(`action`,[q({action:J(`open`),authorizedSigner:Y(G()),channelId:MD(),cumulativeAmount:ED(),signature:ND(),transaction:ND(),type:J(`transaction`)}),q({action:J(`topUp`),additionalDeposit:ED(),channelId:MD(),transaction:ND(),type:J(`transaction`)}),q({action:J(`voucher`),channelId:MD(),cumulativeAmount:ED(),signature:ND()}),q({action:J(`close`),channelId:MD(),cumulativeAmount:ED(),signature:ND()})])},request:SE(q({amount:ED(),chainId:Y(KT()),channelId:Y(MD()),currency:G(),decimals:KT(),escrowContract:Y(G()),feePayer:Y(SE(oE([JT(),kE()]),_E(e=>typeof e==`object`?!0:e))),minVoucherDelta:Y(ED()),recipient:Y(G()),suggestedDeposit:Y(ED()),unitType:G()}).check(AE(({amount:e,decimals:t})=>ry(e,t)>0n,`Session amount must be greater than 0`)),_E(({amount:e,chainId:t,channelId:n,decimals:r,escrowContract:i,feePayer:a,minVoucherDelta:o,suggestedDeposit:s,...c})=>({...c,amount:ry(e,r).toString(),...s?{suggestedDeposit:ry(s,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...o!==void 0&&{minVoucherDelta:ry(o,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a}}})))}}),Tk=ZO({name:`tempo`,intent:`subscription`,schema:{credential:{payload:q({signature:ND(),type:J(`keyAuthorization`)})},request:SE(q({amount:ED(),accessKey:Y(gk),chainId:Y(KT()),currency:hk,decimals:KT(),description:Y(G()),externalId:Y(G()),methodDetails:Y(_k),periodCount:bk,periodUnit:yk,recipient:hk,subscriptionExpires:vk}).check(xk(`Subscription amount must be greater than 0`),AE(Sk,`Subscription period exceeds uint64`)),_E(({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:ry(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}}),Ek=(1n<<64n)-1n;function Dk(e){return e instanceof Date?e:new Date(e)}function Ok(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 kk(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});if(e.periodUnit!==`day`&&e.periodUnit!==`week`)throw new $({reason:`periodUnit is invalid`});let t=e.periodUnit===`day`?86400n:604800n,n=BigInt(e.periodCount)*t;if(n>Ek)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 Ak(e){let{challengeExpires:t,request:n}=e;kk(n);let r=Ok(Dk(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 jk(e){let t=Uk(e.currency,`currency`),n=Uk(e.recipient,`recipient`);return[{address:t,selector:`0xa9059cbb`,recipients:[n]},{address:t,selector:`0x95777d59`,recipients:[n]}]}async function Mk(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=Pk({accessKey:t,chainId:r,request:i});return fx(a,{signature:Gb(await n.sign({hash:hx(a)}))})}function Nk(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let a=Fk(r.signature),o=Ik(a);return Lk({accessKey:t,authorization:a,chainId:n}),Rk(a,i),Bk(zk(a),i),Vk(a.scopes,i),{authorization:a,source:{address:Hk(a,o),chainId:n}}}function Pk(e){let{accessKey:t,chainId:n,request:r}=e;return fx({address:Uk(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:Ok(Dk(r.subscriptionExpires)),limits:[{token:Uk(r.currency,`currency`),limit:BigInt(r.amount),period:kk(r)}],scopes:jk(r),type:t.keyType})}function Fk(e){try{return gx(e)}catch{throw new $({reason:`invalid keyAuthorization payload`})}}function Ik(e){let t=e.signature;if(!t||t.type===`keychain`)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function Lk(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,Uk(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function Rk(e,t){if(Ak({request:t}),e.expiry!==Ok(Dk(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function zk(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function Bk(e,t){if(!Kd(e.token,Uk(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==kk(t))throw new $({reason:`keyAuthorization period mismatch`})}function Vk(e,t){if(!e||e.length<1||e.length>2)throw new $({reason:`keyAuthorization must contain recipient-scoped transfer calls`});let n=Uk(t.currency,`currency`),r=Uk(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=Wk(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(`0xa9059cbb`))throw new $({reason:`keyAuthorization must allow transfer`});if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function Hk(e,t){let n=hx(e);try{let e=Hb({payload:n,signature:t});if(!Xb(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 Uk(e,t){if(!Li(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function Wk(e){return typeof e==`string`?e.toLowerCase():``}let Gk=q({accessKey:Y(kE()),account:Y(kE())});function Kk(e={}){let t=sk({chain:nk,getClient:e.getClient,rpcUrl:dk}),n=ok({account:e.account});return QO(Tk,{context:Gk,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??ck.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.\");Jk(r.request),await e.validateRequest?.(r.request);let l=await qk(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!Kd(Nk({accessKey:c,chainId:a,payload:{signature:vx(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return XO({challenge:r,payload:{signature:vx(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function qk(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await Mk({accessKey:n,account:r,chainId:i,request:a})||px((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:Ok(Dk(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:I(BigInt(a.amount)),period:kk(a)}],scopes:jk(a)}]})).keyAuthorization)}function Jk(e){kk(e),Ok(Dk(e.subscriptionExpires))}let Yk=L(Ug(Pf(`mpp`),{as:`Hex`}),0,4);function Xk(e){return dp(L(Ug(Pf(e),{as:`Hex`}),0,10))}function Zk(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(dp(Yk),0),i[4]=1,i.set(Xk(t),5),n&&i.set(Xk(n),15),i.set(Qk(r),25),F(i)}function Qk(e){return dp(L(Ug(Pf(e),{as:`Hex`}),0,7))}function $k(e,t){return e.toLowerCase()===t.toLowerCase()}let eA=[lk.pathUsd,lk.usdc];async function tA(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!$k(e,i)),c=await Promise.allSettled([Mm(e,qS.call({account:n,token:i})),...s.map(t=>Mm(e,qS.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 jS(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let e=t+t*BigInt(Math.round(o*100))/10000n;return[VS.call({token:l,spender:TS,amount:e}),ES.call({tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:e})]}}catch{}}throw new rA({currency:i})}}function nA(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>$k(e,t)))]:t,slippage:e.slippage??1}:!1}var rA=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function iA(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 aA={Proof:[{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function oA(e){return{name:`MPP`,version:`2`,chainId:e}}function sA(e,t){return{challengeId:e,realm:t}}function cA(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}function lA(e={}){let{clientId:t}=e,n=sk({chain:nk,getClient:e.getClient,rpcUrl:dk}),r=ok({account:e.account});return QO(Ck,{context:q({account:Y(kE()),autoSwap:Y(kE()),mode:Y(mE(fk))}),async createCredential({challenge:i,context:a}){let o=i.request.methodDetails?.chainId,s=await n({chainId:o}),c=r(s,a),{request:l}=i,{amount:u,methodDetails:d}=l;if(BigInt(u)===0n)return XO({challenge:i,payload:{signature:await Dy(s,{account:c,domain:oA(o),types:aA,primaryType:`Proof`,message:sA(i.id,i.realm)}),type:`proof`},source:cA({address:c.address,chainId:o})});let f=l.currency;if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase())),n=d?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}let p=d?.supportedModes??[`pull`,`push`],m=(()=>{let t=a?.mode??e.mode;if(t){if(!p.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=c.type===`json-rpc`?`push`:`pull`;return p.includes(n)?n:p[0]})(),h=d?.memo?d.memo:Zk({challengeId:i.id,clientId:t,serverId:i.realm}),g=iA({amount:u,methodDetails:{...d,memo:h},recipient:l.recipient}).map(e=>iC.call({amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:f})),_=nA(a?.autoSwap??e.autoSwap,eA),v=[...(_?await tA(s,{account:c.address,amountOut:BigInt(u),tokenOut:f,tokenIn:_.tokenIn,slippage:_.slippage}):void 0)??[],...g],y=(()=>{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(m===`push`){let{receipts:e}=await Ty(s,{account:c,calls:v,experimental_fallback:!0}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return XO({challenge:i,payload:{hash:t,type:`hash`},source:`did:pkh:eip155:${o}:${c.address}`})}let b=await Wd(s,{account:c,calls:v,...d?.feePayer&&{feePayer:!0},nonceKey:`expiring`,validBefore:y});return b.gas+=5000n,XO({challenge:i,payload:{signature:await Ey(s,b),type:`transaction`},source:`did:pkh:eip155:${o}:${c.address}`})}})}function uA(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let dA={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};async function fA(e,t,n,r,i,a){let o=await Dy(e,{account:t,domain:uA(r,i),types:dA,primaryType:`Voucher`,message:{channelId:n.channelId,cumulativeAmount:n.cumulativeAmount}});if(a)try{let e=Gb(o);if(e.type===`keychain`&&e.inner.type===`secp256k1`)return yv(e.inner.signature)}catch{}return o}function pA(e){return Ug(W_(K_([`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 mA=[{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:[]}];async function hA(e,t,n){return Mm(e,{address:t,abi:mA,functionName:`getChannel`,args:[n]})}ha({abi:mA,name:`open`}),ha({abi:mA,name:`topUp`});function gA(e,t,n){let r=e.request.methodDetails?.escrowContract,i=n??r??uk[t];if(!i)throw Error(\"No `escrowContract` available. Provide it in parameters or ensure the server challenge includes it.\");return i}function _A(e,t,n,r){return XO({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function vA(e,t,n,r,i,a,o){let s=await fA(e,t,{channelId:n,cumulativeAmount:r},i,a,o);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:s}}async function yA(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=n.authorizedSigner??t.address,d=sp(32),f=pA({authorizedSigner:u,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:d,token:a}),p=wa({abi:B,functionName:`approve`,args:[r,o]}),m=wa({abi:mA,functionName:`open`,args:[i,a,o,d,u]}),h=await Wd(e,{account:t,calls:[{to:a,data:p},{to:r,data:m}],...l&&{feePayer:!0},feeToken:a});h.gas+=5000n;let g=await Ey(e,h),_=await fA(e,t,{channelId:f,cumulativeAmount:s},r,c,n.authorizedSigner);return{entry:{channelId:f,salt:d,cumulativeAmount:s,escrowContract:r,chainId:c,opened:!0},payload:{action:`open`,type:`transaction`,channelId:f,transaction:g,authorizedSigner:u,cumulativeAmount:s.toString(),signature:_}}}async function bA(e,t,n,r){try{let i=await hA(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 xA=q({account:Y(kE()),action:Y(mE([`open`,`topUp`,`voucher`,`close`])),channelId:Y(G()),cumulativeAmount:Y(ED()),cumulativeAmountRaw:Y(G()),transaction:Y(G()),authorizedSigner:Y(G()),additionalDeposit:Y(ED()),additionalDepositRaw:Y(G()),depositRaw:Y(G())});function SA(e={}){let{decimals:t=6}=e,n=sk({chain:nk,getClient:e.getClient,rpcUrl:dk}),r=ok({account:e.account}),i=t=>e.authorizedSigner??t.accessKeyAddress,a=e.maxDeposit===void 0?void 0:ry(e.maxDeposit,t),o=new Map,s=new Map,c=new Map;function l(t){e.onChannelUpdate?.(t)}function u(e,t,n){return`${e.toLowerCase()}:${t.toLowerCase()}:${n.toLowerCase()}`}function d(t,n,r){if(r){let e=o.get(r);if(e)return e}return gA(t,n,e.escrowContract)}async function f(r,f,p){let m=r.request.methodDetails,h=m?.chainId??0,g=await n({chainId:h}),_=d(r,h),v=r.request.recipient,y=r.request.currency,b=BigInt(r.request.amount),x=r.request.suggestedDeposit,S=x?BigInt(x):void 0,ee=(()=>{if(p?.depositRaw)return BigInt(p.depositRaw);if(e.deposit!==void 0)return ry(e.deposit,t);if(S!==void 0&&a!==void 0)return S<a?S:a;if(a!==void 0)return a;if(S!==void 0)return S;throw Error(\"No deposit amount available. Set `deposit`, `maxDeposit`, or ensure the server challenge includes `suggestedDeposit`.\")})(),te=i(f),C=u(v,y,_),w=s.get(C);if(!w){let e=p?.channelId??m?.channelId;if(e){let n=await bA(g,_,e,h);if(n){let e=p?.cumulativeAmountRaw?BigInt(p.cumulativeAmountRaw):p?.cumulativeAmount?ry(p.cumulativeAmount,t):void 0;e!==void 0&&(n.cumulativeAmount=e),s.set(C,n),c.set(n.channelId,C),o.set(n.channelId,_),w=n,l(w)}else if(p?.channelId)throw Error(`Channel ${p.channelId} cannot be reused (closed or not found on-chain).`)}}let ne;if(w?.opened)w.cumulativeAmount+=b,ne=await vA(g,f,w.channelId,w.cumulativeAmount,_,h,te),l(w);else{let e=await yA(g,f,{authorizedSigner:te,escrowContract:_,payee:v,currency:y,deposit:ee,initialAmount:b,chainId:h,feePayer:m?.feePayer});s.set(C,e.entry),c.set(e.entry.channelId,C),o.set(e.entry.channelId,_),ne=e.payload,l(e.entry)}return _A(r,ne,h,f)}async function p(e,r,a){let u=e.request.methodDetails?.chainId??0,f=await n({chainId:u}),p=a.action,{channelId:m,transaction:h,authorizedSigner:g}=a,_=g??i(r),v=m,y=a.cumulativeAmountRaw?BigInt(a.cumulativeAmountRaw):a.cumulativeAmount?ry(a.cumulativeAmount,t):void 0,b=a.additionalDepositRaw?BigInt(a.additionalDepositRaw):a.additionalDeposit?ry(a.additionalDeposit,t):void 0,x=d(e,u,v);o.set(v,x);let S;switch(p){case`open`:{if(!h)throw Error(`transaction required for open action`);if(y===void 0)throw Error(`cumulativeAmount required for open action`);let e=await fA(f,r,{channelId:v,cumulativeAmount:y},x,u,_);S={action:`open`,type:`transaction`,channelId:v,transaction:h,authorizedSigner:_??r.address,cumulativeAmount:y.toString(),signature:e};break}case`topUp`:if(!h)throw Error(`transaction required for topUp action`);if(b===void 0)throw Error(`additionalDeposit required for topUp action`);S={action:`topUp`,type:`transaction`,channelId:v,transaction:h,additionalDeposit:b.toString()};break;case`voucher`:{if(y===void 0)throw Error(`cumulativeAmount required for voucher action`);S=await vA(f,r,v,y,x,u,_);let e=c.get(v);if(e){let t=s.get(e);t&&(t.cumulativeAmount=t.cumulativeAmount>y?t.cumulativeAmount:y,l(t))}break}case`close`:{if(y===void 0)throw Error(`cumulativeAmount required for close action`);let e=await fA(f,r,{channelId:v,cumulativeAmount:y},x,u,_);S={action:`close`,channelId:v,cumulativeAmount:y.toString(),signature:e};let t=c.get(v);if(t){let e=s.get(t);e&&(e.opened=!1,e.cumulativeAmount=e.cumulativeAmount>y?e.cumulativeAmount:y,l(e))}break}}return _A(e,S,u,r)}return QO(wk,{context:xA,async createCredential({challenge:t,context:i}){let o=r(await n({chainId:t.request.methodDetails?.chainId??0}),i);if(!i?.action&&(e.deposit!==void 0||a!==void 0))return f(t,o,i);if(i?.action)return p(t,o,i);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 CA(e){let t=cb(e);return JSON.parse(t)}function wA(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 TA(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function EA(){return JSON.stringify({mpp:`payment-close-request`})}function DA(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`&&OA(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`&&kA(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&OA(t.data)?{mpp:`payment-receipt`,data:t.data}:null}catch{return null}}function OA(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.challengeId==`string`&&typeof t.channelId==`string`}function kA(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.channelId==`string`&&typeof t.requiredCumulative==`string`}let AA={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function jA(e){let t=e.fetch??globalThis.fetch,n=e.webSocket??globalThis.WebSocket,r=e.maxDeposit===void 0?null:ry(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,_=SA({account:e.account,authorizedSigner:e.authorizedSigner,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=mO({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?CA(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=AA.CLOSED,r=null}if(e===`open`&&(i=AA.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:{...gO(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=wA(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 MA($D(WD(ne),[_],XD([_]).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=qO(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===AA.CONNECTING||ce.readyState===AA.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=DA(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(TA(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(TA(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===AA.OPEN){let t=d??await(async()=>(u.send(EA()),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(TA(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?CA(m):void 0}}}async function MA(e,t){let n=t;return n?n(e):e}function NA(e={}){return[lA(e),SA(e)]}(function(e){e.charge=lA,e.session=jA,e.subscription=Kk})(NA||={});function PA(e){return e}function FA(){return PA({name:`http`,isPaymentRequired(e){return e.status===402},getChallenges(e){return WD(e)},getChallenge(e){return UD(e)},setCredential(e,t){let n=new Headers(e.headers);return n.set(`Authorization`,t),{...e,headers:n}}})}function IA(e){let{onChallenge:t,orderChallenges:n,polyfill:r=!0,acceptPaymentPolicy:i=r&&globalThis.location!==void 0?`same-origin`:`always`,transport:a=FA()}=e,o=e.fetch??globalThis.fetch,s=e.methods.flat(),c=XD(s,e.paymentPreferences),l=_O(),u=t,d={acceptPayment:c,acceptPaymentPolicy:i,...e.fetch&&{fetch:e.fetch},eventDispatcher:l,...u&&{onChallenge:u},...n&&{orderChallenges:n},methods:s},f=mO(d);r&&hO(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=KA(c.entries,r?.acceptPayment),u,d;try{let a=(await qA($D(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&&CD(u.expires,u.id);let f=LA(e=>JA(c,d,e??t)),p=await l.emit(`challenge.received`,RA({challenge:c,challenges:i,createCredential:f,method:d,response:e}))??await f();return LO(p),await l.emit(`credential.created`,zA({challenge:c,credential:p,method:d,response:e})),p}catch(t){throw await l.emit(`payment.failed`,BA({challenge:u,challenges:i,error:t,method:d,response:e})),t}}}}function LA(e){let t;return n=>(t??=e(n),t)}function RA(e){return Object.freeze({challenge:UA(e.challenge),challenges:e.challenges.map(e=>UA(e)),createCredential:e.createCredential,method:VA(e.method),response:HA(e.response)})}function zA(e){return Object.freeze({challenge:UA(e.challenge),credential:e.credential,method:VA(e.method),response:HA(e.response)})}function BA(e){return Object.freeze({...e.challenge?{challenge:UA(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>UA(e))}:{},error:e.error,...e.method?{method:VA(e.method)}:{},response:HA(e.response)})}function VA(e){return GA(Object.assign({},e))}function HA(e){return e instanceof Response?e.clone():UA(e)}function UA(e){try{return WA(structuredClone(e))}catch{return GA(e)}}function WA(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))WA(t);return e}function GA(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function KA(e,t){return t?typeof t==`string`?ZD(t):t:e}async function qA(e,t){return t?t(e):e}async function JA(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 YA(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 XA(e={}){let{account:t}=e,n=await cS();return{accessKey:xS(n,t?{access:t}:void 0),keyPair:n}}function ZA(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 QA(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 $A(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 ej(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 kC({message:`Account \"${n}\" not found.`}):new jC({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(rj(t,e))return tj(t)}}return nj(l,{signable:r})}function tj(e){if(`keyPair`in e&&e.keyPair)return xS(e.keyPair,{access:e.access});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return yS(e.privateKey,{access:e.access});case`p256`:return vS(e.privateKey,{access:e.access})}throw new kC({message:`External access key cannot be hydrated for signing.`})}function nj(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 kC({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return yS(e.privateKey);case`p256`:return vS(e.privateKey);case`webCrypto`:return xS(e.keyPair);case`webAuthn`:return bS(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return _S(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new kC({message:`Unknown key type.`})}}function rj(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:my(e.selector)).toLowerCase():!0:!1)})}function ij(e,t){let{name:n,...r}=e;return Object.defineProperty(t,`name`,{value:n,configurable:!0}),Object.assign(t,r)}function aj(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.`),ij({icon:r,name:i,rdns:a},({getAccount:e,getClient:r,store:i})=>{let a=new Set,s=GC();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 OC);return}s&&(s.status!==`success`&&s.status!==`error`||(a.delete(r),s.status===`success`?t(s.result):n(new OC({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=HC({async request(e){let t=s.prepare(e);return i.setState(e=>({...e,requestQueue:[...e.requestQueue,{request:t,status:`pending`}]})),c(t.id)}},{schema:gD});async function u(e){if(!e||e.publicKey||e.address)return;let{accessKey:t,keyPair:n}=await XA();return{accessKey:t,keyPair:n,request:{...e,publicKey:t.publicKey,keyType:`p256`}}}function d(e,t,n){$A({address:e,keyAuthorization:px(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=YA(n,{store:i});try{let e=await t(n,r??void 0);return QA(n,{store:i}),e}catch(e){console.warn(`[accounts] silent sign with access key failed, removing key:`,e),ZA(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()},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:Aw(iD.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}:{}}},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:Aw(iD.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}:{}}},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:[Aw(VE,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:[Aw(VE,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:[Aw(VE,e)]}):n},async authorizeAccessKey(t,n){let r=await u(t),i=await l.request({...n,params:[Aw(iD.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:[Aw(cD.parameters,e)]})},async swap(e,t){return await l.request(t)},async depositZone(e,t){return await l.request({...t,params:[Aw(pD.parameters,e)]})},async withdrawZone(e,t){return await l.request({...t,params:[Aw(mD.parameters,e)]})},async disconnect(){i.setState({accessKeys:[],accounts:[],activeAccount:0})}}}})}let oj=new Map;function sj(e,t){let{chains:n,feePayer:r,provider:i,store:a}=t,o=(()=>{if(r!==!1){if(typeof r==`string`)return lj(r);if(r?.url)return lj(r.url)}})(),s=typeof r==`object`&&r?r.precedence??`fee-payer-first`:`fee-payer-first`,c=e??a.getState().chainId,l=`${c}:${i?`p`:``}:${r===!1?`no-fp`:o??``}:${s}`,u=oj.get(l);if(!u){let e=n.find(e=>e.id===c)??n[0],t=jy(),r=i?cj(i,t):t;u=ah({chain:e,transport:o?uj(r,o,s):r,pollingInterval:1e3}),oj.set(l,u)}return u}function cj(e,t){return n=>({...t(n),async request({method:t,params:n}){return e.request({method:t,params:n})}})}function lj(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function uj(e,t,n){return r=>{let i=e(r),a=jy(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=fS(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 dj(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(dj.cache.get(n))return dj.cache.get(n);let r=e().finally(()=>dj.cache.delete(n));return dj.cache.set(n,r),r}dj.cache=new Map;function fj(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function pj(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=fj(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let mj;function hj(){return mj||=pj(`keyval-store`,`keyval`),mj}function gj(e,t=hj()){return t(`readonly`,t=>fj(t.get(e)))}function _j(e,t,n=hj()){return n(`readwrite`,n=>(n.put(t,e),fj(n.transaction)))}function vj(e,t=hj()){return t(`readwrite`,t=>(t.delete(e),fj(t.transaction)))}function yj(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 bj(e={}){let t=typeof indexedDB<`u`?pj(`tempo`,`store`):void 0;return yj({async getItem(e){let n=await gj(e,t);return n===null?null:n},async setItem(e,n){await _j(e,n,t)},async removeItem(e){await vj(e,t)}},e)}function xj(e={}){let t=new Map;return yj({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e)}let Sj=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 Cj(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 wj=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return wj(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return wj(t)(e)}}}},Tj=(e,t)=>(n,r,i)=>{let a={storage:Cj(()=>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 wj(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},Ej=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},Dj=(e=>e?Ej(e):Ej);function Oj(e){let{chainId:t,maxAccounts:n,persistCredentials:r=!0,storage:i=typeof window<`u`?bj({key:`tempo`}):xj({key:`tempo`})}=e;return Dj(Sj(Tj(()=>({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}:{},chainId:e.chainId}),storage:i,version:0})))}async function kj(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}function Aj(e,t){let n=Ow(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new AC({message:`Unsupported method \"${t?.method}\".`}):new DC(-32602,`Invalid params: ${jj(n.error.issues)}`)}return{...t,_decoded:n.data}}function jj(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?jj([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}let Mj=new Set;function Nj(e={}){let{adapter:t=aj(),chains:n=[nk,ak,rk],maxAccounts:r,persistCredentials:i,testnet:a,storage:o=typeof window<`u`?bj():xj()}=e,s=(()=>{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}})(),c=Oj({chainId:(a?n.find(e=>e.testnet)??n[n.length-1]:n[0]).id,maxAccounts:r,persistCredentials:i,storage:o}),l=(e={})=>ej({...e,store:c}),u;function d(e={}){let{chainId:t,feePayer:r}=e;return sj(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:s?.precedence}})(),store:c})}let f=t({getAccount:l,getClient:d,storage:o,store:c}),{actions:p}=f,m=VC();c.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>m.emit(`accountsChanged`,c.getState().accounts.map(e=>e.address))),c.subscribe(e=>e.chainId,e=>m.emit(`chainChanged`,I(e))),c.subscribe(e=>e.accounts.length>0,e=>{e?m.emit(`connect`,{chainId:I(c.getState().chainId)}):m.emit(`disconnect`,new jC)});function h(){if(c.getState().accounts.length===0)throw new jC({message:`No accounts connected.`})}function g(e){if(!f.persistAccounts)return e;let t=[...e];for(let e of c.getState().accounts)t.some(t=>t.address.toLowerCase()===e.address.toLowerCase())||t.push(e);return t}function _(e){if(e===!1)return!1;let t=typeof e==`string`?e:s?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}let v=Object.assign(HC({...m,async request({method:t,params:r}){return await kj(c),dj(async()=>{let i;try{i=Aj(vD,{method:t,params:r})}catch(e){if(!(e instanceof AC))throw e;return await sj(void 0,{chains:n,store:c}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:{let{accounts:e,activeAccount:t}=c.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(c.getState().chainId);case`eth_requestAccounts`:{let{accounts:e}=await p.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return c.setState({accounts:g(e),activeAccount:0}),e.map(e=>e.address)}case`eth_sendTransaction`:{h();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 p.sendTransaction({...r,chainId:e.chainId??c.getState().chainId,...a?{calls:a}:{},feePayer:_(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=t.chainId,r=_(t.feePayer),a=e=>{let t=d({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 l({signable:!0})}catch{return}})();if(e?.source===`accessKey`){let n=YA(e,{store:c});if(n)try{let r=await a({...t,keyAuthorization:{address:n.address,...yx(n)}});return QA(e,{store:c}),r}catch{return ZA(e,{store:c}),await a(t)}}}return await a(t)}case`eth_signTransaction`:{h();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 p.signTransaction({...r,chainId:e.chainId??c.getState().chainId,...a?{calls:a}:{},feePayer:_(e.feePayer)},i)}case`eth_sendTransactionSync`:{h();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 p.sendTransactionSync({...r,chainId:e.chainId??c.getState().chainId,...a?{calls:a}:{},feePayer:_(e.feePayer)},i)}case`eth_signTypedData_v4`:{h();let[e,t]=i._decoded.params;return await p.signTypedData({address:e,data:t},i)}case`personal_sign`:{h();let[e,t]=i._decoded.params;return await p.signPersonalMessage({address:t,data:e},i)}case`wallet_sendCalls`:{h();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=_(t?.feePayer??(s?!0:void 0)),l={calls:e,chainId:n,from:r,...o?{feePayer:o}:{}};if(!a){let e=P(await p.sendTransaction(l,{method:`eth_sendTransaction`,params:[Aw(VE,l)]}),ap(I(c.getState().chainId),32),Fj);return{capabilities:{sync:a},id:e}}let u=await p.sendTransactionSync(l,{method:`eth_sendTransactionSync`,params:[Aw(VE,l)]}),d=u.transactionHash,f=I(c.getState().chainId),m=P(d,ap(f,32),Fj);return{atomic:!0,capabilities:{sync:a},chainId:f,id:m,receipts:[u],status:u.status===`0x1`?200:500,version:`2.0.0`}}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=c.getState(),a=e?.account??t[r]?.address;if(!a)throw new jC({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new wC({message:\"`tokens` is required.\"});let s=sj(e?.chainId,{chains:n,store:c});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([qS(s,{account:a,token:e}),JS(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(Fj.slice(2)))throw Error(\"`id` not supported\");tp(e);let t=L(e,0,32),r=I(Number(L(e,32,64))),a=await sj(Number(r),{chains:n,store: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}=c.getState();if(!e.some(e=>e.address.toLowerCase()===t.toLowerCase()))throw new kC({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`},...s?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&c.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??e.authorizeAccessKey?.(),{keyAuthorization:a,accounts:o,email:s,signature:l,username:u}=await(async()=>{if(n?.method===`register`){let e=n.name?c.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await p.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:r},i):await p.createAccount({digest:n.digest,authorizeAccessKey:r,name:n.name??`default`,userId:n.userId??sp(16)},i)}return await p.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:r,selectAccount:n?.selectAccount},i)})();c.setState({accounts:g(o),activeAccount:0});let d=o[0]?.address;return{accounts:o.map(e=>({address:e.address,capabilities:e.address===d?{...a?{keyAuthorization:{...a,address:a.keyId}}:{},...l&&n?.digest?{signature:l}:{},...s===void 0?{}:{email:s},...u===void 0?{}:{username:u}}:{}}))}}case`wallet_disconnect`:await p.disconnect?.(),c.setState({accessKeys:[],accounts:[],activeAccount:0});return;case`wallet_authorizeAccessKey`:{if(!p.authorizeAccessKey)throw new AC({message:\"`authorizeAccessKey` not supported by adapter.\"});let e=i._decoded.params[0],t=await p.authorizeAccessKey(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{if(h(),!p.revokeAccessKey)throw new AC({message:\"`revokeAccessKey` not supported by adapter.\"});let[e]=i._decoded.params;await p.revokeAccessKey({...e},i);return}case`wallet_deposit`:if(!p.deposit)throw new AC({message:\"`deposit` not supported by adapter.\"});return await p.deposit(i._decoded.params[0],i);case`wallet_send`:{if(h(),!p.send)throw new AC({message:\"`send` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:_(e.feePayer)}};return await p.send(t,i)}case`wallet_swap`:if(h(),!p.swap)throw new AC({message:\"`swap` not supported by adapter.\"});return await p.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(h(),!p.depositZone)throw new AC({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:_(e.feePayer)}};return await p.depositZone(t,i)}case`wallet_withdrawZone`:if(h(),!p.withdrawZone)throw new AC({message:\"`withdrawZone` not supported by adapter.\"});return await p.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 FC({message:`Chain ${e} not configured.`});await p.switchChain?.({chainId:e}),c.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:gD}),{chains:n,getAccount:l,getClient(e={}){let{chainId:t,feePayer:r}=e;return sj(t,{chains:n,feePayer:r,provider:u,store:c})},store:c});if(typeof window<`u`&&typeof CustomEvent<`u`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;Mj.has(e)||(Mj.add(e),yD({info:{icon:t.icon??Pj,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:v}))}return e.mpp&&IA({methods:[NA({getClient:({chainId:e})=>{let t=v.getClient({chainId:e}),n=v.getAccount();return Object.assign(t,{account:n})},mode:`pull`})]}),u=v,v}let Pj=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,Fj=Ug(ip(`TEMPO_5792`)),Ij={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},Lj={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},Rj={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var zj=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let Bj={accent:new zj(`accent`),background:new zj(`background`),border:new zj(`border`),foreground:new zj(`foreground`),muted:new zj(`muted`),negative:new zj(`negative`),positive:new zj(`positive`),surface:new zj(`surface`),fontFamily:new zj(`font-family`),fontSizeBase:new zj(`font-size-base`),radius:new zj(`radius`),spacingUnit:new zj(`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: ${Bj.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 Vj(e){let t=new URL(location.href);t.searchParams.set(Lj.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()}function Hj(e){let t=document.getElementById(Ij.data),n=Tf(t.textContent),r=t.getAttribute(Rj.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(Rj.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(Rj.challengeId),o=a?(i.removeAttribute(Rj.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(Ij.error)?.remove();return}let t=document.getElementById(Ij.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=Ij.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:Vj,vars:Bj}}let Uj=Hj(`tempo`),Wj=String.raw,Gj=document.createElement(`style`);Gj.textContent=Wj`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${Uj.vars.spacingUnit} * 8);\n }\n button {\n background: ${Uj.vars.accent};\n border-radius: ${Uj.vars.radius};\n color: ${Uj.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${Uj.vars.spacingUnit} * 4) calc(${Uj.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`,Uj.root.append(Gj);let Kj=Nj({testnet:Uj.challenge.request.methodDetails?.chainId===ak.id||Uj.challenge.request.methodDetails?.chainId===ik.id}),qj=document.createElement(`button`);qj.innerHTML=`${Uj.text.pay===`Pay`?`Continue with`:Uj.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>`,qj.onclick=async()=>{try{Uj.error(),qj.disabled=!0;let e=await(async()=>{let e=await Kj.request({method:`eth_accounts`});return e.length>0?e.at(0):(await Kj.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await NA({account:e,getClient:e=>{let t=e.chainId??Uj.challenge.request.methodDetails?.chainId;return ah({chain:[...Kj?.chains??[],ak,ik].find(e=>e.id===t),transport:ky(Kj)})}})[0].createCredential({challenge:Uj.challenge,context:{}});await Uj.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;Uj.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{qj.disabled=!1}},Uj.root.appendChild(qj)})();</script>";
|
|
2
2
|
//# sourceMappingURL=html.gen.d.ts.map
|