mppx 0.17.1 → 0.17.4
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 +65 -0
- package/dist/Errors.d.ts +94 -0
- package/dist/Errors.js +83 -0
- package/dist/Store.d.ts +413 -0
- package/dist/Store.js +837 -0
- package/dist/cli/cli.js +141 -136
- package/dist/cli/internal.js +28 -6
- package/dist/cli/plugins/index.js +16 -11
- package/dist/cli/sessions/Manager.js +12 -1
- package/dist/cli/utils.d.ts +2 -0
- package/dist/cli/utils.js +6 -0
- package/dist/cli/validate/challenge.d.ts +4 -0
- package/dist/cli/validate/challenge.js +9 -6
- package/dist/client/Mppx.d.ts +1 -1
- package/dist/client/Mppx.js +7 -3
- package/dist/client/internal/Fetch.d.ts +1 -1
- package/dist/client/internal/Fetch.js +9 -0
- package/dist/client/internal/MethodResponse.d.ts +8 -0
- package/dist/client/internal/MethodResponse.js +9 -0
- package/dist/client/internal/ProofRealm.d.ts +3 -3
- package/dist/client/internal/ProofRealm.js +4 -4
- package/dist/client/internal/protocols/Mcp.d.ts +4 -0
- package/dist/client/internal/protocols/Mcp.js +27 -14
- package/dist/cloudflare/ChannelStore.d.ts +97 -0
- package/dist/cloudflare/ChannelStore.js +304 -0
- package/dist/cloudflare/Channels.d.ts +92 -0
- package/dist/cloudflare/Channels.js +325 -0
- package/dist/cloudflare/index.d.ts +5 -0
- package/dist/cloudflare/index.js +5 -0
- package/dist/identity/Client.js +7 -1
- package/dist/internal/sse.d.ts +21 -0
- package/dist/internal/sse.js +82 -0
- package/dist/internal/version.d.ts +2 -2
- package/dist/internal/version.js +1 -1
- package/dist/mcp/client/McpClient.d.ts +2 -2
- package/dist/mcp/client/McpClient.js +5 -2
- package/dist/proxy/Proxy.d.ts +2 -0
- package/dist/proxy/Proxy.js +31 -6
- package/dist/proxy/internal/Replay.js +1 -1
- package/dist/server/Mppx.js +5 -4
- package/dist/server/Transport.js +1 -1
- package/dist/server/internal/html/config.d.ts +7 -1
- package/dist/server/internal/html/config.js +4 -0
- package/dist/stripe/internal/types.d.ts +82 -6
- package/dist/stripe/server/Charge.js +1 -2
- package/dist/stripe/server/Methods.d.ts +2 -0
- package/dist/stripe/server/Methods.js +2 -1
- package/dist/stripe/server/internal/html.gen.js +1 -1
- package/dist/stripe/server/internal/record-payment.d.ts +49 -0
- package/dist/stripe/server/internal/record-payment.js +75 -18
- package/dist/tempo/Methods.d.ts +8 -0
- package/dist/tempo/Methods.js +18 -2
- package/dist/tempo/client/Charge.d.ts +32 -1
- package/dist/tempo/client/Charge.js +201 -3
- package/dist/tempo/client/Methods.d.ts +16 -0
- package/dist/tempo/internal/fee-payer.d.ts +64 -14
- package/dist/tempo/internal/fee-payer.js +231 -20
- package/dist/tempo/internal/zone.d.ts +79 -0
- package/dist/tempo/internal/zone.js +133 -0
- package/dist/tempo/legacy/session/Chain.js +2 -0
- package/dist/tempo/server/Charge.d.ts +7 -3
- package/dist/tempo/server/Charge.js +100 -6
- package/dist/tempo/server/Methods.d.ts +40 -0
- package/dist/tempo/server/Subscription.js +1 -0
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/transport.d.ts +6 -0
- package/dist/tempo/server/internal/transport.js +21 -21
- package/dist/tempo/session/client/ChannelStore.d.ts +2 -0
- package/dist/tempo/session/client/CredentialState.js +2 -0
- package/dist/tempo/session/client/Session.d.ts +11 -1
- package/dist/tempo/session/client/Session.js +39 -6
- package/dist/tempo/session/client/SessionManager.d.ts +1 -1
- package/dist/tempo/session/client/SessionManager.js +8 -4
- package/dist/tempo/session/client/Transports.d.ts +2 -0
- package/dist/tempo/session/client/Transports.js +4 -1
- package/dist/tempo/session/precompile/Chain.js +1 -0
- package/dist/tempo/session/server/ChannelStore.d.ts +14 -0
- package/dist/tempo/session/server/ChannelStore.js +10 -3
- package/dist/tempo/session/server/CredentialVerification.js +1 -1
- package/dist/tempo/session/server/MeteredStream.d.ts +4 -0
- package/dist/tempo/session/server/MeteredStream.js +6 -1
- package/dist/tempo/session/server/Sse.d.ts +59 -0
- package/dist/tempo/session/server/Sse.js +175 -10
- package/dist/validation/core.js +2 -0
- package/dist/zod.d.ts +2 -1
- package/dist/zod.js +1 -1
- package/package.json +5 -3
- package/dist/stripe/server/internal/html/types.d.ts +0 -2
- package/dist/stripe/server/internal/html/types.js +0 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Generated — do not edit.
|
|
2
|
-
export 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,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},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,o)=>(o=n==null?{}:e(i(n)),l(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));function d(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}let f=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function p(e){return e}function m(e,t={}){let{targetOrigin:n}=t,r=new Map;return p({destroy(){for(let t of r.values())e.removeEventListener(`message`,t);r.clear()},on(t,i,a){function o(e){e.data.topic===t&&(a&&e.data.id!==a||n&&e.origin!==n||i(e.data.payload,e))}return e.addEventListener(`message`,o),r.set(t,o),()=>{e.removeEventListener(`message`,o),r.delete(t)}},async send(t,r,i){let a=crypto.randomUUID();return e.postMessage(_({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function h(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=g();t.on(`ready`,e=>a.resolve(e??{}));let o=p({destroy(){t.destroy(),n.destroy(),i&&a.reject()},on(e,n,r){return t.on(e,n,r)},async send(e,t){return i=!0,r&&await a.promise.finally(()=>i=!1),n.send(e,t)}});return{...o,ready(e){o.send(`ready`,e??{})},waitForReady(){return a.promise}}}function g(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function _(e){if(Array.isArray(e))return e.map(_);if(typeof e==`function`)return;if(typeof e!=`object`||!e)return e;if(Object.getPrototypeOf(e)!==Object.prototype)try{return structuredClone(e)}catch{return}let t={};for(let[n,r]of Object.entries(e))t[n]=_(r);return t}function v(e,t,n){return n&&y(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function y(e,t){return b(e)===b(t)}function b(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function x(e,t){t&&(t.accent&&e.searchParams.set(`accent`,t.accent),t.radius&&e.searchParams.set(`radius`,t.radius),t.scheme&&e.searchParams.set(`scheme`,t.scheme))}let S={height:600,width:404};function C(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function w(){return typeof window>`u`?!1:window.location.protocol===`http:`||!window.isSecureContext}function ee(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let T;function te(){return typeof window>`u`?re():C({name:`iframe`},e=>{let{host:t}=e;if(T&&T.host===t)return T.refs.store=e.store,T.refs.fallback.destroy(),T.refs.fallback=ne()(e),T.instance.syncTheme(e.theme),T.instance;T?.instance.destroy();let n={fallback:ne()(e),store:e.store},r=!1,i=ae(),a=new URL(t);a.searchParams.set(`chainId`,String(n.store.getState().chainId)),a.searchParams.set(`mode`,`iframe`),i.icon&&(typeof i.icon==`string`?a.searchParams.set(`icon`,i.icon):(a.searchParams.set(`icon`,i.icon.light),a.searchParams.set(`iconDark`,i.icon.dark))),x(a,e.theme);let o=document.createElement(`dialog`);o.dataset.tempoWallet=``,o.setAttribute(`role`,`dialog`),o.setAttribute(`aria-closed`,`true`),o.setAttribute(`aria-label`,`Tempo Wallet`),o.setAttribute(`hidden`,`until-found`),Object.assign(o.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`});let s=document.createElement(`iframe`);s.dataset.testid=`tempo-wallet`,s.setAttribute(`allow`,[`publickey-credentials-get ${a.origin}`,`publickey-credentials-create ${a.origin}`,`clipboard-write`,`payment`].join(`; `)),s.setAttribute(`allowtransparency`,`true`),s.setAttribute(`tabindex`,`0`),s.setAttribute(`title`,`Tempo Wallet`),s.src=a.toString(),Object.assign(s.style,{backgroundColor:`transparent`,border:`0`,colorScheme:e.theme?.scheme??`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let c=document.createElement(`style`);c.innerHTML=`\n dialog[data-tempo-wallet]::backdrop {\n background: transparent!important;\n }\n `,o.appendChild(c),o.appendChild(s);let l,u,d=[],p=!1;function g(){e.onReject(d.map(e=>e.request.id))}function _(){l=void 0;let t=h({from:m(window,{targetOrigin:a.origin}),to:m(s.contentWindow,{targetOrigin:a.origin}),waitForReady:!0});return t.on(`rpc-response`,t=>e.onResponse(t)),t.waitForReady().then(e=>{l=e,e.colorScheme&&(s.style.colorScheme=e.colorScheme),ie(t,n.store)}),t.on(`sync`,({valid:e})=>{e===!1&&n.store.disconnect()}),t.on(`switch-mode`,()=>{le(),re(),r=!1,p=!0,u&&d.length>0&&n.fallback.syncRequests(u)}),t}document.body.appendChild(o);let y=_();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===o){document.body.appendChild(o),y.destroy(),y=_();return}}).observe(document.body,{childList:!0});let b=``,S=null,C=()=>g(),w=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&o.removeAttribute(`inert`)});w.observe(o,{attributeOldValue:!0,attributes:!0});let te=!1,re=()=>{te&&(te=!1,o.removeEventListener(`cancel`,C),o.removeEventListener(`click`,C),o.style.pointerEvents=`none`,S?.focus(),S=null,document.body.style.overflow=b)},oe=()=>{te||(te=!0,o.addEventListener(`cancel`,C),o.addEventListener(`click`,C),s.focus(),o.style.pointerEvents=`auto`,b=document.body.style.overflow,document.body.style.overflow=`hidden`)},se=!1,ce=()=>{se||(se=!0,document.activeElement instanceof HTMLElement&&(S=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},le=()=>{if(se){se=!1,o.setAttribute(`hidden`,`true`),o.setAttribute(`aria-closed`,`true`),o.close();for(let e of o.parentNode?Array.from(o.parentNode.children):[])e!==o&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}},ue={close(){n.fallback.close(),r=!1,le(),re()},destroy(){T?.instance===ue&&(T=void 0),n.fallback.close(),r=!1,re(),le(),n.fallback.destroy(),y.destroy(),o.remove(),w.disconnect()},open(){r||(r=!0,ce(),oe())},async syncRequests(e){let{requests:t}=e;if(u=e,d=t,p){n.fallback.syncRequests(e);return}let{trustedHosts:i}=l??await y.waitForReady();if(ee()&&t.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){n.fallback.syncRequests(e);return}let o=f(),s=window.location.hostname.replace(/^www\\./,``),c=!!(i&&v(i,s,a.hostname));if(!(o||c))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`)),n.fallback.syncRequests(e);else{let n=t.some(e=>e.status===`pending`);!r&&n&&this.open(),y.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})}},syncTheme(e){s.style.colorScheme=e?.scheme??`light dark`,y.send(`theme`,e??{})}};return T={host:t,instance:ue,refs:n},ue})}function ne(e={}){if(typeof window>`u`)return re();let{size:t=S}=e;return C({name:`popup`},e=>{let{host:n,store:r}=e,i=null,a=[];function o(){e.onReject(a.map(e=>e.request.id))}let s=(()=>{let e=setInterval(()=>{i?.closed&&o()},100);return()=>clearInterval(e)})(),c,l=document.createElement(`div`);Object.assign(l.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 u=document.createElement(`p`);Object.assign(u.style,{margin:`0`}),u.textContent=`Continue in the popup window`;let d=document.createElement(`button`);return Object.assign(d.style,{background:`none`,border:`none`,color:`white`,cursor:`pointer`,font:`inherit`,padding:`0`,textDecoration:`underline`}),d.textContent=`Close`,d.addEventListener(`click`,()=>o()),l.appendChild(u),l.appendChild(d),document.body.appendChild(l),{close(){l.style.display=`none`,i&&=(i.close(),null)},destroy(){this.close(),c?.destroy(),s(),l.remove()},open(){c?.destroy(),i?.close();let a=ae(),o=new URL(n);o.searchParams.set(`chainId`,String(r.getState().chainId)),o.searchParams.set(`mode`,`popup`),a.icon&&(typeof a.icon==`string`?o.searchParams.set(`icon`,a.icon):(o.searchParams.set(`icon`,a.icon.light),o.searchParams.set(`iconDark`,a.icon.dark))),x(o,e.theme);let s=(window.innerWidth-t.width)/2+window.screenX,u=(window.innerHeight-t.height)/2+window.screenY;if(i=window.open(o.toString(),`_blank`,`width=${t.width},height=${t.height},left=${s},top=${u}`),!i)throw Error(`Failed to open popup`);c=h({from:m(window,{targetOrigin:o.origin}),to:m(i,{targetOrigin:o.origin}),waitForReady:!0}),c.on(`rpc-response`,t=>e.onResponse(t)),l.style.display=`flex`},async syncRequests(e){let{requests:t}=e;a=t,t.some(e=>e.status===`pending`)&&(!i||i.closed?this.open():i.focus()),c?.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})},syncTheme(){}}})}function re(){return C({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function ie(e,t){let{accounts:n}=t.getState();n.length!==0&&e.send(`sync`,{addresses:n.map(e=>e.address)})}function ae(){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 oe,se=o((()=>{oe=`1.2.3`})),ce,le=o((()=>{se(),ce=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@${oe}`].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 ue(e,t){return e.exec(t)?.groups}var de,fe,pe,me=o((()=>{de=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,fe=/^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)?$/,pe=/^\\(.+?\\).*?$/}));function he(e){let t=e.type;if(ge.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+=he(i),r<n-1&&(t+=`, `)}let r=ue(ge,e.type);return t+=`)${r?.array||``}`,he({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var ge,_e=o((()=>{me(),ge=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function ve(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=he(i),r!==n-1&&(t+=`, `)}return t}var ye=o((()=>{_e()}));function be(e){return e.type===`function`?`function ${e.name}(${ve(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${ve(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${ve(e.inputs)})`:e.type===`error`?`error ${e.name}(${ve(e.inputs)})`:e.type===`constructor`?`constructor(${ve(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var xe=o((()=>{ye()}));function Se(e){return Fe.test(e)}function Ce(e){return ue(Fe,e)}function we(e){return Ie.test(e)}function Te(e){return ue(Ie,e)}function Ee(e){return Le.test(e)}function De(e){return ue(Le,e)}function Oe(e){return Re.test(e)}function ke(e){return ue(Re,e)}function Ae(e){return ze.test(e)}function je(e){return ue(ze,e)}function Me(e){return Be.test(e)}function Ne(e){return ue(Be,e)}function Pe(e){return Ve.test(e)}var Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We=o((()=>{me(),Fe=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ie=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Le=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,Re=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,ze=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Be=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,Ve=/^receive\\(\\) external payable$/,He=new Set([`indexed`]),Ue=new Set([`calldata`,`memory`,`storage`])})),Ge,Ke,qe=o((()=>{le(),Ge=class extends ce{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`})}},Ke=class extends ce{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`})}}})),Je,Ye,Xe,Ze,Qe,$e=o((()=>{le(),Je=class extends ce{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Ye=class extends ce{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`})}},Xe=class extends ce{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`})}},Ze=class extends ce{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`})}},Qe=class extends ce{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`})}}})),et,tt,nt,rt=o((()=>{le(),et=class extends ce{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},tt=class extends ce{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},nt=class extends ce{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`})}}})),it,at=o((()=>{le(),it=class extends ce{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`})}}})),ot,st=o((()=>{le(),ot=class extends ce{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 ct(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 lt,ut=o((()=>{lt=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 dt(e,t={}){if(Ee(e))return ft(e,t);if(we(e))return pt(e,t);if(Se(e))return mt(e,t);if(Ae(e))return ht(e,t);if(Me(e))return gt(e);if(Pe(e))return{type:`receive`,stateMutability:`payable`};throw new tt({signature:e})}function ft(e,t={}){let n=De(e);if(!n)throw new et({signature:e,type:`function`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{modifiers:Ue,structs:t,type:`function`}));let o=[];if(n.returns){let e=vt(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(_t(e[n],{modifiers:Ue,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function pt(e,t={}){let n=Te(e);if(!n)throw new et({signature:e,type:`event`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{modifiers:He,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function mt(e,t={}){let n=Ce(e);if(!n)throw new et({signature:e,type:`error`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function ht(e,t={}){let n=je(e);if(!n)throw new et({signature:e,type:`constructor`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function gt(e){let t=Ne(e);if(!t)throw new et({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function _t(e,t){let n=ct(e,t?.type,t?.structs);if(lt.has(n))return lt.get(n);let r=pe.test(e),i=ue(r?Ct:St,e);if(!i)throw new Je({param:e});if(i.name&&bt(i.name))throw new Ye({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=vt(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(_t(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(wt.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!yt(c))throw new Ke({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Xe({param:e,type:t?.type,modifier:i.modifier});if(Ue.has(i.modifier)&&!xt(c,!!i.array))throw new Ze({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return lt.set(n,u),u}function vt(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?vt(o,[...t,n.trim()]):vt(o,t,`${n}${i}`,r);case`(`:return vt(o,t,`${n}${i}`,r+1);case`)`:return vt(o,t,`${n}${i}`,r-1);default:return vt(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new ot({current:n,depth:r});return t.push(n.trim()),t}function yt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||de.test(e)||fe.test(e)}function bt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||de.test(e)||fe.test(e)||Tt.test(e)}function xt(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var St,Ct,wt,Tt,Et=o((()=>{me(),qe(),$e(),rt(),st(),ut(),We(),St=/^(?<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$_]*))?$/,Ct=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,wt=/^u?int$/,Tt=/^(?: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 Dt(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Oe(n))continue;let i=ke(n);if(!i)throw new et({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=_t(t,{type:`struct`});o.push(n)}if(!o.length)throw new nt({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]=Ot(a,t)}return r}function Ot(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(pe.test(i.type))r.push(i);else{let e=ue(kt,i.type);if(!e?.type)throw new Qe({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new it({type:o});r.push({...i,type:`tuple${a??``}`,components:Ot(t[o],t,new Set([...n,o]))})}else if(yt(o))r.push(i);else throw new Ge({type:o})}}return r}var kt,At=o((()=>{me(),qe(),$e(),rt(),at(),We(),Et(),kt=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function jt(e){let t=Dt(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];Oe(r)||n.push(dt(r,t))}return n}var Mt=o((()=>{We(),At(),Et()})),Nt=o((()=>{le(),xe(),_e(),ye(),Mt(),qe(),We(),At(),Et(),$e(),rt(),st(),at()}));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 Pt(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new mn(e.type);return`${e.name}(${Ft(e.inputs,{includeName:t})})`}function Ft(e,{includeName:t=!1}={}){return e?e.map(e=>It(e,{includeName:t})).join(t?`, `:`,`):``}function It(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${Ft(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var Lt=o((()=>{hn()}));function D(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var Rt=o((()=>{}));function zt(e){return D(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Bt=o((()=>{Rt()})),Vt,Ht=o((()=>{Vt=`2.57.1`}));function Ut(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Ut(e.cause,t):t?null:e}var Wt,O,k=o((()=>{Ht(),Wt={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Vt}`},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=Wt.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Wt.version?[`Version: ${Wt.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=Vt}walk(e){return Ut(this,e)}}})),Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn=o((()=>{Lt(),Bt(),k(),Gt=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`})}},Kt=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`})}},qt=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: (${Ft(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}},Jt=class extends O{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},Yt=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`})}},Xt=class extends O{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${zt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},Zt=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`})}},Qt=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`})}},$t=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`})}},en=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}},tn=class extends O{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},nn=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`})}},rn=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`})}},an=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`})}},on=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`})}},sn=class extends O{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Pt(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Pt(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},cn=class extends O{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},ln=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: (${Ft(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}},un=class extends O{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Pt(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},dn=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`})}},fn=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`})}},pn=class extends O{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},mn=class extends O{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),gn,_n,vn,yn=o((()=>{k(),gn=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`})}},_n=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`})}},vn=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 bn(e,{dir:t,size:n=32}={}){return typeof e==`string`?xn(e,{dir:t,size:n}):Sn(e,{dir:t,size:n})}function xn(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new _n({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function Sn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new _n({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 Cn=o((()=>{yn()})),wn,Tn,En,Dn,On,kn,An,jn,Mn=o((()=>{k(),wn=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`})}},Tn=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`})}},En=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`})}},Dn=class extends O{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},On=class extends O{constructor({limit:e}){super(`RLP depth limit of \\`${e}\\` exceeded.`,{name:`RlpDepthLimitExceededError`})}},kn=class extends O{constructor({consumed:e,declared:t}){super(`RLP list items consumed \\`${e}\\` bytes but the list declared a length of \\`${t}\\`.`,{name:`RlpListBoundaryExceededError`})}},An=class extends O{constructor({count:e}){super(`RLP payload encodes a single item, but \\`${e}\\` trailing ${e===1?`byte remains`:`bytes remain`}.`,{name:`RlpTrailingBytesError`})}},jn=class extends O{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function Nn(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 Pn=o((()=>{}));function Fn(e,{size:t}){if(zt(e)>t)throw new jn({givenSize:zt(e),maxSize:t})}function In(e,t={}){let{signed:n}=t;t.size&&Fn(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=Math.ceil((e.length-2)/2);return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function Ln(e,t={}){let n=e;if(t.size&&(Fn(n,{size:t.size}),n=Nn(n)),Nn(n)===`0x00`)return!1;if(Nn(n)===`0x01`)return!0;throw new En(n)}function Rn(e,t={}){let n=In(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new wn({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var zn=o((()=>{Mn(),Bt(),Pn()}));function Bn(e,t={}){return typeof e==`number`||typeof e==`bigint`?A(e,t):typeof e==`string`?Un(e,t):typeof e==`boolean`?Vn(e,t):Hn(e,t)}function Vn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{size:t.size})):n}function Hn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Wn[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Fn(r,{size:t.size}),bn(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 wn({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?bn(s,{size:r}):s}function Un(e,t={}){return Hn(Gn.encode(e),t)}var Wn,Gn,Kn=o((()=>{Mn(),Cn(),zn(),Wn=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Gn=new TextEncoder}));function qn(e,t={}){return typeof e==`number`||typeof e==`bigint`?Zn(e,t):typeof e==`boolean`?Jn(e,t):D(e)?Xn(e,t):Qn(e,t)}function Jn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{size:t.size})):n}function Yn(e){if(e>=er.zero&&e<=er.nine)return e-er.zero;if(e>=er.A&&e<=er.F)return e-(er.A-10);if(e>=er.a&&e<=er.f)return e-(er.a-10)}function Xn(e,t={}){let n=e;t.size&&(Fn(n,{size:t.size}),n=bn(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=Yn(r.charCodeAt(t++)),i=Yn(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 Zn(e,t){return Xn(A(e,t))}function Qn(e,t={}){let n=$n.encode(e);return typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{dir:`right`,size:t.size})):n}var $n,er,tr=o((()=>{k(),Rt(),Cn(),zn(),Kn(),$n=new TextEncoder,er={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function nr(e,t=!1){return t?{h:Number(e&ar),l:Number(e>>or&ar)}:{h:Number(e>>or&ar)|0,l:Number(e&ar)|0}}function rr(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}=nr(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function ir(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr=o((()=>{ar=BigInt(2**32-1),or=BigInt(32),sr=(e,t,n)=>e>>>n,cr=(e,t,n)=>e<<32-n|t>>>n,lr=(e,t,n)=>e>>>n|t<<32-n,ur=(e,t,n)=>e<<32-n|t>>>n,dr=(e,t,n)=>e<<64-n|t>>>n-32,fr=(e,t,n)=>e>>>n-32|t<<64-n,pr=(e,t,n)=>e<<n|t>>>32-n,mr=(e,t,n)=>t<<n|e>>>32-n,hr=(e,t,n)=>t<<n-32|e>>>64-n,gr=(e,t,n)=>e<<n-32|t>>>64-n,_r=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),vr=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,yr=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),br=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,xr=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),Sr=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),wr,Tr=o((()=>{wr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Er(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Dr(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Or(e,...t){if(!Er(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 kr(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);Dr(e.outputLen),Dr(e.blockLen)}function Ar(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 jr(e,t){Or(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function Mr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Nr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Pr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Fr(e,t){return e<<32-t|e>>>t}function Ir(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Lr(e){for(let t=0;t<e.length;t++)e[t]=Ir(e[t]);return e}function Rr(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function zr(e){return typeof e==`string`&&(e=Rr(e)),Or(e),e}function Br(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Or(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 Vr(e){let t=t=>e().update(zr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Hr(e=32){if(wr&&typeof wr.getRandomValues==`function`)return wr.getRandomValues(new Uint8Array(e));if(wr&&typeof wr.randomBytes==`function`)return Uint8Array.from(wr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Ur,Wr,Gr,Kr=o((()=>{Tr(),Ur=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Wr=Ur?e=>e:Lr,Gr=class{}}));function qr(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=oi(a,o,1)^n[r],c=si(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=ti[n],a=oi(t,i,r),o=si(t,i,r),s=ei[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]^=ii[r],e[1]^=ai[r]}Nr(n)}var Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di=o((()=>{Cr(),Kr(),Jr=BigInt(0),Yr=BigInt(1),Xr=BigInt(2),Zr=BigInt(7),Qr=BigInt(256),$r=BigInt(113),ei=[],ti=[],ni=[];for(let e=0,t=Yr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],ei.push(2*(5*r+n)),ti.push((e+1)*(e+2)/2%64);let i=Jr;for(let e=0;e<7;e++)t=(t<<Yr^(t>>Zr)*$r)%Qr,t&Xr&&(i^=Yr<<(Yr<<BigInt(e))-Yr);ni.push(i)}ri=rr(ni,!0),ii=ri[0],ai=ri[1],oi=(e,t,n)=>n>32?hr(e,t,n):pr(e,t,n),si=(e,t,n)=>n>32?gr(e,t,n):mr(e,t,n),ci=class e extends Gr{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,Dr(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=Mr(this.state)}clone(){return this._cloneInto()}keccak(){Wr(this.state32),qr(this.state32,this.rounds),Wr(this.state32),this.posOut=0,this.pos=0}update(e){Ar(this),e=zr(e),Or(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){Ar(this,!1),Or(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 Dr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(jr(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,Nr(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}},li=(e,t,n)=>Vr(()=>new ci(t,e,n)),ui=li(1,136,32)}));function fi(e,t){let n=t||`hex`,r=ui(D(e,{strict:!1})?qn(e):e);return n===`bytes`?r:Bn(r)}var pi=o((()=>{di(),Rt(),tr(),Kn()}));function mi(e){return hi(e)}var hi,gi=o((()=>{tr(),pi(),hi=e=>fi(qn(e))}));function _i(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 vi=o((()=>{k()})),yi,bi=o((()=>{Nt(),vi(),yi=e=>_i(typeof e==`string`?e:be(e))}));function xi(e){return mi(yi(e))}var Si=o((()=>{gi(),bi()})),Ci,wi=o((()=>{Si(),Ci=xi})),Ti,Ei=o((()=>{k(),Ti=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`})}}})),Di,Oi=o((()=>{Di=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 ki(e,t){if(ji.has(`${e}.${t}`))return ji.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=fi(Qn(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 ji.set(`${e}.${t}`,a),a}function Ai(e,t){if(!Ni(e,{strict:!1}))throw new Ti({address:e});return ki(e,t)}var ji,Mi=o((()=>{Ei(),tr(),pi(),Oi(),Ii(),ji=new Di(8192)}));function Ni(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Fi.has(r))return Fi.get(r);let i=Pi.test(e)?e.toLowerCase()===e||!n||ki(e)===e:!1;return Fi.set(r,i),i}var Pi,Fi,Ii=o((()=>{Oi(),Mi(),Pi=/^0x[a-fA-F0-9]{40}$/,Fi=new Di(8192)}));function Li(e){return typeof e[0]==`string`?zi(e):Ri(e)}function Ri(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 zi(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Bi=o((()=>{}));function Vi(e,t,n,{strict:r}={}){return D(e,{strict:!1})?Gi(e,t,n,{strict:r}):Wi(e,t,n,{strict:r})}function Hi(e,t){if(typeof t==`number`&&t>0&&t>zt(e)-1)throw new gn({offset:t,position:`start`,size:zt(e)})}function Ui(e,t,n){if(typeof t==`number`&&typeof n==`number`&&zt(e)!==n-t)throw new gn({offset:n,position:`end`,size:zt(e)})}function Wi(e,t,n,{strict:r}={}){Hi(e,t);let i=e.slice(t,n);return r&&Ui(i,t,n),i}function Gi(e,t,n,{strict:r}={}){Hi(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Ui(i,t,n),i}var Ki=o((()=>{yn(),Rt(),Bt()})),qi,Ji,Yi=o((()=>{qi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ji=/^(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 Xi(e,t){if(e.length!==t.length)throw new Zt({expectedLength:e.length,givenLength:t.length});return $i(Zi({params:e,values:t}))}function Zi({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(Qi({param:e[r],value:t[r]}));return n}function Qi({param:e,value:t}){let n=sa(e.type);if(n){let[r,i]=n;return ta(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return oa(t,{param:e});if(e.type===`address`)return ea(t);if(e.type===`bool`)return ra(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Ji.exec(e.type)??[];return ia(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return na(t,{param:e});if(e.type===`string`)return aa(t);throw new dn(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function $i(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];t+=r?32:zt(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+=zt(s)):n.push(s)}return zi([...n,...r])}function ea(e){if(!Ni(e))throw new Ti({address:e});return{dynamic:!1,encoded:xn(e.toLowerCase())}}function ta(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new pn(e);if(!r&&e.length!==t)throw new Yt({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=e.length===0&&ca(n),a=[];for(let t=0;t<e.length;t++){let r=Qi({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=$i(a);if(r)return{dynamic:!0,encoded:zi([A(a.length,{size:32}),e])};if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:zi(a.map(({encoded:e})=>e))}}function na(e,{param:t}){let[,n]=t.type.split(`bytes`),r=zt(e);if(!n){let t=e;return r%32!=0&&(t=xn(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:zi([xn(A(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new Xt({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:xn(e,{dir:`right`})}}function ra(e){if(typeof e!=`boolean`)throw new O(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:xn(Vn(e))}}function ia(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 wn({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 aa(e){let t=Un(e),n=Math.ceil(zt(t)/32),r=[];for(let e=0;e<n;e++)r.push(xn(Vi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:zi([xn(A(zt(t),{size:32})),...r])}}function oa(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=Qi({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?$i(r):zi(r.map(({encoded:e})=>e))}}function sa(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function ca(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components.some(ca);let n=sa(t);return n?ca({...e,type:n[1]}):!1}var la=o((()=>{hn(),Ei(),k(),Mn(),Ii(),Bi(),Cn(),Bt(),Ki(),Kn(),Yi()})),ua,da=o((()=>{Ki(),Si(),ua=e=>Vi(xi(e),0,4)}));function fa(e){let{abi:t,args:n=[],name:r}=e,i=D(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?ua(e)===r:e.type===`event`&&Ci(e)===r:`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?pa(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=ma(e.inputs,o.inputs,n);if(t)throw new sn({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function pa(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Ni(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`&&pa(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=>pa(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function ma(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 ma(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`))&&Ni(n[r],{strict:!1}))return o}}var ha=o((()=>{hn(),Rt(),Ii(),wi(),da()}));function j(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var ga=o((()=>{}));function _a(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=fa({abi:t,args:n,name:r});if(!e)throw new rn(r,{docsPath:va});i=e}if(i.type!==`function`)throw new rn(void 0,{docsPath:va});return{abi:[i],functionName:ua(Pt(i))}}var va,ya=o((()=>{hn(),da(),Lt(),ha(),va=`/docs/contract/encodeFunctionData`}));function ba(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:_a(e),i=n[0];return zi([r,(`inputs`in i&&i.inputs?Xi(i.inputs,t??[]):void 0)??`0x`])}var xa=o((()=>{Bi(),la(),ya()})),Sa,Ca,wa,Ta=o((()=>{Sa={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.`},Ca={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},wa={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),Ea,Da,Oa,ka=o((()=>{k(),Ea=class extends O{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},Da=class extends O{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Oa=class extends O{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Aa(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(ja);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var ja,Ma=o((()=>{ka(),ja={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 Oa({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Da({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Ea({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 Ea({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 Na(e,t={}){return t.size!==void 0&&Fn(e,{size:t.size}),In(Hn(e),t)}function Pa(e,t={}){let n=e;if(t.size!==void 0&&(Fn(n,{size:t.size}),n=Nn(n)),n.length>1||n[0]>1)throw new Tn(n);return!!n[0]}function Fa(e,t={}){return t.size!==void 0&&Fn(e,{size:t.size}),Rn(Hn(e),t)}function Ia(e,t={}){let n=e;return t.size!==void 0&&(Fn(n,{size:t.size}),n=Nn(n,{dir:`right`})),new TextDecoder().decode(n)}var La=o((()=>{Mn(),Pn(),zn(),Kn()}));function Ra(e,t){let n=typeof t==`string`?Xn(t):t,r=Aa(n);if(zt(n)===0&&e.length>0)throw new Jt;if(zt(t)&&zt(t)<32)throw new qt({data:typeof t==`string`?t:Hn(t),params:e,size:zt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let o=e[t];i<n.length&&r.setPosition(i);let[s,c]=za(r,o,{staticPosition:0});i+=c,a.push(s)}return a}function za(e,t,{staticPosition:n}){let r=sa(t.type);if(r){let[i,a]=r;return Va(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Ga(e,t,{staticPosition:n});if(t.type===`address`)return Ba(e);if(t.type===`bool`)return Ha(e);if(t.type.startsWith(`bytes`))return Ua(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Wa(e,t);if(t.type===`string`)return Ka(e,{staticPosition:n});throw new fn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function Ba(e){return[ki(Hn(Wi(e.readBytes(32),-20))),32]}function Va(e,t,{length:n,staticPosition:r}){if(n===null){let n=r+Fa(e.readBytes(Ya)),i=n+Ja;e.setPosition(n);let a=Fa(e.readBytes(Ja)),o=qa(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=za(e,t,{staticPosition:i});s+=a,c.push(r),a===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(r+32),[c,32]}if(qa(t)){let i=r+Fa(e.readBytes(Ya)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=za(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]=za(e,t,{staticPosition:r+i});i+=o,a.push(n),o===0&&(e.assertReadLimit(),e._touch())}return[a,i]}function Ha(e){return[Pa(e.readBytes(32),{size:32}),32]}function Ua(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Fa(e.readBytes(32));e.setPosition(n+t);let r=Fa(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Hn(i),32]}return[Hn(e.readBytes(Number.parseInt(i,10),32)),32]}function Wa(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?Na(i,{signed:n}):Fa(i,{signed:n}),32]}function Ga(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(qa(t)){let o=n+Fa(e.readBytes(Ya));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=za(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]=za(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Ka(e,{staticPosition:t}){let n=t+Fa(e.readBytes(32));e.setPosition(n);let r=Fa(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Ia(e.readBytes(r,32));return e.setPosition(t+32),[i,32]}function qa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(qa);let n=sa(e.type);return!!(n&&qa({...e,type:n[1]}))}var Ja,Ya,Xa=o((()=>{hn(),Mi(),Ma(),Bt(),Ki(),La(),tr(),Kn(),la(),Ja=32,Ya=32}));function Za(e){let{abi:t,data:n,cause:r}=e,i=Vi(n,0,4);if(i===`0x`)throw new Jt({cause:r});let a=[...t||[],Ca,wa].find(e=>e.type===`error`&&i===ua(Pt(e)));if(!a)throw new en(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?Ra(a.inputs,Vi(n,4)):void 0,errorName:a.name}}var Qa=o((()=>{Ta(),hn(),Ki(),da(),Xa(),Lt()})),$a,eo=o((()=>{$a=(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 to({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`?$a(t[n]):t[n]}`).join(`, `)})`}var no=o((()=>{eo()}));function ro(e,t=0){if(!Number.isInteger(t)||t<0)throw new uo({decimals: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}`:``}`}function io(e,t=`wei`){return ro(e,co.ether-co[t])}function ao(e,t=`wei`){return ro(e,co.gwei-co[t])}function oo(e,t=0){if(!Number.isInteger(t)||t<0)throw new uo({decimals:t});if(!/^-?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)$/.test(e))throw new lo({value:e});let[n=``,r=`0`]=e.split(`.`),i=n.startsWith(`-`);if(i&&(n=n.slice(1)),n===``&&(n=`0`),r=r.replace(/(0+)$/,``),t===0)r.length>0&&Number.parseInt(r[0],10)>=5&&(n=`${BigInt(n)+1n}`),r=``;else if(r.length>t){let e=r.slice(0,t);if(Number.parseInt(r.slice(t,t+1),10)>=5){let i=so(e);i.length>t?(r=i.slice(1),n=`${BigInt(n)+1n}`):r=i}else r=e}else r=r.padEnd(t,`0`);return BigInt(`${i?`-`:``}${n}${r}`)}function so(e){let t=e.split(``),n=t.length-1;for(;n>=0;){let e=Number.parseInt(t[n],10)+1;if(e<10)return t[n]=String(e),t.join(``);t[n]=`0`,n--}return`1${t.join(``)}`}var co,lo,uo,fo=o((()=>{co={wei:0,gwei:9,szabo:12,finney:15,ether:18},lo=class extends Error{constructor({value:e}){super(`Value \\`${e}\\` is not a valid decimal number.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Value.InvalidDecimalNumberError`})}},uo=class extends Error{constructor({decimals:e}){super(`\\`decimals\\` must be a non-negative integer. Got \\`${e}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Value.InvalidDecimalsError`})}}}));function po(e,t=`wei`){return io(e,t)}var mo=o((()=>{fo()}));function ho(e,t=`wei`){return ao(e,t)}var go=o((()=>{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((()=>{k(),yo=class extends O{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},bo=class extends O{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,Ao,jo,Mo,No,Po,Fo=o((()=>{mo(),go(),k(),Co=class extends O{constructor({filledNonce:e,requestedNonce:t}){super(`The filled transaction nonce does not match the requested nonce.`,{metaMessages:[`Requested Nonce: ${t}`,`Filled Nonce: ${e}`],name:`FeePayerNonceMismatchError`})}},wo=class extends O{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},To=class extends O{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},Eo=class extends O{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`})}},Do=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}},Oo=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}},ko=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`})}},Ao=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=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}},jo=class extends O{constructor({blockHash:e,blockNumber:t,blockTag:n,hash:r,index:i}){let a=`Transaction`;n&&i!==void 0&&(a=`Transaction at block time \"${n}\" at index \"${i}\"`),e&&i!==void 0&&(a=`Transaction at block hash \"${e}\" at index \"${i}\"`),t&&i!==void 0&&(a=`Transaction at block number \"${t}\" at index \"${i}\"`),r&&(a=`Transaction with hash \"${r}\"`),super(`${a} could not be found.`,{name:`TransactionNotFoundError`})}},Mo=class extends O{constructor({hash:e}){super(`Transaction receipt with hash \"${e}\" could not be found. The Transaction may not be processed on a block yet.`,{name:`TransactionReceiptNotFoundError`})}},No=class extends O{constructor({receipt:e}){super(`Transaction with hash \"${e.transactionHash}\" reverted.`,{metaMessages:[`The receipt marked the transaction as \"reverted\". This could mean that the function on the contract you are trying to call threw an error.`,` `,`You can attempt to extract the revert reason by:`,\"- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract\",\"- using the `call` Action with raw `data`\"],name:`TransactionReceiptRevertedError`}),Object.defineProperty(this,\"receipt\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=e}},Po=class extends O{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}}));function Io(e){if(e?.reason)return e.reason;if(typeof DOMException==`function`)return new DOMException(`This operation was aborted`,`AbortError`);let t=Error(`This operation was aborted`);return t.name=`AbortError`,t}function Lo(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Ro,zo,Bo=o((()=>{Ro=e=>e,zo=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Vo,Ho,Uo,Wo,Go,Ko,qo=o((()=>{ga(),Ta(),Qa(),Lt(),no(),ha(),mo(),go(),hn(),k(),xo(),Fo(),Bo(),Vo=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=So({from:(t?j(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}},Ho=class extends O{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=fa({abi:t,args:n,name:a}),c=s?to({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Pt(s,{includeName:!0}):void 0,u=So({address:r&&Ro(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}},Uo=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=Za({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=Sa[e]}else{let e=n?Pt(n,{includeName:!0}):void 0,t=n&&a?to({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 en&&(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}},Wo=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})}},Go=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`})}},Ko=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}}})),Jo,Yo,Xo,Zo,Qo=o((()=>{eo(),k(),Bo(),Jo=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: ${zo(a)}`,e&&`Request body: ${$a(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}},Yo=class extends O{constructor({maxSize:e,size:t}){super(`HTTP response body exceeded the size limit.`,{metaMessages:[`Max: ${e} bytes`,`Received: ${t} bytes`],name:`ResponseBodyTooLargeError`}),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e,this.size=t}},Xo=class extends O{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${zo(n)}`,`Request body: ${$a(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}},Zo=class extends O{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${zo(t)}`,`Request body: ${$a(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es,Ds,Os,ks=o((()=>{k(),Qo(),$o=-1,es=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 Xo?e.code:t??$o}},ts=class extends es{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},ns=class e extends es{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(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),rs=class e extends es{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),is=class e extends es{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),as=class e extends es{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(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),os=class e extends es{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),ss=class e extends es{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(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),cs=class e extends es{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(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),ls=class e extends es{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),us=class e extends es{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),ds=class e extends es{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),fs=class e extends es{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),ps=class e extends es{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),ms=class e extends ts{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),hs=class e extends ts{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(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),gs=class e extends ts{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),_s=class e extends ts{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),vs=class e extends ts{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),ys=class e extends ts{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),bs=class e extends ts{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(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),xs=class e extends ts{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(xs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),Ss=class e extends ts{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(Ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),Cs=class e extends ts{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(Cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),ws=class e extends ts{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(ws,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Ts=class e extends ts{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(Ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Es=class e extends ts{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(Es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),Ds=class e extends ts{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(Ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),Os=class extends es{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));hn(),k(),qo(),Qo(),ks();function As(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Ko?e:e instanceof O?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s,p=e instanceof Jt?new Wo({functionName:a,cause:e}):[3,os.code].includes(c)&&(l||u||d||f)||c===ss.code&&u===`execution reverted`&&l?new Uo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Xo?u:f??d,cause:e}):e;return new Ho(p,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}Mi(),pi();function js(e){return ki(`0x${fi(`0x${e.substring(4)}`).substring(26)}`)}function Ms(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 Ns(e,t,n){return e&t^~e&n}function Ps(e,t,n){return e&t^e&n^t&n}var Fs,Is,Ls,Rs,zs=o((()=>{Kr(),Fs=class extends Gr{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=Pr(this.buffer)}update(e){Ar(this),e=zr(e),Or(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=Pr(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){Ar(this),jr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Nr(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;Ms(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Pr(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()}},Is=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ls=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Rs=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys,Xs,Zs,Qs,$s=o((()=>{zs(),Cr(),Kr(),Bs=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]),Vs=new Uint32Array(64),Hs=class extends Fs{constructor(e=32){super(64,e,8,!1),this.A=Is[0]|0,this.B=Is[1]|0,this.C=Is[2]|0,this.D=Is[3]|0,this.E=Is[4]|0,this.F=Is[5]|0,this.G=Is[6]|0,this.H=Is[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)Vs[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Vs[e-15],n=Vs[e-2],r=Fr(t,7)^Fr(t,18)^t>>>3,i=Fr(n,17)^Fr(n,19)^n>>>10;Vs[e]=i+Vs[e-7]+r+Vs[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=Fr(o,6)^Fr(o,11)^Fr(o,25),u=l+t+Ns(o,s,c)+Bs[e]+Vs[e]|0,d=(Fr(n,2)^Fr(n,13)^Fr(n,22))+Ps(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(){Nr(Vs)}destroy(){this.set(0,0,0,0,0,0,0,0),Nr(this.buffer)}},Us=rr(`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))),Ws=Us[0],Gs=Us[1],Ks=new Uint32Array(80),qs=new Uint32Array(80),Js=class extends Fs{constructor(e=64){super(128,e,16,!1),this.Ah=Rs[0]|0,this.Al=Rs[1]|0,this.Bh=Rs[2]|0,this.Bl=Rs[3]|0,this.Ch=Rs[4]|0,this.Cl=Rs[5]|0,this.Dh=Rs[6]|0,this.Dl=Rs[7]|0,this.Eh=Rs[8]|0,this.El=Rs[9]|0,this.Fh=Rs[10]|0,this.Fl=Rs[11]|0,this.Gh=Rs[12]|0,this.Gl=Rs[13]|0,this.Hh=Rs[14]|0,this.Hl=Rs[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)Ks[n]=e.getUint32(t),qs[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Ks[e-15]|0,n=qs[e-15]|0,r=lr(t,n,1)^lr(t,n,8)^sr(t,n,7),i=ur(t,n,1)^ur(t,n,8)^cr(t,n,7),a=Ks[e-2]|0,o=qs[e-2]|0,s=lr(a,o,19)^dr(a,o,61)^sr(a,o,6),c=ur(a,o,19)^fr(a,o,61)^cr(a,o,6),l=yr(i,c,qs[e-7],qs[e-16]),u=br(l,r,s,Ks[e-7],Ks[e-16]);Ks[e]=u|0,qs[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=lr(u,d,14)^lr(u,d,18)^dr(u,d,41),v=ur(u,d,14)^ur(u,d,18)^fr(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=xr(_,v,b,Gs[e],qs[e]),S=Sr(x,g,t,y,Ws[e],Ks[e]),C=x|0,w=lr(n,r,28)^dr(n,r,34)^dr(n,r,39),ee=ur(n,r,28)^fr(n,r,34)^fr(n,r,39),T=n&i^n&o^i&o,te=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}=ir(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let ne=_r(C,ee,te);n=vr(ne,S,w,T),r=ne|0}({h:n,l:r}=ir(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=ir(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=ir(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=ir(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=ir(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=ir(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=ir(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=ir(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(){Nr(Ks,qs)}destroy(){Nr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Ys=class extends Js{constructor(){super(48),this.Ah=Ls[0]|0,this.Al=Ls[1]|0,this.Bh=Ls[2]|0,this.Bl=Ls[3]|0,this.Ch=Ls[4]|0,this.Cl=Ls[5]|0,this.Dh=Ls[6]|0,this.Dl=Ls[7]|0,this.Eh=Ls[8]|0,this.El=Ls[9]|0,this.Fh=Ls[10]|0,this.Fl=Ls[11]|0,this.Gh=Ls[12]|0,this.Gl=Ls[13]|0,this.Hh=Ls[14]|0,this.Hl=Ls[15]|0}},Xs=Vr(()=>new Hs),Zs=Vr(()=>new Js),Qs=Vr(()=>new Ys)})),ec,tc,nc=o((()=>{Kr(),ec=class extends Gr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,kr(e);let n=zr(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),Nr(i)}update(e){return Ar(this),this.iHash.update(e),this}digestInto(e){Ar(this),Or(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()}},tc=(e,t,n)=>new ec(e,t).update(n).digest(),tc.create=(e,t)=>new ec(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction rc(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function ic(e){if(!rc(e))throw Error(`Uint8Array expected`)}function ac(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function oc(e){let t=e.toString(16);return t.length&1?`0`+t:t}function sc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?Tc:BigInt(`0x`+e)}function cc(e){if(ic(e),Dc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Oc[e[n]];return t}function lc(e){if(e>=kc._0&&e<=kc._9)return e-kc._0;if(e>=kc.A&&e<=kc.F)return e-(kc.A-10);if(e>=kc.a&&e<=kc.f)return e-(kc.a-10)}function uc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(Dc)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=lc(e.charCodeAt(i)),a=lc(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 dc(e){return sc(cc(e))}function fc(e){return ic(e),sc(cc(Uint8Array.from(e).reverse()))}function pc(e,t){return uc(e.toString(16).padStart(t*2,`0`))}function mc(e,t){return pc(e,t).reverse()}function hc(e,t,n){let r;if(typeof t==`string`)try{r=uc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(rc(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 gc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];ic(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 _c(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 vc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function yc(e,t,n){return Ac(e)&&Ac(t)&&Ac(n)&&t<=e&&e<n}function bc(e,t,n,r){if(!yc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function xc(e){let t;for(t=0;e>Tc;e>>=Ec,t+=1);return t}function Sc(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=Mc(e),i=Mc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Mc(0))=>{i=s(Nc([0]),e),r=s(),e.length!==0&&(i=s(Nc([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 gc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function Cc(e,t,n={}){let r=(t,n,r)=>{let i=Pc[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 wc(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 Tc,Ec,Dc,Oc,kc,Ac,jc,Mc,Nc,Pc,Fc=o((()=>{Tc=BigInt(0),Ec=BigInt(1),Dc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Oc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),kc={_0:48,_9:57,A:65,F:70,a:97,f:102},Ac=e=>typeof e==`bigint`&&Tc<=e,jc=e=>(Ec<<BigInt(e))-Ec,Mc=e=>new Uint8Array(e),Nc=e=>Uint8Array.from(e),Pc={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`||rc(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)}}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Ic(e,t){let n=e%t;return n>=Qc?n:t+n}function Lc(e,t,n){let r=e;for(;t-->Qc;)r*=r,r%=n;return r}function Rc(e,t){if(e===Qc)throw Error(`invert: expected non-zero number`);if(t<=Qc)throw Error(`invert: expected positive modulus, got `+t);let n=Ic(e,t),r=t,i=Qc,a=$c,o=$c,s=Qc;for(;n!==Qc;){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!==$c)throw Error(`invert: does not exist`);return Ic(i,t)}function zc(e,t){let n=(e.ORDER+$c)/nl,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Bc(e,t){let n=(e.ORDER-rl)/il,r=e.mul(t,el),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,el),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 Vc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-$c,n=0;for(;t%el===Qc;)t/=el,n++;let r=el,i=Jc(e);for(;Kc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return zc;let a=i.pow(r,t),o=(t+$c)/el;return function(e,r){if(e.is0(r))return r;if(Kc(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=$c<<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 Hc(e){return e%nl===tl?zc:e%il===rl?Bc:Vc(e)}function Uc(e){return Cc(e,al.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Wc(e,t,n){if(n<Qc)throw Error(`invalid exponent, negatives unsupported`);if(n===Qc)return e.ONE;if(n===$c)return t;let r=e.ONE,i=t;for(;n>Qc;)n&$c&&(r=e.mul(r,i)),i=e.sqr(i),n>>=$c;return r}function Gc(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 Kc(e,t){let n=(e.ORDER-$c)/el,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 qc(e,t){t!==void 0&&Dr(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Jc(e,t,n=!1,r={}){if(e<=Qc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=qc(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:jc(i),ZERO:Qc,ONE:$c,create:t=>Ic(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Qc<=t&&t<e},is0:e=>e===Qc,isOdd:e=>(e&$c)===$c,neg:t=>Ic(-t,e),eql:(e,t)=>e===t,sqr:t=>Ic(t*t,e),add:(t,n)=>Ic(t+n,e),sub:(t,n)=>Ic(t-n,e),mul:(t,n)=>Ic(t*n,e),pow:(e,t)=>Wc(s,e,t),div:(t,n)=>Ic(t*Rc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Rc(t,e),sqrt:r.sqrt||(t=>(o||=Hc(e),o(s,t))),toBytes:e=>n?mc(e,a):pc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?fc(e):dc(e)},invertBatch:e=>Gc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Yc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Xc(e){let t=Yc(e);return t+Math.ceil(t/2)}function Zc(e,t,n=!1){let r=e.length,i=Yc(t),a=Xc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Ic(n?fc(e):dc(e),t-$c)+$c;return n?mc(o,i):pc(o,i)}var Qc,$c,el,tl,nl,rl,il,al,ol=o((()=>{Kr(),Fc(),Qc=BigInt(0),$c=BigInt(1),el=BigInt(2),tl=BigInt(3),nl=BigInt(4),rl=BigInt(5),il=BigInt(8),al=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`]}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction sl(e,t){let n=t.negate();return e?n:t}function cl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function ll(e,t){cl(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:jc(e),maxNumber:i,shiftBy:BigInt(e)}}function ul(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+=vl);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 dl(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 fl(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 pl(e){return bl.get(e)||1}function ml(e,t){return{constTimeNegate:sl,hasPrecomputes(e){return pl(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>_l;)n&vl&&(r=r.add(i)),i=i.double(),n>>=vl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=ll(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=ll(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=ul(i,e,s);i=t,c?o=o.add(sl(u,r[d])):a=a.add(sl(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=ll(n,t);for(let e=0;e<o.windows&&i!==_l;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=ul(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=yl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&yl.set(t,n(r))),r},wNAFCached(e,t,n){let r=pl(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=pl(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){cl(n,t),bl.set(e,n),yl.delete(e)}}}function hl(e,t,n,r){dl(n,e),fl(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=xc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=jc(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 gl(e){return Uc(e.Fp),Cc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...qc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var _l,vl,yl,bl,xl=o((()=>{ol(),Fc(),_l=BigInt(0),vl=BigInt(1),yl=new WeakMap,bl=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Sl(e){e.lowS!==void 0&&ac(`lowS`,e.lowS),e.prehash!==void 0&&ac(`prehash`,e.prehash)}function Cl(e){let t=gl(e);Cc(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 wl(e,t){return cc(pc(e,t))}function Tl(e){let t=Cl(e),{Fp:n}=t,r=Jc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return gc(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,Fl),Il),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 yc(e,Nl,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(rc(e)&&(e=cc(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:dc(hc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Ic(o,a)),bc(`private key`,o,Nl,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=wc((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=wc(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=Gc(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(hc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return hl(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,Fl),{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,Fl),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;bc(`scalar`,e,Ml,i);let a=h.ZERO;if(e===Ml)return a;if(this.is0()||e===Nl)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>Ml||l>Ml;)s&Nl&&(u=u.add(f)),l&Nl&&(d=d.add(f)),f=f.double(),s>>=Nl,l>>=Nl;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;bc(`scalar`,e,Nl,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===Ml||t===Nl||!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===Nl)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===Nl?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return ac(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return ac(`isCompressed`,e),cc(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=ml(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function El(e){let t=gl(e);return Cc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function Dl(e){let t=El(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Ic(e,r)}function l(e){return Rc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=Tl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=gc;return ac(`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=dc(i);if(!yc(e,Nl,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&Nl)===Nl;return(r&1)==1!==o&&(a=n.neg(a)),{x:e,y:a}}if(t===s&&r===4)return{x:n.fromBytes(i.subarray(0,n.BYTES)),y:n.fromBytes(i.subarray(n.BYTES,2*n.BYTES))};{let e=o,n=s;throw Error(`invalid Point, expected length of `+e+`, or uncompressed `+n+`, got `+t)}}});function m(e){return e>r>>Nl}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>dc(e.slice(t,n));class _{constructor(e,t,n){bc(`r`,e,Nl,r),bc(`s`,t,Nl,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=hc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=jl.toSig(hc(`DER`,e));return new _(t,n)}assertValidity(){}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){let{r,s:i,recovery:a}=this,o=C(hc(`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+wl(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 uc(this.toDERHex())}toDERHex(){return jl.hexFromSig(this)}toCompactRawBytes(){return uc(this.toCompactHex())}toCompactHex(){let e=i;return wl(this.r,e)+wl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Xc(t.n);return Zc(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=hc(`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=dc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=jc(a);function ee(e){return bc(`num < 2^`+a,e,Ml,w),pc(e,i)}function T(e,r,i=te){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=hc(`msgHash`,e),Sl(i),f&&(e=hc(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[ee(y),ee(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(hc(`extraEntropy`,e))}let x=gc(...b),w=v;function T(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===Ml)return;let a=c(n*c(w+i*y));if(a===Ml)return;let o=(r.x===i?0:2)|Number(r.y&Nl),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:T}}let te={lowS:t.lowS,prehash:!1},ne={lowS:t.lowS,prehash:!1};function re(e,n,r=te){let{seed:i,k2sig:a}=T(e,n,r),o=t;return Sc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ie(e,n,r,i=ne){let a=e;n=hc(`msgHash`,n),r=hc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(Sl(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`||rc(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 jl.Err))throw e}!m&&d!==`der`&&(m=_.fromCompact(a))}h=u.fromHex(r)}catch{return!1}if(!m||o&&m.hasHighS())return!1;s&&(n=t.hash(n));let{r:g,s:v}=m,y=C(n),b=l(v),x=c(y*b),S=c(g*b),w=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return w?c(w.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:re,verify:ie,ProjectivePoint:u,Signature:_,utils:v}}function Ol(e,t){let n=e.ORDER,r=Ml;for(let e=n-Nl;e%Pl===Ml;e/=Pl)r+=Nl;let i=r,a=Pl<<i-Nl-Nl,o=a*Pl,s=(n-Nl)/o,c=(s-Nl)/Pl,l=o-Nl,u=a,d=e.pow(t,s),f=e.pow(t,(s+Nl)/Pl),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>Nl;t--){let n=t-Pl;n=Pl<<n-Nl;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%Il===Fl){let n=(e.ORDER-Fl)/Il,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 kl(e,t){if(Uc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=Ol(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=Gc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var Al,jl,Ml,Nl,Pl,Fl,Il,Ll=o((()=>{xl(),ol(),Fc(),Al=class extends Error{constructor(e=``){super(e)}},jl={Err:Al,_tlv:{encode:(e,t)=>{let{Err:n}=jl;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=oc(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?oc(i.length/2|128):``;return oc(e)+a+i+t},decode(e,t){let{Err:n}=jl,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}=jl;if(e<Ml)throw new t(`integer: negative integers are not allowed`);let n=oc(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}=jl;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 dc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=jl,i=hc(`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}=jl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},Ml=BigInt(0),Nl=BigInt(1),Pl=BigInt(2),Fl=BigInt(3),Il=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Rl(e){return{hash:e,hmac:(t,...n)=>tc(e,t,Br(...n)),randomBytes:Hr}}function zl(e,t){let n=t=>Dl({...e,...Rl(t)});return{...n(t),create:n}}var Bl=o((()=>{nc(),Kr(),Ll()}));function Vl(e,t){if(Ul(e),Ul(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 Hl(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 Ul(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Wl(e,t,n,r){ic(e),ic(t),Ul(n),t.length>255&&(t=r(gc(vc(`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=gc(t,Vl(t.length,1)),c=Vl(0,a),l=Vl(n,2),u=Array(o),d=r(gc(c,e,l,Vl(0,1),s));u[0]=r(gc(d,Vl(1,1),s));for(let e=1;e<=o;e++){let t=[Hl(d,u[e-1]),Vl(e+1,1),s];u[e]=r(gc(...t))}return gc(...u).slice(0,n)}function Gl(e,t,n,r,i){if(ic(e),ic(t),Ul(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(vc(`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(Vl(n,2)).update(t).update(Vl(t.length,1)).digest()}function Kl(e,t,n){Cc(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;ic(e),Ul(t);let l=typeof c==`string`?vc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Wl(e,l,f,o);else if(s===`xof`)p=Gl(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),o=p.subarray(i,i+d);t[n]=Ic(Yl(o),r)}m[e]=t}return m}function ql(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]=Gc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Jl(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=Kl(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(Kl(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 Yl,Xl=o((()=>{ol(),Fc(),Yl=dc})),Zl=c({encodeToCurve:()=>Du,hashToCurve:()=>Eu,schnorr:()=>Su,secp256k1:()=>pu,secp256k1_hasher:()=>Tu});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Ql(e){let t=ou,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=Lc(Lc(Lc(u,n,t)*u%t,n,t)*u%t,uu,t)*l%t,f=Lc(d,i,t)*d%t,p=Lc(f,a,t)*f%t,m=Lc(p,s,t)*p%t,h=Lc(Lc(Lc(Lc(Lc(Lc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,uu,t);if(!fu.eql(fu.sqr(h),e))throw Error(`Cannot find square root`);return h}function $l(e,...t){let n=mu[e];if(n===void 0){let t=Xs(Uint8Array.from(e,e=>e.charCodeAt(0)));n=gc(t,t),mu[e]=n}return Xs(gc(n,...t))}function eu(e){let t=pu.utils.normPrivateKeyToScalar(e),n=yu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:vu(-t),bytes:hu(n)}}function tu(e){bc(`x`,e,lu,ou);let t=_u(e*e),n=Ql(_u(t*e+BigInt(7)));n%uu!==cu&&(n=_u(-n));let r=new yu(e,n,lu);return r.assertValidity(),r}function nu(...e){return vu(xu($l(`BIP0340/challenge`,...e)))}function ru(e){return eu(e).bytes}function iu(e,t,n=Hr(32)){let r=hc(`message`,e),{bytes:i,scalar:a}=eu(t),o=hc(`auxRand`,n,32),s=$l(`BIP0340/nonce`,gu(a^xu($l(`BIP0340/aux`,o))),i,r),c=vu(xu(s));if(c===cu)throw Error(`sign failed: k is zero`);let{bytes:l,scalar:u}=eu(c),d=nu(l,i,r),f=new Uint8Array(64);if(f.set(l,0),f.set(gu(vu(u+d*a)),32),!au(f,r,i))throw Error(`sign: Invalid signature produced`);return f}function au(e,t,n){let r=hc(`signature`,e,64),i=hc(`message`,t),a=hc(`publicKey`,n,32);try{let e=tu(xu(a)),t=xu(r.subarray(0,32));if(!yc(t,lu,ou))return!1;let n=xu(r.subarray(32,64));if(!yc(n,lu,su))return!1;let o=nu(gu(t),hu(e),i),s=bu(e,n,vu(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch{return!1}}var ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su,Cu,wu,Tu,Eu,Du,Ou=o((()=>{$s(),Kr(),Bl(),Xl(),ol(),Fc(),Ll(),ou=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),su=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),cu=BigInt(0),lu=BigInt(1),uu=BigInt(2),du=(e,t)=>(e+t/uu)/t,fu=Jc(ou,void 0,void 0,{sqrt:Ql}),pu=zl({a:cu,b:BigInt(7),Fp:fu,n:su,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=su,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-lu*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=du(a*e,t),c=du(-r*e,t),l=Ic(e-s*n-c*i,t),u=Ic(-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}}}},Xs),mu={},hu=e=>e.toRawBytes(!0).slice(1),gu=e=>pc(e,32),_u=e=>Ic(e,ou),vu=e=>Ic(e,su),yu=pu.ProjectivePoint,bu=(e,t,n)=>yu.BASE.multiplyAndAddUnsafe(e,t,n),xu=dc,Su={getPublicKey:ru,sign:iu,verify:au,utils:{randomPrivateKey:pu.utils.randomPrivateKey,lift_x:tu,pointToBytes:hu,numberToBytesBE:pc,bytesToNumberBE:dc,taggedHash:$l,mod:Ic}},Cu=ql(fu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),wu=kl(fu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:fu.create(BigInt(`-11`))}),Tu=Jl(pu.ProjectivePoint,e=>{let{x:t,y:n}=wu(fu.create(e[0]));return Cu(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:fu.ORDER,m:1,k:128,expand:`xmd`,hash:Xs}),Eu=Tu.hashToCurve,Du=Tu.encodeToCurve}));Rt(),Bt(),zn(),Kn();async function ku({hash:e,signature:t}){let n=D(e)?e:Bn(e),{secp256k1:r}=await Promise.resolve().then(()=>(Ou(),Zl));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=Au(Number(a??i));return new r.Signature(In(e),In(n)).addRecoveryBit(o)}let e=D(t)?t:Bn(t);if(zt(e)!==65)throw Error(`invalid signature length`);let n=Au(Rn(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Au(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 ju({hash:e,signature:t}){return js(await ku({hash:e,signature:t}))}k(),Ma(),tr(),Kn();function Mu(e,t=`hex`){let n=Nu(e),r=Aa(new Uint8Array(n.length));return n.encode(r),t===`hex`?Hn(r.bytes):r.bytes}function Nu(e){return Array.isArray(e)?Pu(e.map(e=>Nu(e))):Fu(e)}function Pu(e){let t=e.reduce((e,t)=>e+t.length,0),n=Iu(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 Fu(e){let t=typeof e==`string`?Xn(e):e,n=Iu(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 Iu(e){if(e<256)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.`)}Bi(),tr(),Kn(),pi();function Lu(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=fi(zi([`0x05`,Mu([t?A(t):`0x`,i,n?A(n):`0x`])]));return r===`bytes`?Xn(a):a}async function Ru(e){let{authorization:t,signature:n}=e;return ju({hash:Lu(t),signature:n??t})}mo(),go(),k(),Fo();var zu=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=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}},Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu,Xu,Zu,Qu=o((()=>{go(),k(),Bu=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(Bu,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Vu=class extends O{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(Vu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),Hu=class extends O{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(Hu,\"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/}),Uu=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(Uu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Wu=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(Wu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Gu=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(Gu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Ku=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(Ku,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),qu=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(qu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Ju=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(Ju,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Yu=class extends O{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Yu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),Xu=class extends O{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(Xu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Zu=class extends O{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function $u(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof O?e.walk(e=>e?.code===Bu.code):e;return r instanceof O?new Bu({cause:e,message:r.details}):Bu.nodeMessage.test(n)?new Bu({cause:e,message:e.details}):Vu.nodeMessage.test(n)?new Vu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Hu.nodeMessage.test(n)?new Hu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Uu.nodeMessage.test(n)?new Uu({cause:e,nonce:t?.nonce}):Wu.nodeMessage.test(n)?new Wu({cause:e,nonce:t?.nonce}):Gu.nodeMessage.test(n)?new Gu({cause:e,nonce:t?.nonce}):Ku.nodeMessage.test(n)?new Ku({cause:e}):qu.nodeMessage.test(n)?new qu({cause:e,gas:t?.gas}):Ju.nodeMessage.test(n)?new Ju({cause:e,gas:t?.gas}):Yu.nodeMessage.test(n)?new Yu({cause:e}):Xu.nodeMessage.test(n)?new Xu({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Zu({cause:e})}var ed=o((()=>{k(),Qu()}));Qu(),ed();function td(e,{docsPath:t,...n}){return new zu((()=>{let t=$u(e,n);return t instanceof Zu?e:t})(),{docsPath:t,...n})}function nd(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 rd=o((()=>{}));function id(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 ad=o((()=>{}));function od(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=sd(e.authorizationList)),e.accessList!==void 0&&(n.accessList=e.accessList),e.blobVersionedHashes!==void 0&&(n.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(n.blobs=typeof e.blobs[0]==`string`?e.blobs:e.blobs.map(e=>Hn(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=cd[e.type]),e.value!==void 0&&(n.value=A(e.value)),n}function sd(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 cd,ld,ud=o((()=>{Kn(),ad(),cd={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},ld=id(`transactionRequest`,od)}));function dd(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new vn({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new vn({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function fd(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=dd(r)),i!==void 0){if(o.state)throw new bo;o.stateDiff=dd(i)}return o}function pd(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Ni(n,{strict:!1}))throw new Ti({address:n});if(t[n])throw new yo({address:n});t[n]=fd(r)}return t}var md=o((()=>{Ei(),yn(),xo(),Ii(),Kn()})),hd,gd=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)),hd=2n**256n-1n}));function _d(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?j(t):void 0;if(a&&!Ni(a.address))throw new Ti({address:a.address});if(i&&!Ni(i))throw new Ti({address:i});if(n&&n>hd)throw new Vu({maxFeePerGas:n});if(r&&n&&r>n)throw new Xu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var vd=o((()=>{ga(),gd(),Ei(),Qu(),Ii()}));go(),k();var yd=class extends O{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},bd=class extends O{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},xd=class extends O{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${ho(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};k();var Sd=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`})}};zn(),ad();let Cd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function wd(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?Rn(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?Rn(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?Cd[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=Ed(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 Td=id(`transaction`,wd);function Ed(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 Dd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:wd(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}}Kn();async function Od(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 Sd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||Dd)(s,`getBlock`)}async function kd(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}zn();async function Ad(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,Od,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?In(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):E(e,Od,`getBlock`)({}),E(e,kd,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new bd;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function jd(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 yd;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.round(o*s))/BigInt(s),l=n||await E(e,Od,`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 bd;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await Ad(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,kd,`getGasPrice`)({}))}}function Md(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new O(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?A(n):r??`latest`}var Nd=o((()=>{k(),Kn()}));Nd(),zn();async function Pd(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Md({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return Rn(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}tr(),Kn();function Fd(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=>Xn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Hn(e))}tr(),Kn();function Id(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=>Xn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>Xn(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=>Hn(e))}$s();let Ld=Xs;Rt(),tr(),Kn();function Rd(e,t){let n=t||`hex`,r=Ld(D(e,{strict:!1})?qn(e):e);return n===`bytes`?r:Bn(r)}Kn();function zd(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Rd(t,`bytes`);return i.set([n],0),r===`bytes`?i:Hn(i)}function Bd(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(zd({commitment:e,to:r,version:n}));return i}k();var Vd=class extends O{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Hd=class extends O{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Ud=class extends O{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Wd=class extends O{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};Ma(),Bt(),tr(),Kn();function Gd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Xn(e.data):e.data,r=zt(n);if(!r)throw new Hd;if(r>761855)throw new Vd({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Aa(new Uint8Array(131072)),t=0;for(;t<4096;){let r=n.slice(o,o+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),a=!1;break}t++,o+=31}i.push(e)}return t===`bytes`?i.map(e=>e.bytes):i.map(e=>Hn(e.bytes))}function Kd(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Gd({data:t,to:r}),a=e.commitments??Fd({blobs:i,kzg:n,to:r}),o=e.proofs??Id({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}Fo();function qd(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 Eo({transaction:e})}Qu(),Fo(),ed();function Jd(e,{docsPath:t,...n}){let r=(()=>{let t=$u(e,n);return t instanceof Zu?e:t})();return new Ao(r,{docsPath:t,...n})}zn();async function Yd(e){return Rn(await e.request({method:`eth_chainId`},{dedupe:!0}))}ga(),Fo(),rd(),ud(),vd();async function Xd(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:m,nonceManager:h,to:g,type:_,value:v,...y}=t,b=await(async()=>{if(!n||!h||m!==void 0)return m;let t=j(n),r=a?a.id:await E(e,Yd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();_d(t);let x=a?.formatters?.transactionRequest?.format,S=(x||od)({...nd(y,{format:x}),account:n?j(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:b,to:g,type:_,value:v},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[S]}),r=(a?.formatters?.transaction?.format||wd)(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;let i=r.feePayerSignature!==void 0&&r.feePayerSignature!==null;if(i&&b!==void 0&&r.nonce!==b)throw new Co({filledNonce:r.nonce,requestedNonce:b});if(!i){r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let n=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await E(e,Od,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(n<1)throw new yd;let i=10**(n.toString().split(`.`)[1]?.length??0),o=e=>e*BigInt(Math.round(n*i))/BigInt(i);r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=o(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=o(r.gasPrice))}return{raw:n.raw,transaction:{from:S.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw Jd(n,{...t,chain:e.chain})}}ga(),Fo(),Oi(),vd();let Zd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Qd=new Map,$d=new Di(128);async function ef(e,t){let n=t;n.account??=e.account,n.parameters??=Zd;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,Yd,`getChainId`)({}),c):n.chainId)}let u=r&&j(r),d=n.nonce;if(s?.fn&&s.runAt?.includes(`beforeFillTransaction`)){n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce;let t=n.account??n.from;u=t?j(t):void 0}if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}let f=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs)&&(o.length>0&&`feePayer`in n&&n.feePayer&&!(`feePayerSignature`in n&&n.feePayerSignature)||!($d.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,Xd,`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,p=`feeToken`in f?f.feeToken:void 0,m=`feePayerSignature`in f&&f.feePayerSignature!==null&&f.feePayerSignature!==void 0,h=p!=null&&(!(`feeToken`in n)||m);return $d.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...h?{feeToken:p}:{},...t.capabilities?{_capabilities:t.capabilities}:{}}}).catch(t=>{let r=t;if(r.name!==`TransactionExecutionError`)return n;if(r.walk?.(e=>e instanceof Co)||r.walk?.(e=>e.name===`ExecutionRevertedError`))throw t;return r.walk?.(e=>{let t=e;return t.name===`MethodNotFoundRpcError`||t.name===`MethodNotSupportedRpcError`||t.message?.includes(`eth_fillTransaction is not available`)})&&$d.set(e.uid,!1),n}):n;d??=f.nonce,n={...f,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:p,gas:m,kzg:h,type:g}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let _;async function v(){return _||(_=await E(e,Od,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await E(e,Pd,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=Fd({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Bd({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Kd({blobs:p,commitments:e,proofs:Id({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=qd(n)}catch{let t=Qd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Qd.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 jd(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new xd({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new bd;if(n.gasPrice===void 0){let{gasPrice:t}=await jd(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,tf,`estimateGas`)({...n,account:u,prepare:u?.type===`local`?[]:[`blobVersionedHashes`]})),s?.fn&&s.runAt?.includes(`afterFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`afterFillParameters`})),_d(n),delete n.parameters,n}ga(),k(),Kn(),rd(),ud(),md(),vd();async function tf(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?j(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await Ru({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 ef(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?A(u):void 0)||d,C=pd(b);_d(t);let w=e.chain?.formatters?.transactionRequest?.format,ee=(w||od)({...nd(x,{format:w}),account:i,accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,to:n,value:y},`estimateGas`);return BigInt(await e.request({method:`eth_estimateGas`,params:C?[ee,S??e.experimental_blockTag??`latest`,C]:S?[ee,S]:[ee]}))}catch(n){throw td(n,{...t,account:i,chain:e.chain})}}ga(),xa();async function nf(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=ba({abi:n,args:i,functionName:a});try{return await E(e,tf,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw As(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?j(s.account):void 0)?.address})}}function rf(e,t){if(!Ni(e,{strict:!1}))throw new Ti({address:e});if(!Ni(t,{strict:!1}))throw new Ti({address:t});return e.toLowerCase()===t.toLowerCase()}var af=o((()=>{Ei(),Ii()}));function of(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}:{}}}hn(),ka(),Bt(),wi(),Xa(),Lt();let sf=`/docs/contract/decodeEventLog`;function cf(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new tn({docsPath:sf});let c=t.find(e=>e.type===`event`&&o===Ci(Pt(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new nn(o,{docsPath:sf});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 un({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=lf({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=Ra(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 qt||e instanceof Da?new ln({abiItem:c,data:n,params:g,size:zt(n)}):e}else if(a)throw new ln({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function lf({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Ra([e],t)||[])[0]}af(),tr(),pi(),wi();function uf(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:Ci(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?of(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=cf({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=cf({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)||!df({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function df(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`?rf(t,n):e.type===`string`||e.type===`bytes`?fi(qn(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})}function ff(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=fa({abi:t,args:n,name:r});if(!e)throw new rn(r,{docsPath:pf});a=e}if(a.type!==`function`)throw new rn(void 0,{docsPath:pf});if(!a.outputs)throw new an(a.name,{docsPath:pf});let o=Ra(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var pf,mf=o((()=>{hn(),Xa(),ha(),pf=`/docs/contract/decodeFunctionResult`})),hf,gf=o((()=>{hf=`0.1.1`}));function _f(){return hf}var vf=o((()=>{gf()}));function yf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?yf(e.cause,t):t?null:e}var M,bf=o((()=>{vf(),M=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 yf(this,e)}},Object.defineProperty(M,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${_f()}`}}),M.setStaticOptions(M.defaultStaticOptions)}));function xf(e,t){if(Xf(e)>t)throw new lp({givenSize:Xf(e),maxSize:t})}function Sf(e,t){if(typeof t==`number`&&t>0&&t>Xf(e)-1)throw new up({offset:t,position:`start`,size:Xf(e)})}function Cf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Xf(e)!==n-t)throw new up({offset:n,position:`end`,size:Xf(e)})}function wf(e){if(e>=Df.zero&&e<=Df.nine)return e-Df.zero;if(e>=Df.A&&e<=Df.F)return e-(Df.A-10);if(e>=Df.a&&e<=Df.f)return e-(Df.a-10)}function Tf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new dp({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 Ef(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 Df,Of=o((()=>{fp(),Df={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function kf(e,t){if(I(e)>t)throw new Np({givenSize:I(e),maxSize:t})}function Af(e,t){if(typeof t==`number`&&t>0&&t>I(e)-1)throw new Pp({offset:t,position:`start`,size:I(e)})}function jf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&I(e)!==n-t)throw new Pp({offset:n,position:`end`,size:I(e)})}function Mf(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 Fp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function Nf(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 Pf=o((()=>{R()}));function Ff(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=>Ff(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)}:${Ff(r)}`),t},[]).join(`,`)}}`}function If(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Rf)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Lf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Rf:n,n)}var Rf,zf=o((()=>{Rf=`#__bigint`}));function Bf(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 cp(e)}function Vf(...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 Hf(e){return e instanceof Uint8Array?e:typeof e==`string`?Wf(e):Uf(e)}function Uf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Wf(e,t={}){let{size:n}=t,r=e;n&&(kf(e,n),r=bp(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=wf(i.charCodeAt(t++)),r=wf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new M(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function Gf(e,t={}){let{size:n}=t,r=op.encode(e);return typeof n==`number`?(xf(r,n),Jf(r,n)):r}function Kf(e,t){return _c(e,t)}function qf(e,t){return Tf(e,{dir:`left`,size:t})}function Jf(e,t){return Tf(e,{dir:`right`,size:t})}function Yf(e){return crypto.getRandomValues(new Uint8Array(e))}function Xf(e){return e.length}function Zf(e,t,n,r={}){let{strict:i}=r;Sf(e,t);let a=e.slice(t,n);return i&&Cf(a,t,n),a}function Qf(e,t={}){let{size:n}=t;return n!==void 0&&xf(e,n),L(gp(e,t),t)}function $f(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(xf(r,n),r=np(r)),r.length>1||r[0]>1)throw new sp(r);return!!r[0]}function ep(e,t={}){let{size:n}=t;return n!==void 0&&xf(e,n),wp(gp(e,t),t)}function tp(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(xf(r,n),r=rp(r)),ap.decode(r)}function np(e){return Ef(e,{dir:`left`})}function rp(e){return Ef(e,{dir:`right`})}function ip(e){try{return Bf(e),!0}catch{return!1}}var ap,op,sp,cp,lp,up,dp,fp=o((()=>{Fc(),bf(),R(),Of(),Pf(),zf(),ap=new TextDecoder,op=new TextEncoder,sp=class extends M{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`})}},cp=class extends M{constructor(e){super(`Value \\`${typeof e==`object`?Lf(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`})}},lp=class extends M{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`})}},up=class extends M{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`})}},dp=class extends M{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 pp(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new Ap(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new jp(e)}function N(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function mp(e){return e instanceof Uint8Array?gp(e):Array.isArray(e)?gp(new Uint8Array(e)):e}function hp(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(kf(n,t.size),yp(n,t.size)):n}function gp(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Op[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(kf(r,t.size),bp(r,t.size)):r}function P(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 kp({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?yp(s,r):s}function _p(e,t={}){return gp(Dp.encode(e),t)}function vp(e,t){return _c(Wf(e),Wf(t))}function yp(e,t){return Mf(e,{dir:`left`,size:t})}function bp(e,t){return Mf(e,{dir:`right`,size:t})}function xp(e){return gp(Yf(e))}function F(e,t,n,r={}){let{strict:i}=r;Af(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&jf(a,t,n),a}function I(e){return Math.ceil((e.length-2)/2)}function Sp(e){return Nf(e,{dir:`left`})}function L(e,t={}){let{signed:n}=t;t.size&&kf(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 Cp(e,t={}){return Wf(e,t)}function wp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:L(e,t))}function Tp(e,t={}){let{size:n}=t,r=Wf(e);return n&&(xf(r,n),r=rp(r)),new TextDecoder().decode(r)}function Ep(e,t={}){let{strict:n=!1}=t;try{return pp(e,{strict:n}),!0}catch{return!1}}var Dp,Op,kp,Ap,jp,Mp,Np,Pp,Fp,R=o((()=>{Fc(),fp(),bf(),Of(),Pf(),zf(),Dp=new TextEncoder,Op=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),kp=class extends M{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`})}},Ap=class extends M{constructor(e){super(`Value \\`${typeof e==`object`?Lf(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`})}},jp=class extends M{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`})}},Mp=class extends M{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`})}},Np=class extends M{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`})}},Pp=class extends M{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`})}},Fp=class extends M{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 Ip(e){return{address:e.address,amount:P(e.amount),index:P(e.index),validatorIndex:P(e.validatorIndex)}}var Lp=o((()=>{R()}));function Rp(e){return{...typeof e.baseFeePerGas==`bigint`&&{baseFeePerGas:P(e.baseFeePerGas)},...typeof e.blobBaseFee==`bigint`&&{blobBaseFee:P(e.blobBaseFee)},...typeof e.feeRecipient==`string`&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit==`bigint`&&{gasLimit:P(e.gasLimit)},...typeof e.number==`bigint`&&{number:P(e.number)},...typeof e.prevRandao==`bigint`&&{prevRandao:P(e.prevRandao)},...typeof e.time==`bigint`&&{time:P(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Ip)}}}var zp=o((()=>{R(),Lp()})),Bp,Vp,Hp,Up,Wp,Gp,Kp=o((()=>{Bp=[{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`}],Vp=[{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`}]}],Hp=[{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`}],[...Hp],[...Hp],Up=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Wp=[{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`}],Gp=[{type:`event`,name:`Approval`,inputs:[{indexed:!0,name:`owner`,type:`address`},{indexed:!0,name:`spender`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`event`,name:`Transfer`,inputs:[{indexed:!0,name:`from`,type:`address`},{indexed:!0,name:`to`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`function`,name:`allowance`,stateMutability:`view`,inputs:[{name:`owner`,type:`address`},{name:`spender`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`approve`,stateMutability:`nonpayable`,inputs:[{name:`spender`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`decimals`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{type:`function`,name:`name`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`symbol`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`totalSupply`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{type:`function`,name:`transfer`,stateMutability:`nonpayable`,inputs:[{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`transferFrom`,stateMutability:`nonpayable`,inputs:[{name:`sender`,type:`address`},{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]}]})),qp=o((()=>{})),Jp,Yp,Xp,Zp,Qp=o((()=>{Jp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Yp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Xp=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,Zp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),$p,em,tm,nm,rm,im=o((()=>{k(),$p=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`})}},em=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} – ${e.name}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${e.id} – ${e.name}`],name:`ChainMismatchError`})}},tm=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`})}},nm=class extends O{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},rm=class extends O{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function am(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 Gt({docsPath:om});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new Kt({docsPath:om});return zi([r,Xi(i.inputs,n)])}var om,sm=o((()=>{hn(),Bi(),la(),om=`/docs/contract/encodeDeployData`}));function cm({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new $p({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new $p({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var lm=o((()=>{im()}));function um(e,{docsPath:t,...n}){let r=(()=>{let t=$u(e,n);return t instanceof Zu?e:t})();return new Vo(r,{docsPath:t,...n})}var dm=o((()=>{qo(),Qu(),ed()}));function fm(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var pm=o((()=>{}));function mm({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=()=>hm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>hm.get(t)||[],l=e=>hm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=fm();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 hm,gm=o((()=>{pm(),hm=new Map})),_m,vm,ym,bm=o((()=>{eo(),k(),Bo(),_m=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=>` ${zo(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},vm=class extends O{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${zo(t)}`,`Response: ${$a(e)}`],name:`OffchainLookupResponseMalformedError`})}},ym=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 xm(e){let{abi:t,data:n}=e,r=Vi(n,0,4),i=t.find(e=>e.type===`function`&&r===ua(Pt(e)));if(!i)throw new on(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?Ra(i.inputs,Vi(n,4)):void 0}}var Sm=o((()=>{hn(),Ki(),da(),Xa(),Lt()}));function Cm(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=fa({abi:t,args:r,name:n});if(!e)throw new $t(n,{docsPath:wm});i=e}if(i.type!==`error`)throw new $t(void 0,{docsPath:wm});let a=Pt(i),o=ua(a),s=`0x`;if(r&&r.length>0){if(!i.inputs)throw new Qt(i.name,{docsPath:wm});s=Xi(i.inputs,r)}return zi([o,s])}var wm,Tm=o((()=>{hn(),Bi(),da(),la(),Lt(),ha(),wm=`/docs/contract/encodeErrorResult`}));function Em(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=fa({abi:t,name:n});if(!e)throw new rn(n,{docsPath:Dm});i=e}if(i.type!==`function`)throw new rn(void 0,{docsPath:Dm});if(!i.outputs)throw new an(i.name,{docsPath:Dm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new pn(r)})();return Xi(i.outputs,a)}var Dm,Om=o((()=>{hn(),la(),ha(),Dm=`/docs/contract/encodeFunctionResult`}));async function km(e){let{data:t,ccipRequest:n}=e,{args:[r]}=xm({abi:Vp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await km({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=Am(e)}})),Em({abi:Vp,functionName:`query`,result:[i,a]})}function Am(e){return e.name===`HttpRequestError`&&e.status?Cm({abi:Vp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):Cm({abi:[Ca],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var jm=o((()=>{Kp(),Ta(),Sm(),Tm(),Om()})),Mm=c({ccipRequest:()=>Pm,offchainLookup:()=>Nm,offchainLookupAbiItem:()=>Im,offchainLookupSignature:()=>Fm});async function Nm(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=Za({data:r,abi:[Im]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:Pm;try{if(!rf(a,s))throw new ym({sender:s,to:a});let{data:r}=await Rm(e,{blockNumber:t,blockTag:n,data:Li([u,Xi([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await km({data:l,ccipRequest:e=>p({...e,requestOptions:i})}):await p({data:l,requestOptions:i,sender:s,urls:c}),d])]),requestOptions:i,to:a});return r}catch(e){throw i?.signal?.aborted?Io(i.signal):Lo(e)?e:new _m({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function Pm({data:e,requestOptions:t,sender:n,urls:r}){let i=Error(`An unknown error occurred.`);for(let a=0;a<r.length;a++){if(t?.signal?.aborted)throw Io(t.signal);let o=r[a],s=o.includes(`{data}`)?`GET`:`POST`,c=s===`POST`?{data:e,sender:n}:void 0,l=s===`POST`?{\"Content-Type\":`application/json`}:{};try{let r=await fetch(o.replace(`{sender}`,n.toLowerCase()).replace(`{data}`,e),{body:JSON.stringify(c),headers:l,method:s,...t?.signal?{signal:t.signal}:{}}),a;if(a=r.headers.get(`Content-Type`)?.startsWith(`application/json`)?(await r.json()).data:await r.text(),!r.ok){i=new Jo({body:c,details:a?.error?$a(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!D(a)){i=new vm({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw Io(t.signal);if(Lo(e))throw e;i=new Jo({body:c,details:e.message,url:o})}}throw i}var Fm,Im,Lm=o((()=>{Ym(),bm(),Qo(),Bo(),Qa(),la(),af(),Bi(),Rt(),jm(),eo(),Fm=`0x556f1830`,Im={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 Rm(e,t){let{account:n=e.account,authorizationList:r,batch:i=!!e.batch?.multicall,blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,accessList:l,blobs:u,blockOverrides:d,code:f,data:p,factory:m,factoryData:h,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,requestOptions:S,to:C,value:w,stateOverride:ee,...T}=t,te=n?j(n):void 0;if(f&&(m||h))throw new O(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&C)throw new O(\"Cannot provide both `code` & `to` as parameters.\");let ne=f&&p,re=m&&h&&C&&p,ie=ne||re,ae=ne?Wm({code:f,data:p}):re?Gm({data:p,factory:m,factoryData:h,to:C}):p;try{_d(t);let n=Md({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Rp(d):void 0,p=pd(ee),m=e.chain?.formatters?.transactionRequest?.format,h=(m||od)({...nd(T,{format:m}),accessList:l,account:te,authorizationList:r,blobs:u,data:ae,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:ie?void 0:C,value:w},`call`);if(i&&zm({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=Hm(e,{blockNumber:o,deployless:t});if(!n||!Um(p,n))return await Vm(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof nm)&&!(e instanceof $p))throw e}let ne=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),re=await e.request({method:`eth_call`,params:ne},S);return re===`0x`?{data:void 0}:{data:re}}catch(n){if(S?.signal?.aborted)throw Io(S.signal);if(Lo(n))throw n;let r=Km(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Lm(),Mm));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&C)return{data:await i(e,{data:r,requestOptions:S,to:C})};throw ie&&r?.slice(0,10)===`0x101bb98d`?new Go({factory:m}):um(n,{...t,account:te,chain:e.chain})}}function zm({request:e}){let{data:t,to:n,...r}=e;return!(!t||t.startsWith(`0x82ad56cb`)||!n||Object.values(r).filter(e=>e!==void 0).length>0)}function Bm(e){if(!e)return`default`;let t=Jm.get(e);if(t!==void 0)return t;let n=qm++;return Jm.set(e,n),n}async function Vm(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,data:l,multicallAddress:u,requestOptions:d,rpcStateOverride:f,to:p}=t,m=u===void 0?Hm(e,{blockNumber:o,deployless:r}):u,h=Md({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=mm({id:`${e.uid}.${g}.${Bm(d)}${_}`,wait:i,shouldSplitBatch(e){return e.reduce((e,{data:t})=>e+(t.length-2),0)>n*2},fn:async t=>{let n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=ba({abi:Bp,args:[n],functionName:`aggregate3`}),i={...m===null?{data:Wm({code:Zp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return ff({abi:Bp,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Ko({data:y});return y===`0x`?{data:void 0}:{data:y}}function Hm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return cm({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new nm}function Um(e,t){return e?Object.keys(e).some(e=>rf(e,t)):!1}function Wm(e){let{code:t,data:n}=e;return am({abi:jt([`constructor(bytes, bytes)`]),bytecode:Jp,args:[t,n]})}function Gm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return am({abi:jt([`constructor(address, bytes, address, bytes)`]),bytecode:Yp,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 qm,Jm,Ym=o((()=>{Nt(),zp(),ga(),Kp(),qp(),Qp(),k(),im(),qo(),Bo(),mf(),sm(),xa(),af(),Nd(),lm(),dm(),rd(),ud(),gm(),md(),vd(),qm=0,Jm=new WeakMap}));mf(),xa(),Ym();async function Xm(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=ba({abi:n,args:i,functionName:a});try{let{data:t}=await E(e,Rm,`call`)({...o,data:s,to:r});return ff({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw As(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}ga(),mf(),xa(),Ym();async function Zm(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=s.account?j(s.account):e.account,l=ba({abi:n,args:i,functionName:a});try{let{data:u}=await E(e,Rm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:ff({abi:n,args:i,functionName:a,data:u||`0x`}),request:{abi:n.filter(e=>`name`in e&&e.name===t.functionName),address:r,args:i,dataSuffix:o,functionName:a,...s,account:c}}}catch(e){throw As(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}let Qm=new Map,$m=new Map,eh=0;function th(e,t,n){let r=++eh,i=()=>Qm.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Qm.delete(e),$m.delete(e);return}Qm.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=$m.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Qm.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`&&$m.set(e,l),o}Bo();async function nh(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Io(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(Io(t))};t?.addEventListener(`abort`,o,{once:!0})})}function rh(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await nh(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await nh(r),s())};s()})(),a}let ih=new Map,ah=new Map;function oh(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,ih),r=t(e,ah);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function sh(e,{cacheKey:t,cacheTime:n=1/0}){let r=oh(t),i=r.response.get();if(i&&n>0&&Date.now()-i.created.getTime()<n)return i.data;let a=r.promise.get();a||(a=e(),r.promise.set(a));try{let e=await a;return r.response.set({created:new Date,data:e}),e}finally{r.promise.clear()}}let ch=e=>`blockNumber.${e}`;async function lh(e,{cacheTime:t=e.cacheTime}={}){let n=await sh(()=>e.request({method:`eth_blockNumber`}),{cacheKey:ch(e.uid),cacheTime:t});return BigInt(n)}k();var uh=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`})}},dh=class extends O{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};im();function fh({chain:e,currentChainId:t}){if(!e)throw new tm;if(t!==e.id)throw new em({chain:e,currentChainId:t})}async function ph(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ga(),k(),Bi(),rd(),ud(),Oi(),vd();let mh=new Di(128);async function hh(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 uh({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?j(n):null,b;try{_d(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Ru({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,Yd,`getChainId`)({}),r&&fh({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||od)({...nd(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Li([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=mh.get(e.uid),C=S?`wallet_sendTransaction`:`eth_sendTransaction`;try{return await e.request({method:C,params:[x]},{retryCount:0})}catch(t){if(S===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[x]},{retryCount:0}).then(t=>(mh.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(mh.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){let t=(()=>{if(!y.nonceManager||h!==void 0)return y.nonceManager;let e=y.nonceManager;return{consume(t){return b={address:t.address,chainId:t.chainId},e.consume(t)},get(t){return e.get(t)},increment(t){return e.increment(t)},reset(t){return e.reset(t)}}})(),r=await E(e,ef,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Li([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:t,parameters:[...Zd,`sidecars`],type:g,value:_,...v,to:n}),x=i?.serializers?.transaction,S=await y.signTransaction(r,{serializer:x}),C=(i??e.chain)?.serializers?.transactionEnvelope,w=C?await C({serializedTransaction:S,transaction:r}):S;return await E(e,ph,`sendRawTransaction`)({serializedTransaction:w})}throw y?.type===`smart`?new dh({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new dh({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof dh?e:(b&&y?.nonceManager?.reset(b),Jd(e,{...t,account:y,chain:t.chain||void 0}))}}ga(),xa();async function z(e,t){return z.internal(e,hh,`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 uh({docsPath:`/docs/contract/writeContract`});let u=a?j(a):null,d=ba({abi:i,args:s,functionName:c});try{return await E(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw As(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(z||={}),k();var gh=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}};Bo();function _h(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=async({count:c=0}={})=>{if(i?.aborted){o(Io(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await nh(n,{signal:i})}catch(e){o(e);return}return s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(Io(i));return}if(Lo(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s().catch(o)})}zn(),ad();let vh={\"0x0\":`reverted`,\"0x1\":`success`};function yh(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=>of(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Rn(e.transactionIndex):null,status:e.status?vh[e.status]:null,type:e.type?Cd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let bh=id(`transactionReceipt`,yh);ga(),k(),ks(),xa(),Bi(),zn(),Kn();let xh=A(0,{size:32});async function Sh(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?j(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?ba({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Li([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 bs(new O(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new Es(new O(e,{details:e}))}let t=[];for(let n of d){try{let i=await hh(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?In(n.value):void 0});t.push({status:`fulfilled`,value:i})}catch(e){t.push({reason:e,status:`rejected`})}a>0&&await new Promise(e=>setTimeout(e,a))}if(t.every(e=>e.status===`rejected`))throw t[0].reason;return{id:Li([...t.map(e=>e.status===`fulfilled`?e.value:xh),A(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Jd(n,{...t,account:l,chain:t.chain})}}Ki(),Pn(),zn();async function Ch(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Nn(Gi(t,-64,-32)),r=Gi(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>xh.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:Rn(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?Rn(i):void 0,receipts:a?.map(e=>({...e,blockNumber:In(e.blockNumber),gasUsed:In(e.gasUsed),status:vh[e.status]}))??[],statusCode:l,status:c,version:o}}k(),pm(),eo();async function wh(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=$a([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=fm(),p,m=th(l,{resolve:d,reject:f},t=>{let s=rh(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await _h(async()=>{let t=await E(e,Ch,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new gh(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 O{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let Eh=256,Dh;function Oh(e=11){if(!Dh||Eh+e>512){Dh=``,Eh=0;for(let e=0;e<256;e++)Dh+=(256+Math.random()*256|0).toString(16).substring(1)}return Dh.substring(Eh,Eh+++e)}ga();function kh(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,tokens:s,type:c=`base`}=e,l=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),u=n?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),f=e.pollingInterval??d,p=e.cacheTime??f,m=e.account?j(e.account):void 0,{config:h,request:g,value:_}=e.transport({account:m,chain:n,pollingInterval:f}),v={account:m,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:f,request:g,tokens:s,transport:{...h,..._},type:c,uid:Oh(),...l?{experimental_blockTag:l}:{}};function y(e){return t=>{let n=t(e);for(let e in v)delete n[e];let r={...e,...n};for(let t in n){let i=e[t],a=n[t];Ah(i)&&Ah(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:y(r)})}}return Object.assign(v,{extend:y(v)})}function Ah(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function jh(e,t){let n=(n={})=>t(e,n);for(let r of[`call`,`calls`,`callWithPeriod`,`estimateGas`,`prepare`,`prepareRecipient`,`predict`,`simulate`])if(Object.hasOwn(t,r)){let i=t[r];n[r]=(t={})=>i.length===1?i(t):i(e,t)}for(let e of[`extractEvent`,`extractEvents`])Object.hasOwn(t,e)&&(n[e]=t[e]);return n}Nd();async function Mh(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Md({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a}),s=await e.request({method:`eth_getCode`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0});if(s!==`0x`)return s}gd(),Ei(),k(),im(),Qu(),Ii(),Bt(),Ki(),zn();function Nh(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Ni(n))throw new Ti({address:n});if(t<0)throw new rm({chainId:t})}Fh(e)}function Ph(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Hd;for(let e of t){let t=zt(e),n=Rn(Vi(e,0,1));if(t!==32)throw new Ud({hash:e,size:t});if(n!==1)throw new Wd({hash:e,version:n})}}Fh(e)}function Fh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new rm({chainId:t});if(i&&!Ni(i))throw new Ti({address:i});if(r&&r>hd)throw new Vu({maxFeePerGas:r});if(n&&r&&n>r)throw new Xu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function Ih(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new rm({chainId:t});if(a&&!Ni(a))throw new Ti({address:a});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>hd)throw new Vu({maxFeePerGas:r})}function Lh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Ni(a))throw new Ti({address:a});if(t!==void 0&&t<=0)throw new rm({chainId:t});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>hd)throw new Vu({maxFeePerGas:r})}Ei(),Fo(),Ii();function Rh(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 ko({storageKey:i[e]});if(!Ni(r,{strict:!1}))throw new Ti({address:r});t.push([r,i])}return t}Fo(),Bi(),Pn(),Kn();function zh(e,t){let n=qd(e);return n===`eip1559`?Hh(e,t):n===`eip2930`?Uh(e,t):n===`eip4844`?Vh(e,t):n===`eip7702`?Bh(e,t):Wh(e,t)}function Bh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Nh(e);let f=Rh(u),p=Kh(n);return zi([`0x04`,Mu([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,...Gh(e,t)])])}function Vh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Ph(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=>Hn(e)),n=e.kzg,r=Fd({blobs:t,kzg:n});f===void 0&&(f=Bd({commitments:r})),p===void 0&&(p=Kd({blobs:t,commitments:r,proofs:Id({blobs:t,commitments:r,kzg:n})}))}let m=Rh(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??[],...Gh(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 zi([`0x03`,Mu(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;Fh(e);let d=Rh(l);return zi([`0x02`,Mu([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,...Gh(e,t)])])}function Uh(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;Ih(e);let u=Rh(c);return zi([`0x01`,Mu([A(n),a?A(a):`0x`,l?A(l):`0x`,r?A(r):`0x`,o??`0x`,s?A(s):`0x`,i??`0x`,u,...Gh(e,t)])])}function Wh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;Lh(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 wo({v:t.v});return e})(),r=Nn(t.r),i=Nn(t.s);l=[...l,A(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,A(n),`0x`,`0x`]);return Mu(l)}function Gh(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=Nn(n.r),o=Nn(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]}Kn();function Kh(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?Bn(e):`0x`,a,r?Bn(r):`0x`,...Gh({},i)])}return t}Mi(),af();async function qh({address:e,authorization:t,signature:n}){return rf(Ai(e),await Ru({authorization:t,signature:n}))}Oi();let Jh=new Di(8192);function Yh(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Jh.get(n))return Jh.get(n);let r=e().finally(()=>Jh.delete(n));return Jh.set(n,r),r}k(),Qo(),ks(),Bo(),eo();function Xh(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,signal:c,uid:l}={...t,...r},{method:u}=n;if(a?.exclude?.includes(u)||a?.include&&!a.include.includes(u))throw new ds(Error(`method not supported`),{method:u});if(c?.aborted)throw Io(c);return Yh(()=>_h(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Io(c);if(Lo(e))throw e;let t=e;switch(t.code){case ns.code:throw new ns(t);case rs.code:throw new rs(t);case is.code:throw new is(t,{method:n.method});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,{method:n.method});case fs.code:throw new fs(t);case ps.code:throw new ps(t);case ms.code:throw new ms(t);case hs.code:throw new hs(t);case gs.code:throw new gs(t);case _s.code:throw new _s(t);case vs.code:throw new vs(t);case ys.code:throw new ys(t);case bs.code:throw new bs(t);case xs.code:throw new xs(t);case Ss.code:throw new Ss(t);case Cs.code:throw new Cs(t);case ws.code:throw new ws(t);case Ts.code:throw new Ts(t);case Es.code:throw new Es(t);case 5e3:throw new ms(t);case Ds.code:throw new Ds(t);default:throw e instanceof O?e:new Os(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Jo){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>Zh(e)}),{enabled:i,id:i?Qh(`${l}.${$a(n)}`):void 0})}}function Zh(e){return Lo(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===fs.code||e.code===os.code||e.code===429||e.code===-32007:e instanceof Jo&&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 Qh(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function $h(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 eg(){return{}}k(),Mn(),Ma(),tr(),Kn();let tg=1024;function ng(e,t=`hex`){let n=Aa((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Dn(e);return Xn(e)}return e})(),{recursiveReadLimit:1/0}),r=rg(n,t);if(n.position<n.bytes.length)throw new An({count:n.bytes.length-n.position});return r}function rg(e,t=`hex`,n=0){if(n>=tg)throw new On({limit:tg});if(e.bytes.length===0)return t===`hex`?Hn(e.bytes):e.bytes;let r=e.readByte();if(r<128&&e.decrementPosition(1),r<192){let n=ig(e,r,128),i=e.readBytes(n);return t===`hex`?Hn(i):i}return ag(e,ig(e,r,192),t,n+1)}function ig(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 ag(e,t,n,r){let i=e.position,a=[];for(;e.position-i<t;)a.push(rg(e,n,r));if(e.position-i!==t)throw new kn({consumed:e.position-i,declared:t});return a}Rt();function og(e){return D(e)&&e.length===66}Bo();function sg(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o,s=new AbortController;try{n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){if(s?.signal.aborted&&Lo(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function cg(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let lg=cg();Qo(),Bo(),eo();function ug(e,t={}){let{url:n,headers:r}=fg(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,maxResponseBodySize:o=t.maxResponseBodySize??10485760,onRequest:s=t.onRequest,onResponse:c=t.onResponse,timeout:l=t.timeout??1e4}=e,u={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:d,method:f,signal:p}=u;try{let e=await sg(async({signal:e})=>{let t={...u,body:$a(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??lg.take(),...e})):{jsonrpc:`2.0`,id:i.id??lg.take(),...i}),headers:{...r,\"Content-Type\":`application/json`,...d},method:f||`POST`,signal:p||(l>0?e:null)},o=new Request(n,t),c=await s?.(o,t)??{...t,url:n};return await a(c.url??n,c)},{errorInstance:new Zo({body:i,url:n}),timeout:l,signal:!0});c&&await c(e);let t,m=await dg(e,{maxResponseBodySize:o});if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=JSON.parse(m);else{t=m;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 Jo({body:i,details:$a(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?Io(p):Lo(e)||e instanceof Jo||e instanceof Yo||e instanceof Zo?e:new Jo({body:i,cause:e,url:n})}}}}async function dg(e,{maxResponseBodySize:t}){if(t===!1)return e.text();let n=e.headers.get(`Content-Length`);if(n){let e=Number(n);if(e>t)throw new Yo({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new Yo({maxSize:t,size:r});return n}let r=e.body.getReader(),i=new TextDecoder,a=``,o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)throw await r.cancel(),new Yo({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function fg(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}}}Bi(),Bt(),Kn();function pg(e){let t=typeof e==`string`?Un(e):typeof e.raw==`string`?e.raw:Hn(e.raw);return Li([Un(`\u0019Ethereum Signed Message:\n${zt(t)}`),t])}pi();function mg(e,t){return fi(pg(e),t)}eo(),k();var hg=class extends O{constructor({domain:e}){super(`Invalid domain \"${$a(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},gg=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`.\"]})}},_g=class extends O{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}},vg=class extends O{constructor({type:e}){let t=e.replace(/^(u?int)/,`$&256`);super(`Type \"${e}\" is not a valid EIP-712 type.`,{metaMessages:[`Use \"${t}\" instead.`],name:`InvalidTypedDataTypeError`})}};hn(),Ei(),Ii(),Bt(),Kn(),Yi(),eo();function yg(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},o=!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),s=(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})();return $a({domain:o,message:s,primaryType:r,types:i})}function bg(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.replace(/(\\[[0-9]*\\])+$/,``);if(s===`int`||s===`uint`)throw new vg({type:r});let c=r.match(Ji);if(c&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=c;A(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Ni(o))throw new Ti({address:o});let l=r.match(qi);if(l){let[e,t]=l;if(t&&zt(o)!==Number.parseInt(t,10))throw new cn({expectedSize:Number.parseInt(t,10),givenSize:zt(o)})}let u=i[r];u&&(Sg(r),a(u,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new hg({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`){if(i[r])a(i[r],n);else throw new gg({primaryType:r,types:i})}}function xg({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 Sg(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new _g({type:e})}la(),Bi(),Kn(),pi();function Cg(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:xg({domain:t}),...e.types};bg({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(wg({domain:t,types:i})),r!==`EIP712Domain`&&a.push(Tg({data:n,primaryType:r,types:i})),fi(Li(a))}function wg({domain:e,types:t}){return Tg({data:e,primaryType:`EIP712Domain`,types:t})}function Tg({data:e,primaryType:t,types:n}){return fi(Eg({data:e,primaryType:t,types:n}))}function Eg({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[Dg({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Ag({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return Xi(r,i)}function Dg({primaryType:e,types:t}){return fi(Bn(Og({primaryType:e,types:t})))}function Og({primaryType:e,types:t}){let n=``,r=kg({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 kg({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])kg({primaryType:e.type,types:t},n);return n}function Ag({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},fi(Eg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},fi(r)];if(n===`string`)return[{type:`bytes32`},fi(Bn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Ag({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},fi(Xi(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var jg=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.3.0`].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 Mg(e,t){return e.exec(t)?.groups}let Ng=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Pg=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,Fg=/^\\(.+?\\).*?$/,Ig=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function Lg(e){let t=e.type;if(Ig.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+=Lg(i),r<n-1&&(t+=`, `)}let r=Mg(Ig,e.type);return t+=`)${r?.array||``}`,Lg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Rg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Lg(i),r!==n-1&&(t+=`, `)}return t}function zg(e){return e.type===`function`?`function ${e.name}(${Rg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Rg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Rg(e.inputs)})`:e.type===`error`?`error ${e.name}(${Rg(e.inputs)})`:e.type===`constructor`?`constructor(${Rg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Bg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Vg(e){return Bg.test(e)}function Hg(e){return Mg(Bg,e)}let Ug=new Set([`memory`,`indexed`,`storage`,`calldata`]),Wg=new Set([`calldata`,`memory`,`storage`]);var Gg=class extends jg{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`})}},Kg=class extends jg{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`})}},qg=class extends jg{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`})}},Jg=class extends jg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Yg=class extends jg{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`})}},Xg=class extends jg{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`})}},Zg=class extends jg{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`})}},Qg=class extends jg{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`})}},$g=class extends jg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},e_=class extends jg{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`})}},t_=class extends jg{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`})}},n_=class extends jg{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 r_(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 i_=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}]]),a_=/^(?<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$_]*))?$/,o_=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,s_=/^u?int$/;function c_(e,t){let n=r_(e,t?.type,t?.structs);if(i_.has(n))return i_.get(n);let r=Fg.test(e),i=Mg(r?o_:a_,e);if(!i)throw new Jg({param:e});if(i.name&&f_(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=l_(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(c_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(s_.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!u_(c))throw new Kg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Xg({param:e,type:t?.type,modifier:i.modifier});if(Wg.has(i.modifier)&&!p_(c,!!i.array))throw new Zg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return i_.set(n,u),u}function l_(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?l_(o,[...t,n.trim()]):l_(o,t,`${n}${i}`,r);case`(`:return l_(o,t,`${n}${i}`,r+1);case`)`:return l_(o,t,`${n}${i}`,r-1);default:return l_(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new n_({current:n,depth:r});return t.push(n.trim()),t}function u_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||Ng.test(e)||Pg.test(e)}let d_=/^(?: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 f_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||Ng.test(e)||Pg.test(e)||d_.test(e)}function p_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function m_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Vg(n))continue;let i=Hg(n);if(!i)throw new $g({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=c_(t,{type:`struct`});o.push(n)}if(!o.length)throw new e_({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]=g_(a,t)}return r}let h_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function g_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Fg.test(i.type))r.push(i);else{let e=Mg(h_,i.type);if(!e?.type)throw new Qg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new t_({type:o});r.push({...i,type:`tuple${a??``}`,components:g_(t[o],t,new Set([...n,o]))})}else if(u_(o))r.push(i);else throw new Gg({type:o})}}return r}function __(e){let t=[];if(typeof e==`string`){let n=l_(e),r=n.length;for(let e=0;e<r;e++)t.push(c_(n[e],{modifiers:Ug}))}else{let n=m_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Vg(r))continue;let a=l_(r),o=a.length;for(let e=0;e<o;e++)t.push(c_(a[e],{modifiers:Ug,structs:n}))}}if(t.length===0)throw new qg({params:e});return t}let v_={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;nc(),di(),fp(),R();function y_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=ui(Hf(e));return n===`Bytes`?r:gp(r)}function b_(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=tc(Ld,Hf(e),Hf(t));return r===`Bytes`?i:gp(i)}function x_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Ld(Hf(e));return n===`Bytes`?r:gp(r)}function S_(e){return e.length===66&&Ep(e,{strict:!0})}fp(),bf(),R(),zf();function C_(e,t={}){let{compressed:n}=t,{prefix:r,x:i,y:a}=e;if(n===!1||typeof i==`bigint`&&typeof a==`bigint`){if(r!==4)throw new A_({prefix:r,cause:new M_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new A_({prefix:r,cause:new j_});return}throw new k_({publicKey:e})}function w_(e){let t=(()=>{if(Ep(e))return E_(e);if(ip(e))return T_(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 C_(t),t}function T_(e){return E_(gp(e))}function E_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new N_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(F(e,0,32)),y:BigInt(F(e,32,64))}:e.length===132?{prefix:Number(F(e,0,1)),x:BigInt(F(e,1,33)),y:BigInt(F(e,33,65))}:{prefix:Number(F(e,0,1)),x:BigInt(F(e,1,33))}}function D_(e,t={}){return Wf(O_(e,t))}function O_(e,t={}){C_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return N(a?P(n,{size:1}):`0x`,P(r,{size:32}),typeof i==`bigint`?P(i,{size:32}):`0x`)}var k_=class extends M{constructor({publicKey:e}){super(`Value \\`${Lf(e)}\\` is not a valid public key.`,{metaMessages:[`Public key must contain:`,\"- an `x` and `prefix` value (compressed)\",\"- an `x`, `y`, and `prefix` value (uncompressed)\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidError`})}},A_=class extends M{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`})}},j_=class extends M{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`})}},M_=class extends M{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 M{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 ${I(mp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};fp(),bf();let P_=/^0x[a-fA-F0-9]{40}$/;function F_(e,t={}){let{strict:n=!0}=t;if(!P_.test(e))throw new V_({address:e,cause:new H_});if(n){if(e.toLowerCase()===e)return;if(I_(e)!==e)throw new V_({address:e,cause:new U_})}}function I_(e){if(v_.has(e))return v_.get(e);F_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=y_(Gf(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 v_.set(e,i),i}function L_(e,t={}){let{checksum:n=!1}=t;return F_(e),n?I_(e):e}function R_(e,t={}){return L_(`0x${y_(`0x${O_(e).slice(4)}`).substring(26)}`,t)}function z_(e,t){return F_(e,{strict:!1}),F_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function B_(e,t={}){let{strict:n=!0}=t??{};try{return F_(e,{strict:n}),!0}catch{return!1}}var V_=class extends M{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`})}},H_=class extends M{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`})}},U_=class extends M{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let W_=/^(.*)\\[([0-9]*)\\]$/,G_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,K_=/^(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 q_=2n**256n-1n;fp(),bf(),R();function J_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=fv(t.type);if(a){let[n,o]=a;return X_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return ev(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return Y_(e,{checksum:r});if(t.type===`bool`)return Z_(e);if(t.type.startsWith(`bytes`))return Q_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return $_(e,t);if(t.type===`string`)return tv(e,{staticPosition:i});throw new kv(t.type)}function Y_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?I_(e):e)(gp(Zf(e.readBytes(32),-20))),32]}function X_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(i===null){let n=a+ep(e.readBytes(32)),i=n+32;e.setPosition(n);let o=ep(e.readBytes(32)),s=pv(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=J_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a),o===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(a+32),[l,32]}if(pv(t)){let n=a+ep(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=J_(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]=J_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n),i===0&&(e.assertReadLimit(),e._touch())}return[s,o]}function Z_(e){return[$f(e.readBytes(32),{size:32}),32]}function Q_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=ep(e.readBytes(32));e.setPosition(n+t);let r=ep(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[gp(i),32]}return[gp(e.readBytes(Number.parseInt(i,10),32)),32]}function $_(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?Qf(i,{signed:n}):ep(i,{signed:n}),32]}function ev(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(pv(t)){let n=i+ep(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=J_(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]=J_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function tv(e,{staticPosition:t}){let n=t+ep(e.readBytes(32));e.setPosition(n);let r=ep(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=tp(np(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function nv({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(rv({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function rv({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=fv(r.type);if(i){let[t,a]=i;return ov(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return dv(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return av(n,{checksum:e});if(r.type===`bool`)return cv(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=K_.exec(r.type)??[];return lv(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return sv(n,{type:r.type});if(r.type===`string`)return uv(n);throw new kv(r.type)}function iv(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];t+=r?32:I(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(P(t+i,{size:32})),r.push(s),i+=I(s)):n.push(s)}return N(...n,...r)}function av(e,t){let{checksum:n=!1}=t;return F_(e,{strict:n}),{dynamic:!1,encoded:yp(e.toLowerCase())}}function ov(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new Ov(e);if(!a&&e.length!==r)throw new Tv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=e.length===0&&pv(i),s=[];for(let t=0;t<e.length;t++){let r=rv({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=iv(s);if(a){let t=P(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?N(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:N(...s.map(({encoded:e})=>e))}}function sv(e,{type:t}){let[,n]=t.split(`bytes`),r=I(e);if(!n){let t=e;return r%32!=0&&(t=bp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:N(yp(P(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new Ev({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:bp(e)}}function cv(e){if(typeof e!=`boolean`)throw new M(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:yp(hp(e))}}function lv(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 kp({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:P(e,{size:32,signed:t})}}function uv(e){let t=_p(e),n=Math.ceil(I(t)/32),r=[];for(let e=0;e<n;e++)r.push(bp(F(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:N(bp(P(I(t),{size:32})),...r)}}function dv(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=rv({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?iv(a):N(...a.map(({encoded:e})=>e))}}function fv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function pv(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(pv);let n=fv(e.type);return!!(n&&pv({...e,type:n[1]}))}bf();let mv={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 vv({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 gv({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 gv({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 hv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(mv);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var gv=class extends M{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 M{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`})}},vv=class extends M{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`})}};fp(),bf(),R();function yv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Wf(t):t,o=hv(a);if(Xf(a)===0&&e.length>0)throw new wv;if(Xf(a)&&Xf(a)<32)throw new Cv({data:typeof t==`string`?t:gp(t),parameters:e,size:Xf(a)});let s=0,c=r===`Array`?[]:{};for(let t=0;t<e.length;++t){let n=e[t];s<a.length&&o.setPosition(s);let[l,u]=J_(o,n,{checksumAddress:i,staticPosition:0});s+=u,r===`Array`?c.push(l):c[n.name??t]=l}return c}function bv(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new Dv({expectedLength:e.length,givenLength:t.length});let i=iv(nv({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function xv(e,t){if(e.length!==t.length)throw new Dv({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(xv.encode(i,a))}return N(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return F_(e),yp(e.toLowerCase(),r?32:0)}if(e===`string`)return _p(n);if(e===`bytes`)return n;if(e===`bool`)return yp(hp(n),r?32:1);let i=e.match(K_);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return P(n,{size:r?32:o,signed:t===`int`})}let a=e.match(G_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new Ev({expectedSize:Number.parseInt(t,10),value:n});return bp(n,r?32:0)}let o=e.match(W_);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`:N(...i)}throw new kv(e)}e.encode=t})(xv||={});function Sv(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?__(e):e}var Cv=class extends M{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Rg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},wv=class extends M{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},Tv=class extends M{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`})}},Ev=class extends M{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${I(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},Dv=class extends M{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`})}},Ov=class extends M{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},kv=class extends M{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};fp(),bf(),R();function Av(e){return jv(e,`Hex`)}function jv(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return Mv(hv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Mp(e);return Wf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function Mv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?gp(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`?gp(i):i}return Pv(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 M(`Invalid RLP prefix`)}function Pv(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(Mv(e,n));return i}function Fv(e,t){let{as:n}=t,r=Lv(e),i=hv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?gp(i.bytes):i.bytes}function Iv(e,t={}){let{as:n=`Hex`}=t;return Fv(e,{as:n})}function Lv(e){return Array.isArray(e)?Rv(e.map(e=>Lv(e))):zv(e)}function Rv(e){let t=e.reduce((e,t)=>e+t.length,0),n=Bv(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 zv(e){let t=typeof e==`string`?Wf(e):e,n=Bv(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 Bv(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new M(`Length is too large.`)}bf(),R(),zf();function Vv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new ty({signature:e});if(e.r<0n||e.r>q_)throw new ny({value:e.r});if(e.s<0n||e.s>q_)throw new ry({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new iy({value:e.yParity})}function Hv(e){return Uv(gp(e))}function Uv(e){if(e.length!==130&&e.length!==132)throw new ey({signature:e});let t=BigInt(F(e,0,32)),n=BigInt(F(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return Qv(t)}catch{throw new iy({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function Wv(e){if(e.r!==void 0&&e.s!==void 0)return Gv(e)}function Gv(e){let t=typeof e==`string`?Uv(e):e instanceof Uint8Array?Hv(e):typeof e.r==`string`?qv(e):e.v?Kv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Vv(t),t}function Kv(e){return{r:e.r,s:e.s,yParity:Qv(e.v)}}function qv(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=Qv(t)),typeof n!=`number`)throw new iy({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Jv(e){let[t,n,r]=e;return Gv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Yv(e){Vv(e);let t=e.r,n=e.s;return N(P(t,{size:32}),P(n,{size:32}),typeof e.yParity==`number`?P($v(e.yParity),{size:1}):`0x`)}function Xv(e){let{r:t,s:n,yParity:r}=e;return{r:P(t,{size:32}),s:P(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function Zv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:Sp(P(t)),n===0n?`0x`:Sp(P(n))]}function Qv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new ay({value:e})}function $v(e){if(e===0)return 27;if(e===1)return 28;throw new iy({value:e})}var ey=class extends M{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${I(mp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},ty=class extends M{constructor({signature:e}){super(`Signature \\`${Lf(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},ny=class extends M{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`})}},ry=class extends M{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`})}},iy=class extends M{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`})}},ay=class extends M{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 oy(e,t={}){return typeof e.chainId==`string`?sy(e):{...e,...t.signature}}function sy(e){let{address:t,chainId:n,nonce:r}=e,i=Wv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function cy(e){return e.map(sy)}function ly(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:P(n),nonce:P(r),...Xv(i)}}function uy(e){return e.map(ly)}Ou(),fp(),bf(),R();function dy(e){let{privateKey:t}=e;return w_(pu.ProjectivePoint.fromPrivateKey(mp(t).slice(2)))}function fy(e){return R_(py(e))}function py(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return w_(new pu.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(mp(t).substring(2)))}function my(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=pu.sign(Hf(r),Hf(i),{extraEntropy:typeof t==`boolean`?t:mp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function hy(e){let{hash:t,payload:n}=e;return e.address?z_(e.address,fy({payload:n,signature:e.signature})):pu.verify(e.signature,Hf(n),D_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}Gf(`ox.secp256k1.fromSeed.v1`),bf(),R();let gy=Sv(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function _y(e){if(typeof e==`string`){if(F(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new by(e)}else Vv(e.authorization)}function vy(e){_y(e);let t=wp(F(e,-64,-32)),n=F(e,-t-64,-64),r=F(e,0,-t-64),[i,a,o]=yv(gy,n);return{authorization:oy({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 yy(e){try{return _y(e),!0}catch{return!1}}var by=class extends M{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`})}};Fo(),Ki(),zn();function xy(e){let t=Gi(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`&&Rn(t)>=192)return`legacy`;throw new Do({serializedType:t})}Ei(),Fo(),Ii(),Rt(),Cn(),Pn(),zn();function Sy(e){let t=xy(e);return t===`eip1559`?Ty(e):t===`eip2930`?Ey(e):t===`eip4844`?wy(e):t===`eip7702`?Cy(e):Dy(e)}function Cy(e){let t=Oy(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new Oo({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:Rn(n),type:`eip7702`};return D(s)&&s!==`0x`&&(h.to=s),D(o)&&o!==`0x`&&(h.gas=In(o)),D(l)&&l!==`0x`&&(h.data=l),D(r)&&(h.nonce=r===`0x`?0:Rn(r)),D(c)&&c!==`0x`&&(h.value=In(c)),D(a)&&a!==`0x`&&(h.maxFeePerGas=In(a)),D(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=In(i)),u.length!==0&&u!==`0x`&&(h.accessList=ky(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=Ay(d)),Nh(h),{...t.length===13?jy(t):void 0,...h}}function wy(e){let t=Oy(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 Oo({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:Rn(a),to:u,type:`eip4844`};return D(l)&&l!==`0x`&&(S.gas=In(l)),D(f)&&f!==`0x`&&(S.data=f),D(o)&&(S.nonce=o===`0x`?0:Rn(o)),D(d)&&d!==`0x`&&(S.value=In(d)),D(m)&&m!==`0x`&&(S.maxFeePerBlobGas=In(m)),D(c)&&c!==`0x`&&(S.maxFeePerGas=In(c)),D(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=In(s)),p.length!==0&&p!==`0x`&&(S.accessList=ky(p)),y&&b&&x&&(S.sidecars=Kd({blobs:y,commitments:b,proofs:x})),Ph(S),{...r.length===14?jy(r):void 0,...S}}function Ty(e){let t=Oy(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(t.length!==9&&t.length!==12)throw new Oo({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:Rn(n),type:`eip1559`};return D(s)&&s!==`0x`&&(m.to=s),D(o)&&o!==`0x`&&(m.gas=In(o)),D(l)&&l!==`0x`&&(m.data=l),D(r)&&(m.nonce=r===`0x`?0:Rn(r)),D(c)&&c!==`0x`&&(m.value=In(c)),D(a)&&a!==`0x`&&(m.maxFeePerGas=In(a)),D(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=In(i)),u.length!==0&&u!==`0x`&&(m.accessList=ky(u)),Fh(m),{...t.length===12?jy(t):void 0,...m}}function Ey(e){let t=Oy(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(t.length!==8&&t.length!==11)throw new Oo({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:Rn(n),type:`eip2930`};return D(o)&&o!==`0x`&&(p.to=o),D(a)&&a!==`0x`&&(p.gas=In(a)),D(c)&&c!==`0x`&&(p.data=c),D(r)&&(p.nonce=r===`0x`?0:Rn(r)),D(s)&&s!==`0x`&&(p.value=In(s)),D(i)&&i!==`0x`&&(p.gasPrice=In(i)),l.length!==0&&l!==`0x`&&(p.accessList=ky(l)),Ih(p),{...t.length===11?jy(t):void 0,...p}}function Dy(e){let t=ng(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(t.length!==6&&t.length!==9)throw new Oo({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=In(i)),D(s)&&s!==`0x`&&(d.data=s),D(n)&&(d.nonce=n===`0x`?0:Rn(n)),D(o)&&o!==`0x`&&(d.value=In(o)),D(r)&&r!==`0x`&&(d.gasPrice=In(r)),Lh(d),t.length===6)return d;let f=D(c)&&c!==`0x`?In(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 wo({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function Oy(e){return ng(`0x${e.slice(4)}`,`hex`)}function ky(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Ni(r,{strict:!1}))throw new Ti({address:r});t.push({address:r,storageKeys:i.map(e=>og(e)?e:Nn(e))})}return t}function Ay(e){let t=[];for(let n=0;n<e.length;n++){let[r,i,a,o,s,c]=e[n];t.push({address:i,chainId:r===`0x`?0:Rn(r),nonce:a===`0x`?0:Rn(a),...jy([o,s,c])})}return t}function jy(e){let t=e.slice(-3),n=t[0]===`0x`?0n:In(t[0]);if(n!==0n&&n!==1n)throw new To({yParity:n});let r=n===0n?27n:28n;return{r:xn(t[1],{size:32}),s:xn(t[2],{size:32}),v:r,yParity:r===27n?0:1}}fo();function My(e,t){return ro(e,t)}fo();function Ny(e,t){return oo(e,t)}Fo(),Kn();async function Py(e,{blockHash:t,blockNumber:n,blockTag:r,hash:i,index:a,sender:o,nonce:s}){let c=r||`latest`,l=n===void 0?void 0:A(n),u=null;if(i?u=await e.request({method:`eth_getTransactionByHash`,params:[i]},{dedupe:!0}):t?u=await e.request({method:`eth_getTransactionByBlockHashAndIndex`,params:[t,A(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,A(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,A(s)]},{dedupe:!0})),!u)throw new jo({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||wd)(u,`getTransaction`)}Fo();async function Fy(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new Mo({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||yh)(n,`getTransactionReceipt`)}Kp(),Qp(),hn(),k(),qo(),mf(),xa(),lm(),gm(),eo();async function Iy(e,t){let{account:n,authorizationList:r,allowFailure:i=!0,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,requireCanonical:l,stateOverride:u}=t,d=t.contracts,f=typeof e.batch?.multicall==`object`?e.batch.multicall:{},p=t.batchSize??f.batchSize??1024,m=t.deployless??f.deployless??!1,h=(()=>{if(t.multicallAddress)return t.multicallAddress;if(m)return null;if(e.chain)return cm({blockNumber:o,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),g=[[]],_=0,v=0;for(let e=0;e<d.length;e++){let{abi:t,address:r,args:a,functionName:o}=d[e];try{let e=ba({abi:t,args:a,functionName:o});v+=(e.length-2)/2,p>0&&v>p&&g[_].length>0&&(_++,v=(e.length-2)/2,g[_]=[]),g[_]=[...g[_],{allowFailure:!0,callData:e,target:r}]}catch(e){let s=As(e,{abi:t,address:r,args:a,docsPath:`/docs/contract/multicall`,functionName:o,sender:n});if(!i)throw s;g[_]=[...g[_],{allowFailure:!0,callData:`0x`,target:r}]}}let y=!!e.batch?.multicall,b=y?g.flatMap(e=>e.map(e=>[e])):g,x=await Promise.allSettled(b.map(t=>y?Ly(e,{account:n,authorizationList:r,batchSize:p,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,call:t[0],multicallAddress:h,requireCanonical:l,stateOverride:u}).then(e=>[e]):E(e,Xm,`readContract`)({...h===null?{code:Zp}:{address:h},abi:Bp,account:n,args:[t],authorizationList:r,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,functionName:`aggregate3`,requireCanonical:l,stateOverride:u}))),S=[];for(let e=0;e<x.length;e++){let t=x[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<b[e].length;n++)S.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}=b[e][t],{abi:s,address:c,functionName:l,args:u}=d[S.length];try{if(o===`0x`)throw new Jt;if(!a)throw new Ko({data:r});let e=ff({abi:s,args:u,data:r,functionName:l});S.push(i?{result:e,status:`success`}:e)}catch(e){let t=As(e,{abi:s,address:c,args:u,docsPath:`/docs/contract/multicall`,functionName:l});if(!i)throw t;S.push({error:t,result:void 0,status:`failure`})}}}if(S.length!==d.length)throw new O(`multicall results mismatch`);return S}async function Ly(e,t){let{batchSize:n,call:r,multicallAddress:i,...a}=t,{wait:o=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{schedule:s}=mm({id:$a([`multicall`,e.uid,n,i,a]),wait:o,shouldSplitBatch(e){return n!==0&&e.reduce((e,{callData:t})=>e+(t.length-2)/2,0)>n},fn:t=>E(e,Xm,`readContract`)({...i===null?{code:Zp}:{address:i},...a,abi:Bp,args:[t],functionName:`aggregate3`})}),[c]=await s(r);return c}bf();function Ry(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 M(`Unable to normalize signature.`);return i}function zy(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return B_(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)=>zy(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=>zy(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function By(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 By(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`))&&B_(n[r],{strict:!1}))return o}}bf(),R();function Vy(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=Ep(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?Hy(e)===F(t,0,4):e.type===`event`&&Wy(e)===t:`name`in e&&e.name===t);if(o.length===0)throw new Ky({name:t});if(o.length===1)return{...o[0],...i?{hash:Wy(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:Wy(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?zy(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=By(e.inputs,s.inputs,r);if(t)throw new Gy({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 Ky({name:t});return{...c,...i?{hash:Wy(c)}:{}}}function Hy(...e){return F(Wy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return Vy(t,n)}return e[0]})()),0,4)}function Uy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Vy(t,n)}return e[0]})();return Ry(typeof t==`string`?t:zg(t))}function Wy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Vy(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:y_(_p(Uy(t)))}var Gy=class extends M{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Ry(zg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${Ry(zg(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`})}},Ky=class extends M{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 qy(e){return Hy(e)}bf(),R();function Jy(e){if(F(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Zy(e)}function Yy(e){let{data:t,signature:n,to:r}=e;return N(bv(Sv(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function Xy(e){try{return Jy(e),!0}catch{return!1}}var Zy=class extends M{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`})}};Ou(),zn(),tr();function Qy({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 pu.Signature(In(e),In(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Xn(o)}Kp(),Qp(),qo(),sm(),xa(),Mi(),af(),Bi(),Rt(),zn(),Kn(),Ym();async function $y(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?Qy(e):Hn(e)})();try{if(s===`eoa`)try{if(rf(Ai(n),await ju({hash:i,signature:c})))return!0}catch{}return yy(c)?await eb(e,{...t,multicallAddress:o,signature:c}):await tb(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(rf(Ai(n),await ju({hash:i,signature:c})))return!0}catch{}if(e instanceof rb)return!1;throw e}}async function eb(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,multicallAddress:s,requireCanonical:c}=t,{authorization:l,data:u,signature:d,to:f}=vy(t.signature);if(await Mh(e,{address:n,blockHash:r,blockNumber:i,blockTag:a,requireCanonical:c})===zi([`0xef0100`,l.address]))return await nb(e,{...t,signature:d});let p={address:l.address,chainId:Number(l.chainId),nonce:Number(l.nonce),r:A(l.r,{size:32}),s:A(l.s,{size:32}),yParity:l.yParity};if(!await qh({address:n,authorization:p}))throw new rb;let m=await E(e,Xm,`readContract`)({...s?{address:s}:{code:Zp},authorizationList:[p],abi:Bp,blockHash:r,blockNumber:i,blockTag:`pending`,functionName:`aggregate3`,requireCanonical:c,args:[[...u?[{allowFailure:!0,target:f??n,callData:u}]:[],{allowFailure:!0,target:n,callData:ba({abi:Up,functionName:`isValidSignature`,args:[o,d]})}]]});if((m[m.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new rb}async function tb(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||Xy(o)?o:Yy({data:i,signature:o,to:r}))(),u=s?{to:s,data:ba({abi:Wp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:am({abi:Wp,args:[n,a,l],bytecode:Xp}),...c},{data:d}=await E(e,Rm,`call`)(u).catch(e=>{throw e instanceof Vo?new rb:e});if(Ln(d??`0x0`))return!0;throw new rb}async function nb(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,requireCanonical:s,signature:c}=t;if((await E(e,Xm,`readContract`)({address:n,abi:Up,args:[o,c],blockHash:r,blockNumber:i,blockTag:a,functionName:`isValidSignature`,requireCanonical:s}).catch(e=>{throw e instanceof Ho?new rb:e})).startsWith(`0x1626ba7e`))return!0;throw new rb}var rb=class extends Error{};zn(),eo();function ib(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:i,poll:a,pollingInterval:o=e.pollingInterval}){let s=a===void 0?e.transport.type!==`webSocket`&&e.transport.type!==`ipc`&&(e.transport.type!==`fallback`||e.transport.transports[0].config.type!==`webSocket`&&e.transport.transports[0].config.type!==`ipc`):a,c;return s?th($a([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>rh(async()=>{try{let t=await E(e,lh,`getBlockNumber`)({cacheTime:0});if(c!==void 0){if(t===c)return;if(t-c>1&&n)for(let e=c+1n;e<t;e++)r.onBlockNumber(e,c),c=e}(c===void 0||t>c)&&(r.onBlockNumber(t,c),c=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:o})):th($a([`watchBlockNumber`,e.uid,t,n]),{onBlockNumber:r,onError:i},t=>{let n=!0,r=()=>n=!1;return(async()=>{try{let{unsubscribe:i}=await(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})().subscribe({params:[`newHeads`],onData(e){if(!n)return;let r=In(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}Fo(),pm(),eo();async function ab(e,t){let{checkReplacement:n=e.chain?.supportsTransactionReplacementDetection??!0,confirmations:r=1,hash:i,onReplaced:a,retryCount:o=6,retryDelay:s=({count:e})=>~~(1<<e)*200,timeout:c=18e4}=t,l=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,u=$a([`waitForTransactionReceipt`,e.uid,i,{checkReplacement:n,confirmations:r,pollingInterval:l,retryCount:o,timeout:c}]),d,f,p,m=!1,h,g,{promise:_,resolve:v,reject:y}=fm(),b=c?setTimeout(()=>{g?.(),h?.(),y(new Po({hash:i}))},c):void 0;return h=th(u,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await E(e,Fy,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=E(e,ib,`watchBlockNumber`)({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:l,async onBlockNumber(a){let c=e=>{clearTimeout(b),g?.(),e(),h?.()},l=a;if(!m)try{if(p){if(r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p));return}if(n&&!d&&(m=!0,await _h(async()=>{d=await E(e,Py,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await E(e,Fy,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof jo||n instanceof Mo){if(!d){m=!1;return}try{f=d,m=!0;let n=await _h(()=>E(e,Od,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof Sd});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await E(e,Fy,`getTransactionReceipt`)({hash:i.hash}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r)))return;let a=`replaced`;i.to===f.to&&i.value===f.value&&i.input===f.input?a=`repriced`:i.from===i.to&&i.value===0n&&(a=`cancelled`),c(()=>{t.onReplaced?.({reason:a,replacedTransaction:f,transaction:i,transactionReceipt:p}),t.resolve(p)})}catch(e){c(()=>t.reject(e))}}else c(()=>t.reject(n))}}})}),_}let ob=/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})$/;function sb(e){return ob.test(e)?!Number.isNaN(new Date(e).getTime()):!1}function cb(e){return sb(e)?new Date(e):new Date(NaN)}function lb(e){let{scheme:t,statement:n,...r}=e.match(ub)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,resources:l,...u}=e.match(db)?.groups??{},d=l?.split(`\n- `).slice(1);return{...r,...u,...i?{chainId:Number(i)}:{},...a?{expirationTime:cb(a)}:{},...o?{issuedAt:cb(o)}:{},...s?{notBefore:cb(s)}:{},...c?{requestId:c}:{},...d?{resources:d}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}let ub=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+\\-.]*):\\/\\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\\n)(?<address>0x[a-fA-F0-9]{40})\\n\\n(?:(?<statement>.*)\\n\\n)?/,db=/(?:URI: (?<uri>.+))\\n(?:Version: (?<version>.+))\\n(?:Chain ID: (?<chainId>\\d+))\\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\\n(?:Issued At: (?<issuedAt>.+))(?:\\nExpiration Time: (?<expirationTime>.+))?(?:\\nNot Before: (?<notBefore>.+))?(?:\\nRequest ID: (?<requestId>.*))?(?:\\nResources:(?<resources>(?:\\n- .+)*))?/;Ii(),af(),xa();function fb(e,t){return{amount:e,decimals:t,formatted:My(e,t)}}function pb(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return Ny(e.formatted,mb(n))}function mb(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function hb(e,t){return typeof e==`bigint`?t:e.decimals??t}function gb(e,t){let{decimals:n,token:r}=t,i=_b(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(Ni(r,{strict:!1}))return{address:r,decimals:n??bb(e,r)};throw Error(`Token \"${r}\" is not a declared ERC-20 token on the client's \\`tokens\\` array (with an address for the client's chain), and is not a valid address.`)}function _b(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=yb(n,t);if(i)return vb(i,r);if(Ni(t,{strict:!1}))for(let e of n){let n=vb(e,r);if(n&&rf(n.address,t))return n}}function vb(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function yb(e,t){let n=t.toLowerCase();for(let t of e)if(t.symbol?.toLowerCase()===n)return t}function bb(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=vb(e,r);if(n&&rf(n.address,t))return n.decimals}}function xb(e){let{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}=e;return{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}}function Sb(e){return{...e,data:ba(e),to:e.address}}Kp();async function Cb(e,t){return Cb.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return Sb(wb(e,t))}e.call=n;async function r(t,n){return nf(t,{...xb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Zm(t,{...xb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=uf({abi:Gp,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(Cb||={});function wb(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=gb(e,{token:i});return{abi:Gp,address:a,args:[r,pb(n,o)],functionName:`approve`}}Fo();async function Tb(e,{serializedTransaction:t,throwOnReceiptRevert:n,timeout:r}){let i=await e.request({method:`eth_sendRawTransactionSync`,params:r?[t,r]:[t]},{retryCount:0}),a=(e.chain?.formatters?.transactionReceipt?.format||yh)(i);if(a.status===`reverted`&&n)throw new No({receipt:a});return a}ga(),k(),Fo(),Bi(),rd(),ud(),Oi(),vd();let Eb=new Di(128);async function Db(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,pollingInterval:g,throwOnReceiptRevert:_,type:v,value:y,...b}=t,x=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new uh({docsPath:`/docs/actions/wallet/sendTransactionSync`});let S=n?j(n):null,C;try{_d(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Ru({authorization:o[0]}).catch(()=>{throw new O(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(S?.type===`json-rpc`||S===null){let t;i!==null&&(t=await E(e,Yd,`getChainId`)({}),r&&fh({currentChainId:t,chain:i}));let C=e.chain?.formatters?.transactionRequest?.format,w=(C||od)({...nd(b,{format:C}),accessList:a,account:S,authorizationList:o,blobs:s,chainId:t,data:l?Li([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:v,value:y},`sendTransaction`),ee=Eb.get(e.uid),T=ee?`wallet_sendTransaction`:`eth_sendTransaction`,te=await(async()=>{try{return await e.request({method:T,params:[w]},{retryCount:0})}catch(t){if(ee===!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:[w]},{retryCount:0}).then(t=>(Eb.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(Eb.set(e.uid,!1),n):r});throw n}})(),ne=await E(e,ab,`waitForTransactionReceipt`)({checkReplacement:!1,hash:te,pollingInterval:g,timeout:x});if(_&&ne.status===`reverted`)throw new No({receipt:ne});return ne}if(S?.type===`local`){let r=(()=>{if(!S.nonceManager||h!==void 0)return S.nonceManager;let e=S.nonceManager;return{consume(t){return C={address:t.address,chainId:t.chainId},e.consume(t)},get(t){return e.get(t)},increment(t){return e.increment(t)},reset(t){return e.reset(t)}}})(),g=await E(e,ef,`prepareTransactionRequest`)({account:S,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Li([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:r,parameters:[...Zd,`sidecars`],type:v,value:y,...b,to:n}),x=i?.serializers?.transaction,w=await S.signTransaction(g,{serializer:x}),ee=(i??e.chain)?.serializers?.transactionEnvelope,T=ee?await ee({serializedTransaction:w,transaction:g}):w;return await E(e,Tb,`sendRawTransactionSync`)({serializedTransaction:T,throwOnReceiptRevert:_,timeout:t.timeout})}throw S?.type===`smart`?new dh({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new dh({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:S?.type})}catch(e){throw e instanceof dh?e:(C&&!(e instanceof No)&&S?.nonceManager?.reset(C),Jd(e,{...t,account:S,chain:t.chain||void 0}))}}async function Ob(e,t){return z.internal(e,Db,`sendTransactionSync`,t)}async function kb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=gb(e,{token:r}),o=hb(n,a),s=await Cb.inner(Ob,e,{...t,throwOnReceiptRevert:i}),{args:c}=Cb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:My(c.value,o)},receipt:s}}Kp();async function Ab(e,t){return Ab.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return Sb(jb(e,t))}e.call=n;async function r(t,n){return nf(t,{...xb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Zm(t,{...xb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=uf({abi:Gp,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(Ab||={});function jb(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=gb(e,{token:a}),c=pb(n,s);return r?{abi:Gp,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:Gp,address:o,args:[i,c],functionName:`transfer`}}async function Mb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=gb(e,{token:r}),o=hb(n,a),s=await Ab.inner(Ob,e,{...t,throwOnReceiptRevert:i}),{args:c}=Ab.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:My(c.value,o)},receipt:s}}Kn();async function Nb(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:A(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}sm();function Pb(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=am({abi:n,args:r,bytecode:i});return hh(e,{...a,...a.authorizationList?{to:null}:{},data:o})}Mi();async function Fb(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>ki(e))}ga(),Kn();async function Ib(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?j(n):void 0,a=r?[i?.address,[A(r)]]:[i?.address],o=await e.request({method:`wallet_getCapabilities`,params:a}),s={};for(let[e,t]of Object.entries(o)){s[Number(e)]={};for(let[n,r]of Object.entries(t))n===`addSubAccount`&&(n=`unstable_addSubAccount`),s[Number(e)][n]=r}return typeof r==`number`?s[r]:s}async function Lb(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}ga(),af();async function Rb(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new uh({docsPath:`/docs/eip7702/prepareAuthorization`});let a=j(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:j(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await E(e,Yd,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await E(e,Pd,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&rf(o.address,a.address))&&(s.nonce+=1)),s}Mi();async function zb(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>Ai(e))}async function Bb(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}async function Vb(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await E(e,Sh,`sendCalls`)(t);return await E(e,wh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function Hb(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}ga();async function Ub(e,t){let{account:n=e.account}=t;if(!n)throw new uh({docsPath:`/docs/eip7702/signAuthorization`});let r=j(n);if(!r.signAuthorization)throw new dh({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await Rb(e,t);return r.signAuthorization(i)}ga(),Kn();async function Wb(e,{account:t=e.account,message:n}){if(!t)throw new uh({docsPath:`/docs/actions/wallet/signMessage`});let r=j(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Un(n):n.raw instanceof Uint8Array?Bn(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}ga(),Kn(),ud(),vd();async function Gb(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new uh({docsPath:`/docs/actions/wallet/signTransaction`});let a=j(n);_d({account:a,...t});let o=await E(e,Yd,`getChainId`)({});r!==null&&fh({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||od;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:A(o),from:a.address}]},{retryCount:0})}ga();async function Kb(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new uh({docsPath:`/docs/actions/wallet/signTypedData`});let o=j(n),s={EIP712Domain:xg({domain:r}),...t.types};if(bg({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=yg({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}Kn();async function qb(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:A(t)}]},{retryCount:0})}async function Jb(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function Yb(e){return{addChain:t=>Nb(e,t),deployContract:t=>Pb(e,t),fillTransaction:t=>Xd(e,t),getAddresses:()=>Fb(e),getCallsStatus:t=>Ch(e,t),getCapabilities:t=>Ib(e,t),getChainId:()=>Yd(e),getPermissions:()=>Lb(e),prepareAuthorization:t=>Rb(e,t),prepareTransactionRequest:t=>ef(e,t),requestAddresses:()=>zb(e),requestPermissions:t=>Bb(e,t),sendCalls:t=>Sh(e,t),sendCallsSync:t=>Vb(e,t),sendRawTransaction:t=>ph(e,t),sendRawTransactionSync:t=>Tb(e,t),sendTransaction:t=>hh(e,t),sendTransactionSync:t=>Db(e,t),showCallsStatus:t=>Hb(e,t),signAuthorization:t=>Ub(e,t),signMessage:t=>Wb(e,t),signTransaction:t=>Gb(e,t),signTypedData:t=>Kb(e,t),switchChain:t=>qb(e,t),waitForCallsStatus:t=>wh(e,t),watchAsset:t=>Jb(e,t),writeContract:t=>z(e,t),writeContractSync:t=>Ob(e,t),token:{approve:jh(e,Cb),approveSync:jh(e,kb),transfer:jh(e,Ab),transferSync:jh(e,Mb)}}}function Xb(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return kh({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(Yb)}function Zb({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=Oh();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:Xh(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Qb(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Zb({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}k();var $b=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`})}};Qo(),gm();let ex=0,tx=new WeakMap;function nx(e){if(!e)return`default`;let t=tx.get(e);if(t!==void 0)return t;let n=ex++;return tx.set(e,n),n}function rx(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,maxResponseBodySize:o,methods:s,name:c=`HTTP JSON-RPC`,onFetchRequest:l,onFetchResponse:u,retryDelay:d,raw:f}=t;return({chain:p,retryCount:m,timeout:h})=>{let{batchSize:g=1e3,wait:_=0}=typeof n==`object`?n:{},v=t.retryCount??m,y=h??t.timeout??1e4,b=e||p?.rpcUrls.default.http[0];if(!b)throw new $b;let x=ug(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return Zb({key:a,methods:s,name:c,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=mm({id:`${b}.${nx(r?.signal)}`,wait:_,shouldSplitBatch(e){return e.length>g},fn:e=>x.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await x.request({body:e,fetchOptions:a})])(i);if(f)return{error:s,result:c};if(s)throw new Xo({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}bf(),R();function ix(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&F_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>S_(e)?e:Sp(e))})}return t}function ax(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(I(r[e])!==32)throw new ox({storageKey:r[e]});n&&F_(n,{strict:!1}),t.push([n,r])}return t}var ox=class extends M{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${I(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};fp();let sx=new TextEncoder,cx=new TextDecoder,lx=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),ux={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function dx(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]=lx[r>>18],i[t+1]=lx[r>>12&63],i[t+2]=lx[r>>6&63],i[t+3]=lx[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=cx.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function fx(e,t={}){return dx(Wf(e),t)}function px(e,t={}){return dx(Gf(e),t)}function mx(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);sx.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(ux[r[e]]<<18)+(ux[r[e+1]]<<12)+(ux[r[e+2]]<<6)+ux[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 hx(e){return tp(mx(e))}let gx={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},_x={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function vx(e,t={}){if(!e)return null;let n=Wv(e),r={...e,...n};return r.blockNumber=e.blockNumber?BigInt(e.blockNumber):null,`blockTimestamp`in e&&(r.blockTimestamp=e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0),r.data=e.input,r.gas=BigInt(e.gas??0n),r.nonce=BigInt(e.nonce??0n),r.transactionIndex=e.transactionIndex?Number(e.transactionIndex):null,r.value=BigInt(e.value??0n),e.authorizationList&&(r.authorizationList=cy(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=_x[e.type]??e.type),n&&(r.v=$v(n.yParity)),r}fp(),bf(),R();function yx(e,t={}){let{as:n=`Hex`}=t,r=Nx(e),i=hv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?gp(i.bytes):i.bytes}var bx=class extends M{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},xx=class extends M{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},Sx=class extends M{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},Cx=class extends M{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`})}},wx=class extends M{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},Tx=class extends M{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},Ex=class extends M{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},Dx=class extends M{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},Ox=class extends M{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`})}},kx=class extends M{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},Ax=class extends M{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},jx=class extends M{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},Mx=class extends M{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 Nx(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 Nx.number(e);if(typeof e==`bigint`)throw new Ex;if(typeof e==`string`)return Nx.string(e);if(Array.isArray(e))return Nx.array(e);if(e instanceof Uint8Array)return Nx.byteString(e);if(e instanceof ArrayBuffer)return Nx.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return Nx.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return Nx.map(e);if(typeof e==`object`)return Nx.object(e);throw new Dx({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 Ox({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 Ox({number:e.toString(10)})}e.number=t;function n(e){let t=Gf(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 kx({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 Ax({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 Mx({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 jx({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 jx({size:i})}e.map=o})(Nx||={});function Px(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Px.readUnsignedInteger(e,r);case 1:return Px.readNegativeInteger(e,r);case 2:return Px.readByteString(e,r);case 3:return Px.readTextString(e,r);case 4:return Px.readArray(e,r);case 5:return Px.readMap(e,r);case 6:throw new Cx({tag:r});case 7:return Px.readSimpleOrFloat(e,r);default:throw new bx({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 Sx:new xx({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 wx({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 wx({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return tp(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 Tx({value:t});return}throw new xx({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}})(Px||={}),fp(),R();function Fx(e){let t=Wf(L_(e.from)),n=qf(ip(e.salt)?e.salt:Wf(e.salt),32),r=`bytecodeHash`in e?ip(e.bytecodeHash)?e.bytecodeHash:Wf(e.bytecodeHash):y_(e.bytecode,{as:`Bytes`});return L_(F(y_(Vf(Wf(`0xff`),t,n,r),{as:`Hex`}),12))}bf();function Ix(e){let t=D_(e),n=t.slice(1,33),r=t.slice(33,65);return yx(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}$s(),Bl(),ol();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Lx=Jc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),Rx=zl({a:Lx.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:Lx,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Xs),zx=Jc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));zl({a:zx.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:zx,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Qs);let Bx=Jc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));zl({a:Bx.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:Bx,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Zs);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Vx=Rx,Hx=Rx;fp(),bf(),R();function Ux(e){let{privateKey:t}=e;return w_(Hx.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):gp(t).slice(2)))}function Wx(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Hx.sign(r instanceof Uint8Array?r:Wf(r),i instanceof Uint8Array?i:Wf(i),{extraEntropy:typeof t==`boolean`?t:mp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Gx(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Hx.verify(i,n instanceof Uint8Array?n:Wf(n),O_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}Gf(`ox.p256.fromSeed.v1`);var Kx=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 qx(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw Jx(r.error);return r.result}function Jx(e){let t=e;if(t instanceof Error&&!(`code`in t))return new oS({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===oS.code?new oS(t):n===Xx.code?new Xx(t):n===aS.code?new aS(t):n===rS.code?new rS(t):n===tS.code?new tS(t):n===iS.code?new iS(t):n===eS.code?new eS(t):n===sS.code?new sS(t):n===Zx.code?new Zx(t):n===Qx.code?new Qx(t):n===$x.code?new $x(t):n===nS.code?new nS(t):new oS({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Yx=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??``}},Xx=class e extends Yx{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(Xx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Zx=class e extends Yx{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(Zx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Qx=class e extends Yx{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(Qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var $x=class e extends Yx{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($x,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var eS=class e extends Yx{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(eS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var tS=class e extends Yx{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(tS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var nS=class e extends Yx{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(nS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var rS=class e extends Yx{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(rS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var iS=class e extends Yx{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(iS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var aS=class e extends Yx{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(aS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var oS=class e extends Yx{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(oS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var sS=class e extends Yx{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(sS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),bf();var cS=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}},lS=class extends cS{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(lS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var uS=class extends cS{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(uS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var dS=class extends cS{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(dS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var fS=class extends cS{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(fS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var pS=class extends cS{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(pS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var mS=class extends cS{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(mS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var hS=class extends cS{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(hS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var gS=class extends cS{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(gS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var _S=class extends cS{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(_S,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var vS=class extends cS{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(vS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var yS=class extends cS{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(yS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var bS=class extends cS{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(bS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var xS=class extends cS{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(xS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function SS(){let e=new Kx.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 CS(e,t={}){if(!e)throw new TS;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?qx(n):n}catch(e){throw wS(e)}}}}function wS(e){let t=Jx(e);if(t instanceof oS){if(!t.data)return t;let{code:e}=t.data;if(e===fS.code)return new fS(t);if(e===pS.code)return new pS(t);if(e===lS.code)return new lS(t);if(e===uS.code)return new uS(t);if(e===dS.code)return new dS(t);if(e===mS.code)return new mS(t);if(e===bS.code)return new bS(t);if(e===xS.code)return new xS(t);if(e===yS.code)return new yS(t);if(e===vS.code)return new vS(t);if(e===_S.code)return new _S(t);if(e===gS.code)return new gS(t);if(e===hS.code)return new hS(t)}return t}var TS=class extends M{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function ES(e={}){let t=e.id??0;return{prepare(e){return DS({id:t++,...e})},get id(){return t}}}function DS(e){return{...e,jsonrpc:`2.0`}}function OS(){return null}R();function kS(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=uy(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=P(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=P(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=P(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=P(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=P(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=P(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=P(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=P(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=gx[e.type]||e.type),e.value!==void 0&&(t.value=P(e.value)),t}bf();let AS={wei:0,gwei:9,szabo:12,finney:15,ether:18};function jS(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 MS(e,t=`wei`){return jS(e,AS.gwei-AS[t])}bf();var NS=class extends M{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${MS(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`})}},PS=class extends M{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`})}},FS=class extends M{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`})}},IS=class extends M{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${MS(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${MS(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function LS(e){let t=Vx.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}R();function RS(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=N(x_(_p(r)),P(n,{size:1}),P(i,{size:4}));if(!t)return a;let o=gp(new Uint8Array(16)),s=gp(t.id);return N(a,o,P(t.id.length,{size:2}),s,Ix(t.publicKey))}function zS(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:fx(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}fp(),bf(),R();function BS(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:mx(e),type:`public-key`})):[{id:mx(t),type:`public-key`}]}:{},challenge:Wf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function VS(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=RS({flag:i,rpId:o,signCount:s}),u=zS({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=x_(_p(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:N(l,d)}}async function HS(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:BS(n);try{let e=await t(r);if(!e)throw new US;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=LS(o);return{id:s,metadata:{authenticatorData:gp(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new US({cause:e})}}var US=class extends M{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function WS(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Wf(s);if(u.length<37||a!==void 0&&!Kf(u.slice(0,32),x_(_p(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||gp(mx(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Gx({hash:!0,payload:Vf(u,x_(Gf(c),{as:`Bytes`})),publicKey:i,signature:o})}let GS=VS;async function KS(e){return HS(e)}function qS(e){return WS(e)}fp();async function JS(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=w_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function YS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,Hf(t)),i=Uf(new Uint8Array(r)),a=Qf(Zf(i,0,32)),o=Qf(Zf(i,32,64));return o>Vx.CURVE.n/2n&&(o=Vx.CURVE.n-o),{r:a,s:o}}bf(),R();let XS=2n**64n-1n,ZS=`0x${`00`.repeat(32)}`;function QS(e){let{owners:t,salt:n,threshold:r,version:i=0n}=e;if(n!==void 0&&I(n)!==32)throw new aC({reason:`salt must be 32 bytes`});if(oC(i),t.length===0)throw new aC({reason:`owners cannot be empty`});if(t.length>48)throw new aC({reason:`too many owners`});if(!Number.isInteger(Number(r)))throw new aC({reason:`threshold must be an integer`});if(Number(r)<1)throw new aC({reason:`threshold cannot be zero`});if(Number(r)>8)throw new aC({reason:`threshold exceeds max threshold`});let a=0,o=[],s;for(let e of t){if(!B_(e.owner)||L(e.owner)===0n)throw new aC({reason:`owner cannot be zero`});if(!Number.isInteger(Number(e.weight)))throw new aC({reason:`owner weight must be an integer`});if(Number(e.weight)<1)throw new aC({reason:`owner weight cannot be zero`});let t=L(e.owner);if(s!==void 0&&s>=t)throw new aC({reason:`owners must be strictly ascending`});s=t;let n=Number(e.weight);a+=n,o.push(n)}if(a>255)throw new aC({reason:`total owner weight exceeds u8 max`});if(Number(r)>a)throw new aC({reason:`threshold exceeds total owner weight`});let c=o.sort((e,t)=>t-e).slice(0,8).reduce((e,t)=>e+t,0);if(Number(r)>c)throw new aC({reason:`threshold exceeds weight reachable by 8 owner signatures`})}function $S(e){let t=e.version??0n;oC(t);let n={owners:[...e.owners].sort((e,t)=>L(e.owner)<L(t.owner)?-1:1),salt:e.salt?yp(e.salt,32):ZS,threshold:e.threshold,version:BigInt(t)};return QS(n),n}function eC(e){return $S({...e,version:L(e.version)})}function tC(e){let[t,n,r,i]=e;if(e.length!==4||typeof t!=`string`||I(t)!==32||typeof n!=`string`||I(n)>8||n.startsWith(`0x00`)||typeof r!=`string`||I(r)>1||r.startsWith(`0x00`)||!Array.isArray(i)||i.some(e=>!Array.isArray(e)||e.length!==2||typeof e[0]!=`string`||!B_(e[0])||typeof e[1]!=`string`||I(e[1])>1||e[1].startsWith(`0x00`)))throw new aC({reason:`invalid config RLP tuple`});let a={salt:t&&t!==`0x`?yp(t,32):ZS,version:n===`0x`?0n:L(n),threshold:r===`0x`?0:wp(r),owners:i.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:wp(n)}})};return QS(a),a}function nC(e,t){if(F_(t.factory),QS(e),BigInt(e.version??0)!==0n)throw new aC({reason:`account address requires version zero`});let n=y_(N(_p(`tempo:multisig:account`),yp(e.salt??ZS,32),P(e.threshold,{size:1}),P(e.owners.length,{size:1}),...e.owners.flatMap(e=>[e.owner,P(e.weight,{size:1})]))),r=Fx({bytecodeHash:`0x583cc63a2e37f645b43eac911b1a6d6de08b83abdc308c61364edda8cfc3bd37`,from:t.factory,salt:n});if(L(r)===0n)throw new aC({reason:`derived account cannot be zero`});if(e.owners.some(e=>z_(e.owner,r)))throw new aC({reason:`derived account cannot be an owner`});return r}function rC(e){let{account:t,config:n,payload:r}=e;if(oC(n.version),F_(t),I(mp(r))!==32)throw new aC({reason:`payload must be 32 bytes`});return y_(N(_p(`tempo:multisig:signature`),mp(r),t,P(n.version??0n,{size:8})))}function iC(e){QS(e);let t=e.owners.map(e=>[e.owner,P(e.weight)]),n=e.salt?yp(e.salt,32):ZS,r=BigInt(e.version??0);return[n,r===0n?`0x`:P(r),P(e.threshold),t]}var aC=class extends M{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}};function oC(e){if(typeof e!=`bigint`&&typeof e!=`number`||typeof e==`number`&&!Number.isSafeInteger(e)||BigInt(e)<0n||BigInt(e)>XS)throw new aC({reason:`version must be an unsigned 64-bit integer`})}bf(),R(),zf();let sC=`0x01`,cC=`0x02`,lC=`0x03`,uC=`0x04`,dC=`0x05`,fC=`0x7777777777777777777777777777777777777777777777777777777777777777`;function pC(e){let t=SC(e);if(t===`secp256k1`){Vv(e.signature);return}if(t===`p256`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),typeof t.prehash!=`boolean`&&n.push(`prehash`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new OC({envelope:e,missing:n,type:`p256`});return}if(t===`webAuthn`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),t.metadata?(t.metadata.authenticatorData||n.push(`metadata.authenticatorData`),t.metadata.clientDataJSON||n.push(`metadata.clientDataJSON`)):n.push(`metadata`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new OC({envelope:e,missing:n,type:`webAuthn`});return}if(t===`keychain`){let t=e;mC(t),pC(t.inner);return}if(t===`multisig`){hC(e);return}}function mC(e){if(e.version!==`v1`)return;let t=e.inner;for(;SC(t)===`keychain`;)t=t.inner;if(SC(t)===`multisig`)throw new AC({reason:`multisig access keys require keychain V2`})}function hC(e){let t=[];if(e.account||t.push(`account`),e.config||t.push(`config`),Array.isArray(e.signatures)||t.push(`signatures`),t.length>0)throw new OC({envelope:e,missing:t,type:`multisig`});if(!B_(e.account))throw new AC({reason:`multisig account is invalid`});if(L(e.account)===0n)throw new AC({reason:`multisig account cannot be zero`});if(e.signatures.length===0)throw new AC({reason:`multisig signatures cannot be empty`});if(e.signatures.length>8)throw new AC({reason:`multisig signatures exceed 8`});if(QS(e.config),(e.config.version??0n)===0n&&e.config.owners.some(t=>z_(t.owner,e.account)))throw new AC({reason:`initial account cannot be an owner`});for(let t of e.signatures){let e=SC(t);if(e===`keychain`||e===`multisig`)throw new AC({reason:`owner approvals must be primitive signatures`});if(pC(t),I(CC(t))>2049)throw new AC({reason:`multisig owner signature exceeds 2049 bytes`})}}function gC(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:gC({...e,signature:t.inner}):t.type===`multisig`?t.account:R_(_C(e))}function _C(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return py({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return _C({payload:t,signature:n.inner});case`multisig`:throw new DC({envelope:n})}}function vC(e){return yC(e)}function yC(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?F(e,0,-I(fC)):e;if(I(t)===65){let e=Uv(t);return Vv(e),{signature:e,type:`secp256k1`}}let n=F(t,0,1),r=F(t,1),i=I(r);if(n===sC){if(i!==129)throw new kC({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${i} bytes`,serialized:t});return{publicKey:{prefix:4,x:L(F(r,64,96)),y:L(F(r,96,128))},prehash:wp(F(r,128,129))!==0,signature:{r:L(F(r,0,32)),s:L(F(r,32,64))},type:`p256`}}if(n===cC){if(i<128)throw new kC({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${i} bytes`,serialized:t});let e=i-128,n=F(r,0,e),a,o;for(let t=37;t<e;t++){let e=Tp(F(n,t));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),a=F(n,0,t),o=e;break}catch{}}if(!a||!o)throw new kC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{publicKey:{prefix:4,x:L(F(r,e+64,e+96)),y:L(F(r,e+96,e+128))},metadata:{authenticatorData:a,clientDataJSON:o},signature:{r:L(F(r,e,e+32)),s:L(F(r,e+32,e+64))},type:`webAuthn`}}if(n===lC||n===uC){let e={userAddress:F(r,0,20),inner:yC(F(r,20)),type:`keychain`,version:n===uC?`v2`:`v1`};return pC(e),e}if(n===dC){let e=Av(r);if(!Array.isArray(e)||e.length!==3)throw new kC({reason:`invalid multisig wire shape: expected exactly three fields`,serialized:t});let[n,i,a]=e;if(typeof n!=`string`||!B_(n))throw new kC({reason:`invalid multisig account`,serialized:t});if(!Array.isArray(i))throw new kC({reason:`invalid multisig config`,serialized:t});if(!Array.isArray(a)||a.length===0||a.length>8)throw new kC({reason:`invalid multisig signatures list`,serialized:t});let o={type:`multisig`,account:n,config:tC(i),signatures:a.map(e=>{if(!Ep(e)||I(e)>2049)throw new kC({reason:`invalid multisig owner signature`,serialized:t});if(I(e)!==65&&![`0x01`,`0x02`].includes(F(e,0,1)))throw new kC({reason:`owner approvals must be primitive signatures`,serialized:t});return vC(e)})};return hC(o),o}throw new kC({reason:`Unknown signature type identifier: ${n}. Expected ${sC} (P256), ${cC} (WebAuthn), ${lC} (Keychain V1), ${uC} (Keychain V2), or ${dC} (Multisig)`,serialized:t})}function bC(e,t){if(typeof e==`string`)return vC(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=SC(e);if(n===`multisig`){let t=e;return{...t,config:$S(t.config),signatures:t.signatures.map(e=>bC(e)),type:n}}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:R_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:R_(py({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function xC(e){if(typeof e==`string`){let t=vC(N(dC,e));if(t.type!==`multisig`)throw new DC({envelope:e});return t}if(e.type===`secp256k1`)return{signature:qv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:L(e.pubKeyX),y:L(e.pubKeyY)},signature:{r:L(e.r),s:L(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=I(t),r,i;for(let e=37;e<n;e++){let n=Tp(F(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=F(t,0,e),i=n;break}catch{}}if(!r||!i)throw new kC({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:L(e.pubKeyX),y:L(e.pubKeyY)},signature:{r:L(e.r),s:L(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e){let t=e,n={type:`keychain`,userAddress:t.userAddress,inner:xC(t.signature),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}};return pC(n),n}throw new DC({envelope:e})}function SC(e){if(typeof e!=`object`||!e)throw new DC({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`;if(`account`in e&&`config`in e&&`signatures`in e)return`multisig`;throw new DC({envelope:e})}function CC(e,t={}){let n=SC(e);if(n===`secp256k1`)return N(Yv(e.signature),t.magic?fC:`0x`);if(n===`p256`){let n=e;return N(sC,P(n.signature.r,{size:32}),P(n.signature.s,{size:32}),P(n.publicKey.x,{size:32}),P(n.publicKey.y,{size:32}),P(+!!n.prehash,{size:1}),t.magic?fC:`0x`)}if(n===`webAuthn`){let n=e,r=N(n.metadata.authenticatorData,_p(n.metadata.clientDataJSON));return N(cC,r,P(n.signature.r,{size:32}),P(n.signature.s,{size:32}),P(n.publicKey.x,{size:32}),P(n.publicKey.y,{size:32}),t.magic?fC:`0x`)}if(n===`keychain`){let n=e;return pC(n),N(n.version===`v1`?lC:uC,n.userAddress,CC(n.inner),t.magic?fC:`0x`)}if(n===`multisig`){let n=e;return pC(n),N(dC,Iv([n.account,iC(n.config),n.signatures.map(e=>CC(e))]),t.magic?fC:`0x`)}throw new DC({envelope:e})}function wC(e){let{signatures:t}=e,n=rC(e);return t.map(e=>({key:L(gC({payload:n,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function TC(e){let t=SC(e);if(t===`secp256k1`)return{...Xv(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:P(t.publicKey.x,{size:32}),pubKeyY:P(t.publicKey.y,{size:32}),r:P(t.signature.r,{size:32}),s:P(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=N(t.metadata.authenticatorData,_p(t.metadata.clientDataJSON));return{pubKeyX:P(t.publicKey.x,{size:32}),pubKeyY:P(t.publicKey.y,{size:32}),r:P(t.signature.r,{size:32}),s:P(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return mC(t),{type:`keychain`,userAddress:t.userAddress,signature:TC(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(t===`multisig`)return F(CC(e),1);throw new DC({envelope:e})}function EC(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return R_(t.publicKey)})();if(!r)return!1;let i=bC(e);if(i.type===`secp256k1`)return r?hy({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return z_(R_(i.publicKey),r)?Gx({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return z_(R_(i.publicKey),r)?qS({challenge:mp(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new jC(`Unable to verify signature envelope of type \"${i.type}\".`)}var DC=class extends M{constructor({envelope:e}){super(`Unable to coerce value (\\`${Lf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},OC=class extends M{constructor({envelope:e,missing:t,type:n}){super(`Signature envelope of type \"${n}\" is missing required properties: ${t.map(e=>`\\`${e}\\``).join(`, `)}.\\n\\nProvided: ${Lf(e)}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.MissingPropertiesError`})}},kC=class extends M{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`})}},AC=class extends M{constructor({reason:e}){super(`Invalid native multisig owner approval: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidMultisigApprovalError`})}},jC=class extends M{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};bf(),R();function MC(e){return e.startsWith(`tempo`)?NC(e).address:e}function NC(e){if(!e.startsWith(`tempox`))throw new PC({address:e});let t=e.slice(6);return pp(t,{strict:!0}),{address:I_(t)}}var PC=class extends M{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 FC(e,t={}){if(typeof e.chainId==`string`)return IC(e);let n={...e,address:MC(e.address)};return t.signature?{...n,signature:t.signature}:n}function IC(e){let{address:t,chainId:n,nonce:r}=e,i=xC(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function LC(e){return e.map(e=>IC(e))}function RC(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=vC(i)),FC(a)}function zC(e){let t=[];for(let n of e)t.push(RC(n));return t}function BC(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:P(n),nonce:P(r),signature:TC(i)}}function VC(e){return e.map(e=>BC(e))}function HC(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?CC(e.signature):void 0;return[n?P(n):`0x`,t,r?P(r):`0x`,...i?[i]:[]]}function UC(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(HC(n));return t}R();let WC=`0x20c0`;function GC(e){let t=MC(e);if(!t.toLowerCase().startsWith(WC))throw Error(`invalid tip20 address.`);return L(F(t,6))}function KC(e){if(typeof e==`string`){let t=MC(e);return F_(t),t}let t=P(e,{size:18});return N(WC,t)}R();let qC=Sv(`address, address, address, address, bytes32, address, bytes32, address, uint256`),JC=Sv(`bytes32, bytes32, bytes32, uint256, address`),YC=Sv(`bytes32, bytes32, uint96`),XC=y_(_p(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),ZC=y_(_p(`TIP20 Channel Reserve`)),QC=y_(_p(`1`)),$C=`0x0000000000000000000000000000000000000000`,ew=`0x4d50500000000000000000000000000000000000`,tw=y_(_p(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function nw(e){let{authorizedSigner:t=$C,expiringNonceHash:n,operator:r=$C,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:ow(t),expiringNonceHash:n,operator:ow(r),payee:ow(i),payer:ow(a),salt:o,token:typeof s==`string`?ow(s):KC(s)}}function rw(e,t){let n=nw(e);return y_(bv(qC,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,ew,BigInt(t.chainId)]))}function iw(e){return y_(bv(JC,[XC,ZC,QC,BigInt(e.chainId),ew]))}function aw(e){let t=y_(bv(YC,[tw,e.channelId,e.cumulativeAmount]));return y_(N(`0x1901`,iw({chainId:e.chainId}),t))}function ow(e){return L_(e)}R();function sw(e,t={}){if(`keyId`in e)return cw(e);Sw(e.type,e.account);let n=e;n.witness!==void 0&&Cw(n.witness),n.signature&&ww(n.signature);let r={...n,...n.account===void 0?{}:{account:MC(n.account)},address:MC(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:MC(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:MC(e.address),selector:xw(e.selector),...e.recipients?{recipients:e.recipients.map(e=>MC(e))}:{}}))}:{}};if(t.signature){let e=bC(t.signature);return ww(e),{...r,signature:e}}return r}function cw(e){let{allowedCalls:t,chainId:n,keyId:r,expiry:i,limits:a,keyType:o}=e,s=e.witness??void 0,c=e.isAdmin??void 0,l=e.account??void 0;Sw(o,l);let u=xC(e.signature);ww(u),s!==void 0&&Cw(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:bw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0;return{address:r,chainId:n===`0x`?0n:L(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&yw(e.period)>0?{period:yw(e.period)}:{}})),...d?{scopes:d}:{},signature:u,...o===`multisig`?{account:l,type:o}:{type:o},...s===void 0?{}:{witness:s},...l===void 0?{}:{account:l},...c?{isAdmin:!0}:{}}}function lw(e){let[t,n]=e,[r,i,a,...o]=t,s=(()=>{switch(i){case`0x`:case`0x00`:return`secp256k1`;case`0x01`:return`p256`;case`0x02`:return`webAuthn`;case`0x03`:return`multisig`;default:throw Error(`Invalid key type: ${i}`)}})(),[c,l,u,d,f,p]=o,m=Tw(c)?void 0:yw(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:vw(n),...r===void 0?{}:{period:yw(r)}}}):void 0,g=Array.isArray(u)?u.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}:{}}})}):void 0,_=Tw(d)?void 0:d;_!==void 0&&Cw(_);let v=(()=>{if(!Tw(f)){if(f!==`0x01`)throw new Dw(f);return!0}})(),y=Tw(p)?void 0:p;Sw(s,y);let b={address:a,chainId:r===`0x`?0n:L(r),...s===`multisig`?{account:y,type:s}:{type:s},...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...y===void 0?{}:{account:y},...v?{isAdmin:!0}:{}};if(n){let e=vC(n);ww(e),b.signature=e}return sw(b)}function uw(e){return fw(e)}function dw(e){return lw(Av(e))}function fw(e){let[t]=hw(e);return y_(Iv(t))}function pw(e){return Iv(hw(e))}function mw(e){Sw(e.type,e.account);let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;ww(s),c!==void 0&&Cw(c);let d=(()=>{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:xw(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`:P(r),expiry:typeof i==`number`?P(i):null,keyId:MC(t),...o===`multisig`?{account:u,keyType:o}:{keyType:o},limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:P(t),...n?{period:_w(n)}:{}})),signature:TC(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function hw(e){Sw(e.type,e.account);let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&Cw(o);let l=(()=>{if(e.signature)return ww(e.signature),CC(e.signature)})(),u=e.type,d=(()=>{switch(u){case`secp256k1`:return`0x`;case`p256`:return`0x01`;case`webAuthn`:return`0x02`;case`multisig`:return`0x03`;default:throw Error(`Invalid key type: ${u}`)}})(),f=a?.map(e=>{let t=[e.token,gw(e.limit)];return e.period&&e.period>0&&t.push(_w(e.period)),t}),p=(()=>{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([xw(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})(),m=o!==void 0||s||c!==void 0,h=[{value:i!=null&&i!==0?_w(i):void 0,placeholder:`0x`},{value:f,placeholder:m?`0x`:[]},{value:p,placeholder:`0x`},{value:o,placeholder:`0x`},{value:s?`0x01`:void 0,placeholder:`0x`},{value:c,placeholder:`0x`}],g=-1;for(let e=h.length-1;e>=0;e--)if(h[e].value!==void 0){g=e;break}let _=h.slice(0,g+1).map(({value:e,placeholder:t})=>e??t);return[[gw(n),d,t,..._],...l?[l]:[]]}function gw(e){return e===0n?`0x`:P(e)}function _w(e){return e===0?`0x`:P(e)}function vw(e){return e===`0x`?0n:BigInt(e)}function yw(e){return e===`0x`?0:wp(e)}function bw(e){return typeof e==`string`?e:Array.isArray(e)?gp(new Uint8Array(e)):e}function xw(e){if(e)return e.startsWith(`0x`)?e:Hy(e)}function Sw(e,t){if(e===`multisig`&&t==null)throw new kw}function Cw(e){if(I(e)!==32)throw new Ew(e)}function ww(e){if(e.type===`keychain`)throw new Ow(e.type)}function Tw(e){return e===void 0||e===`0x`}var Ew=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${I(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},Dw=class extends Error{constructor(e){super(`Admin marker \\`${e}\\` is invalid; expected \\`0x01\\` (TIP-1049).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidAdminMarkerError`})}},Ow=class extends Error{constructor(e){super(`Signature type \\`${e}\\` is invalid for key authorizations; expected \\`secp256k1\\`, \\`p256\\`, \\`webAuthn\\`, or \\`multisig\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidSignatureTypeError`})}},kw=class extends Error{constructor(){super(`Multisig key grants require a parent account binding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.MissingAccountError`})}};bf(),R();let Aw=`0x78`,jw=`tempo`;function Mw(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new Bw;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new Vw({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&F_(e.to,{strict:!1});if(n<=0)throw new PS({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new NS({feeCap:r});if(i&&r&&i>r)throw new IS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function Nw(e){let t=Av(F(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 FS({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:jw});let y={chainId:Number(n),type:jw};Ep(a)&&a!==`0x`&&(y.gas=BigInt(a)),Ep(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),Ep(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),Ep(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),Ep(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),Ep(u)&&u!==`0x`&&(y.validBefore=Number(u)),Ep(d)&&d!==`0x`&&(y.validAfter=Number(d)),Ep(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=ix(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=zC(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||B_(p)?(y.feePayerSignature=null,B_(p)&&(y.from=p)):y.feePayerSignature=Jv(p)),_&&(y.keyAuthorization=lw(_));let b=v?vC(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=gC({payload:Lw(Pw(y)),signature:b,root:!0})}catch{}return Mw(y),y}function Pw(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?Nw(e):e;return i.from&&=MC(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:MC(e.to)}:{}})),Mw(i),{...i,...r?{signature:bC(r)}:{},...n?{feePayerSignature:Gv(n)}:{},type:`tempo`}}function Fw(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;Mw(e);let h=ax(n),g=t.signature||e.signature,_=UC(r),v=i.map(e=>[e.to?MC(e.to):`0x`,e.value?P(e.value):`0x`,e.data??`0x`]),y=!1,b=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&g){let t=bC(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return R_(t.publicKey);if(t.type===`secp256k1`)return fy({payload:Lw(Pw(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Zv(n):`0x`})(),x=[P(a),f?P(f):`0x`,d?P(d):`0x`,s?P(s):`0x`,v,h,u?P(u):`0x`,l?P(l):`0x`,typeof p==`number`?P(p):`0x`,typeof m==`number`?P(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?KC(o):`0x`,b,_,...c?[hw(c)]:[],...g?[CC(bC(g))]:[]];return N(t.format===`feePayer`?Aw:`0x76`,Iv(x))}function Iw(e){return Fw({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function Lw(e,t={}){let n=Rw(e,{presign:!0});return t.from?y_(N(`0x04`,n,MC(t.from))):n}function Rw(e,t={}){return y_(t.presign?Iw(e):Fw(e))}function zw(e,t){let n=MC(t.sender);return y_(Fw({...e,signature:void 0},{sender:n,format:`feePayer`}))}var Bw=class extends M{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},Vw=class extends M{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`})}};bf(),R();function Hw(e){let{account:t,config:n}=e;return rC({account:t,config:n,payload:e.type===`transaction`?Lw(Nw(e.transaction)):uw(dw(e.keyAuthorization))})}async function Uw(e){let{account:t,approvals:n,hash:r}=e;if(!B_(t)||L(t)===0n)throw new aT({reason:`account is invalid`});if(!S_(r))throw new aT({reason:`hash is invalid`});return qw({account:t,approvals:n,config:$S(e.config),hash:r})}function Ww(e,t){let n=dw(e);if(n.signature)throw new B({reason:`keyAuthorization must not contain a signature`});if(pw(n).toLowerCase()!==e.toLowerCase())throw new B({reason:`keyAuthorization is not canonically serialized`});let r=$S(t.config),i=wC({account:t.account,config:r,payload:uw(n),signatures:t.approvals.map(e=>$w(t.account,e,r))});return pw(sw(n,{signature:bC({account:t.account,config:r,signatures:i})}))}function Gw(e){try{let t=$S(e.config);if(typeof t.threshold!=`number`||t.owners.some(e=>typeof e.weight!=`number`))throw new B({reason:`config threshold and owner weights must be numbers`});let n={...e,config:t};if(Xw(n,t),n.type===`transaction`)Zw(n);else if(n.type===`keyAuthorization`)Qw(n,t);else throw new B({reason:`unknown operation type`});return n}catch(e){throw e instanceof B?e:new B({cause:e})}}function Kw(e){try{let t=e.config?.version;if(typeof t!=`string`||!Ep(t))throw new B({reason:`config.version must be a hexadecimal quantity`});if(P(L(t))!==t)throw new B({reason:`config.version must use canonical quantity encoding`});return Gw({...e,config:eC(e.config)})}catch(e){throw e instanceof B?e:new B({cause:e})}}async function qw(e){let t=new Map(e.config.owners.map(e=>[e.owner.toLowerCase(),{address:e.owner,weight:Number(e.weight)}])),n=new Map;for(let r of e.approvals){let i=bC(r);if(i.type===`keychain`||i.type===`multisig`)throw new aT({reason:`only primitive signatures can approve a multisig operation`});let a=gC({payload:e.hash,signature:i}),o=t.get(a.toLowerCase());if(!o)throw new aT({reason:`signature is from non-owner ${a}`});let s=a.toLowerCase(),c=n.get(s);c?c.signatures.push(i):n.set(s,{address:o.address,signatures:[i],weight:o.weight})}let r=[],i=[];for(let t of n.values()){let n=t.signatures.map(n=>{if(!EC(n,{address:t.address,payload:e.hash}))throw new aT({reason:`signature from owner ${t.address} is invalid`});return CC(n)}).sort(Yw)[0];r.push({address:t.address,signature:n,weight:t.weight}),i.push({address:t.address,signature:n})}let a=r.sort((e,t)=>t.weight-e.weight||Jw(e,t)),o=[],s=0;for(let t of a.slice(0,8)){if(s>=Number(e.config.threshold))break;o.push(t),s+=t.weight}return o.sort(Jw),{approvals:i.sort(Jw).map(e=>e.signature),selectedApprovals:o.map(e=>e.signature),signatureCount:o.length,threshold:Number(e.config.threshold),weight:s}}function Jw(e,t){let n=L(e.address),r=L(t.address);return n<r?-1:+(n>r)}function Yw(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n<r?-1:+(n>r)}function Xw(e,t){if(!B_(e.account))throw new B({reason:`account is invalid`});if(L(e.account)===0n)throw new B({reason:`account cannot be zero`});if(!S_(e.hash))throw new B({reason:`hash is invalid`});if(rT(e.createdAt,`createdAt`),rT(e.updatedAt,`updatedAt`),e.updatedAt<e.createdAt)throw new B({reason:`updatedAt cannot precede createdAt`});if(rT(e.signatureCount,`signatureCount`),rT(e.threshold,`threshold`),rT(e.weight,`weight`),e.threshold!==Number(t.threshold))throw new B({reason:`threshold must equal config.threshold`});if(e.weight>255)throw new B({reason:`weight exceeds u8 max`});if(e.signatureCount>8)throw new B({reason:`too many selected signatures`});if(!Array.isArray(e.approvals))throw new B({reason:`approvals must be an array`});if(e.approvals.length>t.owners.length)throw new B({reason:`too many retained approvals`});if(e.signatureCount>e.approvals.length)throw new B({reason:`signatureCount exceeds retained approvals`});if(e.signatureCount===0!=(e.weight===0))throw new B({reason:`signatureCount and weight must both be zero or nonzero`});let n=new Map(t.owners.map(e=>[e.owner.toLowerCase(),Number(e.weight)])),r=[],i=new Set;for(let a of e.approvals){if(typeof a!=`string`||!Ep(a,{strict:!0}))throw new B({reason:`approval is invalid`});let o=$w(e.account,a,t),s=gC({payload:e.hash,signature:o}).toLowerCase(),c=n.get(s);if(c===void 0)throw new B({reason:`approval is from a non-owner`});if(i.has(s))throw new B({reason:e.type===`keyAuthorization`?`key authorization contains duplicate owner approvals`:`duplicate owner approval`});i.add(s),r.push(c)}if(!tT(r,e.signatureCount,e.weight))throw new B({reason:`weight is not reachable by signatureCount retained owner approvals`})}function Zw(e){if(`keyAuthorization`in e&&e.keyAuthorization!==void 0)throw new B({reason:`transaction operations cannot contain keyAuthorization`});let t=e.expiresAt,n=e.submissionId,r=e.transactionHash;if(e.status===`pending`){if(t!==void 0||n!==void 0||r!==void 0)throw new B({reason:`pending transactions cannot contain submission fields`})}else if(e.status===`submitting`){if(rT(t,`expiresAt`),!S_(n??``))throw new B({reason:`submissionId is invalid`});if(n.toLowerCase()===e.hash.toLowerCase())throw new B({reason:`submissionId must differ from the operation hash`});if(r!==void 0)throw new B({reason:`submitting transactions cannot contain transactionHash`})}else if(e.status===`success`){if(!S_(r??``))throw new B({reason:`transactionHash is invalid`});if(t!==void 0||n!==void 0)throw new B({reason:`successful transactions cannot contain submission fields`})}else throw new B({reason:`invalid transaction status`});if(e.status!==`pending`&&(e.weight<e.threshold||e.signatureCount===0))throw new B({reason:`submitted transactions must have quorum`});if(typeof e.transaction!=`string`)throw new B({reason:`transaction is invalid`});let i=Nw(e.transaction);if(i.signature)throw new B({reason:`transaction must not contain an outer sender signature`});if(i.from&&i.from.toLowerCase()!==e.account.toLowerCase())throw new B({reason:`transaction sender does not match the operation account`});if(nT(e,Lw(i)),Fw(i,e.transaction.startsWith(Aw)?i.from?{format:`feePayer`,sender:i.from}:{format:`feePayer`}:{}).toLowerCase()!==e.transaction.toLowerCase())throw new B({reason:`transaction is not canonically serialized`})}function Qw(e,t){let n=e;if(n.expiresAt!==void 0||n.submissionId!==void 0||n.transaction!==void 0||n.transactionHash!==void 0)throw new B({reason:`key authorization operations cannot contain transaction fields`});if(e.status!==`pending`&&e.status!==`success`)throw new B({reason:`invalid key authorization status`});if(e.status===`success`&&(e.weight<e.threshold||e.signatureCount===0))throw new B({reason:`successful key authorizations must have quorum`});if(e.status===`pending`&&e.weight>=e.threshold)throw new B({reason:`pending key authorizations cannot have quorum`});if(typeof e.keyAuthorization!=`string`)throw new B({reason:`keyAuthorization is invalid`});let r=dw(e.keyAuthorization);if(!r.account||r.account.toLowerCase()!==e.account.toLowerCase())throw new B({reason:`key authorization account does not match the operation account`});let i=r.signature;if(e.status===`pending`&&i)throw new B({reason:`pending key authorizations must be unsigned`});if(e.status===`success`){if(i?.type!==`multisig`)throw new B({reason:`successful key authorizations require a multisig signature`});if(i.account.toLowerCase()!==e.account.toLowerCase())throw new B({reason:`key authorization signature account does not match`});if(i.signatures.length!==e.signatureCount)throw new B({reason:`key authorization signatureCount does not match its signature`});if(eT(e,i.signatures,r),!iT(i.config,t))throw new B({reason:`key authorization config does not match`})}if(nT(e,uw(r)),pw(r).toLowerCase()!==e.keyAuthorization.toLowerCase())throw new B({reason:`keyAuthorization is not canonically serialized`})}function $w(e,t,n){let r=vC(t);if(r.type===`keychain`||r.type===`multisig`)throw new B({reason:`only primitive owner approvals are allowed`});if(pC({account:e,config:n,signatures:[r],type:`multisig`}),CC(r).toLowerCase()!==t.toLowerCase())throw new B({reason:`approval is not canonical`});return r}function eT(e,t,n){let r=e.approvals.map(e=>vC(e));for(let e of t){let t=r.findIndex(t=>CC(t).toLowerCase()===CC(e).toLowerCase());if(t===-1)throw new B({reason:`key authorization signature is not a retained approval`});r.splice(t,1)}let i=rC({account:e.account,config:e.config,payload:uw(n)}),a=t.map(e=>gC({payload:i,signature:e}));for(let e=1;e<a.length;e++){let t=L(a[e-1]),n=L(a[e]);if(t===n)throw new B({reason:`key authorization contains duplicate owner approvals`});if(t>n)throw new B({reason:`key authorization approvals are not canonically ordered`})}}function tT(e,t,n){let r=Array.from({length:t+1},()=>new Set);r[0].add(0);for(let n of e)for(let e=t;e>0;e--)for(let t of r[e-1])r[e].add(t+n);return r[t].has(n)}function nT(e,t){if(rC({account:e.account,config:e.config,payload:t}).toLowerCase()!==e.hash.toLowerCase())throw new B({reason:`hash does not match the operation payload`})}function rT(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<0)throw new B({reason:`${t} must be a nonnegative safe integer`})}function iT(e,t){let n=$S(e),r=$S(t);return vp(n.salt??ZS,r.salt??ZS)&&n.threshold===r.threshold&&n.version===r.version&&n.owners.length===r.owners.length&&n.owners.every((e,t)=>{let n=r.owners[t];return z_(e.owner,n.owner)&&e.weight===n.weight})}var aT=class extends M{constructor(e={}){super(e.reason?`Invalid multisig approval: ${e.reason}.`:`Invalid multisig approval.`,{cause:e.cause}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigOperation.InvalidApprovalError`})}},B=class extends M{constructor(e={}){super(e.reason?`Invalid multisig operation: ${e.reason}.`:`Invalid multisig operation.`,{cause:e.cause}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigOperation.InvalidOperationError`})}};bf(),R();function oT(e){let{approvals:t,config:n}=e;return sT(t),{approvals:t.map(({keyData:e,keyType:t,owner:n})=>({...e===void 0?{}:{keyData:lT(e)},...t===void 0?{}:{keyType:t},owner:n})),config:cT(n)}}function sT(e){if(e.some(e=>typeof e!=`object`||!e||`spec`in e||`type`in e))throw new uT({reason:`only untagged primitive owner approvals are allowed`});if(e.length>8)throw new uT({reason:`approval count exceeds 8`})}function cT(e){return Iv(iC(e))}function lT(e){let t=I(e);return t<=4?e:P(t,{size:2})}var uT=class extends M{constructor(e){super(`Invalid multisig simulation: ${e.reason}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigSimulation.InvalidSimulationError`})}};R();let dT={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function fT(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:y_(_p(dT[e]??e))}let pT={...gx,tempo:`0x76`},mT={..._x,\"0x76\":`tempo`};function hT(e,t={}){if(!e)return null;let n=vx(e);return n.type=mT[e.type],e.aaAuthorizationList&&(n.authorizationList=LC(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=xC(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=cw(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=qv(e.feePayerSignature),n.feePayerSignature.v=$v(n.feePayerSignature.yParity)),n}R();function gT(e){let t=kS({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=VC(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?MC(e.to):e.to,value:e.value?P(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?MC(e.to):void 0,value:e.value?P(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=KC(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=mw(e.keyAuthorization)),e.keyAuthorizationSimulation&&(t.keyAuthorizationSimulation=oT(e.keyAuthorizationSimulation)),e.multisigSimulation&&(t.multisigSimulation=oT(e.multisigSimulation)),e.validBefore!==void 0&&(t.validBefore=P(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=P(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return xp(6);if(typeof e.nonceKey==`bigint`)return P(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.multisigSimulation!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=pT.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}bf();let _T={4217:{base:4217e5,range:100261e4},42431:{base:142431e4,range:723173648}},vT=4217;_T[vT].base;function yT(e,t=vT){let{base:n,range:r}=xT(t);return n+e%r}var bT=class extends M{constructor({sourceId:e}){super(`Source chain ID \"${e}\" is not supported.`,{metaMessages:[`Supported source chain IDs: 4217, 42431.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ZoneId.UnsupportedSourceIdError`})}};function xT(e){if(e===4217||e===42431)return _T[e];throw new bT({sourceId:e})}let ST=[{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`authorizeAdminKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`burnKeyAuthorizationWitness`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`witness`}],outputs:[]},{name:`revokeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`}],outputs:[]},{name:`updateSpendingLimit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`token`},{type:`uint256`,name:`newLimit`}],outputs:[]},{name:`setAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}],outputs:[]},{name:`removeAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`target`}],outputs:[]},{name:`getKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`tuple`,components:[{type:`uint8`,name:`signatureType`},{type:`address`,name:`keyId`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`bool`,name:`isRevoked`}]}]},{name:`getRemainingLimit`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`}]},{name:`getRemainingLimitWithPeriod`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`},{type:`uint64`,name:`periodEnd`}]},{name:`getAllowedCalls`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`,name:`isScoped`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{name:`isKeyAuthorizationWitnessBurned`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`witness`}],outputs:[{type:`bool`}]},{name:`isAdminKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`}]},{name:`getTransactionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`KeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`}]},{name:`AdminKeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`KeyRevoked`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`SpendingLimitUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`newLimit`}]},{name:`AccessKeySpend`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint256`,name:`remainingLimit`}]},{name:`KeyAuthorizationWitness`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`KeyAuthorizationWitnessBurned`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`UnauthorizedCaller`,type:`error`,inputs:[]},{name:`KeyAlreadyExists`,type:`error`,inputs:[]},{name:`KeyNotFound`,type:`error`,inputs:[]},{name:`KeyExpired`,type:`error`,inputs:[]},{name:`SpendingLimitExceeded`,type:`error`,inputs:[]},{name:`InvalidSpendingLimit`,type:`error`,inputs:[]},{name:`InvalidSignatureType`,type:`error`,inputs:[]},{name:`ZeroPublicKey`,type:`error`,inputs:[]},{name:`ExpiryInPast`,type:`error`,inputs:[]},{name:`KeyAlreadyRevoked`,type:`error`,inputs:[]},{name:`SignatureTypeMismatch`,type:`error`,inputs:[{type:`uint8`,name:`expected`},{type:`uint8`,name:`actual`}]},{name:`CallNotAllowed`,type:`error`,inputs:[]},{name:`InvalidCallScope`,type:`error`,inputs:[]},{name:`InvalidKeyId`,type:`error`,inputs:[]},{name:`InvalidKeyAuthorizationWitness`,type:`error`,inputs:[]},{name:`KeyAuthorizationWitnessAlreadyBurned`,type:`error`,inputs:[]},{name:`LegacyAuthorizeKeySelectorChanged`,type:`error`,inputs:[{type:`bytes4`,name:`newSelector`}]}],CT=[{name:`registerVirtualMaster`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`salt`}],outputs:[{type:`bytes4`,name:`masterId`}]},{name:`getMaster`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes4`,name:`masterId`}],outputs:[{type:`address`}]},{name:`resolveRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`to`}],outputs:[{type:`address`,name:`effectiveRecipient`}]},{name:`resolveVirtualAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`virtualAddr`}],outputs:[{type:`address`,name:`master`}]},{name:`isVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`decodeVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`,name:`isVirtual`},{type:`bytes4`,name:`masterId`},{type:`bytes6`,name:`userTag`}]},{name:`isImplicitlyApproved`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`MasterRegistered`,type:`event`,inputs:[{type:`bytes4`,name:`masterId`,indexed:!0},{type:`address`,name:`masterAddress`,indexed:!0}]},{name:`MasterIdCollision`,type:`error`,inputs:[{type:`address`,name:`master`}]},{name:`InvalidMasterAddress`,type:`error`,inputs:[]},{name:`ProofOfWorkFailed`,type:`error`,inputs:[]},{name:`VirtualAddressUnregistered`,type:`error`,inputs:[]}],wT=[{name:`deriveAccount`,type:`function`,stateMutability:`pure`,inputs:[{type:`bytes32`,name:`salt`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}],outputs:[{type:`address`,name:`account`}]},{name:`getConfigCommitment`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bytes32`,name:`commitment`}]},{name:`updateConfig`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`current`,components:[{type:`bytes32`,name:`salt`},{type:`uint64`,name:`version`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}]},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}],outputs:[]},{name:`MultisigConfigUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`salt`},{type:`uint64`,name:`version`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}]},{name:`InvalidAccount`,type:`error`,inputs:[]},{name:`InvalidConfig`,type:`error`,inputs:[]},{name:`InvalidThreshold`,type:`error`,inputs:[]},{name:`InvalidMultisigOwner`,type:`error`,inputs:[]},{name:`InvalidWeight`,type:`error`,inputs:[]},{name:`TooManyOwners`,type:`error`,inputs:[]},{name:`DuplicateOwner`,type:`error`,inputs:[]},{name:`InvalidOwnerOrder`,type:`error`,inputs:[]},{name:`UnauthorizedMultisigCaller`,type:`error`,inputs:[]}],TT=[{name:`getCommitteeMembers`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`,name:`epoch`},{type:`bytes32[]`,name:`publicKeys`}]},{name:`setCommitteeMembers`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`},{type:`bytes32[]`,name:`publicKeys`}],outputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]}],ET=[{name:`getNonce`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint256`,name:`nonceKey`}],outputs:[{type:`uint64`,name:`nonce`}]},{name:`NonceIncremented`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint256`,name:`nonceKey`,indexed:!0},{type:`uint64`,name:`newNonce`}]},{name:`ProtocolNonceNotSupported`,type:`error`,inputs:[]},{name:`InvalidNonceKey`,type:`error`,inputs:[]},{name:`NonceOverflow`,type:`error`,inputs:[]},{name:`ExpiringNonceReplay`,type:`error`,inputs:[]},{name:`ExpiringNonceSetFull`,type:`error`,inputs:[]},{name:`InvalidExpiringNonceExpiry`,type:`error`,inputs:[]}],DT=[{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[{type:`uint256`,name:`amount`}]},{name:`claim`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`bytes`,name:`receipt`}],outputs:[]},{name:`burnBlockedReceipt`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[]},{name:`TransferBlocked`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint8`,name:`receiptVersion`},{type:`bytes`,name:`receipt`}]},{name:`ReceiptClaimed`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}]},{name:`ReceiptBurned`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`uint256`,name:`amount`}]},{name:`InvalidReceipt`,type:`error`,inputs:[]},{name:`InvalidClaimAddress`,type:`error`,inputs:[]},{name:`UnauthorizedClaimer`,type:`error`,inputs:[]},{name:`AddressReserved`,type:`error`,inputs:[]}],OT=[{name:`recover`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`address`,name:`signer`}]},{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`signer`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychain`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychainAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`InvalidFormat`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]}],kT=[{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:`bookIndexForKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`bookKey`}],outputs:[{type:`bool`,name:`set`},{type:`uint32`,name:`index`}]},{name:`bookKeyForIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`index`}],outputs:[{type:`bytes32`,name:`bookKey`}]},{name:`setBookIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`index`}],outputs:[]},{name:`storageCredits`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`uint64`,name:`credits`}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`FlipFailed`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`bytes4`,name:`reason`}]},{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:[]},{name:`IndexAlreadySet`,type:`error`,inputs:[]}],AT=[{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint64`}]},{name:`modeOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint8`}]},{name:`budgetOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint64`}]},{name:`setMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint8`,name:`newMode`}],outputs:[]},{name:`setBudget`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`credits`}],outputs:[]},{name:`InvalidMode`,type:`error`,inputs:[]},{name:`OnlyDirectCall`,type:`error`,inputs:[]}],jT=[{name:`userTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`address`}]},{name:`validatorTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`address`}]},{name:`setUserToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setValidatorToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`distributeFees`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[]},{name:`collectedFees`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[{type:`uint256`}]},{name:`UserTokenSet`,type:`event`,inputs:[{type:`address`,name:`user`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`ValidatorTokenSet`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`FeesDistributed`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientFeeTokenBalance`,type:`error`,inputs:[]},{name:`CannotChangeWithinBlock`,type:`error`,inputs:[]}],MT=[{name:`M`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`N`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`SCALE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MIN_LIQUIDITY`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPoolId`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`bytes32`}]},{name:`getPool`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`pools`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`liquidity`}]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`uint256`}]},{name:`liquidityBalances`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`},{type:`address`,name:`user`}],outputs:[{type:`uint256`}]},{name:`rebalanceSwap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountOut`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountIn`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`sender`},{type:`address`,name:`to`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}]},{name:`RebalanceSwap`,type:`event`,inputs:[{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`address`,name:`swapper`,indexed:!0},{type:`uint256`,name:`amountIn`},{type:`uint256`,name:`amountOut`}]},{name:`IdenticalAddresses`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientReserves`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`DivisionByZero`,type:`error`,inputs:[]},{name:`InvalidSwapCalculation`,type:`error`,inputs:[]}],NT=[{name:`CLOSE_GRACE_PERIOD`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`VOUCHER_TYPEHASH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`open`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`uint96`,name:`deposit`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`}],outputs:[{type:`bytes32`,name:`channelId`}]},{name:`settle`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`topUp`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`additionalDeposit`}],outputs:[]},{name:`close`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`captureAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`requestClose`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`getChannel`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[{type:`tuple`,components:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`tuple`,name:`state`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]}]},{name:`getChannelState`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`}],outputs:[{type:`tuple`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`getChannelStatesBatch`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32[]`,name:`channelIds`}],outputs:[{type:`tuple[]`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`computeChannelId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}],outputs:[{type:`bytes32`}]},{name:`getVoucherDigest`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`},{type:`uint96`,name:`cumulativeAmount`}],outputs:[{type:`bytes32`}]},{name:`domainSeparator`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`storageCredits`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`}],outputs:[{type:`uint64`,name:`credits`}]},{name:`ChannelOpened`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`salt`},{type:`bytes32`,name:`expiringNonceHash`},{type:`uint96`,name:`deposit`}]},{name:`Settled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`deltaPaid`},{type:`uint96`,name:`newSettled`}]},{name:`TopUp`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`additionalDeposit`},{type:`uint96`,name:`newDeposit`}]},{name:`CloseRequested`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint256`,name:`closeGraceEnd`}]},{name:`ChannelClosed`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`settledToPayee`},{type:`uint96`,name:`refundedToPayer`}]},{name:`CloseRequestCancelled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0}]},{name:`ChannelAlreadyExists`,type:`error`,inputs:[]},{name:`ChannelNotFound`,type:`error`,inputs:[]},{name:`NotPayer`,type:`error`,inputs:[]},{name:`NotPayeeOrOperator`,type:`error`,inputs:[]},{name:`InvalidPayee`,type:`error`,inputs:[]},{name:`ZeroDeposit`,type:`error`,inputs:[]},{name:`ExpiringNonceHashNotSet`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`AmountExceedsDeposit`,type:`error`,inputs:[]},{name:`AmountNotIncreasing`,type:`error`,inputs:[]},{name:`CaptureAmountInvalid`,type:`error`,inputs:[]},{name:`CloseNotReady`,type:`error`,inputs:[]},{name:`DepositOverflow`,type:`error`,inputs:[]}],PT=[{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`},{type:`string`,name:`logoURI`}],outputs:[{type:`address`}]},{name:`isTIP20`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`getTokenAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`sender`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`TokenCreated`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}]},{name:`AddressReserved`,type:`error`,inputs:[]},{name:`AddressNotReserved`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`TokenAlreadyExists`,type:`error`,inputs:[{type:`address`,name:`token`}]}],V=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],FT=[{name:`policyIdCounter`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`policyExists`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`bool`}]},{name:`tokenTransferPolicyId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`,name:`isSet`},{type:`uint64`,name:`policyId`}]},{name:`policyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint8`,name:`policyType`},{type:`address`,name:`admin`}]},{name:`isAuthorized`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedSender`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedMintRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`compoundPolicyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`receivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`,name:`hasReceivePolicy`},{type:`uint64`,name:`senderPolicyId`},{type:`uint8`,name:`senderPolicyType`},{type:`uint64`,name:`tokenFilterId`},{type:`uint8`,name:`tokenFilterType`},{type:`address`,name:`recoveryAuthority`}]},{name:`validateReceivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`sender`},{type:`address`,name:`receiver`}],outputs:[{type:`bool`,name:`authorized`},{type:`uint8`,name:`blockedReason`}]},{name:`createPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`}],outputs:[{type:`uint64`}]},{name:`createPolicyWithAccounts`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`},{type:`address[]`,name:`accounts`}],outputs:[{type:`uint64`}]},{name:`setPolicyAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`admin`}],outputs:[]},{name:`modifyPolicyWhitelist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`modifyPolicyBlacklist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`restricted`}],outputs:[]},{name:`createCompoundPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}],outputs:[{type:`uint64`}]},{name:`setReceivePolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}],outputs:[]},{name:`migrateTransferPolicyIds`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address[]`,name:`tokens`}],outputs:[{type:`uint256`,name:`migrated`}]},{name:`PolicyAdminUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`admin`,indexed:!0}]},{name:`PolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`uint8`,name:`policyType`}]},{name:`WhitelistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`allowed`}]},{name:`BlacklistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`restricted`}]},{name:`CompoundPolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`creator`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`ReceivePolicyUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PolicyNotFound`,type:`error`,inputs:[]},{name:`PolicyNotSimple`,type:`error`,inputs:[]},{name:`InvalidPolicyType`,type:`error`,inputs:[]},{name:`IncompatiblePolicyType`,type:`error`,inputs:[]},{name:`VirtualAddressNotAllowed`,type:`error`,inputs:[]},{name:`InvalidReceivePolicyType`,type:`error`,inputs:[]},{name:`InvalidRecoveryAuthority`,type:`error`,inputs:[]}],IT=[{name:`getActiveValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getInitializedAtHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`validatorByIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`index`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validatorAddress`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByPublicKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`publicKey`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getNextNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`isInitialized`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`bytes`,name:`signature`}],outputs:[{type:`uint64`,name:`index`}]},{name:`deactivateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`rotateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`setFeeRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`feeRecipient`}],outputs:[]},{name:`setIpAddresses`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`}],outputs:[]},{name:`transferValidatorOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`newAddress`}],outputs:[]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`setNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`migrateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`initializeIfMigrated`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`ValidatorAdded`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`}]},{name:`ValidatorDeactivated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0}]},{name:`ValidatorRotated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`uint64`,name:`deactivatedIndex`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`oldPublicKey`},{type:`bytes32`,name:`newPublicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`FeeRecipientUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`feeRecipient`},{type:`address`,name:`caller`}]},{name:`IpAddressesUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`ValidatorOwnershipTransferred`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`oldAddress`,indexed:!0},{type:`address`,name:`newAddress`,indexed:!0},{type:`address`,name:`caller`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`oldOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ValidatorMigrated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`NetworkIdentityRotationEpochSet`,type:`event`,inputs:[{type:`uint64`,name:`previousEpoch`,indexed:!0},{type:`uint64`,name:`nextEpoch`,indexed:!0}]},{name:`Initialized`,type:`event`,inputs:[{type:`uint64`,name:`height`}]},{name:`SkippedValidatorMigration`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`IngressAlreadyExists`,type:`error`,inputs:[{type:`string`,name:`ingress`}]},{name:`EmptyV1ValidatorSet`,type:`error`,inputs:[]},{name:`InvalidMigrationIndex`,type:`error`,inputs:[]},{name:`InvalidOwner`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`InvalidSignatureFormat`,type:`error`,inputs:[]},{name:`InvalidValidatorAddress`,type:`error`,inputs:[]},{name:`MigrationNotComplete`,type:`error`,inputs:[]},{name:`NotInitialized`,type:`error`,inputs:[]},{name:`NotIp`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`PublicKeyAlreadyExists`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`AddressAlreadyHasValidator`,type:`error`,inputs:[]},{name:`ValidatorAlreadyDeactivated`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]}],LT=[{name:`getValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`updateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`changeValidatorStatus`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`bool`,name:`active`}],outputs:[]},{name:`changeValidatorStatusByIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`index`},{type:`bool`,name:`active`}],outputs:[]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`changeOwner`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`getNextFullDkgCeremony`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setNextFullDkgCeremony`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`validatorsArray`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`validators`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ValidatorAlreadyExists`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`NotHostPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]}],RT=[{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`createZone`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`params`,components:[{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address[]`,name:`allowedAccounts`},{type:`address[]`,name:`zoneGateways`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`string`,name:`rpcUrl`}]}],outputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`}]},{name:`nextZoneId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`zones`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`id`}],outputs:[{type:`tuple`,name:`info`,components:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`},{type:`string`,name:`rpcUrl`}]}]},{name:`isZonePortal`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`portal`}],outputs:[{type:`bool`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`previousOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ZoneCreated`,type:`event`,inputs:[{type:`uint32`,name:`zoneId`,indexed:!0},{type:`address`,name:`portal`,indexed:!0},{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TokenTransferPolicyNotSet`,type:`error`,inputs:[]},{name:`InvalidClosedLoopConfig`,type:`error`,inputs:[]},{name:`NotOwner`,type:`error`,inputs:[]},{name:`InvalidAdmin`,type:`error`,inputs:[]},{name:`InvalidSequencerSet`,type:`error`,inputs:[]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`TokenMetadataTooLong`,type:`error`,inputs:[]},{name:`DuplicateAllowedAccount`,type:`error`,inputs:[]},{name:`DuplicateZoneGateway`,type:`error`,inputs:[]},{name:`ZoneCreated`,type:`event`,inputs:[{type:`uint32`,name:`zoneId`,indexed:!0},{type:`address`,name:`portal`,indexed:!0},{type:`address`,name:`messenger`,indexed:!0},{type:`address`,name:`initialToken`},{type:`address`,name:`admin`},{type:`address`,name:`sequencer`},{type:`address`,name:`verifier`},{type:`bytes32`,name:`genesisBlockHash`},{type:`bytes32`,name:`genesisTempoBlockHash`},{type:`uint64`,name:`genesisTempoBlockNumber`}]},{name:`createZone`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`params`,components:[{type:`address`,name:`initialToken`},{type:`address`,name:`admin`},{type:`address`,name:`sequencer`},{type:`address`,name:`verifier`},{type:`tuple`,name:`zoneParams`,components:[{type:`bytes32`,name:`genesisBlockHash`},{type:`bytes32`,name:`genesisTempoBlockHash`},{type:`uint64`,name:`genesisTempoBlockNumber`}]},{type:`string`,name:`rpcUrl`}]}],outputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`}]},{name:`verifier`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]}],zT=[{name:`SequencerSetUpdated`,type:`event`,inputs:[{type:`uint64`,name:`nonce`,indexed:!0},{type:`uint8`,name:`threshold`},{type:`address[]`,name:`sequencers`}]},{name:`TokenEnabled`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`}]},{name:`RoleUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint8`,name:`prev`},{type:`uint8`,name:`next`}]},{name:`EnforcementModesUpdated`,type:`event`,inputs:[{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`}]},{name:`LeaderUpdated`,type:`event`,inputs:[{type:`address`,name:`previousLeader`,indexed:!0},{type:`address`,name:`newLeader`,indexed:!0},{type:`uint64`,name:`leaderEpoch`,indexed:!0},{type:`uint64`,name:`leaderActivationTempoBlock`}]},{name:`zoneId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`admin`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`messenger`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`isAccessEnforced`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`setAccessMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bool`,name:`enforced`}],outputs:[]},{name:`isGatewayOpen`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`setGatewayMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bool`,name:`enforced`}],outputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint8`,name:`role`}],outputs:[{type:`bool`}]},{name:`setAllowedAccount`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setGateway`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setPauseGuardian`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setSequencerSet`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address[]`,name:`newSequencers`},{type:`uint8`,name:`newThreshold`}],outputs:[]},{name:`verifier`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`sequencerSetVersion`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`sequencerThreshold`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{name:`zoneHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`isSequencer`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`}]},{name:`sequencerCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`sequencerAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`leader`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`leaderEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`leaderActivationTempoBlock`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setLeader`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newLeader`},{type:`uint64`,name:`expectedEpoch`}],outputs:[]},{name:`withdrawalBatchIndex`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`blockHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`currentDepositQueueHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`lastSyncedTempoBlockNumber`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`withdrawalQueueHead`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`withdrawalQueueTail`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`withdrawalQueueSlot`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`queueIndex`}],outputs:[{type:`bytes32`}]},{name:`calculateDepositFee`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`,name:`fee`}]},{name:`calculateBouncebackFee`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`,name:`fee`}]},{name:`depositCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`lastProcessedDepositNumber`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`FIXED_DEPOSIT_GAS`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_GAS_FEE_RATE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_TOKEN_METADATA_BYTES`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`areDepositsActive`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`tokenConfig`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`tuple`,components:[{type:`bool`,name:`enabled`},{type:`bool`,name:`depositsActive`}]}]},{name:`initialize`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address[]`,name:`allowedAccounts`},{type:`address[]`,name:`zoneGateways`},{type:`address`,name:`admin`},{type:`address`,name:`messenger`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`},{type:`string`,name:`rpcUrl`}],outputs:[]},{name:`deliverWithdrawal`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`bytes`,name:`callbackData`}],outputs:[]},{name:`MAX_DEPOSITS_PER_TEMPO_BLOCK`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_WITHDRAWAL_GAS_LIMIT`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`pauseExpiry`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`abdicationEffectiveAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint8`,name:`capability`}],outputs:[{type:`uint64`}]},{name:`processWithdrawals`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple[]`,name:`withdrawals`,components:[{type:`address`,name:`token`},{type:`bytes32`,name:`senderTag`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`callbackData`},{type:`bytes`,name:`encryptedSender`}]},{type:`bytes32`,name:`remainingQueue`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`resume`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`abdicate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint8`,name:`capability`}],outputs:[]},{name:`submitBatch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`recentTempoBlockNumber`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`},{type:`uint256`,name:`nextZoneHeight`},{type:`bytes[]`,name:`signatures`}],outputs:[]},{name:`enableToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`pauseDeposits`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`resumeDeposits`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setZoneGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`newZoneGasRate`}],outputs:[]},{name:`setMaxTempoGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`newMaxTempoGasRate`}],outputs:[]},{name:`setBouncebackGas`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newBouncebackGas`}],outputs:[]},{name:`transferAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newAdmin`}],outputs:[]},{name:`acceptAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`rpcUrl`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setRpcUrl`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`rpcUrl`}],outputs:[]},{name:`deposit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint256`,name:`keyIndex`},{type:`tuple`,name:`encrypted`,components:[{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`}]},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`}]},{name:`depositEncrypted`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint256`,name:`keyIndex`},{type:`tuple`,name:`encrypted`,components:[{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`}]},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`}]},{name:`setSequencerEncryptionKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint8`,name:`popV`},{type:`bytes32`,name:`popR`},{type:`bytes32`,name:`popS`}],outputs:[]},{name:`isTokenEnabled`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`enabledTokenCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`enabledTokenAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`tokenEnablementHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`zoneGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`maxTempoGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`bouncebackGas`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`pendingAdmin`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`refunds`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`owner`}],outputs:[{type:`uint128`}]},{name:`sequencerEncryptionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`address`,name:`pubkey`}]},{name:`encryptionKeyCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`encryptionKeyAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`tuple`,name:`entry`,components:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint64`,name:`activationBlock`}]}]},{name:`isEncryptionKeyValid`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`keyIndex`}],outputs:[{type:`bool`,name:`valid`},{type:`uint64`,name:`expiresAtBlock`}]},{name:`encryptionKeyAtBlock`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`tempoBlockNumber`}],outputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint256`,name:`keyIndex`}]},{name:`claimRefund`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`uint128`,name:`amount`}]},{name:`DepositMade`,type:`event`,inputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`netAmount`},{type:`uint128`,name:`fee`},{type:`uint256`,name:`keyIndex`},{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`},{type:`address`,name:`tempoRefundRecipient`},{type:`uint64`,name:`depositNumber`}]},{name:`DepositsPaused`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0}]},{name:`DepositsResumed`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0}]},{name:`PortalPaused`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0}]},{name:`PortalResumed`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0}]},{name:`AbdicationScheduled`,type:`event`,inputs:[{type:`uint8`,name:`capability`,indexed:!0},{type:`uint64`,name:`effectiveAt`}]},{name:`RpcUrlUpdated`,type:`event`,inputs:[{type:`string`,name:`rpcUrl`}]},{name:`SequencerEncryptionKeyUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`address`,name:`pubkey`},{type:`uint256`,name:`keyIndex`},{type:`uint64`,name:`activationBlock`}]},{name:`BatchSubmitted`,type:`event`,inputs:[{type:`uint64`,name:`withdrawalBatchIndex`,indexed:!0},{type:`uint256`,name:`withdrawalQueueIndex`,indexed:!0},{type:`bytes32`,name:`nextProcessedDepositQueueHash`},{type:`bytes32`,name:`nextBlockHash`},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`uint64`,name:`lastProcessedDepositNumber`}]},{name:`WithdrawalProcessed`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`bytes32`,name:`senderTag`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`callbackSuccess`}]},{name:`WithdrawalBounceBack`,type:`event`,inputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`,indexed:!0},{type:`uint64`,name:`fallbackNonce`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint64`,name:`depositNumber`}]},{name:`DepositBounceBack`,type:`event`,inputs:[{type:`address`,name:`tempoRefundRecipient`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`bouncebackFee`}]},{name:`DepositBounceBackPending`,type:`event`,inputs:[{type:`address`,name:`tempoRefundRecipient`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`bouncebackFee`}]},{name:`RefundClaimed`,type:`event`,inputs:[{type:`address`,name:`recipient`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`}]},{name:`ZoneGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`zoneGasRate`}]},{name:`MaxTempoGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`maxTempoGasRate`}]},{name:`BouncebackGasUpdated`,type:`event`,inputs:[{type:`uint64`,name:`bouncebackGas`}]},{name:`AdminTransferStarted`,type:`event`,inputs:[{type:`address`,name:`currentAdmin`,indexed:!0},{type:`address`,name:`pendingAdmin`,indexed:!0}]},{name:`AdminTransferred`,type:`event`,inputs:[{type:`address`,name:`previousAdmin`,indexed:!0},{type:`address`,name:`newAdmin`,indexed:!0}]},{name:`NotSequencer`,type:`error`,inputs:[]},{name:`NotAdmin`,type:`error`,inputs:[]},{name:`NotPauseAuthority`,type:`error`,inputs:[]},{name:`CapabilityAbdicated`,type:`error`,inputs:[{type:`uint8`,name:`capability`}]},{name:`AbdicationAlreadyScheduled`,type:`error`,inputs:[{type:`uint8`,name:`capability`}]},{name:`PortalIsPaused`,type:`error`,inputs:[]},{name:`NotPendingAdmin`,type:`error`,inputs:[]},{name:`InvalidProof`,type:`error`,inputs:[]},{name:`InvalidTempoBlockNumber`,type:`error`,inputs:[]},{name:`NotFactory`,type:`error`,inputs:[]},{name:`NotSelf`,type:`error`,inputs:[]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`MustDelegateCall`,type:`error`,inputs:[]},{name:`CallbackRejected`,type:`error`,inputs:[]},{name:`TransferFailed`,type:`error`,inputs:[]},{name:`ReentrantWithdrawal`,type:`error`,inputs:[]},{name:`EncryptionKeyExpired`,type:`error`,inputs:[{type:`uint256`,name:`keyIndex`},{type:`uint64`,name:`activationBlock`},{type:`uint64`,name:`supersededAtBlock`}]},{name:`InvalidEncryptionKeyIndex`,type:`error`,inputs:[{type:`uint256`,name:`keyIndex`}]},{name:`NoEncryptionKeySet`,type:`error`,inputs:[]},{name:`NoEncryptionKeyAtBlock`,type:`error`,inputs:[{type:`uint64`,name:`blockNumber`}]},{name:`InvalidEphemeralPubkey`,type:`error`,inputs:[]},{name:`InvalidCiphertextLength`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidProofOfPossession`,type:`error`,inputs:[]},{name:`DepositTooSmall`,type:`error`,inputs:[]},{name:`TokenEnablementBlockCapacityExceeded`,type:`error`,inputs:[{type:`uint64`,name:`maximum`}]},{name:`TokenMetadataTooLong`,type:`error`,inputs:[]},{name:`GasFeeRateTooHigh`,type:`error`,inputs:[]},{name:`DepositsNotActive`,type:`error`,inputs:[]},{name:`TokenAlreadyEnabled`,type:`error`,inputs:[]},{name:`TokenTransferPolicyNotSet`,type:`error`,inputs:[]},{name:`InvalidDepositTransition`,type:`error`,inputs:[]},{name:`InvalidSequencerSet`,type:`error`,inputs:[]},{name:`SequencerConfigurationUnchanged`,type:`error`,inputs:[]},{name:`InvalidQuorumCertificate`,type:`error`,inputs:[]},{name:`CallbackDidNotReturnToZone`,type:`error`,inputs:[]},{name:`InvalidBouncebackRecipient`,type:`error`,inputs:[]},{name:`TokenNotEnabled`,type:`error`,inputs:[]},{name:`DepositBlockCapacityExceeded`,type:`error`,inputs:[{type:`uint64`,name:`maximum`}]},{name:`InvalidCallbackTarget`,type:`error`,inputs:[]},{name:`AccountNotAllowed`,type:`error`,inputs:[{type:`address`,name:`account`}]},{name:`InvalidLeader`,type:`error`,inputs:[]},{name:`ActiveLeaderRemoved`,type:`error`,inputs:[]},{name:`LeaderAlreadyUpdatedThisBlock`,type:`error`,inputs:[]},{name:`StaleLeadershipEpoch`,type:`error`,inputs:[{type:`uint64`,name:`expected`},{type:`uint64`,name:`actual`}]},{name:`deposit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`_token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`}]}],BT=[{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`zoneId`},{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`anchorBlockNumber`},{type:`bytes32`,name:`anchorBlockHash`},{type:`uint64`,name:`expectedWithdrawalBatchIndex`},{type:`uint256`,name:`nextZoneHeight`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`tuple`,name:`tokenEnablementTransition`,components:[{type:`uint64`,name:`prevProcessedTokenCount`},{type:`uint64`,name:`nextProcessedTokenCount`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`}],outputs:[{type:`bool`}]},{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`zoneId`},{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`anchorBlockNumber`},{type:`bytes32`,name:`anchorBlockHash`},{type:`uint64`,name:`expectedWithdrawalBatchIndex`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`}],outputs:[{type:`bool`}]}],VT=[{type:`constructor`,inputs:[{name:`earnVault_`,type:`address`},{name:`owner_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`active`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`executeFunding`,inputs:[{name:`funder`,type:`address`},{name:`requestedAssets`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`fundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`fund`,inputs:[{name:`funder`,type:`address`},{name:`requestedAssets`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`fundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`fundBatchExact`,inputs:[{name:`funders`,type:`address[]`},{name:`requestedAssets`,type:`uint256[]`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`totalFundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setActive`,inputs:[{name:`active_`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`ActiveSet`,inputs:[{name:`active`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Funded`,inputs:[{name:`funder`,type:`address`,indexed:!0},{name:`requestedAssets`,type:`uint256`,indexed:!1},{name:`fundedAssets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`error`,name:`EarnShareSupplyOutOfBounds`,inputs:[{name:`earnShareSupply`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}]},{type:`error`,name:`Inactive`,inputs:[]},{type:`error`,name:`InvalidArrayLengths`,inputs:[]},{type:`error`,name:`NotSelf`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],HT=[{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:`scale`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`}],UT=[{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`requestRedeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`requestData`,type:`bytes`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`}],WT=[{type:`function`,name:`depositInKind`,inputs:[{name:`venueShares`,type:`uint256`},{name:`from`,type:`address`}],outputs:[{name:`engineSharesReceived`,type:`uint256`}],stateMutability:`nonpayable`}],GT=[{type:`constructor`,inputs:[{name:`tip20Factory_`,type:`address`},{name:`earnVaultImplementation_`,type:`address`},{name:`earnFeesImplementation_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`DEFAULT_ADMIN_ROLE`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`EARN_SHARE_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`FEES_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`computeEarnShareSalt`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`deploy`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:`earnShare`,type:`address`},{name:`earnVault`,type:`address`},{name:`earnFees`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`earnFeesImplementation`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVaultImplementation`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictEarnFees`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictEarnShare`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`tip20Factory`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`EarnStackDeployed`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`earnShare`,type:`address`,indexed:!0},{name:`earnFees`,type:`address`,indexed:!0},{name:`engine`,type:`address`,indexed:!1},{name:`asset`,type:`address`,indexed:!1},{name:`owner`,type:`address`,indexed:!1},{name:`deploymentId`,type:`bytes32`,indexed:!1},{name:`emergencyGuardian`,type:`address`,indexed:!1},{name:`asyncJanitor`,type:`address`,indexed:!1},{name:`maxManagedAssets`,type:`uint256`,indexed:!1},{name:`migrationMode`,type:`uint8`,indexed:!1},{name:`transferPolicyId`,type:`uint64`,indexed:!1},{name:`earnShareSalt`,type:`bytes32`,indexed:!1},{name:`controlConfigHash`,type:`bytes32`,indexed:!1},{name:`feeConfigHash`,type:`bytes32`,indexed:!1},{name:`earnFeesSalt`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`AdminRelinquishmentFailed`,inputs:[]},{type:`error`,name:`EarnShareAlreadyExists`,inputs:[{name:`earnShare`,type:`address`}]},{type:`error`,name:`EarnShareSupplyNotZero`,inputs:[]},{type:`error`,name:`EmptyDeploymentId`,inputs:[]},{type:`error`,name:`EmptyEarnShareMetadata`,inputs:[]},{type:`error`,name:`EngineAlreadyBound`,inputs:[{name:`earnVault`,type:`address`}]},{type:`error`,name:`FactoryCannotBeFinalOwner`,inputs:[]},{type:`error`,name:`FailedDeployment`,inputs:[]},{type:`error`,name:`InsufficientBalance`,inputs:[{name:`balance`,type:`uint256`},{name:`needed`,type:`uint256`}]},{type:`error`,name:`InvalidDistributorConfig`,inputs:[]},{type:`error`,name:`InvalidEarnFeesImplementation`,inputs:[]},{type:`error`,name:`InvalidEarnVaultImplementation`,inputs:[]},{type:`error`,name:`InvalidEngine`,inputs:[]},{type:`error`,name:`InvalidTransferPolicy`,inputs:[{name:`policyId`,type:`uint64`}]},{type:`error`,name:`IssuerGrantFailed`,inputs:[]},{type:`error`,name:`TransferPolicyMismatch`,inputs:[{name:`expected`,type:`uint64`},{name:`actual`,type:`uint64`}]},{type:`error`,name:`UnsupportedTransferPolicy`,inputs:[{name:`policyId`,type:`uint64`},{name:`policyType`,type:`uint8`}]},{type:`error`,name:`ZeroAddress`,inputs:[]}],KT=[{type:`constructor`,inputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accrueFees`,inputs:[],outputs:[{name:`result`,type:`tuple`,components:[{name:`activeAssets`,type:`uint256`},{name:`positiveAccrualAssets`,type:`uint256`},{name:`fixedFeeAssets`,type:`uint256`},{name:`excessFeeAssets`,type:`uint256`},{name:`totalFeeAssets`,type:`uint256`},{name:`totalFeeEarnShares`,type:`uint256`},{name:`preFeeValuePerEarnShare`,type:`uint256`},{name:`postFeeValuePerEarnShare`,type:`uint256`},{name:`targetValuePerEarnShare`,type:`uint256`},{name:`allocationCount`,type:`uint8`},{name:`allocations`,type:`tuple[5]`,components:[{name:`account`,type:`address`},{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}]}]}],stateMutability:`nonpayable`},{type:`function`,name:`claim`,inputs:[{name:`to`,type:`address`},{name:`earnShares`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`claimableEarnShares`,inputs:[{name:`recipient`,type:`address`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`closeRedeemRequest`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`currentFeeConfigId`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`disableFees`,inputs:[{name:`operator`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnShareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`feeBaselinesPending`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`feeConfig`,inputs:[{name:`configId`,type:`uint64`}],outputs:[{name:``,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],stateMutability:`view`},{type:`function`,name:`feeRemainder`,inputs:[{name:`configId`,type:`uint64`},{name:`slot`,type:`uint8`}],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`feesActive`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`feesDisabled`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`highWaterMark`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`initialize`,inputs:[{name:`earnVault_`,type:`address`},{name:`earnShare_`,type:`address`},{name:`initialConfig`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeBaselines`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`pendingFeeSnapshot`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`tuple`,components:[{name:`burnedEarnShares`,type:`uint256`},{name:`requestValue`,type:`uint256`},{name:`highWaterValue`,type:`uint256`},{name:`targetValue`,type:`uint256`},{name:`feeConfigId`,type:`uint64`},{name:`requestedAt`,type:`uint40`},{name:`open`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`previewAccruedFees`,inputs:[],outputs:[{name:`result`,type:`tuple`,components:[{name:`activeAssets`,type:`uint256`},{name:`positiveAccrualAssets`,type:`uint256`},{name:`fixedFeeAssets`,type:`uint256`},{name:`excessFeeAssets`,type:`uint256`},{name:`totalFeeAssets`,type:`uint256`},{name:`totalFeeEarnShares`,type:`uint256`},{name:`preFeeValuePerEarnShare`,type:`uint256`},{name:`postFeeValuePerEarnShare`,type:`uint256`},{name:`targetValuePerEarnShare`,type:`uint256`},{name:`allocationCount`,type:`uint8`},{name:`allocations`,type:`tuple[5]`,components:[{name:`account`,type:`address`},{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}]}]}],stateMutability:`view`},{type:`function`,name:`recordRedeemRequest`,inputs:[{name:`requestId`,type:`bytes32`},{name:`burnedEarnShares`,type:`uint256`},{name:`requestValue`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[{name:`configId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`settleCancelledRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`returnedValue`,type:`uint256`},{name:`activeSupply`,type:`uint256`},{name:`activeAssets`,type:`uint256`},{name:`totalReentryEarnShares`,type:`uint256`}],outputs:[{name:`feeEarnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`shouldChargeRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`targetBase`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`targetStartedAt`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`totalClaimableEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`validateFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[],stateMutability:`view`},{type:`event`,name:`FeeBaselinesInitialized`,inputs:[{name:`highWaterMark`,type:`uint256`,indexed:!1},{name:`targetBase`,type:`uint256`,indexed:!1},{name:`targetStartedAt`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeConfigurationSet`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`configHash`,type:`bytes32`,indexed:!0},{name:`reactivated`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeDustWaived`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`slot`,type:`uint8`,indexed:!0},{name:`remainder`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeEarnSharesAllocated`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`recipient`,type:`address`,indexed:!0},{name:`feeAssets`,type:`uint256`,indexed:!1},{name:`feeEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeEarnSharesClaimed`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`to`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeesAccrued`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`activeAssets`,type:`uint256`,indexed:!1},{name:`positiveAccrualAssets`,type:`uint256`,indexed:!1},{name:`feeAssets`,type:`uint256`,indexed:!1},{name:`feeEarnShares`,type:`uint256`,indexed:!1},{name:`highWaterMark`,type:`uint256`,indexed:!1},{name:`targetValuePerEarnShare`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeesDisabled`,inputs:[{name:`operator`,type:`address`,indexed:!0}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`InsufficientClaimableEarnShares`,inputs:[]},{type:`error`,name:`InvalidFeeClaimReceiver`,inputs:[]},{type:`error`,name:`InvalidFeeConfiguration`,inputs:[]},{type:`error`,name:`NotEarnVault`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],qT=[{type:`constructor`,inputs:[{name:`earnVault_`,type:`address`},{name:`treasury_`,type:`address`},{name:`campaignId_`,type:`bytes32`},{name:`claimDeadline_`,type:`uint40`},{name:`owner_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`campaignId`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`claim`,inputs:[{name:`recipient`,type:`address`},{name:`cumulativeAmount`,type:`uint256`},{name:`proof`,type:`bytes32[]`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`claimDeadline`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`consumedSettlements`,inputs:[{name:`settlementId`,type:`bytes32`}],outputs:[{name:`consumed`,type:`bool`}],stateMutability:`view`},{type:`function`,name:`cumulativePaid`,inputs:[{name:`recipient`,type:`address`}],outputs:[{name:`cumulativeAmount`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`fundAndPublishRoot`,inputs:[{name:`settlementId`,type:`bytes32`},{name:`expectedRootVersion`,type:`uint64`},{name:`funder`,type:`address`},{name:`assets`,type:`uint256`},{name:`minEarnShares`,type:`uint256`},{name:`root`,type:`bytes32`},{name:`totalEntitlement`,type:`uint256`},{name:`statementHash_`,type:`bytes32`}],outputs:[{name:`earnShares`,type:`uint256`},{name:`version`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`leaf`,inputs:[{name:`recipient`,type:`address`},{name:`cumulativeAmount`,type:`uint256`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`merkleRoot`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`paused`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`publishRoot`,inputs:[{name:`expectedRootVersion`,type:`uint64`},{name:`root`,type:`bytes32`},{name:`totalEntitlement`,type:`uint256`},{name:`statementHash_`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`pushBatch`,inputs:[{name:`expectedRootVersion`,type:`uint64`},{name:`recipients`,type:`address[]`},{name:`cumulativeAmounts`,type:`uint256[]`},{name:`multiproof`,type:`bytes32[]`},{name:`proofFlags`,type:`bool[]`}],outputs:[{name:`paidCount`,type:`uint256`},{name:`paidEarnShares`,type:`uint256`},{name:`skippedCount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`pure`},{type:`function`,name:`returnUnspent`,inputs:[],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`rootTotalEntitlement`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`rootVersion`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`setPaused`,inputs:[{name:`paused_`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`statementHash`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`totalPaid`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`treasury`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`AssetsFunded`,inputs:[{name:`funder`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`BatchPushed`,inputs:[{name:`version`,type:`uint64`,indexed:!0},{name:`batchHash`,type:`bytes32`,indexed:!0},{name:`attemptedCount`,type:`uint256`,indexed:!1},{name:`paidCount`,type:`uint256`,indexed:!1},{name:`paidEarnShares`,type:`uint256`,indexed:!1},{name:`skippedCount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`PausedSet`,inputs:[{name:`paused`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`PayoutSkipped`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`cumulativeAmount`,type:`uint256`,indexed:!1},{name:`reason`,type:`uint8`,indexed:!1}],anonymous:!1},{type:`event`,name:`RewardClaimed`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`cumulativeAmount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RootPublished`,inputs:[{name:`version`,type:`uint64`,indexed:!0},{name:`root`,type:`bytes32`,indexed:!0},{name:`statementHash`,type:`bytes32`,indexed:!0},{name:`totalEntitlement`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`UnspentReturned`,inputs:[{name:`treasury`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`ClaimsExpired`,inputs:[]},{type:`error`,name:`ClaimsNotExpired`,inputs:[]},{type:`error`,name:`DepositsPaused`,inputs:[]},{type:`error`,name:`InsufficientFunding`,inputs:[{name:`requiredBalance`,type:`uint256`},{name:`actualBalance`,type:`uint256`}]},{type:`error`,name:`InvalidArrayLengths`,inputs:[]},{type:`error`,name:`InvalidEarnVault`,inputs:[]},{type:`error`,name:`InvalidMultiproof`,inputs:[]},{type:`error`,name:`MerkleProofInvalidMultiproof`,inputs:[]},{type:`error`,name:`NothingOwed`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`OwnershipRenunciationDisabled`,inputs:[]},{type:`error`,name:`Paused`,inputs:[]},{type:`error`,name:`PausedLiabilityIncrease`,inputs:[]},{type:`error`,name:`ReentrancyGuardReentrantCall`,inputs:[]},{type:`error`,name:`RootTotalDecreased`,inputs:[{name:`previousTotal`,type:`uint256`},{name:`nextTotal`,type:`uint256`}]},{type:`error`,name:`RootTotalExceeded`,inputs:[{name:`requestedAmount`,type:`uint256`},{name:`remainingEntitlement`,type:`uint256`}]},{type:`error`,name:`SettlementAlreadyConsumed`,inputs:[{name:`settlementId`,type:`bytes32`}]},{type:`error`,name:`StaleRootVersion`,inputs:[{name:`expected`,type:`uint64`},{name:`actual`,type:`uint64`}]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`UnexpectedEarnShares`,inputs:[{name:`reported`,type:`uint256`},{name:`measured`,type:`uint256`}]},{type:`error`,name:`UnexpectedRetainedAssets`,inputs:[{name:`beforeBalance`,type:`uint256`},{name:`afterBalance`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]},{type:`error`,name:`ZeroCampaignId`,inputs:[]},{type:`error`,name:`ZeroDeadline`,inputs:[]},{type:`error`,name:`ZeroMinimumEarnShares`,inputs:[]},{type:`error`,name:`ZeroRoot`,inputs:[]},{type:`error`,name:`ZeroSettlementId`,inputs:[]},{type:`error`,name:`ZeroStatementHash`,inputs:[]}],JT=[{type:`function`,name:`campaignId`,inputs:[{name:`earnVault`,type:`address`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`install`,inputs:[{name:`earnVault`,type:`address`},{name:`owner`,type:`address`},{name:`treasury`,type:`address`},{name:`claimDeadline`,type:`uint40`},{name:`targetYield`,type:`bool`},{name:`boostRewards`,type:`bool`}],outputs:[{name:`result`,type:`tuple`,components:[{name:`contributionController`,type:`address`},{name:`merkleDistributor`,type:`address`}]}],stateMutability:`nonpayable`},{type:`function`,name:`predictContributionController`,inputs:[{name:`earnVault`,type:`address`},{name:`owner`,type:`address`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictMerkleDistributor`,inputs:[{name:`earnVault`,type:`address`},{name:`owner`,type:`address`},{name:`treasury`,type:`address`},{name:`claimDeadline`,type:`uint40`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`ContributionControllerInstalled`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`contributionController`,type:`address`,indexed:!1}],anonymous:!1},{type:`event`,name:`MerkleDistributorInstalled`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`treasury`,type:`address`,indexed:!0},{name:`merkleDistributor`,type:`address`,indexed:!1},{name:`campaignId`,type:`bytes32`,indexed:!1},{name:`claimDeadline`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`error`,name:`EmptyInstallation`,inputs:[]},{type:`error`,name:`InvalidExistingDeployment`,inputs:[{name:`component`,type:`address`}]},{type:`error`,name:`InvalidRewardConfiguration`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]}],YT=[{type:`constructor`,inputs:[{name:`allowedZoneId_`,type:`uint32`},{name:`earnVault_`,type:`address`},{name:`privateAsset_`,type:`address`},{name:`tokenAuthority_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`allowedZoneId`,inputs:[],outputs:[{name:``,type:`uint32`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`onWithdrawalReceived`,inputs:[{name:`sourceZoneId`,type:`uint32`},{name:`sourcePortal`,type:`address`},{name:``,type:`bytes32`},{name:`token`,type:`address`},{name:`amount`,type:`uint128`},{name:`callbackData`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}],stateMutability:`nonpayable`},{type:`function`,name:`privateAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`reserveToken`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`supportsFlow`,inputs:[{name:`flow`,type:`uint8`}],outputs:[{name:``,type:`bool`}],stateMutability:`pure`},{type:`function`,name:`tokenAuthority`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`transactionLimit`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vaultAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`EarnDeposit`,inputs:[{name:`actionId`,type:`bytes32`,indexed:!0},{name:`earnVault`,type:`address`,indexed:!0},{name:`inputToken`,type:`address`,indexed:!0},{name:`inputAmount`,type:`uint256`,indexed:!1},{name:`vaultAssets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`zoneDepositHash`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnRedeem`,inputs:[{name:`actionId`,type:`bytes32`,indexed:!0},{name:`earnVault`,type:`address`,indexed:!0},{name:`outputToken`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`vaultAssets`,type:`uint256`,indexed:!1},{name:`outputAmount`,type:`uint256`,indexed:!1},{name:`zoneDepositHash`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`AmountExceedsLimit`,inputs:[]},{type:`error`,name:`AmountOverflow`,inputs:[]},{type:`error`,name:`BadFlow`,inputs:[]},{type:`error`,name:`InsufficientOutput`,inputs:[]},{type:`error`,name:`InvalidAuthority`,inputs:[]},{type:`error`,name:`InvalidEarnVault`,inputs:[]},{type:`error`,name:`InvalidPrivateAsset`,inputs:[]},{type:`error`,name:`InvalidReturnToken`,inputs:[]},{type:`error`,name:`InvalidRoutePair`,inputs:[]},{type:`error`,name:`InvalidSourcePortal`,inputs:[]},{type:`error`,name:`InvalidTransactionLimit`,inputs:[]},{type:`error`,name:`NotZoneMessenger`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`ResidualBalance`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`WrongInputToken`,inputs:[]},{type:`error`,name:`WrongSourceZone`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],XT=[{type:`constructor`,inputs:[],stateMutability:`nonpayable`},{type:`function`,name:`MAX_REWARD_RATE_MULTIPLIER`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`absorbEngineShareSurplus`,inputs:[{name:`engineShares_`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`acceptDistributor`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`acceptOperator`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accrueFees`,inputs:[],outputs:[{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`anchorEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`anchorEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`asyncJanitor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`cancelDistributorFeeUpdate`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelDistributorTransfer`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelOperatorTransfer`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`minReceiverEarnShares`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`contribute`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`receivedEngineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`convertEngineSharesToEarnShares`,inputs:[{name:`engineShares_`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`convertToEngineShares`,inputs:[{name:`earnShares`,type:`uint256`}],outputs:[{name:`engineShares_`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minEarnShares`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositVenueShares`,inputs:[{name:`venueShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minEarnShares`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositsPaused`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`disableFees`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`distributor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`distributorFee`,inputs:[],outputs:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`}],stateMutability:`view`},{type:`function`,name:`distributorUpdateDelay`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`earnFees`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`emergencyGuardian`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`engine`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`engineMigrationMode`,inputs:[],outputs:[{name:``,type:`uint8`}],stateMutability:`view`},{type:`function`,name:`engineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`executeDistributorFeeUpdate`,inputs:[],outputs:[{name:`feeConfigId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`finalizeRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`asset_`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initialize`,inputs:[{name:`engine_`,type:`address`},{name:`earnShare_`,type:`address`},{name:`earnFees_`,type:`address`},{name:`operator_`,type:`address`},{name:`controlInit_`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorInit_`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`isAccountingAligned`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`maxManagedAssets`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`migrateEngine`,inputs:[{name:`newEngine`,type:`address`},{name:`minNewEngineShares`,type:`uint256`},{name:`minAssetsRetained`,type:`uint256`}],outputs:[{name:`newEngineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`normalizedRewardRate`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`openRedeemRequestCount`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`operator`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingDistributor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingDistributorFeeUpdate`,inputs:[],outputs:[{name:``,type:`tuple`,components:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`},{name:`executableAt`,type:`uint40`},{name:`pending`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`pendingOperator`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`tuple`,components:[{name:`receiver`,type:`address`},{name:`requester`,type:`address`},{name:`burnedEarnShares`,type:`uint256`},{name:`engineShares`,type:`uint256`},{name:`open`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`earnShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`rawEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`earnShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`remainingDepositCapacity`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`requestRedeem`,inputs:[{name:`earnShares`,type:`uint256`},{name:`engineData`,type:`bytes`},{name:`receiver`,type:`address`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`rewardRateBaseline`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`scheduleDistributorFeeUpdate`,inputs:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setDepositsPaused`,inputs:[{name:`paused`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setEmergencyRoles`,inputs:[{name:`newGuardian`,type:`address`},{name:`newJanitor`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[{name:`configId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`setMaxManagedAssets`,inputs:[{name:`newMaxManagedAssets`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`surplusEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferDistributor`,inputs:[{name:`newDistributor`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`transferOperator`,inputs:[{name:`newOperator`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdrawExact`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`},{name:`maxEarnShares`,type:`uint256`}],outputs:[{name:`earnSharesBurned`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`Contributed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DepositPauseChanged`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`paused`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Deposited`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdateCancelled`,inputs:[{name:`distributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdateScheduled`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`recipient`,type:`address`,indexed:!0},{name:`rateBps`,type:`uint16`,indexed:!1},{name:`executableAt`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdated`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`rateBps`,type:`uint16`,indexed:!1},{name:`feeConfigId`,type:`uint64`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferCancelled`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`pendingDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferStarted`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`pendingDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferred`,inputs:[{name:`previousDistributor`,type:`address`,indexed:!0},{name:`newDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`earnShare`,type:`address`,indexed:!0},{name:`earnFees`,type:`address`,indexed:!0},{name:`operator`,type:`address`,indexed:!1},{name:`emergencyGuardian`,type:`address`,indexed:!1},{name:`asyncJanitor`,type:`address`,indexed:!1},{name:`maxManagedAssets`,type:`uint256`,indexed:!1},{name:`migrationMode`,type:`uint8`,indexed:!1},{name:`distributor`,type:`address`,indexed:!1},{name:`distributorUpdateDelay`,type:`uint40`,indexed:!1},{name:`distributorFeeRecipient`,type:`address`,indexed:!1},{name:`distributorFeeRateBps`,type:`uint16`,indexed:!1}],anonymous:!1},{type:`event`,name:`EmergencyRolesChanged`,inputs:[{name:`emergencyGuardian`,type:`address`,indexed:!0},{name:`asyncJanitor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`EngineMigrated`,inputs:[{name:`oldEngine`,type:`address`,indexed:!0},{name:`newEngine`,type:`address`,indexed:!0},{name:`oldEngineShares`,type:`uint256`,indexed:!1},{name:`assetsMoved`,type:`uint256`,indexed:!1},{name:`newEngineShares`,type:`uint256`,indexed:!1},{name:`totalEarnShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EngineShareShortfallReconciled`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`previousManagedEngineShares`,type:`uint256`,indexed:!1},{name:`observedRawEngineShares`,type:`uint256`,indexed:!1},{name:`shortfallEngineShares`,type:`uint256`,indexed:!1},{name:`totalEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EngineShareSurplusAbsorbed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`MaxManagedAssetsChanged`,inputs:[{name:`previousMaxManagedAssets`,type:`uint256`,indexed:!1},{name:`newMaxManagedAssets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OperatorTransferCancelled`,inputs:[{name:`operator`,type:`address`,indexed:!0},{name:`pendingOperator`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OperatorTransferStarted`,inputs:[{name:`operator`,type:`address`,indexed:!0},{name:`pendingOperator`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OperatorTransferred`,inputs:[{name:`previousOperator`,type:`address`,indexed:!0},{name:`newOperator`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`RedeemCancelled`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemFinalized`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`asset`,type:`address`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemRequested`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`requester`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VenueSharesDeposited`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`requestedVenueShares`,type:`uint256`,indexed:!1},{name:`receivedEngineShares`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`ActiveSupplyWithoutBacking`,inputs:[]},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`DepositsPaused`,inputs:[]},{type:`error`,name:`DistributorFeeUpdateNotPending`,inputs:[]},{type:`error`,name:`DistributorFeeUpdateNotReady`,inputs:[{name:`executableAt`,type:`uint40`}]},{type:`error`,name:`DistributorTransferNotPending`,inputs:[]},{type:`error`,name:`DuplicateRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`EngineAssetMismatch`,inputs:[]},{type:`error`,name:`EngineCapabilityUnsupported`,inputs:[{name:`interfaceId`,type:`bytes4`}]},{type:`error`,name:`EngineEarnVaultMismatch`,inputs:[]},{type:`error`,name:`EngineExitUnsupported`,inputs:[]},{type:`error`,name:`ExceedsMaxEarnShares`,inputs:[]},{type:`error`,name:`ExcessiveConversionLoss`,inputs:[{name:`inputShares`,type:`uint256`},{name:`representedShares`,type:`uint256`}]},{type:`error`,name:`ExcessiveMigrationClassificationError`,inputs:[{name:`expectedManagedAssets`,type:`uint256`},{name:`actualManagedAssets`,type:`uint256`}]},{type:`error`,name:`FeeValuationStale`,inputs:[]},{type:`error`,name:`FinalizedAssetMismatch`,inputs:[{name:`finalizedAsset`,type:`address`}]},{type:`error`,name:`GlobalFeeDisableUnavailable`,inputs:[]},{type:`error`,name:`InitialEarnShareSupplyNotZero`,inputs:[]},{type:`error`,name:`InsufficientEngineShareSurplus`,inputs:[{name:`available`,type:`uint256`},{name:`requested`,type:`uint256`}]},{type:`error`,name:`InsufficientOutput`,inputs:[]},{type:`error`,name:`InvalidDistributorConfiguration`,inputs:[]},{type:`error`,name:`InvalidDistributorFeeConfiguration`,inputs:[]},{type:`error`,name:`InvalidEarnDecimals`,inputs:[]},{type:`error`,name:`InvalidEngineShareScale`,inputs:[]},{type:`error`,name:`MaxManagedAssetsExceeded`,inputs:[{name:`maximum`,type:`uint256`},{name:`actual`,type:`uint256`}]},{type:`error`,name:`MinimumAssetsNotMet`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`MinimumEarnSharesNotMet`,inputs:[{name:`minimumEarnShares`,type:`uint256`},{name:`actualEarnShares`,type:`uint256`}]},{type:`error`,name:`MinimumEngineSharesNotMet`,inputs:[{name:`minimumEngineShares`,type:`uint256`},{name:`actualEngineShares`,type:`uint256`}]},{type:`error`,name:`NoEarnShares`,inputs:[]},{type:`error`,name:`NotDistributor`,inputs:[]},{type:`error`,name:`NotEmergencyGuardianOrOperator`,inputs:[]},{type:`error`,name:`NotEngine`,inputs:[]},{type:`error`,name:`NotOperator`,inputs:[]},{type:`error`,name:`NotPendingDistributor`,inputs:[]},{type:`error`,name:`NotPendingOperator`,inputs:[]},{type:`error`,name:`NotRequesterOrJanitor`,inputs:[]},{type:`error`,name:`OperatorMigrationDisabled`,inputs:[]},{type:`error`,name:`OperatorTransferNotPending`,inputs:[]},{type:`error`,name:`PendingRedeemsOpen`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`RequestNotOpen`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`ResidualBacking`,inputs:[]},{type:`error`,name:`RewardRateLimitExceeded`,inputs:[{name:`normalizedRate`,type:`uint256`},{name:`baselineRate`,type:`uint256`}]},{type:`error`,name:`SameEngine`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]},{type:`error`,name:`ZeroMinimumAssets`,inputs:[]},{type:`error`,name:`ZeroMinimumEarnShares`,inputs:[]},{type:`error`,name:`ZeroMinimumEngineShares`,inputs:[]}],ZT=[{type:`constructor`,inputs:[{name:`vault_`,type:`address`},{name:`owner_`,type:`address`},{name:`nameOverride_`,type:`string`},{name:`symbolOverride_`,type:`string`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`baseAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositInKind`,inputs:[{name:`venueShares`,type:`uint256`},{name:`from`,type:`address`}],outputs:[{name:`engineSharesReceived`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`},{name:`finalOwner_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`pure`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`Deposited`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`earnVault`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VenueSharesDeposited`,inputs:[{name:`from`,type:`address`,indexed:!0},{name:`requestedVenueShares`,type:`uint256`,indexed:!1},{name:`receivedEngineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`EarnVaultNotSet`,inputs:[]},{type:`error`,name:`EmptyMetadata`,inputs:[]},{type:`error`,name:`InsufficientAssetsReceived`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`InvalidVenueShareDecimals`,inputs:[]},{type:`error`,name:`NoVenueSharesReceived`,inputs:[]},{type:`error`,name:`NotEarnVault`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`TransferFailed`,inputs:[]},{type:`error`,name:`UnexpectedAssetsReceived`,inputs:[{name:`expectedAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesBurned`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]}],QT=[{type:`function`,name:`ENGINE_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`computeEngineSalt`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`deploy`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:`engine`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`predictEngine`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`ERC4626EngineDeployed`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`vault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`asset`,type:`address`,indexed:!1},{name:`deploymentId`,type:`bytes32`,indexed:!1},{name:`engineSalt`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`EmptyDeploymentId`,inputs:[]},{type:`error`,name:`EngineAlreadyExists`,inputs:[{name:`engine`,type:`address`}]},{type:`error`,name:`FactoryCannotBeFinalOwner`,inputs:[]}],$T=[{type:`constructor`,inputs:[{name:`peripheryRegistry_`,type:`address`},{name:`owner_`,type:`address`},{name:`maxRateAge_`,type:`uint64`},{name:`name_`,type:`string`},{name:`symbol_`,type:`string`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accountant`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`accountantRateUpdatedAt`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`authorizedForwarder`,inputs:[{name:`forwarder`,type:`address`}],outputs:[{name:`authorized`,type:`bool`}],stateMutability:`view`},{type:`function`,name:`baseAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`claimQueue`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`claimRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`finalizeOneExternal`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`forwardSolved`,inputs:[{name:`requestIds`,type:`bytes32[]`},{name:`asset_`,type:`address`},{name:`delta`,type:`uint256`}],outputs:[{name:`claimed`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`getClaim`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`status`,type:`uint8`},{name:`request`,type:`tuple`,components:[{name:`nonce`,type:`uint96`},{name:`user`,type:`address`},{name:`assetOut`,type:`address`},{name:`amountOfShares`,type:`uint128`},{name:`amountOfAssets`,type:`uint128`},{name:`creationTime`,type:`uint40`},{name:`secondsToMaturity`,type:`uint24`},{name:`secondsToDeadline`,type:`uint24`}]}],stateMutability:`view`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`},{name:`finalOwner_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`maxRateAge`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`openClaimsByQueue`,inputs:[{name:`requestQueue`,type:`address`}],outputs:[{name:`count`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`peripheryRegistry`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`peripheryVersion`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`queue`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`rate`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`recoverExternalSettlement`,inputs:[{name:`requestIds`,type:`bytes32[]`}],outputs:[{name:`claimed`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`requestRedeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`requestData`,type:`bytes`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`setAuthorizedForwarder`,inputs:[{name:`account`,type:`address`},{name:`authorized`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxRateAge`,inputs:[{name:`newMaxRateAge`,type:`uint64`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`settled`,inputs:[{name:`asset`,type:`address`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`sweepDust`,inputs:[{name:`token`,type:`address`},{name:`to`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`syncVedaPeriphery`,inputs:[{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`teller`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`unresolvedClaimCount`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`AuthorizedForwarderChanged`,inputs:[{name:`account`,type:`address`,indexed:!0},{name:`authorized`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Deposited`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DustSwept`,inputs:[{name:`token`,type:`address`,indexed:!0},{name:`to`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`earnVault`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`ExternalSettlementRecovered`,inputs:[{name:`requestCount`,type:`uint256`,indexed:!1},{name:`recoveredAssets`,type:`uint256`,indexed:!1},{name:`claimed`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FinalizeFailed`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Finalized`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`MaxRateAgeUpdated`,inputs:[{name:`oldMaxRateAge`,type:`uint64`,indexed:!1},{name:`newMaxRateAge`,type:`uint64`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`RedeemCancelledOnQueue`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`engineShares`,type:`uint128`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemClaimed`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemRequested`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`assetOut`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint128`,indexed:!1}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Settled`,inputs:[{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`newTotal`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Unearmarked`,inputs:[{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`newTotal`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VedaEngineInitialized`,inputs:[{name:`teller`,type:`address`,indexed:!0},{name:`queue`,type:`address`,indexed:!0},{name:`accountant`,type:`address`,indexed:!0},{name:`peripheryVersion`,type:`uint64`,indexed:!1},{name:`maxRateAge`,type:`uint64`,indexed:!1}],anonymous:!1},{type:`event`,name:`VedaPeripheryUpdated`,inputs:[{name:`registryVersion`,type:`uint64`,indexed:!0},{name:`oldTeller`,type:`address`,indexed:!0},{name:`oldQueue`,type:`address`,indexed:!0},{name:`oldAccountant`,type:`address`,indexed:!1},{name:`newTeller`,type:`address`,indexed:!1},{name:`newQueue`,type:`address`,indexed:!1},{name:`newAccountant`,type:`address`,indexed:!1},{name:`validatedRate`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`AssetsNotArrived`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`BaseAssetSweepBlocked`,inputs:[{name:`unresolvedClaims`,type:`uint256`}]},{type:`error`,name:`CannotSweepEngineBacking`,inputs:[]},{type:`error`,name:`ClaimNotClaimable`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`ClaimNotOpen`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`CreditExceedsBalance`,inputs:[{name:`asset`,type:`address`},{name:`have`,type:`uint256`},{name:`wantTotal`,type:`uint256`}]},{type:`error`,name:`DepositsNotPaused`,inputs:[]},{type:`error`,name:`DuplicateRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`EarnVaultNotSet`,inputs:[]},{type:`error`,name:`EmptyMetadata`,inputs:[]},{type:`error`,name:`EngineSharesTooLarge`,inputs:[{name:`engineShares`,type:`uint256`}]},{type:`error`,name:`InsufficientAssetsReceived`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`InvalidAsset`,inputs:[{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`InvalidMaxRateAge`,inputs:[]},{type:`error`,name:`InvalidRateTimestamp`,inputs:[{name:`updatedAt`,type:`uint256`},{name:`currentTime`,type:`uint256`}]},{type:`error`,name:`InvalidTrackedRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`InvalidVedaPeriphery`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`InvalidVedaPeripheryWiring`,inputs:[{name:`component`,type:`address`},{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`InvalidVedaRateBounds`,inputs:[{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}]},{type:`error`,name:`InvalidVenueShareDecimals`,inputs:[]},{type:`error`,name:`NoPublishedVedaPeriphery`,inputs:[]},{type:`error`,name:`NoRecoverableClaims`,inputs:[]},{type:`error`,name:`NoVenueSharesReceived`,inputs:[]},{type:`error`,name:`NotAuthorizedForwarder`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`NotEarnVault`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`NotSelf`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`QueueTrackingDisabled`,inputs:[{name:`queue`,type:`address`}]},{type:`error`,name:`QueueUnavailable`,inputs:[]},{type:`error`,name:`QueuedAssetsBelowMinimum`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`RateChangedWithinTransaction`,inputs:[{name:`expected`,type:`uint256`},{name:`actual`,type:`uint256`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`RegistryEngineMismatch`,inputs:[{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`SolveUnderfunded`,inputs:[{name:`asset`,type:`address`},{name:`delivered`,type:`uint256`},{name:`required`,type:`uint256`}]},{type:`error`,name:`StaleAccountantRate`,inputs:[{name:`updatedAt`,type:`uint256`},{name:`currentTime`,type:`uint256`},{name:`maxAge`,type:`uint256`}]},{type:`error`,name:`SweepExceedsAvailableBalance`,inputs:[{name:`token`,type:`address`},{name:`available`,type:`uint256`},{name:`requested`,type:`uint256`}]},{type:`error`,name:`TransferFailed`,inputs:[]},{type:`error`,name:`UnexpectedAssetsReceived`,inputs:[{name:`expectedAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesBurned`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesQueued`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`UnsupportedAccountantFreshness`,inputs:[{name:`accountant`,type:`address`}]},{type:`error`,name:`VedaRateOutOfBounds`,inputs:[{name:`rate`,type:`uint256`},{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroMinimumQueuedAssets`,inputs:[]}],eE=[{name:`tempoGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`maxWithdrawalsPerBlock`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`lastBatch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`withdrawalQueueHash`},{type:`uint64`,name:`withdrawalBatchIndex`}]}]},{name:`lastFinalizedTimestamp`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`nextWithdrawalIndex`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`lastFallbackNonce`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`pendingWithdrawalsCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPendingWithdrawals`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,components:[{type:`address`,name:`token`},{type:`address`,name:`sender`},{type:`bytes32`,name:`txHash`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`callbackData`},{type:`bytes`,name:`revealTo`}]}]},{name:`consumeFallbackRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`fallbackNonce`}],outputs:[{type:`address`,name:`recipient`}]},{name:`calculateWithdrawalFee`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`gasLimit`}],outputs:[{type:`uint128`,name:`fee`}]},{name:`MAX_CALLBACK_DATA_SIZE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MAX_WITHDRAWAL_GAS_LIMIT`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`WITHDRAWAL_BASE_GAS`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`REVEAL_TO_KEY_LENGTH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`setTempoGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`_tempoGasRate`}],outputs:[]},{name:`setMaxWithdrawalsPerBlock`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`_maxWithdrawalsPerBlock`}],outputs:[]},{name:`requestWithdrawal`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`address`,name:`zoneFallbackRecipient`},{type:`bytes`,name:`data`},{type:`bytes`,name:`revealTo`}],outputs:[]},{name:`enqueueDepositBounceBack`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`address`,name:`tempoRefundRecipient`}],outputs:[]},{name:`finalizeWithdrawalBatch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`count`},{type:`uint64`,name:`blockNumber`},{type:`bytes[]`,name:`encryptedSenders`}],outputs:[{type:`bytes32`,name:`withdrawalQueueHash`}]},{name:`WithdrawalRequested`,type:`event`,inputs:[{type:`uint64`,name:`withdrawalIndex`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`fee`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`data`},{type:`bytes`,name:`revealTo`}]},{name:`BatchFinalized`,type:`event`,inputs:[{type:`bytes32`,name:`withdrawalQueueHash`,indexed:!0},{type:`uint64`,name:`withdrawalBatchIndex`}]},{name:`TempoGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`tempoGasRate`}]},{name:`MaxWithdrawalsPerBlockUpdated`,type:`event`,inputs:[{type:`uint32`,name:`maxWithdrawalsPerBlock`}]},{name:`OnlySequencer`,type:`error`,inputs:[]},{name:`GasLimitTooHigh`,type:`error`,inputs:[]},{name:`OnlyZoneInbox`,type:`error`,inputs:[]},{name:`InvalidWithdrawalCount`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidEncryptedSenderCount`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidEncryptedSenderLength`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidFallbackRecipient`,type:`error`,inputs:[]},{name:`CallbackDataTooLarge`,type:`error`,inputs:[]},{name:`GasFeeRateTooHigh`,type:`error`,inputs:[]},{name:`TransferFailed`,type:`error`,inputs:[]},{name:`InvalidBlockNumber`,type:`error`,inputs:[]},{name:`TooManyWithdrawalsThisBlock`,type:`error`,inputs:[]},{name:`InvalidRevealTo`,type:`error`,inputs:[]},{name:`InvalidCurrentTxHash`,type:`error`,inputs:[]},{name:`ZeroAmountWithdrawal`,type:`error`,inputs:[]},{name:`StaticCallNotAllowed`,type:`error`,inputs:[]}],tE=[{name:`relayMessage`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`token`},{type:`bytes32`,name:`senderTag`},{type:`address`,name:`target`},{type:`uint128`,name:`amount`},{type:`uint64`,name:`gasLimit`},{type:`bytes`,name:`data`}],outputs:[]}],nE=[{type:`constructor`,inputs:[{name:`baseToken_`,type:`address`,internalType:`contract ITIP20`},{name:`quoteToken_`,type:`address`,internalType:`contract ITIP20`},{name:`oracle_`,type:`address`,internalType:`contract IPriceOracle`},{name:`addressRegistry_`,type:`address`,internalType:`contract IAddressRegistry`},{name:`owner_`,type:`address`,internalType:`address`},{name:`guardian_`,type:`address`,internalType:`address`},{name:`maxOracleAge_`,type:`uint256`,internalType:`uint256`},{name:`maxPriceDeviationBps_`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`BPS`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`addressRegistry`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IAddressRegistry`}],stateMutability:`view`},{type:`function`,name:`baseDecimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`baseToQuotePriceAnchor`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`baseToken`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract ITIP20`}],stateMutability:`view`},{type:`function`,name:`fund`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`amount`,type:`uint256`,internalType:`uint256`},{name:`memo`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`guardian`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`maxOracleAge`,inputs:[],outputs:[{name:``,type:`uint80`,internalType:`uint80`}],stateMutability:`view`},{type:`function`,name:`maxPriceDeviationBps`,inputs:[],outputs:[{name:``,type:`uint16`,internalType:`uint16`}],stateMutability:`view`},{type:`function`,name:`oracle`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IPriceOracle`}],stateMutability:`view`},{type:`function`,name:`oracleDecimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`pause`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`paused`,inputs:[],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`priceAnchor`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`}],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`priceScale`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteDecimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`quoteExactInput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountIn`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountOut`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteExactInputFor`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountIn`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountOut`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`creditAfter`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteExactOutput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountOut`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountIn`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteExactOutputFor`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountOut`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountIn`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`creditAfter`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteToBasePriceAnchor`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteToken`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract ITIP20`}],stateMutability:`view`},{type:`function`,name:`recipientAllowed`,inputs:[{name:`recipient`,type:`address`,internalType:`address`}],outputs:[{name:`allowed`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`resetPriceAnchor`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`resolveRecipient`,inputs:[{name:`recipient`,type:`address`,internalType:`address`}],outputs:[{name:`resolved`,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`roundingCredit`,inputs:[{name:`routeKey`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`credit`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`roundingRouteKey`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`setGuardian`,inputs:[{name:`newGuardian`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxOracleAge`,inputs:[{name:`newMaxOracleAge`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxPriceDeviationBps`,inputs:[{name:`newMaxPriceDeviationBps`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setOracle`,inputs:[{name:`newOracle`,type:`address`,internalType:`contract IPriceOracle`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setRecipientAllowed`,inputs:[{name:`recipient`,type:`address`,internalType:`address`},{name:`allowed`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setTakerAllowed`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`allowed`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`swapExactInput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountIn`,type:`uint256`,internalType:`uint256`},{name:`minAmountOut`,type:`uint256`,internalType:`uint256`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`tradeId`,type:`bytes32`,internalType:`bytes32`},{name:`deadline`,type:`uint256`,internalType:`uint256`},{name:`expectedOraclePrice`,type:`uint256`,internalType:`uint256`},{name:`oraclePriceToleranceBps`,type:`uint256`,internalType:`uint256`},{name:`minimumOracleUpdatedAt`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountOut`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`swapExactOutput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountOut`,type:`uint256`,internalType:`uint256`},{name:`maxAmountIn`,type:`uint256`,internalType:`uint256`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`tradeId`,type:`bytes32`,internalType:`bytes32`},{name:`deadline`,type:`uint256`,internalType:`uint256`},{name:`expectedOraclePrice`,type:`uint256`,internalType:`uint256`},{name:`oraclePriceToleranceBps`,type:`uint256`,internalType:`uint256`},{name:`minimumOracleUpdatedAt`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountIn`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`takerAllowed`,inputs:[{name:`taker`,type:`address`,internalType:`address`}],outputs:[{name:`allowed`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`unpause`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdraw`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`amount`,type:`uint256`,internalType:`uint256`},{name:`memo`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`Funded`,inputs:[{name:`token`,type:`address`,indexed:!0,internalType:`address`},{name:`amount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`memo`,type:`bytes32`,indexed:!0,internalType:`bytes32`}],anonymous:!1},{type:`event`,name:`GuardianUpdated`,inputs:[{name:`oldGuardian`,type:`address`,indexed:!0,internalType:`address`},{name:`newGuardian`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`MaxOracleAgeUpdated`,inputs:[{name:`oldMaxAge`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newMaxAge`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`MaxPriceDeviationBpsUpdated`,inputs:[{name:`oldMaxPriceDeviationBps`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newMaxPriceDeviationBps`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`OracleUpdated`,inputs:[{name:`oldOracle`,type:`address`,indexed:!0,internalType:`address`},{name:`newOracle`,type:`address`,indexed:!0,internalType:`address`},{name:`decimals`,type:`uint8`,indexed:!1,internalType:`uint8`}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`oldOwner`,type:`address`,indexed:!0,internalType:`address`},{name:`pendingOwner`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`oldOwner`,type:`address`,indexed:!0,internalType:`address`},{name:`newOwner`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`PausedStateChanged`,inputs:[{name:`paused`,type:`bool`,indexed:!1,internalType:`bool`}],anonymous:!1},{type:`event`,name:`PriceAnchorUpdated`,inputs:[{name:`baseToQuote`,type:`bool`,indexed:!0,internalType:`bool`},{name:`oldAnchor`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newAnchor`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`RecipientPermissionUpdated`,inputs:[{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`allowed`,type:`bool`,indexed:!1,internalType:`bool`}],anonymous:!1},{type:`event`,name:`RoundingCreditUpdated`,inputs:[{name:`routeKey`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`previousCredit`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newCredit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`TakerPermissionUpdated`,inputs:[{name:`taker`,type:`address`,indexed:!0,internalType:`address`},{name:`allowed`,type:`bool`,indexed:!1,internalType:`bool`}],anonymous:!1},{type:`event`,name:`TradeExecuted`,inputs:[{name:`taker`,type:`address`,indexed:!0,internalType:`address`},{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`customerId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`tradeId`,type:`bytes32`,indexed:!1,internalType:`bytes32`},{name:`tokenIn`,type:`address`,indexed:!1,internalType:`address`},{name:`tokenOut`,type:`address`,indexed:!1,internalType:`address`},{name:`amountIn`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`amountOut`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`oraclePrice`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`oracleUpdatedAt`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Withdrawn`,inputs:[{name:`token`,type:`address`,indexed:!0,internalType:`address`},{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`amount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`memo`,type:`bytes32`,indexed:!1,internalType:`bytes32`}],anonymous:!1},{type:`error`,name:`AmountIsZero`,inputs:[]},{type:`error`,name:`CustomerIdIsZero`,inputs:[]},{type:`error`,name:`DeadlineExpired`,inputs:[{name:`deadline`,type:`uint256`,internalType:`uint256`},{name:`currentTimestamp`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`ExactBalanceDeltaFailed`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`expected`,type:`uint256`,internalType:`uint256`},{name:`actual`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`FutureOracleTimestamp`,inputs:[{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`currentTime`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InsufficientInventory`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`available`,type:`uint256`,internalType:`uint256`},{name:`required`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidAddress`,inputs:[]},{type:`error`,name:`InvalidMaxOracleAge`,inputs:[]},{type:`error`,name:`InvalidMaxPriceDeviationBps`,inputs:[{name:`supplied`,type:`uint256`,internalType:`uint256`},{name:`maximum`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidOraclePriceToleranceBps`,inputs:[{name:`supplied`,type:`uint256`,internalType:`uint256`},{name:`maximum`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidPrice`,inputs:[]},{type:`error`,name:`NotGuardianOrOwner`,inputs:[]},{type:`error`,name:`NotOwner`,inputs:[]},{type:`error`,name:`NotPaused`,inputs:[]},{type:`error`,name:`NotPendingOwner`,inputs:[]},{type:`error`,name:`OracleDecimalsChanged`,inputs:[{name:`currentDecimals`,type:`uint8`,internalType:`uint8`},{name:`proposedDecimals`,type:`uint8`,internalType:`uint8`}]},{type:`error`,name:`OraclePriceToleranceExceeded`,inputs:[{name:`expectedPrice`,type:`uint256`,internalType:`uint256`},{name:`actualPrice`,type:`uint256`,internalType:`uint256`},{name:`toleranceBps`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`OracleTimestampTooOld`,inputs:[{name:`minimumUpdatedAt`,type:`uint256`,internalType:`uint256`},{name:`actualUpdatedAt`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`Paused`,inputs:[]},{type:`error`,name:`PriceAnchorNotInitialized`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`}]},{type:`error`,name:`PriceDeviationExceeded`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`anchor`,type:`uint256`,internalType:`uint256`},{name:`maxDeviationBps`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`RecipientNotAllowed`,inputs:[{name:`recipient`,type:`address`,internalType:`address`}]},{type:`error`,name:`ReentrancyGuardReentrantCall`,inputs:[]},{type:`error`,name:`SameToken`,inputs:[]},{type:`error`,name:`SlippageExceeded`,inputs:[{name:`limit`,type:`uint256`,internalType:`uint256`},{name:`actual`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`StaleOraclePrice`,inputs:[{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`maxAge`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`TakerNotAllowed`,inputs:[{name:`taker`,type:`address`,internalType:`address`}]},{type:`error`,name:`TokenTransferFailed`,inputs:[{name:`token`,type:`address`,internalType:`address`}]},{type:`error`,name:`UnsupportedDecimals`,inputs:[{name:`baseDecimals`,type:`uint8`,internalType:`uint8`},{name:`quoteDecimals`,type:`uint8`,internalType:`uint8`},{name:`oracleDecimals`,type:`uint8`,internalType:`uint8`}]},{type:`error`,name:`UnsupportedToken`,inputs:[{name:`token`,type:`address`,internalType:`address`}]}],rE=[...ST,...CT,...TT,...MT,...jT,...wT,...ET,...DT,...OT,...kT,...AT,...V,...NT,...PT,...FT,...LT,...IT,...RT,...zT,...BT],iE=[...VT,...HT,...UT,...WT,...GT,...KT,...qT,...JT,...YT,...XT,...ZT,...QT,...$T],aE=[...tE,...eE],oE=[...nE],sE=[...rE,...iE,...aE,...oE];yT(0),yT(0,42431);let cE=`0xaAAAaaAA00000000000000000000000000000000`,lE=`0xfeec000000000000000000000000000000000000`,uE=`0xAACC000000000000000000000000000000000000`,dE=`0xdec0000000000000000000000000000000000000`;function fE(e){let t=bC(e);if(t.type===`multisig`||t.type===`keychain`)throw Error(`Multisig owners must use primitive signatures.`);return t}R();function pE(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||t?.source===`accessKey`||t?.source===`multisig`||e.calls!==void 0||e.feePayer!==void 0||e.feePayerSignature!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.multisigSimulation!==void 0||e.nonceKey!==void 0||e.owner!==void 0||e.signature!==void 0||e.signatures!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:qd(e)}function mE(e){try{return pE(e)===`tempo`}catch{return!1}}function hE(e){let t=F(e,0,1);return t===`0x76`||t===`0x78`?_E(e):Sy(e)}async function gE(e,t){if(!mE(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 zh(e,{r:P(n,{size:32}),s:P(r,{size:32}),yParity:i})}return zh(e,t)}if(pE(e)===`tempo`)return vE(e,t);throw Error(`Unsupported transaction type`)}function _E(e){let{feePayerSignature:t,nonce:n,...r}=Nw(e);return{...r,nonce:Number(n??0n),feePayerSignature:t&&{r:P(t.r,{size:32}),s:P(t.s,{size:32}),yParity:t.yParity}}}async function vE(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return bC({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,multisigSimulation:a,nonce:o,owner:s,...c}=e,l=(()=>{let t=e.feePayerSignature;if(t)return{r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)};if(t===null||i)return null})(),u=e.feePayerSignature!==void 0&&e.feePayerSignature!==null,d=n!==void 0||!!(a&&e.signatures),f=i===!0&&(!d||!l)||typeof i==`object`&&!d||!d&&u,p={...c,calls:c.calls?.length?c.calls:[{to:c.to||(!c.data||c.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:c.value,data:c.data}],chainId:Number(r),feePayerSignature:l,type:`tempo`,...o?{nonce:BigInt(o)}:{}},m={...p};f&&delete m.feeToken;let h=(()=>{if(n)return n;if(!a||!e.signatures)return;let t=Lw(Pw(m)),r=e.signatures.map(e=>fE(e)),i=$S(a.config),o=e.from;if(!o)throw Error(`A multisig sender is required for signing.`);return bC({account:o,config:i,signatures:wC({account:o,config:i,payload:t,signatures:r})})})();if(h&&typeof e.feePayer==`object`){let t=Pw(p,{signature:h}),n=zw(t,{sender:e.from??gC({payload:Lw(t),root:!0,signature:h})});return Fw(t,{feePayerSignature:Gv(await e.feePayer.sign({hash:n}))})}return i===!0||!h&&u?h&&l?Fw(m,{signature:h}):h?Fw(m,{format:`feePayer`,sender:e.from,signature:h}):Fw(m,{feePayerSignature:null}):Fw(m,{feePayerSignature:void 0,signature:h})}R(),ga(),pi();function yE(e){let{access:t}=e;return t?FE(e):PE(e)}function bE(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=Ux({privateKey:e});return yE({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=GS({...t,challenge:n,rpId:i,origin:a});return CC({metadata:r,signature:Wx({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function xE(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Ux({privateKey:e});return yE({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return CC({signature:Wx({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function SE(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=dy({privateKey:e});return yE({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Yv(my({payload:n,privateKey:e}))}})}function CE(e){let t=(()=>{if(typeof e==`string`)return;let{address:t,...n}=e;return n})(),n=(()=>{if(!t)return;let e=t.owners.map(e=>typeof e==`string`||`address`in e?{owner:e,weight:1}:e);return $S({...t,owners:e.map(({owner:e,weight:t})=>({owner:typeof e==`string`?e:e.address,weight:t})),threshold:t.threshold??1})})();if(typeof e!=`string`){if((e.address===void 0||e.address===`infer`)&&n.version!==0n)throw Error(`An initial multisig config must have version zero.`);if(e.address!==void 0&&e.address!==`infer`&&n.version===0n)throw Error(`A current multisig config must have a version.`)}let r=I_(typeof e==`string`?e:e.address===void 0||e.address===`infer`?nC(n,{factory:`0x7171717171717171717171717171717171717171`}):e.address),i=t?t.owners.flatMap(e=>{let t=typeof e==`string`||`address`in e?e:e.owner;return typeof t==`string`?[]:[j(t)]}):[];if(i.some(e=>e.source===`multisig`||AE(e)))throw Error(`Multisig owners must use primitive signatures.`);let a=n?.owners.flatMap(({owner:e})=>{let t=i.find(t=>z_(t.address,e));return t?[t]:[]})??[],o={address:r,config:n,owners:a,publicKey:`0x`,source:`multisig`,type:`local`,async sign({hash:e}){return CC(await TE(o,{payload:e}))},async signMessage(){throw Error(\"`signMessage` is not supported for multisig accounts.\")},async signTransaction(e,t){let{serializer:n=gE}=t??{},i=e;if(i.owner){let e=j(i.owner);if(e.type!==`local`)throw Error(`A local owner account is required to approve a multisig transaction.`);if(e.source!==`root`)throw Error(`A Tempo owner account is required to approve a multisig transaction.`);let{owner:n,...r}=i;return await e.signTransaction(r,t)}if(a.length===0)return await n(e);let s=fi(await n({...i,signatures:void 0,...i.feePayerSignature===void 0?{}:{feePayerSignature:null}})),c=i.multisigSimulation;if(i.from&&!z_(i.from,r))throw Error(`Multisig account does not match the transaction sender.`);return await n(e,await TE(o,{config:c?.config,payload:s,signatures:i.signatures?.map(e=>fE(e))}))},async signTypedData(){throw Error(\"`signTypedData` is not supported for multisig accounts.\")}};return o}function wE(e){return e.source===`multisig`}async function TE(e,t){let{config:n,payload:r,signatures:i=[]}=t,a=n??e.config;if(!a)throw Error(`A current multisig config is required for local signing.`);let o=rC({account:e.address,config:a,payload:r}),s=[...i],c=new Set,l=0;for(let e of i){let t=gC({payload:o,signature:e}).toLowerCase(),n=a.owners.find(e=>z_(e.owner,t));!n||c.has(t)||(c.add(t),l+=Number(n.weight))}let u=[...a.owners].sort((e,t)=>Number(t.weight)-Number(e.weight)||e.owner.toLowerCase().localeCompare(t.owner.toLowerCase()));for(let t of u){if(l>=Number(a.threshold))break;let n=t.owner.toLowerCase();if(c.has(n))continue;let r=e.owners.find(e=>z_(e.address,t.owner));if(r){if(!r.sign)throw Error(`Multisig owner account cannot sign.`);if(s.push(fE(await r.sign({hash:o}))),c.add(n),l+=Number(t.weight),l>=Number(a.threshold))break}}if(l<Number(a.threshold))throw Error(`Local multisig owners do not meet the threshold.`);return bC({account:e.address,config:a,signatures:wC({account:e.address,config:a,payload:r,signatures:s})})}function EE(e,t={}){let{id:n}=e,r=E_(e.publicKey);return yE({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await KS({...t,challenge:e,credentialId:n});return CC({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function DE(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return yE({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return CC({signature:await YS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function OE(e,t){let n=kE(t);return AE(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function kE(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return aw({chainId:t,channelId:typeof n==`string`?n:rw(n,{chainId:t}),cumulativeAmount:r})}function AE(e){return e.source===`accessKey`&&`accessKeyAddress`in e}function jE(e,t){let{admin:n,chainId:r,expiry:i,key:a,limits:o,scopes:s,witness:c}=t,{accessKeyAddress:l,keyType:u}=IE(a),d=AE(e)||wE(e)?{account:e.address}:{},f=n?{}:{expiry:i,limits:o,scopes:s};return uw({address:l,chainId:r,type:u,witness:c,...n?{isAdmin:!0}:{},...d,...f})}async function ME(e,t){let{admin:n,chainId:r,expiry:i,key:a,limits:o,multisig:s,scopes:c,signatures:l,witness:u}=t,{accessKeyAddress:d,keyType:f}=IE(a),p=AE(e),m=wE(e),h=p||m?{account:e.address}:{},g=n?{}:{expiry:i,limits:o,scopes:c},_=jE(e,t);return sw({address:d,chainId:r,signature:bC(await(async()=>{if(p)return e.sign({hash:_,raw:!0});if(m){if(!s)throw Error(`Multisig state is required to sign a key authorization.`);return CC(await TE(e,{config:s.config,payload:_,signatures:l?.map(e=>fE(e))}))}return e.sign({hash:_})})()),type:f,...u?{witness:u}:{},...n?{isAdmin:!0}:{},...h,...g})}function NE(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??R_(e.publicKey),o=O_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?fi(N(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?CC(bC({userAddress:n,inner:bC(o),type:`keychain`,version:i})):o}return{address:I_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=bC(await s({hash:Lu({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:P(a,{size:32}),s:P(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:mg(t)})},async signTransaction(e,t){let{serializer:n=gE}=t??{},r=fi(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),{multisigSimulation:i,from:a}=e;if(i){if(!a)throw Error(`A multisig sender is required for signing.`);return await s({hash:rC({account:a,config:$S(i.config),payload:r}),raw:!0})}return await n(e,bC(await s({hash:r})))},async signTypedData(e){return await s({hash:Cg(e)})},async signVoucher(e){let t=kE(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function PE(e){let t=NE(e);return{...t,source:`root`,async signKeyAuthorization(e,n){let{chainId:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=n,{accessKeyAddress:l,keyType:u}=IE(e),d=c?{}:{expiry:i,limits:a,scopes:o};return sw({address:l,chainId:r,signature:bC(await t.sign({hash:uw({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function FE(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=j(t);return{...NE({...e,parentAddress:r}),accessKeyAddress:R_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function IE(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:R_(E_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let LE=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function RE(e,t){return LE.indexOf(e)<LE.indexOf(t)}af(),xa();function zE(e,t){let{decimals:n,token:r}=t;if(e&&typeof r==`string`){let t=VE(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=KC(r);return{address:i,decimals:n??(e?UE(e,i):void 0)}}function BE(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=VE(e,t);if(n)return n}let i=KC(t);for(let e of n){let t=HE(e,r);if(t&&rf(t.address,i))return t}}function VE(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=t.toLowerCase();for(let e of n)if(e.symbol?.toLowerCase()===i)return HE(e,r)}function HE(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function UE(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=HE(e,r);if(n&&rf(n.address,t))return n.decimals}}async function WE(e,t){let{address:n,decimals:r}=zE(e,t);return r===void 0?{address:n,decimals:await Xm(e,{abi:V,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function GE(e){let{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,owner:d,validAfter:f,validBefore:p}=e;return{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,owner:d,validAfter:f,validBefore:p}}function KE(e){return e.length===2?e:[void 0,e[0]]}function H(e){return{...e,data:ba(e),to:e.address}}async function qE(e,t){let n=await e.request({method:`multisig_getConfig`,params:[{address:t.address}]});return n?eC(n):null}async function JE(e,t){let{account:n,...r}=t;return Xm(e,{...r,...JE.call({account:n})})}(function(e){function t(e){return H({address:uE,abi:wT,args:[e.account],functionName:`getConfigCommitment`})}e.call=t})(JE||={});async function YE(e,t){return YE.inner(z,e,t)}(function(e){async function t(t,n,r){let{account:i,currentConfig:a,nextConfig:o,...s}=r,c=i??n.account,l=(()=>{if(typeof c==`object`&&c.source===`multisig`)return c})(),u=(()=>{if(a)return a;if(l?.config)return l.config})(),d=(()=>{if(l)return l.address;if(typeof c==`string`)return c;if(c)return c.address})(),f=await(async()=>{if(u)return $S(u);if(!d)throw Error(`A multisig account address or current config is required.`);let e=await qE(n,{address:d});if(!e)throw Error(`No current multisig config is cached for account ${d}. Provide the current config.`);return e})(),p=(()=>{if(l)return{...l,config:f};if(typeof c==`object`)return c;if(d)return CE({address:d,...f})})();return await t(n,{...s,...p?{account:p}:{},...e.call({currentConfig:f,nextConfig:o})})}e.inner=t;function n(e){let t=$S(e.currentConfig),n=$S({owners:e.nextConfig.owners,salt:t.salt,threshold:e.nextConfig.threshold,version:t.version+1n});return H({address:uE,abi:wT,args:[t,n.threshold,n.owners],functionName:`updateConfig`})}e.call=n;function r(e){let[t]=uf({abi:wT,logs:e,eventName:`MultisigConfigUpdated`,strict:!0});if(!t)throw Error(\"`MultisigConfigUpdated` event not found.\");return t}e.extractEvent=r})(YE||={}),ga(),af();let XE={0:`secp256k1`,1:`p256`,2:`webAuthn`},ZE={true:`limited`,false:`unlimited`};async function QE(e,t){return QE.inner(hh,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,admin:i,chainId:a=t.chain?.id,expiry:o,limits:s,scopes:c,witness:l,...u}=n,d=u.account??t.account;if(!d)throw Error(`account is required.`);if(!a)throw Error(`chainId is required.`);let f=await sD(t,{account:d,accessKey:r,chainId:a,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:f})}e.inner=t;function n(e){let[t]=uf({abi:ST,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(QE||={});async function $E(e,t){return $E.inner(z,e,t)}(function(e){async function t(t,n,r){let{witness:i,...a}=r,o=e.call({witness:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{witness:t}=e;return H({address:cE,abi:ST,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=uf({abi:ST,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})($E||={});async function eD(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=j(n),o=await Xm(e,{...i,account:null,...eD.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:XE[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:ZE[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return H({address:cE,abi:ST,functionName:`getKey`,args:[t,uD(n)]})}e.call=t})(eD||={});async function tD(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=j(n),s=e.chain?.hardfork;if(s&&RE(s,`t3`))return{remaining:await Xm(e,{...a,...tD.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await Xm(e,{...a,...tD.callWithPeriod({account:o.address,accessKey:r,token:i})});return{remaining:c,periodEnd:l}}(function(e){function t(e){let{account:t,accessKey:n,token:r}=e;return H({address:cE,abi:ST,functionName:`getRemainingLimit`,args:[t,uD(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return H({address:cE,abi:ST,functionName:`getRemainingLimitWithPeriod`,args:[t,uD(n),r]})}e.callWithPeriod=n})(tD||={});async function nD(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=j(n);return Xm(e,{...i,account:null,...nD.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return H({address:cE,abi:ST,functionName:`isAdminKey`,args:[t,uD(n)]})}e.call=t})(nD||={});async function rD(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=j(n);return Xm(e,{...i,account:null,...rD.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return H({address:cE,abi:ST,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(rD||={});async function iD(e,t){return iD.inner(z,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return H({address:cE,abi:ST,functionName:`revokeKey`,args:[uD(t)]})}e.call=n;function r(e){let[t]=uf({abi:ST,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(iD||={});async function aD(e,t){let{throwOnReceiptRevert:n=!0,...r}=t,i=await iD.inner(Ob,e,{...r,throwOnReceiptRevert:n});if(i.status===`pending`)return{receipt:i};let{args:a}=iD.extractEvent(i.logs);return{...a,receipt:i}}async function oD(e,t){let{chainId:n=e.chain?.id}=t,r=t.account??e.account;if(!r)throw Error(`account is required.`);if(!n)throw Error(`chainId is required.`);let i=j(r),a=await(async()=>{if(`multisig`in t)return t.multisig;if(i.source!==`multisig`)return;let e=i;if(!e.config)throw Error(`A multisig config is required to prepare a key authorization.`);return{config:e.config}})(),o=jE(i,{...t,chainId:BigInt(n),key:t.accessKey}),s=i.source===`multisig`&&a?rC({account:i.address,config:a.config,payload:o}):o;return{...t,account:i,chainId:n,multisig:a,signPayload:s}}async function sD(e,t){if(`hash`in t&&t.hash||`owner`in t&&t.owner){let n=t,r=n.owner;if(!r||typeof r==`string`)throw Error(`A local owner account is required to approve a multisig key authorization.`);let i=j(r).sign;if(!i)throw Error(`A local owner account is required to approve a multisig key authorization.`);let a=await(async()=>{if(`hash`in n&&n.hash){let e=CC(bC(await i({hash:n.hash})));return{hash:n.hash,signature:e}}let{account:t,owner:r,...a}=n,o=typeof t==`string`?t:t.address,s=await(async()=>{if(typeof t!=`string`&&t.config)return t.config;let n=await qE(e,{address:o});if(n)return n;throw Error(`No current multisig config is cached for account ${o}. Provide the current config.`)})(),c=(()=>{if(s.version!==0n)return CE({address:o,...s});let{version:e,...t}=s;return CE({address:`infer`,...t})})();if(!rf(c.address,o))throw Error(`Initial multisig config does not match the account.`);let l=await oD(e,{...a,account:c}),u=CC(bC(await i({hash:l.signPayload}))),{accessKey:d,admin:f,chainId:p,expiry:m,limits:h,scopes:g,witness:_}=l,{accessKeyAddress:v,keyType:y}=IE(d);return{keyAuthorization:mw(sw({account:c.address,address:v,chainId:BigInt(p),signature:bC({account:c.address,config:s,signatures:[fE(u)]}),type:y,..._?{witness:_}:{},...f?{isAdmin:!0}:{expiry:m,limits:h,scopes:g}}))}})(),o=Kw(await e.request({method:`multisig_approveKeyAuthorization`,params:[a]})),s=dw(await(async()=>{if(o.status===`success`)return o.keyAuthorization;let e=await Uw({account:o.account,approvals:o.approvals,config:o.config,hash:o.hash});return Ww(o.keyAuthorization,{account:o.account,approvals:e.selectedApprovals.length>0?e.selectedApprovals:e.approvals.slice(0,1),config:o.config})})());if(!s.signature)throw Error(`Expected a signed multisig key authorization.`);return{...s,hash:o.hash,multisig:o,status:o.status}}let{accessKey:n,account:r,chainId:i,multisig:a,signPayload:o,...s}=`signPayload`in t?t:await oD(e,t);return ME(r,{chainId:BigInt(i),key:n,multisig:a,...s})}async function cD(e,t){return cD.inner(z,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return H({address:cE,abi:ST,functionName:`updateSpendingLimit`,args:[uD(t),n,r]})}e.call=n;function r(e){let[t]=uf({abi:ST,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(cD||={});async function lD(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return Xm(e,{...o,...lD.call({account:n,admin:r,hash:i,signature:a})})}(function(e){function t(e){let{account:t,admin:n=!0,hash:r,signature:i}=e;return H({address:`0x5165300000000000000000000000000000000000`,abi:OT,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(lD||={});function uD(e){return typeof e==`string`?e:e.accessKeyAddress}R(),ga();async function dD(e,t){return dD.inner(z,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountOut:r,maxAmountIn:i}=e;return H({address:dE,abi:kT,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(dD||={});async function fD(e,t){return fD.inner(z,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return H({address:dE,abi:kT,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=uf({abi:kT,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(fD||={});async function pD(e,t){return pD.inner(z,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return H({address:dE,abi:kT,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=uf({abi:kT,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(pD||={});async function mD(e,t){return mD.inner(z,e,t)}(function(e){async function t(t,n,r){let{base:i,...a}=r,o=e.call({base:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{base:t}=e;return H({address:dE,abi:kT,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=uf({abi:kT,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(mD||={});async function hD(e,t){let{account:n=e.account,token:r,...i}=t,a=n?j(n).address:void 0;if(!a)throw Error(`account is required.`);return Xm(e,{...i,...hD.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return H({address:dE,abi:kT,args:[t,n],functionName:`balanceOf`})}e.call=t})(hD||={});async function gD(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return Xm(e,{...a,...gD.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return H({address:dE,abi:kT,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(gD||={});async function _D(e,t){let{orderId:n,...r}=t;return Xm(e,{...r,..._D.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return H({address:dE,abi:kT,args:[t],functionName:`getOrder`})}e.call=t})(_D||={});async function vD(e,t){let{base:n,quote:r,...i}=t;return Xm(e,{...i,...vD.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e,r=TD(t,n);return H({address:dE,abi:kT,args:[r],functionName:`books`})}e.call=t})(vD||={});async function yD(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await Xm(e,{...a,...yD.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:dE,abi:kT,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(yD||={});async function bD(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return Xm(e,{...a,...bD.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return H({address:dE,abi:kT,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(bD||={});async function xD(e,t){return xD.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,token:a,type:o,tick:s,...c}=r,l=e.call({amount:i,token:a,type:o,tick:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i}=e;return H({address:dE,abi:kT,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=uf({abi:kT,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(xD||={});async function SD(e,t){return SD.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,flipTick:a,tick:o,token:s,type:c,...l}=r,u=e.call({amount:i,flipTick:a,tick:o,token:s,type:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i,flipTick:a}=e;return H({address:dE,abi:kT,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=uf({abi:kT,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})(SD||={});async function CD(e,t){return CD.inner(z,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountIn:r,minAmountOut:i}=e;return H({address:dE,abi:kT,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(CD||={});async function wD(e,t){return wD.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,amount:a,...o}=r,s=e.call({token:i,amount:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,amount:n}=e;return H({address:dE,abi:kT,functionName:`withdraw`,args:[t,n]})}e.call=n})(wD||={});function TD(e,t){return y_(N(e,t))}R(),ga(),xa();async function ED(e,t){return ED.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(...e){let[t,n]=KE(e),{amount:r,spender:i,token:a}=n,{address:o,decimals:s}=zE(t,{token:a});return H({address:o,abi:V,functionName:`approve`,args:[i,pb(r,s)]})}e.call=n;async function r(t,n){return nf(t,{...GE(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Zm(t,{...GE(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=uf({abi:V,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(ED||={});async function DD(e,t){return DD.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,token:o,...s}=r,c=e.call(n,{amount:i,from:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=KE(e),{from:r,amount:i,token:a}=n,{address:o,decimals:s}=zE(t,{token:a});return H({address:o,abi:V,functionName:`burnBlocked`,args:[r,pb(i,s)]})}e.call=n;function r(e){let[t]=uf({abi:V,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(DD||={});async function OD(e,t){return OD.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,token:o,...s}=r,c=e.call(n,{amount:i,memo:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=KE(e),{amount:r,memo:i,token:a}=n,{address:o,decimals:s}=zE(t,{token:a}),c=pb(r,s),l=i?{functionName:`burnWithMemo`,args:[c,yp(i,32)]}:{functionName:`burn`,args:[c]};return H({address:o,abi:V,...l})}e.call=n;function r(e){let[t]=uf({abi:V,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(OD||={});async function kD(e,t){return kD.inner(z,e,t)}(function(e){async function t(t,n,r){let{policyId:i,token:a,...o}=r,s=e.call(n,{policyId:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=KE(e),{token:r,policyId:i}=n;return H({address:zE(t,{token:r}).address,abi:V,functionName:`changeTransferPolicyId`,args:[i]})}e.call=n;function r(e){let[t]=uf({abi:V,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(kD||={});async function AD(e,t){return AD.inner(z,e,t)}(function(e){async function t(t,n,r){let{account:i=n.account,admin:a=n.account,chain:o=n.chain,...s}=r,c=a?j(a):void 0;if(!c)throw Error(`admin is required.`);let l=e.call(n,{...s,admin:c.address});return await t(n,{...r,account:i,chain:o,...l})}e.inner=t;function n(...e){let[t,n]=KE(e),{name:r,symbol:i,currency:a,logoURI:o,quoteToken:s=`0x20c0000000000000000000000000000000000000`,admin:c,salt:l=xp(32)}=n;return H({address:`0x20fc000000000000000000000000000000000000`,abi:PT,args:typeof o==`string`?[r,i,a,zE(t,{token:s}).address,c,l,o]:[r,i,a,zE(t,{token:s}).address,c,l],functionName:`createToken`})}e.call=n;function r(e){let[t]=uf({abi:PT,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(AD||={});async function jD(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([Xm(e,{...o,...jD.call(e,{account:n,spender:i,token:a})}),WE(e,{decimals:r,token:a})]);return fb(s,c)}(function(e){function t(...e){let[t,n]=KE(e);return H({address:zE(t,n).address,abi:V,functionName:`allowance`,args:[n.account,n.spender]})}e.call=t})(jD||={});async function MD(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new uh;let o=j(n).address,[s,{decimals:c}]=await Promise.all([Xm(e,{...a,...MD.call(e,{account:o,token:i})}),WE(e,{decimals:r,token:i})]);return fb(s,c)}(function(e){function t(...e){let[t,n]=KE(e),r=n.account??t?.account;if(!r)throw new uh;let i=j(r).address;return H({address:zE(t,n).address,abi:V,functionName:`balanceOf`,args:[i]})}e.call=t})(MD||={});async function ND(e,t){let{token:n,...r}=t,{address:i}=zE(e,{token:n}),a=V,o=BE(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return GC(i)===GC(`0x20c0000000000000000000000000000000000000`)?PD(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`}]}).then(([e,t,n,r,i,a])=>({name:FD(r),symbol:FD(i),currency:FD(e),decimals:FD(t),logoURI:FD(n,``),totalSupply:FD(a),...s})):PD(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`quoteToken`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`paused`},{address:i,abi:a,functionName:`supplyCap`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`},{address:i,abi:a,functionName:`transferPolicyId`}]}).then(([e,t,n,r,i,a,o,c,l,u])=>({name:FD(i),symbol:FD(c),currency:FD(e),decimals:FD(t),logoURI:FD(n,``),quoteToken:FD(r),totalSupply:FD(l),paused:FD(a),supplyCap:FD(o),transferPolicyId:FD(u),...s}))}async function PD(e,t){if(e.batch?.multicall===void 0)return Iy(e,{...t,allowFailure:!0,deployless:!0});let{contracts:n,...r}=t;return(await Promise.allSettled(n.map(t=>Xm(e,{...r,...t})))).map(e=>e.status===`fulfilled`?{result:e.value,status:`success`}:{error:e.reason,status:`failure`})}function FD(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function ID(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([Xm(e,{...i,...ID.call(e,{token:r})}),WE(e,{decimals:n,token:r})]);return fb(a,o)}(function(e){function t(...e){let[t,n]=KE(e);return H({address:zE(t,n).address,abi:V,args:[],functionName:`totalSupply`})}e.call=t})(ID||={});async function LD(e,t){return Xm(e,{...t,...LD.call(e,t)})}(function(e){function t(...e){let[t,n]=KE(e),{role:r,token:i}=n;return H({address:zE(t,{token:i}).address,abi:V,functionName:`getRoleAdmin`,args:[fT(r)]})}e.call=t})(LD||={});async function RD(e,t){let{account:n=e.account}=t,r=n?j(n).address:void 0;if(!r)throw Error(`account is required.`);return Xm(e,{...t,...RD.call(e,{...t,account:r})})}(function(e){function t(...e){let[t,n]=KE(e),{account:r,role:i,token:a}=n;return H({address:zE(t,{token:a}).address,abi:V,functionName:`hasRole`,args:[r,fT(i)]})}e.call=t})(RD||={});async function zD(e,t){return zD.inner(hh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:ba(i)}})})}e.inner=t;function n(...e){let[t,n]=KE(e),{token:r,to:i,role:a}=n,o=fT(a);return H({address:zE(t,{token:r}).address,abi:V,functionName:`grantRole`,args:[o,i]})}e.call=n;function r(e){let t=uf({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(zD||={});async function BD(e,t){return BD.inner(z,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,to:o,token:s,...c}=r,l=e.call(n,{amount:i,memo:a,to:o,token:s});return await t(n,{...c,...l})}e.inner=t;function n(...e){let[t,n]=KE(e),{to:r,amount:i,memo:a,token:o}=n,{address:s,decimals:c}=zE(t,{token:o}),l=pb(i,c),u=a?{functionName:`mintWithMemo`,args:[r,l,yp(a,32)]}:{functionName:`mint`,args:[r,l]};return H({address:s,abi:V,...u})}e.call=n;function r(e){let[t]=uf({abi:V,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(BD||={});async function VD(e,t){return VD.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=KE(e),{token:r}=n;return H({address:zE(t,{token:r}).address,abi:V,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=uf({abi:V,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(VD||={});async function HD(e,t){return HD.inner(hh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:ba(i)}})})}e.inner=t;function n(...e){let[t,n]=KE(e),{token:r,role:i}=n,a=fT(i);return H({address:zE(t,{token:r}).address,abi:V,functionName:`renounceRole`,args:[a]})}e.call=n;function r(e){let t=uf({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(HD||={});async function UD(e,t){return UD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{from:i,...a}=r;return await t(n,{...a,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:ba(i)}})})}e.inner=t;function n(...e){let[t,n]=KE(e),{token:r,from:i,role:a}=n,o=fT(a);return H({address:zE(t,{token:r}).address,abi:V,functionName:`revokeRole`,args:[o,i]})}e.call=n;function r(e){let t=uf({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(UD||={});async function WD(e,t){return WD.inner(z,e,t)}(function(e){async function t(t,n,r){let{supplyCap:i,token:a,...o}=r,s=e.call(n,{supplyCap:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=KE(e),{token:r,supplyCap:i}=n;return H({address:zE(t,{token:r}).address,abi:V,functionName:`setSupplyCap`,args:[i]})}e.call=n;function r(e){let[t]=uf({abi:V,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(WD||={});async function GD(e,t){return GD.inner(z,e,t)}(function(e){async function t(t,n,r){let{adminRole:i,role:a,token:o,...s}=r,c=e.call(n,{adminRole:i,role:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=KE(e),{token:r,role:i,adminRole:a}=n,o=fT(i),s=fT(a);return H({address:zE(t,{token:r}).address,abi:V,functionName:`setRoleAdmin`,args:[o,s]})}e.call=n;function r(e){let[t]=uf({abi:V,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(GD||={});async function KD(e,t){return KD.inner(z,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(...e){let[t,n]=KE(e),{from:r,memo:i,to:a,token:o}=n,{address:s,decimals:c}=zE(t,{token:o}),l=pb(n.amount,c),u=i&&r?{functionName:`transferFromWithMemo`,args:[r,a,l,yp(i,32)]}:i?{functionName:`transferWithMemo`,args:[a,l,yp(i,32)]}:r?{functionName:`transferFrom`,args:[r,a,l]}:{functionName:`transfer`,args:[a,l]};return H({address:s,abi:V,...u})}e.call=n;async function r(t,n){return nf(t,{...GE(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Zm(t,{...GE(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=uf({abi:V,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(KD||={});async function qD(e,t){return qD.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=KE(e),{token:r}=n;return H({address:zE(t,{token:r}).address,abi:V,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=uf({abi:V,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(qD||={});async function JD(e,t){return JD.inner(z,e,t)}(function(e){async function t(t,n,r){let{quoteToken:i,token:a,...o}=r,s=e.call(n,{quoteToken:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=KE(e),{token:r,quoteToken:i}=n;return H({address:zE(t,{token:r}).address,abi:V,functionName:`setNextQuoteToken`,args:[zE(t,{token:i}).address]})}e.call=n;function r(e){let[t]=uf({abi:V,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(JD||={});async function YD(e,t){return YD.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=KE(e),{token:r}=n;return H({address:zE(t,{token:r}).address,abi:V,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=uf({abi:V,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(YD||={}),ga();async function XD(e,...t){let{account:n=e.account,...r}=t[0]??{};if(!n)throw Error(`account is required.`);let i=j(n),a=await Xm(e,{...r,...XD.call({account:i.address})});return a===`0x0000000000000000000000000000000000000000`?null:{address:a,id:GC(a)}}(function(e){function t(e){let{account:t}=e;return H({address:lE,abi:jT,args:[t],functionName:`userTokens`})}e.call=t})(XD||={});async function ZD(e,t){return ZD.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return H({address:lE,abi:jT,functionName:`setUserToken`,args:[KC(t)]})}e.call=n;function r(e){let[t]=uf({abi:jT,logs:e,eventName:`UserTokenSet`,strict:!0});if(!t)throw Error(\"`UserTokenSet` event not found.\");return t}e.extractEvent=r})(ZD||={});async function QD(e,t){let{validator:n,...r}=t,i=await Xm(e,{...r,...QD.call({validator:n})});return i===`0x0000000000000000000000000000000000000000`?null:{address:i,id:GC(i)}}(function(e){function t(e){let{validator:t}=e;return H({address:lE,abi:jT,args:[t],functionName:`validatorTokens`})}e.call=t})(QD||={});async function $D(e,t){return $D.inner(z,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return H({address:lE,abi:jT,functionName:`setValidatorToken`,args:[KC(t)]})}e.call=n;function r(e){let[t]=uf({abi:jT,logs:e,eventName:`ValidatorTokenSet`,strict:!0});if(!t)throw Error(\"`ValidatorTokenSet` event not found.\");return t}e.extractEvent=r})($D||={}),R(),ga(),ud();function eO(e){if(!mE(e))return wd(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),n=e.multisig,{feePayerSignature:r,gasPrice:i,nonce:a,...o}=hT(e);return{...o,accessList:o.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:r?{r:P(r.r,{size:32}),s:P(r.s,{size:32}),v:BigInt(r.v??27),yParity:r.yParity}:void 0,multisig:nO(n),nonce:Number(a),typeHex:pT[o.type],type:o.type}}function tO(e){return{...yh(e),multisig:nO(e.multisig),...e.status===`pending`?{status:`pending`,type:`tempo`}:{}}}function nO(e){if(!e)return;let t=Kw(e);if(t.type!==`transaction`)throw Error(`Expected a multisig transaction operation.`);return t}function rO(e,t){let n=e,r=n.account?j(n.account):void 0,i=n.owner?j(n.owner):void 0;if(i?.type===`json-rpc`)throw Error(`A local owner account is required to approve a multisig transaction.`);if(!mE(n))return od(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{owner:a,signatures:o,...s}=n,c=gT({...s,type:`tempo`});t===`estimateGas`&&(c.maxFeePerGas=void 0,c.maxPriorityFeePerGas=void 0),c.to=void 0,c.data=void 0,c.value=void 0;let l=i??r,[u,d]=(()=>{let e=l&&`keyType`in l?l.keyType:l?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,iO(n.keyData)]:[n.keyType,iO(n.keyData)]})(),f=l&&`accessKeyAddress`in l?l.accessKeyAddress:n.keyId;return r&&(c.from=r.address),{...c,...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.owner?{owner:void 0}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?j(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function iO(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:P(t,{size:2})}let aO=new Map;async function oO(e){aO.set(e,(aO.get(e)??0)+1),await Promise.resolve();let t=(aO.get(e)??0)>1;return queueMicrotask(()=>{let t=aO.get(e)??0;t<=1?aO.delete(e):aO.set(e,t-1)}),t}R(),gd(),af(),ud(),pi();let sO=((e,t)=>gE(e,t)),cO={blockTime:1e3,extendSchema:eg(),formatters:{transaction:Td({exclude:[`aaAuthorizationList`],format:eO}),transactionReceipt:bh({format:tO}),transactionRequest:ld({format:rO})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(r.hash){if(!r.account||typeof r.account==`string`||r.account.source!==`multisig`)throw Error(`A local multisig account is required to approve a stored multisig transaction.`);if(!r.owner||typeof r.owner==`string`)throw Error(`A local owner account is required to approve a stored multisig transaction.`);if(r.owner.source!==`root`)throw Error(`A Tempo owner account is required to approve a stored multisig transaction.`);let e=await E(t,Py,`getTransaction`)({hash:r.hash}),n=`multisig`in e?e.multisig:void 0;if(!n)throw Error(`Expected a multisig operation transaction.`);if(!rf(n.account,r.account.address))throw Error(`Multisig operation account does not match the requested account.`);let i=hE(n.transaction);if(Hw({account:n.account,config:n.config,transaction:n.transaction,type:`transaction`}).toLowerCase()!==r.hash.toLowerCase())throw Error(`Multisig operation hash does not match transaction.`);return{...i,gas:i.gas??0n,maxFeePerGas:i.maxFeePerGas??0n,maxPriorityFeePerGas:i.maxPriorityFeePerGas??0n,account:r.account,from:n.account,multisigSimulation:lO({config:n.config,local:r.account}),owner:r.owner}}if(n===`afterFillParameters`)return r.gas!==void 0&&r.feePayer&&!r.feePayerSignature&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;let i=(()=>{if(r.account?.source===`multisig`)return{account:r.account.address,config:r.account.config,local:r.account}})();if(r.owner&&!i)throw Error(`A multisig account is required when an owner is provided.`);if(r.owner&&typeof r.owner==`string`)throw Error(`A local owner account is required to approve a multisig transaction.`);if(r.owner&&r.owner.source!==`root`)throw Error(`A Tempo owner account is required to approve a multisig transaction.`);let a=!!i&&!!r.owner&&t.transport.multisig===!0;if(i){let{account:e,local:n}=i;if(!e)throw Error(`A multisig account address is required with a current config.`);let o=await(async()=>{if(i.config)return i.config;if(!a)return;let n=await E(t,qE,`getConfig`)({address:e});if(!n)throw Error(`No current multisig config is cached for account ${e}. Provide the current config.`);return n})();if(!o)throw Error(`A multisig config is required to prepare a transaction.`);r.from=e,r.multisigSimulation=lO({config:o,local:n})}let o=await(async()=>{if(r.nonceKey===`expiring`||r.nonceKey===hd)return!0;if(r.nonceKey!==void 0||i)return!1;if(r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account,t=typeof e==`string`?e:e?.address;return t&&r.nonceKey===void 0?await oO(t.toLowerCase()):!1})();if(a&&r.nonceKey===void 0?(r.nonceKey=L(xp(31))+1n,r.nonce=0):o?(r.nonceKey=hd,r.nonce=0,r.validAfter===void 0&&(r.validAfter=dO()),r.validBefore===void 0&&(r.validBefore=Math.floor(Date.now()/1e3)+25)):r.nonceKey!==void 0&&(r.nonce=typeof r.nonce==`number`?r.nonce:0),!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await E(t,eD,`getMetadata`)({account:i,accessKey:a});rf(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return!r.feeToken&&r.chain?.feeToken&&(r.feeToken=r.chain.feeToken),r},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:sO,async transactionEnvelope({serializedTransaction:e,transaction:t}){let n=t;if(!n.multisigSimulation)return e;try{vC(e)}catch{if(hE(e).signature?.type===`multisig`)return e;throw Error(`A Tempo owner account is required to approve a multisig transaction.`)}return await sO({...n,signatures:[...n.signatures??[],e]})}},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return vC(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?fi(N(`0x04`,r,n)):r,a=(()=>{try{return gC({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await eD(e,{account:n,accessKey:a,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:EC(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await Mh(e,{address:n,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return EC(o,{address:n,payload:r})}}return await E(e,$y,`verifyHash`)({...t,chain:null})}};function lO(e){let{config:t,local:n}=e;return{approvals:fO(t).map(e=>{let t=n?.owners.find(t=>rf(t.address,e.owner));return{...uO(t),owner:e.owner}}),config:t}}function uO(e){let t=(()=>{if(e&&typeof e==`object`&&`keyType`in e&&typeof e.keyType==`string`)return e.keyType})();return!t||t===`webAuthn`?{keyData:`0x0578`,keyType:`webAuthn`}:t===`p256`||t===`secp256k1`?{keyType:t}:{keyData:`0x0578`,keyType:`webAuthn`}}function dO(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(xp(8))%e)}function fO(e){let t=[...e.owners].sort((e,t)=>Number(t.weight)-Number(e.weight)||e.owner.toLowerCase().localeCompare(t.owner.toLowerCase())),n=[],r=0;for(let i of t.slice(0,8)){if(r>=Number(e.threshold))break;n.push(i),r+=Number(i.weight)}return n.sort((e,t)=>e.owner.toLowerCase().localeCompare(t.owner.toLowerCase()))}let pO=$h({...cO,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},contracts:{earnFactory:{address:`0xb5889A96114014d4C032ebD76772c10bF3b97137`},erc4626EngineFactory:{address:`0xd43D00981222a8db444A528E69f19E3cE5A7D2Ff`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),mO=$h({...cO,id:31318,name:`Tempo Devnet`,hardfork:`t3`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.devnet.tempo.xyz`}},nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.devnet.tempoxyz.dev`],webSocket:[`wss://rpc.devnet.tempoxyz.dev`]}},testnet:!0}),hO=$h({...cO,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}}),gO=$h({...cO,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},contracts:{earnFactory:{address:`0xb5889A96114014d4C032ebD76772c10bF3b97137`},erc4626EngineFactory:{address:`0xd43D00981222a8db444A528E69f19E3cE5A7D2Ff`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0});function _O(e){let{addresses:t,currency:n,decimals:r,name:i,popular:a,symbol:o}=e;function s(e){let s=t[e];if(!s)throw Error(`Token has no address for chain id \"${e}\".`);return{address:s,currency:n,decimals:r,name:i,popular:a,symbol:o}}return Object.defineProperties(s,{addresses:{enumerable:!0,value:t},currency:{enumerable:!0,value:n},decimals:{enumerable:!0,value:r},name:{enumerable:!0,value:i},popular:{enumerable:!0,value:a},symbol:{enumerable:!0,value:o}})}let vO=_O({addresses:{1:`0x9f6F3991D525015a6F8CaF062C83b62fD3AC4436`,4217:`0x20c0000000000000000000006a37DA5C996874BE`,8453:`0xB2000000000000000000002fEb517dFeC7415344`},currency:`USD`,decimals:6,name:`OpenUSD`,symbol:`OUSD`}),yO=_O({addresses:{4217:`0x20c0000000000000000000000000000000000000`,42431:`0x20c0000000000000000000000000000000000000`},currency:`USD`,decimals:6,name:`PathUSD`,symbol:`pathUSD`}),bO=_O({addresses:{4217:`0x20c000000000000000000000b9537d11c60e8b50`,42431:`0x20c0000000000000000000009e8d7eb59b783726`},currency:`USD`,decimals:6,name:`Bridged USDC (Stargate)`,symbol:`USDC.e`});function xO(e){return e.source}function SO(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Zb({key:SO.type,name:`Relay Proxy`,async request({method:e,params:t},n){if(e===`eth_fillTransaction`){let r=t?.[0];if(r&&typeof r==`object`&&`feePayer`in r&&r.feePayer===!0)return a.request({method:e,params:t},n)}if(e===`eth_sendRawTransactionSync`||e===`eth_sendRawTransaction`){let o=t[0];if(hE(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:SO.type})}}Qa();let CO={AbdicationAlreadyScheduled:`Capability {0} abdication is already scheduled.`,AccountAlreadyInitialized:`Account already initialized.`,AccountNotAllowed:`Account {0} is not allowed.`,ActiveLeaderRemoved:`The active leader cannot be removed.`,ActiveSupplyWithoutBacking:`Active supply has no backing.`,AddressAlreadyHasValidator:`This address already has a validator.`,AddressNotReserved:`Address is not reserved.`,AddressReserved:`Address is reserved.`,AdminRelinquishmentFailed:`Admin relinquishment failed.`,AlreadyInitialized:`Already initialized.`,AmountExceedsDeposit:`Amount exceeds deposit.`,AmountExceedsLimit:`Amount exceeds limit.`,AmountNotIncreasing:`Amount is not increasing.`,AmountOverflow:`Amount overflow.`,AssetsNotArrived:`Assets for request {0} have not arrived.`,BadFlow:`Invalid execution flow.`,BaseAssetSweepBlocked:`Base asset sweep is blocked by {0} unresolved claims.`,BelowMinimumOrderSize:`Order size is below the minimum allowed ({0}).`,CallNotAllowed:`This call is not allowed.`,CallbackDataTooLarge:`Callback data too large.`,CallbackDidNotReturnToZone:`Callback did not return to the zone.`,CallbackRejected:`Callback rejected.`,CannotChangeWithinBlock:`Cannot change within the same block.`,CannotSweepEngineBacking:`Cannot sweep engine backing.`,CapabilityAbdicated:`Capability {0} has been abdicated.`,CaptureAmountInvalid:`Capture amount is invalid.`,ChannelAlreadyExists:`Channel already exists.`,ChannelNotFound:`Channel not found.`,ClaimNotClaimable:`Claim {0} is not claimable.`,ClaimNotOpen:`Claim {0} is not open.`,ClaimsExpired:`Claims have expired.`,ClaimsNotExpired:`Claims have not expired.`,CloseNotReady:`Channel is not ready to close.`,ContractPaused:`Contract is paused.`,CreditExceedsBalance:`Credit for asset {0} exceeds the balance. Available: {1}, requested total: {2}.`,DepositBlockCapacityExceeded:`Deposit block capacity of {0} exceeded.`,DepositOverflow:`Deposit overflow.`,DepositTooSmall:`Deposit too small.`,DepositsNotActive:`Deposits are not active.`,DepositsNotPaused:`Deposits are not paused.`,DepositsPaused:`Deposits are paused.`,DistributorFeeUpdateNotPending:`No distributor fee update is pending.`,DistributorFeeUpdateNotReady:`Distributor fee update is not executable until {0}.`,DistributorTransferNotPending:`No distributor transfer is pending.`,DivisionByZero:`Division by zero.`,DuplicateAllowedAccount:`Duplicate allowed account.`,DuplicateOwner:`Duplicate owner.`,DuplicateRequest:`Request {0} is duplicated.`,DuplicateZoneGateway:`Duplicate zone gateway.`,EarnShareAlreadyExists:`Earn share {0} already exists.`,EarnShareSupplyNotZero:`Earn share supply is not zero.`,EarnShareSupplyOutOfBounds:`Earn share supply {0} exceeds the maximum {1}.`,EarnVaultNotSet:`Earn vault is not set.`,EmptyDeploymentId:`Deployment ID cannot be empty.`,EmptyEarnShareMetadata:`Empty earn share metadata.`,EmptyMetadata:`Empty metadata.`,EmptyV1ValidatorSet:`Validator set is empty.`,EncryptionKeyExpired:`Encryption key {0}, activated at block {1}, expired at block {2}.`,EngineAlreadyBound:`Earn vault {0} is already bound to an engine.`,EngineAlreadyExists:`Engine {0} already exists.`,EngineAssetMismatch:`Engine asset mismatch.`,EngineCapabilityUnsupported:`Engine capability {0} is unsupported.`,EngineEarnVaultMismatch:`Engine earn vault mismatch.`,EngineExitUnsupported:`This engine does not support exits.`,EngineSharesTooLarge:`Engine share amount {0} is too large.`,ExceedsMaxEarnShares:`Maximum earn shares exceeded.`,ExcessiveConversionLoss:`Conversion loss is excessive. Input shares: {0}, represented shares: {1}.`,ExcessiveMigrationClassificationError:`Migration managed assets mismatch. Expected {0}, got {1}.`,ExpiringNonceHashNotSet:`Expiring nonce hash is not set.`,ExpiringNonceReplay:`Expiring nonce has already been used.`,ExpiringNonceSetFull:`Expiring nonce set is full.`,ExpiryInPast:`Expiry is in the past.`,FactoryCannotBeFinalOwner:`The factory cannot be the final owner.`,FailedDeployment:`Deployment failed.`,FeeValuationStale:`Fee valuation is stale.`,FinalizedAssetMismatch:`Finalized asset {0} does not match.`,GasFeeRateTooHigh:`Gas fee rate too high.`,GasLimitTooHigh:`Gas limit too high.`,GlobalFeeDisableUnavailable:`Global fee disabling is unavailable.`,IdenticalAddresses:`Addresses must be different.`,IdenticalTokens:`Cannot swap a token for itself — input and output tokens must be different.`,Inactive:`This contract is inactive.`,IncompatiblePolicyType:`Incompatible policy type.`,IndexAlreadySet:`Index already set.`,IngressAlreadyExists:`Ingress \"{0}\" already exists.`,InitialEarnShareSupplyNotZero:`Initial earn share supply must be zero.`,InsufficientAllowance:`Insufficient allowance.`,InsufficientAssetsReceived:`Insufficient assets received. Minimum: {0}, actual: {1}.`,InsufficientBalance:`Insufficient balance. Required: {1}, available: {0}.`,InsufficientClaimableEarnShares:`Insufficient claimable earn shares.`,InsufficientEngineShareSurplus:`Insufficient engine share surplus. Available: {0}, requested: {1}.`,InsufficientFeeTokenBalance:`Insufficient fee token balance.`,InsufficientFunding:`Insufficient funding. Required: {0}, actual: {1}.`,InsufficientLiquidity:`Not enough liquidity in the order book to fill this trade.`,InsufficientOutput:`The output amount is below the slippage minimum — try increasing slippage tolerance.`,InsufficientReserves:`Insufficient reserves.`,InvalidAccount:`Invalid account.`,InvalidAdmin:`Invalid admin.`,InvalidAmount:`Invalid amount.`,InvalidArrayLengths:`Invalid array lengths.`,InvalidAsset:`Invalid asset. Expected {0}, got {1}.`,InvalidAuthority:`Invalid authority.`,InvalidBaseToken:`This token is not a valid base token for the requested pair.`,InvalidBlockNumber:`Invalid block number.`,InvalidBouncebackRecipient:`Invalid bounceback recipient.`,InvalidCallScope:`Invalid call scope.`,InvalidCallbackTarget:`Invalid callback target.`,InvalidCiphertextLength:`Invalid ciphertext length. Expected {1}, got {0}.`,InvalidClaimAddress:`Invalid claim address.`,InvalidClosedLoopConfig:`Invalid closed loop config.`,InvalidConfig:`Invalid config.`,InvalidCurrency:`Invalid currency.`,InvalidCurrentTxHash:`Invalid current transaction hash.`,InvalidDepositTransition:`Invalid deposit transition.`,InvalidDistributorConfig:`Invalid distributor config.`,InvalidDistributorConfiguration:`Invalid distributor configuration.`,InvalidDistributorFeeConfiguration:`Invalid distributor fee configuration.`,InvalidEarnDecimals:`Invalid earn decimals.`,InvalidEarnFeesImplementation:`Invalid earn fees implementation.`,InvalidEarnVault:`Invalid earn vault.`,InvalidEarnVaultImplementation:`Invalid earn vault implementation.`,InvalidEncryptedSenderCount:`Invalid encrypted sender count. Expected {1}, got {0}.`,InvalidEncryptedSenderLength:`Invalid encrypted sender length. Expected {1}, got {0}.`,InvalidEncryptionKeyIndex:`Encryption key index {0} is invalid.`,InvalidEngine:`Invalid engine.`,InvalidEngineShareScale:`Invalid engine share scale.`,InvalidEphemeralPubkey:`Invalid ephemeral pubkey.`,InvalidExpiringNonceExpiry:`Invalid expiring nonce expiry.`,InvalidFallbackRecipient:`Invalid fallback recipient.`,InvalidFeeClaimReceiver:`Invalid fee claim receiver.`,InvalidFeeConfiguration:`Invalid fee configuration.`,InvalidFlipTick:`The flip-order price tick is invalid.`,InvalidFormat:`Invalid format.`,InvalidKeyAuthorizationWitness:`Invalid key authorization witness.`,InvalidKeyId:`Invalid key ID.`,InvalidLeader:`Invalid leader.`,InvalidLogoURI:`Invalid logo URI.`,InvalidMasterAddress:`Invalid master address.`,InvalidMaxRateAge:`Invalid maximum rate age.`,InvalidMigrationIndex:`Invalid migration index.`,InvalidMode:`Invalid mode.`,InvalidMultiproof:`Invalid multiproof.`,InvalidNonceKey:`Invalid nonce key.`,InvalidOwner:`Invalid owner.`,InvalidOwnerOrder:`Invalid owner order.`,InvalidPayee:`Invalid payee.`,InvalidPayload:`Invalid payload.`,InvalidPolicyType:`Invalid policy type.`,InvalidPrivateAsset:`Invalid private asset.`,InvalidProof:`Invalid proof.`,InvalidProofOfPossession:`Invalid proof of possession.`,InvalidPublicKey:`Invalid public key.`,InvalidQuorumCertificate:`Invalid quorum certificate.`,InvalidQuoteToken:`Invalid quote token.`,InvalidRateTimestamp:`Rate timestamp {0} is invalid at current time {1}.`,InvalidReceipt:`Invalid receipt.`,InvalidReceivePolicyType:`Invalid receive policy type.`,InvalidRecipient:`Invalid recipient.`,InvalidRecoveryAuthority:`Invalid recovery authority.`,InvalidReturnToken:`Invalid return token.`,InvalidRevealTo:`Invalid reveal to.`,InvalidRoutePair:`Invalid route pair.`,InvalidSequencerSet:`Invalid sequencer set.`,InvalidSignature:`Invalid signature.`,InvalidSignatureFormat:`Invalid signature format.`,InvalidSignatureType:`Invalid signature type.`,InvalidSourcePortal:`Invalid source portal.`,InvalidSpendingLimit:`Invalid spending limit.`,InvalidSupplyCap:`Invalid supply cap.`,InvalidSwapCalculation:`Invalid swap calculation.`,InvalidTempoBlockNumber:`Invalid tempo block number.`,InvalidThreshold:`Invalid threshold.`,InvalidTick:`The price tick is invalid.`,InvalidToken:`This token is not supported on the exchange.`,InvalidTrackedRequest:`Tracked request {0} is invalid.`,InvalidTransactionLimit:`Invalid transaction limit.`,InvalidTransferPolicy:`Transfer policy {0} is invalid.`,InvalidTransferPolicyId:`Invalid transfer policy.`,InvalidValidatorAddress:`Invalid validator address.`,InvalidVedaPeriphery:`Account {0} is not a valid Veda periphery.`,InvalidVedaPeripheryWiring:`Invalid Veda periphery wiring for component {0}. Expected {1}, got {2}.`,InvalidVedaRateBounds:`Invalid Veda rate bounds. Minimum: {0}, maximum: {1}.`,InvalidVenueShareDecimals:`Invalid venue share decimals.`,InvalidWeight:`Invalid weight.`,InvalidWithdrawalCount:`Invalid withdrawal count. Expected {1}, got {0}.`,IssuerGrantFailed:`Issuer grant failed.`,KeyAlreadyExists:`Key already exists.`,KeyAlreadyRevoked:`Key has already been revoked.`,KeyAuthorizationWitnessAlreadyBurned:`Key authorization witness has already been burned.`,KeyExpired:`Key has expired.`,KeyNotFound:`Key not found.`,LeaderAlreadyUpdatedThisBlock:`The leader has already been updated this block.`,LegacyAuthorizeKeySelectorChanged:`Legacy authorize key selector changed to {0}.`,LogoURITooLong:`Logo URI is too long.`,MasterIdCollision:`Master ID collision with {0}.`,MaxInputExceeded:`The required input exceeds the slippage maximum — try increasing slippage tolerance.`,MaxManagedAssetsExceeded:`Maximum managed assets {0} exceeded by actual amount {1}.`,MerkleProofInvalidMultiproof:`Invalid Merkle multiproof.`,MigrationNotComplete:`Migration is not complete.`,MinimumAssetsNotMet:`Minimum assets not met. Minimum: {0}, actual: {1}.`,MinimumEarnSharesNotMet:`Minimum earn shares not met. Minimum: {0}, actual: {1}.`,MinimumEngineSharesNotMet:`Minimum engine shares not met. Minimum: {0}, actual: {1}.`,MustDelegateCall:`This function must be called with delegatecall.`,NoEarnShares:`No earn shares were received.`,NoEncryptionKeyAtBlock:`No encryption key exists at block {0}.`,NoEncryptionKeySet:`No encryption key set.`,NoOptedInSupply:`No opted-in supply.`,NoPublishedVedaPeriphery:`No Veda periphery has been published.`,NoRecoverableClaims:`No recoverable claims were found.`,NoVenueSharesReceived:`No venue shares were received.`,NonceOverflow:`Nonce overflow.`,NotAdmin:`Not admin.`,NotAuthorizedForwarder:`Caller {0} is not an authorized forwarder.`,NotDistributor:`Not distributor.`,NotEarnVault:`Not earn vault.`,NotEmergencyGuardianOrOperator:`Caller is not the emergency guardian or operator.`,NotEngine:`Not engine.`,NotFactory:`Not factory.`,NotHostPort:`\"{1}\" is not a valid host:port for {0}.`,NotInitialized:`Not initialized.`,NotIp:`\"{0}\" is not a valid IP address.`,NotIpPort:`\"{1}\" is not a valid IP:port for {0}.`,NotMultisigAccount:`Not multisig account.`,NotOperator:`Not operator.`,NotOwner:`Not owner.`,NotPauseAuthority:`Not pause authority.`,NotPayeeOrOperator:`Not payee or operator.`,NotPayer:`Not payer.`,NotPendingAdmin:`Not pending admin.`,NotPendingDistributor:`Not pending distributor.`,NotRequesterOrJanitor:`Caller is not the requester or janitor.`,NotSelf:`Not self.`,NotSequencer:`Not sequencer.`,NotZoneMessenger:`Not zone messenger.`,NothingOwed:`Nothing is owed.`,OnlyDirectCall:`Only direct calls are allowed.`,OnlySequencer:`Only the sequencer may call this function.`,OnlyZoneInbox:`Only the zone inbox may call this function.`,OperatorMigrationDisabled:`Operator migration disabled.`,OrderDoesNotExist:`No order exists with the given ID.`,OrderNotStale:`This order is not yet eligible for stale-cleanup.`,OwnableInvalidOwner:`Owner {0} is invalid.`,OwnableUnauthorizedAccount:`Account {0} is not authorized.`,OwnershipRenunciationDisabled:`Ownership renunciation disabled.`,PairAlreadyExists:`A trading pair for these tokens has already been created.`,PairDoesNotExist:`No trading pair exists for these tokens.`,Paused:`This contract is paused.`,PausedLiabilityIncrease:`Cannot increase liabilities while paused.`,PendingRedeemsOpen:`Pending redemptions are still open.`,PermitExpired:`Permit has expired.`,PolicyForbids:`Forbidden by policy.`,PolicyNotFound:`Policy not found.`,PolicyNotSimple:`Policy is not a simple policy.`,PortalIsPaused:`Portal is paused.`,ProofOfWorkFailed:`Proof of work failed.`,ProtectedAddress:`Address is protected.`,ProtocolNonceNotSupported:`Protocol nonce is not supported.`,PublicKeyAlreadyExists:`Public key already exists.`,QueueTrackingDisabled:`Tracking is disabled for queue {0}.`,QueueUnavailable:`Queue unavailable.`,RateChangedWithinTransaction:`Rate changed within the transaction. Expected {0}, got {1}.`,ReentrancyGuardReentrantCall:`Reentrant call blocked.`,ReentrantCall:`Reentrant call blocked.`,ReentrantWithdrawal:`Reentrant withdrawal blocked.`,RegistryEngineMismatch:`Registry engine mismatch. Expected {0}, got {1}.`,RequestNotOpen:`Request {0} is not open.`,ResidualBacking:`Residual backing remains.`,ResidualBalance:`Residual balance remains.`,RewardRateLimitExceeded:`Normalized reward rate {0} exceeds the baseline rate {1}.`,RootTotalDecreased:`Root total decreased from {0} to {1}.`,RootTotalExceeded:`Requested amount {0} exceeds the remaining entitlement {1}.`,SameEngine:`Same engine.`,SameTransactionUpdateNotAllowed:`Same transaction update not allowed.`,SequencerConfigurationUnchanged:`Sequencer configuration unchanged.`,SignatureTypeMismatch:`Signature type mismatch. Expected {0}, got {1}.`,SolveUnderfunded:`Solve for asset {0} is underfunded. Delivered: {1}, required: {2}.`,SpendingLimitExceeded:`Spending limit exceeded.`,StaleAccountantRate:`Accountant rate updated at {0} is stale at time {1}; maximum age is {2}.`,StaleLeadershipEpoch:`Stale leadership epoch. Expected {0}, got {1}.`,StaleRootVersion:`Stale root version. Expected {0}, got {1}.`,StaticCallNotAllowed:`Static call not allowed.`,SupplyCapExceeded:`Supply cap exceeded.`,SweepExceedsAvailableBalance:`Sweep for token {0} exceeds the balance. Available: {1}, requested: {2}.`,TickOutOfBounds:`Price tick {0} is outside the allowed range.`,TokenAlreadyEnabled:`Token already enabled.`,TokenAlreadyExists:`Token {0} already exists.`,TokenCallFailed:`Token call failed.`,TokenCallFalse:`Token call returned false.`,TokenEnablementBlockCapacityExceeded:`Token enablement block capacity of {0} exceeded.`,TokenMetadataTooLong:`Token metadata too long.`,TokenNotEnabled:`Token not enabled.`,TokenTransferPolicyNotSet:`Token transfer policy not set.`,TooManyOwners:`Too many owners.`,TooManyWithdrawalsThisBlock:`Too many withdrawals this block.`,TransferFailed:`Transfer failed.`,TransferPolicyMismatch:`Transfer policy mismatch. Expected {0}, got {1}.`,Unauthorized:`Unauthorized.`,UnauthorizedCaller:`Unauthorized caller.`,UnauthorizedClaimer:`Unauthorized claimer.`,UnexpectedAssetsReceived:`Unexpected assets received. Expected {0}, got {1}.`,UnexpectedEarnShares:`Unexpected earn shares. Reported: {0}, measured: {1}.`,UnexpectedRetainedAssets:`Unexpected assets retained. Balance before: {0}, after: {1}.`,UnexpectedVenueSharesBurned:`Unexpected venue shares burned. Expected {0}, got {1}.`,UnexpectedVenueSharesQueued:`Unexpected venue shares queued. Expected {0}, got {1}.`,Uninitialized:`Uninitialized.`,UnsupportedAccountantFreshness:`Accountant {0} does not support freshness checks.`,UnsupportedTransferPolicy:`Transfer policy {0} has unsupported type {1}.`,ValidatorAlreadyDeactivated:`Validator is already deactivated.`,ValidatorAlreadyExists:`Validator already exists.`,ValidatorNotFound:`Validator not found.`,VedaRateOutOfBounds:`Veda rate {0} is outside the allowed range of {1} to {2}.`,VirtualAddressNotAllowed:`Virtual address is not allowed.`,VirtualAddressUnregistered:`Virtual address is not registered.`,WrongInputToken:`Incorrect input token.`,WrongSourceZone:`Incorrect source zone.`,ZeroAddress:`Address cannot be zero.`,ZeroAmount:`Amount cannot be zero.`,ZeroAmountWithdrawal:`Withdrawal amount cannot be zero.`,ZeroCampaignId:`Campaign ID cannot be zero.`,ZeroDeadline:`Deadline cannot be zero.`,ZeroDeposit:`Deposit cannot be zero.`,ZeroMinimumAssets:`Minimum assets cannot be zero.`,ZeroMinimumEarnShares:`Minimum earn shares cannot be zero.`,ZeroMinimumEngineShares:`Minimum engine shares cannot be zero.`,ZeroPublicKey:`Public key cannot be zero.`,ZeroRoot:`Root cannot be zero.`,ZeroStatementHash:`Statement hash cannot be zero.`};function wO(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function TO(e){let t=e.details??e.shortMessage??e.message,n=EO(e);if(n)try{let e=Za({abi:sE,data:n}),r=CO[e.errorName];return{...e,data:n,message:r?wO(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in CO?{errorName:`unknown`,message:CO[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function EO(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.data==`string`&&t.data.startsWith(`0x`))return t.data;if(t.cause)return EO(t.cause);if(t.error)return EO(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return EO(e)}return null}function DO(e={}){let{extractable:t=!1}=e;return{requiresStructuredClone:!t,async createKey(){if(!globalThis.crypto?.subtle)throw Error(\"`webCryptoP256` keystore requires WebCrypto (`crypto.subtle`) support.\");let e=await JS({extractable:t}),n=O_(e.publicKey);return t?{handle:{jwk:await globalThis.crypto.subtle.exportKey(`jwk`,e.privateKey),kind:`webcrypto-p256`},publicKey:n}:{handle:{keyPair:e,kind:`webcrypto-p256`},publicKey:n}},async toAccount(e,t){let n=e.handle;if(n?.kind!==`webcrypto-p256`)throw Error(\"Unrecognized `webCryptoP256` keystore handle.\");let r={access:t.access,keyAuthorizationManager:t.keyAuthorizationManager};if(n.keyPair){if(!OO(n.keyPair.privateKey))throw new kO(\"`webCryptoP256` key material did not survive storage.\");return DE(n.keyPair,r)}if(n.jwk)return DE({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new kO(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:E_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function OO(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey||!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var kO=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function AO(e){return e instanceof kO||e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let jO={p256:DO()};function MO(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 NO(e,t){return typeof t==`bigint`?t.toString():t}var PO=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function FO(e){return new PO(e)}function IO(e){return e==null}function LO(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function RO(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function zO(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function BO(e){return zO(e._zod.def)??e._zod.def.shape}function VO(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return RO(this,t,e),e},enumerable:!0,configurable:!0})}function HO(e,t,n){t in e?RO(e,t,n):e[t]=n}function UO(e,t,n,r){let i=BO(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?VO(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):HO(e,a,r?r(n.value,a):n.value))}}function WO(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let GO=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function KO(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function qO(e){if(KO(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return KO(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}let JO=new Set([`string`,`number`,`symbol`]),YO=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function XO(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function ZO(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function QO(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 $O(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}function ek(e,t){let n=BO(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: \"${String(e)}\"`);t[e]&&r.push(e)}return r}function tk(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(ek(e,t)),a={};return UO(a,e,Reflect.ownKeys(BO(e)).filter(e=>!i.has(e))),ZO(e,WO(n,{shape:a,checks:[]}))}function nk(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 rk(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 ik(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function ak(e){return typeof e==`string`?e:e?.message}function ok(e){let t=[];for(let n of e??[]){let e=n._zod.def;if(!/_(length|size)$|_equals$/.test(e.check))break;let r=e.maximum??e.length??e.size;r>=0&&t.push([r,n])}return t}function sk(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function ck(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:ak(e.inst?._zod.def?.error?.(e))??ak(a?.(e))??ak(t?.error?.(e))??ak(n.customError?.(e))??ak(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}let lk=/[\\uD800-\\uDBFF]/;function uk(e){let t=e.length;if(!lk.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function dk(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function fk(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function pk(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):gk(e,n,r.value)}}function mk(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function hk(e,t,n){return mk(e,t,n,!1)}function gk(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:mk(this,t,n.bind(this))},set(e){mk(this,t,e)}})}function _k(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}let vk,yk=!1,bk={configurable:!0,get(){yk=!0}};function xk(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&vk!==e._zod){vk=void 0;return}vk=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,bk);let e=yk;yk=!1;try{let r=n(this);return yk?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),yk||=e,r}catch(n){throw delete this[t],yk||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function Sk(e,t,n,r){let i=_k(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}var Ck;let wk={value:void 0,enumerable:!1},Tk=`captureStackTrace`in Error?Error:null;function Ek(e){let t=Tk;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return Tk=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function U(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){wk.value=new a(r);try{Object.defineProperty(n,\"_zod\",wk)}finally{wk.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),pk(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,\"name\",{value:e});function d(e){let t=r?.Parent?Ek(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,\"init\",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,\"name\",{value:e}),d}var Dk=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Ok=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Ck=globalThis).__zod_globalConfig??(Ck.__zod_globalConfig={});let kk=globalThis.__zod_globalConfig;function Ak(e){return e&&Object.assign(kk,e),kk}function jk(){let e=this._zod;return e.message??=JSON.stringify(e.def,NO,2),e.message}function Mk(e){this._zod.message=e}let Nk={get:jk,set:Mk,enumerable:!0,configurable:!0},Pk={value:void 0,enumerable:!1},Fk=new WeakSet([Object.prototype,Error.prototype]),Ik=(e,t)=>{e.name=`$ZodError`,Pk.value=t,Object.defineProperty(e,\"issues\",Pk),Pk.value=void 0,Object.defineProperty(e,\"message\",Nk);let n=Object.getPrototypeOf(e);Fk.has(n)||(Fk.add(n),Object.defineProperty(n,\"toString\",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,\"toString\",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,\"toString\",{value:e,configurable:!0,writable:!0})}}))};U(`$ZodError`,Ik);let Lk=U(`$ZodError`,Ik,void 0,{Parent:Error});function Rk(e,t){return{callee:t?.callee??e,Err:t?.Err}}let zk=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Dk;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>ck(e,o,Ak())));throw GO(n,a?.callee??t),n}return s.value};return t},Bk=zk(Lk),Vk=(e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>ck(e,o,Ak())));throw GO(n,a?.callee??t),n}return s.value};return t})(Lk),Hk=(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 Dk;return a.issues.length?Uk(e,a.issues,i):{success:!0,data:a.value}})(Lk);function Uk(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>ck(e,n,Ak()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}let Wk=(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?Uk(e,a.issues,i):{success:!0,data:a.value}})(Lk),Gk=(e=>{let t=zk(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,Rk(n,a))};return n})(Lk),Kk=/^[\\s\\S]{0,}$/,qk=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},Jk=/^-?\\d+n?$/,Yk=/^-?\\d+$/,Xk=/^-?\\d+(?:\\.\\d+)?$/,Zk=/^(?:true|false)$/i,Qk=/^null$/i,$k=/^undefined$/i,eA=U(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),tA=e=>{let t=e.value;return!IO(t)&&t.length!==void 0},nA={number:`number`,bigint:`bigint`,object:`date`},rA=U(`$ZodCheckLessThan`,(e,t)=>{eA.init(e,t);let n=nA[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:nA[typeof r.value]??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})}}),iA=U(`$ZodCheckGreaterThan`,(e,t)=>{eA.init(e,t);let n=nA[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:nA[typeof r.value]??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})}}),aA=U(`$ZodCheckMaxLength`,(e,t)=>{var n;eA.init(e,t),(n=e._zod.def).when??(n.when=tA),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?uk(r):i)<=t.maximum)return;let a=dk(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),oA=U(`$ZodCheckMinLength`,(e,t)=>{var n;eA.init(e,t),(n=e._zod.def).when??(n.when=tA),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?uk(r):i)>=t.minimum)return;let a=dk(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),sA=U(`$ZodCheckStringFormat`,(e,t)=>{var n,r;eA.init(e,t),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=()=>{})}),cA=U(`$ZodCheckRegex`,(e,t)=>{sA.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})}}),lA={major:4,minor:6,patch:7},uA=U(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=lA;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=nk(t),a;for(let o of n){if(o._zod.def.when){if(rk(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new Dk;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(sk(t.issues,n,e),i||=nk(t,n))});else{if(t.issues.length===n)continue;sk(t.issues,n,e),i||=nk(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(nk(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new Dk;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new Dk;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get\"~standard\"(){return hk(this,`~standard`,pA(this))},set\"~standard\"(e){mk(this,`~standard`,e)}}),dA=(e,t)=>e.issues.length?{issues:e.issues.map(e=>ck(e,t,Ak()))}:{value:e.value};async function fA(e,t){let n={async:!0};return dA(await e._zod.run({value:t,issues:[]},n),n)}function pA(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return dA(r,n)}catch{}return fA(e,t)},vendor:`zod`,version:1}}let mA=U(`$ZodString`,(e,t)=>{uA.init(e,t),e._zod.pattern=t.pattern??Kk,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}}),hA=U(`$ZodNumber`,(e,t)=>{uA.init(e,t),e._zod.pattern=Xk,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:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),gA=U(`$ZodBoolean`,(e,t)=>{uA.init(e,t),e._zod.pattern=Zk,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}}),_A=U(`$ZodBigInt`,(e,t)=>{uA.init(e,t),e._zod.pattern=Jk,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}}),vA=U(`$ZodUndefined`,(e,t)=>{uA.init(e,t),e._zod.pattern=$k,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}}),yA=U(`$ZodNull`,(e,t)=>{uA.init(e,t),e._zod.pattern=Qk,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}}),bA=U(`$ZodUnknown`,(e,t)=>{uA.init(e,t),e._zod.parse=e=>e}),xA=U(`$ZodNever`,(e,t)=>{uA.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function SA(e,t){let n=ok(e._zod.def.checks);if(!n.length)return;let r=Math.min(...n.map(e=>e[0])),i=e._zod.parse;e._zod.parse=(n,a)=>{let o=t(n.value);if(o>r&&!a?.skipChecks&&a?.direction!==`backward`){for(let[t,r]of ok(e._zod.def.checks))if(o>t&&r._zod.def.when(n)){let t=n.issues.length;return r._zod.check(n),n.issues[t].continue=!1,sk(n.issues,t,e),n}}return i(n,a)}}let CA=e=>Array.isArray(e)?e.length:-1;function wA(e,t,n){e.issues.length&&t.issues.push(...ik(n,e.issues)),t.value[n]=e.value}let TA=U(`$ZodArray`,(e,t)=>{uA.init(e,t);let n=kk.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>wA(t,r,e)));else if(wA(c,r,e),s&&c.issues.length!==0&&nk(c))break}return o.length?Promise.all(o).then(()=>r):r},SA(e,CA)});function EA(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(!(!o&&s&&i===`optional`)){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...ik(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}let DA=[];function OA(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:DA,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key \"${String(t)}\": expected a Zod schema`);let a=$O(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function kA(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(nk(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>EA(e,n,i,t,d,f))):EA(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}let AA=U(`$ZodObject`,(e,t)=>{uA.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,\"shape\",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,\"shape\",{get:e})}let i=FO(()=>OA(t));xk(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||RO(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let a=KO,o=t.catchall,s,c=kk.memoizer;c?.attach(e),e._zod.parse=(t,n)=>{s??=i.value;let r=t.value;if(!a(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=c?c.alloc(e,t,{},n):{};let l=[],u=s.shape,d=n?.abortEarly,f=t.issues.length;for(let e of s.allKeys){if(d&&t.issues.length!==f){if(nk(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let i=u[e],a=i._zod.optin,o=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?l.push(s.then(n=>EA(n,t,e,r,a,o))):EA(s,t,e,r,a,o)}return o?kA(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}});function jA(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=>!nk(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=>ck(e,r,Ak())))}),t)}let MA=U(`$ZodUnion`,(e,t)=>{uA.init(e,t),xk(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),xk(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),xk(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),xk(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>LO(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=>jA(t,r,e,i)):jA(o,r,e,i)}});function NA(e){let t=new Map;for(let n of e.options){let r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw Error(`Invalid discriminated union option at index \"${e.options.indexOf(n)}\"`);for(let e of r)if(t.has(e)){if(e!==void 0)throw Error(`Duplicate discriminator value \"${String(e)}\"`);t.set(e,null)}else t.set(e,n)}return t}let PA=U(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,MA.init(e,t);let n=e._zod.parse;xk(e,`propValues`,e=>{let t={},n=0;for(let r of e.def.options){let i=r._zod.propValues;if(!i||Object.keys(i).length===0)throw Error(`Invalid discriminated union option at index \"${e.def.options.indexOf(r)}\"`);i[e.def.discriminator]?.has(void 0)&&n++;for(let[e,n]of Object.entries(i)){Object.prototype.hasOwnProperty.call(t,e)||RO(t,e,new Set);for(let r of n)t[e].add(r)}}return!e.def.unionFallback&&n>1&&t[e.def.discriminator]?.delete(void 0),t}),t.options.forEach((e,n)=>{let r=zO(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index \"${n}\"`)});let r=FO(()=>NA(t));e._zod.parse=(i,a)=>{let o=i.value;if(!KO(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=o?.[t.discriminator],c=r.value.get(s);return c&&(s!==void 0||a.direction!==`backward`)?c._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()).filter(e=>r.value.get(e)!==null),input:o,path:[t.discriminator],inst:e}),i)}}),FA=U(`$ZodTuple`,(e,t)=>{uA.init(e,t);let n=t.items,r=kk.memoizer;r?.attach(e),e._zod.parse=(i,a)=>{let o=i.value;if(!Array.isArray(o))return i.issues.push({input:o,inst:e,expected:`tuple`,code:`invalid_type`}),i;i.value=r?r.alloc(e,i,[],a):[];let s=[],c=IA(n,`optin`),l=IA(n,`optout`);if(!t.rest){if(o.length<c)return i.issues.push({code:`too_small`,minimum:c,inclusive:!0,input:o,inst:e,origin:`array`}),i;o.length>n.length&&i.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:o,inst:e,origin:`array`})}let u=Array(n.length),d=t.rest?a?.abortEarly:void 0,f=!1;for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:o[e],issues:[]},a);t instanceof Promise?s.push(t.then(t=>{u[e]=t})):(u[e]=t,d&&!f&&t.issues.length&&(f=nk(t)))}if(t.rest&&!f){let e=n.length-1,r=o.slice(n.length),c=i.issues.length;for(let n of r){if(d&&i.issues.length!==c){if(nk(i,c))break;c=i.issues.length}e++;let r=t.rest._zod.run({value:n,issues:[]},a);r instanceof Promise?s.push(r.then(t=>LA(t,i,e))):LA(r,i,e)}}return s.length?Promise.all(s).then(()=>RA(u,i,n,o,l)):RA(u,i,n,o,l)}});function IA(e,t){for(let n=e.length-1;n>=0;n--)if(!(t===`optin`?e[n]._zod.optin!==void 0:e[n]._zod.optout===`optional`))return n+1;return 0}function LA(e,t,n){e.issues.length&&t.issues.push(...ik(n,e.issues)),t.value[n]=e.value}function RA(e,t,n,r,i){for(let a=0;a<n.length;a++){let o=e[a],s=a<r.length;if(!s&&a>=i&&n[a]._zod.optin===`optional`){t.value.length=a;break}if(o.issues.length){if(!s&&a>=i){t.value.length=a;break}t.issues.push(...ik(a,o.issues))}t.value[a]=o.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 zA=U(`$ZodRecord`,(e,t)=>{uA.init(e,t);let n=kk.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!qO(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>ck(e,i,Ak())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...ik(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...ik(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&Xk.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>ck(e,i,Ak())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...ik(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...ik(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),BA=U(`$ZodEnum`,(e,t)=>{uA.init(e,t);let n=MO(t.entries),r=new Set(n);e._zod.values=r,xk(e,`pattern`,e=>{let t=MO(e.def.entries).filter(e=>JO.has(typeof e));return RegExp(t.length?`^(${t.map(e=>XO(e.toString())).join(`|`)})$`:`^[^\\\\s\\\\S]$`)}),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}}),VA=U(`$ZodLiteral`,(e,t)=>{uA.init(e,t);let n=new Set(t.values);e._zod.values=n,xk(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?XO(e):e?XO(e.toString()):String(e)).join(`|`)})$`:`^[^\\\\s\\\\S]$`)}),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}}),HA=U(`$ZodTransform`,(e,t)=>{uA.init(e,t),e._zod.optin=`optional`,kk.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Ok(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));if(i instanceof Promise)throw new Dk;return n.value=i,n}});function UA(e,t){return e.value=t.issues.length?void 0:t.value,e}let WA=U(`$ZodOptional`,(e,t)=>{uA.init(e,t),xk(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,xk(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),xk(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${LO(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>UA(e,t)):UA(e,r)}return t.innerType._zod.run(e,n)}}),GA=U(`$ZodNullable`,(e,t)=>{uA.init(e,t),xk(e,`optin`,e=>e.def.innerType._zod.optin),xk(e,`optout`,e=>e.def.innerType._zod.optout),xk(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${LO(t.source)}|null)$`):void 0}),xk(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),KA=U(`$ZodPipe`,(e,t)=>{uA.init(e,t),xk(e,`values`,e=>e.def.in._zod.values),xk(e,`optin`,e=>e.def.in._zod.optin),xk(e,`optout`,e=>e.def.out._zod.optout),xk(e,`propValues`,e=>e.def.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=>qA(e,t.in,n)):qA(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>qA(e,t.out,n)):qA(r,t.out,n)}});function qA(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}let JA=U(`$ZodCodec`,(e,t)=>{uA.init(e,t),xk(e,`values`,e=>e.def.in._zod.values),xk(e,`optin`,e=>e.def.in._zod.optin),xk(e,`optout`,e=>e.def.out._zod.optout),xk(e,`propValues`,e=>e.def.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=>YA(e,t,n)):YA(r,t,n)}{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>YA(e,t,n)):YA(r,t,n)}}});function YA(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=>XA(e,r,t.out,n)):XA(e,r,t.out,n)}{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>XA(e,r,t.in,n)):XA(e,r,t.in,n)}}function XA(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let ZA=U(`$ZodReadonly`,(e,t)=>{uA.init(e,t),xk(e,`propValues`,e=>e.def.innerType._zod.propValues),xk(e,`values`,e=>e.def.innerType._zod.values),xk(e,`optin`,e=>e.def.innerType?._zod?.optin),xk(e,`optout`,e=>e.def.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(QA):QA(r)}});function QA(e){return e.memo||(e.value=Object.freeze(e.value)),e}function $A(e){let t=e._zod.def,n=t.pattern,r=!!t.format?.includes(`int`),i,a;for(let e of t.checks??[]){let t=e._zod.def;t.pattern&&(n=t.pattern),r||=!!t.format?.includes(`int`);let o=t.minimum??t.length,s=t.maximum??t.length;o!==void 0&&(i===void 0||o>i)&&(i=o),s!==void 0&&(a===void 0||s<a)&&(a=s)}if(n)return n.source;if(i!==void 0&&a!==void 0&&i>a)return`(?!)`;if(i!==void 0||a!==void 0)return qk({minimum:i,maximum:a}).source;let o=e._zod.pattern;return(r&&o===Xk?Yk:o)?.source}function ej(e){let t=e._zod.def,n=e._zod.pattern?.source,r=t.innerType??e._zod.innerType;if(r){let e=r._zod.pattern?.source,t=ej(r);return n&&e&&t&&t!==e?n.replace(LO(e),()=>LO(t)):n}if(t.options){let e=t.options.map(ej);if(e.every(Boolean))return`^(${e.map(e=>LO(e)).join(`|`)})$`}return $A(e)}let tj=U(`$ZodTemplateLiteral`,(e,t)=>{uA.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){let t=ej(e);if(!t)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);n.push(LO(t))}else if(e===null||YO.has(typeof e))n.push(XO(`${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)}),nj=U(`$ZodCustom`,(e,t)=>{eA.init(e,t),uA.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=>rj(t,n,r,e));rj(i,n,r,e)}});function rj(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(fk(e))}}function ij(e){return e.checks&&=[...e.checks],e}function aj(e,t){return new e(ij({type:`string`,...QO(t)}))}function oj(e,t){return new e(ij({type:`number`,checks:[],...QO(t)}))}function sj(e,t){return new e({type:`boolean`,...QO(t)})}function cj(e,t){return new e({type:`bigint`,...QO(t)})}function lj(e,t){return new e({type:`undefined`,...QO(t)})}function uj(e,t){return new e({type:`null`,...QO(t)})}function dj(e){return new e({type:`unknown`})}function fj(e,t){return new e({type:`never`,...QO(t)})}function pj(e,t){return new rA({check:`less_than`,...QO(t),value:e,inclusive:!0})}function mj(e,t){return new iA({check:`greater_than`,...QO(t),value:e,inclusive:!0})}function hj(e,t){return new aA({check:`max_length`,...QO(t),maximum:e})}function gj(e,t){return new oA({check:`min_length`,...QO(t),minimum:e})}function _j(e,t){return new cA({check:`string_format`,format:`regex`,...QO(t),pattern:e})}function vj(e,t,n){let r=QO(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function yj(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...QO(n)})}let bj=U(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);uA.init(e,t),e.def=t,e.type=t.type},{get with(){return this.check},set with(e){mk(this,`with`,e)},parse(e,t){return Bk(this,e,t,{callee:this.parse})},parseAsync(e,t){return Vk(this,e,t,{callee:this.parseAsync})},safeParse(e,t){return Hk(this,e,t)},safeParseAsync(e,t){return Wk(this,e,t)},check(...e){let t=this.def;return this.clone({...t,checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]},{parent:!0})},clone(e,t){return ZO(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},apply(e,...t){return t.length===0?e(this):e(this,...t)}}),xj=U(`ZodMiniString`,(e,t)=>{mA.init(e,t),bj.init(e,t)});function W(e){return aj(xj,e)}let Sj=U(`ZodMiniNumber`,(e,t)=>{hA.init(e,t),bj.init(e,t)});function Cj(e){return oj(Sj,e)}let wj=U(`ZodMiniBoolean`,(e,t)=>{gA.init(e,t),bj.init(e,t)});function Tj(e){return sj(wj,e)}let Ej=U(`ZodMiniBigInt`,(e,t)=>{_A.init(e,t),bj.init(e,t)});function Dj(e){return cj(Ej,e)}let Oj=U(`ZodMiniUndefined`,(e,t)=>{vA.init(e,t),bj.init(e,t)});function kj(e){return lj(Oj,e)}let Aj=U(`ZodMiniNull`,(e,t)=>{yA.init(e,t),bj.init(e,t)});function jj(e){return uj(Aj,e)}let Mj=U(`ZodMiniUnknown`,(e,t)=>{bA.init(e,t),bj.init(e,t)});function Nj(){return dj(Mj)}let Pj=U(`ZodMiniNever`,(e,t)=>{xA.init(e,t),bj.init(e,t)});function Fj(e){return fj(Pj,e)}let Ij=U(`ZodMiniArray`,(e,t)=>{TA.init(e,t),bj.init(e,t)});function G(e,t){return new Ij({type:`array`,element:e,...QO(t)})}let Lj=U(`ZodMiniObject`,(e,t)=>{AA.init(e,t),bj.init(e,t),Sk(e,`shape`,e=>e._zod.def.shape,!1)});function K(e,t){let n={type:`object`,shape:e??{},...QO(t)};return new Lj(n)}function Rj(e,t){return new Lj({type:`object`,shape:e,catchall:Nj(),...QO(t)})}function zj(e,t){return tk(e,t)}let Bj=U(`ZodMiniUnion`,(e,t)=>{MA.init(e,t),bj.init(e,t)});function q(e,t){return new Bj({type:`union`,options:e,...QO(t)})}let Vj=U(`ZodMiniDiscriminatedUnion`,(e,t)=>{PA.init(e,t),bj.init(e,t)});function Hj(e,t,n){return new Vj({type:`union`,options:t,discriminator:e,...QO(n)})}let Uj=U(`ZodMiniTuple`,(e,t)=>{FA.init(e,t),bj.init(e,t)});function Wj(e,t,n){let r=t instanceof uA;return new Uj({type:`tuple`,items:e,rest:r?t:null,...QO(r?n:t)})}let Gj=U(`ZodMiniRecord`,(e,t)=>{zA.init(e,t),bj.init(e,t)});function Kj(e,t,n){return!t||!t._zod?new Gj({type:`record`,keyType:W(),valueType:e,...QO(t)}):new Gj({type:`record`,keyType:e,valueType:t,...QO(n)})}let qj=U(`ZodMiniEnum`,(e,t)=>{BA.init(e,t),bj.init(e,t),e.options=[...e._zod.values]});function Jj(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new qj({type:`enum`,entries:n,...QO(t)})}let Yj=U(`ZodMiniLiteral`,(e,t)=>{VA.init(e,t),bj.init(e,t)});function J(e,t){return new Yj({type:`literal`,values:Array.isArray(e)?e:[e],...QO(t)})}let Xj=U(`ZodMiniTransform`,(e,t)=>{HA.init(e,t),bj.init(e,t)});function Zj(e){return new Xj({type:`transform`,transform:e})}let Qj=U(`ZodMiniOptional`,(e,t)=>{WA.init(e,t),bj.init(e,t)});function Y(e){return new Qj({type:`optional`,innerType:e})}let $j=U(`ZodMiniNullable`,(e,t)=>{GA.init(e,t),bj.init(e,t)});function eM(e){return new $j({type:`nullable`,innerType:e})}let tM=U(`ZodMiniPipe`,(e,t)=>{KA.init(e,t),bj.init(e,t)});function nM(e,t){return new tM({type:`pipe`,in:e,out:t})}let rM=U(`ZodMiniCodec`,(e,t)=>{tM.init(e,t),JA.init(e,t)});function iM(e,t,n){return new rM({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let aM=U(`ZodMiniReadonly`,(e,t)=>{ZA.init(e,t),bj.init(e,t)});function X(e){return new aM({type:`readonly`,innerType:e})}let oM=U(`ZodMiniTemplateLiteral`,(e,t)=>{tj.init(e,t),bj.init(e,t)});function sM(e,t){return new oM({type:`template_literal`,parts:e,...QO(t)})}let cM=U(`ZodMiniCustom`,(e,t)=>{nj.init(e,t),bj.init(e,t)});function lM(e,t){return vj(cM,e??(()=>!0),t)}function uM(e,t={}){return yj(cM,e,t)}function dM(e){return e}function fM(e){return e}R();let Z=()=>sM([`0x`,W().check(_j(/^[0-9a-fA-F]{40}$/))],`Expected address`),pM=()=>iM(q([Q(),Dj()]),Dj(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:L(e),encode:e=>P(e)}),Q=()=>sM([`0x`,W()],`Expected hex value`),mM=()=>iM(q([Q(),Cj()]),Cj(),{decode:e=>typeof e==`number`?e:e===`0x`?0:wp(e),encode:e=>P(e)});R();let hM=K({address:Z(),blockHash:Q(),blockNumber:pM(),data:Q(),logIndex:mM(),removed:Tj(),topics:X(G(Q())),transactionHash:Q(),transactionIndex:mM()}),gM=K({blobGasPrice:Y(pM()),blobGasUsed:Y(pM()),blockHash:Q(),blockNumber:pM(),contractAddress:eM(Z()),cumulativeGasUsed:pM(),effectiveGasPrice:pM(),feePayer:Y(Z()),feeToken:Y(Z()),from:Z(),gasUsed:pM(),logs:G(hM),logsBloom:Q(),root:Y(Q()),status:iM(Q(),Jj([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:eM(Z()),transactionHash:Q(),transactionIndex:mM(),type:Q()}),_M=lM(),vM=q([J(`secp256k1`),J(`p256`),J(`webAuthn`)]),yM=iM(K({allowedCalls:Y(X(G(K({target:Z(),selectorRules:Y(X(G(K({selector:Q(),recipients:Y(X(G(Z())))}))))})))),address:Y(Z()),chainId:pM(),expiry:q([mM(),jj(),kj()]),keyId:Z(),keyType:vM,limits:Y(X(G(K({token:Z(),limit:pM(),period:Y(mM())})))),signature:_M}),lM(),{decode(e){return cw({chainId:P(e.chainId),expiry:e.expiry==null?null:P(e.expiry),keyId:e.keyId,keyType:e.keyType,limits:e.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:P(e),...typeof t==`number`?{period:P(t)}:{}})),signature:e.signature,...e.allowedCalls?{allowedCalls:e.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}})},encode(e){let t=mw(e);return{chainId:t.chainId===`0x`?0n:L(t.chainId),expiry:t.expiry==null?null:wp(t.expiry),keyId:t.keyId,keyType:t.keyType,limits:t.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:L(e),...t?{period:wp(t)}:{}})),signature:t.signature,address:t.keyId,...t.allowedCalls?{allowedCalls:t.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}}}}),bM=K({data:Y(Q()),to:Y(Z()),value:Y(pM())}),xM=K({accessList:Y(G(K({address:Z(),storageKeys:G(Q())}))),calls:Y(X(G(bM))),capabilities:Y(Kj(W(),Nj())),chainId:Y(mM()),data:Y(Q()),feePayer:Y(q([Tj(),W()])),feePayerSignature:Y(Kj(W(),Nj())),feeToken:Y(Z()),from:Y(Z()),gas:Y(pM()),keyAuthorization:Y(yM),keyData:Y(Q()),keyId:Y(Z()),keyType:Y(vM),maxFeePerGas:Y(pM()),maxPriorityFeePerGas:Y(pM()),nonce:Y(mM()),nonceKey:Y(pM()),to:Y(Z()),validAfter:Y(mM()),validBefore:Y(mM()),value:Y(pM())});var SM;(function(e){e.schema=dM({method:J(`eth_accounts`),params:void 0,returns:X(G(Z()))})})(SM||={});var CM;(function(e){e.schema=dM({method:J(`eth_chainId`),params:void 0,returns:Q()})})(CM||={});var wM;(function(e){e.schema=dM({method:J(`eth_requestAccounts`),params:void 0,returns:X(G(Z()))})})(wM||={});var TM;(function(e){e.schema=dM({method:J(`eth_sendTransaction`),params:X(Wj([xM])),returns:Q()})})(TM||={});var EM;(function(e){let t=K({address:Z(),decimals:Cj(),direction:Jj([`incoming`,`outgoing`]),formatted:W(),name:W(),recipients:X(G(Z())),symbol:W(),value:Q()}),n=K({decimals:Cj(),formatted:W(),name:W(),symbol:W(),token:Z(),value:Q()});e.schema=dM({method:J(`eth_fillTransaction`),params:X(Wj([xM])),returns:K({capabilities:K({balanceDiffs:Y(Kj(Z(),X(G(t)))),error:Y(K({abiItem:Y(Kj(W(),Nj())),data:Y(Q()),errorName:W(),message:W()})),fee:Y(K({amount:Q(),decimals:Cj(),formatted:W(),symbol:W()})),requireFunds:Y(K({amount:Q(),decimals:Cj(),formatted:W(),token:Z(),symbol:W()})),autoSwap:Y(K({maxIn:n,minOut:n,slippage:Cj()})),sponsor:Y(K({address:Z(),name:Y(W()),url:Y(W())})),sponsored:Tj()}),tx:Kj(W(),Nj())})})})(EM||={});var DM;(function(e){e.schema=dM({method:J(`eth_signTransaction`),params:X(Wj([xM])),returns:Q()})})(DM||={});var OM;(function(e){e.schema=dM({method:J(`eth_sendTransactionSync`),params:X(Wj([xM])),returns:gM})})(OM||={});var kM;(function(e){e.schema=dM({method:J(`eth_signTypedData_v4`),params:X(Wj([Z(),W()])),returns:Q()})})(kM||={});var AM;(function(e){e.schema=dM({method:J(`personal_sign`),params:X(Wj([Q(),Z()])),returns:Q()})})(AM||={});let jM=Y(K({feePayer:Y(q([Tj(),W()])),sync:Y(Tj())}));var MM;(function(e){e.schema=dM({method:J(`wallet_sendCalls`),params:Y(X(Wj([K({atomicRequired:Y(Tj()),calls:X(G(bM)),capabilities:jM,chainId:Y(mM()),from:Y(Z()),version:Y(W())})]))),returns:K({atomic:Y(Tj()),capabilities:jM,chainId:Y(mM()),id:W(),receipts:Y(G(gM)),status:Y(Cj()),version:Y(W())})})})(MM||={});var NM;(function(e){e.schema=dM({method:J(`wallet_getBalances`),params:Y(X(Wj([K({account:Y(Z()),chainId:Y(mM()),tokens:Y(X(G(Z())))})]))),returns:X(G(K({address:Z(),balance:pM(),decimals:Cj(),display:W(),name:W(),symbol:W()})))})})(NM||={});var PM;(function(e){e.schema=dM({method:J(`wallet_getCapabilities`),params:Y(X(q([Wj([Z()]),Wj([Z(),X(G(Q()))])]))),returns:Kj(Q(),K({accessKeys:Y(K({status:q([J(`supported`),J(`unsupported`)])})),atomic:K({status:q([J(`supported`),J(`ready`),J(`unsupported`)])}),feePayer:Y(K({status:q([J(`supported`),J(`unsupported`)])}))}))})})(PM||={});var FM;(function(e){e.showDeposit=Y(q([Tj(),K({amount:Y(W()),displayName:Y(W()),token:Y(q([Z(),W()]))})])),e.parameters=K({address:Y(Z()),chainId:Y(pM()),expiry:Cj(),keyType:Y(vM),limits:Y(X(G(K({token:Z(),limit:pM(),period:Y(Cj())})))),publicKey:Y(Q()),scopes:Y(X(G(K({address:Z(),selector:Y(q([Q(),W()])),recipients:Y(X(G(Z())))})))),showDeposit:e.showDeposit}),e.returns=K({keyAuthorization:yM,rootAddress:Z()}),e.schema=dM({method:J(`wallet_authorizeAccessKey`),params:X(Wj([e.parameters])),returns:e.returns})})(FM||={});var IM;(function(e){e.parameters=K({address:Y(Z()),expiry:Cj(),keyType:Y(vM),limits:X(G(K({token:Z(),limit:pM(),period:Y(Cj())})).check(gj(1))),publicKey:Y(Q()),scopes:X(G(K({address:Z(),selector:Y(q([Q(),W()])),recipients:Y(X(G(Z())))})).check(gj(1))),showDeposit:FM.showDeposit})})(IM||={});var LM;(function(e){e.schema=dM({method:J(`wallet_revokeAccessKey`),params:X(Wj([K({address:Z(),accessKeyAddress:Z()})])),returns:void 0})})(LM||={});var RM;(function(e){e.parameters=K({address:Z(),accessKeyAddress:Z(),chainId:Y(pM()),limits:X(G(K({token:Z(),limit:pM()})).check(gj(1)))}),e.schema=dM({method:J(`wallet_updateAccessKey`),params:X(Wj([e.parameters])),returns:void 0})})(RM||={});var zM;(function(e){e.authorizeAccessKey=Y(zj(FM.parameters,{showDeposit:!0})),e.showDeposit=Y(q([Tj(),K({amount:Y(W()),displayName:Y(W()),on:Y(q([J(`login`),J(`register`)])),token:Y(q([Z(),W()]))})])),e.auth=Y(q([W(),K({url:Y(W()),challenge:Y(W()),verify:Y(W()),logout:Y(W()),resources:Y(X(G(W()))),returnToken:Y(Tj())})])),e.personalSign=Y(K({message:W()})),e.identity=Y(K({email:Y(q([Tj(),W(),K({address:Y(W()),domains:Y(G(W())),nonce:Y(W())})]))})),e.capabilities={request:Y(q([K({digest:Y(Q()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:J(`register`),name:Y(W()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:Y(W())}),K({digest:Y(Q()),credentialId:Y(q([W(),G(W())])),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:Y(J(`login`)),personalSign:e.personalSign,selectAccount:Y(Tj()),showDeposit:e.showDeposit})])),result:K({identity:Y(K({email:Y(eM(W())),idToken:Y(W())})),keyAuthorization:Y(yM),personalSign:Y(K({message:W(),keyAuthorization:Y(Q())})),signature:Y(Q()),username:Y(eM(W())),auth:Y(Rj({token:Y(W())}))})},e.schema=dM({method:J(`wallet_connect`),params:Y(X(Wj([K({capabilities:e.capabilities.request,chainId:Y(mM()),version:Y(W())})]))),returns:K({accounts:X(G(K({address:Z(),capabilities:e.capabilities.result})))})})})(zM||={});var BM;(function(e){let t=Y(zj(IM.parameters,{showDeposit:!0})),n=zM.auth,r=zM.identity,i=zM.personalSign,a=zM.showDeposit;e.parameters=K({capabilities:Y(q([K({digest:Y(Q()),authorizeAccessKey:t,auth:n,identity:r,method:J(`register`),name:Y(W()),personalSign:i,showDeposit:a,userId:Y(W())}),K({digest:Y(Q()),credentialId:Y(q([W(),G(W())])),authorizeAccessKey:t,auth:n,identity:r,method:Y(J(`login`)),personalSign:i,selectAccount:Y(Tj()),showDeposit:a})])),chainId:Y(mM()),version:Y(W())})})(BM||={});var VM;(function(e){e.schema=dM({method:J(`wallet_disconnect`),params:void 0,returns:void 0})})(VM||={});var HM;(function(e){e.schema=dM({method:J(`wallet_getCallsStatus`),params:Y(X(Wj([W()]))),returns:K({atomic:Tj(),chainId:mM(),id:W(),receipts:Y(G(gM)),status:Cj(),version:W()})})})(HM||={});var UM;(function(e){e.parameters=Hj(`editable`,[K({amount:W(),chainId:Y(mM()),editable:Y(J(!1)),feePayer:Y(q([Tj(),W()])),from:Y(Z()),memo:Y(W()),to:Z(),token:q([Z(),W()])}),K({amount:Y(W()),chainId:Y(mM()),editable:J(!0),feePayer:Y(q([Tj(),W()])),memo:Y(W()),to:Y(Z()),token:Y(q([Z(),W()]))})]),e.schema=dM({method:J(`wallet_transfer`),params:Y(X(Wj([e.parameters]))),returns:K({chainId:mM(),receipt:gM})})})(UM||={});let WM=K({amount:Y(W()),pairToken:Y(Z()),slippage:Y(Cj().check(mj(0),pj(1))),token:Y(Z()),type:Y(q([J(`buy`),J(`sell`)]))});var GM;(function(e){e.schema=dM({method:J(`wallet_swap`),params:Y(X(Wj([WM]))),returns:K({receipt:gM})})})(GM||={});var KM;(function(e){e.schema=dM({method:J(`wallet_switchEthereumChain`),params:X(Wj([K({chainId:mM()})])),returns:void 0})})(KM||={});var qM;(function(e){e.schema=dM({method:J(`wallet_deposit`),params:Y(X(Wj([K({address:Y(Z()),amount:Y(W()),chainId:Y(mM()),displayName:Y(W()),intent:Y(q([J(`applePay`),J(`credits`),J(`crypto`),J(`faucet`),J(`mach`),J(`referralCode`),J(`x`)])),token:Y(q([Z(),W()]))})]))),returns:Y(K({receipts:Y(X(G(gM)))}))})})(qM||={});var JM;(function(e){e.parameters=K({amount:Y(W()),feePayer:Y(q([Tj(),W()])),token:Y(Z()),zoneId:Y(mM())}),e.schema=dM({method:J(`wallet_depositZone`),params:Y(X(Wj([e.parameters]))),returns:K({receipt:gM})})})(JM||={});var YM;(function(e){e.parameters=K({amount:Y(W()),token:Y(Z()),zoneId:Y(mM())}),e.schema=dM({method:J(`wallet_withdrawZone`),params:Y(X(Wj([e.parameters]))),returns:K({receipt:gM})})})(YM||={}),IM.parameters,BM.parameters;let XM=fM([SM.schema,CM.schema,EM.schema,wM.schema,TM.schema,OM.schema,DM.schema,kM.schema,AM.schema,FM.schema,zM.schema,qM.schema,JM.schema,VM.schema,NM.schema,HM.schema,PM.schema,LM.schema,RM.schema,UM.schema,MM.schema,GM.schema,KM.schema,YM.schema]),ZM=OS();function QM(e){return e.params?K({method:e.method,params:e.params}):K({method:e.method})}let $M=Hj(`method`,XM.map(QM));function eN(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)}let tN={acceptPayment:`Accept-Payment`,authorization:`Authorization`,paymentAuthorization:`Payment-Authorization`,paymentReceipt:`Payment-Receipt`,paymentSession:`Payment-Session`,paymentSessionSnapshot:`Payment-Session-Snapshot`,wwwAuthenticate:`WWW-Authenticate`},nN={payment:`Payment`},rN={evm:`evm`,stripe:`stripe`,tempo:`tempo`},iN={charge:`charge`,session:`session`,subscription:`subscription`},aN={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},oN={v1:`v1`,v2:`v2`};function sN(e,t){if(!(!e||typeof e!=`object`))return e[t]}var cN=class extends Error{details;status=402;hint;constructor(e,t={}){super(e),this.details=t.details,t.cause!==void 0&&Object.defineProperty(this,\"cause\",{configurable:!0,value:t.cause,writable:!0})}toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...this.details&&Object.keys(this.details).length>0&&{details:this.details},...this.hint&&{hint:this.hint},...e&&{challengeId:e}}}},lN=class extends cN{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 cN{name=`VerificationFailedError`;title=`Verification Failed`;type=`https://paymentauth.org/problems/verification-failed`;constructor(e={}){let{details:t,reason:n}=e;super(n?`Payment verification failed: ${n}.`:`Payment verification failed.`,{details:t})}},uN=class extends cN{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.`)}},dN=class extends cN{name=`PaymentOutcomeUnknownError`;title=`Payment Outcome Unknown`;type=`https://paymentauth.org/problems/payment-outcome-unknown`;challenge;credential;transactionHash;constructor(e){let{cause:t,challenge:n,credential:r,transactionHash:i}=e;super(`Payment outcome is unknown after sending a credential for challenge \"${n.id}\". Do not blindly retry.`,{cause:t}),this.challenge=n,this.credential=r,this.transactionHash=i}};function fN(e,t){if(!e)throw new lN({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new lN({...t&&{id:t},reason:`malformed expires timestamp`});if(Date.parse(e)<=Date.now())throw new uN({expires:e})}zf();function pN(e){let t=hx(e);return JSON.parse(t)}function mN(e){return px(Ff(e),{pad:!1,url:!0})}function hN(){return W().check(_j(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function gN(){return W().check(_j(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function _N(e=`Invalid ISO 8601 datetime`){return nM(q([gN(),lM(e=>e instanceof Date)]),Zj(vN)).check(uM(e=>Number.isFinite(e.getTime()),e))}function vN(e){return e instanceof Date?e:new Date(e)}function yN(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function bN(){return W().check(_j(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function xN(){return W().check(_j(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function SN(){return W().check(_j(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}fp();let CN=K({description:Y(W()),digest:Y(W().check(_j(/^sha-256=/,`Invalid digest format`))),expires:Y(gN()),header:Y(W().check(_j(/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,`Invalid HTTP header name`))),id:W().check(gj(1)),intent:W(),method:W(),meta:Y(Kj(W(),W())),opaque:Y(W()),realm:W(),request:Kj(W(),Nj())});function wN(e,t){let{description:n,digest:r,meta:i,method:a,header:o,intent:s,realm:c,request:l,secretKey:u}=e,d=BN(o)?void 0:o,f=e.expires?yN(e.expires):void 0,p=e.opaque??(i===void 0?void 0:mN(i)),m=u?VN({...e,expires:f,...i!==void 0&&{meta:i},opaque:p},{secretKey:u}):e.id;return CN.parse({id:m,realm:c,method:a,intent:s,request:l,...n&&{description:n},...r&&{digest:r},...f&&{expires:f},...d!==void 0&&{header:d},...i!==void 0&&{meta:i},...p!==void 0&&{opaque:p}})}function TN(e){let t=[EN(`id`,e.id),EN(`realm`,e.realm),EN(`method`,e.method),EN(`intent`,e.intent),EN(`request`,mN(e.request))];e.description!==void 0&&t.push(EN(`description`,e.description)),e.digest!==void 0&&t.push(EN(`digest`,e.digest)),e.expires!==void 0&&t.push(EN(`expires`,e.expires));let n=e.header;return n!==void 0&&!BN(n)&&t.push(EN(`header`,n)),e.opaque===void 0?e.meta!==void 0&&t.push(EN(`opaque`,mN(e.meta))):t.push(EN(`opaque`,e.opaque)),`${nN.payment} ${t.join(`, `)}`}function EN(e,t){if(/[\\r\\n]/.test(t))throw Error(`Invalid quoted-string value.`);return`${e}=\"${t.replace(/\\\\/g,`\\\\\\\\`).replace(/\"/g,`\\\\\"`).replace(/[\\u0100-\\uffff]/g,e=>`\\\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`)}\"`}function DN(e,t){let n=ON(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=kN(n);if(!r)throw Error(`Missing request parameter.`);if(r.length>16384)throw Error(`Request parameter too large.`);if(a.method&&!/^[a-z][a-z0-9:_-]*$/.test(a.method))throw Error(`Invalid method: \"${a.method}\". Must be lowercase per spec.`);return wN({...a,request:pN(r),...i&&{opaque:i}},t)}function ON(e){let t=nN.payment,[n]=PN(e,t);if(n===void 0)return null;let r=n+t.length;for(;r<e.length&&/\\s/.test(e[r]??``);)r++;return e.slice(r)}function kN(e){let t=Object.create(null),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).toLowerCase();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]=AN(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function AN(e,t){if(e[t]===`\"`)return jN(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function jN(e,t){let n=t,r=!1,i=t,a;for(;n<e.length;){let o=e[n];if(n++,r){a??=[];let t=o===`u`?e.slice(n,n+4):void 0;t&&/^[0-9A-Fa-f]{4}$/.test(t)?(a.push(String.fromCharCode(Number.parseInt(t,16))),n+=4):a.push(o),i=n,r=!1;continue}if(o===`\\\\`){a??=[],a.push(e.slice(i,n-1)),i=n,r=!0;continue}if(o===`\"`)return[a?[...a,e.slice(i,n-1)].join(``):e.slice(t,n-1),n]}throw Error(`Unterminated quoted-string.`)}function MN(e,t,n){if(e.slice(t,t+n.length).toLowerCase()!==n.toLowerCase())return!1;let r=e[t+n.length];return!!(r&&/\\s/.test(r))}function NN(e){return PN(e,nN.payment).length>0||e.split(`,`).some(e=>e.trim().toLowerCase()===nN.payment.toLowerCase())}function PN(e,t){let n=[],r=!1,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(r){i?i=!1:o===`\\\\`?i=!0:o===`\"`&&(r=!1);continue}if(o===`\"`){r=!0;continue}if(!MN(e,a,t))continue;let s=a-1;for(;s>=0&&/\\s/.test(e[s]??``);)s--;s>=0&&e[s]!==`,`||n.push(a)}return n}function FN(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return IN(e.headers,t)}function IN(e,t){let n=e.get(tN.wwwAuthenticate);if(!n)throw Error(`Missing ${tN.wwwAuthenticate} header.`);return LN(n,t)}function LN(e,t){let n=PN(e,nN.payment);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 DN(e.slice(r,a).replace(/,\\s*$/,``),t)})}function RN(e){let t=[e.realm,e.method,e.intent,mN(e.request),e.expires??``,e.digest??``],n=e.header;return n!==void 0&&!BN(n)&&t.push(n),t.push(e.opaque??(e.meta?mN(e.meta):``)),t.join(`|`)}function zN(e){return e.header??tN.authorization}function BN(e){return e?.toLowerCase()===tN.authorization.toLowerCase()}function VN(e,t){let n=RN(e);return dx(b_(Gf(t.secretKey),Gf(n),{as:`Bytes`}),{url:!0,pad:!1})}let HN=65536;var UN=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},WN=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function GN(e){if(e.length>HN)throw new WN;let t=e.match(RegExp(`^${nN.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new UN;try{let e=hx(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=KN(r);return{challenge:CN.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:pN(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new WN}}function KN(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!qN(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:mN(e)}}function qN(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function JN(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:mN(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:mN(r)},payload:e.payload,...e.source&&{source:e.source}},s=px(JSON.stringify(o),{pad:!1,url:!0});return`${nN.payment} ${s}`}function YN(e){return e.length>HN?null:e.split(`,`).map(e=>e.trim()).find(e=>RegExp(`^${nN.payment}\\\\s+`,`i`).test(e))??null}function XN(){let e=new Uint8Array(64);return crypto.getRandomValues(e),{created:Math.floor(Date.now()/1e3),nonce:dx(e,{pad:!1,url:!0})}}let ZN=[`payment-signature`,`x-payment`];function QN(e){if(e.length===0)throw TypeError(`Mppx client identity must configure at least one prover.`);for(let t of e)if(t.scope!==`*`&&!Array.isArray(t.scope))throw TypeError(`Identity prover scope must be \"*\" or an array of origins.`);let t=t=>{let n=new URL(t).origin;return e.filter(e=>e.scope===`*`||e.scope.includes(n))};async function n(e,n,r,i){let a=i?n.clone():n,o=t(n.url);if(o.length===0)return{request:a,response:await e(a)};let s=Object.freeze({...r,...XN()}),c=new Request(a,{redirect:n.redirect===`follow`?`error`:n.redirect});for(let e of o)c=await e.prove(c,s);return{request:c,response:await e(c)}}return{async send(e,r,i={}){let a=!(i.challenge!==void 0||ZN.some(e=>r.headers.has(e))||[...r.headers.values()].some(e=>YN(e)!==null))&&t(r.url).some(e=>e.retry),o=await n(e,r,i,a),{response:s}=o;if(!a||s.status<400||s.status===402)return o;let c=[],l=!1;for(let e of t(r.url)){if(!e.retry)continue;let t=s.clone();c.push(t),await e.retry(t)&&(l=!0)}return l?($N([s,...c]),n(e,r,i,!1)):($N(c),o)},async challenge(e,n,r){for(let i of t(r)){if(!i.prepare)continue;let t=e.clone();try{await i.prepare(t,n)}finally{$N([t])}}}}}function $N(e){for(let t of e)t.bodyUsed||t.body?.cancel().catch(()=>{})}function eP(e,t,n){return async(r,i)=>{let a=new Request(r,i),o=nP(a.headers)??n?.challenge,{response:s}=await t.send(e,a,{...n,challenge:o});if(s.status===402&&o)for(let e of tP(s))e.method===o.method&&e.intent===o.intent&&await t.challenge(s,{...n,challenge:e},a.url);return s}}function tP(e){try{return FN(e)}catch{return[]}}function nP(e){for(let[,t]of e){let e=YN(t);if(e)try{return GN(e).challenge}catch{}}}let rP=Symbol.for(`mppx.x402.challenge`);function iP(e){return Object.defineProperty(e,rP,{value:!0}),e}function aP(e){return!!e?.[rP]}let oP=Symbol(`mppx.deferredContext`);function sP(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=fP(n)}return t}function cP(e,t){let n=sP(e),r=yP(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[fP(e)]??1,index:t}));return{definition:r,entries:i,header:uP(i),keys:n}}function lP(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)=>_P(e,t))}function uP(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${CP(n)}`}).join(`, `)}function dP(e,t,n,r){let i=new Map;for(let e of t){let t=fP(e),n=i.get(t);n?n.push(e):i.set(t,[e])}return e.flatMap((e,t)=>{let a=i.get(fP(e));if(!a)return[];let o=pP(e,n);return!o||o.q<=0?[]:a.filter(t=>t.canHandleChallenge?.(r===void 0?{challenge:e}:{challenge:e,context:r})??!0).map(n=>({challenge:e,index:t,match:o,method:n}))}).sort((e,t)=>gP(e.challenge)-gP(t.challenge)||t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function fP(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function pP(e,t){let n;for(let r of t){if(!mP(e,r))continue;let t={...r,specificity:hP(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 mP(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function hP(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function gP(e){return+!!aP(e)}function _P(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}`);wP(r,`method`),wP(i,`intent`);let a=1;for(let t of vP(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=xP(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function vP(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function yP(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>fP(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]=bP(t,`payment preference \"${e}\"`)}return a}function bP(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return SP(e,t)}function xP(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 SP(Number(e),t)}function SP(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 CP(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function wP(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var TP=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function EP(e){if(typeof e==`function`)throw TypeError(\"`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?\");let{maxBufferSize:t,onComment:n,onError:r,onEvent:i,onId:a,onRetry:o}=e,s=[],c=0,l=``,u,d=``,f=0,p,m=!1,h=!1,g=!1;function _(e){if(m)throw Error(\"Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.\");if(l!==void 0){if(e=l+e,e===``||e===`ï`||e===`ï»`){l=e;return}l=void 0,e=e.replace(/^(?:\\uFEFF|\\xEF\\xBB\\xBF)/,``)}if((h||g)&&(e=v(e),!e))return;if(!s.length){let t=S(e);t!==``&&y(t),x();return}if(e.indexOf(`\n`)===-1&&e.indexOf(`\\r`)===-1){if(c<6&&!b(s.join(``)+e.slice(0,6-c))){s.length=0,c=0,h=!0;return}s.push(e),c+=e.length,x();return}s.push(e);let t=s.join(``);s.length=0,c=0,y(S(t)),x()}function v(e){if(e.length===0)return e;if(g)return g=!1,e.charCodeAt(0)===10?e.slice(1):e;let t=e.indexOf(`\\r`),n=e.indexOf(`\n`),r=t===-1?n:n===-1||t<n?t:n;return r===-1?``:r===e.length-1&&e.charCodeAt(r)===13?(h=!1,g=!0,``):(h=!1,e.slice(r+(e.charCodeAt(r)===13&&e.charCodeAt(r+1)===10?2:1)))}function y(e){if(e){if(e.charCodeAt(e.length-1)===13){C(e,0,e.length-1),g=!0;return}if(b(e)){s.push(e),c=e.length;return}h=!0}}function b(e){let t=e.charCodeAt(0);return t===58&&!!n||t===100&&kP(e,`data`)||t===101&&kP(e,`event`)||t===105&&kP(e,`id`)||t===114&&kP(e,`retry`)}function x(){t!==void 0&&(c+d.length<=t||(m=!0,s.length=0,c=0,u=void 0,d=``,f=0,p=void 0,h=!1,g=!1,r?.(new TP(`Buffered data exceeded max buffer size of ${t} characters`,{type:`max-buffer-size-exceeded`}))))}function S(e){let t=0;if(e.indexOf(`\\r`)===-1){let n=e.indexOf(`\n`,t);for(;n!==-1;){if(t===n){u!==void 0&&a?.(u),f>0&&i?.({id:u,event:p,data:d}),u=void 0,d=``,f=0,p=void 0,t=n+1,n=e.indexOf(`\n`,t);continue}let r=e.charCodeAt(t);if(DP(e,t,r)){let r=e.charCodeAt(t+5)===32?t+6:t+5,o=e.slice(r,n);if(f===0&&e.charCodeAt(n+1)===10){u!==void 0&&a?.(u),i?.({id:u,event:p,data:o}),u=void 0,d=``,p=void 0,t=n+2,n=e.indexOf(`\n`,t);continue}d=f===0?o:`${d}\\n${o}`,f++}else OP(e,t,r)?p=e.slice(e.charCodeAt(t+6)===32?t+7:t+6,n)||void 0:C(e,t,n);t=n+1,n=e.indexOf(`\n`,t)}return e.slice(t)}for(;t<e.length;){let n=e.indexOf(`\\r`,t),r=e.indexOf(`\n`,t),i=-1;if(n!==-1&&r!==-1?i=n<r?n:r:n===-1?r!==-1&&(i=r):i=n===e.length-1?-1:n,i===-1)break;C(e,t,i),t=i+1,e.charCodeAt(t-1)===13&&e.charCodeAt(t)===10&&t++}return e.slice(t)}function C(e,t,r){if(t===r){ee();return}let i=e.charCodeAt(t);if(DP(e,t,i)){let n=e.charCodeAt(t+5)===32?t+6:t+5,i=e.slice(n,r);d=f===0?i:`${d}\\n${i}`,f++;return}if(OP(e,t,i)){p=e.slice(e.charCodeAt(t+6)===32?t+7:t+6,r)||void 0;return}if(i===105&&e.charCodeAt(t+1)===100&&e.charCodeAt(t+2)===58){let n=e.slice(e.charCodeAt(t+3)===32?t+4:t+3,r);n.includes(`\\0`)||(u=n);return}if(i===58){if(n){let i=e.slice(t,r);n(i.slice(e.charCodeAt(t+1)===32?2:1))}return}let a=e.slice(t,r),o=a.indexOf(`:`);if(o===-1){w(a,``,a);return}let s=a.slice(0,o),c=a.charCodeAt(o+1)===32?2:1;w(s,a.slice(o+c),a)}function w(e,t,n){switch(e){case`event`:p=t||void 0;break;case`data`:d=f===0?t:`${d}\\n${t}`,f++;break;case`id`:t.includes(`\\0`)||(u=t);break;case`retry`:/^\\d+$/.test(t)?o?.(parseInt(t,10)):r?.(new TP(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:n}));break;default:r?.(new TP(`Unknown field \"${e.length>20?`${e.slice(0,20)}…`:e}\"`,{type:`unknown-field`,field:e,value:t,line:n}))}}function ee(){u!==void 0&&a?.(u),f>0&&i?.({id:u,event:p,data:d}),u=void 0,d=``,f=0,p=void 0}function T(e={}){if(e.consume&&s.length>0){let e=s.join(``);C(e,0,e.length)}l=``,u=void 0,d=``,f=0,p=void 0,s.length=0,c=0,m=!1,h=!1,g=!1}return{feed:_,reset:T}}function DP(e,t,n){return n===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function OP(e,t,n){return n===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}function kP(e,t){let n=1;for(;n<e.length&&n<t.length;){if(e.charCodeAt(n)!==t.charCodeAt(n))return!1;n++}return e.length<=t.length||e.charCodeAt(t.length)===58}let AP=[`exact`],jP=`PAYMENT-REQUIRED`,MP=`PAYMENT-SIGNATURE`,NP=W().check(gj(1)),PP=Cj().check(uM(e=>e>0,`Must be positive`)),FP=W().check(_j(/^\\d+$/,`Invalid atomic amount`)),IP=bN(),LP=W().check(_j(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),RP=K({description:Y(W()),iconUrl:Y(W()),mimeType:Y(W()),serviceName:Y(W()),tags:Y(G(W())),url:NP}),zP=K({amount:FP,asset:NP,extra:Y(Kj(W(),Nj())),maxTimeoutSeconds:PP,network:LP,payTo:NP,scheme:Jj(AP)}),BP=Kj(W(),K({info:Kj(W(),Nj()),schema:Kj(W(),Nj())})),VP=K({accepts:G(zP).check(gj(1)),error:Y(W()),extensions:Y(BP),resource:RP,x402Version:J(2)}),HP=q([K({authorization:K({from:IP,nonce:xN(),to:IP,validAfter:FP,validBefore:FP,value:FP}),signature:SN()}),K({permit2Authorization:K({deadline:FP,from:IP,nonce:FP,permitted:K({amount:FP,token:IP}),spender:IP,witness:K({to:IP,validAfter:FP})}),signature:SN()})]),UP=K({accepted:zP,extensions:Y(BP),payload:HP,resource:Y(RP),x402Version:J(2)}),WP=K({amount:Y(FP),errorMessage:Y(W()),errorReason:Y(W()),extensions:Y(BP),extra:Y(Kj(W(),Nj())),network:NP,payer:Y(W()),success:Tj(),transaction:W()}),GP=[tN.authorization,jP,`PAYMENT-RESPONSE`,MP];function KP(e,t,n){let r=new Headers(e.headers);for(let e of GP)e===tN.authorization&&!r.get(e)?.startsWith(`Payment `)||r.delete(e);return r.set(t,n),{...e,headers:r}}function qP(e){if(typeof e==`string`)try{let t=JSON.parse(e),n=t?.id;return t?.jsonrpc!==`2.0`||typeof t?.method!=`string`?void 0:typeof n==`string`||typeof n==`number`?n:void 0}catch{return}}let JP=1048576,YP=new WeakMap;function XP(e){let t=qP(e?.body);if(t===void 0)return;let n=new Headers(e?.headers);if(n.has(`mcp-method`))return t;let r=n.get(`accept`)?.toLowerCase()??``;return r.includes(`application/json`)&&r.includes(`text/event-stream`)?t:void 0}function ZP(e){if(!e||typeof e!=`object`)return;let t=e,n=t.id;if(t.jsonrpc!==`2.0`||n!==void 0&&typeof n!=`string`&&typeof n!=`number`)return;let r=`error`in t;if(r!==`result`in t)return r?Number.isInteger(t.error?.code)&&typeof t.error?.message==`string`?e:void 0:n!==void 0&&typeof t.result==`object`?e:void 0}function QP(e){if(!e||typeof e!=`object`)return;let t=e?.challenges;if(!Array.isArray(t)||t.length===0)return;let n=[];for(let e of t){let t=CN.safeParse(e);if(!t.success)return;n.push(t.data)}let{httpStatus:r,problem:i}=e;return{challenges:n,...typeof r==`number`?{httpStatus:r}:{},...i===void 0?{}:{problem:i}}}function $P(e){if(e)return`error`in e?e.error?.code!==-32042&&e.error?.code!==-32043?void 0:QP(e.error.data):QP(e.result?._meta?.[`org.paymentauth/payment-required`])}function eF(e,t){return!e||e.id!==t?[]:$P(e)?.challenges??[]}async function tF(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=0,i=!1,a,o=EP({onEvent(e){if(!(i||!e.data)&&(i=!0,!(e.event&&e.event!==`message`)))try{a=ZP(JSON.parse(e.data))}catch{}}});try{for(;;){if(i)return a;let{done:e,value:s}=await t.read();if(e)return o.feed(n.decode()),o.reset({consume:!0}),a;if(r+=s.byteLength,r>JP)return;o.feed(n.decode(s,{stream:!0}))}}finally{t.cancel().catch(()=>{})}}async function nF(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=0,i=``;try{for(;;){let{done:e,value:a}=await t.read();if(e)return ZP(JSON.parse(i+n.decode()));if(r+=a.byteLength,r>JP)return;i+=n.decode(a,{stream:!0})}}catch{return}finally{t.cancel().catch(()=>{})}}function rF(e){let t=YP.get(e);if(t)return t;let n=(async()=>{let t=e.headers.get(`content-type`)?.toLowerCase()??``;if(!(Number(e.headers.get(`content-length`))>JP)){if(t.includes(`application/json`))return nF(e);if(t.includes(`text/event-stream`))return tF(e)}})();return YP.set(e,n),n}function iF(){return{getChallenges(e,t){let n=XP(t);return e.status===402||n===void 0?[]:rF(e).then(e=>eF(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=GN(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function aF(){return{getChallenges(e){let t=e.headers.get(tN.wwwAuthenticate);return e.status!==402||!t||!NN(t)?[]:FN(e)},setCredential(e,t,n){return KP(e,n?.challenge?zN(n.challenge):tN.authorization,t)}}}function oF(e){return{encode(t){return px(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(hx(t)))}catch{throw new sF}}}}var sF=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let cF=oF(VP),lF=oF(UP),uF=oF(WP);cF.encode,cF.decode;function dF(e){try{let t=JSON.parse(hx(e));return fF(t)}catch{throw new sF}}lF.encode,lF.decode,uF.encode,uF.decode;let fF=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new sF;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new sF;let n=RP.parse(t.resource),r=t.extensions===void 0?void 0:BP.safeParse(t.extensions).data;return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}};function pF(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(jP);if(!t)return[];let n=dF(t);return n.accepts.flatMap((e,t)=>{let r=zP.safeParse(e);if(!r.success)return[];let i=r.data;return iP(wN({id:`x402:${t}`,intent:`charge`,method:`evm`,realm:new URL(n.resource.url).host,request:{...i,...n.extensions?{extensions:n.extensions}:{},resource:n.resource}}))})},setCredential(e,t){return KP(e,MP,t)}}}function mF(e){return e}function hF(){let e=[aF(),pF(),iF()],t=new WeakMap,n=(e,n)=>{for(let r of n)t.set(r,e);return n},r=(t,r)=>{let i=(a,o)=>{for(let s=a;s<e.length;s++){let a=e[s],c=a.getChallenges(t,r);if(c instanceof Promise)return c.then(e=>i(s+1,[...o,...n(a,e)]));o.push(...n(a,c))}return o};return i(0,[])};return mF({name:`http`,isPaymentRequired(e,t){if(e.status===402)return!0;let n=r(e,t);return n instanceof Promise?n.then(e=>e.length>0):n.length>0},getChallenges(e,t){return r(e,t)},setCredential(n,r,i){let a=i?.challenge?t.get(i.challenge):void 0,o=e[0];if(!a&&!o)throw Error(`No protocol to attach the credential.`);return(a??o).setCredential(n,r,i)}})}let gF=new WeakMap;function _F(e,t){return gF.set(e,t),e}function vF(e){return gF.has(e)}function yF(e,t){return Promise.resolve(gF.get(e)?.(t))}function bF(e){return gF.get(e)}let xF=new WeakMap,SF=new WeakMap,CF=new WeakMap;function wF(e,t){return xF.set(e,t),e}function TF(e){xF.delete(e)}function EF(e,t,n){xF.has(e)&&SF.set(t,n)}function DF(e){return SF.get(e)}function OF(e,t){return Promise.resolve(xF.get(e)?.(t)??t.response)}function kF(e,t){return CF.set(e,t),e}function AF(e,t){try{return CF.get(e)?.(t)}catch{return}}function jF(e,t,n){if(!NF(e))return;t=typeof t==`function`?t():t;let{realm:r}=e;if(r.toLowerCase()===t.hostname.toLowerCase())return;let i=t.origin.toLowerCase();for(let[e,t]of Object.entries(n??{}))if(t===r&&PF(e)===i)return;throw Error(`Refusing to sign Tempo proof for realm ${JSON.stringify(r)} from ${t.origin}. Pin the realm to this origin with \\`trustedTempoProofRealms\\` if this server is expected to issue it.`)}function MF(e,t){if(NF(e)&&!t?.includes(e.realm))throw Error(`Refusing to sign Tempo proof for untrusted realm ${JSON.stringify(e.realm)}. Add it to \\`trustedTempoProofRealms\\` if this server is expected to issue it.`)}function NF(e){if(e.method!==`tempo`||e.intent!==`charge`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function PF(e){try{return new URL(e).origin.toLowerCase()}catch{return e.toLowerCase()}}let FF=Symbol.for(`mppx.fetch.wrapper`),IF=Symbol.for(`mppx.fetch.identity`),LF=Symbol.for(`mppx.fetch.skipPayment`),RF=65536,zF,BF=new WeakMap;async function VF(e){if(!e.body)return e;let t=e.clone().body.getReader(),n=[],r=0,i=!1,a=setTimeout(()=>{i=!0,t.cancel().catch(()=>{})},2e3);try{for(;;){let{done:e,value:a}=await t.read();if(e)break;if(n.push(a),r+=a.byteLength,r>RF){i=!0;break}}}finally{clearTimeout(a),t.cancel().catch(()=>{})}if(!i)return e;e.body.cancel().catch(()=>{});let o=new Headers(e.headers);o.delete(`content-length`),o.set(`Mppx-Body-Truncated`,`true`);let s=new Response(new Blob(n).slice(0,RF),{headers:o,status:e.status,statusText:e.statusText});for(let t of[`redirected`,`type`,`url`])Object.defineProperty(s,t,{value:e[t]});return s}async function HF(e,t){let n=e?.attempt.settle;if(!n)return t.status!==`pending`;e.attempt.settle=void 0;let r=await n(t);return r||(e.attempt.settle=n),r}function UF(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=hF(),trustedTempoProofRealms:l}=e,u=e.identity??(e.fetch&&pI(e.fetch)),d=e.eventDispatcher??KF(),f=t??cP(a),p=mI(r),m=async(e,t,n)=>u?(await u.send(p,new Request(e,t),n)).response:p(e,t),h=async(e,t,r)=>{let g=fI(e,t?.headers),_=g.has(tN.acceptPayment),v=yI(g,f),y=uI(e,t,g),b=lI(e,t,g,v.header,_,n),x=await m(hI(b.input),b.init),S=dI(b.init,await y);if(t?.[LF]||!await c.isPaymentRequired(x,S))return x;let C=t?.context,{context:w,orderChallenges:ee,...T}=S??{},te,ne,re,ie,ae;try{for(let n=0;n<i;n++){ne=await c.getChallenges(x,S);let i=(await bI(dP(ne,a,v.entries,C),ee??s))[0];if(!i){if(await HF(ie,{challenges:ne,response:x,status:`rejected`}),n>0)return x;throw Error(`No method found for challenges: ${ne.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${a.map(e=>`${e.name}.${e.intent}`).join(`, `)}`)}let f=i.challenge;te=f,re=i.method,te.expires&&fN(te.expires,te.id),await u?.challenge(x,{challenge:f},wI(b.input).href);let g=await EI(x,b.input,b.input,T);jF(f,()=>wI(g),l);let _=ie,y=TN(f),w=_?.method===i.method&&_?.key===y,oe=!1;if(_){let e=await HF(_,{challenges:ne,response:x,status:w?`pending`:`rejected`});oe=w&&!e}ie=oe?_:void 0;let se=ZF(async n=>{if(n===void 0&&oe&&_)return _.promise;oe&&_&&(await HF(_,{status:`rejected`}),ie=void 0),gI(e,t)?.throwIfAborted();let r=n??C;if(!vF(i.method))return vI(f,i.method,r);let a={prepare:()=>yF(i.method,{challenge:f,context:r,fetch:u?eP(p,u,{challenge:f}):p,input:g,signal:gI(e,t)})},o=a.prepare().then(()=>vI(f,i.method,r,a));return ie={attempt:a,key:n===void 0?y:void 0,method:i.method,promise:o},o}),ce=await d.emit(`challenge.received`,QF({challenge:f,challenges:ne,createCredential:se,init:t,input:e,method:i.method,response:x}))??(o?await o(te,{createCredential:se}):void 0)??await se(),le=ie;le&&await le.promise.catch(()=>void 0)!==ce&&(await HF(le,{status:`rejected`}),ie=void 0),_I(ce),await d.emit(`credential.created`,$F({challenge:f,credential:ce,init:t,input:e,method:i.method,response:x}));let ue=e=>new dN({cause:e,challenge:f,credential:ce,transactionHash:AF(i.method,ce)});try{x=await m(g,{...c.setCredential({...T,headers:b.headers},ce,{challenge:f}),redirect:`manual`},{challenge:f})}catch(e){throw ae=ue(e),e}let de=await c.isPaymentRequired(x,S);if(de||(await HF(le,{response:x,status:x.status>=300&&x.status<400?`pending`:x.ok?`accepted`:`rejected`}),ie=void 0),x.ok&&qF(d,`payment.response`)&&await d.emit(`payment.response`,eI({challenge:f,credential:ce,init:t,input:e,method:i.method,response:x})),!de){if(x.status>=500&&qF(d,`payment.failed`)){try{x=await VF(x)}catch(e){throw ae=ue(e),x=new Response(null,{headers:x.headers,status:x.status,statusText:x.statusText}),e}await d.emit(`payment.failed`,tI({challenge:f,challenges:ne,error:ue(),init:t,input:e,method:i.method,response:x}))}return x.ok?OF(i.method,{challenge:f,credential:ce,fetch:p,headers:b.headers,input:g,...r?{refetch:()=>h(hI(b.input),t,!1)}:{},response:x,signal:gI(e,t)}):x}}ne=void 0;try{ne=await c.getChallenges(x,S)}catch{}return await HF(ie,{challenges:ne,response:x,status:`rejected`}),x}catch(n){throw await HF(ie,{challenges:ne,response:x,status:`rejected`}),await d.emit(`payment.failed`,tI({challenge:te,challenges:ne,error:ae??n,init:t,input:e,method:re,response:x})),n}},g=(e,t)=>h(e,t,!0);return g[FF]=p,u&&(g[IF]=u),g}function WF(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);zF||=globalThis.fetch,globalThis.fetch=UF({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(CI()?`same-origin`:`always`),fetch:mI(globalThis.fetch)})}function GF(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 KF(){let e={\"*\":new Set,\"challenge.received\":new Set,\"credential.created\":new Set,\"payment.failed\":new Set,\"payment.response\":new Set},t={async emit(t,n){switch(t){case`challenge.received`:{let r;for(let t of e[`challenge.received`]){let e=await JF(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await XF(e[`*`],t,n),r}case`credential.created`:await YF(e[`credential.created`],n),await XF(e[`*`],t,n);return;case`payment.failed`:await YF(e[`payment.failed`],n),await XF(e[`*`],t,n);return;case`payment.response`:await YF(e[`payment.response`],n),await XF(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)}\".`)}}};return BF.set(t,t=>e[t].size>0||e[`*`].size>0),t}function qF(e,t){return BF.get(e)?.(t)??!0}async function JF(e,t){try{return await e(t)}catch{return}}async function YF(e,t){for(let n of e)try{await n(t)}catch{}}async function XF(e,t,n){await YF(e,Object.freeze({name:t,payload:n}))}function ZF(e){let t;return n=>(t??=e(n),t)}function QF(e){return Object.freeze({challenge:oI(e.challenge),challenges:e.challenges.map(e=>oI(e)),createCredential:e.createCredential,init:nI(e.init),input:rI(e.input),method:iI(e.method),response:aI(e.response)})}function $F(e){return Object.freeze({challenge:oI(e.challenge),credential:e.credential,init:nI(e.init),input:rI(e.input),method:iI(e.method),...e.response===void 0?{}:{response:aI(e.response)}})}function eI(e){return Object.freeze({challenge:oI(e.challenge),credential:e.credential,init:nI(e.init),input:rI(e.input),method:iI(e.method),response:aI(e.response)})}function tI(e){return Object.freeze({...e.challenge?{challenge:oI(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>oI(e))}:{},error:e.error,init:nI(e.init),input:rI(e.input),...e.method?{method:iI(e.method)}:{},...e.response===void 0?{}:{response:aI(e.response)}})}function nI(e){if(e)return cI({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function rI(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function iI(e){return cI(Object.assign({},e))}function aI(e){if(e instanceof Response)try{return e.clone()}catch{let t=new Response(null,{headers:e.headers,status:e.status,statusText:e.statusText});for(let n of[`redirected`,`type`,`url`])Object.defineProperty(t,n,{value:e[n]});return t}return oI(e)}function oI(e){try{return sI(structuredClone(e))}catch{return cI(e)}}function sI(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))sI(t);return e}function cI(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function lI(e,t,n,r,i,a){let o=!!r&&!i&&xI(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(tN.acceptPayment,r),t?(t.headers=s,{headers:s,init:t,input:e}):{headers:s,init:o?{headers:s}:void 0,input:e}}function uI(e,t,n){if(!(!(e instanceof Request)||t?.body!==void 0||!e.body||e.bodyUsed)){if(!n.has(`mcp-method`)){let e=n.get(`accept`)?.toLowerCase()??``;if(!e.includes(`application/json`)||!e.includes(`text/event-stream`))return}try{return e.clone().text().catch(()=>void 0)}catch{return}}}function dI(e,t){return t===void 0?e:{...e,body:t}}function fI(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function pI(e){return e[IF]}function mI(e){let t=e;for(;t[FF];)t=t[FF];return t}function hI(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function gI(e,t){if(t?.signal!==null)return t?.signal===void 0?e instanceof Request?e.signal:void 0:t.signal}function _I(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 vI(e,t,n,r){let i=t.context&&n!==void 0?t.context.parse(n):void 0,a=i===void 0?{challenge:e}:{challenge:e,context:i};return r&&EF(t,a,r),t.createCredential(a)}function yI(e,t){let n=e.get(tN.acceptPayment);if(!n)return t;try{return{...t,entries:lP(n),header:n}}catch{return t}}async function bI(e,t){return t?t(e):e}function xI(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=wI(e);return t===`same-origin`?!CI()||n.origin===globalThis.location.origin:t.origins.some(e=>SI(n,e))}function SI(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 CI(){return globalThis.location!==void 0}function wI(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,CI()?globalThis.location.href:void 0)}function TI(e,t){let n=e instanceof Request?e:void 0;if((t.mode??n?.mode)===`no-cors`)throw Error(`Cannot automatically pay a no-cors request: it cannot carry a credential.`);if((t.cache??n?.cache)===`only-if-cached`)throw Error(`Cannot automatically pay an only-if-cached request: its retry cannot reach the server.`)}async function EI(e,t,n,r){if(TI(t,r),!e.url)return t;let i=new URL(e.url),a=wI(n);if(i.origin!==a.origin)throw Error(`Refusing to send payment credential across redirect from ${a.origin} to ${i.origin}`);let o=(r.method??(t instanceof Request?t.method:`GET`)).toUpperCase();if(e.redirected&&o!==`GET`&&o!==`HEAD`)throw Error(`Cannot automatically pay a redirected ${o} request. Use prepareRequest() to preserve redirect semantics.`);if(t instanceof Request){let n=r.body==null?t.clone():t,i=new Request(n,t.mode===`navigate`&&r.mode===void 0?{...r,mode:`same-origin`}:r);return i.url.split(`#`)[0]===e.url?i:i.body?new Request(e.url,{body:await i.arrayBuffer(),cache:i.cache,credentials:i.credentials,headers:i.headers,integrity:i.integrity,keepalive:i.keepalive,method:i.method,mode:i.mode,redirect:i.redirect,referrer:i.referrer,referrerPolicy:i.referrerPolicy,signal:i.signal}):new Request(e.url,i)}return e.url}function DI(e){return e}function OI(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function kI(e={}){let{account:t}=e;return(e,{account:n}={})=>{let r=n??t;if(!r){if(!e.account)throw Error(\"No `account` provided. Pass `account` to parameters or context.\");return e.account}return j(r)}}function AI(e){return Object.fromEntries(Object.entries(e.headers??{}).filter(([e])=>e.toLowerCase()!==`content-type`))}let jI={[pO.id]:pO,[gO.id]:gO};function MI(e,t={}){return rx(e.url,{fetchFn:e.fetch,fetchOptions:{headers:AI(e)},...t})}function NI(e){let{chain:t,getClient:n,remoteFeePayer:r,rpcUrl:i}=e;return n?!t?.serializers&&!r?n:async e=>{let i=await n(e),a=i;if(r&&i.transport.key!==`feePayer`){let e=i.request.bind(i),t=SO(Qb({request:t=>e(t)},{retryCount:0}),MI(r,{retryCount:i.transport.retryCount}))({account:i.account,chain:i.chain,pollingInterval:i.pollingInterval,retryCount:0}),n=Zb({...t.config,retryCount:0},t.value);a=Object.assign({},i,{request:n.request,transport:{...n.config,...n.value}})}return!t?.serializers||a.chain?.serializers?.transaction?a:Object.assign({},a,{chain:{...t,...e.chainId===void 0?{}:{id:e.chainId},...a.chain,formatters:a.chain?.formatters??t.formatters,prepareTransactionRequest:a.chain?.prepareTransactionRequest??t.prepareTransactionRequest,serializers:a.chain?.serializers?.transaction?a.chain.serializers:t.serializers}})}:({chainId:e})=>{if(!i)throw Error(\"No `rpcUrl` provided.\");let n=e||Number(Object.keys(i)[0]),a=i[n];if(!a)throw Error(`No \\`rpcUrl\\` configured for \\`chainId\\` (${n}).`);let o=r?SO(rx(a),MI(r)):rx(a);return kh({chain:jI[n]??{...t,id:n},transport:o})}}function PI(e,t){if(t!==void 0&&e.chain?.id!==void 0&&e.chain.id!==t)throw Error(`Chain ID mismatch: expected ${t}, got ${e.chain.id}.`)}function FI(e,t){if(e!==void 0&&(t===void 0||!e.includes(t)))throw Error(`Chain ID not allowed: ${t??`unknown`}.`)}Mi();let II={mainnet:4217,testnet:42431},LI={ousd:vO(II.mainnet).address,usdc:Ai(bO(II.mainnet).address),pathUsd:yO(II.mainnet).address},RI={[II.mainnet]:LI.usdc,[II.testnet]:LI.pathUsd},zI=Object.freeze({[II.mainnet]:Object.freeze({swap:`0xF72E5107c32C655ffA7539a3C8e97B7C3cE16A3F`,token:`0x20c000000000000000000000f37de3740ADec032`}),[II.testnet]:Object.freeze({swap:`0xd05f8EdFBB54Da0d765C9fE9b2B3f7d2E3a8C466`,token:`0x20c000000000000000000000f37de3740ADec032`})});II.mainnet,II.testnet;let BI={[II.mainnet]:`https://rpc.tempo.xyz`,[II.testnet]:`https://rpc.moderato.tempo.xyz`},VI=[`push`,`pull`],HI=K({amount:hN(),memo:Y(xN()),recipient:nM(W(),Zj(e=>e))}),UI=(1n<<64n)-1n,WI={dev_second:1n,day:86400n,week:604800n},GI=nM(bN(),Zj(e=>e.toLowerCase())),KI=K({accessKeyAddress:GI,keyType:Jj([`p256`,`secp256k1`,`webAuthn`]),keyToken:Y(nM(W().check(_j(/^0x[0-9a-fA-F]{120}$/)),Zj(e=>e)))}),qI=K({accessKey:Y(KI),chainId:Y(Cj())}),JI=_N(`subscriptionExpires must be a valid date`).check(uM(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),YI=Jj([`dev_second`,`day`,`week`]),XI=nM(q([W(),Dj(),lM(e=>typeof e==`number`&&Number.isSafeInteger(e))]),Zj(e=>e.toString())).check(_j(/^[1-9]\\d*$/,`Invalid periodCount`),uM(e=>{try{return BigInt(e)<=UI}catch{return!1}},`periodCount exceeds uint64`));function ZI(e){return uM(e=>{let{amount:t,decimals:n}=e;return Ny(t,n)>0n},e)}function QI(e){let{periodCount:t,periodUnit:n}=e;try{let e=WI[n];return e!==void 0&&BigInt(t)*e<=UI}catch{return!1}}let $I=DI({name:`tempo`,intent:`charge`,schema:{credential:{payload:Hj(`type`,[K({hash:xN(),type:J(`hash`)}),K({signature:SN(),type:J(`transaction`)}),K({signature:SN(),type:J(`proof`)})])},request:nM(K({machineTokenEnabled:Y(Tj()),amount:hN(),chainId:Y(Cj()),currency:W(),decimals:Cj(),description:Y(W()),externalId:Y(W()),feePayer:Y(nM(q([Tj(),lM()]),Zj(e=>typeof e==`object`||e))),memo:Y(Fj()),recipient:Y(W()),splits:Y(G(HI).check(gj(1),hj(10))),supportedModes:Y(G(Jj(VI)).check(gj(1)))}).check(uM(({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`)),Zj(({machineTokenEnabled:e,amount:t,chainId:n,decimals:r,feePayer:i,memo:a,splits:o,supportedModes:s,...c})=>({...c,amount:Ny(t,r).toString(),...e!==void 0||n!==void 0||i!==void 0||o!==void 0||s!==void 0?{methodDetails:{...e!==void 0&&{machineTokenEnabled:e},...n!==void 0&&{chainId:n},...i!==void 0&&{feePayer:i},...o!==void 0&&{splits:o.map(e=>({...e,amount:Ny(e.amount,r).toString()}))},...s!==void 0&&{supportedModes:s}}}:{}})))}}),eL=DI({name:`tempo`,intent:`session`,schema:{credential:{payload:Hj(`action`,[K({action:J(`open`),authorizedSigner:Y(W()),channelId:xN(),cumulativeAmount:hN(),descriptor:Y(lM()),signature:SN(),transaction:SN(),type:J(`transaction`)}),K({action:J(`topUp`),additionalDeposit:hN(),channelId:xN(),descriptor:Y(lM()),transaction:SN(),type:J(`transaction`)}),K({action:J(`voucher`),channelId:xN(),cumulativeAmount:hN(),descriptor:Y(lM()),signature:SN()}),K({action:J(`close`),channelId:xN(),closeSignature:SN(),cumulativeAmount:hN(),descriptor:Y(lM()),signature:SN()})])},request:nM(K({amount:hN(),chainId:Y(Cj()),channelId:Y(xN()),currency:W(),decimals:Cj(),escrowContract:Y(W()),feePayer:Y(nM(q([Tj(),lM()]),Zj(e=>typeof e==`object`||e))),feeToken:Y(bN()),minVoucherDelta:Y(hN()),operator:Y(bN()),recipient:Y(W()),sessionProtocol:Y(Jj([oN.v2,oN.v1])),sessionSnapshot:Y(lM()),suggestedDeposit:Y(hN()),unitType:W()}).check(uM(({amount:e,decimals:t})=>Ny(e,t)>0n,`Session amount must be greater than 0`)),Zj(({amount:e,chainId:t,channelId:n,decimals:r,escrowContract:i,feePayer:a,feeToken:o,minVoucherDelta:s,operator:c,sessionProtocol:l,sessionSnapshot:u,suggestedDeposit:d,...f})=>({...f,amount:Ny(e,r).toString(),...d?{suggestedDeposit:Ny(d,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...s!==void 0&&{minVoucherDelta:Ny(s,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...o!==void 0&&{feeToken:o},...c!==void 0&&{operator:c},...l!==void 0&&{[aN.sessionProtocol]:l},...u!==void 0&&{[aN.sessionSnapshot]:u}}})))}}),tL=DI({name:`tempo`,intent:`subscription`,schema:{credential:{payload:K({signature:SN(),type:J(`keyAuthorization`)})},request:nM(K({amount:hN(),accessKey:Y(KI),chainId:Y(Cj()),currency:GI,decimals:Cj(),description:Y(W()),externalId:Y(W()),methodDetails:Y(qI),periodCount:XI,periodUnit:YI,recipient:GI,subscriptionExpires:JI}).check(ZI(`Subscription amount must be greater than 0`),uM(QI,`Subscription period exceeds uint64`)),Zj(({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}:{}}}))}});R(),Ii(),af();let nL=(1n<<64n)-1n,rL={dev_second:1n,day:86400n,week:604800n};function iL(e){return e instanceof Date?e:new Date(e)}function aL(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 oL(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=rL[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>nL)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 sL(e){let{challengeExpires:t,request:n}=e;oL(n);let r=aL(iL(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 cL(e){return[{address:xL(e.currency,`currency`),selector:`0x95777d59`,recipients:[xL(e.recipient,`recipient`)]}]}function lL(e){try{let t=gp(mx(e));if(I(t)!==32)throw Error(`invalid challenge id size`);return t}catch{throw new $({reason:`challenge id must encode 32 bytes`})}}async function uL(e){let{accessKey:t,account:n,challengeId:r,chainId:i,request:a}=e;if(typeof n.sign!=`function`)return;let o=fL({accessKey:t,challengeId:r,chainId:i,request:a}),s=await n.sign({hash:uw(o)}),c=bC(s);if(c.type===`keychain`||c.type===`multisig`)throw new $({reason:`keyAuthorization must use a primitive signature`});return sw(o,{signature:s})}function dL(e){let{accessKey:t,challengeId:n,chainId:r,payload:i,request:a}=e;if(i.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let o=pL(i.signature),s=mL(o);if(hL({accessKey:t,authorization:o,chainId:r}),o.witness?.toLowerCase()!==lL(n))throw new $({reason:`keyAuthorization challenge mismatch`});return gL(o,a),vL(_L(o),a),yL(o.scopes,a),{authorization:o,source:{address:bL(o,s),chainId:r}}}function fL(e){let{accessKey:t,challengeId:n,chainId:r,request:i}=e;return sw({address:xL(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(r),expiry:aL(iL(i.subscriptionExpires)),limits:[{token:xL(i.currency,`currency`),limit:BigInt(i.amount),period:oL(i)}],scopes:cL(i),type:t.keyType,witness:lL(n)})}function pL(e){try{return dw(e)}catch(e){throw e instanceof Ow?new $({reason:`keyAuthorization must use a primitive signature`}):new $({reason:`invalid keyAuthorization payload`})}}function mL(e){let t=e.signature;if(!t)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function hL(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!rf(n.address,xL(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function gL(e,t){if(sL({request:t}),e.expiry!==aL(iL(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function _L(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function vL(e,t){if(!rf(e.token,xL(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==oL(t))throw new $({reason:`keyAuthorization period mismatch`})}function yL(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=xL(t.currency,`currency`),r=xL(t.recipient,`recipient`),i=new Set;for(let t of e){if(!rf(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=SL(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||!rf(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function bL(e,t){let n=uw(e);try{let e=gC({payload:n,signature:t});if(!EC(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 xL(e,t){if(!Ni(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function SL(e){return typeof e==`string`?e.toLowerCase():``}R(),af();let CL=K({accessKey:Y(lM()),account:Y(lM())});function wL(e={}){let t=NI({chain:pO,getClient:e.getClient,rpcUrl:BI}),n=kI({account:e.account});return OI(tL,{context:CL,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??II.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.\");EL(r.request),await e.validateRequest?.(r.request);let l=await TL(o,{accessKey:c,account:s,challengeId:r.id,chainId:a,request:r.request});if(!rf(dL({accessKey:c,challengeId:r.id,chainId:a,payload:{signature:pw(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return JN({challenge:r,payload:{signature:pw(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function TL(e,t){let{accessKey:n,account:r,challengeId:i,chainId:a,request:o}=t;return await uL({accessKey:n,account:r,challengeId:i,chainId:a,request:o})||cw((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:aL(iL(o.subscriptionExpires)),keyType:n.keyType,limits:[{token:o.currency,limit:P(BigInt(o.amount)),period:oL(o)}],scopes:cL(o),witness:lL(i)}]})).keyAuthorization)}function EL(e){oL(e),aL(iL(e.subscriptionExpires))}fp(),R();let DL=F(y_(Gf(`mpp`),{as:`Hex`}),0,4);function OL(e){return Cp(F(y_(Gf(e),{as:`Hex`}),0,10))}function kL(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(Cp(DL),0),i[4]=1,i.set(OL(t),5),n&&i.set(OL(n),15),i.set(AL(r),25),gp(i)}function AL(e){return Cp(F(y_(Gf(e),{as:`Hex`}),0,7))}function jL(e,t){return MC(e).toLowerCase()===MC(t).toLowerCase()}let ML=10000n,NL=[LI.pathUsd,LI.usdc,LI.ousd];async function PL(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t;if(!Number.isFinite(o)||o<0||o>50)throw Error(`Auto-swap slippage must be between 0 and 50 percent.`);if(t.maxAmountIn!==void 0&&t.maxAmountIn<=0n)throw Error(`Auto-swap maxAmountIn must be positive.`);let s=a.filter(e=>!jL(e,i)),c=await Promise.allSettled([Xm(e,{...MD.call(e,{account:n,token:i}),account:null}),...s.map(t=>Xm(e,{...MD.call(e,{account:n,token:t}),account:null}))]),l=c[0];if(l.status!==`fulfilled`)throw l.reason;let u=l.value;if(u>=r)return;let d=r-u,f=BigInt(Math.round(o*100)),p=t.maxAmountIn??d+d*f/ML;for(let t=0;t<s.length;t++){let n=c[t+1];if(n.status!==`fulfilled`)continue;let r=n.value;if(r<=0n)continue;let a=s[t];try{let t=await gD(e,{account:null,tokenIn:a,tokenOut:i,amountOut:d});if(t<=0n||t>p)continue;let n=t+t*f/ML,o=n<p?n:p;if(r>=o)return[ED.call(e,{amount:o,spender:dE,token:a}),dD.call({tokenIn:a,tokenOut:i,amountOut:d,maxAmountIn:o})]}catch{}}throw new IL({currency:i})}function FL(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...e.fallback===!1?[]:t.filter(t=>!e.tokenIn.some(e=>jL(e,t)))]:t,slippage:e.slippage??1,...e.maxAmountIn===void 0?{}:{maxAmountIn:e.maxAmountIn}}:!1}var IL=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function LL(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:BigInt(e.amount).toString(),memo:e.memo,recipient:e.recipient}))]}function RL(e,t,n){t&&(n&&!n.some(e=>jL(e,t))||e.some(e=>jL(e,t))||e.push(t))}async function zL(e,t,n){try{return(await MD(e,{account:t,token:n})).amount>0n}catch{return!1}}function BL(e){let t=e.chain?.feeToken;if(t)return KC(t);let n=e.chain?.id;return n?RI[n]:void 0}function VL(e){let t=[];return RL(t,LI.pathUsd),RL(t,RI[e]),t}async function HL(e){let{account:t,allowedTokens:n,candidateTokens:r,client:i,prioritizeCandidates:a}=e,o=[];if(a)for(let e of r??[])RL(o,e,n);if(RL(o,await XD(i,{account:t}).then(e=>e?.address).catch(()=>void 0),n),RL(o,BL(i),n),!a)for(let e of r??[])RL(o,e,n);for(let e of o)if(await zL(i,t,e))return e;return o[0]}xa(),Ii(),af(),Mt(),Ym();let UL=jt([`function swapTo(address inputToken,uint256 amount,address targetToken,address recipient,bytes32 memo)`]);function WL(e){if(e!==void 0)return zI[e]}function GL(e){let t=WL(e.chainId);return!!t&&Ni(e.currency,{strict:!1})&&rf(e.currency,t.token)}function KL(e){let t=WL(e.chainId),n=e.transfers.length===1?e.transfers[0]:void 0;if(!t||!n?.memo)return;let r=BigInt(n.amount),i=n.memo;return{calls:[{data:ba({abi:V,functionName:`approve`,args:[t.swap,r]}),to:t.token},{data:ba({abi:UL,functionName:`swapTo`,args:[t.token,r,e.currency,n.recipient,i]}),to:t.swap}],settlementSender:t.swap,transfers:[{amount:r,memo:i,recipient:n.recipient}]}}async function qL(e,t){let n=KL(t);if(n)try{return await Xm(e,MD.call(e,{account:t.account,token:n.calls[0].to}))<n.transfers[0].amount?void 0:(await Rm(e,{account:t.account,calls:n.calls}),n)}catch{return}}let JL={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function YL(e){return{name:`MPP`,version:`3`,chainId:e}}function XL(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function ZL(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:YL(n),types:JL,primaryType:`Proof`,message:XL({account:t,challengeId:r,realm:i})}}function QL(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}pi();let $L=K({account:Y(lM()),autoSwap:Y(lM()),feeToken:Y(lM()),mode:Y(Jj(VI))});function eR(e={}){let{clientId:t}=e;if((e.maxAmount!==void 0||e.maxAtomicAmount!==void 0)&&e.currencies===void 0)throw Error(`Tempo charge maxAmount and maxAtomicAmount require currencies.`);let n={maxAmount:nR(e.maxAmount,e.decimals),maxAtomicAmount:e.maxAtomicAmount===void 0?void 0:BigInt(e.maxAtomicAmount)},r=NI({chain:pO,getClient:e.getClient,rpcUrl:BI}),i=kI({account:e.account}),a=OI($I,{canHandleChallenge({challenge:t}){try{return rR(e,n,t.request),!0}catch{return!1}},context:$L,async createCredential({challenge:a,context:o}){rR(e,n,a.request);let s=a.request.methodDetails?.chainId??e.expectedChainId??(e.allowedChainIds?.length===1?e.allowedChainIds[0]:void 0),c=await r({chainId:s});PI(c,s);let l=s??c.chain?.id;if(FI(e.allowedChainIds,l),l===void 0)throw Error(\"No `chainId` provided. Pass a chain ID in the challenge or client.\");let{request:u}=a,{amount:d,methodDetails:f}=u,p=f?.supportedModes??[`pull`,`push`],m=i(c,o),h=async t=>await e.resolveAccount?.({account:m,chainId:l,operation:t})??m;if(BigInt(d)===0n){let e=await h({kind:`signPaymentProof`});return JN({challenge:a,payload:{signature:await Kb(c,{account:e,...ZL({account:e.address,chainId:l,challengeId:a.id,realm:a.realm})}),type:`proof`},source:QL({address:e.address,chainId:l})})}let g=u.currency,_=GL({chainId:l,currency:g}),v=kL({challengeId:a.id,clientId:t,serverId:a.realm}),y=LL({amount:d,methodDetails:{...f,memo:v},recipient:u.recipient}),b=y.map(e=>KD.call(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:g})),x=FL(o?.autoSwap??e.autoSwap,NL),S=f?.machineTokenEnabled===!0?KL({chainId:l,currency:g,transfers:y}):void 0,C=m,w;if(S){let e=await(async()=>{try{return await h({calls:S.calls,kind:`executeCalls`})}catch{return}})();e&&(w=await qL(c,{account:e.address,chainId:l,currency:g,transfers:y}),w&&(C=e))}let ee;w||(C=await h({kind:`executeCalls`,...x?{}:{calls:b}}),ee=x?await PL(c,{account:C.address,amountOut:BigInt(d),tokenOut:g,tokenIn:x.tokenIn,slippage:x.slippage,maxAmountIn:x.maxAmountIn}):void 0);let T=w?.calls??[...ee??[],...b],te=VL(l),ne=(o?.feeToken??e.feeToken)||(w||_?await HL({account:C.address,allowedTokens:te,candidateTokens:te,client:c,prioritizeCandidates:!0}):void 0),re=(()=>{let t=o?.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]})(),ie=(()=>{let e=Math.floor(Date.now()/1e3)+25;if(!a.expires)return e;let t=Math.floor(new Date(a.expires).getTime()/1e3)+1;return Math.min(e,t)})();if(re===`push`){let{receipts:e}=C.type===`local`?{receipts:[await Db(c,{account:C,calls:T,...ne?{feeToken:ne}:{},nonceKey:`expiring`,validBefore:ie})]}:await Vb(c,{account:C,...ne?{capabilities:{feeToken:ne}}:{},calls:T,experimental_fallback:T.length===1,forceAtomic:T.length>1}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return JN({challenge:a,payload:{hash:t,type:`hash`},source:QL({address:C.address,chainId:l})})}let ae=()=>{if(f?.feePayer!==!0)return;let e=15e3,t=a.expires?new Date(a.expires).getTime():1/0,n=Date.now();if(!(t-n>=e))throw Error(`Sponsored challenge expires in less than 15 seconds; the fee payer would reject the transaction. Request a new challenge.`);if(!(ie*1e3-n>=e))throw Error(`Sponsored transaction preparation took too long: less than 15 seconds of its validity window remain, so the fee payer would reject it.`)};ae();let oe=await ef(c,{account:C,calls:T,...ne?{feeToken:ne}:{},nonceKey:`expiring`,validBefore:ie});if(oe.gas=(oe.gas??0n)+5000n,f?.feePayer){let e=oe;delete e.feePayerSignature,delete e.feeToken,e.feePayer=!0}return ae(),JN({challenge:a,payload:{signature:await Gb(c,oe),type:`transaction`},source:QL({address:C.address,chainId:l})})}}),o=new Map,s=async t=>{rR(e,n,t.challenge.request);let r=t.context?.account??e.account,i=`${(typeof r==`string`?r:r?.address)?.toLowerCase()??``}:${t.challenge.id}`,s=o.get(i);return s||(s=a.createCredential(t).finally(()=>o.delete(i)),o.set(i,s)),s};return kF({...a,createCredential:s},tR)}function tR(e){let t=$I.schema.credential.payload.safeParse(GN(e).payload);if(!t.success)return;let n=t.data;if(n.type===`hash`)return n.hash;let r=n.signature;if(n.type!==`transaction`||!r.startsWith(`0x76`))return;let i=Nw(r);if(!(!i.signature||i.feePayerSignature===null)&&Fw(i)===r)return fi(r)}function nR(e,t){if(e!==void 0){if(t===void 0)throw Error(`Tempo charge maxAmount requires currency decimals.`);if((e.split(`.`)[1]?.replace(/0+$/,``)??``).length>t)throw Error(`Tempo charge maxAmount ${e} has more fractional digits than ${t} decimals allow.`);return Ny(e,t)}}function rR(e,t,n){let{amount:r,methodDetails:i,recipient:a}=n,o=i?.chainId;if(e.expectedChainId!==void 0&&o!==void 0&&o!==e.expectedChainId)throw Error(`Chain ID mismatch: expected ${e.expectedChainId}, got ${o}.`);if((o!==void 0||e.allowedChainIds?.length===0)&&FI(e.allowedChainIds,o),e.currencies&&!e.currencies.some(e=>e.toLowerCase()===n.currency.toLowerCase()))throw Error(`Tempo charge currency is not allowed: ${n.currency}.`);if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase()));if(!a||!t.has(a.toLowerCase()))throw Error(`Unexpected primary recipient: ${a}`);let n=i?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}if(t.maxAtomicAmount!==void 0&&BigInt(r)>t.maxAtomicAmount)throw Error(`Tempo charge amount exceeds maxAtomicAmount.`);if(t.maxAmount!==void 0&&BigInt(r)>t.maxAmount)throw Error(`Tempo charge amount exceeds maxAmount.`)}let iR=(1n<<96n)-1n;function aR(e){return e>=0n&&e<=iR}function oR(e){if(!/^\\d{1,29}$/.test(e))return;let t=BigInt(e);return aR(t)?t:void 0}function sR(e){return cR(e),e}function cR(e){if(!aR(e))throw Error(`Value ${e} is outside uint96 bounds.`)}let lR=new Set([`open`,`topUp`,`voucher`,`close`]);function uR(e){return typeof e==`object`&&!!e}function dR(e){return typeof e==`string`&&lR.has(e)}function fR(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.channelId!=`string`||t.action!==void 0&&!dR(t.action))}function pR(e,t=`No session credential context available.`){if(!fR(e))throw Error(t);return e}function mR(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function hR(e){return uR(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function gR(e){return uR(e)?e.method===`tempo`&&e.intent===`session`&&e.status===`success`&&typeof e.timestamp==`string`&&typeof e.reference==`string`&&typeof e.challengeId==`string`&&typeof e.channelId==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.spent==`string`&&(e.units===void 0||typeof e.units==`number`)&&(e.txHash===void 0||typeof e.txHash==`string`):!1}function _R(e){let t=hx(e),n=JSON.parse(t);if(!gR(n))throw Error(`Invalid session receipt.`);return n}function vR(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function yR(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`:{let e=bR(r);return hR(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=bR(r);return gR(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function bR(e){try{return JSON.parse(e)}catch{return null}}function xR(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function SR(){return JSON.stringify({mpp:`payment-close-request`})}function CR(e){let t=wR(e);return t?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`&&gR(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`&&hR(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&gR(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function wR(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let TR=`0x4d50500000000000000000000000000000000000`;R();function ER(e){return BigInt(e.authorizedSigner)===0n?e.payer:e.authorizedSigner}function DR(e){return y_(bv(Sv([`address payer`,`address payee`,`address operator`,`address token`,`bytes32 salt`,`address authorizedSigner`,`bytes32 expiringNonceHash`,`address escrow`,`uint256 chainId`]),[e.payer,e.payee,e.operator,e.token,e.salt,e.authorizedSigner,e.expiringNonceHash,e.escrow??`0x4d50500000000000000000000000000000000000`,BigInt(e.chainId)]))}function OR(e){return Iw(e)}function kR(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function AR(e,t){return y_(N(OR(e),t.sender))}let jR=[{name:`payer`,type:`address`},{name:`payee`,type:`address`},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`salt`,type:`bytes32`},{name:`authorizedSigner`,type:`address`},{name:`expiringNonceHash`,type:`bytes32`}],MR=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],NR={name:`descriptor`,type:`tuple`,components:jR},PR=[{type:`function`,name:`CLOSE_GRACE_PERIOD`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{type:`function`,name:`VOUCHER_TYPEHASH`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{type:`function`,name:`open`,stateMutability:`nonpayable`,inputs:[{name:`payee`,type:`address`},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`deposit`,type:`uint96`},{name:`salt`,type:`bytes32`},{name:`authorizedSigner`,type:`address`}],outputs:[{name:`channelId`,type:`bytes32`}]},{type:`function`,name:`settle`,stateMutability:`nonpayable`,inputs:[NR,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[NR,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[NR,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[NR],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[NR],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[NR],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:jR},{name:`state`,type:`tuple`,components:MR}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:MR}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:MR}]},{type:`function`,name:`computeChannelId`,stateMutability:`view`,inputs:[{name:`payer`,type:`address`},{name:`payee`,type:`address`},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`salt`,type:`bytes32`},{name:`authorizedSigner`,type:`address`},{name:`expiringNonceHash`,type:`bytes32`}],outputs:[{type:`bytes32`}]},{type:`function`,name:`getVoucherDigest`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}],outputs:[{type:`bytes32`}]},{type:`function`,name:`domainSeparator`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{type:`event`,name:`ChannelOpened`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`authorizedSigner`,type:`address`},{name:`salt`,type:`bytes32`},{name:`expiringNonceHash`,type:`bytes32`},{name:`deposit`,type:`uint96`}]},{type:`event`,name:`Settled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`cumulativeAmount`,type:`uint96`},{name:`deltaPaid`,type:`uint96`},{name:`newSettled`,type:`uint96`}]},{type:`event`,name:`TopUp`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`additionalDeposit`,type:`uint96`},{name:`newDeposit`,type:`uint96`}]},{type:`event`,name:`CloseRequested`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`closeGraceEnd`,type:`uint256`}]},{type:`event`,name:`ChannelClosed`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`settledToPayee`,type:`uint96`},{name:`refundedToPayer`,type:`uint96`}]},{type:`event`,name:`CloseRequestCancelled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0}]}];function FR(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let IR={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]},LR={CloseAuthorization:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function RR(e,t,n){return Cg({domain:FR(e,t),types:LR,primaryType:`CloseAuthorization`,message:n})}function zR(e,t){return aw({chainId:e,channelId:t.channelId,cumulativeAmount:t.cumulativeAmount})}function BR(e,t,n){return e.toLowerCase()===`0x4d50500000000000000000000000000000000000`?zR(t,n):Cg({domain:FR(e,t),types:IR,primaryType:`Voucher`,message:{channelId:n.channelId,cumulativeAmount:n.cumulativeAmount}})}function VR(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function HR(e){return e.source===`accessKey`&&`accessKeyAddress`in e}function UR(e,t){return OE(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function WR(e,t,n,r,i){let a=bC(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await UR(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return Kb(e,{account:t,domain:FR(r,i),types:IR,primaryType:`Voucher`,message:n})})());if(!VR(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return CC(a)}async function GR(e,t,n,r,i){let a=bC(HR(t)?await t.sign({hash:RR(r,i,n),raw:!0}):await Kb(e,{account:t,domain:FR(r,i),types:LR,primaryType:`CloseAuthorization`,message:n}));if(!VR(a.type))throw Error(`TIP-1034 close authorizations require a TIP-1020 primitive signature; received \"${a.type}\".`);return CC(a)}function KR(e,t,n,r){try{let i=bC(n.signature);if(!VR(i.type)||CC(i).toLowerCase()!==n.signature.toLowerCase())return!1;let a=BR(e,t,n),o=gC({payload:a,signature:i});return EC(i,{address:o,payload:a})&&jL(o,r)}catch{return!1}}R(),xa(),Ii();function qR(e){return typeof e==`object`&&!!e}function JR(e){return typeof e==`string`&&Ni(e,{strict:!1})?e:void 0}function YR(e){return JR(e.accessKeyAddress)}function XR(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(xp(8))%e)}function ZR(e){return YR(e)??e.address}async function QR(e,t){let{account:n,calls:r,feePayer:i,feeToken:a,validAfter:o}=t;return ef(e,{account:n,calls:r,nonceKey:`expiring`,...i?{feePayer:!0}:{},feeToken:a,...o===void 0?{}:{validAfter:o}})}async function $R(e,t){return await Gb(e,t)}function ez(e,t,n=!1){let r=e.request.methodDetails,i=qR(r)?JR(r.escrowContract)??JR(r.escrow):void 0,a=t??`0x4d50500000000000000000000000000000000000`;if(i&&!nz(i,a)&&(!n||t!==void 0))throw Error(`Tempo session escrow ${i} does not match client escrow ${a}.`);return i&&!nz(i,a)?i:a}function tz(e,t,n,r){return JN({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function nz(e,t){return e.toLowerCase()===t.toLowerCase()}async function rz(e,t,n,r,i,a=TR){let o=DR({...n,chainId:i,escrow:a}),s=sR(r),c=await WR(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function iz(e,t,n,r,i,a=TR){let o=await rz(e,t,n,r,i,a),s=await GR(e,t,{channelId:o.channelId,cumulativeAmount:sR(BigInt(o.cumulativeAmount))},a,i);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature,closeSignature:s}}async function az(e,t,n){let r=ZR(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=xp(32),s=sR(n.deposit),c=sR(n.initialAmount),l=ba({abi:PR,functionName:`open`,args:[n.payee,a,n.token,s,o,r]}),u=await $R(e,await QR(e,{account:t,calls:[...n.prefixCalls??[],{to:i,data:l}],feePayer:n.feePayer,feeToken:n.feeToken??n.token})),d=hE(u),f={authorizedSigner:r,expiringNonceHash:AR(kR({...n.feePayer?{feePayer:!0}:{},transaction:d}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},p=DR({...f,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:p,transaction:u,signature:await WR(e,t,{channelId:p,cumulativeAmount:c},i,n.chainId),descriptor:f,cumulativeAmount:c.toString(),authorizedSigner:f.authorizedSigner}}async function oz(e,t,n,r,i,a,o=TR,s=[],c=n.token){let l=DR({...n,chainId:i,escrow:o}),u=sR(r);return{action:`topUp`,type:`transaction`,channelId:l,transaction:await $R(e,await QR(e,{account:t,calls:[...s,{to:o,data:ba({abi:PR,functionName:`topUp`,args:[n,u]})}],feePayer:a,feeToken:c,validAfter:XR()})),descriptor:n,additionalDeposit:u.toString()}}function sz(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function cz(e){return sz({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function lz(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(cz(t),t)},delete(t){e.delete(t)}}}let uz=new WeakMap,dz=new WeakMap;function fz(e,t){dz.set(e,dz.get(t)??t)}async function pz(e,t,n){let r=uz.get(e);r||(r=new Map,uz.set(e,r));let i=(r.get(t)??Promise.resolve()).catch(()=>{}).then(n);r.set(t,i);try{return await i}finally{r.get(t)===i&&r.delete(t)}}function mz(e,t,n){return pz(dz.get(e)??e,`funding:${t}`,n)}async function hz(e,t){await pz(e,`write:${cz(t)}`,async()=>{let n=await e.get(cz(t));if(n?.origin!==void 0){if(t.origin!==void 0&&t.origin!==n.origin)throw Error(`SessionManager: stored channel origin mismatch`);t.origin=n.origin}if(n?.uncertainTopUp){if(n.channelId!==t.channelId)throw Error(`Session funding outcome is unknown; reconcile the pending payment before replacing the channel.`);t.uncertainTopUp=!0}await e.set(t)})}async function gz(e,t){await pz(e,`write:${t}`,async()=>{(await e.get(t))?.uncertainTopUp||await e.delete(t)})}let _z=2n**96n-1n;function vz(e){if(e<0n||e>_z)throw new $({reason:`amount exceeds uint96 range`})}async function yz(e,t,n=TR,r){return bz(await Xm(e,{address:n,abi:PR,functionName:`getChannelState`,args:[t],...r===void 0?{}:{blockNumber:r}}))}function bz(e){return vz(e.settled),vz(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Ii();let xz=lM(e=>typeof e==`string`&&Ni(e,{strict:!1})),Sz=lM(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),Cz=oF(K({acceptedCumulative:W(),chainId:Cj(),channelId:Sz,closeRequestedAt:Y(W()),deposit:W(),descriptor:K({authorizedSigner:xz,expiringNonceHash:Sz,operator:xz,payee:xz,payer:xz,salt:Sz,token:xz}),escrow:xz,highestVoucher:Y(K({channelId:Sz,cumulativeAmount:W(),signature:lM(e=>typeof e==`string`&&/^0x[0-9a-fA-F]+$/.test(e))})),requiredCumulative:W(),settled:W(),spent:W(),units:Y(Cj())}));function wz(e){return Cz.encode(e)}function Tz(e){return Cz.decode(e)}let Ez={status:`idle`};function Dz(e){return{status:`active`,...e}}function Oz(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?Nz(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?Nz(e,t):t.snapshot?{state:{status:`hydrating`,challengeId:t.challengeId,snapshot:t.snapshot},effects:[{type:`hydrate`,snapshot:t.snapshot}]}:{state:{status:`opening`,challengeId:t.challengeId},effects:[{type:`open`}]};case`hydrated`:return e.status===`hydrating`?{state:jz(e.challengeId,t.snapshot),effects:[]}:Nz(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?Nz(e,t):{state:Gz({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:Mz(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:Nz(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?Nz(e,t):{state:Jz(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?Az({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):Nz(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:Nz(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?Nz(e,t):{state:Mz(e.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]};case`settleStarted`:return e.status===`active`?{state:{status:`settling`,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[{type:`settle`,channelId:e.channelId}]}:Nz(e,t);case`settled`:return e.status===`settling`?{state:Mz(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:Nz(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:Nz(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:Nz(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?Nz(e,t):{state:{status:`closing`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`close`,channelId:e.channelId}]};case`closed`:return e.status!==`closing`&&e.status!==`withdrawable`?Nz(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function kz(e,t){let n=Oz(e.state,t);return e.state=n.state,n}function Az(e){let{challengeId:t,descriptor:n,event:r}=e,i=BigInt(r.requiredCumulative),a=BigInt(r.deposit);return i>a?{state:{status:`toppingUp`,challengeId:t,channelId:r.channelId,descriptor:n,deposit:r.deposit},effects:[{type:`topUp`,channelId:r.channelId,amount:(i-a).toString()}]}:{state:{status:`voucherNeeded`,challengeId:t,channelId:r.channelId,descriptor:n,requiredCumulative:r.requiredCumulative,deposit:r.deposit},effects:[{type:`voucher`}]}}function jz(e,t){return Dz({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function Mz(e,t,n,r){return Dz({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function Nz(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function Pz(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function Fz(e){let{channel:t,maxVoucherCumulative:n,receipt:r}=e;if(!t||r.channelId!==t.channelId)return;let i=BigInt(r.acceptedCumulative),a=BigInt(r.spent);if(a>i)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(i>t.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(a>t.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);Pz({cumulativeAmount:i,maxVoucherCumulative:n}),Pz({cumulativeAmount:a,maxVoucherCumulative:n})}function Iz(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;Fz({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function Lz(e,t){return typeof e==`bigint`?e:Ny(e,t)}function Rz(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(Bz(r,n),t!==void 0){let e=BigInt(t);if(e<r)throw Error(`opening deposit ${e} below request amount ${r}`);return e}let a=i===void 0?void 0:BigInt(i),o=a!==void 0&&a>r?a:r;return n===void 0||o<n?o:n}function zz(e){let{deposit:t,maxDeposit:n,requiredCumulative:r,suggestedDeposit:i,topUpAmount:a}=e;if(r<=t)return 0n;Pz({cumulativeAmount:r,maxVoucherCumulative:n??null});let o=r-t,s=a??i??o,c=s>o?s:o;if(n==null)return c;let l=n-t;return c<l?c:l}function Bz(e,t){Pz({cumulativeAmount:e,maxVoucherCumulative:t??null})}function Vz(e){let{channel:t,currentSocket:n,lastChallenge:r}=e;if(!t?.opened)return;let i=n?.challenge??r,a=n?.channelId??t.channelId;if(!i)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(!a)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);return{challenge:i,channel:t,channelId:a}}function Hz(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function Uz(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(!aR(n))throw Error(`close-ready spent is not a uint96 amount`);if(n<r)throw Error(`close-ready spent is below locally confirmed spend`);if(n>Hz({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function Wz(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:i=0n,receipt:a}=e,o=oR(r),s=oR(a.spent);return o===void 0||s===void 0||!aR(i)?!1:!!a.txHash&&a.challengeId===t&&a.channelId===n&&a.acceptedCumulative===r&&s>=i&&s<=o}function Gz(e){return Dz({challengeId:e.challengeId,channelId:e.entry.channelId,descriptor:e.entry.descriptor,acceptedCumulative:e.entry.cumulativeAmount.toString(),deposit:e.entry.deposit.toString(),spent:e.spent,units:e.units})}function Kz(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:Ez}}function qz(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=Iz({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&kz(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function Jz(e,t){return Dz({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function Yz(e){let{challengeId:t,channelId:n,closeReadyReceipt:r,cumulativeAmount:i,deliveredChunks:a=0n,socketChallengeId:o,socketChannelId:s,spent:c,tickCost:l=0n}=e;if(c>i)throw Error(`locally confirmed spend exceeds local voucher state`);if(r&&r.challengeId===t&&r.channelId===n){let e=oR(r.spent);if(e===void 0)throw Error(`close-ready spent is not a uint96 amount`);return e>c?e:c}if(o===t&&s===n&&l>0n){let e=a*l,t=c>e?c:e;return t>i?i:t}return i}function Xz(e){let{channel:t,channelId:n,challengeId:r,cumulativeAmount:i,spent:a,state:o}=e;if(!(!t||t.channelId!==n)&&(t.cumulativeAmount=i,r))return Oz(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function Zz(e){return{channel:e.channel===null?null:{entry:e.channel,cumulativeAmount:e.channel.cumulativeAmount,deposit:e.channel.deposit,opened:e.channel.opened},spent:e.spent,state:e.state}}function Qz(e,t){return e.channel?(e.channel.entry.cumulativeAmount=e.channel.cumulativeAmount,e.channel.entry.deposit=e.channel.deposit,e.channel.entry.opened=e.channel.opened,{channel:e.channel.entry,spent:e.spent,state:e.state}):(t&&(t.opened=!1),{channel:null,spent:e.spent,state:e.state})}async function $z(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(SR()),e.waitForCloseReady()))(),a=BigInt(i.spent);Uz({cumulativeAmount:r.channel.cumulativeAmount,readySpent:a,spent:e.spent});let o=await e.createSessionCredential(r.challenge,{action:`close`,channelId:r.channelId,descriptor:r.channel.descriptor,cumulativeAmountRaw:a.toString()}),s=a.toString();n.expectedCloseAmount=s;try{let i=e.waitForReceipt(e=>Wz({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,minimumSpent:a,receipt:e}));t.send(xR(o));let c=await i;return t.close(),n.closeReadyReceipt=null,c}finally{n.expectedCloseAmount=null}}Ii();function eB(e){return`cumulativeAmount`in e}function tB(e){if(eB(e))return BigInt(e.cumulativeAmount)}async function nB(e,t){t.opened?await hz(e.store,t):await gz(e.store,cz(t)),e.notifyUpdate(t)}async function rB(e,t,n){let r=tB(n);if(r===void 0)return;let i=await e.store.get(t);i&&i.channelId.toLowerCase()===n.channelId.toLowerCase()&&(i.cumulativeAmount=i.cumulativeAmount>r?i.cumulativeAmount:r,n.action===`close`&&(i.opened=!1),await nB(e,i))}let iB=lM(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),aB=K({account:Y(lM()),autoSwap:Y(lM()),action:Y(Jj([`open`,`topUp`,`voucher`,`close`])),channelId:Y(lM(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:Y(hN()),cumulativeAmountRaw:Y(W()),transaction:Y(iB),descriptor:Y(lM()),additionalDeposit:Y(hN()),additionalDepositRaw:Y(W()),depositRaw:Y(W())});function oB(e){return e?.action!==void 0}function sB(e){return oB(e)&&e.descriptor!==void 0}function cB(e,t,n){let r=n===`additionalDeposit`?e.additionalDepositRaw:e.cumulativeAmountRaw,i=n===`additionalDeposit`?e.additionalDeposit:e.cumulativeAmount;if(r)return BigInt(r);if(i)return Ny(i,t)}function lB(e,t,n,r){let i=cB(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function uB(e){return typeof e==`object`&&!!e}function dB(e){return typeof e==`string`&&Ni(e,{strict:!1})?e:void 0}function fB(e){let t=e.request.methodDetails;return uB(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:dB(t.escrowContract),escrow:dB(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,feeToken:dB(t.feeToken),operator:dB(t.operator),sessionSnapshot:sN(t,aN.sessionSnapshot)}:{}}function pB(e,t){if(typeof e==`string`&&Ni(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function mB(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function hB(e){return typeof e==`string`?e:void 0}async function gB(e){let{allowCustomEscrow:t,challenge:n,escrowOverride:r,allowedChainIds:i,getClient:a}=e,o=fB(n);(o.chainId!==void 0||i?.length===0)&&FI(i,o.chainId);let s=o.chainId??(i?.length===1?i[0]:void 0),c=await a({chainId:s});PI(c,s);let l=s??c.chain?.id;if(FI(i,l),!l)throw Error(`No chainId configured for TIP-1034 session challenge.`);let u=ez(n,r,t),d=pB(n.request.recipient,`recipient`),f=pB(n.request.currency,`currency`);return{amount:mB(n.request.amount),challenge:n,chainId:l,client:c,escrow:u,feePayer:o.feePayer,feeToken:o.feeToken,key:sz({payee:d,token:f,escrow:u,chainId:l}),operator:o.operator,payee:d,snapshot:o.sessionSnapshot,suggestedDepositRaw:hB(n.request.suggestedDeposit),token:f}}async function _B(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=yz}=e,o=DR({...r,chainId:i.chainId,escrow:i.escrow});vB({channelId:t,descriptor:r,expectedChannelId:o,payee:i.payee,payer:i.payer,authorizedSigner:i.authorizedSigner,token:i.token});let s=await a(n,o,i.escrow);if(s.deposit===0n)throw Error(`Channel ${o} cannot be reused (closed or not found on-chain).`);if(s.closeRequestedAt!==0)throw Error(`Channel ${o} cannot be reused (pending close request).`);return{channelId:o,state:s}}function vB(e){let{authorizedSigner:t,channelId:n,descriptor:r,expectedChannelId:i,payee:a,payer:o,token:s}=e;if(n&&n.toLowerCase()!==i.toLowerCase())throw Error(`context channelId does not match descriptor`);if(!nz(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!nz(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!nz(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!nz(ER(r),t))throw Error(`context descriptor authorizedSigner does not match account`)}function yB(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function bB(e){let{context:t,decimals:n,requestAmount:r,snapshot:i,settled:a}=e;if(i)return[BigInt(i.acceptedCumulative),BigInt(i.requiredCumulative),BigInt(i.spent)+r,a].reduce((e,t)=>t>e?t:e,0n);let o=cB(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}async function xB(e){let{account:t,client:n,readChannelState:r,snapshot:i}=e,a=i.highestVoucher;if(!a)throw Error(`session snapshot is missing its highest signed voucher`);if(a.channelId.toLowerCase()!==i.channelId.toLowerCase())throw Error(`session snapshot voucher channelId does not match snapshot channelId`);let o=BigInt(i.acceptedCumulative),s=BigInt(a.cumulativeAmount),c=BigInt(i.requiredCumulative),l=BigInt(i.deposit),u=BigInt(i.settled),d=BigInt(i.spent);if(s!==o)throw Error(`session snapshot voucher amount does not match acceptedCumulative`);if(d>o)throw Error(`session snapshot spent exceeds acceptedCumulative`);if(u>l)throw Error(`session snapshot settled amount exceeds deposit`);if(!KR(i.escrow,i.chainId,{channelId:a.channelId,cumulativeAmount:s,signature:a.signature},ER(i.descriptor)))throw Error(`session snapshot highest voucher signature is invalid`);let f=await _B({channelId:i.channelId,client:n,descriptor:i.descriptor,expected:{chainId:i.chainId,escrow:i.escrow,payee:i.descriptor.payee,payer:t.address,authorizedSigner:ZR(t),token:i.descriptor.token},readChannelState:r}),p=[o,c,f.state.settled].reduce((e,t)=>t>e?t:e,0n);if(p>f.state.deposit)throw Error(`recovered session cumulative amount exceeds on-chain channel deposit`);return{entry:{channelId:f.channelId,cumulativeAmount:p,deposit:f.state.deposit,descriptor:i.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0},spent:d}}function SB(e,t){return nz(e.address,t.payer)?nz(ZR(e),ER(t)):!1}function CB(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(oB(r)){if(!sB(r))throw Error(`descriptor required for TIP-1034 session action`);return{type:`manual`,account:t,context:r,decimals:i,resolved:o}}if(!n&&r?.channelId&&!r.descriptor)throw Error(`descriptor required to reuse TIP-1034 channel`);let s=yB({context:r,snapshot:o.snapshot});return!n&&s&&SB(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&SB(t,n.descriptor)?{type:`voucher`,account:t,entry:n,maxDeposit:a,resolved:o}:{type:`open`,account:t,context:r,maxDeposit:a,resolved:o}}async function wB(e,t,n=!1){switch(e.type){case`open`:return EB(e,t,n);case`recover`:return DB(e,t);case`voucher`:return OB(e,t);case`manual`:return kB(e,t,n)}}async function TB(e,t){if(e)return await PL(t.client,{account:t.account,amountOut:t.amountOut,tokenOut:t.tokenOut,tokenIn:e.tokenIn,slippage:e.slippage,maxAmountIn:e.maxAmountIn})}async function EB(e,t,n){let{account:r,resolved:i}=e,a=Rz({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:i.amount,suggestedDepositRaw:i.suggestedDepositRaw}),o=await az(i.client,r,{chainId:i.chainId,deposit:a,escrow:i.escrow,feePayer:i.feePayer,feeToken:i.feeToken,initialAmount:i.amount,operator:i.operator,payee:i.payee,prefixCalls:await TB(n,{account:r.address,amountOut:a,client:i.client,tokenOut:i.token}),token:i.token});return await nB(t,{channelId:o.channelId,cumulativeAmount:i.amount,deposit:a,descriptor:o.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0}),o}async function DB(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await _B({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:ZR(n),token:o.token}}),l=bB({context:r,decimals:i,requestAmount:o.amount,settled:c.state.settled,snapshot:o.snapshot});if(l>c.state.deposit)throw Error(`recovered voucher amount exceeds on-chain channel deposit`);Bz(l,a);let u=await rz(o.client,n,s,l,o.chainId,o.escrow),d=await t.store.get(o.key);return await nB(t,{...d?.channelId===c.channelId&&d.uncertainTopUp?{uncertainTopUp:!0}:{},channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function OB(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;Bz(a,e.maxDeposit);let o=await rz(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await nB(t,r),o}async function kB(e,t,n){let{account:r,context:i,decimals:a,resolved:o}=e,{descriptor:s}=i,c=DR({...s,chainId:o.chainId,escrow:o.escrow});vB({channelId:i.channelId,descriptor:s,expectedChannelId:c,payee:o.payee,payer:r.address,authorizedSigner:ZR(r),token:o.token});let l=await AB({account:r,channelId:c,context:i,decimals:a,descriptor:s,resolved:o},n);return await rB(t,o.key,l),l}async function AB(e,t){switch(e.context.action){case`open`:return jB(e);case`topUp`:return MB(e,t);case`voucher`:return NB(e);case`close`:return PB(e)}}async function jB(e){let{account:t,channelId:n,context:r,decimals:i,descriptor:a,resolved:o}=e;if(!r.transaction)throw Error(`transaction required for open action`);let s=lB(r,i,`cumulativeAmount`,`open`),c=await rz(o.client,t,a,s,o.chainId,o.escrow);return{action:`open`,type:`transaction`,channelId:n,transaction:r.transaction,signature:c.signature,descriptor:a,cumulativeAmount:s.toString(),authorizedSigner:a.authorizedSigner}}async function MB(e,t){let{account:n,channelId:r,context:i,decimals:a,descriptor:o,resolved:s}=e,c=lB(i,a,`additionalDeposit`,`topUp`);return i.transaction?{action:`topUp`,type:`transaction`,channelId:r,transaction:i.transaction,descriptor:o,additionalDeposit:c.toString()}:oz(s.client,n,o,c,s.chainId,s.feePayer,s.escrow,await TB(t,{account:n.address,amountOut:c,client:s.client,tokenOut:s.token}),s.feeToken)}function NB(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return rz(a.client,t,i,lB(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function PB(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return iz(a.client,t,i,lB(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}R();let FB={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function IB(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,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)};function s(e,a){if(a.type===`close`){if(n)return;n=!0,i=FB.CLOSED,r=null}if(a.type===`open`&&(i=FB.OPEN),a.type===`message`&&r){r.push(a);return}switch(a.type){case`close`:l.onclose?.(a);break;case`error`:l.onerror?.(a);break;case`message`:l.onmessage?.(a);break;case`open`:l.onopen?.(a)}let o=t.get(e);if(o)for(let e of Array.from(o))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&o.delete(e)}let c=null,l={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,get onmessage(){return c},set onmessage(e){if(c=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:l}}function LB(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function RB(e){let{amount:t,assertVoucherWithinLocalLimit:n,channel:r,decimals:i,lastChallenge:a,lastUrl:o}=e;if(!r?.opened)throw Error(`Cannot top up session: no open channel.`);if(!a)throw Error(`Cannot top up session: no challenge available. Make a request first.`);if(!o)throw Error(`Cannot top up session: no URL available. Call fetch(), sse(), or ws() first.`);let s=Lz(t,i);if(s<=0n)throw Error(`Top-up amount must be greater than zero.`);return n(r.cumulativeAmount+s),{additionalDeposit:s,challenge:a,channelId:r.channelId,input:o}}function zB(e){let{additionalDeposit:t,channel:n,channelId:r,challengeId:i,currentState:a,knownDeposit:o,receipt:s,spent:c}=e;if(n?.channelId!==r)return;let l=o!==void 0&&o>n.deposit?o:n.deposit,u={...n,deposit:l+t};return s?{channel:u,state:Jz(s,u)}:i?{channel:u,state:Gz({challengeId:i,entry:u,spent:c.toString(),units:a.status===`active`?a.units:0})}:{channel:u}}async function BB(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=LB(e.event);e.assertVoucherWithinLocalLimit(t.requiredCumulative),await e.topUpIfNeeded({challenge:e.challenge,input:e.input,headers:e.headers,channelId:e.expectedChannelId,deposit:t.deposit,requiredCumulative:t.requiredCumulative,...e.signal?{signal:e.signal}:{}});let n=e.getChannel();if(!n||n.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`missing-channel`};let r=n.cumulativeAmount>t.requiredCumulative?n.cumulativeAmount:sR(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function VB(e){return e.method===rN.tempo&&e.intent===iN.session}function HB(e){return VB(e)&&sN(e.request.methodDetails,aN.sessionProtocol)===oN.v2}function UB(e){return sN(e.request.methodDetails,aN.sessionSnapshot)}function WB(e,t,n,r){let i=e instanceof Request?e.headers:void 0;return KP({...t,redirect:`manual`,headers:{...GF(i),...GF(t?.headers)}},zN(r),n)}function GB(e){return e instanceof Request||typeof e==`object`&&!!e&&!(e instanceof URL)&&typeof e.url==`string`&&typeof e.method==`string`&&typeof e.clone==`function`}function KB(e){try{let t=typeof location>`u`?void 0:location.href,n=GB(e)?new URL(e.url):e instanceof URL?new URL(e):new URL(String(e),t);return n.hash=``,n}catch{return e}}function qB(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function JB(e){let t=await e.text().catch(()=>``);if(!t)return``;if(!e.headers.get(`Content-Type`)?.includes(`application/problem+json`))return t;try{return JSON.parse(t).detail??t}catch{return t}}var YB=class extends Error{constructor(e){let t=e instanceof Error||e instanceof DOMException?e.message:String(e);super(`${t}; payment outcome unknown`),this.name=`UncertainFundingError`}};async function XB(e){let{channel:t,channelId:n}=e;if(!t?.descriptor||t.channelId!==n)throw Error(`Cannot top up session: no local channel descriptor available.`);if(t.uncertainTopUp)throw Error(`Session funding outcome is unknown; reconcile the pending payment before another top-up.`);let r=await ZB({challenge:e.challenge,context:{action:`topUp`,channelId:n,descriptor:t.descriptor,additionalDepositRaw:e.additionalDeposit.toString()},createSessionCredential:e.createSessionCredential,fetch:e.fetch,headers:e.headers,input:e.input,signal:e.signal}).catch(async n=>{throw n instanceof YB&&(t.uncertainTopUp=!0,await e.onUncertainFunding?.(t)),n});if(!r.ok)throw Error(`Top-up POST failed with status ${r.status}`);let i=r.headers.get(tN.paymentReceipt);return i?_R(i):void 0}async function ZB(e){let t=async t=>{e.signal?.throwIfAborted();let n=await e.createSessionCredential(t,e.context);e.signal?.throwIfAborted();let r=new AbortController,i=()=>r.abort(e.signal?.reason);e.signal?.addEventListener(`abort`,i,{once:!0});let a=setTimeout(()=>r.abort(new DOMException(`Session management request timed out; payment outcome unknown`,`TimeoutError`)),3e4),o,s=new Promise((e,t)=>{o=()=>t(r.signal.reason),r.signal.addEventListener(`abort`,o,{once:!0})});try{return await Promise.race([e.fetch(KB(e.input),{method:`POST`,signal:r.signal,redirect:`manual`,headers:xV(t,n,e.input,e.headers)}),s])}catch(t){throw e.context.action===`topUp`?new YB(t):t}finally{clearTimeout(a),e.signal?.removeEventListener(`abort`,i),r.signal.removeEventListener(`abort`,o)}},n=await t(e.challenge);if(n.status!==402)return n;let r=FN(n).find(HB);return r?t(r):n}async function QB(e){let t=$B({channel:e.getChannel(),response:e.response});if(!t)return;let{channel:n,challenge:r,snapshot:i}=t;e.setChallenge(r);let a=BigInt(i.requiredCumulative),o=n.cumulativeAmount;await e.topUpIfNeeded({challenge:r,input:e.input,headers:e.init?.headers,channelId:i.channelId,deposit:BigInt(i.deposit),requiredCumulative:a,signal:e.init?.signal??(e.input instanceof Request?e.input.signal:void 0)});let s=e.getChannel();if(!s?.descriptor||s.channelId!==i.channelId)return;let c=s.cumulativeAmount>a?s.cumulativeAmount:a,l=()=>e.restoreCumulative(i.channelId,o),u;try{let t=await e.createSessionCredential(r,{action:`voucher`,channelId:i.channelId,descriptor:s.descriptor,cumulativeAmountRaw:c.toString()});u=await e.fetch(e.input,WB(e.input,e.init,t,r))}catch(e){throw await l(),e}return!u.ok&&!u.headers.get(tN.paymentReceipt)&&await l(),u}function $B(e){let t=FN(e.response).find(HB);if(!t)return;let n=UB(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function eV(e){if(!e.lastUrl)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 t=e.target.challenge,n=e.signedCloseAmount,r=GB(e.lastUrl)?e.lastUrl:void 0,i=r?{cache:r.cache,credentials:r.credentials,integrity:r.integrity,keepalive:r.keepalive,mode:r.mode===`navigate`?`same-origin`:r.mode,referrer:r.referrer,referrerPolicy:r.referrerPolicy}:void 0,a=async(a,o=!1)=>{t=a,n=(o?e.resolveSignedCloseAmount?.(a):void 0)??e.signedCloseAmount;let s=await e.createSessionCredential(a,{action:`close`,channelId:e.target.channelId,descriptor:e.target.channel.descriptor,cumulativeAmountRaw:n});return e.fetch(r?KB(r):e.lastUrl,{...i,method:`POST`,redirect:`manual`,headers:xV(a,s,e.lastUrl,e.headers)})},o=await a(e.target.challenge);if(o.status===402){let t=FN(o).find(HB);t&&(e.setChallenge?.(t),o=await a(t,!0))}if(!o.ok){let e=await JB(o),t=o.headers.get(tN.wwwAuthenticate)??``;throw Error(`Close request failed with status ${o.status}${e?`: ${e}`:``}${t?` [${tN.wwwAuthenticate}: ${t}]`:``}`)}let s=o.headers.get(tN.paymentReceipt);if(!s)return;let c=_R(s);if(!c.txHash||!Ep(c.txHash,{strict:!0})||I(c.txHash)!==32||!Wz({challengeId:t.id,channelId:e.target.channelId,expectedCloseAmount:n,minimumSpent:e.getMinimumSpent?.()??0n,receipt:c}))throw Error(`Session close response included a mismatched payment receipt.`);return c}async function tV(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o=i??(e instanceof Request?e.signal:void 0),s={...a,headers:{...GF(a.headers),Accept:`text/event-stream`},...o?{signal:o}:{}},c=await n.doFetch(e,s);return!vR(c)&&n.getChannel()?.opened&&(c=await n.doFetch(e,s)),nV(e,c,{onReceipt:r,signal:o},n,s.headers)}function nV(e,t,n,r,i){if(!vR(t))throw Error(`SSE response is not an event stream.`);if(!t.body)throw Error(`Response has no body.`);let a=r.getChallenge();return rV({onNeedVoucher:t=>cV({challenge:a,driver:r,headers:i,input:e,signal:n?.signal},t),onReceipt(e){r.acceptReceipt(e),n?.onReceipt?.(e)},response:t,signal:n?.signal})}async function*rV(e){for await(let t of iV(e))t.data!==void 0&&(yield t.data)}async function*iV(e){if(!e.response.body)throw Error(`Response has no body.`);let t=e.response.body.getReader(),n=new TextDecoder,r=``,i=!1,a=()=>{t.cancel(e.signal?.reason).catch(()=>void 0)};e.signal?.addEventListener(`abort`,a,{once:!0}),e.signal?.aborted&&a();try{for(;!e.signal?.aborted;){let{done:a,value:o}=await t.read();for(a?(i=!0,r+=n.decode()):r+=n.decode(o,{stream:!0});;){let t=aV(r,a);if(!t)break;let n=t.index+t.length,i=r.slice(0,t.index),o=r.slice(0,n);if(r=r.slice(n),!i.trim())continue;let s=yR(i.replace(/\\r\\n|\\r/g,`\n`));if(!s){yield{raw:o};continue}switch(s.type){case`message`:yield{data:s.data,raw:o};break;case`payment-need-voucher`:await e.onNeedVoucher(s.data,e.signal);break;case`payment-receipt`:e.onReceipt(s.data)}}if(a)break}}finally{e.signal?.removeEventListener(`abort`,a),i||await t.cancel().catch(()=>void 0),t.releaseLock()}}function aV(e,t){for(let n=0;n<e.length;n++){let r=oV(e,n,t);if(!r)continue;let i=oV(e,n+r,t);if(i)return{index:n,length:r+i};n+=r-1}}function oV(e,t,n){return e[t]===`\n`?1:e[t]===`\\r`?e[t+1]===`\n`?2:t+1===e.length&&!n?0:1:0}function sV(e){let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.addEventListener(`abort`,n,{once:!0}),e.signal?.aborted&&n();let r=iV({...e,signal:t.signal}),i=new TextEncoder,a=new Headers(e.response.headers);a.delete(`content-length`);let o=()=>e.signal?.removeEventListener(`abort`,n),s=new Response(new ReadableStream({async pull(e){try{let t=await r.next();if(t.done)return o(),e.close();e.enqueue(i.encode(t.value.raw))}catch(e){throw o(),e}},async cancel(){o(),t.abort(),await r.return(void 0)}}),{headers:a,status:e.response.status,statusText:e.response.statusText});for(let t of[`redirected`,`type`,`url`])Object.defineProperty(s,t,{configurable:!0,get:()=>e.response[t]});return s}async function cV(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await BB({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:e.challenge,event:t,expectedChannelId:n.channelId,getChannel:e.driver.getChannel,headers:e.headers,input:e.input,signal:e.signal,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status!==`ready`)return;let i=await ZB({challenge:e.challenge,context:r.context,createSessionCredential:e.driver.createSessionCredential,fetch:e.driver.fetch,headers:e.headers,input:e.input,signal:e.signal});if(!i.ok)throw Error(`Voucher POST failed with status ${i.status}`)}async function lV(e){let t=new URL(e.input.toString()),n=qB(t);e.onProbeUrl?.(n);let r=await e.fetch(n,{...e.probeInit,...e.signal?{signal:e.signal}:{}});if(r.status!==402)throw Error(`Expected a 402 payment challenge from ${n}, received ${r.status} instead.`);let i=FN(r).find(HB);if(!i)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.`);return{challenge:i,httpUrl:n,wsUrl:t}}async function uV(e){e.signal?.throwIfAborted();let t=await lV(e);e.signal?.throwIfAborted();let n=await e.createSessionCredential(t.challenge,{});return e.signal?.throwIfAborted(),{...t,credential:n}}function dV(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:GN(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:mR(t)}}function fV(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function pV(e){if(!fV(e))return`received mismatched payment-close-ready frame`;let t=oR(e.receipt.spent);if(t===void 0)return`received invalid payment-close-ready spend`;if(t>e.cumulativeAmount)return`received payment-close-ready beyond local voucher state`}function mV(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!fV(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!Wz({challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:BigInt(r),receipt:i}))return`received mismatched payment-close receipt frame`}async function hV(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=r?.signal;o?.throwIfAborted();let s=new i(a,r?.protocols),c=dV({challenge:t,credential:n,socket:s});e.setSocketSession(c);let l=IB(s),u=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(s.readyState===FB.CONNECTING||s.readyState===FB.OPEN)&&s.close(3008,t)},d=()=>{e.rejectReceipt(Error(`WebSocket payment flow aborted.`)),e.rejectCloseReady(Error(`WebSocket payment flow aborted.`)),s.close()};s.addEventListener(`close`,t=>{o?.removeEventListener(`abort`,d),c.socket=null,c.expectedCloseAmount=null,e.rejectReceipt(Error(`WebSocket closed before the payment flow completed.`)),e.rejectCloseReady(Error(`WebSocket closed before the payment flow completed.`)),l.emit(`close`,{code:t.code??1e3,reason:t.reason??``,type:`close`,wasClean:!0})}),s.addEventListener(`error`,()=>{l.emit(`error`,{type:`error`})}),s.addEventListener(`message`,async t=>{let n=typeof t.data==`string`?t.data:void 0;n&&await _V({driver:e,failSocketFlow:u,managedEmit:l.emit,message:n,rawSocket:s,socketState:c})}),o?.addEventListener(`abort`,d,{once:!0});try{await gV(s,l.emit,a,o),o?.throwIfAborted()}catch(e){throw o?.removeEventListener(`abort`,d),s.close(),e}return s.send(xR(n)),await e.waitForReceipt(),l.socket}function gV(e,t,n,r){return new Promise((i,a)=>{let o=()=>{e.removeEventListener(`open`,s),e.removeEventListener(`error`,c),e.removeEventListener(`close`,c),r?.removeEventListener(`abort`,l)},s=()=>{o(),t(`open`,{type:`open`}),i()},c=()=>{o(),a(Error(`WebSocket connection to ${n} failed to open.`))},l=()=>{o(),a(r?.reason)};e.addEventListener(`open`,s,{once:!0}),e.addEventListener(`error`,c,{once:!0}),e.addEventListener(`close`,c,{once:!0}),r?.addEventListener(`abort`,l,{once:!0}),r?.aborted&&l()})}async function _V(e){let t=CR(e.message);if(!t){e.managedEmit(`message`,{data:e.message,type:`message`});return}switch(t.mpp){case`authorization`:return;case`message`:e.socketState.deliveredChunks+=1n,e.managedEmit(`message`,{data:t.data,type:`message`});return;case`payment-close-ready`:vV(e,t.data);return;case`payment-error`:e.driver.rejectReceipt(Error(t.message)),e.driver.rejectCloseReady(Error(t.message));return;case`payment-need-voucher`:await yV(e,t.data);return;case`payment-receipt`:bV(e,t.data);return}}function vV(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=pV({challengeId:e.driver.challenge.id,channelId:e.socketState.channelId,cumulativeAmount:n,receipt:t});if(r){e.failSocketFlow(r);return}e.driver.acceptReceipt(t),e.driver.options?.onReceipt?.(t),e.driver.settleCloseReady(t),e.managedEmit(`close`,{code:1e3,reason:`stream complete`,type:`close`,wasClean:!0})}async function yV(e,t){try{let n=e.driver.challenge;n.expires&&new Date(n.expires).getTime()<=Date.now()+5e3&&(n=await e.driver.refreshChallenge(),e.driver.challenge=n,e.socketState.challenge=n);let r=await BB({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:n,event:t,expectedChannelId:e.socketState.channelId,getChannel:e.driver.getChannel,input:e.driver.httpUrl,signal:e.driver.options?.signal,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status===`ignored`){e.failSocketFlow(r.reason===`channel-mismatch`?`received mismatched payment-need-voucher frame`:`cannot create voucher: no active channel`);return}let i=await e.driver.createSessionCredential(n,r.context);e.rawSocket.send(xR(i))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function bV(e,t){let n=mV({challengeId:e.driver.challenge.id,channelId:e.socketState.channelId,expectedCloseAmount:e.socketState.expectedCloseAmount,receipt:t});if(n){e.failSocketFlow(n);return}e.driver.acceptReceipt(t),e.driver.options?.onReceipt?.(t),e.driver.settleReceipt(t)}function xV(e,t,n,r){let i=zN(e),a=new Headers;if(i.toLowerCase()!==tN.authorization.toLowerCase()){let e=new Headers(r).get(tN.authorization)??(n instanceof Request?n.headers.get(tN.authorization):null);e&&!e.startsWith(`${nN.payment} `)&&a.set(tN.authorization,e)}return a.set(i,t),a}let SV=new WeakMap;async function CV(e,t){let n=SV.get(e)??new Map;SV.set(e,n);let r=n.get(t),i,a=new Promise(e=>{i=e});return n.set(t,a),await r,()=>{i(),n.get(t)===a&&n.delete(t)}}function wV(e,t){try{return t?.channelId.toLowerCase()===e.channelId.toLowerCase()&&BigInt(t.acceptedCumulative)===e.cumulativeAmount}catch{return!1}}function TV(e,t,n){try{let r=e.response?.headers.get(tN.paymentReceipt);if(r){let e=_R(r);if(e.challengeId===t.id&&wV(n,e))return!0}}catch{}return e.challenges?.some(e=>HB(e)?wV(n,UB(e)):!1)??!1}function EV(e){let{currencies:t,decimals:n,expectedRecipients:r,maxAmount:i,maxAtomicAmount:a}=e;if((i!==void 0||a!==void 0)&&t===void 0)throw Error(`Tempo session maxAmount and maxAtomicAmount require currencies.`);return{currencies:t?.map(e=>e.toLowerCase()),expectedRecipients:r?new Set(r.map(e=>e.toLowerCase())):void 0,maxAmount:DV(i,n),maxAtomicAmount:a===void 0?void 0:BigInt(a)}}function DV(e,t){if(e!==void 0){if(t===void 0)throw Error(`Tempo session maxAmount requires currency decimals.`);if((e.split(`.`)[1]?.replace(/0+$/,``)??``).length>t)throw Error(`Tempo session maxAmount ${e} has more fractional digits than ${t} decimals allow.`);return Ny(e,t)}}function OV(e,t){if(e.currencies&&!e.currencies.includes(t.currency.toLowerCase()))throw Error(`Tempo session currency is not allowed: ${t.currency}.`);if(e.expectedRecipients&&(!t.recipient||!e.expectedRecipients.has(t.recipient.toLowerCase())))throw Error(`Unexpected session recipient: ${t.recipient}`);let n=BigInt(t.amount);if(e.maxAtomicAmount!==void 0&&n>e.maxAtomicAmount)throw Error(`Tempo session amount exceeds maxAtomicAmount.`);if(e.maxAmount!==void 0&&n>e.maxAmount)throw Error(`Tempo session amount exceeds maxAmount.`)}function kV(e,t){try{return OV(e,t),!0}catch{return!1}}function AV(e){return typeof e==`object`&&!!e&&e.action===`close`}function jV(e={}){let{account:t,allowCustomEscrow:n=!1,autoSwap:r,channelStore:i,decimals:a=6,escrow:o,allowedChainIds:s,getClient:c,maxDeposit:l,topUpAmount:u,onChannelUpdate:d,resolveAccount:f}=e,p=EV(e),m=NI({chain:pO,getClient:c,rpcUrl:BI}),h=kI({account:t}),g=l===void 0?void 0:Ny(l,a),_=u===void 0?void 0:Ny(u,a),v=i??lz(),y={store:v,notifyUpdate:e=>d?.(e)},b=async(e,t,n)=>{let r=h(e.client,t),i=t?.action?t.descriptor:n?.descriptor??yB({context:t,snapshot:e.snapshot})?.descriptor;return await f?.({account:r,chainId:e.chainId,operation:{kind:`authorizePaymentChannel`,...i?{authority:ER(i)}:{}}})??r},x=async(e,t,n)=>CB({account:await b(e,t,n),entry:n,context:t,decimals:a,maxDeposit:g,resolved:e}),S=OI(eL,{canHandleChallenge:({challenge:e,context:t})=>HB(e)&&(AV(t)||t===oP||kV(p,e.request)),context:aB,async createCredential(e){let{challenge:t,context:i}=e;i?.action!==`close`&&OV(p,t.request);let a=await gB({allowCustomEscrow:n,challenge:t,escrowOverride:o,allowedChainIds:s,getClient:m}),c=DF(e),l=()=>{};try{let e=!oB(i)&&i?.descriptor===void 0;e&&(l=await CV(v,a.key),c&&(await v.get(a.key))?.opened&&await c.prepare());let n=await v.get(a.key),o=await x(a,i,n);if(!e&&c&&o.type===`open`){l=await CV(v,a.key);let e=await v.get(a.key);e?.channelId!==n?.channelId&&(n=e,n?.opened&&(await c.prepare(),n=await v.get(a.key)),o=await x(a,i,n))}let s,u=c&&o.type===`open`?{store:{get:e=>v.get(e),async set(e){s=e},delete:e=>v.delete(e)},notifyUpdate(){}}:y,d=await tz(t,await wB(o,u,FL(i?.autoSwap??r,NL)),a.chainId,o.account);if(c&&s){let e=s;c.settle=async n=>{let r=n.status===`accepted`||TV(n,t,e);if(!r&&n.status===`pending`)return!1;try{if(r){let t=await v.get(a.key);(!t?.opened||t.channelId.toLowerCase()!==e.channelId.toLowerCase())&&(await hz(v,e),y.notifyUpdate(e))}return!0}finally{l()}}}else l();return d}catch(e){throw l(),e}}}),C=async({challenge:e,channel:t,deposit:n,fetch:r,input:i,requiredCumulative:a,signal:o})=>mz(v,cz(t),async()=>{o?.throwIfAborted();let s=await v.get(cz(t));if(s?.channelId===t.channelId&&(t=s),t.uncertainTopUp)throw Error(`Session funding outcome is unknown; reconcile the pending payment before another top-up.`);let c=t.deposit>n?t.deposit:n,l=zz({deposit:c,maxDeposit:g,requiredCumulative:a,suggestedDeposit:e.request.suggestedDeposit===void 0?void 0:BigInt(e.request.suggestedDeposit),topUpAmount:_});l>0n&&await XB({additionalDeposit:l,challenge:e,channel:t,channelId:t.channelId,createSessionCredential:(e,t)=>S.createCredential({challenge:e,context:t}),onUncertainFunding:async e=>{let t=await v.get(cz(e)),n={...t?.channelId===e.channelId?t:e,uncertainTopUp:!0};await hz(v,n),y.notifyUpdate(n)},fetch:r,input:i,signal:o});let u=c+l;if(u===t.deposit)return;let d=await v.get(cz(t)),f=d?.channelId.toLowerCase()===t.channelId.toLowerCase()?d:t,p={...f,deposit:f.deposit>u?f.deposit:u};await hz(v,p),y.notifyUpdate(p)});return _F(S,async({challenge:e,context:t,fetch:r,input:i,signal:a})=>{if(!HB(e))return;let c=t===void 0?void 0:aB.parse(t);if(oB(c))return;OV(p,e.request);let l=await gB({allowCustomEscrow:n,challenge:e,escrowOverride:o,allowedChainIds:s,getClient:m}),u=await v.get(l.key);if(!u?.opened)return;let d=l.snapshot?.channelId.toLowerCase()===u.channelId.toLowerCase()?l.snapshot:void 0,f=u.cumulativeAmount+mR(e),h=d?BigInt(d.requiredCumulative):f,g=h>f?h:f,_=d?BigInt(d.deposit):u.deposit,y=_>u.deposit?_:u.deposit;g<=y&&y===u.deposit||!SB(await b(l,c,u),u.descriptor)||await C({challenge:e,channel:u,deposit:y,fetch:r,input:i,requiredCumulative:g,signal:a})}),wF(S,async({challenge:e,credential:t,fetch:r,headers:i,input:a,refetch:c,response:l,signal:u})=>{if(!HB(e))return l;if(!vR(l))return pR(GN(t).payload).action===`open`&&i.get(`accept`)?.toLowerCase().includes(`text/event-stream`)?await c?.()??l:l;let d=(await gB({allowCustomEscrow:n,challenge:e,escrowOverride:o,allowedChainIds:s,getClient:m})).key,f=await v.get(d),p={assertVoucherWithinLocalLimit:e=>Bz(e,g),createSessionCredential:(e,t)=>S.createCredential({challenge:e,context:t}),fetch:r,getChannel:()=>f??null,async topUpIfNeeded({deposit:t,requiredCumulative:n,signal:i}){f&&await C({challenge:e,channel:f,deposit:f.deposit>t?f.deposit:t,fetch:r,input:a,requiredCumulative:n,signal:i})}};return sV({onNeedVoucher:(t,n)=>cV({challenge:e,driver:p,headers:i,input:a,signal:n},t),onReceipt(){},response:l,signal:u})})}let MV=new WeakMap;function NV(e,t){MV.set(e,t)}function PV(e){let t=null;return{wait(n=()=>!0){if(t)throw Error(`${e} wait already in progress`);return new Promise((e,r)=>{t={predicate:n,resolve:e,reject:r}})},settle(e){if(!t||!t.predicate(e))return;let n=t;t=null,n.resolve(e)},reject(e){if(!t)return;let n=t;t=null,n.reject(e)}}}function FV(e){let t=PV(`close-ready`),n=PV(`receipt`);return{waitForReceipt(e){return n.wait(e)},waitForCloseReady(){let n=e.getSocketSession()?.closeReadyReceipt;return n?Promise.resolve(n):t.wait()},settleReceipt(e){n.settle(e)},settleCloseReady(n){let r=e.getSocketSession();r&&r.challenge.id===n.challengeId&&r.channelId===n.channelId&&(r.closeReadyReceipt=n),t.settle(n)},rejectReceipt(e){n.reject(e)},rejectCloseReady(e){t.reject(e)}}}function IV(e){return e.method===rN.tempo&&e.intent===iN.charge}function LV(e){if(!IV(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function RV(e,t,n){if(!n)return t;let r={...GF(GB(e)?e.headers:void 0),...GF(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===tN.paymentSession.toLowerCase())?t:{...t,headers:{...r,[tN.paymentSession]:n}}}function zV(e,t){return e===void 0?t:{...aB.parse(e),...t}}function BV(e){let t=e.decimals??6,n=e.webSocket??globalThis.WebSocket;return{decimals:t,fetch:e.fetch??globalThis.fetch.bind(globalThis),maxVoucherCumulative:e.maxDeposit===void 0?null:Ny(e.maxDeposit,t),topUpAmount:e.topUpAmount===void 0?null:Ny(e.topUpAmount,t),WebSocket:n}}function VV(e){let t=e.client?.chain?.id;(t!==void 0||e.allowedChainIds?.length===0)&&FI(e.allowedChainIds,t);let n=e.allowCustomEscrow??!1,r=BV(e),i;function a(e){let t=new URL(GB(e)?e.url:String(e),typeof location>`u`?void 0:location.href);if(t.protocol!==`http:`&&t.protocol!==`https:`)throw Error(`SessionManager: session payments require an HTTP origin`);let n=t.origin;if(i!==void 0&&i!==n)throw Error(`SessionManager: session payment origin mismatch`);return i=n,n}let o=pI(r.fetch),s=mI(r.fetch);r.fetch=async(e,t)=>{let n=a(e),r=await s(e,{...t,redirect:(t?.redirect??(GB(e)?e.redirect:void 0))===`manual`?`manual`:`error`});if(r.url&&new URL(r.url).origin!==n)throw Error(`SessionManager: session response origin mismatch`);return r};let c=r.fetch;o&&(r.fetch=eP(c,o));let l=NI({chain:pO,getClient:e.client?()=>e.client:e.getClient,rpcUrl:BI}),u=kI({account:e.account}),d=Kz(),f=e.credentialContext===void 0?void 0:zV(e.credentialContext,{}),p=FV({getSocketSession:()=>d.socketSession}),m=e.channelStore??lz(),h=new Set,g;async function _(e){let t=await m.get(e);if(t?.opened&&!h.has(t.channelId)){if(t.origin!==void 0&&t.origin!==i)throw Error(`SessionManager: stored channel origin mismatch`);return t}}let v=e=>{if(e.origin!==void 0&&e.origin!==i)throw Error(`SessionManager: stored channel origin mismatch`);return e.origin=i,hz(m,e)},y={async get(e){let t=await _(e);return t&&g&&(g.seenExisting.add(e),!g.committed&&!g.created.has(e)&&(g.resumed??=t)),t},async set(e){let t=cz(e);e.opened&&h.delete(e.channelId),g?.trackCreates&&!g.seenExisting.has(t)&&g.created.set(t,e),await v(e)},delete:e=>gz(m,e)};fz(y,m);async function b(e){let t=cz(e),n=await m.get(t);if(e.uncertainTopUp||n?.uncertainTopUp)throw Error(`Session funding outcome is unknown; reconcile the pending payment before replacing the channel.`);h.add(e.channelId),g?.seenExisting.delete(t),g?.resumed===e&&(g.resumed=void 0),await Promise.resolve(gz(m,t)).catch(()=>void 0)}async function x(){let e=g;if(e?.created.size){for(let[t,n]of e.created){let e=await m.get(t);if(n.uncertainTopUp||e?.channelId===n.channelId&&e.uncertainTopUp)throw Error(`Session funding outcome is unknown; reconcile the pending payment before discarding the channel.`);h.add(n.channelId),await Promise.resolve(gz(m,t)).catch(()=>void 0)}e.created.clear(),await be(e.committed??e.previous)}}function S(e){let t=sN(e.request.methodDetails,aN.sessionSnapshot);if(typeof t?.channelId!=`string`)return!1;let n=g;if(!n?.created.size||!d.channel)return!1;for(let[e,r]of n.created)if(r.channelId.toLowerCase()===t.channelId.toLowerCase()&&d.channel.channelId.toLowerCase()===t.channelId.toLowerCase())return n.created.delete(e),n.committed=Zz({channel:d.channel,spent:d.spent,state:d.state}),!0;return!1}function C(e){return kz(d,e)}function w(){let e=d.state.status===`active`?d.state:g?.committed?.state??g?.previous.state;return e?.status===`active`?e.units:0}function ee(e){let t=g,n=t?.committed?.channel?.entry??t?.resumed;!t||n?.channelId.toLowerCase()!==e.channelId.toLowerCase()||e.deposit<=n.deposit&&!e.uncertainTopUp||(t.resumed=void 0,t.committed=Zz({channel:d.channel,spent:d.spent,state:d.state}))}let T=jV({account:e.account,allowCustomEscrow:n,autoSwap:e.autoSwap,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount,escrow:e.escrow,allowedChainIds:e.allowedChainIds,decimals:r.decimals,maxDeposit:e.maxDeposit,topUpAmount:e.topUpAmount,channelStore:y,onChannelUpdate(e){e.channelId!==d.channel?.channelId&&(d.spent=0n),d.channel=e,d.lastChallenge&&C({type:`activated`,challengeId:d.lastChallenge.id,entry:e,spent:d.spent.toString(),units:w()}),ee(e)}}),te=bF(T);te&&_F(T,e=>ge(()=>Promise.resolve(te(e)),e.signal)),TF(T);let ne=eR({allowedChainIds:e.allowedChainIds,account:e.account,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount}),re=UF({fetch:c,identity:o,methods:[T],onChallenge:async(e,t)=>{if(!VB(e))return;let n=g,r=n&&n.challengesReceived>0&&e.id===d.lastChallenge?.id,i=r&&TN(e)===TN(d.lastChallenge);n&&n.challengesReceived++,!i&&(S(e)||(n?.created.size?await x():r&&await be(n.committed??n.previous)),d.lastChallenge=e,C({type:`challengeReceived`,challengeId:e.id}))}});function ie(e,t){return T.createCredential({challenge:e,context:zV(f,t)})}function ae(e){qz({maxVoucherCumulative:r.maxVoucherCumulative,receipt:e,runtime:d})}function oe(e=d.state.status===`active`?d.state.units:0){!d.channel||!d.lastChallenge||d.state.status!==`active`&&d.state.status!==`withdrawable`&&d.state.status!==`closeRequested`&&C({type:`activated`,challengeId:d.lastChallenge.id,entry:d.channel,spent:d.spent.toString(),units:e})}async function se(t){let n=t.headers.get(tN.paymentSessionSnapshot);if(!n)return;let r=Tz(n);FI(e.allowedChainIds,r.chainId);let i=await l({chainId:r.chainId});PI(i,r.chainId);let a=u(i),{entry:o,spent:s}=await xB({account:await e.resolveAccount?.({account:a,chainId:r.chainId,operation:{authority:ER(r.descriptor),kind:`authorizePaymentChannel`}})??a,client:i,snapshot:r});return pe(o.cumulativeAmount),await Promise.resolve(y.set(o)).catch(()=>void 0),d.channel=o,d.spent=s,o}async function ce(t,n){if(!e.bootstrap||d.channel?.opened)return;let i=GB(t)?t.headers:void 0,{body:a,method:o,...s}=n??{},c=GB(t)?t.url:t,l={...s,method:`HEAD`,headers:{...GF(i),...GF(n?.headers),[tN.acceptPayment]:`${rN.tempo}/${iN.charge}`}};try{let t=await r.fetch(c,l);if(t.status!==402)return await se(t);let n=FN(t).find(IV);if(!n||!LV(n))return;let i=new URL(String(c),typeof location<`u`?location.href:void 0);if(t.url&&new URL(t.url).origin!==i.origin)return;jF(n,i,e.trustedTempoProofRealms);let a=await ne.createCredential({challenge:n,context:{}}),o=await r.fetch(c,KP({...l,redirect:`manual`},zN(n),a));return o.ok?await se(o):void 0}catch{return}}function le(e,t){let n=d.socketSession;return Yz({challengeId:e.id,channelId:t,closeReadyReceipt:n?.closeReadyReceipt,cumulativeAmount:d.channel?.channelId===t?d.channel.cumulativeAmount:0n,deliveredChunks:n?.deliveredChunks,socketChallengeId:n?.challenge.id,socketChannelId:n?.channelId,spent:d.spent,tickCost:n?.tickCost})}function ue(e,t){let n=UB(t);if(!n)return;if(DR({...n.descriptor,chainId:n.chainId,escrow:n.escrow}).toLowerCase()!==n.channelId.toLowerCase())throw Error(`close snapshot descriptor does not match its channel ID`);if(n.channelId.toLowerCase()!==e.channelId.toLowerCase())throw Error(`close snapshot channel ID does not match local session`);if(n.chainId!==e.chainId||n.escrow.toLowerCase()!==e.escrow.toLowerCase())throw Error(`close snapshot payment scope does not match local session`);let r=BigInt(n.acceptedCumulative),i=BigInt(n.spent);if(r<0n||i<0n)throw Error(`close snapshot amounts must not be negative`);if(i>r)throw Error(`close snapshot spent exceeds accepted cumulative amount`);if(r>e.cumulativeAmount)throw Error(`close snapshot accepted cumulative exceeds local voucher state`);return{acceptedCumulative:r,spent:i}}function de(e,t){let n=ue(e.channel,t);if(!n)return;let{acceptedCumulative:r,spent:i}=n;if(d.spent>r)throw Error(`close snapshot accepted cumulative is below locally confirmed spend`);return i>d.spent&&(d.spent=i),n}function fe(e,t=e.challenge,n=!1){let r=(n?de(e,t):ue(e.channel,t))?.acceptedCumulative??le(t,e.channelId);if(r>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return pe(r),r.toString()}function pe(e){Pz({cumulativeAmount:e,maxVoucherCumulative:r.maxVoucherCumulative})}let me,he;async function ge(e,t){if(he)throw he;for(;;){let e=me;if(!e)break;if(!t)await e;else{t.throwIfAborted();let n;try{await Promise.race([e,new Promise((e,r)=>{n=()=>r(t.reason),t.addEventListener(`abort`,n,{once:!0})})])}finally{t.removeEventListener(`abort`,n)}}}if(t?.throwIfAborted(),he)throw he;let n=e();me=n;try{return await n}catch(e){throw e instanceof YB&&(he=Error(`Session funding outcome is unknown; reconcile the pending payment before creating a new session manager.`)),e}finally{me===n&&(me=void 0)}}async function _e(e){if(!d.channel)throw Error(`Cannot top up session: no active channel`);return mz(m,cz(d.channel),async()=>{let{knownDeposit:t,...n}=e,i=d.channel?await y.get(cz(d.channel)):void 0;if(i?.channelId===e.channelId&&i.uncertainTopUp)throw Error(`Session funding outcome is unknown; reconcile the pending payment before another top-up.`);let a=await XB({...n,channel:d.channel,createSessionCredential:ie,fetch:r.fetch,onUncertainFunding:async e=>{let t=await y.get(cz(e)),n={...t?.channelId===e.channelId?t:e,uncertainTopUp:!0};d.channel?.channelId===e.channelId&&(d.channel=n),await y.set(n),ee(n)}});ae(a);let o=d.channel,s=zB({additionalDeposit:e.additionalDeposit,channel:d.channel,channelId:e.channelId,challengeId:d.lastChallenge?.id,currentState:d.state,knownDeposit:t,receipt:a,spent:d.spent});if(s?.channel&&d.lastChallenge){let e=s.channel;for(;;){await y.set(e);let t=d.channel;if(t===o)break;if(!t)return a;let n=s.channel;e=t.channelId===n.channelId?{...t,deposit:t.deposit>n.deposit?t.deposit:n.deposit,cumulativeAmount:t.cumulativeAmount>n.cumulativeAmount?t.cumulativeAmount:n.cumulativeAmount}:t,o=t}if(e.channelId!==s.channel.channelId)return a;d.channel=e,C({type:`activated`,challengeId:d.lastChallenge.id,entry:e,spent:d.spent.toString(),units:w()}),ee(e)}return a})}async function ve(e){return ge(async()=>{e.signal?.throwIfAborted();let t=d.channel?.channelId===e.channelId?d.channel.deposit:0n,n=t>e.deposit?t:e.deposit,i=zz({deposit:n,maxDeposit:r.maxVoucherCumulative,requiredCumulative:e.requiredCumulative,suggestedDeposit:e.challenge.request.suggestedDeposit===void 0?void 0:BigInt(e.challenge.request.suggestedDeposit),topUpAmount:r.topUpAmount});i!==0n&&await _e({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:i,knownDeposit:n,signal:e.signal})},e.signal)}async function ye(e,t){let n=Xz({channel:d.channel,channelId:e,challengeId:d.lastChallenge?.id,cumulativeAmount:t,spent:d.spent,state:d.state});n&&d.channel&&(C({type:`activated`,challengeId:n.challengeId,entry:d.channel,spent:n.spent,units:n.units}),await v(d.channel))}async function be(e){let t=Qz(e,d.channel);d.channel=t.channel,d.spent=t.spent,d.state=t.state,d.channel?.opened&&await v(d.channel)}function xe(e){let t=e.headers.get(tN.paymentReceipt),n=t?_R(t):null;return ae(n),Object.assign(e,{receipt:n,challenge:d.lastChallenge,channelId:d.channel?.channelId??null,cumulative:d.channel?.cumulativeAmount??0n})}async function Se(e,t){if(g)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);a(e),d.lastUrl=e,d.lastHeaders=t?.headers;let n=Zz({channel:d.channel,spent:d.spent,state:d.state}),i={challengesReceived:0,committed:void 0,created:new Map,previous:n,seenExisting:new Set,resumed:void 0,trackCreates:!1};g=i;try{await ce(e,t),i.trackCreates=!0;let a=RV(e,t,d.channel?.opened?d.channel.channelId:void 0);f&&(a={...a,context:f});let o=!n.channel?.opened;async function s(){let n=i.resumed;return!o||!n?!1:(o=!1,await b(n),a=RV(e,t,void 0),!0)}for(;;){let t;try{t=await re(e,a)}catch(e){if(i.created.size?await x():await be(i.committed??n),await s())continue;throw e}let o=xe(t),c=!1;if(o.status===402){let t=await QB({input:e,init:a,response:o,createSessionCredential:ie,fetch:r.fetch,getChannel:()=>d.channel,restoreCumulative:ye,setChallenge(e){d.lastChallenge=e},topUpIfNeeded:ve});t&&(c=!0,o=xe(t))}if(!c&&!o.ok&&!o.receipt){if(i.created.size?await x():await be(i.committed??n),await s())continue;return o}return o}}finally{g=void 0}}async function Ce(e){let t=await eV({createSessionCredential:ie,fetch:r.fetch,getMinimumSpent:()=>d.spent,headers:d.lastHeaders,lastUrl:d.lastUrl,resolveSignedCloseAmount:t=>fe(e,t,!0),signedCloseAmount:fe(e),setChallenge(e){d.lastChallenge=e},target:e});return t&&(oe(),C({type:`closeStarted`}),C({type:`closed`,receipt:t})),t}let we={createSessionCredential:ie,doFetch:Se,fetch:r.fetch,getChannel:()=>d.channel,getChallenge:()=>d.lastChallenge,assertVoucherWithinLocalLimit:pe,acceptReceipt(e){ae(e)},topUpIfNeeded:ve},Te={get channelId(){return d.channel?.channelId},get cumulative(){return d.channel?.cumulativeAmount??0n},get opened(){return d.channel?.opened??!1},get state(){return d.state},fetch:Se,async topUp(e){let t=RB({amount:e,assertVoucherWithinLocalLimit:pe,channel:d.channel,decimals:r.decimals,lastChallenge:d.lastChallenge,lastUrl:d.lastUrl});return ge(async()=>{if(d.channel?.channelId!==t.channelId||d.lastChallenge!==t.challenge||d.lastUrl!==t.input)throw Error(`Session changed while waiting to top up`);let n=RB({amount:e,assertVoucherWithinLocalLimit:pe,channel:d.channel,decimals:r.decimals,lastChallenge:t.challenge,lastUrl:t.input});return _e({additionalDeposit:n.additionalDeposit,challenge:n.challenge,channelId:n.channelId,headers:d.lastHeaders,input:n.input})})},async sse(e,t){return tV(e,t,we)},async ws(e,t){if(!r.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let n=qB(e);a(n);let i=t?.signal?{signal:t.signal}:void 0;await ce(n,i);let o=d.channel?.opened?d.channel.channelId:void 0,{challenge:s,credential:c,httpUrl:l,wsUrl:u}=await uV({async createSessionCredential(e,i){return d.lastChallenge=e,await yF(T,{challenge:e,context:i,fetch:r.fetch,input:n,signal:t?.signal}),ie(e,i)},fetch:r.fetch,input:e,onProbeUrl(e){d.lastUrl=e.toString()},probeInit:RV(n,i,o),signal:t?.signal});return d.lastChallenge=s,hV({challenge:s,credential:c,httpUrl:l,WebSocket:r.WebSocket,wsUrl:u,options:t,createSessionCredential:ie,getChannel:()=>d.channel,setSocketSession(e){d.socketSession=e},async refreshChallenge(){let e=await lV({fetch:r.fetch,input:l,probeInit:RV(l,i,d.channel?.opened?d.channel.channelId:void 0),signal:t?.signal});return d.lastChallenge=e.challenge,e.challenge},assertVoucherWithinLocalLimit:pe,acceptReceipt:ae,rejectCloseReady:p.rejectCloseReady,rejectReceipt:p.rejectReceipt,settleCloseReady:p.settleCloseReady,settleReceipt:p.settleReceipt,topUpIfNeeded:ve,waitForReceipt:p.waitForReceipt})},async close(){let e=d.socketSession,t=Vz({channel:d.channel,currentSocket:e,lastChallenge:d.lastChallenge});if(!t)return;let n=e?.socket;if(e&&n?.readyState===FB.OPEN){let r=await $z({activeSocket:n,createSessionCredential:ie,currentSocket:e,spent:d.spent,target:t,waitForCloseReady:p.waitForCloseReady,waitForReceipt:p.waitForReceipt});return oe(),C({type:`closeStarted`}),C({type:`closed`,receipt:r}),r}return Ce(t)}};return NV(Te,{consumeSseResponse(e,t,n){let r=a(e);if(t.url&&new URL(t.url).origin!==r)throw Error(`SessionManager: session response origin mismatch`);return nV(e,t,n,we)},rehydrate({channel:e,challenge:t,input:n,spent:r}){let i=a(n);if(e.origin!==void 0&&e.origin!==i)throw Error(`SessionManager: stored channel origin mismatch`);if(!e.opened)throw Error(`Cannot restore a closed session channel.`);if(!VB(t))throw Error(`Cannot restore session: challenge is not tempo/session.`);if(r<0n)throw Error(`Cannot restore session: spent must not be negative.`);if(r>e.cumulativeAmount)throw Error(`Cannot restore session: spent exceeds local voucher state.`);pe(e.cumulativeAmount);let o=ue(e,t),s=o&&o.spent>r?o.spent:r;d.lastUrl=n,d.lastChallenge=t,d.channel=e,d.spent=s,C({type:`challengeReceived`,challengeId:t.id}),C({type:`activated`,challengeId:t.id,entry:e,spent:s.toString(),units:0})}}),Te}(function(e){e.serializeSnapshot=wz,e.deserializeSnapshot=Tz})(VV||={});let HV=Object.assign(jV,{manager:VV});function UV(e={}){let t=e.expectedChainId!==void 0&&(e.allowedChainIds===void 0||e.allowedChainIds.includes(e.expectedChainId)),n=e.expectedChainId===void 0?e:{...e,allowedChainIds:t?[e.expectedChainId]:[]};return[eR(e),HV(n)]}(function(e){e.charge=eR,e.common=UV,e.session=HV,e.subscription=wL})(UV||={});let WV=new WeakMap;function GV(e){let{identity:t,maxPaymentRetries:n,onChallenge:r,orderChallenges:i,polyfill:a=!0,acceptPaymentPolicy:o=a&&globalThis.location!==void 0?`same-origin`:`always`,transport:s=hF(),trustedTempoProofRealms:c}=e;if(`attestation`in e)throw TypeError(\"Mppx client `attestation` was replaced by `identity: [prover]`.\");let l=mI(e.fetch??globalThis.fetch),u=t?QN(t):e.fetch&&pI(e.fetch),d=e.methods.flat(),f=cP(d,e.paymentPreferences),p=KF(),m=r,h={acceptPayment:f,acceptPaymentPolicy:o,...e.fetch&&{fetch:l},...u&&{identity:u},eventDispatcher:p,...n!==void 0&&{maxPaymentRetries:n},...m&&{onChallenge:m},...i&&{orderChallenges:i},methods:d,transport:s,...c&&{trustedTempoProofRealms:c}},g=UF(h);a&&WF(h);function _(e){return p.on(`challenge.received`,e)}function v(e){return p.on(`credential.created`,e)}function y(e){return p.on(`payment.failed`,e)}function b(e){return p.on(`payment.response`,e)}async function x(e,t,n){let r=aH(e),a=await s.getChallenges(e,t?.request),o=Object.freeze(a.map(e=>oH(e))),l=lH(f.entries,t?.acceptPayment),u,m;try{let f=dP(a,d,l,n);f.length===0&&n===void 0&&(f=dP(a,d,l,oP));let h=(await uH(f,t?.orderChallenges??i))[0];if(!h)throw Error(`No method found for challenges: ${a.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${d.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let g=h.challenge;u=o[h.index],m=h.method,u.expires&&fN(u.expires,u.id);let _=fH(e);_?jF(u,_,c):s.name===`mcp`&&MF(u,c&&Object.values(c));let v=u,y=m,b=eH(async e=>{try{v.expires&&fN(v.expires,v.id);let t=eH(t=>dH(v,y,t??e)),n=await p.emit(`challenge.received`,tH({challenge:v,challenges:a,createCredential:t,method:y,response:r}))??await t();return _I(n),await p.emit(`credential.created`,nH({challenge:v,credential:n,method:y,response:r})),n}catch(e){throw await p.emit(`payment.failed`,rH({challenge:v,challenges:a,error:e,method:y,response:r})),e}}),x=Object.freeze({challenge:v,challenges:o,createCredential:b,method:iH(y),setCredential(e,t){return _I(t),s.setCredential(e,t,{challenge:g})}});return WV.set(x,y),x}catch(e){throw await p.emit(`payment.failed`,rH({challenge:u,challenges:a,error:e,method:m,response:r})),e}}async function S(e,t,n){let{maxRedirects:r=20,requirePayment:i=!1,...a}=n??{},d=await YV({acceptPayment:f.header,acceptPaymentPolicy:o,fetch:l,init:t,input:e,maxRedirects:r,identity:u}),p=XV(d.replayRequest,d.body);if(!await s.isPaymentRequired(d.response,p)){if(i)throw Error(`Response does not require payment.`);return Object.freeze({payment:void 0,request:d.request,response:d.response,redirects:d.redirects})}let m=await x(d.response,{...a,request:p});jF(m.challenge,new URL(d.replayRequest.url),c);let h=WV.get(m)??m.method,g=eH(async e=>(await u?.challenge(d.response,{challenge:m.challenge},d.replayRequest.url),vF(h)&&await yF(h,{challenge:m.challenge,context:e,fetch:u?eP(l,u,{challenge:m.challenge}):l,input:d.replayRequest,signal:d.replayRequest.signal}),m.createCredential(e))),_=Object.freeze({...m,createCredential:g,async pay(e){let t=await g(e),n=m.setCredential(XV(d.replayRequest,d.body),t),r=new Request(d.replayRequest.url,{...n,redirect:`manual`});if(!u)return l(r);let{response:i}=await u.send(l,r,{challenge:m.challenge});return i}});return Object.freeze({payment:_,request:d.request,response:d.response,redirects:d.redirects})}return{fetch:g,rawFetch:l,methods:d,transport:s,on:p.on,onChallengeReceived:_,onCredentialCreated:v,onPaymentFailed:y,onPaymentResponse:b,preparePayment:x,prepareRequest:S,async createCredential(e,t,n){return(await x(e,n,t)).createCredential(t)}}}let KV=new Set([301,302,303,307,308]),qV=[`content-encoding`,`content-language`,`content-length`,`content-location`,`content-type`,`transfer-encoding`],JV=[`authorization`,`cookie`,`cookie2`,`host`,`payment-authorization`,`payment-signature`,`proxy-authorization`,`x-payment`];async function YV(e){let{acceptPayment:t,acceptPaymentPolicy:n,fetch:r,identity:i,init:a,input:o,maxRedirects:s}=e;if(!Number.isInteger(s)||s<0)throw TypeError(`maxRedirects must be a non-negative integer.`);let c=new Request(o,{...a,redirect:`manual`}),l=c.headers.has(tN.acceptPayment),u=await ZV(c,a?.body),d=[];for(;;){c=QV(c,t,l,n);let{request:e,response:a}=await(async()=>{if(i)return i.send(r,c.clone());let e=c.clone();return{request:e,response:await r(e)}})();if(a.type===`opaqueredirect`||a.status===0)throw Error(`prepareRequest requires a runtime that exposes manual redirect responses.`);if(!KV.has(a.status))return{body:u,replayRequest:c,request:e,response:a,redirects:Object.freeze(d)};let o=a.headers.get(`location`);if(!o)return{body:u,replayRequest:c,request:e,response:a,redirects:Object.freeze(d)};if(d.length>=s)throw await a.body?.cancel(),Error(`Payment request exceeded ${s} redirects.`);let f=new URL(c.url),p=new URL(o,f);if(f.protocol===`https:`&&p.protocol!==`https:`)throw await a.body?.cancel(),Error(`Payment request refused HTTPS downgrade redirect to ${p.href}`);let m=new Headers(c.headers),h=c.method;if((a.status===301||a.status===302)&&h===`POST`||a.status===303&&h!==`GET`&&h!==`HEAD`){h=`GET`,u=void 0;for(let e of qV)m.delete(e)}if(f.origin!==p.origin)for(let e of[...m.keys()]){let t=m.get(e)??``;(JV.includes(e)||t.startsWith(`Payment `))&&m.delete(e)}d.push(Object.freeze({from:f.href,status:a.status,to:p.href})),await a.body?.cancel(),c=new Request(p,$V(c,m,h,u))}}function XV(e,t){return $V(e,new Headers(e.headers),e.method,t)}async function ZV(e,t){if(typeof t==`string`)return t;if(!e.body)return;let n=e.headers.get(`accept`)?.toLowerCase()??``;return e.headers.has(`mcp-method`)||n.includes(`application/json`)&&n.includes(`text/event-stream`)?e.clone().text():e.clone().arrayBuffer()}function QV(e,t,n,r){if(n)return e;let i=new Headers(e.headers);return i.delete(tN.acceptPayment),t&&xI(e,r)&&i.set(tN.acceptPayment,t),new Request(e,{headers:i})}function $V(e,t,n,r){return{...r?{body:r}:{},cache:e.cache,credentials:e.credentials,headers:t,integrity:e.integrity,keepalive:e.keepalive,method:n,mode:e.mode,redirect:`manual`,referrer:e.referrer,referrerPolicy:e.referrerPolicy,signal:e.signal}}function eH(e){let t;return n=>(t??=e(n),t)}function tH(e){return Object.freeze({challenge:oH(e.challenge),challenges:e.challenges.map(e=>oH(e)),createCredential:e.createCredential,method:iH(e.method),response:aH(e.response)})}function nH(e){return Object.freeze({challenge:oH(e.challenge),credential:e.credential,method:iH(e.method),response:aH(e.response)})}function rH(e){return Object.freeze({...e.challenge?{challenge:oH(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>oH(e))}:{},error:e.error,...e.method?{method:iH(e.method)}:{},response:aH(e.response)})}function iH(e){return cH(Object.assign({},e))}function aH(e){return e instanceof Response?e.body===null?e.clone():new Response(null,{headers:e.headers,status:e.status,statusText:e.statusText}):oH(e)}function oH(e){try{let t=structuredClone(e);if(e&&t&&typeof e==`object`&&typeof t==`object`)for(let n of Object.getOwnPropertySymbols(e)){let r=Object.getOwnPropertyDescriptor(e,n);r&&Object.defineProperty(t,n,r)}return sH(t)}catch{return cH(e)}}function sH(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))sH(t);return e}function cH(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function lH(e,t){return t?typeof t==`string`?lP(t):t:e}async function uH(e,t){return t?t(e):e}async function dH(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 fH(e){if(typeof Response<`u`&&e instanceof Response&&e.url)return new URL(e.url)}k();let pH={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},mH=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function hH(e){return{add:t=>wH({...t,store:e}),authorize:t=>_H({...t,store:e}),clear:()=>OH({store:e}),get:t=>SH({...t,store:e}),prepareAuthorization:t=>gH({...t,keystores:e.keystores}),getStatus:t=>bH({...t,store:e}),list:t=>WH({...t,store:e}),remove:t=>DH({...t,store:e}),select:t=>xH({...t,store:e}),updateAuthorization:t=>EH({...t,store:e})}}async function gH(e){let{address:t,chainId:n,expiry:r,keystores:i,keyType:a,limits:o,privateKey:s,publicKey:c,scopes:l,witness:u}=e;if(s){let e=a??`secp256k1`;return{keyAuthorization:sw({address:(()=>{switch(e){case`secp256k1`:return SE(s);case`p256`:return xE(s);case`webAuthn`:throw new aS({message:'`privateKey` cannot be used with `keyType: \"webAuthn\"`.'})}})().address,chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:e,...u?{witness:u}:{}}),privateKey:s}}if(t||c)return{keyAuthorization:sw({address:t??R_(w_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??jO,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new aS({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=sw({address:R_(E_(m.publicKey)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:f,...u?{witness:u}:{}});return{key:{handle:m.handle,publicKey:m.publicKey},keyAuthorization:h}}async function _H(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await gH({...r,chainId:r.chainId??n,keystores:i.keystores}),o=uw(a.keyAuthorization),s=await t.sign({hash:o}),c=sw(a.keyAuthorization,{signature:s});return wH({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),mw(c)}async function vH(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=WH({account:t,chainId:r,store:a});for(let e of s)if(!HH(e.expiry,o)&&MH(e,i)&&!(n&&!AH(e,{calls:n}))&&await VH(e,a))return!0;return!1}function yH(e){return jH(e.parameters.scopes,{calls:e.calls})}async function bH(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=WH({account:n,accessKey:t,chainId:i,store:o}).find(e=>AH(e,{calls:r}));if(c){if(HH(c.expiry,s))return pH.expired;if(c.keyAuthorization){let e=await UH(a,{accessKey:c.address,account:n,now:s});return e===pH.published&&TH({accessKey:c.address,account:n,chainId:i,store:o}),e===pH.published?pH.published:pH.pending}return await UH(a,{accessKey:c.address,account:n,now:s})}return t?await UH(a,{accessKey:t,account:n,now:s}):pH.missing}async function xH(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=WH({account:t,chainId:r,store:i});for(let e of o){if(!AH(e,{calls:n}))continue;if(HH(e.expiry,a)){await DH({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await VH(e,i);if(t)return t}}async function SH(e){let{accessKey:t,account:n,calls:r,chainId:i}=e,{store:a}=e,o=e.now??Date.now()/1e3,s=WH({account:n,accessKey:t,chainId:i,store:a})[0];if(s&&!(`calls`in e&&!AH(s,{calls:r}))){if(HH(s.expiry,o)){await DH({accessKey:s.address,account:s.access,chainId:s.chainId,store:a});return}return await VH(s,a)}}function CH(e){return xO({source:{get(t){return WH({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){TH({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){EH({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function wH(e){let{account:t,authorization:n,handle:r,keyPair:i,privateKey:a,publicKey:o}=e,{store:s}=e,c={address:n.address,access:t,chainId:Number(n.chainId),expiry:n.expiry??void 0,keyAuthorization:n,keyType:n.type,limits:n.limits,scopes:n.scopes},l=a?{privateKey:a}:i?{keyPair:i}:r!==void 0&&o?{handle:r,publicKey:o}:{},u={...c,...l};return s.state.setState(e=>({accessKeys:[u,...e.accessKeys.filter(e=>!KH(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function TH(e){let{store:t,...n}=e;GH({...n,patch:{keyAuthorization:void 0},store:t})}function EH(e){let{authorization:t,store:n,...r}=e;GH({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function DH(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!KH(e,n))}))}function OH(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function kH(e){return e instanceof O&&e.walk(e=>{let t=e.data?.errorName;return!!t&&mH.has(t)})?!0:e instanceof Error&&mH.has(TO(e).errorName)}function AH(e,t){return jH(e.scopes,t)}function jH(e,t){return e===void 0?!0:!Array.isArray(e)||!t.calls?!1:t.calls.every(t=>{if(!t.to)return!1;let n=t.to.toLowerCase(),r=t.data?.slice(0,10).toLowerCase();return e.some(e=>{if(!zH(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return!e.recipients||e.recipients.length===0;let a=IH(i);if(!a||r!==a)return!1;if(!e.recipients||e.recipients.length===0)return!0;if(!t.data||t.data.length<74)return!1;let o=`0x${t.data.slice(34,74)}`;return B_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function MH(e,t){return!(!NH(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!RH(e.limits,t.reuse?.minLimits))}function NH(e,t){return!t||!e||t.every(t=>e.some(e=>PH(e,t)))}function PH(e,t){return!zH(e)||!zH(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!FH(e.selector,t.selector)?!1:LH(e.recipients,t.recipients)}function FH(e,t){if(!e)return!0;if(!t)return!1;let n=IH(e),r=IH(t);return!!n&&n===r}function IH(e){try{return(e.startsWith(`0x`)&&e.length===10?e:qy(e)).toLowerCase()}catch{return}}function LH(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function RH(e,t){return!t||!e||t.every(t=>e.some(e=>e.token.toLowerCase()===t.token.toLowerCase()&&Number(e.period??0)===Number(t.period??0)&&BigInt(e.limit)>=BigInt(t.limit)))}function zH(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!B_(t.address)||t.selector!==void 0&&typeof t.selector!=`string`||t.recipients!==void 0&&(!Array.isArray(t.recipients)||t.recipients.some(e=>typeof e!=`string`)||t.recipients.some(e=>!B_(e))))}let BH=new WeakMap;async function VH(e,t){let n=CH(t);if(`keyPair`in e&&e.keyPair)return DE(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return SE(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return xE(e.privateKey,{access:e.access,keyAuthorizationManager:n})}if(`handle`in e&&e.handle!==void 0&&e.publicKey){let r=e.keyType===`p256`||e.keyType===`secp256k1`?t.keystores[e.keyType]:void 0;if(!r)return;let i=BH.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),BH.set(e,i));try{return await i}catch(n){BH.delete(e),AO(n)&&DH({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function HH(e,t){return typeof e==`number`&&e<t}async function UH(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await eD(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?pH.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?pH.expired:pH.published}catch(e){if(kH(e))return pH.missing;throw e}}function WH(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>KH(e,n))}function GH(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!KH(e,r))return e;let n={...e};for(let[e,r]of Object.entries(t))r===void 0?delete n[e]:n[e]=r;return n})}))}function KH(e,t){let{accessKey:n,account:r,chainId:i}=t;return!(e.access.toLowerCase()!==r.toLowerCase()||e.chainId!==i||n&&e.address.toLowerCase()!==n.toLowerCase())}function qH(e){switch(e?.keyType){case`secp256k1`:case`p256`:case`webAuthn`:return e.keyType;case`webCrypto`:return`p256`;case`webAuthn_headless`:return`webAuthn`;default:return}}function JH(e){let{address:t,signable:n=!1,store:r}=e,{accounts:i,activeAccount:a}=r.getState(),o=i[a]?.address,s=t?i.find(e=>e.address.toLowerCase()===t.toLowerCase()):i.find(e=>o&&e.address.toLowerCase()===o.toLowerCase());if(!s)throw t?new uS({message:`Account \"${t}\" not found.`}):new fS({message:`No active account.`});return YH(s,{signable:n})}function YH(e,t={}){let{signable:n=!1}=t;if(!n)return{address:e.address,type:`json-rpc`,...e.keyType?{keyType:e.keyType}:{}};if(`sign`in e&&typeof e.sign==`function`)return e;if(!e.keyType)throw new uS({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return SE(e.privateKey);case`p256`:return xE(e.privateKey);case`webCrypto`:return DE(e.keyPair);case`webAuthn`:return EE(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return bE(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new uS({message:`Unknown key type.`})}}let XH=new Map;function ZH(e,t){let n=eU(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>nU(e,t),onResponse:t=>rU(e,t),store:t.store,theme:t.theme}),a=!!(n.dialog&&n.dialog!==i);if(n.dialog&&n.dialog!==i&&n.dialog.destroy(),n.dialog=i,a)for(let e of n.requestQueue)e.synced=!1;return iU(e),()=>{n.attachments.delete(r),tU(e)}}function QH(e,t){let n=eU(e),r=n.ids.prepare(t.request);return new Promise((i,a)=>{n.requestQueue.push({account:t.account,chainId:t.chainId,reject:a,request:r,resolve:i,status:`pending`,synced:!1}),iU(e)})}function $H(e){return new URL(e).host}function eU(e){let t=$H(e),n=XH.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:ES(),requestQueue:[],synced:!1};return XH.set(t,r),r}function tU(e){let t=eU(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function nU(e,t){if(t.length===0)return;let n=eU(e),r=new Set(t),i=n.requestQueue.filter(e=>r.has(e.request.id));if(i.length!==0){n.requestQueue=n.requestQueue.filter(e=>!r.has(e.request.id));for(let e of i)e.reject(new lS);iU(e,{force:!0})}}function rU(e,t){let n=eU(e),r=n.requestQueue.find(e=>e.request.id===t.id);r&&(n.requestQueue=n.requestQueue.filter(e=>e.request.id!==t.id),t.error?r.reject(wS(t.error)):r.resolve(t.result),iU(e,{force:!0}))}function iU(e,t={}){let n=eU(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,tU(e);return}let a=i[0];!t.force&&a.synced||(a.synced=!0,n.synced=!0,r.syncRequests({account:a.account,chainId:a.chainId,requests:[aU(a)]}))}function aU(e){return{request:e.request,status:e.status}}R();function oU(e={}){let{dialog:t=w()?ne():te(),host:n=`https://wallet.tempo.xyz/embed`,icon:r=`data:image/svg+xml,<svg width=\"269\" height=\"269\" viewBox=\"0 0 269 269\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"269\" height=\"269\" fill=\"black\"/><path d=\"M123.273 190.794H93.445L121.09 105.318H85.7334L93.445 80.2642H191.95L184.238 105.318H150.773L123.273 190.794Z\" fill=\"white\"/></svg>`,name:i=`Tempo Wallet`,rdns:a=`xyz.tempo`,theme:o}=e;return typeof window<`u`&&!window.isSecureContext&&console.warn(`[accounts] Detected insecure context (HTTP).`,`\\n\\nThe Tempo Wallet iframe dialog is not supported on HTTP origins (${window.location.origin})`,`due to lack of WebAuthn passkey support in non-secure contexts.`),d({icon:r,name:i,rdns:a},({getAccount:e,store:r})=>{let i=ZH(n,{dialog:t,host:n,store:r,theme:o});function a(){let{accounts:e,activeAccount:t}=r.getState(),n=e[t];if(n)return{address:n.address}}let s=CS({async request(e){return e.method===`eth_chainId`?P(r.getState().chainId):QH(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:ZM});return{cleanup(){i()},forwardsAuth:!0,actions:{async createAccount(e,t){let{accounts:n}=await s.request({...t}),r=n[0]?.capabilities,i=r?.keyAuthorization;return{accounts:n.map(e=>({address:e.address})),...r?.auth?{auth:r.auth}:{},...r?.identity?{identity:r.identity}:{},...i?{keyAuthorization:i}:{},...r?.signature?{signature:r.signature}:{},...r?.personalSign?{personalSign:r.personalSign}:{}}},async loadAccounts(e,t){let{accounts:n}=await s.request({...t}),r=n[0]?.capabilities,i=r?.keyAuthorization;return{accounts:n.map(e=>({address:e.address})),...r?.auth?{auth:r.auth}:{},...r?.identity?{identity:r.identity}:{},...i?{keyAuthorization:i}:{},...r?.signature?{signature:r.signature}:{},...r?.personalSign?{personalSign:r.personalSign}:{}}},async deposit(e,t){return await s.request(t)},async transfer(e,t){return await s.request({...t,params:[Gk(UM.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[Gk(JM.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[Gk(YM.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:Qb(s)}}}})}let sU=new Map,cU=new WeakMap;function lU(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return fU(r);if(r?.url)return fU(r.url)}})(),c=typeof r==`object`&&r?r.precedence??`fee-payer-first`:`fee-payer-first`,l=e??a.getState().chainId,u=`${l}:${i?`p`:``}:${r===!1?`no-fp`:s??``}:${c}`,d=i??o,f=(()=>{if(!d)return sU;let e=cU.get(d);return e||(e=new Map,cU.set(d,e)),e})(),p=f.get(u);if(!p){let t=n.find(e=>e.id===l)??n[0],r=o?.[l]??rx(),a=i?uU(i,r,e===void 0?void 0:t.id):r;p=kh({chain:t,transport:s?pU(a,s,c):a,pollingInterval:1e3}),f.set(u,p)}return p}function uU(e,t,n){return r=>{let i=t(r);return{...i,async request({method:t,params:r}){if(n!==void 0&&!dU(t))return i.request({method:t,params:r});let a=(()=>{if(t!==`eth_fillTransaction`||n===void 0)return r;let e=r?.[0];return!e||typeof e!=`object`?r:[{...e,chainId:n}]})();return e.request({method:t,params:a})}}}}function dU(e){return e.startsWith(`wallet_`)||[`eth_accounts`,`eth_fillTransaction`,`eth_requestAccounts`,`eth_sendTransaction`,`eth_sendTransactionSync`,`eth_signTransaction`,`eth_signTypedData_v4`,`personal_sign`].includes(e)}function fU(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function pU(e,t,n){return r=>{let i=e(r),a=rx(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=hE(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})}}}}let mU=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function hU(e){let{address:t,calls:n,chainId:r,client:i,store:a}=e,o=await a.accessKeys.select({account:t,calls:n,chainId:r});if(o)return gU({account:o,address:t,chainId:r,client:i,store:a})}function gU(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{let n=await ef(i,{account:t,...e,parameters:[],type:`tempo`});return await vU(i,n)}catch(e){throw yU(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{let o=await ef(i,{account:t,...e,type:`tempo`});return _U({account:t,address:n,chainId:r,client:i,request:o,store:a})}catch(e){throw yU(e,{account:t,address:n,chainId:r,store:a}),e}}}}function _U(e){let{account:t,address:n,chainId:r,client:i,request:a,store:o}=e;async function s(){try{return await t.signTransaction(a)}catch(e){throw yU(e,{account:t,address:n,chainId:r,store:o}),e}}return{request:a,sign:s,async send(){try{let e=await s();return await i.request({method:`eth_sendRawTransaction`,params:[e]})}catch(e){throw yU(e,{account:t,address:n,chainId:r,store:o}),e}},async sendSync(){try{let e=await s();return await i.request({method:`eth_sendRawTransactionSync`,params:[e]})}catch(e){throw yU(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function vU(e,t){let n=e.chain?.formatters?.transactionRequest,r=n?n.format({...t},`fillTransaction`):t;return await e.request({method:`eth_fillTransaction`,params:[r]})}function yU(e,t){bU(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function bU(e){if(!(e instanceof Error))return!1;let t=TO(e);if(mU.has(t.errorName))return!0;let n=xU(e);return[...mU].some(e=>n.includes(e))}function xU(e){if(!(e instanceof Error))return``;let t=e.details,n=e.shortMessage,r=e.cause;return[e.message,typeof t==`string`?t:``,typeof n==`string`?n:``,xU(r)].join(`\n`)}af();function SU(e){if(typeof e==`string`&&B_(e))return e}function CU(e,t){return rf(e,t)}function wU(e){return rf(e,`0x0000000000000000000000000000000000000000`)}function TU(e,{cache:t=TU.cache,enabled:n=!0,id:r}){if(!n||!r)return e();let i=t.get(r);if(i)return i;let a=e().finally(()=>t.delete(r));return t.set(r,a),a}TU.cache=new Map;function EU(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function DU(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=EU(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{n=void 0}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let OU;function kU(){return OU||=DU(`keyval-store`,`keyval`),OU}function AU(e,t=kU()){return t(`readonly`,t=>EU(t.get(e)))}function jU(e,t,n=kU()){return n(`readwrite`,n=>(n.put(t,e),EU(n.transaction)))}function MU(e,t=kU()){return t(`readwrite`,t=>(t.delete(e),EU(t.transaction)))}let NU=Symbol.for(`accounts.storage.supportsStructuredClone`);function PU(e,t={}){let n=`${t.key??`tempo`}.`,r={getItem:t=>e.getItem(`${n}${t}`),setItem:(t,r)=>e.setItem(`${n}${t}`,r),removeItem:t=>e.removeItem(`${n}${t}`)};return FU(e)?IU(r):r}function FU(e){return e[NU]===!0}function IU(e){return Object.assign(e,{[NU]:!0})}function LU(e={}){let t=typeof indexedDB<`u`?DU(`tempo`,`store`):void 0;return IU(PU({async getItem(e){let n=await AU(e,t);return n===null?null:n},async setItem(e,n){await jU(e,n,t)},async removeItem(e){await MU(e,t)}},e))}function RU(e={}){let t=new Map;return IU(PU({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let zU=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 BU(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 VU=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return VU(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return VU(t)(e)}}}},HU=(e,t)=>(n,r,i)=>{let a={storage:BU(()=>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 VU(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:()=>{++s,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},UU=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},WU=(e=>e?UU(e):UU),GU=Symbol.for(`accounts.storage.supportsStructuredClone`);function KU(e){let{chainId:t,keystores:n=jO,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?LU({key:`tempo`}):RU({key:`tempo`})}=e,s=WU(zU(HU(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>JU(e,t,{schema:a}),name:`store`,partialize:e=>qU(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:$U(o)}),storage:o,version:0}))),c=s;return c.accessKeys=hH({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function qU(e,t={}){let{keystores:n,maxAccounts:r,persistCredentials:i=!0,structuredClone:a=!1}=t;return{accounts:r&&e.accounts.length>r?e.accounts.slice(0,r):e.accounts,activeAccount:e.activeAccount,...i?{accessKeys:e.accessKeys.map(e=>ZU(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function JU(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(XU):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>Hk(n.schema,e).success):i;return{...r,...t,accounts:a,activeAccount:a.length===0?0:Math.min(r.activeAccount??t.activeAccount,a.length-1),accessKeys:YU(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function YU(e){if(e)return e.filter(e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.access==`string`&&typeof t.address==`string`&&typeof t.chainId==`number`&&(t.keyType===`secp256k1`||t.keyType===`p256`||t.keyType===`webAuthn`||t.keyType===`webCrypto`)})}function XU(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function ZU(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&QU(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function QU(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function $U(e){return e[GU]===!0}async function eW(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let tW=new Map;async function nW(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=tW.get(r);if(i)return i;let a=(async()=>{try{let e=await globalThis.fetch(`${n}/list/${t}`);return e.ok?(await e.json()).tokens.map(({logoURI:e,...t})=>({...t,logoUri:t.logoUri??e})):[]}catch{return[]}})();return tW.set(r,a),a.then(e=>{e.length===0&&tW.delete(r)}),a}async function rW(e){let{symbol:t,...n}=e,r=await nW(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function iW(e,t){let n=Hk(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new dS({message:`Unsupported method \"${t?.method}\".`}):new cS(-32602,`Invalid params: ${aW(n.error.issues)}`)}return{...t,_decoded:n.data}}function aW(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?aW([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}R(),zf();let oW=new Set;function sW(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function cW(e={}){let{adapter:t=oU(),chains:n=[pO,gO,mO],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?LU():RU()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,rx(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),d=(()=>{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}})(),f=KU({chainId:(o?n.find(e=>e.testnet)??n[n.length-1]:n[0]).id,keystores:l,maxAccounts:r,persistCredentials:i,schema:t.schema,storage:s}),p=(e={})=>JH({...e,store:f}),m;function h(e={}){let{chainId:t,feePayer:r}=e;return lU(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:d?.precedence}})(),store:f,transports:u})}let g=t({getAccount:p,getClient:h,storage:s,store:f}),{actions:_}=g,v=e.accessKey?.keystores??g.accessKey?.keystores;Object.assign(l,v??jO);let y=SS(),b=new Map;f.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>y.emit(`accountsChanged`,f.getState().accounts.map(e=>e.address))),f.subscribe(e=>e.chainId,e=>y.emit(`chainChanged`,P(e))),f.subscribe(e=>e.accounts.length>0,e=>{e?y.emit(`connect`,{chainId:P(f.getState().chainId)}):y.emit(`disconnect`,new fS)});function x(){if(f.getState().accounts.length===0)throw new fS({message:`No accounts connected.`})}function S(){let{accounts:e,activeAccount:t}=f.getState();if(e.length===0)return[];let n=e[t]?.address,r=e.findIndex(e=>e.address===n),i=[...e];if(r>=0){let[e]=i.splice(r,1);return[e.address,...i.map(e=>e.address)]}return i.map(e=>e.address)}function C(e){throw new dS({message:`\\`${e}\\` not supported by adapter.`})}async function w(e={}){return g.getAccount||C(`getAccount`),await g.getAccount(e)}function ee(e){let t=h({chainId:e.chainId,feePayer:e.feePayer});return Xb({account:e.account,chain:t.chain,transport:e.transport??Qb({request:t.request})})}function T(e,t){return t.type===`json-rpc`&&e!==void 0?{feePayer:e}:e?{feePayer:!0}:{}}async function te(e){let{feePayer:t,...n}=e,r=await w({address:e.from}),i=ee({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...T(t,r.account)};return r.account.type===`json-rpc`?{client:i,request:a,selected:r}:{client:i,request:await ef(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function ne(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await hU({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).sign()}catch{}}let{client:t,request:n,selected:r}=await te(e);return r.account.type===`json-rpc`?await Gb(t,n):await r.account.signTransaction(n)}async function re(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await hU({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).send()}catch{}}let{feePayer:t,...n}=e,r=await w({address:e.from});return await hh(ee({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),{...n,...T(t,r.account)})}async function ie(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await hU({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).sendSync()}catch{}}let{feePayer:t,...n}=e,r=await w({address:e.from}),i=ee({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...T(t,r.account)};if(r.account.type===`json-rpc`)return await i.request({method:`eth_sendTransactionSync`,params:[Gk(xM,a)]});let o=await Db(i,{account:r.account,...a});return Gk(gM,o)}async function ae(e){let t=await w({address:e.address}),n=ee({account:t.account,transport:t.transport});return t.account.type===`json-rpc`?await n.signMessage({account:t.account,message:{raw:e.data}}):await t.account.sign({hash:mg({raw:e.data})})}async function oe(e){let t=JSON.parse(e.data),n=await w({address:e.address}),r=ee({account:n.account,transport:n.transport});return n.account.type===`json-rpc`?await r.signTypedData({account:n.account,...t}):await n.account.sign({hash:Cg(t)})}async function se(e){let t=await w(),n=e.chainId??h().chain.id;if(t.account.type!==`json-rpc`)return{keyAuthorization:await f.accessKeys.authorize({account:t.account,chainId:n,parameters:e}),rootAddress:t.account.address};let r=await ce(e,Number(n)),i=await ee({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[Gk(FM.parameters,r.parameters)]});return await ue({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function ce(e,t){let n=e.chainId??t??h().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await gH({...e,chainId:n});return{parameters:le(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!v&&!sW())return{parameters:e};let{key:r,keyAuthorization:i}=await gH({...e,chainId:n,keystores:l});if(!r)throw new oS({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...le(e,i),publicKey:r.publicKey}}}function le(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function ue(e){let{accessKey:t,account:n,keyAuthorization:r}=e;if(!n||!r||!t)return;let{key:i,privateKey:a}=t,o=i?{handle:i.handle,publicKey:i.publicKey}:a?{privateKey:a}:void 0;o&&f.accessKeys.add({account:n,authorization:cw(r),...o})}async function de(e){let t=await w({address:e.address}),n=ee({account:t.account,transport:t.transport});if(t.account.type===`json-rpc`)await n.request({method:`wallet_revokeAccessKey`,params:[e]});else try{await aD(h(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!kH(e))throw e}f.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:f.getState().chainId})}async function fe(e){let t=await w({address:e.address}),n=Number(e.chainId??h().chain.id);if(t.account.type===`json-rpc`){await ee({account:t.account,chainId:n,transport:t.transport}).request({method:`wallet_updateAccessKey`,params:[Gk(RM.parameters,e)]});return}let r=e.limits.map(t=>cD.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await Db(h({chainId:n}),{account:t.account,calls:r})}async function pe(e,t){if(_.signTransaction)return await _.signTransaction(e,t);if(g.getAccount)return await ne(e);C(`signTransaction`)}async function me(e,t){if(_.sendTransaction)return await _.sendTransaction(e,t);if(g.getAccount)return await re(e);C(`sendTransaction`)}async function he(e,t){if(_.sendTransactionSync)return await _.sendTransactionSync(e,t);if(g.getAccount)return await ie(e);C(`sendTransactionSync`)}async function ge(e,t){if(_.signPersonalMessage)return await _.signPersonalMessage(e,t);if(g.getAccount)return await ae(e);C(`signPersonalMessage`)}async function _e(e,t){if(_.signTypedData)return await _.signTypedData(e,t);if(g.getAccount)return await oe(e);C(`signTypedData`)}async function ve(e,t){if(_.authorizeAccessKey)return await _.authorizeAccessKey(e,t);if(g.getAccount)return await se(e);C(`authorizeAccessKey`)}async function ye(e,t){if(_.revokeAccessKey)return await _.revokeAccessKey(e,t);if(g.getAccount)return await de(e);C(`revokeAccessKey`)}async function be(e,t){if(_.updateAccessKey)return await _.updateAccessKey(e,t);if(g.getAccount)return await fe(e);C(`updateAccessKey`)}function xe(e){if(!g.persistAccounts)return e;let t=[...e];for(let e of f.getState().accounts)t.some(t=>CU(t.address,e.address))||t.push(e);return t}function Se(e){if(e===!1)return!1;let t=typeof e==`string`?e:d?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}function Ce(e){let{reuse:t,...n}=e;return n}function we(){return typeof c==`function`?c():c}async function Te(e){let t=we();if(!t)return;let n=Ee(e.capabilities);if(!(n&&await vH({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:f}})))return Ce(t)}function Ee(e){let t=f.getState();if(t.accounts.length!==0&&!(e&&`selectAccount`in e&&e.selectAccount)){if(e&&`credentialId`in e&&e.credentialId){if(Array.isArray(e.credentialId)&&e.credentialId.length!==1)return;let n=Array.isArray(e.credentialId)?e.credentialId[0]:e.credentialId;return t.accounts.find(e=>`credential`in e&&e.credential?.id===n)?.address}return e?.method===`register`&&e.name?t.accounts.find(t=>`credential`in t&&t.label?.toLowerCase()===e.name.toLowerCase())?.address:t.accounts[t.activeAccount]?.address??t.accounts[0]?.address}}async function De(e){let t=we();if(!t||await f.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!yH({parameters:t,calls:e.calls}))return;let n=Ce(t);await ve(n,{method:`wallet_authorizeAccessKey`,params:[Gk(FM.parameters,n)]})}function Oe(e){let{accounts:t}=f.getState();if(t.length===0)throw new fS({message:`No accounts connected.`});if(!t.some(t=>CU(t.address,e)))throw new uS({message:`Account \"${e}\" not found.`})}async function ke(e,t={}){let n=SU(e.account.address);if(!n)return;if(Oe(n),t.accessKey){let r=e.operation.kind===`authorizePaymentChannel`?SU(e.operation.authority):void 0;if(r&&!CU(r,t.accessKey))throw new uS({message:`Access key \"${t.accessKey}\" cannot satisfy channel authority \"${r}\".`});let i={account:n,accessKey:t.accessKey,chainId:e.chainId};if(e.operation.kind===`executeCalls`&&!e.operation.calls){let e=await f.accessKeys.get(i),n=f.accessKeys.list(i)[0];if(e&&n?.scopes)throw new uS({message:`Access key \"${t.accessKey}\" cannot be selected for executeCalls without transaction call details.`});if(e)return e}let a=await f.accessKeys.get({...i,...e.operation.kind===`executeCalls`?{calls:e.operation.calls}:{}});if(!a)throw new uS({message:`Access key \"${t.accessKey}\" cannot sign for account \"${n}\".`});return a}if(e.operation.kind===`executeCalls`)return await f.accessKeys.select({account:n,...e.operation.calls?{calls:e.operation.calls}:{},chainId:e.chainId});let r=SU(e.operation.authority);if(!r)return await f.accessKeys.select({account:n,chainId:e.chainId});if(!(wU(r)||CU(r,n)))return await f.accessKeys.get({account:n,accessKey:r,chainId:e.chainId})}function Ae(e={}){let t=(()=>{if(!e.accessKey)return;let t=SU(e.accessKey);if(!t)throw new aS({message:`Invalid access key address \"${e.accessKey}\".`});return t})();return{getClient({chainId:e}){if(e!==void 0&&!n.some(t=>t.id===e))throw new gS({message:`Chain ${e} not configured.`});let t=je.getClient({chainId:e}),r=f.getState().accounts[f.getState().activeAccount];if(!r)throw new fS({message:`No active account.`});return Object.assign(Object.create(Object.getPrototypeOf(t)),t,{account:{address:r.address,type:`json-rpc`}})},resolveAccount:e=>ke(e,{accessKey:t})}}let je=Object.assign(CS({...y,async request({method:t,params:r}){await eW(f);let i=[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t);return TU(async()=>{let i;try{i=iW($M,{method:t,params:r})}catch(e){if(!(e instanceof dS))throw e;return await lU(void 0,{chains:n,store:f,transports:u}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return S();case`eth_chainId`:return P(f.getState().chainId);case`eth_requestAccounts`:{let e=S();if(e.length>0)return e;let{accounts:t}=await _.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return f.setState({accounts:xe(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{x();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await De({address:c,...a?{calls:a}:{},chainId:s}),await me({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:Se(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=Se(t.feePayer),r=h({chainId:t.chainId,feePayer:n}),a=f.getState(),o=t.chainId??a.chainId,s=t.from??a.accounts[a.activeAccount]?.address,c=(()=>{if(!s)return;let e=t.keyType??qH(a.accounts.find(e=>CU(e.address,s)));if(e)return{address:s,keyType:e,type:`json-rpc`}})(),l=(e=c)=>{let i={...t,...e?{account:e,from:e.address}:{},chainId:o,...n?{feePayer:!0}:{}},a=r.chain?.formatters?.transactionRequest,s=a?a.format({...i},`fillTransaction`):i;return r.request({method:`eth_fillTransaction`,params:[s]})};if(t.keyAuthorization)return await l();if(s){let e=await hU({address:s,calls:t.calls??(t.to?[{data:t.data,to:t.to}]:void 0),chainId:o,client:r,store:f});if(e)try{return await e.fill({...t,chainId:o,from:s,...n?{feePayer:!0}:{}})}catch{}}return await l()}case`eth_signTransaction`:{x();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState();return await pe({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:e.feePayer===!0&&!d||Se(e.feePayer)},i)}case`eth_sendTransactionSync`:{x();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await De({address:c,...a?{calls:a}:{},chainId:s}),await he({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:Se(e.feePayer)},i)}case`eth_signTypedData_v4`:{x();let[e,t]=i._decoded.params;return await _e({address:e,data:t},i)}case`personal_sign`:{x();let[e,t]=i._decoded.params;return await ge({address:t,data:e},i)}case`wallet_sendCalls`:try{x();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=Se(t?.feePayer??(d?!0:void 0)),s=f.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await De({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o===void 0?{}:{feePayer:o}};if(!a){let e=N(await me(l,{method:`eth_sendTransaction`,params:[Gk(xM,l)]}),yp(P(f.getState().chainId),32),uW);return{capabilities:{sync:a},id:e}}let u=await he(l,{method:`eth_sendTransactionSync`,params:[Gk(xM,l)]}),p=u.transactionHash,m=P(f.getState().chainId),h=N(p,yp(m,32),uW);return{atomic:!0,capabilities:{sync:a},chainId:m,id:h,receipts:[u],status:u.status===`0x1`?200:500,version:`2.0.0`}}catch(e){throw dW(e)}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=f.getState(),a=e?.account??t[r]?.address;if(!a)throw new fS({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new aS({message:\"`tokens` is required.\"});let s=lU(e?.chainId,{chains:n,store:f,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([MD(s,{account:a,token:e}),ND(s,{token:e})]),r=Number(t.amount)/10**n.decimals,i=new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(r);return{address:e,balance:P(t.amount),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(uW.slice(2)))throw Error(\"`id` not supported\");pp(e);let t=F(e,0,32),r=P(Number(F(e,32,64))),a=await lU(Number(r),{chains:n,store:f,transports:u}).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}=f.getState();if(!e.some(e=>CU(e.address,t)))throw new uS({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(P(e.id))):n,o={};for(let e of a)o[P(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...d?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&f.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??await Te({capabilities:n,chainId:t??f.getState().chainId}),a=n?.auth??e.auth,o=a?hW(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new aS({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new aS({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=t??f.getState().chainId??0,c=r?await ce(r,t):void 0;(o||c)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...c?{authorizeAccessKey:Gk(zM.authorizeAccessKey,c.parameters)}:{}}}]});let l=o&&!g.forwardsAuth?await bW(o,s):void 0,u=l?{message:l.message}:n?.personalSign,{accounts:d,auth:p,identity:m,keyAuthorization:h,personalSign:v,signature:y,username:b}=await(async()=>{if(n?.method===`register`){let e=n.name?f.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await _.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:c?.parameters,...u?{personalSign:u}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await _.createAccount({digest:n.digest,authorizeAccessKey:c?.parameters,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??xp(16),...u?{personalSign:u}:{}},i)}return await _.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:c?.parameters,selectAccount:n?.selectAccount,...u?{personalSign:u}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();f.setState({accounts:xe(d),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let x=d[0]?.address;await ue({accessKey:c,account:x,keyAuthorization:h});let S=m??await(async()=>{let t=n?.identity?.email;if(!t||!e.identity||g.forwardsAuth||!x)return;let r=e.identity.audience??globalThis.location?.origin;if(!r)return;let i=(typeof t==`object`?t.nonce:void 0)??(l?xW(l.message):void 0);return await SW({audience:r,credentials:e.identity.credentials,issuer:e.identity.issuer,nonce:i,subject:x}).catch(()=>void 0)})(),C=o&&typeof o==`object`?o.verify:void 0,w=l?.message??v?.message;o&&C&&w&&y&&x&&yW(o,{chainId:s,message:w});let ee=o&&C&&w&&y&&x?await CW(o,{address:x,message:w,signature:y,...S?.idToken?{idToken:S.idToken}:{},...v?.keyAuthorization?{keyAuthorization:v.keyAuthorization}:{}}):void 0;return{accounts:d.map(e=>({address:e.address,capabilities:e.address===x?{...h?{keyAuthorization:{...h,address:h.keyId}}:{},...y&&(!o||ee||!C)?{signature:y}:{},...b===void 0?{}:{username:b},...ee??p?{auth:ee??p}:{},...S?{identity:S}:{},...v?{personalSign:{message:v.message,...v.keyAuthorization?{keyAuthorization:v.keyAuthorization}:{}}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=f.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=hW(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await _.disconnect?.(),f.disconnect();return}case`wallet_authorizeAccessKey`:{let e=i._decoded.params[0],t=await ve(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{x();let[e]=i._decoded.params;await ye({...e},i);return}case`wallet_updateAccessKey`:{x();let[e]=i._decoded.params;await be({...e},i);return}case`wallet_deposit`:if(!_.deposit)throw new dS({message:\"`deposit` not supported by adapter.\"});return await _.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{x();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!_.transfer)throw new dS({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:Se(e.feePayer)}};return await _.transfer(t,i)}let{amount:t,feePayer:n,from:r,memo:a,to:o,token:s}=e,c=f.getState(),l=e.chainId??c.chainId,u=Se(n),d=h({chainId:l,feePayer:typeof u==`string`?u:void 0}),{address:p,decimals:m}=await(async()=>{if(B_(s)){let e=await ND(d,{token:s});return{address:s,decimals:e.decimals}}let e=await rW({chainId:d.chain.id,symbol:s});if(!e)throw new cS(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),g=Ny(t,m),v=c.accounts[c.activeAccount]?.address,y=r&&v&&r.toLowerCase()!==v.toLowerCase()?r:void 0,b={calls:[KD.call({amount:g,...y?{from:y}:{},memo:a?_p(a):void 0,to:o,token:p})],chainId:l,from:v,...u===void 0?{}:{feePayer:u}},S=await he(b,{method:`eth_sendTransactionSync`,params:[Gk(xM,b)]});return{chainId:P(l),receipt:S}}case`wallet_swap`:if(x(),!_.swap)throw new dS({message:\"`swap` not supported by adapter.\"});return await _.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(x(),!_.depositZone)throw new dS({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:Se(e.feePayer)}};return await _.depositZone(t,i)}case`wallet_withdrawZone`:if(x(),!_.withdrawZone)throw new dS({message:\"`withdrawZone` not supported by adapter.\"});return await _.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 gS({message:`Chain ${e} not configured.`});await _.switchChain?.({chainId:e}),f.setState({chainId:e});return}}})()},{cache:b,enabled:i,id:Lf({method:t,params:r})})}},{schema:ZM}),{chains:n,getAccount:(e=>{let t=p(e);return e?.signable?t:{address:t.address,type:`json-rpc`}}),async getAccessKeyStatus(e={}){let t=f.getState(),n=e.address??t.accounts[t.activeAccount]?.address;if(!n)return`missing`;let r=e.chainId??t.chainId,{accessKey:i,calls:a}=e;return await f.accessKeys.getStatus({account:n,...i?{accessKey:i}:{},...a?{calls:a}:{},chainId:r,client:je.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return lU(t,{chains:n,feePayer:r,provider:m,store:f,transports:u})},getMppxParameters:Ae,store:f});if(typeof window<`u`&&typeof CustomEvent<`u`&&typeof crypto.randomUUID==`function`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;oW.has(e)||(oW.add(e),eN({info:{icon:t.icon??lW,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:je}))}let Me=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(Me){let{mode:e=`push`,polyfill:t,...n}=Me,r=t??fW(),i=je.getMppxParameters(),a={...n,...i,mode:e};GV({methods:[UV(a),UV.subscription(i)],polyfill:r})}return m=je,je}let lW=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,uW=y_(_p(`TEMPO_5792`));function dW(e){if(e instanceof Error)return typeof e.details==`string`||Object.assign(e,{details:e.message}),e;let t=Error(String(e));return Object.assign(t,{details:t.message}),t}function fW(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function pW(){return typeof document<`u`&&typeof document.cookie==`string`}function mW(e,t){let n=(()=>{if(typeof e==`string`){let n=e.endsWith(`/`)?e.slice(0,-1):e;return t===`verify`?n:`${n}/${t}`}let n=e[t];if(n)return n;if(e.url){let n=e.url.endsWith(`/`)?e.url.slice(0,-1):e.url;return t===`verify`?n:`${n}/${t}`}throw new aS({message:`\\`auth\\` capability must include either \\`url\\` or an explicit \\`${t}\\` endpoint.`})})();return n.startsWith(`http://`)||n.startsWith(`https://`)?n:typeof window<`u`?new URL(n,window.location.origin).href:n}function hW(e){let t=typeof e==`string`||!!e.url,n=t||typeof e==`object`&&!!e.challenge,r=t||typeof e==`object`&&!!e.verify,i=t||typeof e==`object`&&!!e.logout,a={...n?{challenge:mW(e,`challenge`)}:{},...r?{verify:mW(e,`verify`)}:{},...i?{logout:mW(e,`logout`)}:{},...typeof e==`object`&&e.resources!==void 0?{resources:e.resources}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return gW(a),a}function gW(e){if(typeof e!=`object`)return;let t=[e.challenge,e.verify,e.logout].filter(e=>typeof e==`string`).map(e=>{try{return new URL(e).origin}catch{throw new aS({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new aS({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let _W=' Hint: if the server is behind a reverse proxy or tunnel, set `Handler.auth({ trustProxy: true })` to honor `x-forwarded-*` headers, or pin the public origin with `Handler.auth({ origin: \"https://app.example.com\" })`.';function vW(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function yW(e,t){let{chainId:n,message:r}=t,i=t.url??(typeof e==`object`?e.challenge:mW(e,`challenge`)),a=typeof e==`object`?e.resources:void 0,o=lb(r),s=new URL(i);if(o.version!==`1`)throw new aS({message:`Server Authentication challenge endpoint \\`${i}\\` returned a non-SIWE-v1 message.`});if(!o.nonce)throw new aS({message:`Server Authentication challenge endpoint \\`${i}\\` response is missing a \\`nonce\\`.`});if(o.domain!==s.host)throw new aS({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message bound to \\`${o.domain}\\` (expected \\`${s.host}\\`).${_W}`});if(o.uri!==s.origin)throw new aS({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message with \\`uri\\` \\`${o.uri}\\` (expected \\`${s.origin}\\`).${_W}`});if(o.chainId!==n)throw new aS({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message bound to chainId \\`${o.chainId}\\` (expected \\`${n}\\`).`});if(a!==void 0&&!vW(o.resources??[],a))throw new aS({message:`Server Authentication challenge endpoint \\`${i}\\` did not echo the requested SIWE resources.`})}async function bW(e,t){let n=typeof e==`object`?e.challenge:mW(e,`challenge`),r=typeof e==`object`?e.resources:void 0,i=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t,...r===void 0?{}:{resources:r}})});if(!i.ok)throw new aS({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));if(!a.message)throw new aS({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});return yW(e,{chainId:t,message:a.message,url:n}),{message:a.message}}function xW(e){return e.match(/^Nonce: (.+)$/m)?.[1]}async function SW(e){let{audience:t,credentials:n,issuer:r,nonce:i,subject:a}=e,o=await fetch(`${r.replace(/\\/+$/,``)}/token`,{body:JSON.stringify({audience:t,...i?{nonce:i}:{},subject:a}),...n?{credentials:n}:{},headers:{\"content-type\":`application/json`},method:`POST`});if(!o.ok)throw Error(`Identity issuer \\`${r}\\` returned ${o.status}.`);let{idToken:s}=await o.json();return{email:JSON.parse(atob(s.split(`.`)[1].replace(/-/g,`+`).replace(/_/g,`/`))).email??null,idToken:s}}async function CW(e,t){let n=typeof e==`object`?e.verify:mW(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!pW(),i=await fetch(n,{method:`POST`,credentials:`include`,headers:{\"content-type\":`application/json`},body:JSON.stringify({...t,...r?{returnToken:!0}:{}})});if(!i.ok)throw new oS({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return!a||typeof a!=`object`||Array.isArray(a)?{}:a}let wW={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},TW={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},EW={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var DW=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let OW={accent:new DW(`accent`),background:new DW(`background`),border:new DW(`border`),foreground:new DW(`foreground`),muted:new DW(`muted`),negative:new DW(`negative`),positive:new DW(`positive`),surface:new DW(`surface`),fontFamily:new DW(`font-family`),fontSizeBase:new DW(`font-size-base`),radius:new DW(`radius`),spacingUnit:new DW(`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: ${OW.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 kW(e,t=`Authorization`){let n=new URL(location.href);n.searchParams.set(TW.serviceWorker,``);let r=await navigator.serviceWorker.register(n.pathname+n.search),i=await new Promise(e=>{let t=r.installing??r.waiting??r.active;if(t?.state===`activated`)return e(t);let n=t??r;n.addEventListener(`statechange`,function t(){let i=r.active;i?.state===`activated`&&(n.removeEventListener(`statechange`,t),e(i))})});await new Promise(n=>{let r=new MessageChannel;r.port1.onmessage=()=>n(),i.postMessage({credential:e,header:t},[r.port2])}),location.reload()}zf();function AW(e){let t=document.getElementById(wW.data),n=If(t.textContent),r=t.getAttribute(EW.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(EW.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(EW.challengeId),o=a?(i.removeAttribute(EW.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(wW.error)?.remove();return}let t=document.getElementById(wW.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=wW.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:e=>kW(e,o.challenge.header),vars:OW}}let jW=AW(`tempo`),MW=String.raw,NW=document.createElement(`style`);NW.textContent=MW`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${jW.vars.spacingUnit} * 8);\n }\n button {\n background: ${jW.vars.accent};\n border-radius: ${jW.vars.radius};\n color: ${jW.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${jW.vars.spacingUnit} * 4) calc(${jW.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`,jW.root.append(NW);let PW=cW({testnet:jW.challenge.request.methodDetails?.chainId===gO.id||jW.challenge.request.methodDetails?.chainId===hO.id}),FW=document.createElement(`button`);FW.innerHTML=`${jW.text.pay===`Pay`?`Continue with`:jW.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>`,FW.onclick=async()=>{try{jW.error(),FW.disabled=!0;let e=await(async()=>{let e=await PW.request({method:`eth_accounts`});return e.length>0?e.at(0):(await PW.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await UV({account:e,getClient:e=>{let t=e.chainId??jW.challenge.request.methodDetails?.chainId;return kh({chain:[...PW?.chains??[],gO,hO].find(e=>e.id===t),transport:Qb(PW)})}})[0].createCredential({challenge:jW.challenge,context:{}});await jW.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;jW.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{FW.disabled=!1}},jW.root.appendChild(FW)})();</script>";
|
|
2
|
+
export 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,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},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,o)=>(o=n==null?{}:e(i(n)),l(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));function d(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}let f=()=>`IntersectionObserver`in window&&`IntersectionObserverEntry`in window&&`intersectionRatio`in IntersectionObserverEntry.prototype&&`isVisible`in IntersectionObserverEntry.prototype;function p(e){return e}function m(e,t={}){let{targetOrigin:n}=t,r=new Map;return p({destroy(){for(let t of r.values())e.removeEventListener(`message`,t);r.clear()},on(t,i,a){function o(e){e.data.topic===t&&(a&&e.data.id!==a||n&&e.origin!==n||i(e.data.payload,e))}return e.addEventListener(`message`,o),r.set(t,o),()=>{e.removeEventListener(`message`,o),r.delete(t)}},async send(t,r,i){let a=crypto.randomUUID();return e.postMessage(_({id:a,payload:r,topic:t}),i??n??`*`),{id:a,payload:r,topic:t}}})}function h(e){let{from:t,to:n,waitForReady:r=!1}=e,i=!1,a=g();t.on(`ready`,e=>a.resolve(e??{}));let o=p({destroy(){t.destroy(),n.destroy(),i&&a.reject()},on(e,n,r){return t.on(e,n,r)},async send(e,t){return i=!0,r&&await a.promise.finally(()=>i=!1),n.send(e,t)}});return{...o,ready(e){o.send(`ready`,e??{})},waitForReady(){return a.promise}}}function g(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),reject:t,resolve:e}}function _(e){if(Array.isArray(e))return e.map(_);if(typeof e==`function`)return;if(typeof e!=`object`||!e)return e;if(Object.getPrototypeOf(e)!==Object.prototype)try{return structuredClone(e)}catch{return}let t={};for(let[n,r]of Object.entries(e))t[n]=_(r);return t}function v(e,t,n){return n&&y(t,n)?!0:e.some(e=>e.startsWith(`*.`)?t.endsWith(e.slice(1))&&t.length>e.length-1:e===t)}function y(e,t){return b(e)===b(t)}function b(e){let t=e.split(`:`)[0].toLowerCase(),n=t.split(`.`);return n.length<=2?t:n.slice(-2).join(`.`)}function x(e,t){t&&(t.accent&&e.searchParams.set(`accent`,t.accent),t.radius&&e.searchParams.set(`radius`,t.radius),t.scheme&&e.searchParams.set(`scheme`,t.scheme))}let S={height:600,width:404};function C(e,t){let{name:n,...r}=e;return Object.defineProperty(t,\"name\",{value:n,configurable:!0}),Object.assign(t,r)}function w(){return typeof window>`u`?!1:window.location.protocol===`http:`||!window.isSecureContext}function ee(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let te;function ne(){return typeof window>`u`?re():C({name:`iframe`},e=>{let{host:t}=e;if(te&&te.host===t)return te.refs.store=e.store,te.refs.fallback.destroy(),te.refs.fallback=T()(e),te.instance.syncTheme(e.theme),te.instance;te?.instance.destroy();let n={fallback:T()(e),store:e.store},r=!1,i=ae(),a=new URL(t);a.searchParams.set(`chainId`,String(n.store.getState().chainId)),a.searchParams.set(`mode`,`iframe`),i.icon&&(typeof i.icon==`string`?a.searchParams.set(`icon`,i.icon):(a.searchParams.set(`icon`,i.icon.light),a.searchParams.set(`iconDark`,i.icon.dark))),x(a,e.theme);let o=document.createElement(`dialog`);o.dataset.tempoWallet=``,o.setAttribute(`role`,`dialog`),o.setAttribute(`aria-closed`,`true`),o.setAttribute(`aria-label`,`Tempo Wallet`),o.setAttribute(`hidden`,`until-found`),Object.assign(o.style,{background:`transparent`,border:`0`,outline:`0`,padding:`0`,position:`fixed`});let s=document.createElement(`iframe`);s.dataset.testid=`tempo-wallet`,s.setAttribute(`allow`,[`publickey-credentials-get ${a.origin}`,`publickey-credentials-create ${a.origin}`,`clipboard-write`,`payment`].join(`; `)),s.setAttribute(`allowtransparency`,`true`),s.setAttribute(`tabindex`,`0`),s.setAttribute(`title`,`Tempo Wallet`),s.src=a.toString(),Object.assign(s.style,{backgroundColor:`transparent`,border:`0`,colorScheme:e.theme?.scheme??`light dark`,height:`100%`,left:`0`,position:`fixed`,top:`0`,width:`100%`});let c=document.createElement(`style`);c.innerHTML=`\n dialog[data-tempo-wallet]::backdrop {\n background: transparent!important;\n }\n `,o.appendChild(c),o.appendChild(s);let l,u,d=[],p=!1;function g(){e.onReject(d.map(e=>e.request.id))}function _(){l=void 0;let t=h({from:m(window,{targetOrigin:a.origin}),to:m(s.contentWindow,{targetOrigin:a.origin}),waitForReady:!0});return t.on(`rpc-response`,t=>e.onResponse(t)),t.waitForReady().then(e=>{l=e,e.colorScheme&&(s.style.colorScheme=e.colorScheme),ie(t,n.store)}),t.on(`sync`,({valid:e})=>{e===!1&&n.store.disconnect()}),t.on(`switch-mode`,()=>{le(),re(),r=!1,p=!0,u&&d.length>0&&n.fallback.syncRequests(u)}),t}document.body.appendChild(o);let y=_();new MutationObserver(e=>{for(let t of e)for(let e of t.removedNodes)if(e===o){document.body.appendChild(o),y.destroy(),y=_();return}}).observe(document.body,{childList:!0});let b=``,S=null,C=()=>g(),w=new MutationObserver(e=>{for(let t of e)t.type===`attributes`&&t.attributeName===`inert`&&o.removeAttribute(`inert`)});w.observe(o,{attributeOldValue:!0,attributes:!0});let ne=!1,re=()=>{ne&&(ne=!1,o.removeEventListener(`cancel`,C),o.removeEventListener(`click`,C),o.style.pointerEvents=`none`,S?.focus(),S=null,document.body.style.overflow=b)},oe=()=>{ne||(ne=!0,o.addEventListener(`cancel`,C),o.addEventListener(`click`,C),s.focus(),o.style.pointerEvents=`auto`,b=document.body.style.overflow,document.body.style.overflow=`hidden`)},se=!1,ce=()=>{se||(se=!0,document.activeElement instanceof HTMLElement&&(S=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},le=()=>{if(se){se=!1,o.setAttribute(`hidden`,`true`),o.setAttribute(`aria-closed`,`true`),o.close();for(let e of o.parentNode?Array.from(o.parentNode.children):[])e!==o&&e.hasAttribute(`inert`)&&e.removeAttribute(`inert`)}},ue={close(){n.fallback.close(),r=!1,le(),re()},destroy(){te?.instance===ue&&(te=void 0),n.fallback.close(),r=!1,re(),le(),n.fallback.destroy(),y.destroy(),o.remove(),w.disconnect()},open(){r||(r=!0,ce(),oe())},async syncRequests(e){let{requests:t}=e;if(u=e,d=t,p){n.fallback.syncRequests(e);return}let{trustedHosts:i}=l??await y.waitForReady();if(ee()&&t.some(e=>[`wallet_connect`,`eth_requestAccounts`].includes(e.request.method))){n.fallback.syncRequests(e);return}let o=f(),s=window.location.hostname.replace(/^www\\./,``),c=!!(i&&v(i,s,a.hostname));if(!(o||c))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`)),n.fallback.syncRequests(e);else{let n=t.some(e=>e.status===`pending`);!r&&n&&this.open(),y.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})}},syncTheme(e){s.style.colorScheme=e?.scheme??`light dark`,y.send(`theme`,e??{})}};return te={host:t,instance:ue,refs:n},ue})}function T(e={}){if(typeof window>`u`)return re();let{size:t=S}=e;return C({name:`popup`},e=>{let{host:n,store:r}=e,i=null,a=[];function o(){e.onReject(a.map(e=>e.request.id))}let s=(()=>{let e=setInterval(()=>{i?.closed&&o()},100);return()=>clearInterval(e)})(),c,l=document.createElement(`div`);Object.assign(l.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 u=document.createElement(`p`);Object.assign(u.style,{margin:`0`}),u.textContent=`Continue in the popup window`;let d=document.createElement(`button`);return Object.assign(d.style,{background:`none`,border:`none`,color:`white`,cursor:`pointer`,font:`inherit`,padding:`0`,textDecoration:`underline`}),d.textContent=`Close`,d.addEventListener(`click`,()=>o()),l.appendChild(u),l.appendChild(d),document.body.appendChild(l),{close(){l.style.display=`none`,i&&=(i.close(),null)},destroy(){this.close(),c?.destroy(),s(),l.remove()},open(){c?.destroy(),i?.close();let a=ae(),o=new URL(n);o.searchParams.set(`chainId`,String(r.getState().chainId)),o.searchParams.set(`mode`,`popup`),a.icon&&(typeof a.icon==`string`?o.searchParams.set(`icon`,a.icon):(o.searchParams.set(`icon`,a.icon.light),o.searchParams.set(`iconDark`,a.icon.dark))),x(o,e.theme);let s=(window.innerWidth-t.width)/2+window.screenX,u=(window.innerHeight-t.height)/2+window.screenY;if(i=window.open(o.toString(),`_blank`,`width=${t.width},height=${t.height},left=${s},top=${u}`),!i)throw Error(`Failed to open popup`);c=h({from:m(window,{targetOrigin:o.origin}),to:m(i,{targetOrigin:o.origin}),waitForReady:!0}),c.on(`rpc-response`,t=>e.onResponse(t)),l.style.display=`flex`},async syncRequests(e){let{requests:t}=e;a=t,t.some(e=>e.status===`pending`)&&(!i||i.closed?this.open():i.focus()),c?.send(`rpc-requests`,{account:e.account,chainId:e.chainId,requests:t})},syncTheme(){}}})}function re(){return C({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function ie(e,t){let{accounts:n}=t.getState();n.length!==0&&e.send(`sync`,{addresses:n.map(e=>e.address)})}function ae(){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 oe,se=o((()=>{oe=`1.2.3`})),ce,le=o((()=>{se(),ce=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@${oe}`].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 ue(e,t){return e.exec(t)?.groups}var de,fe,pe,me=o((()=>{de=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,fe=/^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)?$/,pe=/^\\(.+?\\).*?$/}));function he(e){let t=e.type;if(ge.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+=he(i),r<n-1&&(t+=`, `)}let r=ue(ge,e.type);return t+=`)${r?.array||``}`,he({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var ge,_e=o((()=>{me(),ge=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function ve(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=he(i),r!==n-1&&(t+=`, `)}return t}var ye=o((()=>{_e()}));function be(e){return e.type===`function`?`function ${e.name}(${ve(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${ve(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${ve(e.inputs)})`:e.type===`error`?`error ${e.name}(${ve(e.inputs)})`:e.type===`constructor`?`constructor(${ve(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var xe=o((()=>{ye()}));function Se(e){return Fe.test(e)}function Ce(e){return ue(Fe,e)}function we(e){return Ie.test(e)}function Te(e){return ue(Ie,e)}function Ee(e){return Le.test(e)}function De(e){return ue(Le,e)}function Oe(e){return Re.test(e)}function ke(e){return ue(Re,e)}function Ae(e){return ze.test(e)}function je(e){return ue(ze,e)}function Me(e){return Be.test(e)}function Ne(e){return ue(Be,e)}function Pe(e){return Ve.test(e)}var Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We=o((()=>{me(),Fe=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ie=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Le=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,Re=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,ze=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Be=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,Ve=/^receive\\(\\) external payable$/,He=new Set([`indexed`]),Ue=new Set([`calldata`,`memory`,`storage`])})),Ge,Ke,qe=o((()=>{le(),Ge=class extends ce{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`})}},Ke=class extends ce{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`})}}})),Je,Ye,Xe,Ze,Qe,$e=o((()=>{le(),Je=class extends ce{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Ye=class extends ce{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`})}},Xe=class extends ce{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`})}},Ze=class extends ce{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`})}},Qe=class extends ce{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`})}}})),et,tt,nt,rt=o((()=>{le(),et=class extends ce{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},tt=class extends ce{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},nt=class extends ce{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`})}}})),it,at=o((()=>{le(),it=class extends ce{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`})}}})),ot,st=o((()=>{le(),ot=class extends ce{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 ct(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 lt,ut=o((()=>{lt=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 dt(e,t={}){if(Ee(e))return ft(e,t);if(we(e))return pt(e,t);if(Se(e))return mt(e,t);if(Ae(e))return ht(e,t);if(Me(e))return gt(e);if(Pe(e))return{type:`receive`,stateMutability:`payable`};throw new tt({signature:e})}function ft(e,t={}){let n=De(e);if(!n)throw new et({signature:e,type:`function`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{modifiers:Ue,structs:t,type:`function`}));let o=[];if(n.returns){let e=vt(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(_t(e[n],{modifiers:Ue,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function pt(e,t={}){let n=Te(e);if(!n)throw new et({signature:e,type:`event`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{modifiers:He,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function mt(e,t={}){let n=Ce(e);if(!n)throw new et({signature:e,type:`error`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function ht(e,t={}){let n=je(e);if(!n)throw new et({signature:e,type:`constructor`});let r=vt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(_t(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function gt(e){let t=Ne(e);if(!t)throw new et({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function _t(e,t){let n=ct(e,t?.type,t?.structs);if(lt.has(n))return lt.get(n);let r=pe.test(e),i=ue(r?Ct:St,e);if(!i)throw new Je({param:e});if(i.name&&bt(i.name))throw new Ye({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=vt(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(_t(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(wt.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!yt(c))throw new Ke({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Xe({param:e,type:t?.type,modifier:i.modifier});if(Ue.has(i.modifier)&&!xt(c,!!i.array))throw new Ze({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return lt.set(n,u),u}function vt(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?vt(o,[...t,n.trim()]):vt(o,t,`${n}${i}`,r);case`(`:return vt(o,t,`${n}${i}`,r+1);case`)`:return vt(o,t,`${n}${i}`,r-1);default:return vt(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new ot({current:n,depth:r});return t.push(n.trim()),t}function yt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||de.test(e)||fe.test(e)}function bt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||de.test(e)||fe.test(e)||Tt.test(e)}function xt(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var St,Ct,wt,Tt,Et=o((()=>{me(),qe(),$e(),rt(),st(),ut(),We(),St=/^(?<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$_]*))?$/,Ct=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,wt=/^u?int$/,Tt=/^(?: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 Dt(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Oe(n))continue;let i=ke(n);if(!i)throw new et({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=_t(t,{type:`struct`});o.push(n)}if(!o.length)throw new nt({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]=Ot(a,t)}return r}function Ot(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(pe.test(i.type))r.push(i);else{let e=ue(kt,i.type);if(!e?.type)throw new Qe({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new it({type:o});r.push({...i,type:`tuple${a??``}`,components:Ot(t[o],t,new Set([...n,o]))})}else if(yt(o))r.push(i);else throw new Ge({type:o})}}return r}var kt,At=o((()=>{me(),qe(),$e(),rt(),at(),We(),Et(),kt=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function jt(e){let t=Dt(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];Oe(r)||n.push(dt(r,t))}return n}var Mt=o((()=>{We(),At(),Et()})),Nt=o((()=>{le(),xe(),_e(),ye(),Mt(),qe(),We(),At(),Et(),$e(),rt(),st(),at()}));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 Pt(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new hn(e.type);return`${e.name}(${Ft(e.inputs,{includeName:t})})`}function Ft(e,{includeName:t=!1}={}){return e?e.map(e=>It(e,{includeName:t})).join(t?`, `:`,`):``}function It(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${Ft(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var Lt=o((()=>{gn()}));function D(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var Rt=o((()=>{}));function zt(e){return D(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Bt=o((()=>{Rt()})),Vt,Ht=o((()=>{Vt=`2.57.1`}));function Ut(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Ut(e.cause,t):t?null:e}var Wt,O,k=o((()=>{Ht(),Wt={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Vt}`},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=Wt.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Wt.version?[`Version: ${Wt.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=Vt}walk(e){return Ut(this,e)}}})),Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn=o((()=>{Lt(),Bt(),k(),Gt=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`})}},Kt=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`})}},qt=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: (${Ft(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}},Jt=class extends O{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},Yt=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`})}},Xt=class extends O{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${zt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},Zt=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`})}},Qt=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`})}},$t=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`})}},en=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}},tn=class extends O{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},nn=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`})}},rn=class extends O{constructor(e,{docsPath:t}={}){super([`Event ${e?`\"${e}\" `:``}not found on ABI.`,`Make sure you are using the correct ABI and that the event exists on it.`].join(`\n`),{docsPath:t,name:`AbiEventNotFoundError`})}},an=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`})}},on=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`})}},sn=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`})}},cn=class extends O{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Pt(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Pt(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},ln=class extends O{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},un=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: (${Ft(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}},dn=class extends O{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Pt(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},fn=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`})}},pn=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`})}},mn=class extends O{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},hn=class extends O{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}}));k();var _n=class extends O{constructor(e){super(`Filter type \"${e}\" is not supported.`,{name:`FilterTypeNotSupportedError`})}},vn,yn,bn,xn=o((()=>{k(),vn=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`})}},yn=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`})}},bn=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 Sn(e,{dir:t,size:n=32}={}){return typeof e==`string`?Cn(e,{dir:t,size:n}):wn(e,{dir:t,size:n})}function Cn(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new yn({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function wn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new yn({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 Tn=o((()=>{xn()})),En,Dn,On,kn,An,jn,Mn,Nn,Pn=o((()=>{k(),En=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`})}},Dn=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`})}},On=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`})}},kn=class extends O{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},An=class extends O{constructor({limit:e}){super(`RLP depth limit of \\`${e}\\` exceeded.`,{name:`RlpDepthLimitExceededError`})}},jn=class extends O{constructor({consumed:e,declared:t}){super(`RLP list items consumed \\`${e}\\` bytes but the list declared a length of \\`${t}\\`.`,{name:`RlpListBoundaryExceededError`})}},Mn=class extends O{constructor({count:e}){super(`RLP payload encodes a single item, but \\`${e}\\` trailing ${e===1?`byte remains`:`bytes remain`}.`,{name:`RlpTrailingBytesError`})}},Nn=class extends O{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function Fn(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 In=o((()=>{}));function Ln(e,{size:t}){if(zt(e)>t)throw new Nn({givenSize:zt(e),maxSize:t})}function Rn(e,t={}){let{signed:n}=t;t.size&&Ln(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=Math.ceil((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&&(Ln(n,{size:t.size}),n=Fn(n)),Fn(n)===`0x00`)return!1;if(Fn(n)===`0x01`)return!0;throw new On(n)}function Bn(e,t={}){let n=Rn(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new En({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var Vn=o((()=>{Pn(),Bt(),In()}));function Hn(e,t={}){return typeof e==`number`||typeof e==`bigint`?A(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`?(Ln(n,{size:t.size}),Sn(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`?(Ln(r,{size:t.size}),Sn(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 En({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?Sn(s,{size:r}):s}function Gn(e,t={}){return Wn(qn.encode(e),t)}var Kn,qn,j=o((()=>{Pn(),Tn(),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`?(Ln(n,{size:t.size}),Sn(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&&(Ln(n,{size:t.size}),n=Sn(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(A(e,t))}function $n(e,t={}){let n=er.encode(e);return typeof t.size==`number`?(Ln(n,{size:t.size}),Sn(n,{dir:`right`,size:t.size})):n}var er,tr,nr=o((()=>{k(),Rt(),Tn(),Vn(),j(),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}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction 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=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 Wr,Gr,Kr,qr=o((()=>{Er(),Wr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Gr=Wr?e=>e:Rr,Kr=class{}}));function Jr(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=si(a,o,1)^n[r],c=ci(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=ni[n],a=si(t,i,r),o=ci(t,i,r),s=ti[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]^=ai[r],e[1]^=oi[r]}Pr(n)}var Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di,fi=o((()=>{wr(),qr(),Yr=BigInt(0),Xr=BigInt(1),Zr=BigInt(2),Qr=BigInt(7),$r=BigInt(256),ei=BigInt(113),ti=[],ni=[],ri=[];for(let e=0,t=Xr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],ti.push(2*(5*r+n)),ni.push((e+1)*(e+2)/2%64);let i=Yr;for(let e=0;e<7;e++)t=(t<<Xr^(t>>Qr)*ei)%$r,t&Zr&&(i^=Xr<<(Xr<<BigInt(e))-Xr);ri.push(i)}ii=ir(ri,!0),ai=ii[0],oi=ii[1],si=(e,t,n)=>n>32?gr(e,t,n):mr(e,t,n),ci=(e,t,n)=>n>32?_r(e,t,n):hr(e,t,n),li=class e extends Kr{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(){Gr(this.state32),Jr(this.state32,this.rounds),Gr(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}},ui=(e,t,n)=>Hr(()=>new li(t,e,n)),di=ui(1,136,32)}));function pi(e,t){let n=t||`hex`,r=di(D(e,{strict:!1})?Jn(e):e);return n===`bytes`?r:Hn(r)}var mi=o((()=>{fi(),Rt(),nr(),j()}));function hi(e){return gi(e)}var gi,_i=o((()=>{nr(),mi(),gi=e=>pi(Jn(e))}));function vi(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 yi=o((()=>{k()})),bi,xi=o((()=>{Nt(),yi(),bi=e=>vi(typeof e==`string`?e:be(e))}));function Si(e){return hi(bi(e))}var Ci=o((()=>{_i(),xi()})),wi,Ti=o((()=>{Ci(),wi=Si})),Ei,Di=o((()=>{k(),Ei=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`})}}})),Oi,ki=o((()=>{Oi=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 Ai(e,t){if(Mi.has(`${e}.${t}`))return Mi.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=pi($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 Mi.set(`${e}.${t}`,a),a}function ji(e,t){if(!Pi(e,{strict:!1}))throw new Ei({address:e});return Ai(e,t)}var Mi,Ni=o((()=>{Di(),nr(),mi(),ki(),Li(),Mi=new Oi(8192)}));function Pi(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Ii.has(r))return Ii.get(r);let i=Fi.test(e)?e.toLowerCase()===e||!n||Ai(e)===e:!1;return Ii.set(r,i),i}var Fi,Ii,Li=o((()=>{ki(),Ni(),Fi=/^0x[a-fA-F0-9]{40}$/,Ii=new Oi(8192)}));function Ri(e){return typeof e[0]==`string`?Bi(e):zi(e)}function zi(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 Bi(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Vi=o((()=>{}));function Hi(e,t,n,{strict:r}={}){return D(e,{strict:!1})?Ki(e,t,n,{strict:r}):Gi(e,t,n,{strict:r})}function Ui(e,t){if(typeof t==`number`&&t>0&&t>zt(e)-1)throw new vn({offset:t,position:`start`,size:zt(e)})}function Wi(e,t,n){if(typeof t==`number`&&typeof n==`number`&&zt(e)!==n-t)throw new vn({offset:n,position:`end`,size:zt(e)})}function Gi(e,t,n,{strict:r}={}){Ui(e,t);let i=e.slice(t,n);return r&&Wi(i,t,n),i}function Ki(e,t,n,{strict:r}={}){Ui(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Wi(i,t,n),i}var qi=o((()=>{xn(),Rt(),Bt()})),Ji,Yi,Xi=o((()=>{Ji=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Yi=/^(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 Zi(e,t){if(e.length!==t.length)throw new Zt({expectedLength:e.length,givenLength:t.length});return ea(Qi({params:e,values:t}))}function Qi({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push($i({param:e[r],value:t[r]}));return n}function $i({param:e,value:t}){let n=ca(e.type);if(n){let[r,i]=n;return na(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return sa(t,{param:e});if(e.type===`address`)return ta(t);if(e.type===`bool`)return ia(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Yi.exec(e.type)??[];return aa(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return ra(t,{param:e});if(e.type===`string`)return oa(t);throw new fn(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function ea(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];t+=r?32:zt(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+=zt(s)):n.push(s)}return Bi([...n,...r])}function ta(e){if(!Pi(e))throw new Ei({address:e});return{dynamic:!1,encoded:Cn(e.toLowerCase())}}function na(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new mn(e);if(!r&&e.length!==t)throw new Yt({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=e.length===0&&la(n),a=[];for(let t=0;t<e.length;t++){let r=$i({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=ea(a);if(r)return{dynamic:!0,encoded:Bi([A(a.length,{size:32}),e])};if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Bi(a.map(({encoded:e})=>e))}}function ra(e,{param:t}){let[,n]=t.type.split(`bytes`),r=zt(e);if(!n){let t=e;return r%32!=0&&(t=Cn(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Bi([Cn(A(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new Xt({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Cn(e,{dir:`right`})}}function ia(e){if(typeof e!=`boolean`)throw new O(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:Cn(Un(e))}}function aa(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 En({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 oa(e){let t=Gn(e),n=Math.ceil(zt(t)/32),r=[];for(let e=0;e<n;e++)r.push(Cn(Hi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Bi([Cn(A(zt(t),{size:32})),...r])}}function sa(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=$i({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?ea(r):Bi(r.map(({encoded:e})=>e))}}function ca(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function la(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components.some(la);let n=ca(t);return n?la({...e,type:n[1]}):!1}var ua=o((()=>{gn(),Di(),k(),Pn(),Li(),Vi(),Tn(),Bt(),qi(),j(),Xi()})),da,fa=o((()=>{qi(),Ci(),da=e=>Hi(Si(e),0,4)}));function pa(e){let{abi:t,args:n=[],name:r}=e,i=D(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?da(e)===r:e.type===`event`&&wi(e)===r:`name`in e&&e.name===r);if(a.length===0)return;if(a.length===1)return a[0];let o;for(let e of a)if(`inputs`in e){if(!n||n.length===0){if(!e.inputs||e.inputs.length===0)return e;continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===n.length&&n.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?ma(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=ha(e.inputs,o.inputs,n);if(t)throw new cn({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function ma(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Pi(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,r)=>n===`object`&&ma(Object.values(e)[r],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>ma(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function ha(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return ha(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&Pi(n[r],{strict:!1}))return o}}var ga=o((()=>{gn(),Rt(),Li(),Ti(),fa()}));gn(),nr(),mi(),Ti(),ua(),Lt(),ga();let _a=`/docs/contract/encodeEventTopics`;function va(e){let{abi:t,eventName:n,args:r}=e,i=t[0];if(n){let e=pa({abi:t,name:n});if(!e)throw new rn(n,{docsPath:_a});i=e}if(i.type!==`event`)throw new rn(void 0,{docsPath:_a});let a=[];if(r&&`inputs`in i){let e=i.inputs?.filter(e=>`indexed`in e&&e.indexed),t=Array.isArray(r)?r:Object.values(r).length>0?e?.map(e=>r[e.name])??[]:[];t.length>0&&(a=e?.map((e,n)=>Array.isArray(t[n])?t[n].map((r,i)=>ya({param:e,value:t[n][i]})):t[n]!==void 0&&t[n]!==null?ya({param:e,value:t[n]}):null)??[])}if(i.anonymous)return a;let o=Pt(i);return[wi(o),...a]}function ya({param:e,value:t}){if(e.type===`string`||e.type===`bytes`)return pi(Jn(t));if(e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/))throw new _n(e.type);return Zi([e],[t])}function M(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=pa({abi:t,args:n,name:r});if(!e)throw new an(r,{docsPath:Sa});i=e}if(i.type!==`function`)throw new an(void 0,{docsPath:Sa});return{abi:[i],functionName:da(Pt(i))}}var Sa,Ca=o((()=>{gn(),fa(),Lt(),ga(),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 Bi([r,(`inputs`in i&&i.inputs?Zi(i.inputs,t??[]):void 0)??`0x`])}var Ta=o((()=>{Vi(),ua(),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((()=>{k(),Aa=class extends O{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},ja=class extends O{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Ma=class extends O{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&&Ln(e,{size:t.size}),Rn(Wn(e),t)}function Ra(e,t={}){let n=e;if(t.size!==void 0&&(Ln(n,{size:t.size}),n=Fn(n)),n.length>1||n[0]>1)throw new Dn(n);return!!n[0]}function za(e,t={}){return t.size!==void 0&&Ln(e,{size:t.size}),Bn(Wn(e),t)}function Ba(e,t={}){let n=e;return t.size!==void 0&&(Ln(n,{size:t.size}),n=Fn(n,{dir:`right`})),new TextDecoder().decode(n)}var Va=o((()=>{Pn(),In(),Vn(),j()}));function Ha(e,t){let n=typeof t==`string`?Zn(t):t,r=Pa(n);if(zt(n)===0&&e.length>0)throw new Jt;if(zt(t)&&zt(t)<32)throw new qt({data:typeof t==`string`?t:Wn(t),params:e,size:zt(t)});let i=0,a=[];for(let t=0;t<e.length;++t){let o=e[t];i<n.length&&r.setPosition(i);let[s,c]=Ua(r,o,{staticPosition:0});i+=c,a.push(s)}return a}function Ua(e,t,{staticPosition:n}){let r=ca(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 pn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function Wa(e){return[Ai(Wn(Gi(e.readBytes(32),-20))),32]}function Ga(e,t,{length:n,staticPosition:r}){if(n===null){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),a===0&&(e.assertReadLimit(),e._touch())}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),o===0&&(e.assertReadLimit(),e._touch())}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),[Wn(i),32]}return[Wn(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(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=ca(e.type);return!!(n&&Za({...e,type:n[1]}))}var Qa,$a,eo=o((()=>{gn(),Ni(),Ia(),Bt(),qi(),Va(),nr(),j(),ua(),Qa=32,$a=32}));function to(e){let{abi:t,data:n,cause:r}=e,i=Hi(n,0,4);if(i===`0x`)throw new Jt({cause:r});let a=[...t||[],Da,Oa].find(e=>e.type===`error`&&i===da(Pt(e)));if(!a)throw new en(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?Ha(a.inputs,Hi(n,4)):void 0,errorName:a.name}}var no=o((()=>{ka(),gn(),qi(),fa(),eo(),Lt()})),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()}));function so(e,t=0){if(!Number.isInteger(t)||t<0)throw new ho({decimals: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}`:``}`}function co(e,t=`wei`){return so(e,po.ether-po[t])}function lo(e,t=`wei`){return so(e,po.gwei-po[t])}function uo(e,t=0){if(!Number.isInteger(t)||t<0)throw new ho({decimals:t});if(!/^-?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)$/.test(e))throw new mo({value:e});let[n=``,r=`0`]=e.split(`.`),i=n.startsWith(`-`);if(i&&(n=n.slice(1)),n===``&&(n=`0`),r=r.replace(/(0+)$/,``),t===0)r.length>0&&Number.parseInt(r[0],10)>=5&&(n=`${BigInt(n)+1n}`),r=``;else if(r.length>t){let e=r.slice(0,t);if(Number.parseInt(r.slice(t,t+1),10)>=5){let i=fo(e);i.length>t?(r=i.slice(1),n=`${BigInt(n)+1n}`):r=i}else r=e}else r=r.padEnd(t,`0`);return BigInt(`${i?`-`:``}${n}${r}`)}function fo(e){let t=e.split(``),n=t.length-1;for(;n>=0;){let e=Number.parseInt(t[n],10)+1;if(e<10)return t[n]=String(e),t.join(``);t[n]=`0`,n--}return`1${t.join(``)}`}var po,mo,ho,go=o((()=>{po={wei:0,gwei:9,szabo:12,finney:15,ether:18},mo=class extends Error{constructor({value:e}){super(`Value \\`${e}\\` is not a valid decimal number.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Value.InvalidDecimalNumberError`})}},ho=class extends Error{constructor({decimals:e}){super(`\\`decimals\\` must be a non-negative integer. Got \\`${e}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Value.InvalidDecimalsError`})}}}));function _o(e,t=`wei`){return co(e,t)}var vo=o((()=>{go()}));function yo(e,t=`wei`){return lo(e,t)}var bo=o((()=>{go()}));function xo(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function So(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+=xo(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=xo(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var Co,wo,To=o((()=>{k(),Co=class extends O{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},wo=class extends O{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function Eo(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 Do,Oo,ko,Ao,jo,Mo,No,Po,Fo,Io,Lo,Ro,zo=o((()=>{vo(),bo(),k(),Do=class extends O{constructor({filledNonce:e,requestedNonce:t}){super(`The filled transaction nonce does not match the requested nonce.`,{metaMessages:[`Requested Nonce: ${t}`,`Filled Nonce: ${e}`],name:`FeePayerNonceMismatchError`})}},Oo=class extends O{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},ko=class extends O{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},Ao=class extends O{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,Eo(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`})}},jo=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}},Mo=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}},No=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`})}},Po=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=Eo({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${_o(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${yo(o)} gwei`,maxFeePerGas:s!==void 0&&`${yo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${yo(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}},Fo=class extends O{constructor({blockHash:e,blockNumber:t,blockTag:n,hash:r,index:i}){let a=`Transaction`;n&&i!==void 0&&(a=`Transaction at block time \"${n}\" at index \"${i}\"`),e&&i!==void 0&&(a=`Transaction at block hash \"${e}\" at index \"${i}\"`),t&&i!==void 0&&(a=`Transaction at block number \"${t}\" at index \"${i}\"`),r&&(a=`Transaction with hash \"${r}\"`),super(`${a} could not be found.`,{name:`TransactionNotFoundError`})}},Io=class extends O{constructor({hash:e}){super(`Transaction receipt with hash \"${e}\" could not be found. The Transaction may not be processed on a block yet.`,{name:`TransactionReceiptNotFoundError`})}},Lo=class extends O{constructor({receipt:e}){super(`Transaction with hash \"${e.transactionHash}\" reverted.`,{metaMessages:[`The receipt marked the transaction as \"reverted\". This could mean that the function on the contract you are trying to call threw an error.`,` `,`You can attempt to extract the revert reason by:`,\"- calling the `simulateContract` or `simulateCalls` Action with the `abi` and `functionName` of the contract\",\"- using the `call` Action with raw `data`\"],name:`TransactionReceiptRevertedError`}),Object.defineProperty(this,\"receipt\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.receipt=e}},Ro=class extends O{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}}));function Bo(e){if(e?.reason)return e.reason;if(typeof DOMException==`function`)return new DOMException(`This operation was aborted`,`AbortError`);let t=Error(`This operation was aborted`);return t.name=`AbortError`,t}function Vo(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Ho,Uo,Wo=o((()=>{Ho=e=>e,Uo=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Go,Ko,qo,Jo,Yo,Xo,Zo=o((()=>{ba(),ka(),no(),Lt(),oo(),ga(),vo(),bo(),gn(),k(),To(),zo(),Wo(),Go=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=Eo({from:(t?M(t):void 0)?.address,to:u,value:d!==void 0&&`${_o(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${yo(o)} gwei`,maxFeePerGas:s!==void 0&&`${yo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${yo(c)} gwei`,nonce:l});f&&(p+=`\\n${So(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}},Ko=class extends O{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=pa({abi:t,args:n,name:a}),c=s?ao({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Pt(s,{includeName:!0}):void 0,u=Eo({address:r&&Ho(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}},qo=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=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?Pt(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 en&&(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}},Jo=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})}},Yo=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`})}},Xo=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}}})),Qo,$o,es,ts,ns=o((()=>{io(),k(),Wo(),Qo=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: ${Uo(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}},$o=class extends O{constructor({maxSize:e,size:t}){super(`HTTP response body exceeded the size limit.`,{metaMessages:[`Max: ${e} bytes`,`Received: ${t} bytes`],name:`ResponseBodyTooLargeError`}),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"size\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e,this.size=t}},es=class extends O{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Uo(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}},ts=class extends O{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Uo(t)}`,`Request body: ${ro(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es,Ds,Os,ks,As,js,Ms,Ns=o((()=>{k(),ns(),rs=-1,is=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 es?e.code:t??rs}},as=class extends is{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},os=class e extends is{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(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),ss=class e extends is{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),cs=class e extends is{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),ls=class e extends is{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(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),us=class e extends is{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),ds=class e extends is{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(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),fs=class e extends is{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(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),ps=class e extends is{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),ms=class e extends is{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),hs=class e extends is{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),gs=class e extends is{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),_s=class e extends is{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),vs=class e extends as{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),ys=class e extends as{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(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),bs=class e extends as{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),xs=class e extends as{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(xs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),Ss=class e extends as{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(Ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),Cs=class e extends as{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(Cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),ws=class e extends as{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(ws,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),Ts=class e extends as{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(Ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),Es=class e extends as{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(Es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),Ds=class e extends as{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(Ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),Os=class e extends as{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(Os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),ks=class e extends as{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(ks,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),As=class e extends as{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(As,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),js=class e extends as{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(js,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),Ms=class extends is{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));gn(),k(),Zo(),ns(),Ns();function Ps(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Xo?e:e instanceof O?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s,p=e instanceof Jt?new Jo({functionName:a,cause:e}):[3,us.code].includes(c)&&(l||u||d||f)||c===ds.code&&u===`execution reverted`&&l?new qo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof es?u:f??d,cause:e}):e;return new Ko(p,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}Ni(),mi();function Fs(e){return Ai(`0x${pi(`0x${e.substring(4)}`).substring(26)}`)}function Is(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 Ls(e,t,n){return e&t^~e&n}function Rs(e,t,n){return e&t^e&n^t&n}var zs,Bs,Vs,Hs,Us=o((()=>{qr(),zs=class extends Kr{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;Is(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()}},Bs=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Vs=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Hs=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Ws,Gs,Ks,qs,Js,Ys,Xs,Zs,Qs,$s,ec,tc,nc,rc=o((()=>{Us(),wr(),qr(),Ws=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]),Gs=new Uint32Array(64),Ks=class extends zs{constructor(e=32){super(64,e,8,!1),this.A=Bs[0]|0,this.B=Bs[1]|0,this.C=Bs[2]|0,this.D=Bs[3]|0,this.E=Bs[4]|0,this.F=Bs[5]|0,this.G=Bs[6]|0,this.H=Bs[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)Gs[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Gs[e-15],n=Gs[e-2],r=Ir(t,7)^Ir(t,18)^t>>>3,i=Ir(n,17)^Ir(n,19)^n>>>10;Gs[e]=i+Gs[e-7]+r+Gs[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+Ls(o,s,c)+Ws[e]+Gs[e]|0,d=(Ir(n,2)^Ir(n,13)^Ir(n,22))+Rs(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(Gs)}destroy(){this.set(0,0,0,0,0,0,0,0),Pr(this.buffer)}},qs=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))),Js=qs[0],Ys=qs[1],Xs=new Uint32Array(80),Zs=new Uint32Array(80),Qs=class extends zs{constructor(e=64){super(128,e,16,!1),this.Ah=Hs[0]|0,this.Al=Hs[1]|0,this.Bh=Hs[2]|0,this.Bl=Hs[3]|0,this.Ch=Hs[4]|0,this.Cl=Hs[5]|0,this.Dh=Hs[6]|0,this.Dl=Hs[7]|0,this.Eh=Hs[8]|0,this.El=Hs[9]|0,this.Fh=Hs[10]|0,this.Fl=Hs[11]|0,this.Gh=Hs[12]|0,this.Gl=Hs[13]|0,this.Hh=Hs[14]|0,this.Hl=Hs[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)Xs[n]=e.getUint32(t),Zs[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Xs[e-15]|0,n=Zs[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=Xs[e-2]|0,o=Zs[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,Zs[e-7],Zs[e-16]),u=xr(l,r,s,Xs[e-7],Xs[e-16]);Xs[e]=u|0,Zs[e]=l|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=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,Ys[e],Zs[e]),S=Cr(x,g,t,y,Js[e],Xs[e]),C=x|0,w=ur(n,r,28)^fr(n,r,34)^fr(n,r,39),ee=dr(n,r,28)^pr(n,r,34)^pr(n,r,39),te=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}=ar(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let T=vr(C,ee,ne);n=yr(T,S,w,te),r=T|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(Xs,Zs)}destroy(){Pr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},$s=class extends Qs{constructor(){super(48),this.Ah=Vs[0]|0,this.Al=Vs[1]|0,this.Bh=Vs[2]|0,this.Bl=Vs[3]|0,this.Ch=Vs[4]|0,this.Cl=Vs[5]|0,this.Dh=Vs[6]|0,this.Dl=Vs[7]|0,this.Eh=Vs[8]|0,this.El=Vs[9]|0,this.Fh=Vs[10]|0,this.Fl=Vs[11]|0,this.Gh=Vs[12]|0,this.Gl=Vs[13]|0,this.Hh=Vs[14]|0,this.Hl=Vs[15]|0}},ec=Hr(()=>new Ks),tc=Hr(()=>new Qs),nc=Hr(()=>new $s)})),ic,ac,oc=o((()=>{qr(),ic=class extends Kr{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()}},ac=(e,t,n)=>new ic(e,t).update(n).digest(),ac.create=(e,t)=>new ic(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction sc(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function cc(e){if(!sc(e))throw Error(`Uint8Array expected`)}function lc(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function uc(e){let t=e.toString(16);return t.length&1?`0`+t:t}function dc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?kc:BigInt(`0x`+e)}function fc(e){if(cc(e),jc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Mc[e[n]];return t}function pc(e){if(e>=Nc._0&&e<=Nc._9)return e-Nc._0;if(e>=Nc.A&&e<=Nc.F)return e-(Nc.A-10);if(e>=Nc.a&&e<=Nc.f)return e-(Nc.a-10)}function mc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(jc)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=pc(e.charCodeAt(i)),a=pc(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 hc(e){return dc(fc(e))}function gc(e){return cc(e),dc(fc(Uint8Array.from(e).reverse()))}function _c(e,t){return mc(e.toString(16).padStart(t*2,`0`))}function vc(e,t){return _c(e,t).reverse()}function yc(e,t,n){let r;if(typeof t==`string`)try{r=mc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(sc(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 bc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];cc(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 xc(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 Sc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Cc(e,t,n){return Pc(e)&&Pc(t)&&Pc(n)&&t<=e&&e<n}function wc(e,t,n,r){if(!Cc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function Tc(e){let t;for(t=0;e>kc;e>>=Ac,t+=1);return t}function Ec(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=Ic(e),i=Ic(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Ic(0))=>{i=s(Lc([0]),e),r=s(),e.length!==0&&(i=s(Lc([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 bc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function Dc(e,t,n={}){let r=(t,n,r)=>{let i=Rc[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 Oc(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 kc,Ac,jc,Mc,Nc,Pc,Fc,Ic,Lc,Rc,zc=o((()=>{kc=BigInt(0),Ac=BigInt(1),jc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Mc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Nc={_0:48,_9:57,A:65,F:70,a:97,f:102},Pc=e=>typeof e==`bigint`&&kc<=e,Fc=e=>(Ac<<BigInt(e))-Ac,Ic=e=>new Uint8Array(e),Lc=e=>Uint8Array.from(e),Rc={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`||sc(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)}}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Bc(e,t){let n=e%t;return n>=nl?n:t+n}function Vc(e,t,n){let r=e;for(;t-->nl;)r*=r,r%=n;return r}function Hc(e,t){if(e===nl)throw Error(`invert: expected non-zero number`);if(t<=nl)throw Error(`invert: expected positive modulus, got `+t);let n=Bc(e,t),r=t,i=nl,a=rl,o=rl,s=nl;for(;n!==nl;){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!==rl)throw Error(`invert: does not exist`);return Bc(i,t)}function Uc(e,t){let n=(e.ORDER+rl)/ol,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Wc(e,t){let n=(e.ORDER-sl)/cl,r=e.mul(t,il),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,il),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 Gc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-rl,n=0;for(;t%il===nl;)t/=il,n++;let r=il,i=Qc(e);for(;Xc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Uc;let a=i.pow(r,t),o=(t+rl)/il;return function(e,r){if(e.is0(r))return r;if(Xc(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=rl<<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 Kc(e){return e%ol===al?Uc:e%cl===sl?Wc:Gc(e)}function qc(e){return Dc(e,ll.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Jc(e,t,n){if(n<nl)throw Error(`invalid exponent, negatives unsupported`);if(n===nl)return e.ONE;if(n===rl)return t;let r=e.ONE,i=t;for(;n>nl;)n&rl&&(r=e.mul(r,i)),i=e.sqr(i),n>>=rl;return r}function Yc(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 Xc(e,t){let n=(e.ORDER-rl)/il,r=e.pow(t,n),i=e.eql(r,e.ONE),a=e.eql(r,e.ZERO),o=e.eql(r,e.neg(e.ONE));if(!i&&!a&&!o)throw Error(`invalid Legendre symbol result`);return i?1:a?0:-1}function Zc(e,t){t!==void 0&&Or(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Qc(e,t,n=!1,r={}){if(e<=nl)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Zc(e,t);if(a>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);let o,s=Object.freeze({ORDER:e,isLE:n,BITS:i,BYTES:a,MASK:Fc(i),ZERO:nl,ONE:rl,create:t=>Bc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return nl<=t&&t<e},is0:e=>e===nl,isOdd:e=>(e&rl)===rl,neg:t=>Bc(-t,e),eql:(e,t)=>e===t,sqr:t=>Bc(t*t,e),add:(t,n)=>Bc(t+n,e),sub:(t,n)=>Bc(t-n,e),mul:(t,n)=>Bc(t*n,e),pow:(e,t)=>Jc(s,e,t),div:(t,n)=>Bc(t*Hc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Hc(t,e),sqrt:r.sqrt||(t=>(o||=Kc(e),o(s,t))),toBytes:e=>n?vc(e,a):_c(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?gc(e):hc(e)},invertBatch:e=>Yc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function $c(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function el(e){let t=$c(e);return t+Math.ceil(t/2)}function tl(e,t,n=!1){let r=e.length,i=$c(t),a=el(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Bc(n?gc(e):hc(e),t-rl)+rl;return n?vc(o,i):_c(o,i)}var nl,rl,il,al,ol,sl,cl,ll,ul=o((()=>{qr(),zc(),nl=BigInt(0),rl=BigInt(1),il=BigInt(2),al=BigInt(3),ol=BigInt(4),sl=BigInt(5),cl=BigInt(8),ll=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`]}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction dl(e,t){let n=t.negate();return e?n:t}function fl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function pl(e,t){fl(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Fc(e),maxNumber:i,shiftBy:BigInt(e)}}function ml(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+=Sl);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 hl(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 gl(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 _l(e){return wl.get(e)||1}function vl(e,t){return{constTimeNegate:dl,hasPrecomputes(e){return _l(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>xl;)n&Sl&&(r=r.add(i)),i=i.double(),n>>=Sl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=pl(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=pl(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=ml(i,e,s);i=t,c?o=o.add(dl(u,r[d])):a=a.add(dl(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=pl(n,t);for(let e=0;e<o.windows&&i!==xl;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=ml(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=Cl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&Cl.set(t,n(r))),r},wNAFCached(e,t,n){let r=_l(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=_l(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){fl(n,t),wl.set(e,n),Cl.delete(e)}}}function yl(e,t,n,r){hl(n,e),gl(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=Tc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Fc(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 bl(e){return qc(e.Fp),Dc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Zc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var xl,Sl,Cl,wl,Tl=o((()=>{ul(),zc(),xl=BigInt(0),Sl=BigInt(1),Cl=new WeakMap,wl=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction El(e){e.lowS!==void 0&&lc(`lowS`,e.lowS),e.prehash!==void 0&&lc(`prehash`,e.prehash)}function Dl(e){let t=bl(e);Dc(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 Ol(e,t){return fc(_c(e,t))}function kl(e){let t=Dl(e),{Fp:n}=t,r=Qc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return bc(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,zl),Bl),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 Cc(e,Ll,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(sc(e)&&(e=fc(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:hc(yc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Bc(o,a)),wc(`private key`,o,Ll,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=Oc((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=Oc(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=Yc(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(yc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return yl(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,zl),{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,zl),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;wc(`scalar`,e,Il,i);let a=h.ZERO;if(e===Il)return a;if(this.is0()||e===Ll)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>Il||l>Il;)s&Ll&&(u=u.add(f)),l&Ll&&(d=d.add(f)),f=f.double(),s>>=Ll,l>>=Ll;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;wc(`scalar`,e,Ll,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===Il||t===Ll||!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===Ll)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===Ll?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return lc(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return lc(`isCompressed`,e),fc(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=vl(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function Al(e){let t=bl(e);return Dc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function jl(e){let t=Al(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Bc(e,r)}function l(e){return Hc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=kl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=bc;return lc(`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=hc(i);if(!Cc(e,Ll,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&Ll)===Ll;return(r&1)==1!==o&&(a=n.neg(a)),{x:e,y:a}}if(t===s&&r===4)return{x:n.fromBytes(i.subarray(0,n.BYTES)),y:n.fromBytes(i.subarray(n.BYTES,2*n.BYTES))};{let e=o,n=s;throw Error(`invalid Point, expected length of `+e+`, or uncompressed `+n+`, got `+t)}}});function m(e){return e>r>>Ll}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>hc(e.slice(t,n));class _{constructor(e,t,n){wc(`r`,e,Ll,r),wc(`s`,t,Ll,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=yc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Fl.toSig(yc(`DER`,e));return new _(t,n)}assertValidity(){}addRecoveryBit(e){return new _(this.r,this.s,e)}recoverPublicKey(e){let{r,s:i,recovery:a}=this,o=C(yc(`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+Ol(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 mc(this.toDERHex())}toDERHex(){return Fl.hexFromSig(this)}toCompactRawBytes(){return mc(this.toCompactHex())}toCompactHex(){let e=i;return Ol(this.r,e)+Ol(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=el(t.n);return tl(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=yc(`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=hc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=Fc(a);function ee(e){return wc(`num < 2^`+a,e,Il,w),_c(e,i)}function te(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=yc(`msgHash`,e),El(i),f&&(e=yc(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[ee(y),ee(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(yc(`extraEntropy`,e))}let x=bc(...b),w=v;function te(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===Il)return;let a=c(n*c(w+i*y));if(a===Il)return;let o=(r.x===i?0:2)|Number(r.y&Ll),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:te}}let ne={lowS:t.lowS,prehash:!1},T={lowS:t.lowS,prehash:!1};function re(e,n,r=ne){let{seed:i,k2sig:a}=te(e,n,r),o=t;return Ec(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ie(e,n,r,i=T){let a=e;n=yc(`msgHash`,n),r=yc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(El(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`||sc(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 Fl.Err))throw e}!m&&d!==`der`&&(m=_.fromCompact(a))}h=u.fromHex(r)}catch{return!1}if(!m||o&&m.hasHighS())return!1;s&&(n=t.hash(n));let{r:g,s:v}=m,y=C(n),b=l(v),x=c(y*b),S=c(g*b),w=u.BASE.multiplyAndAddUnsafe(h,x,S)?.toAffine();return w?c(w.x)===g:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:x,sign:re,verify:ie,ProjectivePoint:u,Signature:_,utils:v}}function Ml(e,t){let n=e.ORDER,r=Il;for(let e=n-Ll;e%Rl===Il;e/=Rl)r+=Ll;let i=r,a=Rl<<i-Ll-Ll,o=a*Rl,s=(n-Ll)/o,c=(s-Ll)/Rl,l=o-Ll,u=a,d=e.pow(t,s),f=e.pow(t,(s+Ll)/Rl),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>Ll;t--){let n=t-Rl;n=Rl<<n-Ll;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%Bl===zl){let n=(e.ORDER-zl)/Bl,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 Nl(e,t){if(qc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=Ml(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=Yc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var Pl,Fl,Il,Ll,Rl,zl,Bl,Vl=o((()=>{Tl(),ul(),zc(),Pl=class extends Error{constructor(e=``){super(e)}},Fl={Err:Pl,_tlv:{encode:(e,t)=>{let{Err:n}=Fl;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=uc(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?uc(i.length/2|128):``;return uc(e)+a+i+t},decode(e,t){let{Err:n}=Fl,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}=Fl;if(e<Il)throw new t(`integer: negative integers are not allowed`);let n=uc(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}=Fl;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 hc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Fl,i=yc(`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}=Fl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},Il=BigInt(0),Ll=BigInt(1),Rl=BigInt(2),zl=BigInt(3),Bl=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Hl(e){return{hash:e,hmac:(t,...n)=>ac(e,t,Vr(...n)),randomBytes:Ur}}function Ul(e,t){let n=t=>jl({...e,...Hl(t)});return{...n(t),create:n}}var Wl=o((()=>{oc(),qr(),Vl()}));function Gl(e,t){if(ql(e),ql(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 Kl(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 ql(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Jl(e,t,n,r){cc(e),cc(t),ql(n),t.length>255&&(t=r(bc(Sc(`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=bc(t,Gl(t.length,1)),c=Gl(0,a),l=Gl(n,2),u=Array(o),d=r(bc(c,e,l,Gl(0,1),s));u[0]=r(bc(d,Gl(1,1),s));for(let e=1;e<=o;e++){let t=[Kl(d,u[e-1]),Gl(e+1,1),s];u[e]=r(bc(...t))}return bc(...u).slice(0,n)}function Yl(e,t,n,r,i){if(cc(e),cc(t),ql(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(Sc(`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(Gl(n,2)).update(t).update(Gl(t.length,1)).digest()}function Xl(e,t,n){Dc(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;cc(e),ql(t);let l=typeof c==`string`?Sc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Jl(e,l,f,o);else if(s===`xof`)p=Yl(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),o=p.subarray(i,i+d);t[n]=Bc($l(o),r)}m[e]=t}return m}function Zl(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]=Yc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Ql(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=Xl(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(Xl(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 $l,eu=o((()=>{ul(),zc(),$l=hc})),tu=c({encodeToCurve:()=>ju,hashToCurve:()=>Au,schnorr:()=>Eu,secp256k1:()=>_u,secp256k1_hasher:()=>ku});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction nu(e){let t=uu,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=Vc(Vc(Vc(u,n,t)*u%t,n,t)*u%t,mu,t)*l%t,f=Vc(d,i,t)*d%t,p=Vc(f,a,t)*f%t,m=Vc(p,s,t)*p%t,h=Vc(Vc(Vc(Vc(Vc(Vc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,mu,t);if(!gu.eql(gu.sqr(h),e))throw Error(`Cannot find square root`);return h}function ru(e,...t){let n=vu[e];if(n===void 0){let t=ec(Uint8Array.from(e,e=>e.charCodeAt(0)));n=bc(t,t),vu[e]=n}return ec(bc(n,...t))}function iu(e){let t=_u.utils.normPrivateKeyToScalar(e),n=Cu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:Su(-t),bytes:yu(n)}}function au(e){wc(`x`,e,pu,uu);let t=xu(e*e),n=nu(xu(t*e+BigInt(7)));n%mu!==fu&&(n=xu(-n));let r=new Cu(e,n,pu);return r.assertValidity(),r}function ou(...e){return Su(Tu(ru(`BIP0340/challenge`,...e)))}function su(e){return iu(e).bytes}function cu(e,t,n=Ur(32)){let r=yc(`message`,e),{bytes:i,scalar:a}=iu(t),o=yc(`auxRand`,n,32),s=ru(`BIP0340/nonce`,bu(a^Tu(ru(`BIP0340/aux`,o))),i,r),c=Su(Tu(s));if(c===fu)throw Error(`sign failed: k is zero`);let{bytes:l,scalar:u}=iu(c),d=ou(l,i,r),f=new Uint8Array(64);if(f.set(l,0),f.set(bu(Su(u+d*a)),32),!lu(f,r,i))throw Error(`sign: Invalid signature produced`);return f}function lu(e,t,n){let r=yc(`signature`,e,64),i=yc(`message`,t),a=yc(`publicKey`,n,32);try{let e=au(Tu(a)),t=Tu(r.subarray(0,32));if(!Cc(t,pu,uu))return!1;let n=Tu(r.subarray(32,64));if(!Cc(n,pu,du))return!1;let o=ou(bu(t),yu(e),i),s=wu(e,n,Su(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch{return!1}}var uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su,Cu,wu,Tu,Eu,Du,Ou,ku,Au,ju,Mu=o((()=>{rc(),qr(),Wl(),eu(),ul(),zc(),Vl(),uu=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),du=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),fu=BigInt(0),pu=BigInt(1),mu=BigInt(2),hu=(e,t)=>(e+t/mu)/t,gu=Qc(uu,void 0,void 0,{sqrt:nu}),_u=Ul({a:fu,b:BigInt(7),Fp:gu,n:du,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=du,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-pu*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=hu(a*e,t),c=hu(-r*e,t),l=Bc(e-s*n-c*i,t),u=Bc(-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}}}},ec),vu={},yu=e=>e.toRawBytes(!0).slice(1),bu=e=>_c(e,32),xu=e=>Bc(e,uu),Su=e=>Bc(e,du),Cu=_u.ProjectivePoint,wu=(e,t,n)=>Cu.BASE.multiplyAndAddUnsafe(e,t,n),Tu=hc,Eu={getPublicKey:su,sign:cu,verify:lu,utils:{randomPrivateKey:_u.utils.randomPrivateKey,lift_x:au,pointToBytes:yu,numberToBytesBE:_c,bytesToNumberBE:hc,taggedHash:ru,mod:Bc}},Du=Zl(gu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),Ou=Nl(gu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:gu.create(BigInt(`-11`))}),ku=Ql(_u.ProjectivePoint,e=>{let{x:t,y:n}=Ou(gu.create(e[0]));return Du(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:gu.ORDER,m:1,k:128,expand:`xmd`,hash:ec}),Au=ku.hashToCurve,ju=ku.encodeToCurve}));Rt(),Bt(),Vn(),j();async function Nu({hash:e,signature:t}){let n=D(e)?e:Hn(e),{secp256k1:r}=await Promise.resolve().then(()=>(Mu(),tu));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=Pu(Number(a??i));return new r.Signature(Rn(e),Rn(n)).addRecoveryBit(o)}let e=D(t)?t:Hn(t);if(zt(e)!==65)throw Error(`invalid signature length`);let n=Pu(Bn(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Pu(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 Fu({hash:e,signature:t}){return Fs(await Nu({hash:e,signature:t}))}k(),Ia(),nr(),j();function Iu(e,t=`hex`){let n=Lu(e),r=Pa(new Uint8Array(n.length));return n.encode(r),t===`hex`?Wn(r.bytes):r.bytes}function Lu(e){return Array.isArray(e)?Ru(e.map(e=>Lu(e))):zu(e)}function Ru(e){let t=e.reduce((e,t)=>e+t.length,0),n=Bu(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 zu(e){let t=typeof e==`string`?Zn(e):e,n=Bu(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 Bu(e){if(e<256)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.`)}Vi(),nr(),j(),mi();function Vu(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=pi(Bi([`0x05`,Iu([t?A(t):`0x`,i,n?A(n):`0x`])]));return r===`bytes`?Zn(a):a}async function Hu(e){let{authorization:t,signature:n}=e;return Fu({hash:Vu(t),signature:n??t})}vo(),bo(),k(),zo();var Uu=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=Eo({from:t?.address,to:u,value:d!==void 0&&`${_o(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${yo(o)} gwei`,maxFeePerGas:s!==void 0&&`${yo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${yo(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}},Wu,Gu,Ku,qu,Ju,Yu,Xu,Zu,Qu,$u,ed,td,nd=o((()=>{bo(),k(),Wu=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(Wu,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Wu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Gu=class extends O{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${yo(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(Gu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),Ku=class extends O{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${yo(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(Ku,\"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/}),qu=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(qu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Ju=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(Ju,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Yu=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(Yu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Xu=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(Xu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Zu=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(Zu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Qu=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(Qu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),$u=class extends O{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty($u,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),ed=class extends O{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${yo(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${yo(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(ed,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),td=class extends O{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function rd(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof O?e.walk(e=>e?.code===Wu.code):e;return r instanceof O?new Wu({cause:e,message:r.details}):Wu.nodeMessage.test(n)?new Wu({cause:e,message:e.details}):Gu.nodeMessage.test(n)?new Gu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Ku.nodeMessage.test(n)?new Ku({cause:e,maxFeePerGas:t?.maxFeePerGas}):qu.nodeMessage.test(n)?new qu({cause:e,nonce:t?.nonce}):Ju.nodeMessage.test(n)?new Ju({cause:e,nonce:t?.nonce}):Yu.nodeMessage.test(n)?new Yu({cause:e,nonce:t?.nonce}):Xu.nodeMessage.test(n)?new Xu({cause:e}):Zu.nodeMessage.test(n)?new Zu({cause:e,gas:t?.gas}):Qu.nodeMessage.test(n)?new Qu({cause:e,gas:t?.gas}):$u.nodeMessage.test(n)?new $u({cause:e}):ed.nodeMessage.test(n)?new ed({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new td({cause:e})}var id=o((()=>{k(),nd()}));nd(),id();function ad(e,{docsPath:t,...n}){return new Uu((()=>{let t=rd(e,n);return t instanceof td?e:t})(),{docsPath:t,...n})}function od(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 sd=o((()=>{}));function cd(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 ld=o((()=>{}));function ud(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=dd(e.authorizationList)),e.accessList!==void 0&&(n.accessList=e.accessList),e.blobVersionedHashes!==void 0&&(n.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(n.blobs=typeof e.blobs[0]==`string`?e.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=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=fd[e.type]),e.value!==void 0&&(n.value=A(e.value)),n}function dd(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 fd,pd,md=o((()=>{j(),ld(),fd={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},pd=cd(`transactionRequest`,ud)}));function hd(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new bn({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new bn({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function gd(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=hd(r)),i!==void 0){if(o.state)throw new wo;o.stateDiff=hd(i)}return o}function _d(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Pi(n,{strict:!1}))throw new Ei({address:n});if(t[n])throw new Co({address:n});t[n]=gd(r)}return t}var vd=o((()=>{Di(),xn(),To(),Li(),j()})),yd,bd=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)),yd=2n**256n-1n}));function xd(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?M(t):void 0;if(a&&!Pi(a.address))throw new Ei({address:a.address});if(i&&!Pi(i))throw new Ei({address:i});if(n&&n>yd)throw new Gu({maxFeePerGas:n});if(r&&n&&r>n)throw new ed({maxFeePerGas:n,maxPriorityFeePerGas:r})}var Sd=o((()=>{ba(),bd(),Di(),nd(),Li()}));bo(),k();var Cd=class extends O{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},wd=class extends O{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},Td=class extends O{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${yo(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};k();var Ed=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(),ld();let Dd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function Od(e,t){let n={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,...e.blockTimestamp!=null&&{blockTimestamp:BigInt(e.blockTimestamp)},chainId:e.chainId?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?Dd[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=Ad(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 kd=cd(`transaction`,Od);function Ad(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 jd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:Od(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 Md(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 Ed({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||jd)(s,`getBlock`)}async function Nd(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}Vn();async function Pd(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,Md,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?Rn(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):E(e,Md,`getBlock`)({}),E(e,Nd,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new wd;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Fd(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.round(o*s))/BigInt(s),l=n||await E(e,Md,`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 wd;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await Pd(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,Nd,`getGasPrice`)({}))}}function Id(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new O(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?A(n):r??`latest`}var Ld=o((()=>{k(),j()}));Ld(),Vn();async function Rd(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Id({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return Bn(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}nr(),j();function zd(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(),j();function Bd(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))}rc();let Vd=ec;Rt(),nr(),j();function Hd(e,t){let n=t||`hex`,r=Vd(D(e,{strict:!1})?Jn(e):e);return n===`bytes`?r:Hn(r)}j();function Ud(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Hd(t,`bytes`);return i.set([n],0),r===`bytes`?i:Wn(i)}function Wd(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Ud({commitment:e,to:r,version:n}));return i}k();var Gd=class extends O{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Kd=class extends O{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},qd=class extends O{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Jd=class extends O{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};Ia(),Bt(),nr(),j();function Yd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Zn(e.data):e.data,r=zt(n);if(!r)throw new Kd;if(r>761855)throw new Gd({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Pa(new Uint8Array(131072)),t=0;for(;t<4096;){let r=n.slice(o,o+31);if(e.pushByte(0),e.pushBytes(r),r.length<31){e.pushByte(128),a=!1;break}t++,o+=31}i.push(e)}return t===`bytes`?i.map(e=>e.bytes):i.map(e=>Wn(e.bytes))}function Xd(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Yd({data:t,to:r}),a=e.commitments??zd({blobs:i,kzg:n,to:r}),o=e.proofs??Bd({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}zo();function Zd(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 Ao({transaction:e})}nd(),zo(),id();function Qd(e,{docsPath:t,...n}){let r=(()=>{let t=rd(e,n);return t instanceof td?e:t})();return new Po(r,{docsPath:t,...n})}Vn();async function $d(e){return Bn(await e.request({method:`eth_chainId`},{dedupe:!0}))}ba(),zo(),sd(),md(),Sd();async function ef(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=M(n),r=a?a.id:await E(e,$d,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();xd(t);let x=a?.formatters?.transactionRequest?.format,S=(x||ud)({...od(y,{format:x}),account:n?M(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||Od)(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;let i=r.feePayerSignature!==void 0&&r.feePayerSignature!==null;if(i&&b!==void 0&&r.nonce!==b)throw new Do({filledNonce:r.nonce,requestedNonce:b});if(!i){r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let n=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await E(e,Md,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(n<1)throw new Cd;let i=10**(n.toString().split(`.`)[1]?.length??0),o=e=>e*BigInt(Math.round(n*i))/BigInt(i);r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=o(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=o(r.gasPrice))}return{raw:n.raw,transaction:{from:S.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw Qd(n,{...t,chain:e.chain})}}ba(),zo(),ki(),Sd();let tf=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],nf=new Map,rf=new Oi(128);async function af(e,t){let n=t;n.account??=e.account,n.parameters??=tf;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,$d,`getChainId`)({}),c):n.chainId)}let u=r&&M(r),d=n.nonce;if(s?.fn&&s.runAt?.includes(`beforeFillTransaction`)){n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce;let t=n.account??n.from;u=t?M(t):void 0}if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}let f=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs)&&(o.length>0&&`feePayer`in n&&n.feePayer&&!(`feePayerSignature`in n&&n.feePayerSignature)||!(rf.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,ef,`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,p=`feeToken`in f?f.feeToken:void 0,m=`feePayerSignature`in f&&f.feePayerSignature!==null&&f.feePayerSignature!==void 0,h=p!=null&&(!(`feeToken`in n)||m);return rf.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...h?{feeToken:p}:{},...t.capabilities?{_capabilities:t.capabilities}:{}}}).catch(t=>{let r=t;if(r.name!==`TransactionExecutionError`)return n;if(r.walk?.(e=>e instanceof Do)||r.walk?.(e=>e.name===`ExecutionRevertedError`))throw t;return r.walk?.(e=>{let t=e;return t.name===`MethodNotFoundRpcError`||t.name===`MethodNotSupportedRpcError`||t.message?.includes(`eth_fillTransaction is not available`)})&&rf.set(e.uid,!1),n}):n;d??=f.nonce,n={...f,...u?{from:u?.address}:{},...d===void 0?{}:{nonce:d}};let{blobs:p,gas:m,kzg:h,type:g}=n;s?.fn&&s.runAt?.includes(`beforeFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillParameters`}));let _;async function v(){return _||(_=await E(e,Md,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await E(e,Rd,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=zd({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Wd({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Xd({blobs:p,commitments:e,proofs:Bd({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=Zd(n)}catch{let t=nf.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,nf.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 Fd(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new Td({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new wd;if(n.gasPrice===void 0){let{gasPrice:t}=await Fd(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,of,`estimateGas`)({...n,account:u,prepare:u?.type===`local`?[]:[`blobVersionedHashes`]})),s?.fn&&s.runAt?.includes(`afterFillParameters`)&&(n=await s.fn({...n,chain:i},{client:e,phase:`afterFillParameters`})),xd(n),delete n.parameters,n}ba(),k(),j(),sd(),md(),vd(),Sd();async function of(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?M(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 Hu({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 af(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?A(u):void 0)||d,C=_d(b);xd(t);let w=e.chain?.formatters?.transactionRequest?.format,ee=(w||ud)({...od(x,{format:w}),account:i,accessList:o,authorizationList:s,blobs:c,blobVersionedHashes:l,data:f,gasPrice:m,maxFeePerBlobGas:h,maxFeePerGas:g,maxPriorityFeePerGas:_,nonce:v,to:n,value:y},`estimateGas`);return BigInt(await e.request({method:`eth_estimateGas`,params:C?[ee,S??e.experimental_blockTag??`latest`,C]:S?[ee,S]:[ee]}))}catch(n){throw ad(n,{...t,account:i,chain:e.chain})}}ba(),Ta();async function sf(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=wa({abi:n,args:i,functionName:a});try{return await E(e,of,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw Ps(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?M(s.account):void 0)?.address})}}function cf(e,t){if(!Pi(e,{strict:!1}))throw new Ei({address:e});if(!Pi(t,{strict:!1}))throw new Ei({address:t});return e.toLowerCase()===t.toLowerCase()}var lf=o((()=>{Di(),Li()}));function uf(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}:{}}}gn(),Na(),Bt(),Ti(),eo(),Lt();let df=`/docs/contract/decodeEventLog`;function ff(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new tn({docsPath:df});let c=t.find(e=>e.type===`event`&&o===wi(Pt(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new nn(o,{docsPath:df});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 dn({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=pf({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 qt||e instanceof ja?new un({abiItem:c,data:n,params:g,size:zt(n)}):e}else if(a)throw new un({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function pf({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Ha([e],t)||[])[0]}lf(),nr(),mi(),Ti();function mf(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:wi(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?uf(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=ff({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=ff({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)||!hf({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function hf(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`?cf(t,n):e.type===`string`||e.type===`bytes`?pi(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})}j();async function gf(e,{address:t,blockHash:n,fromBlock:r,toBlock:i,event:a,events:o,args:s,strict:c}={}){let l=c??!1,u=o??(a?[a]:void 0),d=[];u&&(d=[u.flatMap(e=>va({abi:[e],eventName:e.name,args:o?void 0:s}))],a&&(d=d[0]));let f;f=n?await e.request({method:`eth_getLogs`,params:[{address:t,topics:d,blockHash:n}]}):await e.request({method:`eth_getLogs`,params:[{address:t,topics:d,fromBlock:typeof r==`bigint`?A(r):r,toBlock:typeof i==`bigint`?A(i):i}]});let p=f.map(e=>uf(e));return u?mf({abi:u,args:s,logs:p,strict:l}):p}function _f(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=pa({abi:t,args:n,name:r});if(!e)throw new an(r,{docsPath:vf});a=e}if(a.type!==`function`)throw new an(void 0,{docsPath:vf});if(!a.outputs)throw new on(a.name,{docsPath:vf});let o=Ha(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var vf,yf=o((()=>{gn(),eo(),ga(),vf=`/docs/contract/decodeFunctionResult`})),bf,xf=o((()=>{bf=`0.1.1`}));function Sf(){return bf}var Cf=o((()=>{xf()}));function wf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?wf(e.cause,t):t?null:e}var N,Tf=o((()=>{Cf(),N=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=n.docsOrigin??e.prototype.docsOrigin,o=`${a}${i??``}`,s=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,l=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i||s?[``,r?`Details: ${r}`:void 0,i?`See: ${o}`:void 0,s?`Version: ${c}`:void 0]:[]].filter(e=>typeof e==`string`).join(`\n`);super(l,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsOrigin\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"showVersion\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.cause=n.cause,this.details=r,this.docs=o,this.docsOrigin=a,this.docsPath=i,this.shortMessage=t,this.showVersion=s,this.version=c}walk(e){return wf(this,e)}},Object.defineProperty(N,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${Sf()}`}}),N.setStaticOptions(N.defaultStaticOptions)}));function Ef(e,t){if(np(e)>t)throw new hp({givenSize:np(e),maxSize:t})}function Df(e,t){if(typeof t==`number`&&t>0&&t>np(e)-1)throw new gp({offset:t,position:`start`,size:np(e)})}function Of(e,t,n){if(typeof t==`number`&&typeof n==`number`&&np(e)!==n-t)throw new gp({offset:n,position:`end`,size:np(e)})}function kf(e){if(e>=Mf.zero&&e<=Mf.nine)return e-Mf.zero;if(e>=Mf.A&&e<=Mf.F)return e-(Mf.A-10);if(e>=Mf.a&&e<=Mf.f)return e-(Mf.a-10)}function Af(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new _p({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 jf(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 Mf,Nf=o((()=>{vp(),Mf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function Pf(e,t){if(L(e)>t)throw new zp({givenSize:L(e),maxSize:t})}function Ff(e,t){if(typeof t==`number`&&t>0&&t>L(e)-1)throw new Bp({offset:t,position:`start`,size:L(e)})}function If(e,t,n){if(typeof t==`number`&&typeof n==`number`&&L(e)!==n-t)throw new Bp({offset:n,position:`end`,size:L(e)})}function Lf(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 Vp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function Rf(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 zf=o((()=>{z()}));function Bf(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=>Bf(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)}:${Bf(r)}`),t},[]).join(`,`)}}`}function Vf(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Uf)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Hf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Uf:n,n)}var Uf,Wf=o((()=>{Uf=`#__bigint`}));function Gf(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 mp(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 qf(e){return e instanceof Uint8Array?e:typeof e==`string`?Yf(e):Jf(e)}function Jf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Yf(e,t={}){let{size:n}=t,r=e;n&&(Pf(e,n),r=Ep(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=kf(i.charCodeAt(t++)),r=kf(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 Xf(e,t){return Yf(F(e,t))}function Zf(e,t={}){let{size:n}=t,r=fp.encode(e);return typeof n==`number`?(Ef(r,n),ep(r,n)):r}function Qf(e,t){return xc(e,t)}function $f(e,t){return Af(e,{dir:`left`,size:t})}function ep(e,t){return Af(e,{dir:`right`,size:t})}function tp(e){return crypto.getRandomValues(new Uint8Array(e))}function np(e){return e.length}function rp(e,t,n,r={}){let{strict:i}=r;Df(e,t);let a=e.slice(t,n);return i&&Of(a,t,n),a}function ip(e,t={}){let{size:n}=t;return n!==void 0&&Ef(e,n),R(Sp(e,t),t)}function ap(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(Ef(r,n),r=cp(r)),r.length>1||r[0]>1)throw new pp(r);return!!r[0]}function op(e,t={}){let{size:n}=t;return n!==void 0&&Ef(e,n),Ap(Sp(e,t),t)}function sp(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(Ef(r,n),r=lp(r)),dp.decode(r)}function cp(e){return jf(e,{dir:`left`})}function lp(e){return jf(e,{dir:`right`})}function up(e){try{return Gf(e),!0}catch{return!1}}var dp,fp,pp,mp,hp,gp,_p,vp=o((()=>{zc(),Tf(),z(),Nf(),zf(),Wf(),dp=new TextDecoder,fp=new TextEncoder,pp=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`})}},mp=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?Hf(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`})}},hp=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`})}},gp=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`})}},_p=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 yp(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new Ip(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new Lp(e)}function P(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function bp(e){return e instanceof Uint8Array?Sp(e):Array.isArray(e)?Sp(new Uint8Array(e)):e}function xp(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Pf(n,t.size),Tp(n,t.size)):n}function Sp(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Pp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Pf(r,t.size),Ep(r,t.size)):r}function F(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 Fp({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?Tp(s,r):s}function Cp(e,t={}){return Sp(Np.encode(e),t)}function wp(e,t){return xc(Yf(e),Yf(t))}function Tp(e,t){return Lf(e,{dir:`left`,size:t})}function Ep(e,t){return Lf(e,{dir:`right`,size:t})}function Dp(e){return Sp(tp(e))}function I(e,t,n,r={}){let{strict:i}=r;Ff(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&If(a,t,n),a}function L(e){return Math.ceil((e.length-2)/2)}function Op(e){return Rf(e,{dir:`left`})}function R(e,t={}){let{signed:n}=t;t.size&&Pf(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 kp(e,t={}){return Yf(e,t)}function Ap(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:R(e,t))}function jp(e,t={}){let{size:n}=t,r=Yf(e);return n&&(Ef(r,n),r=lp(r)),new TextDecoder().decode(r)}function Mp(e,t={}){let{strict:n=!1}=t;try{return yp(e,{strict:n}),!0}catch{return!1}}var Np,Pp,Fp,Ip,Lp,Rp,zp,Bp,Vp,z=o((()=>{zc(),vp(),Tf(),Nf(),zf(),Wf(),Np=new TextEncoder,Pp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Fp=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`})}},Ip=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?Hf(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`})}},Lp=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`})}},Rp=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`})}},zp=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`})}},Bp=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`})}},Vp=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 Hp(e){return{address:e.address,amount:F(e.amount),index:F(e.index),validatorIndex:F(e.validatorIndex)}}var Up=o((()=>{z()}));function Wp(e){return{...typeof e.baseFeePerGas==`bigint`&&{baseFeePerGas:F(e.baseFeePerGas)},...typeof e.blobBaseFee==`bigint`&&{blobBaseFee:F(e.blobBaseFee)},...typeof e.feeRecipient==`string`&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit==`bigint`&&{gasLimit:F(e.gasLimit)},...typeof e.number==`bigint`&&{number:F(e.number)},...typeof e.prevRandao==`bigint`&&{prevRandao:F(e.prevRandao)},...typeof e.time==`bigint`&&{time:F(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Hp)}}}var Gp=o((()=>{z(),Up()})),Kp,qp,Jp,Yp,Xp,Zp,Qp=o((()=>{Kp=[{inputs:[{components:[{name:`target`,type:`address`},{name:`allowFailure`,type:`bool`},{name:`callData`,type:`bytes`}],name:`calls`,type:`tuple[]`}],name:`aggregate3`,outputs:[{components:[{name:`success`,type:`bool`},{name:`returnData`,type:`bytes`}],name:`returnData`,type:`tuple[]`}],stateMutability:`view`,type:`function`},{inputs:[{name:`addr`,type:`address`}],name:`getEthBalance`,outputs:[{name:`balance`,type:`uint256`}],stateMutability:`view`,type:`function`},{inputs:[],name:`getCurrentBlockTimestamp`,outputs:[{internalType:`uint256`,name:`timestamp`,type:`uint256`}],stateMutability:`view`,type:`function`}],qp=[{name:`query`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple[]`,name:`queries`,components:[{type:`address`,name:`sender`},{type:`string[]`,name:`urls`},{type:`bytes`,name:`data`}]}],outputs:[{type:`bool[]`,name:`failures`},{type:`bytes[]`,name:`responses`}]},{name:`HttpError`,type:`error`,inputs:[{type:`uint16`,name:`status`},{type:`string`,name:`message`}]}],Jp=[{inputs:[{name:`dns`,type:`bytes`}],name:`DNSDecodingFailed`,type:`error`},{inputs:[{name:`ens`,type:`string`}],name:`DNSEncodingFailed`,type:`error`},{inputs:[],name:`EmptyAddress`,type:`error`},{inputs:[{name:`status`,type:`uint16`},{name:`message`,type:`string`}],name:`HttpError`,type:`error`},{inputs:[],name:`InvalidBatchGatewayResponse`,type:`error`},{inputs:[{name:`errorData`,type:`bytes`}],name:`ResolverError`,type:`error`},{inputs:[{name:`name`,type:`bytes`},{name:`resolver`,type:`address`}],name:`ResolverNotContract`,type:`error`},{inputs:[{name:`name`,type:`bytes`}],name:`ResolverNotFound`,type:`error`},{inputs:[{name:`primary`,type:`string`},{name:`primaryAddress`,type:`bytes`}],name:`ReverseAddressMismatch`,type:`error`},{inputs:[{internalType:`bytes4`,name:`selector`,type:`bytes4`}],name:`UnsupportedResolverProfile`,type:`error`}],[...Jp],[...Jp],Yp=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Xp=[{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`}],Zp=[{type:`event`,name:`Approval`,inputs:[{indexed:!0,name:`owner`,type:`address`},{indexed:!0,name:`spender`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`event`,name:`Transfer`,inputs:[{indexed:!0,name:`from`,type:`address`},{indexed:!0,name:`to`,type:`address`},{indexed:!1,name:`value`,type:`uint256`}]},{type:`function`,name:`allowance`,stateMutability:`view`,inputs:[{name:`owner`,type:`address`},{name:`spender`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`approve`,stateMutability:`nonpayable`,inputs:[{name:`spender`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint256`}]},{type:`function`,name:`decimals`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{type:`function`,name:`name`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`symbol`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{type:`function`,name:`totalSupply`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{type:`function`,name:`transfer`,stateMutability:`nonpayable`,inputs:[{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]},{type:`function`,name:`transferFrom`,stateMutability:`nonpayable`,inputs:[{name:`sender`,type:`address`},{name:`recipient`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[{type:`bool`}]}]})),$p=o((()=>{})),em,tm,nm,rm,im=o((()=>{em=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,tm=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,nm=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,rm=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),am,om,sm,cm,lm,um=o((()=>{k(),am=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`})}},om=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} – ${e.name}).`,{metaMessages:[`Current Chain ID: ${t}`,`Expected Chain ID: ${e.id} – ${e.name}`],name:`ChainMismatchError`})}},sm=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`})}},cm=class extends O{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},lm=class extends O{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function dm(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 Gt({docsPath:fm});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new Kt({docsPath:fm});return Bi([r,Zi(i.inputs,n)])}var fm,pm=o((()=>{gn(),Vi(),ua(),fm=`/docs/contract/encodeDeployData`}));function mm({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new am({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new am({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var hm=o((()=>{um()}));function gm(e,{docsPath:t,...n}){let r=(()=>{let t=rd(e,n);return t instanceof td?e:t})();return new Go(r,{docsPath:t,...n})}var _m=o((()=>{Zo(),nd(),id()}));function vm(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var ym=o((()=>{}));function bm({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=()=>xm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>xm.get(t)||[],l=e=>xm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=vm();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 xm,Sm=o((()=>{ym(),xm=new Map})),Cm,wm,Tm,Em=o((()=>{io(),k(),Wo(),Cm=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=>` ${Uo(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},wm=class extends O{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Uo(t)}`,`Response: ${ro(e)}`],name:`OffchainLookupResponseMalformedError`})}},Tm=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 Dm(e){let{abi:t,data:n}=e,r=Hi(n,0,4),i=t.find(e=>e.type===`function`&&r===da(Pt(e)));if(!i)throw new sn(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?Ha(i.inputs,Hi(n,4)):void 0}}var Om=o((()=>{gn(),qi(),fa(),eo(),Lt()}));function km(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=pa({abi:t,args:r,name:n});if(!e)throw new $t(n,{docsPath:Am});i=e}if(i.type!==`error`)throw new $t(void 0,{docsPath:Am});let a=Pt(i),o=da(a),s=`0x`;if(r&&r.length>0){if(!i.inputs)throw new Qt(i.name,{docsPath:Am});s=Zi(i.inputs,r)}return Bi([o,s])}var Am,jm=o((()=>{gn(),Vi(),fa(),ua(),Lt(),ga(),Am=`/docs/contract/encodeErrorResult`}));function Mm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=pa({abi:t,name:n});if(!e)throw new an(n,{docsPath:Nm});i=e}if(i.type!==`function`)throw new an(void 0,{docsPath:Nm});if(!i.outputs)throw new on(i.name,{docsPath:Nm});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new mn(r)})();return Zi(i.outputs,a)}var Nm,Pm=o((()=>{gn(),ua(),ga(),Nm=`/docs/contract/encodeFunctionResult`}));async function Fm(e){let{data:t,ccipRequest:n}=e,{args:[r]}=Dm({abi:qp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await Fm({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=Im(e)}})),Mm({abi:qp,functionName:`query`,result:[i,a]})}function Im(e){return e.name===`HttpRequestError`&&e.status?km({abi:qp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):km({abi:[Da],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var Lm=o((()=>{Qp(),ka(),Om(),jm(),Pm()})),Rm=c({ccipRequest:()=>Bm,offchainLookup:()=>zm,offchainLookupAbiItem:()=>Hm,offchainLookupSignature:()=>Vm});async function zm(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=to({data:r,abi:[Hm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:Bm;try{if(!cf(a,s))throw new Tm({sender:s,to:a});let{data:r}=await Wm(e,{blockNumber:t,blockTag:n,data:Ri([u,Zi([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await Fm({data:l,ccipRequest:e=>p({...e,requestOptions:i})}):await p({data:l,requestOptions:i,sender:s,urls:c}),d])]),requestOptions:i,to:a});return r}catch(e){throw i?.signal?.aborted?Bo(i.signal):Vo(e)?e:new Cm({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function Bm({data:e,requestOptions:t,sender:n,urls:r}){let i=Error(`An unknown error occurred.`);for(let a=0;a<r.length;a++){if(t?.signal?.aborted)throw Bo(t.signal);let o=r[a],s=o.includes(`{data}`)?`GET`:`POST`,c=s===`POST`?{data:e,sender:n}:void 0,l=s===`POST`?{\"Content-Type\":`application/json`}:{};try{let r=await fetch(o.replace(`{sender}`,n.toLowerCase()).replace(`{data}`,e),{body:JSON.stringify(c),headers:l,method:s,...t?.signal?{signal:t.signal}:{}}),a;if(a=r.headers.get(`Content-Type`)?.startsWith(`application/json`)?(await r.json()).data:await r.text(),!r.ok){i=new Qo({body:c,details:a?.error?ro(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!D(a)){i=new wm({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw Bo(t.signal);if(Vo(e))throw e;i=new Qo({body:c,details:e.message,url:o})}}throw i}var Vm,Hm,Um=o((()=>{th(),Em(),ns(),Wo(),no(),ua(),lf(),Vi(),Rt(),Lm(),io(),Vm=`0x556f1830`,Hm={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,blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,accessList:l,blobs:u,blockOverrides:d,code:f,data:p,factory:m,factoryData:h,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,requestOptions:S,to:C,value:w,stateOverride:ee,...te}=t,ne=n?M(n):void 0;if(f&&(m||h))throw new O(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&C)throw new O(\"Cannot provide both `code` & `to` as parameters.\");let T=f&&p,re=m&&h&&C&&p,ie=T||re,ae=T?Xm({code:f,data:p}):re?Zm({data:p,factory:m,factoryData:h,to:C}):p;try{xd(t);let n=Id({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Wp(d):void 0,p=_d(ee),m=e.chain?.formatters?.transactionRequest?.format,h=(m||ud)({...od(te,{format:m}),accessList:l,account:ne,authorizationList:r,blobs:u,data:ae,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:ie?void 0:C,value:w},`call`);if(i&&Gm({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=Jm(e,{blockNumber:o,deployless:t});if(!n||!Ym(p,n))return await qm(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof cm)&&!(e instanceof am))throw e}let T=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),re=await e.request({method:`eth_call`,params:T},S);return re===`0x`?{data:void 0}:{data:re}}catch(n){if(S?.signal?.aborted)throw Bo(S.signal);if(Vo(n))throw n;let r=Qm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Um(),Rm));if(e.ccipRead!==!1&&r?.slice(0,10)===a&&C)return{data:await i(e,{data:r,requestOptions:S,to:C})};throw ie&&r?.slice(0,10)===`0x101bb98d`?new Yo({factory:m}):gm(n,{...t,account:ne,chain:e.chain})}}function Gm({request:e}){let{data:t,to:n,...r}=e;return!(!t||t.startsWith(`0x82ad56cb`)||!n||Object.values(r).filter(e=>e!==void 0).length>0)}function Km(e){if(!e)return`default`;let t=eh.get(e);if(t!==void 0)return t;let n=$m++;return eh.set(e,n),n}async function qm(e,t){let{batchSize:n=1024,deployless:r=!1,wait:i=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{blockHash:a,blockNumber:o,blockTag:s=e.experimental_blockTag??`latest`,requireCanonical:c,data:l,multicallAddress:u,requestOptions:d,rpcStateOverride:f,to:p}=t,m=u===void 0?Jm(e,{blockNumber:o,deployless:r}):u,h=Id({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=bm({id:`${e.uid}.${g}.${Km(d)}${_}`,wait:i,shouldSplitBatch(e){return e.reduce((e,{data:t})=>e+(t.length-2),0)>n*2},fn:async t=>{let n=t.map(e=>({allowFailure:!0,callData:e.data,target:e.to})),r=wa({abi:Kp,args:[n],functionName:`aggregate3`}),i={...m===null?{data:Xm({code:rm,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return _f({abi:Kp,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Xo({data:y});return y===`0x`?{data:void 0}:{data:y}}function Jm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return mm({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new cm}function Ym(e,t){return e?Object.keys(e).some(e=>cf(e,t)):!1}function Xm(e){let{code:t,data:n}=e;return dm({abi:jt([`constructor(bytes, bytes)`]),bytecode:em,args:[t,n]})}function Zm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return dm({abi:jt([`constructor(address, bytes, address, bytes)`]),bytecode:tm,args:[i,t,n,r]})}function Qm(e){if(!(e instanceof O))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var $m,eh,th=o((()=>{Nt(),Gp(),ba(),Qp(),$p(),im(),k(),um(),Zo(),Wo(),yf(),pm(),Ta(),lf(),Ld(),hm(),_m(),sd(),md(),Sm(),vd(),Sd(),$m=0,eh=new WeakMap}));yf(),Ta(),th();async function nh(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 E(e,Wm,`call`)({...o,data:s,to:r});return _f({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw Ps(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}ba(),yf(),Ta(),th();async function rh(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=s.account?M(s.account):e.account,l=wa({abi:n,args:i,functionName:a});try{let{data:u}=await E(e,Wm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:_f({abi:n,args:i,functionName:a,data:u||`0x`}),request:{abi:n.filter(e=>`name`in e&&e.name===t.functionName),address:r,args:i,dataSuffix:o,functionName:a,...s,account:c}}}catch(e){throw Ps(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}let ih=new Map,ah=new Map,oh=0;function sh(e,t,n){let r=++oh,i=()=>ih.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){ih.delete(e),ah.delete(e);return}ih.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=ah.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(ih.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`&&ah.set(e,l),o}Wo();async function ch(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Bo(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(Bo(t))};t?.addEventListener(`abort`,o,{once:!0})})}function lh(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await ch(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await ch(r),s())};s()})(),a}let uh=new Map,dh=new Map;function fh(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,uh),r=t(e,dh);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function ph(e,{cacheKey:t,cacheTime:n=1/0}){let r=fh(t),i=r.response.get();if(i&&n>0&&Date.now()-i.created.getTime()<n)return i.data;let a=r.promise.get();a||(a=e(),r.promise.set(a));try{let e=await a;return r.response.set({created:new Date,data:e}),e}finally{r.promise.clear()}}let mh=e=>`blockNumber.${e}`;async function hh(e,{cacheTime:t=e.cacheTime}={}){let n=await ph(()=>e.request({method:`eth_blockNumber`}),{cacheKey:mh(e.uid),cacheTime:t});return BigInt(n)}k();var gh=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`})}},_h=class extends O{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};um();function vh({chain:e,currentChainId:t}){if(!e)throw new sm;if(t!==e.id)throw new om({chain:e,currentChainId:t})}async function yh(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ba(),k(),Vi(),sd(),md(),ki(),Sd();let bh=new Oi(128);async function xh(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 gh({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?M(n):null,b;try{xd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Hu({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,$d,`getChainId`)({}),r&&vh({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||ud)({...od(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Ri([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=bh.get(e.uid),C=S?`wallet_sendTransaction`:`eth_sendTransaction`;try{return await e.request({method:C,params:[x]},{retryCount:0})}catch(t){if(S===!1)throw t;let n=t;if(n.name===`InvalidInputRpcError`||n.name===`InvalidParamsRpcError`||n.name===`MethodNotFoundRpcError`||n.name===`MethodNotSupportedRpcError`)return await e.request({method:`wallet_sendTransaction`,params:[x]},{retryCount:0}).then(t=>(bh.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(bh.set(e.uid,!1),n):r});throw n}}if(y?.type===`local`){let t=(()=>{if(!y.nonceManager||h!==void 0)return y.nonceManager;let e=y.nonceManager;return{consume(t){return b={address:t.address,chainId:t.chainId},e.consume(t)},get(t){return e.get(t)},increment(t){return e.increment(t)},reset(t){return e.reset(t)}}})(),r=await E(e,af,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Ri([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:t,parameters:[...tf,`sidecars`],type:g,value:_,...v,to:n}),x=i?.serializers?.transaction,S=await y.signTransaction(r,{serializer:x}),C=(i??e.chain)?.serializers?.transactionEnvelope,w=C?await C({serializedTransaction:S,transaction:r}):S;return await E(e,yh,`sendRawTransaction`)({serializedTransaction:w})}throw y?.type===`smart`?new _h({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new _h({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof _h?e:(b&&y?.nonceManager?.reset(b),Qd(e,{...t,account:y,chain:t.chain||void 0}))}}ba(),Ta();async function Sh(e,t){return Sh.internal(e,xh,`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 gh({docsPath:`/docs/contract/writeContract`});let u=a?M(a):null,d=wa({abi:i,args:s,functionName:c});try{return await E(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw Ps(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(Sh||={}),k();var Ch=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}};Wo();function wh(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=async({count:c=0}={})=>{if(i?.aborted){o(Bo(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await ch(n,{signal:i})}catch(e){o(e);return}return s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(Bo(i));return}if(Vo(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s().catch(o)})}Vn(),ld();let Th={\"0x0\":`reverted`,\"0x1\":`success`};function Eh(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=>uf(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Bn(e.transactionIndex):null,status:e.status?Th[e.status]:null,type:e.type?Dd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let Dh=cd(`transactionReceipt`,Eh);ba(),k(),Ns(),Ta(),Vi(),Vn(),j();let Oh=A(0,{size:32});async function kh(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?M(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?Ri([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 ws(new O(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new As(new O(e,{details:e}))}let t=[];for(let n of d){try{let i=await xh(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?Rn(n.value):void 0});t.push({status:`fulfilled`,value:i})}catch(e){t.push({reason:e,status:`rejected`})}a>0&&await new Promise(e=>setTimeout(e,a))}if(t.every(e=>e.status===`rejected`))throw t[0].reason;return{id:Ri([...t.map(e=>e.status===`fulfilled`?e.value:Oh),A(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Qd(n,{...t,account:l,chain:t.chain})}}qi(),In(),Vn();async function Ah(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Fn(Ki(t,-64,-32)),r=Ki(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>Oh.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:Rn(e.blockNumber),gasUsed:Rn(e.gasUsed),status:Th[e.status]}))??[],statusCode:l,status:c,version:o}}k(),ym(),io();async function jh(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}=vm(),p,m=sh(l,{resolve:d,reject:f},t=>{let s=lh(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await wh(async()=>{let t=await E(e,Ah,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new Ch(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 Mh({id:n}))},s):void 0,await u}var Mh=class extends O{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let Nh=256,Ph;function Fh(e=11){if(!Ph||Nh+e>512){Ph=``,Nh=0;for(let e=0;e<256;e++)Ph+=(256+Math.random()*256|0).toString(16).substring(1)}return Ph.substring(Nh,Nh+++e)}ba();function Ih(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,tokens:s,type:c=`base`}=e,l=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),u=n?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),f=e.pollingInterval??d,p=e.cacheTime??f,m=e.account?M(e.account):void 0,{config:h,request:g,value:_}=e.transport({account:m,chain:n,pollingInterval:f}),v={account:m,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:f,request:g,tokens:s,transport:{...h,..._},type:c,uid:Fh(),...l?{experimental_blockTag:l}:{}};function y(e){return t=>{let n=t(e);for(let e in v)delete n[e];let r={...e,...n};for(let t in n){let i=e[t],a=n[t];Lh(i)&&Lh(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:y(r)})}}return Object.assign(v,{extend:y(v)})}function Lh(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Rh(e,t){let n=(n={})=>t(e,n);for(let r of[`call`,`calls`,`callWithPeriod`,`estimateGas`,`prepare`,`prepareRecipient`,`predict`,`simulate`])if(Object.hasOwn(t,r)){let i=t[r];n[r]=(t={})=>i.length===1?i(t):i(e,t)}for(let e of[`extractEvent`,`extractEvents`])Object.hasOwn(t,e)&&(n[e]=t[e]);return n}Ld();async function zh(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Id({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a}),s=await e.request({method:`eth_getCode`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0});if(s!==`0x`)return s}bd(),Di(),k(),um(),nd(),Li(),Bt(),qi(),Vn();function Bh(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Pi(n))throw new Ei({address:n});if(t<0)throw new lm({chainId:t})}Hh(e)}function Vh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Kd;for(let e of t){let t=zt(e),n=Bn(Hi(e,0,1));if(t!==32)throw new qd({hash:e,size:t});if(n!==1)throw new Jd({hash:e,version:n})}}Hh(e)}function Hh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new lm({chainId:t});if(i&&!Pi(i))throw new Ei({address:i});if(r&&r>yd)throw new Gu({maxFeePerGas:r});if(n&&r&&n>r)throw new ed({maxFeePerGas:r,maxPriorityFeePerGas:n})}function Uh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new lm({chainId:t});if(a&&!Pi(a))throw new Ei({address:a});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>yd)throw new Gu({maxFeePerGas:r})}function Wh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Pi(a))throw new Ei({address:a});if(t!==void 0&&t<=0)throw new lm({chainId:t});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>yd)throw new Gu({maxFeePerGas:r})}Di(),zo(),Li();function Gh(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let{address:r,storageKeys:i}=e[n];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new No({storageKey:i[e]});if(!Pi(r,{strict:!1}))throw new Ei({address:r});t.push([r,i])}return t}zo(),Vi(),In(),j();function Kh(e,t){let n=Zd(e);return n===`eip1559`?Yh(e,t):n===`eip2930`?Xh(e,t):n===`eip4844`?Jh(e,t):n===`eip7702`?qh(e,t):Zh(e,t)}function qh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Bh(e);let f=Gh(u),p=$h(n);return Bi([`0x04`,Iu([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,...Qh(e,t)])])}function Jh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Vh(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=zd({blobs:t,kzg:n});f===void 0&&(f=Wd({commitments:r})),p===void 0&&(p=Xd({blobs:t,commitments:r,proofs:Bd({blobs:t,commitments:r,kzg:n})}))}let m=Gh(u),h=[A(n),i?A(i):`0x`,l?A(l):`0x`,c?A(c):`0x`,r?A(r):`0x`,a??`0x`,o?A(o):`0x`,d??`0x`,m,s?A(s):`0x`,f??[],...Qh(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 Bi([`0x03`,Iu(p?[h,g,_,v]:h)])}function Yh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;Hh(e);let d=Gh(l);return Bi([`0x02`,Iu([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,...Qh(e,t)])])}function Xh(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;Uh(e);let u=Gh(c);return Bi([`0x01`,Iu([A(n),a?A(a):`0x`,l?A(l):`0x`,r?A(r):`0x`,o??`0x`,s?A(s):`0x`,i??`0x`,u,...Qh(e,t)])])}function Zh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;Wh(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 Oo({v:t.v});return e})(),r=Fn(t.r),i=Fn(t.s);l=[...l,A(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,A(n),`0x`,`0x`]);return Iu(l)}function Qh(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=Fn(n.r),o=Fn(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 $h(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`,...Qh({},i)])}return t}Ni(),lf();async function eg({address:e,authorization:t,signature:n}){return cf(ji(e),await Hu({authorization:t,signature:n}))}ki();let tg=new Oi(8192);function ng(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(tg.get(n))return tg.get(n);let r=e().finally(()=>tg.delete(n));return tg.set(n,r),r}k(),ns(),Ns(),Wo(),io();function rg(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,signal:c,uid:l}={...t,...r},{method:u}=n;if(a?.exclude?.includes(u)||a?.include&&!a.include.includes(u))throw new hs(Error(`method not supported`),{method:u});if(c?.aborted)throw Bo(c);return ng(()=>wh(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Bo(c);if(Vo(e))throw e;let t=e;switch(t.code){case os.code:throw new os(t);case ss.code:throw new ss(t);case cs.code:throw new cs(t,{method:n.method});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,{method:n.method});case gs.code:throw new gs(t);case _s.code:throw new _s(t);case vs.code:throw new vs(t);case ys.code:throw new ys(t);case bs.code:throw new bs(t);case xs.code:throw new xs(t);case Ss.code:throw new Ss(t);case Cs.code:throw new Cs(t);case ws.code:throw new ws(t);case Ts.code:throw new Ts(t);case Es.code:throw new Es(t);case Ds.code:throw new Ds(t);case Os.code:throw new Os(t);case ks.code:throw new ks(t);case As.code:throw new As(t);case 5e3:throw new vs(t);case js.code:throw new js(t);default:throw e instanceof O?e:new Ms(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Qo){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>ig(e)}),{enabled:i,id:i?ag(`${l}.${ro(n)}`):void 0})}}function ig(e){return Vo(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===gs.code||e.code===us.code||e.code===429||e.code===-32007:e instanceof Qo&&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 ag(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function og(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 sg(){return{}}k(),Pn(),Ia(),nr(),j();let cg=1024;function lg(e,t=`hex`){let n=Pa((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new kn(e);return Zn(e)}return e})(),{recursiveReadLimit:1/0}),r=ug(n,t);if(n.position<n.bytes.length)throw new Mn({count:n.bytes.length-n.position});return r}function ug(e,t=`hex`,n=0){if(n>=cg)throw new An({limit:cg});if(e.bytes.length===0)return t===`hex`?Wn(e.bytes):e.bytes;let r=e.readByte();if(r<128&&e.decrementPosition(1),r<192){let n=dg(e,r,128),i=e.readBytes(n);return t===`hex`?Wn(i):i}return fg(e,dg(e,r,192),t,n+1)}function dg(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 fg(e,t,n,r){let i=e.position,a=[];for(;e.position-i<t;)a.push(ug(e,n,r));if(e.position-i!==t)throw new jn({consumed:e.position-i,declared:t});return a}Rt();function pg(e){return D(e)&&e.length===66}Wo();function mg(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o,s=new AbortController;try{n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){if(s?.signal.aborted&&Vo(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function hg(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let gg=hg();ns(),Wo(),io();function _g(e,t={}){let{url:n,headers:r}=yg(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,maxResponseBodySize:o=t.maxResponseBodySize??10485760,onRequest:s=t.onRequest,onResponse:c=t.onResponse,timeout:l=t.timeout??1e4}=e,u={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:d,method:f,signal:p}=u;try{let e=await mg(async({signal:e})=>{let t={...u,body:ro(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??gg.take(),...e})):{jsonrpc:`2.0`,id:i.id??gg.take(),...i}),headers:{...r,\"Content-Type\":`application/json`,...d},method:f||`POST`,signal:p||(l>0?e:null)},o=new Request(n,t),c=await s?.(o,t)??{...t,url:n};return await a(c.url??n,c)},{errorInstance:new ts({body:i,url:n}),timeout:l,signal:!0});c&&await c(e);let t,m=await vg(e,{maxResponseBodySize:o});if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=JSON.parse(m);else{t=m;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 Qo({body:i,details:ro(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?Bo(p):Vo(e)||e instanceof Qo||e instanceof $o||e instanceof ts?e:new Qo({body:i,cause:e,url:n})}}}}async function vg(e,{maxResponseBodySize:t}){if(t===!1)return e.text();let n=e.headers.get(`Content-Length`);if(n){let e=Number(n);if(e>t)throw new $o({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new $o({maxSize:t,size:r});return n}let r=e.body.getReader(),i=new TextDecoder,a=``,o=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;if(o+=n.byteLength,o>t)throw await r.cancel(),new $o({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function yg(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}}}Vi(),Bt(),j();function bg(e){let t=typeof e==`string`?Gn(e):typeof e.raw==`string`?e.raw:Wn(e.raw);return Ri([Gn(`\u0019Ethereum Signed Message:\n${zt(t)}`),t])}mi();function xg(e,t){return pi(bg(e),t)}io(),k();var Sg=class extends O{constructor({domain:e}){super(`Invalid domain \"${ro(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},Cg=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`.\"]})}},wg=class extends O{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}},Tg=class extends O{constructor({type:e}){let t=e.replace(/^(u?int)/,`$&256`);super(`Type \"${e}\" is not a valid EIP-712 type.`,{metaMessages:[`Use \"${t}\" instead.`],name:`InvalidTypedDataTypeError`})}};gn(),Di(),Li(),Bt(),j(),Xi(),io();function Eg(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},o=!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),s=(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})();return ro({domain:o,message:s,primaryType:r,types:i})}function Dg(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.replace(/(\\[[0-9]*\\])+$/,``);if(s===`int`||s===`uint`)throw new Tg({type:r});let c=r.match(Yi);if(c&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=c;A(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Pi(o))throw new Ei({address:o});let l=r.match(Ji);if(l){let[e,t]=l;if(t&&zt(o)!==Number.parseInt(t,10))throw new ln({expectedSize:Number.parseInt(t,10),givenSize:zt(o)})}let u=i[r];u&&(kg(r),a(u,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new Sg({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`){if(i[r])a(i[r],n);else throw new Cg({primaryType:r,types:i})}}function Og({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 kg(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new wg({type:e})}ua(),Vi(),j(),mi();function Ag(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:Og({domain:t}),...e.types};Dg({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(jg({domain:t,types:i})),r!==`EIP712Domain`&&a.push(Mg({data:n,primaryType:r,types:i})),pi(Ri(a))}function jg({domain:e,types:t}){return Mg({data:e,primaryType:`EIP712Domain`,types:t})}function Mg({data:e,primaryType:t,types:n}){return pi(Ng({data:e,primaryType:t,types:n}))}function Ng({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[Pg({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Lg({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return Zi(r,i)}function Pg({primaryType:e,types:t}){return pi(Hn(Fg({primaryType:e,types:t})))}function Fg({primaryType:e,types:t}){let n=``,r=Ig({primaryType:e,types:t});r.delete(e);let i=[e,...Array.from(r).sort()];for(let e of i)n+=`${e}(${t[e].map(({name:e,type:t})=>`${t} ${e}`).join(`,`)})`;return n}function Ig({primaryType:e,types:t},n=new Set){let r=e.match(/^\\w*/u)?.[0];if(n.has(r)||t[r]===void 0)return n;n.add(r);for(let e of t[r])Ig({primaryType:e.type,types:t},n);return n}function Lg({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},pi(Ng({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},pi(r)];if(n===`string`)return[{type:`bytes32`},pi(Hn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Lg({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},pi(Zi(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}let Rg=`0x0000000000000000000000000000000000000000000000000000000000000000`;var zg=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.3.0`].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 Bg(e,t){return e.exec(t)?.groups}let Vg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Hg=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,Ug=/^\\(.+?\\).*?$/,Wg=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function Gg(e){let t=e.type;if(Wg.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+=Gg(i),r<n-1&&(t+=`, `)}let r=Bg(Wg,e.type);return t+=`)${r?.array||``}`,Gg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Kg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Gg(i),r!==n-1&&(t+=`, `)}return t}function qg(e){return e.type===`function`?`function ${e.name}(${Kg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Kg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Kg(e.inputs)})`:e.type===`error`?`error ${e.name}(${Kg(e.inputs)})`:e.type===`constructor`?`constructor(${Kg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Jg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Yg(e){return Jg.test(e)}function Xg(e){return Bg(Jg,e)}let Zg=new Set([`memory`,`indexed`,`storage`,`calldata`]),Qg=new Set([`calldata`,`memory`,`storage`]);var $g=class extends zg{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 zg{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`})}},t_=class extends zg{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`})}},n_=class extends zg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},r_=class extends zg{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`})}},i_=class extends zg{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`})}},a_=class extends zg{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`})}},o_=class extends zg{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`})}},s_=class extends zg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},c_=class extends zg{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`})}},l_=class extends zg{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`})}},u_=class extends zg{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 d_(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 f_=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}]]),p_=/^(?<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$_]*))?$/,m_=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,h_=/^u?int$/;function g_(e,t){let n=d_(e,t?.type,t?.structs);if(f_.has(n))return f_.get(n);let r=Ug.test(e),i=Bg(r?m_:p_,e);if(!i)throw new n_({param:e});if(i.name&&b_(i.name))throw new r_({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=__(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(g_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(h_.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!v_(c))throw new e_({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new i_({param:e,type:t?.type,modifier:i.modifier});if(Qg.has(i.modifier)&&!x_(c,!!i.array))throw new a_({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return f_.set(n,u),u}function __(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?__(o,[...t,n.trim()]):__(o,t,`${n}${i}`,r);case`(`:return __(o,t,`${n}${i}`,r+1);case`)`:return __(o,t,`${n}${i}`,r-1);default:return __(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new u_({current:n,depth:r});return t.push(n.trim()),t}function v_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||Vg.test(e)||Hg.test(e)}let y_=/^(?: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 b_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||Vg.test(e)||Hg.test(e)||y_.test(e)}function x_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function S_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Yg(n))continue;let i=Xg(n);if(!i)throw new s_({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=g_(t,{type:`struct`});o.push(n)}if(!o.length)throw new c_({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]=w_(a,t)}return r}let C_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function w_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Ug.test(i.type))r.push(i);else{let e=Bg(C_,i.type);if(!e?.type)throw new o_({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new l_({type:o});r.push({...i,type:`tuple${a??``}`,components:w_(t[o],t,new Set([...n,o]))})}else if(v_(o))r.push(i);else throw new $g({type:o})}}return r}function T_(e){let t=[];if(typeof e==`string`){let n=__(e),r=n.length;for(let e=0;e<r;e++)t.push(g_(n[e],{modifiers:Zg}))}else{let n=S_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Yg(r))continue;let a=__(r),o=a.length;for(let e=0;e<o;e++)t.push(g_(a[e],{modifiers:Zg,structs:n}))}}if(t.length===0)throw new t_({params:e});return t}let E_={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;oc(),fi(),vp(),z();function D_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=di(qf(e));return n===`Bytes`?r:Sp(r)}function O_(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=ac(Vd,qf(e),qf(t));return r===`Bytes`?i:Sp(i)}function k_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Vd(qf(e));return n===`Bytes`?r:Sp(r)}function A_(e){return e.length===66&&Mp(e,{strict:!0})}vp(),Tf(),z(),Wf();function j_(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 z_({prefix:r,cause:new V_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new z_({prefix:r,cause:new B_});return}throw new R_({publicKey:e})}function M_(e){let{x:t,y:n}=e;return{prefix:n%2n==0n?2:3,x:t}}function N_(e){let t=(()=>{if(Mp(e))return F_(e);if(up(e))return P_(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 j_(t),t}function P_(e){return F_(Sp(e))}function F_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new H_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(I(e,0,32)),y:BigInt(I(e,32,64))}:e.length===132?{prefix:Number(I(e,0,1)),x:BigInt(I(e,1,33)),y:BigInt(I(e,33,65))}:{prefix:Number(I(e,0,1)),x:BigInt(I(e,1,33))}}function I_(e,t={}){return Yf(L_(e,t))}function L_(e,t={}){j_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return P(a?F(n,{size:1}):`0x`,F(r,{size:32}),typeof i==`bigint`?F(i,{size:32}):`0x`)}var R_=class extends N{constructor({publicKey:e}){super(`Value \\`${Hf(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`})}},z_=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`})}},B_=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`})}},V_=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`})}},H_=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 ${L(bp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};vp(),Tf();let U_=/^0x[a-fA-F0-9]{40}$/;function W_(e,t={}){let{strict:n=!0}=t;if(!U_.test(e))throw new X_({address:e,cause:new Z_});if(n){if(e.toLowerCase()===e)return;if(G_(e)!==e)throw new X_({address:e,cause:new Q_})}}function G_(e){if(E_.has(e))return E_.get(e);W_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=D_(Zf(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 E_.set(e,i),i}function K_(e,t={}){let{checksum:n=!1}=t;return W_(e),n?G_(e):e}function q_(e,t={}){return K_(`0x${D_(`0x${L_(e).slice(4)}`).substring(26)}`,t)}function J_(e,t){return W_(e,{strict:!1}),W_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function Y_(e,t={}){let{strict:n=!0}=t??{};try{return W_(e,{strict:n}),!0}catch{return!1}}var X_=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`})}},Z_=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`})}},Q_=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 $_=/^(.*)\\[([0-9]*)\\]$/,ev=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,tv=/^(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 nv=2n**256n-1n;vp(),Tf(),z();function rv(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=xv(t.type);if(a){let[n,o]=a;return av(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return lv(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return iv(e,{checksum:r});if(t.type===`bool`)return ov(e);if(t.type.startsWith(`bytes`))return sv(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return cv(e,t);if(t.type===`string`)return uv(e,{staticPosition:i});throw new Rv(t.type)}function iv(e,t={}){let{checksum:n=!1}=t;return[(e=>n?G_(e):e)(Sp(rp(e.readBytes(32),-20))),32]}function av(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(i===null){let n=a+op(e.readBytes(32)),i=n+32;e.setPosition(n);let o=op(e.readBytes(32)),s=Sv(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=rv(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a),o===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(a+32),[l,32]}if(Sv(t)){let n=a+op(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=rv(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]=rv(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n),i===0&&(e.assertReadLimit(),e._touch())}return[s,o]}function ov(e){return[ap(e.readBytes(32),{size:32}),32]}function sv(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=op(e.readBytes(32));e.setPosition(n+t);let r=op(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Sp(i),32]}return[Sp(e.readBytes(Number.parseInt(i,10),32)),32]}function cv(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?ip(i,{signed:n}):op(i,{signed:n}),32]}function lv(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(Sv(t)){let n=i+op(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=rv(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]=rv(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function uv(e,{staticPosition:t}){let n=t+op(e.readBytes(32));e.setPosition(n);let r=op(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=sp(cp(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function dv({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(fv({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function fv({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=xv(r.type);if(i){let[t,a]=i;return hv(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return bv(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return mv(n,{checksum:e});if(r.type===`bool`)return _v(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=tv.exec(r.type)??[];return vv(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return gv(n,{type:r.type});if(r.type===`string`)return yv(n);throw new Rv(r.type)}function pv(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];t+=r?32:L(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(F(t+i,{size:32})),r.push(s),i+=L(s)):n.push(s)}return P(...n,...r)}function mv(e,t){let{checksum:n=!1}=t;return W_(e,{strict:n}),{dynamic:!1,encoded:Tp(e.toLowerCase())}}function hv(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new Lv(e);if(!a&&e.length!==r)throw new Pv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=e.length===0&&Sv(i),s=[];for(let t=0;t<e.length;t++){let r=fv({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=pv(s);if(a){let t=F(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 gv(e,{type:t}){let[,n]=t.split(`bytes`),r=L(e);if(!n){let t=e;return r%32!=0&&(t=Ep(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:P(Tp(F(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new Fv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:Ep(e)}}function _v(e){if(typeof e!=`boolean`)throw new N(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:Tp(xp(e))}}function vv(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 Fp({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:F(e,{size:32,signed:t})}}function yv(e){let t=Cp(e),n=Math.ceil(L(t)/32),r=[];for(let e=0;e<n;e++)r.push(Ep(I(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:P(Ep(F(L(t),{size:32})),...r)}}function bv(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=fv({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?pv(a):P(...a.map(({encoded:e})=>e))}}function xv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function Sv(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Sv);let n=xv(e.type);return!!(n&&Sv({...e,type:n[1]}))}Tf();let Cv={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 Dv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Ev({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Tv({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 Tv({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 wv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Cv);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Tv=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`})}},Ev=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`})}},Dv=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`})}};vp(),Tf(),z();function Ov(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Yf(t):t,o=wv(a);if(np(a)===0&&e.length>0)throw new Nv;if(np(a)&&np(a)<32)throw new Mv({data:typeof t==`string`?t:Sp(t),parameters:e,size:np(a)});let s=0,c=r===`Array`?[]:{};for(let t=0;t<e.length;++t){let n=e[t];s<a.length&&o.setPosition(s);let[l,u]=rv(o,n,{checksumAddress:i,staticPosition:0});s+=u,r===`Array`?c.push(l):c[n.name??t]=l}return c}function kv(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new Iv({expectedLength:e.length,givenLength:t.length});let i=pv(dv({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function Av(e,t){if(e.length!==t.length)throw new Iv({expectedLength:e.length,givenLength:t.length});let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r];n.push(Av.encode(i,a))}return P(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return W_(e),Tp(e.toLowerCase(),r?32:0)}if(e===`string`)return Cp(n);if(e===`bytes`)return n;if(e===`bool`)return Tp(xp(n),r?32:1);let i=e.match(tv);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return F(n,{size:r?32:o,signed:t===`int`})}let a=e.match(ev);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new Fv({expectedSize:Number.parseInt(t,10),value:n});return Ep(n,r?32:0)}let o=e.match($_);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 Rv(e)}e.encode=t})(Av||={});function jv(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?T_(e):e}var Mv=class extends N{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Kg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},Nv=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`})}},Pv=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`})}},Fv=class extends N{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${L(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},Iv=class extends N{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding parameters/values length mismatch.`,`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.LengthMismatchError`})}},Lv=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`})}},Rv=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`})}};vp(),Tf(),z();function zv(e){return Bv(e,`Hex`)}function Bv(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return Vv(wv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Rp(e);return Yf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function Vv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?Sp(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=Hv(e,n,128),i=e.readBytes(r);return t===`Hex`?Sp(i):i}return Uv(e,Hv(e,n,192),t)}function Hv(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 Uv(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(Vv(e,n));return i}function Wv(e,t){let{as:n}=t,r=Kv(e),i=wv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?Sp(i.bytes):i.bytes}function Gv(e,t={}){let{as:n=`Hex`}=t;return Wv(e,{as:n})}function Kv(e){return Array.isArray(e)?qv(e.map(e=>Kv(e))):Jv(e)}function qv(e){let t=e.reduce((e,t)=>e+t.length,0),n=Yv(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 Jv(e){let t=typeof e==`string`?Yf(e):e,n=Yv(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 Yv(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.`)}Tf(),z(),Wf();function Xv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new uy({signature:e});if(e.r<0n||e.r>nv)throw new dy({value:e.r});if(e.s<0n||e.s>nv)throw new fy({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new py({value:e.yParity})}function Zv(e){return Qv(Sp(e))}function Qv(e){if(e.length!==130&&e.length!==132)throw new ly({signature:e});let t=BigInt(I(e,0,32)),n=BigInt(I(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return sy(t)}catch{throw new py({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function $v(e){if(e.r!==void 0&&e.s!==void 0)return ey(e)}function ey(e){let t=typeof e==`string`?Qv(e):e instanceof Uint8Array?Zv(e):typeof e.r==`string`?ny(e):e.v?ty(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Xv(t),t}function ty(e){return{r:e.r,s:e.s,yParity:sy(e.v)}}function ny(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=sy(t)),typeof n!=`number`)throw new py({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function ry(e){let[t,n,r]=e;return ey({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function iy(e){Xv(e);let t=e.r,n=e.s;return P(F(t,{size:32}),F(n,{size:32}),typeof e.yParity==`number`?F(cy(e.yParity),{size:1}):`0x`)}function ay(e){let{r:t,s:n,yParity:r}=e;return{r:F(t,{size:32}),s:F(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function oy(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:Op(F(t)),n===0n?`0x`:Op(F(n))]}function sy(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new my({value:e})}function cy(e){if(e===0)return 27;if(e===1)return 28;throw new py({value:e})}var ly=class extends N{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${L(bp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},uy=class extends N{constructor({signature:e}){super(`Signature \\`${Hf(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},dy=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`})}},fy=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`})}},py=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`})}},my=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`})}};z();function hy(e,t={}){return typeof e.chainId==`string`?gy(e):{...e,...t.signature}}function gy(e){let{address:t,chainId:n,nonce:r}=e,i=$v(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function _y(e){return e.map(gy)}function vy(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:F(n),nonce:F(r),...ay(i)}}function yy(e){return e.map(vy)}Mu(),vp(),Tf(),z();function by(e={}){let{as:t=`Hex`}=e,n=Cy({as:t});return{privateKey:n,publicKey:xy({privateKey:n})}}function xy(e){let{privateKey:t}=e;return N_(_u.ProjectivePoint.fromPrivateKey(bp(t).slice(2)))}function Sy(e){let{as:t=`Hex`,privateKey:n,publicKey:r}=e,i=_u.ProjectivePoint.fromHex(L_(r).slice(2)).multiply(_u.utils.normPrivateKeyToScalar(bp(n).slice(2))).toRawBytes(!0);return t===`Hex`?Sp(i):i}function Cy(e={}){let{as:t=`Hex`}=e,n=_u.utils.randomPrivateKey();return t===`Hex`?Sp(n):n}function wy(e){return q_(Ty(e))}function Ty(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return N_(new _u.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(bp(t).substring(2)))}function Ey(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=_u.sign(qf(r),qf(i),{extraEntropy:typeof t==`boolean`?t:bp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Dy(e){let{hash:t,payload:n}=e;return e.address?J_(e.address,wy({payload:n,signature:e.signature})):_u.verify(e.signature,qf(n),I_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}Zf(`ox.secp256k1.fromSeed.v1`),Tf(),z();let Oy=jv(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function ky(e){if(typeof e==`string`){if(I(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new My(e)}else Xv(e.authorization)}function Ay(e){ky(e);let t=Ap(I(e,-64,-32)),n=I(e,-t-64,-64),r=I(e,0,-t-64),[i,a,o]=Ov(Oy,n);return{authorization:hy({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 jy(e){try{return ky(e),!0}catch{return!1}}var My=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`})}};zo(),qi(),Vn();function Ny(e){let t=Ki(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 jo({serializedType:t})}Di(),zo(),Li(),Rt(),Tn(),In(),Vn();function Py(e){let t=Ny(e);return t===`eip1559`?Ly(e):t===`eip2930`?Ry(e):t===`eip4844`?Iy(e):t===`eip7702`?Fy(e):zy(e)}function Fy(e){let t=By(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new Mo({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=Rn(o)),D(l)&&l!==`0x`&&(h.data=l),D(r)&&(h.nonce=r===`0x`?0:Bn(r)),D(c)&&c!==`0x`&&(h.value=Rn(c)),D(a)&&a!==`0x`&&(h.maxFeePerGas=Rn(a)),D(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=Rn(i)),u.length!==0&&u!==`0x`&&(h.accessList=Vy(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=Hy(d)),Bh(h),{...t.length===13?Uy(t):void 0,...h}}function Iy(e){let t=By(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 Mo({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=Rn(l)),D(f)&&f!==`0x`&&(S.data=f),D(o)&&(S.nonce=o===`0x`?0:Bn(o)),D(d)&&d!==`0x`&&(S.value=Rn(d)),D(m)&&m!==`0x`&&(S.maxFeePerBlobGas=Rn(m)),D(c)&&c!==`0x`&&(S.maxFeePerGas=Rn(c)),D(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=Rn(s)),p.length!==0&&p!==`0x`&&(S.accessList=Vy(p)),y&&b&&x&&(S.sidecars=Xd({blobs:y,commitments:b,proofs:x})),Vh(S),{...r.length===14?Uy(r):void 0,...S}}function Ly(e){let t=By(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(t.length!==9&&t.length!==12)throw new Mo({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=Rn(o)),D(l)&&l!==`0x`&&(m.data=l),D(r)&&(m.nonce=r===`0x`?0:Bn(r)),D(c)&&c!==`0x`&&(m.value=Rn(c)),D(a)&&a!==`0x`&&(m.maxFeePerGas=Rn(a)),D(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=Rn(i)),u.length!==0&&u!==`0x`&&(m.accessList=Vy(u)),Hh(m),{...t.length===12?Uy(t):void 0,...m}}function Ry(e){let t=By(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(t.length!==8&&t.length!==11)throw new Mo({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=Rn(a)),D(c)&&c!==`0x`&&(p.data=c),D(r)&&(p.nonce=r===`0x`?0:Bn(r)),D(s)&&s!==`0x`&&(p.value=Rn(s)),D(i)&&i!==`0x`&&(p.gasPrice=Rn(i)),l.length!==0&&l!==`0x`&&(p.accessList=Vy(l)),Uh(p),{...t.length===11?Uy(t):void 0,...p}}function zy(e){let t=lg(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(t.length!==6&&t.length!==9)throw new Mo({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=Rn(i)),D(s)&&s!==`0x`&&(d.data=s),D(n)&&(d.nonce=n===`0x`?0:Bn(n)),D(o)&&o!==`0x`&&(d.value=Rn(o)),D(r)&&r!==`0x`&&(d.gasPrice=Rn(r)),Wh(d),t.length===6)return d;let f=D(c)&&c!==`0x`?Rn(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 Oo({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function By(e){return lg(`0x${e.slice(4)}`,`hex`)}function Vy(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Pi(r,{strict:!1}))throw new Ei({address:r});t.push({address:r,storageKeys:i.map(e=>pg(e)?e:Fn(e))})}return t}function Hy(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),...Uy([o,s,c])})}return t}function Uy(e){let t=e.slice(-3),n=t[0]===`0x`?0n:Rn(t[0]);if(n!==0n&&n!==1n)throw new ko({yParity:n});let r=n===0n?27n:28n;return{r:Cn(t[1],{size:32}),s:Cn(t[2],{size:32}),v:r,yParity:r===27n?0:1}}go();function Wy(e,t){return so(e,t)}go();function Gy(e,t){return uo(e,t)}zo(),j();async function Ky(e,{blockHash:t,blockNumber:n,blockTag:r,hash:i,index:a,sender:o,nonce:s}){let c=r||`latest`,l=n===void 0?void 0:A(n),u=null;if(i?u=await e.request({method:`eth_getTransactionByHash`,params:[i]},{dedupe:!0}):t?u=await e.request({method:`eth_getTransactionByBlockHashAndIndex`,params:[t,A(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,A(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,A(s)]},{dedupe:!0})),!u)throw new Fo({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||Od)(u,`getTransaction`)}zo();async function qy(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new Io({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||Eh)(n,`getTransactionReceipt`)}Qp(),im(),gn(),k(),Zo(),yf(),Ta(),hm(),Sm(),io();async function Jy(e,t){let{account:n,authorizationList:r,allowFailure:i=!0,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,requireCanonical:l,stateOverride:u}=t,d=t.contracts,f=typeof e.batch?.multicall==`object`?e.batch.multicall:{},p=t.batchSize??f.batchSize??1024,m=t.deployless??f.deployless??!1,h=(()=>{if(t.multicallAddress)return t.multicallAddress;if(m)return null;if(e.chain)return mm({blockNumber:o,chain:e.chain,contract:`multicall3`});throw Error(`client chain not configured. multicallAddress is required.`)})(),g=[[]],_=0,v=0;for(let e=0;e<d.length;e++){let{abi:t,address:r,args:a,functionName:o}=d[e];try{let e=wa({abi:t,args:a,functionName:o});v+=(e.length-2)/2,p>0&&v>p&&g[_].length>0&&(_++,v=(e.length-2)/2,g[_]=[]),g[_]=[...g[_],{allowFailure:!0,callData:e,target:r}]}catch(e){let s=Ps(e,{abi:t,address:r,args:a,docsPath:`/docs/contract/multicall`,functionName:o,sender:n});if(!i)throw s;g[_]=[...g[_],{allowFailure:!0,callData:`0x`,target:r}]}}let y=!!e.batch?.multicall,b=y?g.flatMap(e=>e.map(e=>[e])):g,x=await Promise.allSettled(b.map(t=>y?Yy(e,{account:n,authorizationList:r,batchSize:p,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,call:t[0],multicallAddress:h,requireCanonical:l,stateOverride:u}).then(e=>[e]):E(e,nh,`readContract`)({...h===null?{code:rm}:{address:h},abi:Kp,account:n,args:[t],authorizationList:r,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,functionName:`aggregate3`,requireCanonical:l,stateOverride:u}))),S=[];for(let e=0;e<x.length;e++){let t=x[e];if(t.status===`rejected`){if(!i)throw t.reason;for(let n=0;n<b[e].length;n++)S.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}=b[e][t],{abi:s,address:c,functionName:l,args:u}=d[S.length];try{if(o===`0x`)throw new Jt;if(!a)throw new Xo({data:r});let e=_f({abi:s,args:u,data:r,functionName:l});S.push(i?{result:e,status:`success`}:e)}catch(e){let t=Ps(e,{abi:s,address:c,args:u,docsPath:`/docs/contract/multicall`,functionName:l});if(!i)throw t;S.push({error:t,result:void 0,status:`failure`})}}}if(S.length!==d.length)throw new O(`multicall results mismatch`);return S}async function Yy(e,t){let{batchSize:n,call:r,multicallAddress:i,...a}=t,{wait:o=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{schedule:s}=bm({id:ro([`multicall`,e.uid,n,i,a]),wait:o,shouldSplitBatch(e){return n!==0&&e.reduce((e,{callData:t})=>e+(t.length-2)/2,0)>n},fn:t=>E(e,nh,`readContract`)({...i===null?{code:rm}:{address:i},...a,abi:Kp,args:[t],functionName:`aggregate3`})}),[c]=await s(r);return c}Tf();function Xy(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 Zy(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Y_(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)=>Zy(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=>Zy(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function Qy(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 Qy(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`))&&Y_(n[r],{strict:!1}))return o}}Tf(),z();function $y(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`?eb(e)===I(t,0,4):e.type===`event`&&nb(e)===t:`name`in e&&e.name===t);if(o.length===0)throw new ib({name:t});if(o.length===1)return{...o[0],...i?{hash:nb(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:nb(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?Zy(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=Qy(e.inputs,s.inputs,r);if(t)throw new rb({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 ib({name:t});return{...c,...i?{hash:nb(c)}:{}}}function eb(...e){return I(nb((()=>{if(Array.isArray(e[0])){let[t,n]=e;return $y(t,n)}return e[0]})()),0,4)}function tb(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return $y(t,n)}return e[0]})();return Xy(typeof t==`string`?t:qg(t))}function nb(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return $y(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:D_(Cp(tb(t)))}var rb=class extends N{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Xy(qg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${Xy(qg(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`})}},ib=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 ab(e){return eb(e)}Tf(),z();function ob(e){if(I(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new lb(e)}function sb(e){let{data:t,signature:n,to:r}=e;return P(kv(jv(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function cb(e){try{return ob(e),!0}catch{return!1}}var lb=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`})}};Mu(),Vn(),nr();function ub({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 _u.Signature(Rn(e),Rn(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Zn(o)}Qp(),im(),Zo(),pm(),Ta(),Ni(),lf(),Vi(),Rt(),Vn(),j(),th();async function db(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?ub(e):Wn(e)})();try{if(s===`eoa`)try{if(cf(ji(n),await Fu({hash:i,signature:c})))return!0}catch{}return jy(c)?await fb(e,{...t,multicallAddress:o,signature:c}):await pb(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(cf(ji(n),await Fu({hash:i,signature:c})))return!0}catch{}if(e instanceof hb)return!1;throw e}}async function fb(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,multicallAddress:s,requireCanonical:c}=t,{authorization:l,data:u,signature:d,to:f}=Ay(t.signature);if(await zh(e,{address:n,blockHash:r,blockNumber:i,blockTag:a,requireCanonical:c})===Bi([`0xef0100`,l.address]))return await mb(e,{...t,signature:d});let p={address:l.address,chainId:Number(l.chainId),nonce:Number(l.nonce),r:A(l.r,{size:32}),s:A(l.s,{size:32}),yParity:l.yParity};if(!await eg({address:n,authorization:p}))throw new hb;let m=await E(e,nh,`readContract`)({...s?{address:s}:{code:rm},authorizationList:[p],abi:Kp,blockHash:r,blockNumber:i,blockTag:`pending`,functionName:`aggregate3`,requireCanonical:c,args:[[...u?[{allowFailure:!0,target:f??n,callData:u}]:[],{allowFailure:!0,target:n,callData:wa({abi:Yp,functionName:`isValidSignature`,args:[o,d]})}]]});if((m[m.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new hb}async function pb(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||cb(o)?o:sb({data:i,signature:o,to:r}))(),u=s?{to:s,data:wa({abi:Xp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:dm({abi:Xp,args:[n,a,l],bytecode:nm}),...c},{data:d}=await E(e,Wm,`call`)(u).catch(e=>{throw e instanceof Go?new hb:e});if(zn(d??`0x0`))return!0;throw new hb}async function mb(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,requireCanonical:s,signature:c}=t;if((await E(e,nh,`readContract`)({address:n,abi:Yp,args:[o,c],blockHash:r,blockNumber:i,blockTag:a,functionName:`isValidSignature`,requireCanonical:s}).catch(e=>{throw e instanceof Ko?new hb:e})).startsWith(`0x1626ba7e`))return!0;throw new hb}var hb=class extends Error{};Vn(),io();function gb(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:i,poll:a,pollingInterval:o=e.pollingInterval}){let s=a===void 0?e.transport.type!==`webSocket`&&e.transport.type!==`ipc`&&(e.transport.type!==`fallback`||e.transport.transports[0].config.type!==`webSocket`&&e.transport.transports[0].config.type!==`ipc`):a,c;return s?sh(ro([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>lh(async()=>{try{let t=await E(e,hh,`getBlockNumber`)({cacheTime:0});if(c!==void 0){if(t===c)return;if(t-c>1&&n)for(let e=c+1n;e<t;e++)r.onBlockNumber(e,c),c=e}(c===void 0||t>c)&&(r.onBlockNumber(t,c),c=t)}catch(e){r.onError?.(e)}},{emitOnBegin:t,interval:o})):sh(ro([`watchBlockNumber`,e.uid,t,n]),{onBlockNumber:r,onError:i},t=>{let n=!0,r=()=>n=!1;return(async()=>{try{let{unsubscribe:i}=await(()=>{if(e.transport.type===`fallback`){let t=e.transport.transports.find(e=>e.config.type===`webSocket`||e.config.type===`ipc`);return t?t.value:e.transport}return e.transport})().subscribe({params:[`newHeads`],onData(e){if(!n)return;let r=Rn(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}zo(),ym(),io();async function _b(e,t){let{checkReplacement:n=e.chain?.supportsTransactionReplacementDetection??!0,confirmations:r=1,hash:i,onReplaced:a,retryCount:o=6,retryDelay:s=({count:e})=>~~(1<<e)*200,timeout:c=18e4}=t,l=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,u=ro([`waitForTransactionReceipt`,e.uid,i,{checkReplacement:n,confirmations:r,pollingInterval:l,retryCount:o,timeout:c}]),d,f,p,m=!1,h,g,{promise:_,resolve:v,reject:y}=vm(),b=c?setTimeout(()=>{g?.(),h?.(),y(new Ro({hash:i}))},c):void 0;return h=sh(u,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await E(e,qy,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=E(e,gb,`watchBlockNumber`)({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:l,async onBlockNumber(a){let c=e=>{clearTimeout(b),g?.(),e(),h?.()},l=a;if(!m)try{if(p){if(r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p));return}if(n&&!d&&(m=!0,await wh(async()=>{d=await E(e,Ky,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await E(e,qy,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof Fo||n instanceof Io){if(!d){m=!1;return}try{f=d,m=!0;let n=await wh(()=>E(e,Md,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof Ed});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await E(e,qy,`getTransactionReceipt`)({hash:i.hash}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r)))return;let a=`replaced`;i.to===f.to&&i.value===f.value&&i.input===f.input?a=`repriced`:i.from===i.to&&i.value===0n&&(a=`cancelled`),c(()=>{t.onReplaced?.({reason:a,replacedTransaction:f,transaction:i,transactionReceipt:p}),t.resolve(p)})}catch(e){c(()=>t.reject(e))}}else c(()=>t.reject(n))}}})}),_}let vb=/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})$/;function yb(e){return vb.test(e)?!Number.isNaN(new Date(e).getTime()):!1}function bb(e){return yb(e)?new Date(e):new Date(NaN)}function xb(e){let{scheme:t,statement:n,...r}=e.match(Sb)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,resources:l,...u}=e.match(Cb)?.groups??{},d=l?.split(`\n- `).slice(1);return{...r,...u,...i?{chainId:Number(i)}:{},...a?{expirationTime:bb(a)}:{},...o?{issuedAt:bb(o)}:{},...s?{notBefore:bb(s)}:{},...c?{requestId:c}:{},...d?{resources:d}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}let Sb=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+\\-.]*):\\/\\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\\n)(?<address>0x[a-fA-F0-9]{40})\\n\\n(?:(?<statement>.*)\\n\\n)?/,Cb=/(?:URI: (?<uri>.+))\\n(?:Version: (?<version>.+))\\n(?:Chain ID: (?<chainId>\\d+))\\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\\n(?:Issued At: (?<issuedAt>.+))(?:\\nExpiration Time: (?<expirationTime>.+))?(?:\\nNot Before: (?<notBefore>.+))?(?:\\nRequest ID: (?<requestId>.*))?(?:\\nResources:(?<resources>(?:\\n- .+)*))?/;Li(),lf(),Ta();function wb(e,t){return{amount:e,decimals:t,formatted:Wy(e,t)}}function Tb(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return Gy(e.formatted,Eb(n))}function Eb(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function Db(e,t){return typeof e==`bigint`?t:e.decimals??t}function Ob(e,t){let{decimals:n,token:r}=t,i=kb(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(Pi(r,{strict:!1}))return{address:r,decimals:n??Mb(e,r)};throw Error(`Token \"${r}\" is not a declared ERC-20 token on the client's \\`tokens\\` array (with an address for the client's chain), and is not a valid address.`)}function kb(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=jb(n,t);if(i)return Ab(i,r);if(Pi(t,{strict:!1}))for(let e of n){let n=Ab(e,r);if(n&&cf(n.address,t))return n}}function Ab(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function jb(e,t){let n=t.toLowerCase();for(let t of e)if(t.symbol?.toLowerCase()===n)return t}function Mb(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=Ab(e,r);if(n&&cf(n.address,t))return n.decimals}}function Nb(e){let{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}=e;return{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}}function Pb(e){return{...e,data:wa(e),to:e.address}}Qp();async function Fb(e,t){return Fb.inner(Sh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return Pb(Ib(e,t))}e.call=n;async function r(t,n){return sf(t,{...Nb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return rh(t,{...Nb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=mf({abi:Zp,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(Fb||={});function Ib(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=Ob(e,{token:i});return{abi:Zp,address:a,args:[r,Tb(n,o)],functionName:`approve`}}zo();async function Lb(e,{serializedTransaction:t,throwOnReceiptRevert:n,timeout:r}){let i=await e.request({method:`eth_sendRawTransactionSync`,params:r?[t,r]:[t]},{retryCount:0}),a=(e.chain?.formatters?.transactionReceipt?.format||Eh)(i);if(a.status===`reverted`&&n)throw new Lo({receipt:a});return a}ba(),k(),zo(),Vi(),sd(),md(),ki(),Sd();let Rb=new Oi(128);async function zb(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,pollingInterval:g,throwOnReceiptRevert:_,type:v,value:y,...b}=t,x=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new gh({docsPath:`/docs/actions/wallet/sendTransactionSync`});let S=n?M(n):null,C;try{xd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Hu({authorization:o[0]}).catch(()=>{throw new O(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(S?.type===`json-rpc`||S===null){let t;i!==null&&(t=await E(e,$d,`getChainId`)({}),r&&vh({currentChainId:t,chain:i}));let C=e.chain?.formatters?.transactionRequest?.format,w=(C||ud)({...od(b,{format:C}),accessList:a,account:S,authorizationList:o,blobs:s,chainId:t,data:l?Ri([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:v,value:y},`sendTransaction`),ee=Rb.get(e.uid),te=ee?`wallet_sendTransaction`:`eth_sendTransaction`,ne=await(async()=>{try{return await e.request({method:te,params:[w]},{retryCount:0})}catch(t){if(ee===!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:[w]},{retryCount:0}).then(t=>(Rb.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(Rb.set(e.uid,!1),n):r});throw n}})(),T=await E(e,_b,`waitForTransactionReceipt`)({checkReplacement:!1,hash:ne,pollingInterval:g,timeout:x});if(_&&T.status===`reverted`)throw new Lo({receipt:T});return T}if(S?.type===`local`){let r=(()=>{if(!S.nonceManager||h!==void 0)return S.nonceManager;let e=S.nonceManager;return{consume(t){return C={address:t.address,chainId:t.chainId},e.consume(t)},get(t){return e.get(t)},increment(t){return e.increment(t)},reset(t){return e.reset(t)}}})(),g=await E(e,af,`prepareTransactionRequest`)({account:S,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Ri([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:r,parameters:[...tf,`sidecars`],type:v,value:y,...b,to:n}),x=i?.serializers?.transaction,w=await S.signTransaction(g,{serializer:x}),ee=(i??e.chain)?.serializers?.transactionEnvelope,te=ee?await ee({serializedTransaction:w,transaction:g}):w;return await E(e,Lb,`sendRawTransactionSync`)({serializedTransaction:te,throwOnReceiptRevert:_,timeout:t.timeout})}throw S?.type===`smart`?new _h({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new _h({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:S?.type})}catch(e){throw e instanceof _h?e:(C&&!(e instanceof Lo)&&S?.nonceManager?.reset(C),Qd(e,{...t,account:S,chain:t.chain||void 0}))}}async function Bb(e,t){return Sh.internal(e,zb,`sendTransactionSync`,t)}async function Vb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=Ob(e,{token:r}),o=Db(n,a),s=await Fb.inner(Bb,e,{...t,throwOnReceiptRevert:i}),{args:c}=Fb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:Wy(c.value,o)},receipt:s}}Qp();async function Hb(e,t){return Hb.inner(Sh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return Pb(Ub(e,t))}e.call=n;async function r(t,n){return sf(t,{...Nb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return rh(t,{...Nb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=mf({abi:Zp,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(Hb||={});function Ub(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=Ob(e,{token:a}),c=Tb(n,s);return r?{abi:Zp,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:Zp,address:o,args:[i,c],functionName:`transfer`}}async function Wb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=Ob(e,{token:r}),o=Db(n,a),s=await Hb.inner(Bb,e,{...t,throwOnReceiptRevert:i}),{args:c}=Hb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:Wy(c.value,o)},receipt:s}}j();async function Gb(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:A(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}pm();function Kb(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=dm({abi:n,args:r,bytecode:i});return xh(e,{...a,...a.authorizationList?{to:null}:{},data:o})}Ni();async function qb(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Ai(e))}ba(),j();async function Jb(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?M(n):void 0,a=r?[i?.address,[A(r)]]:[i?.address],o=await e.request({method:`wallet_getCapabilities`,params:a}),s={};for(let[e,t]of Object.entries(o)){s[Number(e)]={};for(let[n,r]of Object.entries(t))n===`addSubAccount`&&(n=`unstable_addSubAccount`),s[Number(e)][n]=r}return typeof r==`number`?s[r]:s}async function Yb(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}ba(),lf();async function Xb(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new gh({docsPath:`/docs/eip7702/prepareAuthorization`});let a=M(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:M(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await E(e,$d,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await E(e,Rd,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&cf(o.address,a.address))&&(s.nonce+=1)),s}Ni();async function Zb(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>ji(e))}async function Qb(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}async function $b(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await E(e,kh,`sendCalls`)(t);return await E(e,jh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function ex(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}ba();async function tx(e,t){let{account:n=e.account}=t;if(!n)throw new gh({docsPath:`/docs/eip7702/signAuthorization`});let r=M(n);if(!r.signAuthorization)throw new _h({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await Xb(e,t);return r.signAuthorization(i)}ba(),j();async function nx(e,{account:t=e.account,message:n}){if(!t)throw new gh({docsPath:`/docs/actions/wallet/signMessage`});let r=M(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Gn(n):n.raw instanceof Uint8Array?Hn(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}ba(),j(),md(),Sd();async function rx(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new gh({docsPath:`/docs/actions/wallet/signTransaction`});let a=M(n);xd({account:a,...t});let o=await E(e,$d,`getChainId`)({});r!==null&&vh({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||ud;return a.signTransaction?a.signTransaction({...i,account:a,chainId:o},{serializer:e.chain?.serializers?.transaction}):await e.request({method:`eth_signTransaction`,params:[{...s({...i,account:a},`signTransaction`),chainId:A(o),from:a.address}]},{retryCount:0})}ba();async function ix(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new gh({docsPath:`/docs/actions/wallet/signTypedData`});let o=M(n),s={EIP712Domain:Og({domain:r}),...t.types};if(Dg({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=Eg({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}j();async function ax(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:A(t)}]},{retryCount:0})}async function ox(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function sx(e){return{addChain:t=>Gb(e,t),deployContract:t=>Kb(e,t),fillTransaction:t=>ef(e,t),getAddresses:()=>qb(e),getCallsStatus:t=>Ah(e,t),getCapabilities:t=>Jb(e,t),getChainId:()=>$d(e),getPermissions:()=>Yb(e),prepareAuthorization:t=>Xb(e,t),prepareTransactionRequest:t=>af(e,t),requestAddresses:()=>Zb(e),requestPermissions:t=>Qb(e,t),sendCalls:t=>kh(e,t),sendCallsSync:t=>$b(e,t),sendRawTransaction:t=>yh(e,t),sendRawTransactionSync:t=>Lb(e,t),sendTransaction:t=>xh(e,t),sendTransactionSync:t=>zb(e,t),showCallsStatus:t=>ex(e,t),signAuthorization:t=>tx(e,t),signMessage:t=>nx(e,t),signTransaction:t=>rx(e,t),signTypedData:t=>ix(e,t),switchChain:t=>ax(e,t),waitForCallsStatus:t=>jh(e,t),watchAsset:t=>ox(e,t),writeContract:t=>Sh(e,t),writeContractSync:t=>Bb(e,t),token:{approve:Rh(e,Fb),approveSync:Rh(e,Vb),transfer:Rh(e,Hb),transferSync:Rh(e,Wb)}}}function cx(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return Ih({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(sx)}function lx({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=Fh();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:rg(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function ux(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>lx({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}k();var dx=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`})}};ns(),Sm();let fx=0,px=new WeakMap;function mx(e){if(!e)return`default`;let t=px.get(e);if(t!==void 0)return t;let n=fx++;return px.set(e,n),n}function hx(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,maxResponseBodySize:o,methods:s,name:c=`HTTP JSON-RPC`,onFetchRequest:l,onFetchResponse:u,retryDelay:d,raw:f}=t;return({chain:p,retryCount:m,timeout:h})=>{let{batchSize:g=1e3,wait:_=0}=typeof n==`object`?n:{},v=t.retryCount??m,y=h??t.timeout??1e4,b=e||p?.rpcUrls.default.http[0];if(!b)throw new dx;let x=_g(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return lx({key:a,methods:s,name:c,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=bm({id:`${b}.${mx(r?.signal)}`,wait:_,shouldSplitBatch(e){return e.length>g},fn:e=>x.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await x.request({body:e,fetchOptions:a})])(i);if(f)return{error:s,result:c};if(s)throw new es({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}Tf(),z();function gx(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&W_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>A_(e)?e:Op(e))})}return t}function _x(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(L(r[e])!==32)throw new vx({storageKey:r[e]});n&&W_(n,{strict:!1}),t.push([n,r])}return t}var vx=class extends N{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${L(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};vp();let yx=new TextEncoder,bx=new TextDecoder,xx=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),Sx={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function Cx(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]=xx[r>>18],i[t+1]=xx[r>>12&63],i[t+2]=xx[r>>6&63],i[t+3]=xx[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=bx.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function wx(e,t={}){return Cx(Yf(e),t)}function Tx(e,t={}){return Cx(Zf(e),t)}function Ex(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);yx.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(Sx[r[e]]<<18)+(Sx[r[e+1]]<<12)+(Sx[r[e+2]]<<6)+Sx[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 Dx(e){return sp(Ex(e))}let Ox={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},kx={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function Ax(e,t={}){if(!e)return null;let n=$v(e),r={...e,...n};return r.blockNumber=e.blockNumber?BigInt(e.blockNumber):null,`blockTimestamp`in e&&(r.blockTimestamp=e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0),r.data=e.input,r.gas=BigInt(e.gas??0n),r.nonce=BigInt(e.nonce??0n),r.transactionIndex=e.transactionIndex?Number(e.transactionIndex):null,r.value=BigInt(e.value??0n),e.authorizationList&&(r.authorizationList=_y(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=kx[e.type]??e.type),n&&(r.v=cy(n.yParity)),r}vp(),Tf(),z();function jx(e,t={}){let{as:n=`Hex`}=t,r=Gx(e),i=wv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?Sp(i.bytes):i.bytes}var Mx=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`})}},Nx=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`})}},Px=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`})}},Fx=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`})}},Ix=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`})}},Lx=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`})}},Rx=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`})}},zx=class extends N{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},Bx=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`})}},Vx=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`})}},Hx=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`})}},Ux=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`})}},Wx=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 Gx(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 Gx.number(e);if(typeof e==`bigint`)throw new Rx;if(typeof e==`string`)return Gx.string(e);if(Array.isArray(e))return Gx.array(e);if(e instanceof Uint8Array)return Gx.byteString(e);if(e instanceof ArrayBuffer)return Gx.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return Gx.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return Gx.map(e);if(typeof e==`object`)return Gx.object(e);throw new zx({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 Bx({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 Bx({number:e.toString(10)})}e.number=t;function n(e){let t=Zf(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 Vx({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 Hx({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 Wx({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 Ux({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 Ux({size:i})}e.map=o})(Gx||={});function Kx(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Kx.readUnsignedInteger(e,r);case 1:return Kx.readNegativeInteger(e,r);case 2:return Kx.readByteString(e,r);case 3:return Kx.readTextString(e,r);case 4:return Kx.readArray(e,r);case 5:return Kx.readMap(e,r);case 6:throw new Fx({tag:r});case 7:return Kx.readSimpleOrFloat(e,r);default:throw new Mx({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 Px:new Nx({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 Ix({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 Ix({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return sp(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 Lx({value:t});return}throw new Nx({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}})(Kx||={}),vp(),z();function qx(e){let t=Yf(K_(e.from)),n=$f(up(e.salt)?e.salt:Yf(e.salt),32),r=`bytecodeHash`in e?up(e.bytecodeHash)?e.bytecodeHash:Yf(e.bytecodeHash):D_(e.bytecode,{as:`Bytes`});return K_(I(D_(Kf(Yf(`0xff`),t,n,r),{as:`Hex`}),12))}Tf();function Jx(e){let t=I_(e),n=t.slice(1,33),r=t.slice(33,65);return jx(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}rc(),Wl(),ul();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Yx=Qc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),Xx=Ul({a:Yx.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:Yx,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},ec),Zx=Qc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));Ul({a:Zx.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:Zx,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},nc);let Qx=Qc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));Ul({a:Qx.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:Qx,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},tc);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet $x=Xx,eS=Xx;vp(),Tf(),z();function tS(e){let{privateKey:t}=e;return N_(eS.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):Sp(t).slice(2)))}function nS(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=eS.sign(r instanceof Uint8Array?r:Yf(r),i instanceof Uint8Array?i:Yf(i),{extraEntropy:typeof t==`boolean`?t:bp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function rS(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return eS.verify(i,n instanceof Uint8Array?n:Yf(n),L_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}Zf(`ox.p256.fromSeed.v1`);var iS=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 aS(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw oS(r.error);return r.result}function oS(e){let t=e;if(t instanceof Error&&!(`code`in t))return new vS({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===vS.code?new vS(t):n===cS.code?new cS(t):n===_S.code?new _S(t):n===hS.code?new hS(t):n===pS.code?new pS(t):n===gS.code?new gS(t):n===fS.code?new fS(t):n===yS.code?new yS(t):n===lS.code?new lS(t):n===uS.code?new uS(t):n===dS.code?new dS(t):n===mS.code?new mS(t):new vS({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var sS=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??``}},cS=class e extends sS{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(cS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var lS=class e extends sS{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(lS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var uS=class e extends sS{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(uS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var dS=class e extends sS{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(dS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var fS=class e extends sS{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(fS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var pS=class e extends sS{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(pS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var mS=class e extends sS{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(mS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var hS=class e extends sS{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(hS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var gS=class e extends sS{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(gS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var _S=class e extends sS{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(_S,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var vS=class e extends sS{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(vS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var yS=class e extends sS{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(yS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Tf();var bS=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}},xS=class extends bS{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(xS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var SS=class extends bS{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(SS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var CS=class extends bS{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(CS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var wS=class extends bS{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(wS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var TS=class extends bS{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(TS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var ES=class extends bS{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(ES,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var DS=class extends bS{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(DS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var OS=class extends bS{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(OS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var kS=class extends bS{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(kS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var AS=class extends bS{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(AS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var jS=class extends bS{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(jS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var MS=class extends bS{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(MS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var NS=class extends bS{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(NS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function PS(){let e=new iS.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 FS(e,t={}){if(!e)throw new LS;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?aS(n):n}catch(e){throw IS(e)}}}}function IS(e){let t=oS(e);if(t instanceof vS){if(!t.data)return t;let{code:e}=t.data;if(e===wS.code)return new wS(t);if(e===TS.code)return new TS(t);if(e===xS.code)return new xS(t);if(e===SS.code)return new SS(t);if(e===CS.code)return new CS(t);if(e===ES.code)return new ES(t);if(e===MS.code)return new MS(t);if(e===NS.code)return new NS(t);if(e===jS.code)return new jS(t);if(e===AS.code)return new AS(t);if(e===kS.code)return new kS(t);if(e===OS.code)return new OS(t);if(e===DS.code)return new DS(t)}return t}var LS=class extends N{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function RS(e={}){let t=e.id??0;return{prepare(e){return zS({id:t++,...e})},get id(){return t}}}function zS(e){return{...e,jsonrpc:`2.0`}}function BS(){return null}z();function VS(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=yy(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=F(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=F(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=F(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=F(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=F(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=F(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=F(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=F(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=Ox[e.type]||e.type),e.value!==void 0&&(t.value=F(e.value)),t}Tf();let HS={wei:0,gwei:9,szabo:12,finney:15,ether:18};function US(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 WS(e,t=`wei`){return US(e,HS.gwei-HS[t])}Tf();var GS=class extends N{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${WS(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`})}},KS=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`})}},qS=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`})}},JS=class extends N{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${WS(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${WS(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function YS(e){let t=$x.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}z();function XS(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=P(k_(Cp(r)),F(n,{size:1}),F(i,{size:4}));if(!t)return a;let o=Sp(new Uint8Array(16)),s=Sp(t.id);return P(a,o,F(t.id.length,{size:2}),s,Jx(t.publicKey))}function ZS(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:wx(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}vp(),Tf(),z();function QS(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:Ex(e),type:`public-key`})):[{id:Ex(t),type:`public-key`}]}:{},challenge:Yf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function $S(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=XS({flag:i,rpId:o,signCount:s}),u=ZS({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=k_(Cp(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:P(l,d)}}async function eC(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:QS(n);try{let e=await t(r);if(!e)throw new tC;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=YS(o);return{id:s,metadata:{authenticatorData:Sp(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new tC({cause:e})}}var tC=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 nC(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Yf(s);if(u.length<37||a!==void 0&&!Qf(u.slice(0,32),k_(Cp(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||Sp(Ex(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:rS({hash:!0,payload:Kf(u,k_(Zf(c),{as:`Bytes`})),publicKey:i,signature:o})}let rC=$S;async function iC(e){return eC(e)}function aC(e){return nC(e)}vp();async function oC(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=N_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function sC(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,qf(t)),i=Jf(new Uint8Array(r)),a=ip(rp(i,0,32)),o=ip(rp(i,32,64));return o>$x.CURVE.n/2n&&(o=$x.CURVE.n-o),{r:a,s:o}}Tf(),z();let cC=2n**64n-1n,lC=`0x${`00`.repeat(32)}`;function uC(e){let{owners:t,salt:n,threshold:r,version:i=0n}=e;if(n!==void 0&&L(n)!==32)throw new _C({reason:`salt must be 32 bytes`});if(vC(i),t.length===0)throw new _C({reason:`owners cannot be empty`});if(t.length>48)throw new _C({reason:`too many owners`});if(!Number.isInteger(Number(r)))throw new _C({reason:`threshold must be an integer`});if(Number(r)<1)throw new _C({reason:`threshold cannot be zero`});if(Number(r)>8)throw new _C({reason:`threshold exceeds max threshold`});let a=0,o=[],s;for(let e of t){if(!Y_(e.owner)||R(e.owner)===0n)throw new _C({reason:`owner cannot be zero`});if(!Number.isInteger(Number(e.weight)))throw new _C({reason:`owner weight must be an integer`});if(Number(e.weight)<1)throw new _C({reason:`owner weight cannot be zero`});let t=R(e.owner);if(s!==void 0&&s>=t)throw new _C({reason:`owners must be strictly ascending`});s=t;let n=Number(e.weight);a+=n,o.push(n)}if(a>255)throw new _C({reason:`total owner weight exceeds u8 max`});if(Number(r)>a)throw new _C({reason:`threshold exceeds total owner weight`});let c=o.sort((e,t)=>t-e).slice(0,8).reduce((e,t)=>e+t,0);if(Number(r)>c)throw new _C({reason:`threshold exceeds weight reachable by 8 owner signatures`})}function dC(e){let t=e.version??0n;vC(t);let n={owners:[...e.owners].sort((e,t)=>R(e.owner)<R(t.owner)?-1:1),salt:e.salt?Tp(e.salt,32):lC,threshold:e.threshold,version:BigInt(t)};return uC(n),n}function fC(e){return dC({...e,version:R(e.version)})}function pC(e){let[t,n,r,i]=e;if(e.length!==4||typeof t!=`string`||L(t)!==32||typeof n!=`string`||L(n)>8||n.startsWith(`0x00`)||typeof r!=`string`||L(r)>1||r.startsWith(`0x00`)||!Array.isArray(i)||i.some(e=>!Array.isArray(e)||e.length!==2||typeof e[0]!=`string`||!Y_(e[0])||typeof e[1]!=`string`||L(e[1])>1||e[1].startsWith(`0x00`)))throw new _C({reason:`invalid config RLP tuple`});let a={salt:t&&t!==`0x`?Tp(t,32):lC,version:n===`0x`?0n:R(n),threshold:r===`0x`?0:Ap(r),owners:i.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:Ap(n)}})};return uC(a),a}function mC(e,t){if(W_(t.factory),uC(e),BigInt(e.version??0)!==0n)throw new _C({reason:`account address requires version zero`});let n=D_(P(Cp(`tempo:multisig:account`),Tp(e.salt??lC,32),F(e.threshold,{size:1}),F(e.owners.length,{size:1}),...e.owners.flatMap(e=>[e.owner,F(e.weight,{size:1})]))),r=qx({bytecodeHash:`0x583cc63a2e37f645b43eac911b1a6d6de08b83abdc308c61364edda8cfc3bd37`,from:t.factory,salt:n});if(R(r)===0n)throw new _C({reason:`derived account cannot be zero`});if(e.owners.some(e=>J_(e.owner,r)))throw new _C({reason:`derived account cannot be an owner`});return r}function hC(e){let{account:t,config:n,payload:r}=e;if(vC(n.version),W_(t),L(bp(r))!==32)throw new _C({reason:`payload must be 32 bytes`});return D_(P(Cp(`tempo:multisig:signature`),bp(r),t,F(n.version??0n,{size:8})))}function gC(e){uC(e);let t=e.owners.map(e=>[e.owner,F(e.weight)]),n=e.salt?Tp(e.salt,32):lC,r=BigInt(e.version??0);return[n,r===0n?`0x`:F(r),F(e.threshold),t]}var _C=class extends N{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}};function vC(e){if(typeof e!=`bigint`&&typeof e!=`number`||typeof e==`number`&&!Number.isSafeInteger(e)||BigInt(e)<0n||BigInt(e)>cC)throw new _C({reason:`version must be an unsigned 64-bit integer`})}Tf(),z(),Wf();let yC=`0x01`,bC=`0x02`,xC=`0x03`,SC=`0x04`,CC=`0x05`,wC=`0x7777777777777777777777777777777777777777777777777777777777777777`;function TC(e){let t=PC(e);if(t===`secp256k1`){Xv(e.signature);return}if(t===`p256`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),typeof t.prehash!=`boolean`&&n.push(`prehash`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new BC({envelope:e,missing:n,type:`p256`});return}if(t===`webAuthn`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),t.metadata?(t.metadata.authenticatorData||n.push(`metadata.authenticatorData`),t.metadata.clientDataJSON||n.push(`metadata.clientDataJSON`)):n.push(`metadata`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new BC({envelope:e,missing:n,type:`webAuthn`});return}if(t===`keychain`){let t=e;EC(t),TC(t.inner);return}if(t===`multisig`){DC(e);return}}function EC(e){if(e.version!==`v1`)return;let t=e.inner;for(;PC(t)===`keychain`;)t=t.inner;if(PC(t)===`multisig`)throw new HC({reason:`multisig access keys require keychain V2`})}function DC(e){let t=[];if(e.account||t.push(`account`),e.config||t.push(`config`),Array.isArray(e.signatures)||t.push(`signatures`),t.length>0)throw new BC({envelope:e,missing:t,type:`multisig`});if(!Y_(e.account))throw new HC({reason:`multisig account is invalid`});if(R(e.account)===0n)throw new HC({reason:`multisig account cannot be zero`});if(e.signatures.length===0)throw new HC({reason:`multisig signatures cannot be empty`});if(e.signatures.length>8)throw new HC({reason:`multisig signatures exceed 8`});if(uC(e.config),(e.config.version??0n)===0n&&e.config.owners.some(t=>J_(t.owner,e.account)))throw new HC({reason:`initial account cannot be an owner`});for(let t of e.signatures){let e=PC(t);if(e===`keychain`||e===`multisig`)throw new HC({reason:`owner approvals must be primitive signatures`});if(TC(t),L(FC(t))>2049)throw new HC({reason:`multisig owner signature exceeds 2049 bytes`})}}function OC(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:OC({...e,signature:t.inner}):t.type===`multisig`?t.account:q_(kC(e))}function kC(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return Ty({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return kC({payload:t,signature:n.inner});case`multisig`:throw new zC({envelope:n})}}function AC(e){return jC(e)}function jC(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?I(e,0,-L(wC)):e;if(L(t)===65){let e=Qv(t);return Xv(e),{signature:e,type:`secp256k1`}}let n=I(t,0,1),r=I(t,1),i=L(r);if(n===yC){if(i!==129)throw new VC({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${i} bytes`,serialized:t});return{publicKey:{prefix:4,x:R(I(r,64,96)),y:R(I(r,96,128))},prehash:Ap(I(r,128,129))!==0,signature:{r:R(I(r,0,32)),s:R(I(r,32,64))},type:`p256`}}if(n===bC){if(i<128)throw new VC({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${i} bytes`,serialized:t});let e=i-128,n=I(r,0,e),a,o;for(let t=37;t<e;t++){let e=jp(I(n,t));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),a=I(n,0,t),o=e;break}catch{}}if(!a||!o)throw new VC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{publicKey:{prefix:4,x:R(I(r,e+64,e+96)),y:R(I(r,e+96,e+128))},metadata:{authenticatorData:a,clientDataJSON:o},signature:{r:R(I(r,e,e+32)),s:R(I(r,e+32,e+64))},type:`webAuthn`}}if(n===xC||n===SC){let e={userAddress:I(r,0,20),inner:jC(I(r,20)),type:`keychain`,version:n===SC?`v2`:`v1`};return TC(e),e}if(n===CC){let e=zv(r);if(!Array.isArray(e)||e.length!==3)throw new VC({reason:`invalid multisig wire shape: expected exactly three fields`,serialized:t});let[n,i,a]=e;if(typeof n!=`string`||!Y_(n))throw new VC({reason:`invalid multisig account`,serialized:t});if(!Array.isArray(i))throw new VC({reason:`invalid multisig config`,serialized:t});if(!Array.isArray(a)||a.length===0||a.length>8)throw new VC({reason:`invalid multisig signatures list`,serialized:t});let o={type:`multisig`,account:n,config:pC(i),signatures:a.map(e=>{if(!Mp(e)||L(e)>2049)throw new VC({reason:`invalid multisig owner signature`,serialized:t});if(L(e)!==65&&![`0x01`,`0x02`].includes(I(e,0,1)))throw new VC({reason:`owner approvals must be primitive signatures`,serialized:t});return AC(e)})};return DC(o),o}throw new VC({reason:`Unknown signature type identifier: ${n}. Expected ${yC} (P256), ${bC} (WebAuthn), ${xC} (Keychain V1), ${SC} (Keychain V2), or ${CC} (Multisig)`,serialized:t})}function MC(e,t){if(typeof e==`string`)return AC(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=PC(e);if(n===`multisig`){let t=e;return{...t,config:dC(t.config),signatures:t.signatures.map(e=>MC(e)),type:n}}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:q_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:q_(Ty({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function NC(e){if(typeof e==`string`){let t=AC(P(CC,e));if(t.type!==`multisig`)throw new zC({envelope:e});return t}if(e.type===`secp256k1`)return{signature:ny(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:R(e.pubKeyX),y:R(e.pubKeyY)},signature:{r:R(e.r),s:R(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=L(t),r,i;for(let e=37;e<n;e++){let n=jp(I(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=I(t,0,e),i=n;break}catch{}}if(!r||!i)throw new VC({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:R(e.pubKeyX),y:R(e.pubKeyY)},signature:{r:R(e.r),s:R(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e){let t=e,n={type:`keychain`,userAddress:t.userAddress,inner:NC(t.signature),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}};return TC(n),n}throw new zC({envelope:e})}function PC(e){if(typeof e!=`object`||!e)throw new zC({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`;if(`account`in e&&`config`in e&&`signatures`in e)return`multisig`;throw new zC({envelope:e})}function FC(e,t={}){let n=PC(e);if(n===`secp256k1`)return P(iy(e.signature),t.magic?wC:`0x`);if(n===`p256`){let n=e;return P(yC,F(n.signature.r,{size:32}),F(n.signature.s,{size:32}),F(n.publicKey.x,{size:32}),F(n.publicKey.y,{size:32}),F(+!!n.prehash,{size:1}),t.magic?wC:`0x`)}if(n===`webAuthn`){let n=e,r=P(n.metadata.authenticatorData,Cp(n.metadata.clientDataJSON));return P(bC,r,F(n.signature.r,{size:32}),F(n.signature.s,{size:32}),F(n.publicKey.x,{size:32}),F(n.publicKey.y,{size:32}),t.magic?wC:`0x`)}if(n===`keychain`){let n=e;return TC(n),P(n.version===`v1`?xC:SC,n.userAddress,FC(n.inner),t.magic?wC:`0x`)}if(n===`multisig`){let n=e;return TC(n),P(CC,Gv([n.account,gC(n.config),n.signatures.map(e=>FC(e))]),t.magic?wC:`0x`)}throw new zC({envelope:e})}function IC(e){let{signatures:t}=e,n=hC(e);return t.map(e=>({key:R(OC({payload:n,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function LC(e){let t=PC(e);if(t===`secp256k1`)return{...ay(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:F(t.publicKey.x,{size:32}),pubKeyY:F(t.publicKey.y,{size:32}),r:F(t.signature.r,{size:32}),s:F(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=P(t.metadata.authenticatorData,Cp(t.metadata.clientDataJSON));return{pubKeyX:F(t.publicKey.x,{size:32}),pubKeyY:F(t.publicKey.y,{size:32}),r:F(t.signature.r,{size:32}),s:F(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return EC(t),{type:`keychain`,userAddress:t.userAddress,signature:LC(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(t===`multisig`)return I(FC(e),1);throw new zC({envelope:e})}function RC(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return q_(t.publicKey)})();if(!r)return!1;let i=MC(e);if(i.type===`secp256k1`)return r?Dy({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return J_(q_(i.publicKey),r)?rS({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return J_(q_(i.publicKey),r)?aC({challenge:bp(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new UC(`Unable to verify signature envelope of type \"${i.type}\".`)}var zC=class extends N{constructor({envelope:e}){super(`Unable to coerce value (\\`${Hf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},BC=class extends N{constructor({envelope:e,missing:t,type:n}){super(`Signature envelope of type \"${n}\" is missing required properties: ${t.map(e=>`\\`${e}\\``).join(`, `)}.\\n\\nProvided: ${Hf(e)}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.MissingPropertiesError`})}},VC=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`})}},HC=class extends N{constructor({reason:e}){super(`Invalid native multisig owner approval: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidMultisigApprovalError`})}},UC=class extends N{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};Tf(),z();function WC(e){return e.startsWith(`tempo`)?GC(e).address:e}function GC(e){if(!e.startsWith(`tempox`))throw new KC({address:e});let t=e.slice(6);return yp(t,{strict:!0}),{address:G_(t)}}var KC=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`})}};z();function qC(e,t={}){if(typeof e.chainId==`string`)return JC(e);let n={...e,address:WC(e.address)};return t.signature?{...n,signature:t.signature}:n}function JC(e){let{address:t,chainId:n,nonce:r}=e,i=NC(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function YC(e){return e.map(e=>JC(e))}function XC(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=AC(i)),qC(a)}function ZC(e){let t=[];for(let n of e)t.push(XC(n));return t}function QC(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:F(n),nonce:F(r),signature:LC(i)}}function $C(e){return e.map(e=>QC(e))}function ew(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?FC(e.signature):void 0;return[n?F(n):`0x`,t,r?F(r):`0x`,...i?[i]:[]]}function tw(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(ew(n));return t}z();let nw=`0x20c0`;function rw(e){let t=WC(e);if(!t.toLowerCase().startsWith(nw))throw Error(`invalid tip20 address.`);return R(I(t,6))}function iw(e){if(typeof e==`string`){let t=WC(e);return W_(t),t}let t=F(e,{size:18});return P(nw,t)}z();let aw=jv(`address, address, address, address, bytes32, address, bytes32, address, uint256`),ow=jv(`bytes32, bytes32, bytes32, uint256, address`),sw=jv(`bytes32, bytes32, uint96`),cw=D_(Cp(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),lw=D_(Cp(`TIP20 Channel Reserve`)),uw=D_(Cp(`1`)),dw=`0x0000000000000000000000000000000000000000`,fw=`0x4d50500000000000000000000000000000000000`,pw=D_(Cp(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function mw(e){let{authorizedSigner:t=dw,expiringNonceHash:n,operator:r=dw,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:vw(t),expiringNonceHash:n,operator:vw(r),payee:vw(i),payer:vw(a),salt:o,token:typeof s==`string`?vw(s):iw(s)}}function hw(e,t){let n=mw(e);return D_(kv(aw,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,fw,BigInt(t.chainId)]))}function gw(e){return D_(kv(ow,[cw,lw,uw,BigInt(e.chainId),fw]))}function _w(e){let t=D_(kv(sw,[pw,e.channelId,e.cumulativeAmount]));return D_(P(`0x1901`,gw({chainId:e.chainId}),t))}function vw(e){return K_(e)}z();function yw(e,t={}){if(`keyId`in e)return bw(e);Pw(e.type,e.account);let n=e;n.witness!==void 0&&Fw(n.witness),n.signature&&Iw(n.signature);let r={...n,...n.account===void 0?{}:{account:WC(n.account)},address:WC(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:WC(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:WC(e.address),selector:Nw(e.selector),...e.recipients?{recipients:e.recipients.map(e=>WC(e))}:{}}))}:{}};if(t.signature){let e=MC(t.signature);return Iw(e),{...r,signature:e}}return r}function bw(e){let{allowedCalls:t,chainId:n,keyId:r,expiry:i,limits:a,keyType:o}=e,s=e.witness??void 0,c=e.isAdmin??void 0,l=e.account??void 0;Pw(o,l);let u=NC(e.signature);Iw(u),s!==void 0&&Fw(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:Mw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0;return{address:r,chainId:n===`0x`?0n:R(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&jw(e.period)>0?{period:jw(e.period)}:{}})),...d?{scopes:d}:{},signature:u,...o===`multisig`?{account:l,type:o}:{type:o},...s===void 0?{}:{witness:s},...l===void 0?{}:{account:l},...c?{isAdmin:!0}:{}}}function xw(e){let[t,n]=e,[r,i,a,...o]=t,s=(()=>{switch(i){case`0x`:case`0x00`:return`secp256k1`;case`0x01`:return`p256`;case`0x02`:return`webAuthn`;case`0x03`:return`multisig`;default:throw Error(`Invalid key type: ${i}`)}})(),[c,l,u,d,f,p]=o,m=Lw(c)?void 0:jw(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:Aw(n),...r===void 0?{}:{period:jw(r)}}}):void 0,g=Array.isArray(u)?u.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}:{}}})}):void 0,_=Lw(d)?void 0:d;_!==void 0&&Fw(_);let v=(()=>{if(!Lw(f)){if(f!==`0x01`)throw new zw(f);return!0}})(),y=Lw(p)?void 0:p;Pw(s,y);let b={address:a,chainId:r===`0x`?0n:R(r),...s===`multisig`?{account:y,type:s}:{type:s},...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...y===void 0?{}:{account:y},...v?{isAdmin:!0}:{}};if(n){let e=AC(n);Iw(e),b.signature=e}return yw(b)}function Sw(e){return ww(e)}function Cw(e){return xw(zv(e))}function ww(e){let[t]=Dw(e);return D_(Gv(t))}function Tw(e){return Gv(Dw(e))}function Ew(e){Pw(e.type,e.account);let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;Iw(s),c!==void 0&&Fw(c);let d=(()=>{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:Nw(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`:F(r),expiry:typeof i==`number`?F(i):null,keyId:WC(t),...o===`multisig`?{account:u,keyType:o}:{keyType:o},limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:F(t),...n?{period:kw(n)}:{}})),signature:LC(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function Dw(e){Pw(e.type,e.account);let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&Fw(o);let l=(()=>{if(e.signature)return Iw(e.signature),FC(e.signature)})(),u=e.type,d=(()=>{switch(u){case`secp256k1`:return`0x`;case`p256`:return`0x01`;case`webAuthn`:return`0x02`;case`multisig`:return`0x03`;default:throw Error(`Invalid key type: ${u}`)}})(),f=a?.map(e=>{let t=[e.token,Ow(e.limit)];return e.period&&e.period>0&&t.push(kw(e.period)),t}),p=(()=>{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([Nw(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})(),m=o!==void 0||s||c!==void 0,h=[{value:i!=null&&i!==0?kw(i):void 0,placeholder:`0x`},{value:f,placeholder:m?`0x`:[]},{value:p,placeholder:`0x`},{value:o,placeholder:`0x`},{value:s?`0x01`:void 0,placeholder:`0x`},{value:c,placeholder:`0x`}],g=-1;for(let e=h.length-1;e>=0;e--)if(h[e].value!==void 0){g=e;break}let _=h.slice(0,g+1).map(({value:e,placeholder:t})=>e??t);return[[Ow(n),d,t,..._],...l?[l]:[]]}function Ow(e){return e===0n?`0x`:F(e)}function kw(e){return e===0?`0x`:F(e)}function Aw(e){return e===`0x`?0n:BigInt(e)}function jw(e){return e===`0x`?0:Ap(e)}function Mw(e){return typeof e==`string`?e:Array.isArray(e)?Sp(new Uint8Array(e)):e}function Nw(e){if(e)return e.startsWith(`0x`)?e:eb(e)}function Pw(e,t){if(e===`multisig`&&t==null)throw new Vw}function Fw(e){if(L(e)!==32)throw new Rw(e)}function Iw(e){if(e.type===`keychain`)throw new Bw(e.type)}function Lw(e){return e===void 0||e===`0x`}var Rw=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${L(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},zw=class extends Error{constructor(e){super(`Admin marker \\`${e}\\` is invalid; expected \\`0x01\\` (TIP-1049).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidAdminMarkerError`})}},Bw=class extends Error{constructor(e){super(`Signature type \\`${e}\\` is invalid for key authorizations; expected \\`secp256k1\\`, \\`p256\\`, \\`webAuthn\\`, or \\`multisig\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidSignatureTypeError`})}},Vw=class extends Error{constructor(){super(`Multisig key grants require a parent account binding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.MissingAccountError`})}};Tf(),z();let Hw=`0x78`,Uw=`tempo`;function Ww(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new Qw;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new $w({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&W_(e.to,{strict:!1});if(n<=0)throw new KS({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new GS({feeCap:r});if(i&&r&&i>r)throw new JS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function Gw(e){let t=zv(I(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 qS({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:Uw});let y={chainId:Number(n),type:Uw};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=gx(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=ZC(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||Y_(p)?(y.feePayerSignature=null,Y_(p)&&(y.from=p)):y.feePayerSignature=ry(p)),_&&(y.keyAuthorization=xw(_));let b=v?AC(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=OC({payload:Yw(Kw(y)),signature:b,root:!0})}catch{}return Ww(y),y}function Kw(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?Gw(e):e;return i.from&&=WC(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:WC(e.to)}:{}})),Ww(i),{...i,...r?{signature:MC(r)}:{},...n?{feePayerSignature:ey(n)}:{},type:`tempo`}}function qw(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;Ww(e);let h=_x(n),g=t.signature||e.signature,_=tw(r),v=i.map(e=>[e.to?WC(e.to):`0x`,e.value?F(e.value):`0x`,e.data??`0x`]),y=!1,b=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&g){let t=MC(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return q_(t.publicKey);if(t.type===`secp256k1`)return wy({payload:Yw(Kw(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?oy(n):`0x`})(),x=[F(a),f?F(f):`0x`,d?F(d):`0x`,s?F(s):`0x`,v,h,u?F(u):`0x`,l?F(l):`0x`,typeof p==`number`?F(p):`0x`,typeof m==`number`?F(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?iw(o):`0x`,b,_,...c?[Dw(c)]:[],...g?[FC(MC(g))]:[]];return P(t.format===`feePayer`?Hw:`0x76`,Gv(x))}function Jw(e){return qw({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function Yw(e,t={}){let n=Xw(e,{presign:!0});return t.from?D_(P(`0x04`,n,WC(t.from))):n}function Xw(e,t={}){return D_(t.presign?Jw(e):qw(e))}function Zw(e,t){let n=WC(t.sender);return D_(qw({...e,signature:void 0},{sender:n,format:`feePayer`}))}var Qw=class extends N{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},$w=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`})}};Tf(),z();function eT(e){let{account:t,config:n}=e;return hC({account:t,config:n,payload:e.type===`transaction`?Yw(Gw(e.transaction)):Sw(Cw(e.keyAuthorization))})}async function tT(e){let{account:t,approvals:n,hash:r}=e;if(!Y_(t)||R(t)===0n)throw new _T({reason:`account is invalid`});if(!A_(r))throw new _T({reason:`hash is invalid`});return aT({account:t,approvals:n,config:dC(e.config),hash:r})}function nT(e,t){let n=Cw(e);if(n.signature)throw new B({reason:`keyAuthorization must not contain a signature`});if(Tw(n).toLowerCase()!==e.toLowerCase())throw new B({reason:`keyAuthorization is not canonically serialized`});let r=dC(t.config),i=IC({account:t.account,config:r,payload:Sw(n),signatures:t.approvals.map(e=>dT(t.account,e,r))});return Tw(yw(n,{signature:MC({account:t.account,config:r,signatures:i})}))}function rT(e){try{let t=dC(e.config);if(typeof t.threshold!=`number`||t.owners.some(e=>typeof e.weight!=`number`))throw new B({reason:`config threshold and owner weights must be numbers`});let n={...e,config:t};if(cT(n,t),n.type===`transaction`)lT(n);else if(n.type===`keyAuthorization`)uT(n,t);else throw new B({reason:`unknown operation type`});return n}catch(e){throw e instanceof B?e:new B({cause:e})}}function iT(e){try{let t=e.config?.version;if(typeof t!=`string`||!Mp(t))throw new B({reason:`config.version must be a hexadecimal quantity`});if(F(R(t))!==t)throw new B({reason:`config.version must use canonical quantity encoding`});return rT({...e,config:fC(e.config)})}catch(e){throw e instanceof B?e:new B({cause:e})}}async function aT(e){let t=new Map(e.config.owners.map(e=>[e.owner.toLowerCase(),{address:e.owner,weight:Number(e.weight)}])),n=new Map;for(let r of e.approvals){let i=MC(r);if(i.type===`keychain`||i.type===`multisig`)throw new _T({reason:`only primitive signatures can approve a multisig operation`});let a=OC({payload:e.hash,signature:i}),o=t.get(a.toLowerCase());if(!o)throw new _T({reason:`signature is from non-owner ${a}`});let s=a.toLowerCase(),c=n.get(s);c?c.signatures.push(i):n.set(s,{address:o.address,signatures:[i],weight:o.weight})}let r=[],i=[];for(let t of n.values()){let n=t.signatures.map(n=>{if(!RC(n,{address:t.address,payload:e.hash}))throw new _T({reason:`signature from owner ${t.address} is invalid`});return FC(n)}).sort(sT)[0];r.push({address:t.address,signature:n,weight:t.weight}),i.push({address:t.address,signature:n})}let a=r.sort((e,t)=>t.weight-e.weight||oT(e,t)),o=[],s=0;for(let t of a.slice(0,8)){if(s>=Number(e.config.threshold))break;o.push(t),s+=t.weight}return o.sort(oT),{approvals:i.sort(oT).map(e=>e.signature),selectedApprovals:o.map(e=>e.signature),signatureCount:o.length,threshold:Number(e.config.threshold),weight:s}}function oT(e,t){let n=R(e.address),r=R(t.address);return n<r?-1:+(n>r)}function sT(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n<r?-1:+(n>r)}function cT(e,t){if(!Y_(e.account))throw new B({reason:`account is invalid`});if(R(e.account)===0n)throw new B({reason:`account cannot be zero`});if(!A_(e.hash))throw new B({reason:`hash is invalid`});if(hT(e.createdAt,`createdAt`),hT(e.updatedAt,`updatedAt`),e.updatedAt<e.createdAt)throw new B({reason:`updatedAt cannot precede createdAt`});if(hT(e.signatureCount,`signatureCount`),hT(e.threshold,`threshold`),hT(e.weight,`weight`),e.threshold!==Number(t.threshold))throw new B({reason:`threshold must equal config.threshold`});if(e.weight>255)throw new B({reason:`weight exceeds u8 max`});if(e.signatureCount>8)throw new B({reason:`too many selected signatures`});if(!Array.isArray(e.approvals))throw new B({reason:`approvals must be an array`});if(e.approvals.length>t.owners.length)throw new B({reason:`too many retained approvals`});if(e.signatureCount>e.approvals.length)throw new B({reason:`signatureCount exceeds retained approvals`});if(e.signatureCount===0!=(e.weight===0))throw new B({reason:`signatureCount and weight must both be zero or nonzero`});let n=new Map(t.owners.map(e=>[e.owner.toLowerCase(),Number(e.weight)])),r=[],i=new Set;for(let a of e.approvals){if(typeof a!=`string`||!Mp(a,{strict:!0}))throw new B({reason:`approval is invalid`});let o=dT(e.account,a,t),s=OC({payload:e.hash,signature:o}).toLowerCase(),c=n.get(s);if(c===void 0)throw new B({reason:`approval is from a non-owner`});if(i.has(s))throw new B({reason:e.type===`keyAuthorization`?`key authorization contains duplicate owner approvals`:`duplicate owner approval`});i.add(s),r.push(c)}if(!pT(r,e.signatureCount,e.weight))throw new B({reason:`weight is not reachable by signatureCount retained owner approvals`})}function lT(e){if(`keyAuthorization`in e&&e.keyAuthorization!==void 0)throw new B({reason:`transaction operations cannot contain keyAuthorization`});let t=e.expiresAt,n=e.submissionId,r=e.transactionHash;if(e.status===`pending`){if(t!==void 0||n!==void 0||r!==void 0)throw new B({reason:`pending transactions cannot contain submission fields`})}else if(e.status===`submitting`){if(hT(t,`expiresAt`),!A_(n??``))throw new B({reason:`submissionId is invalid`});if(n.toLowerCase()===e.hash.toLowerCase())throw new B({reason:`submissionId must differ from the operation hash`});if(r!==void 0)throw new B({reason:`submitting transactions cannot contain transactionHash`})}else if(e.status===`success`){if(!A_(r??``))throw new B({reason:`transactionHash is invalid`});if(t!==void 0||n!==void 0)throw new B({reason:`successful transactions cannot contain submission fields`})}else throw new B({reason:`invalid transaction status`});if(e.status!==`pending`&&(e.weight<e.threshold||e.signatureCount===0))throw new B({reason:`submitted transactions must have quorum`});if(typeof e.transaction!=`string`)throw new B({reason:`transaction is invalid`});let i=Gw(e.transaction);if(i.signature)throw new B({reason:`transaction must not contain an outer sender signature`});if(i.from&&i.from.toLowerCase()!==e.account.toLowerCase())throw new B({reason:`transaction sender does not match the operation account`});if(mT(e,Yw(i)),qw(i,e.transaction.startsWith(Hw)?i.from?{format:`feePayer`,sender:i.from}:{format:`feePayer`}:{}).toLowerCase()!==e.transaction.toLowerCase())throw new B({reason:`transaction is not canonically serialized`})}function uT(e,t){let n=e;if(n.expiresAt!==void 0||n.submissionId!==void 0||n.transaction!==void 0||n.transactionHash!==void 0)throw new B({reason:`key authorization operations cannot contain transaction fields`});if(e.status!==`pending`&&e.status!==`success`)throw new B({reason:`invalid key authorization status`});if(e.status===`success`&&(e.weight<e.threshold||e.signatureCount===0))throw new B({reason:`successful key authorizations must have quorum`});if(e.status===`pending`&&e.weight>=e.threshold)throw new B({reason:`pending key authorizations cannot have quorum`});if(typeof e.keyAuthorization!=`string`)throw new B({reason:`keyAuthorization is invalid`});let r=Cw(e.keyAuthorization);if(!r.account||r.account.toLowerCase()!==e.account.toLowerCase())throw new B({reason:`key authorization account does not match the operation account`});let i=r.signature;if(e.status===`pending`&&i)throw new B({reason:`pending key authorizations must be unsigned`});if(e.status===`success`){if(i?.type!==`multisig`)throw new B({reason:`successful key authorizations require a multisig signature`});if(i.account.toLowerCase()!==e.account.toLowerCase())throw new B({reason:`key authorization signature account does not match`});if(i.signatures.length!==e.signatureCount)throw new B({reason:`key authorization signatureCount does not match its signature`});if(fT(e,i.signatures,r),!gT(i.config,t))throw new B({reason:`key authorization config does not match`})}if(mT(e,Sw(r)),Tw(r).toLowerCase()!==e.keyAuthorization.toLowerCase())throw new B({reason:`keyAuthorization is not canonically serialized`})}function dT(e,t,n){let r=AC(t);if(r.type===`keychain`||r.type===`multisig`)throw new B({reason:`only primitive owner approvals are allowed`});if(TC({account:e,config:n,signatures:[r],type:`multisig`}),FC(r).toLowerCase()!==t.toLowerCase())throw new B({reason:`approval is not canonical`});return r}function fT(e,t,n){let r=e.approvals.map(e=>AC(e));for(let e of t){let t=r.findIndex(t=>FC(t).toLowerCase()===FC(e).toLowerCase());if(t===-1)throw new B({reason:`key authorization signature is not a retained approval`});r.splice(t,1)}let i=hC({account:e.account,config:e.config,payload:Sw(n)}),a=t.map(e=>OC({payload:i,signature:e}));for(let e=1;e<a.length;e++){let t=R(a[e-1]),n=R(a[e]);if(t===n)throw new B({reason:`key authorization contains duplicate owner approvals`});if(t>n)throw new B({reason:`key authorization approvals are not canonically ordered`})}}function pT(e,t,n){let r=Array.from({length:t+1},()=>new Set);r[0].add(0);for(let n of e)for(let e=t;e>0;e--)for(let t of r[e-1])r[e].add(t+n);return r[t].has(n)}function mT(e,t){if(hC({account:e.account,config:e.config,payload:t}).toLowerCase()!==e.hash.toLowerCase())throw new B({reason:`hash does not match the operation payload`})}function hT(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<0)throw new B({reason:`${t} must be a nonnegative safe integer`})}function gT(e,t){let n=dC(e),r=dC(t);return wp(n.salt??lC,r.salt??lC)&&n.threshold===r.threshold&&n.version===r.version&&n.owners.length===r.owners.length&&n.owners.every((e,t)=>{let n=r.owners[t];return J_(e.owner,n.owner)&&e.weight===n.weight})}var _T=class extends N{constructor(e={}){super(e.reason?`Invalid multisig approval: ${e.reason}.`:`Invalid multisig approval.`,{cause:e.cause}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigOperation.InvalidApprovalError`})}},B=class extends N{constructor(e={}){super(e.reason?`Invalid multisig operation: ${e.reason}.`:`Invalid multisig operation.`,{cause:e.cause}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigOperation.InvalidOperationError`})}};Tf(),z();function vT(e){let{approvals:t,config:n}=e;return yT(t),{approvals:t.map(({keyData:e,keyType:t,owner:n})=>({...e===void 0?{}:{keyData:xT(e)},...t===void 0?{}:{keyType:t},owner:n})),config:bT(n)}}function yT(e){if(e.some(e=>typeof e!=`object`||!e||`spec`in e||`type`in e))throw new ST({reason:`only untagged primitive owner approvals are allowed`});if(e.length>8)throw new ST({reason:`approval count exceeds 8`})}function bT(e){return Gv(gC(e))}function xT(e){let t=L(e);return t<=4?e:F(t,{size:2})}var ST=class extends N{constructor(e){super(`Invalid multisig simulation: ${e.reason}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigSimulation.InvalidSimulationError`})}};z();let CT={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function wT(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:D_(Cp(CT[e]??e))}let TT={...Ox,tempo:`0x76`},ET={...kx,\"0x76\":`tempo`};function DT(e,t={}){if(!e)return null;let n=Ax(e);return n.type=ET[e.type],e.aaAuthorizationList&&(n.authorizationList=YC(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=NC(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=bw(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=ny(e.feePayerSignature),n.feePayerSignature.v=cy(n.feePayerSignature.yParity)),n}z();function OT(e){let t=VS({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=$C(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?WC(e.to):e.to,value:e.value?F(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?WC(e.to):void 0,value:e.value?F(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=iw(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=Ew(e.keyAuthorization)),e.keyAuthorizationSimulation&&(t.keyAuthorizationSimulation=vT(e.keyAuthorizationSimulation)),e.multisigSimulation&&(t.multisigSimulation=vT(e.multisigSimulation)),e.validBefore!==void 0&&(t.validBefore=F(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=F(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return Dp(6);if(typeof e.nonceKey==`bigint`)return F(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.multisigSimulation!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=TT.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}Tf();let kT={4217:{base:4217e5,range:100261e4},42431:{base:142431e4,range:723173648}},AT=4217;kT[AT].base;function jT(e,t=AT){return e-PT(t).base}function MT(e,t=AT){let{base:n,range:r}=PT(t);return n+e%r}var NT=class extends N{constructor({sourceId:e}){super(`Source chain ID \"${e}\" is not supported.`,{metaMessages:[`Supported source chain IDs: 4217, 42431.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ZoneId.UnsupportedSourceIdError`})}};function PT(e){if(e===4217||e===42431)return kT[e];throw new NT({sourceId:e})}let FT=[{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`authorizeAdminKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`burnKeyAuthorizationWitness`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`witness`}],outputs:[]},{name:`revokeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`}],outputs:[]},{name:`updateSpendingLimit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`token`},{type:`uint256`,name:`newLimit`}],outputs:[]},{name:`setAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}],outputs:[]},{name:`removeAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`target`}],outputs:[]},{name:`getKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`tuple`,components:[{type:`uint8`,name:`signatureType`},{type:`address`,name:`keyId`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`bool`,name:`isRevoked`}]}]},{name:`getRemainingLimit`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`}]},{name:`getRemainingLimitWithPeriod`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`},{type:`uint64`,name:`periodEnd`}]},{name:`getAllowedCalls`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`,name:`isScoped`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{name:`isKeyAuthorizationWitnessBurned`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`witness`}],outputs:[{type:`bool`}]},{name:`isAdminKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`}]},{name:`getTransactionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`KeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`}]},{name:`AdminKeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`KeyRevoked`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`SpendingLimitUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`newLimit`}]},{name:`AccessKeySpend`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint256`,name:`remainingLimit`}]},{name:`KeyAuthorizationWitness`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`KeyAuthorizationWitnessBurned`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`UnauthorizedCaller`,type:`error`,inputs:[]},{name:`KeyAlreadyExists`,type:`error`,inputs:[]},{name:`KeyNotFound`,type:`error`,inputs:[]},{name:`KeyExpired`,type:`error`,inputs:[]},{name:`SpendingLimitExceeded`,type:`error`,inputs:[]},{name:`InvalidSpendingLimit`,type:`error`,inputs:[]},{name:`InvalidSignatureType`,type:`error`,inputs:[]},{name:`ZeroPublicKey`,type:`error`,inputs:[]},{name:`ExpiryInPast`,type:`error`,inputs:[]},{name:`KeyAlreadyRevoked`,type:`error`,inputs:[]},{name:`SignatureTypeMismatch`,type:`error`,inputs:[{type:`uint8`,name:`expected`},{type:`uint8`,name:`actual`}]},{name:`CallNotAllowed`,type:`error`,inputs:[]},{name:`InvalidCallScope`,type:`error`,inputs:[]},{name:`InvalidKeyId`,type:`error`,inputs:[]},{name:`InvalidKeyAuthorizationWitness`,type:`error`,inputs:[]},{name:`KeyAuthorizationWitnessAlreadyBurned`,type:`error`,inputs:[]},{name:`LegacyAuthorizeKeySelectorChanged`,type:`error`,inputs:[{type:`bytes4`,name:`newSelector`}]}],IT=[{name:`registerVirtualMaster`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`salt`}],outputs:[{type:`bytes4`,name:`masterId`}]},{name:`getMaster`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes4`,name:`masterId`}],outputs:[{type:`address`}]},{name:`resolveRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`to`}],outputs:[{type:`address`,name:`effectiveRecipient`}]},{name:`resolveVirtualAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`virtualAddr`}],outputs:[{type:`address`,name:`master`}]},{name:`isVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`decodeVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`,name:`isVirtual`},{type:`bytes4`,name:`masterId`},{type:`bytes6`,name:`userTag`}]},{name:`isImplicitlyApproved`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`MasterRegistered`,type:`event`,inputs:[{type:`bytes4`,name:`masterId`,indexed:!0},{type:`address`,name:`masterAddress`,indexed:!0}]},{name:`MasterIdCollision`,type:`error`,inputs:[{type:`address`,name:`master`}]},{name:`InvalidMasterAddress`,type:`error`,inputs:[]},{name:`ProofOfWorkFailed`,type:`error`,inputs:[]},{name:`VirtualAddressUnregistered`,type:`error`,inputs:[]}],LT=[{name:`deriveAccount`,type:`function`,stateMutability:`pure`,inputs:[{type:`bytes32`,name:`salt`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}],outputs:[{type:`address`,name:`account`}]},{name:`getConfigCommitment`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bytes32`,name:`commitment`}]},{name:`updateConfig`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`current`,components:[{type:`bytes32`,name:`salt`},{type:`uint64`,name:`version`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}]},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}],outputs:[]},{name:`MultisigConfigUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`salt`},{type:`uint64`,name:`version`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}]},{name:`InvalidAccount`,type:`error`,inputs:[]},{name:`InvalidConfig`,type:`error`,inputs:[]},{name:`InvalidThreshold`,type:`error`,inputs:[]},{name:`InvalidMultisigOwner`,type:`error`,inputs:[]},{name:`InvalidWeight`,type:`error`,inputs:[]},{name:`TooManyOwners`,type:`error`,inputs:[]},{name:`DuplicateOwner`,type:`error`,inputs:[]},{name:`InvalidOwnerOrder`,type:`error`,inputs:[]},{name:`UnauthorizedMultisigCaller`,type:`error`,inputs:[]}],RT=[{name:`getCommitteeMembers`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`,name:`epoch`},{type:`bytes32[]`,name:`publicKeys`}]},{name:`setCommitteeMembers`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`},{type:`bytes32[]`,name:`publicKeys`}],outputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]}],zT=[{name:`getNonce`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint256`,name:`nonceKey`}],outputs:[{type:`uint64`,name:`nonce`}]},{name:`NonceIncremented`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint256`,name:`nonceKey`,indexed:!0},{type:`uint64`,name:`newNonce`}]},{name:`ProtocolNonceNotSupported`,type:`error`,inputs:[]},{name:`InvalidNonceKey`,type:`error`,inputs:[]},{name:`NonceOverflow`,type:`error`,inputs:[]},{name:`ExpiringNonceReplay`,type:`error`,inputs:[]},{name:`ExpiringNonceSetFull`,type:`error`,inputs:[]},{name:`InvalidExpiringNonceExpiry`,type:`error`,inputs:[]}],BT=[{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[{type:`uint256`,name:`amount`}]},{name:`claim`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`bytes`,name:`receipt`}],outputs:[]},{name:`burnBlockedReceipt`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[]},{name:`TransferBlocked`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint8`,name:`receiptVersion`},{type:`bytes`,name:`receipt`}]},{name:`ReceiptClaimed`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}]},{name:`ReceiptBurned`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`uint256`,name:`amount`}]},{name:`InvalidReceipt`,type:`error`,inputs:[]},{name:`InvalidClaimAddress`,type:`error`,inputs:[]},{name:`UnauthorizedClaimer`,type:`error`,inputs:[]},{name:`AddressReserved`,type:`error`,inputs:[]}],VT=[{name:`recover`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`address`,name:`signer`}]},{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`signer`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychain`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychainAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`InvalidFormat`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]}],HT=[{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:`bookIndexForKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`bookKey`}],outputs:[{type:`bool`,name:`set`},{type:`uint32`,name:`index`}]},{name:`bookKeyForIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`index`}],outputs:[{type:`bytes32`,name:`bookKey`}]},{name:`setBookIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`index`}],outputs:[]},{name:`storageCredits`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`uint64`,name:`credits`}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`FlipFailed`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`bytes4`,name:`reason`}]},{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:[]},{name:`IndexAlreadySet`,type:`error`,inputs:[]}],UT=[{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint64`}]},{name:`modeOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint8`}]},{name:`budgetOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint64`}]},{name:`setMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint8`,name:`newMode`}],outputs:[]},{name:`setBudget`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`credits`}],outputs:[]},{name:`InvalidMode`,type:`error`,inputs:[]},{name:`OnlyDirectCall`,type:`error`,inputs:[]}],WT=[{name:`userTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`address`}]},{name:`validatorTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`address`}]},{name:`setUserToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setValidatorToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`distributeFees`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[]},{name:`collectedFees`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[{type:`uint256`}]},{name:`UserTokenSet`,type:`event`,inputs:[{type:`address`,name:`user`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`ValidatorTokenSet`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`FeesDistributed`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientFeeTokenBalance`,type:`error`,inputs:[]},{name:`CannotChangeWithinBlock`,type:`error`,inputs:[]}],GT=[{name:`M`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`N`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`SCALE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MIN_LIQUIDITY`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPoolId`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`bytes32`}]},{name:`getPool`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`pools`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`liquidity`}]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`uint256`}]},{name:`liquidityBalances`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`},{type:`address`,name:`user`}],outputs:[{type:`uint256`}]},{name:`rebalanceSwap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountOut`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountIn`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`sender`},{type:`address`,name:`to`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}]},{name:`RebalanceSwap`,type:`event`,inputs:[{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`address`,name:`swapper`,indexed:!0},{type:`uint256`,name:`amountIn`},{type:`uint256`,name:`amountOut`}]},{name:`IdenticalAddresses`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientReserves`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`DivisionByZero`,type:`error`,inputs:[]},{name:`InvalidSwapCalculation`,type:`error`,inputs:[]}],KT=[{name:`CLOSE_GRACE_PERIOD`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`VOUCHER_TYPEHASH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`open`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`uint96`,name:`deposit`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`}],outputs:[{type:`bytes32`,name:`channelId`}]},{name:`settle`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`topUp`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`additionalDeposit`}],outputs:[]},{name:`close`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`captureAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`requestClose`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`getChannel`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[{type:`tuple`,components:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`tuple`,name:`state`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]}]},{name:`getChannelState`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`}],outputs:[{type:`tuple`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`getChannelStatesBatch`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32[]`,name:`channelIds`}],outputs:[{type:`tuple[]`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`computeChannelId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}],outputs:[{type:`bytes32`}]},{name:`getVoucherDigest`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`},{type:`uint96`,name:`cumulativeAmount`}],outputs:[{type:`bytes32`}]},{name:`domainSeparator`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`storageCredits`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`}],outputs:[{type:`uint64`,name:`credits`}]},{name:`ChannelOpened`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`salt`},{type:`bytes32`,name:`expiringNonceHash`},{type:`uint96`,name:`deposit`}]},{name:`Settled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`deltaPaid`},{type:`uint96`,name:`newSettled`}]},{name:`TopUp`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`additionalDeposit`},{type:`uint96`,name:`newDeposit`}]},{name:`CloseRequested`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint256`,name:`closeGraceEnd`}]},{name:`ChannelClosed`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`settledToPayee`},{type:`uint96`,name:`refundedToPayer`}]},{name:`CloseRequestCancelled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0}]},{name:`ChannelAlreadyExists`,type:`error`,inputs:[]},{name:`ChannelNotFound`,type:`error`,inputs:[]},{name:`NotPayer`,type:`error`,inputs:[]},{name:`NotPayeeOrOperator`,type:`error`,inputs:[]},{name:`InvalidPayee`,type:`error`,inputs:[]},{name:`ZeroDeposit`,type:`error`,inputs:[]},{name:`ExpiringNonceHashNotSet`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`AmountExceedsDeposit`,type:`error`,inputs:[]},{name:`AmountNotIncreasing`,type:`error`,inputs:[]},{name:`CaptureAmountInvalid`,type:`error`,inputs:[]},{name:`CloseNotReady`,type:`error`,inputs:[]},{name:`DepositOverflow`,type:`error`,inputs:[]}],qT=[{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`},{type:`string`,name:`logoURI`}],outputs:[{type:`address`}]},{name:`isTIP20`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`getTokenAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`sender`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`TokenCreated`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}]},{name:`AddressReserved`,type:`error`,inputs:[]},{name:`AddressNotReserved`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`TokenAlreadyExists`,type:`error`,inputs:[{type:`address`,name:`token`}]}],V=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],JT=[{name:`policyIdCounter`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`policyExists`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`bool`}]},{name:`tokenTransferPolicyId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`,name:`isSet`},{type:`uint64`,name:`policyId`}]},{name:`policyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint8`,name:`policyType`},{type:`address`,name:`admin`}]},{name:`isAuthorized`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedSender`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedMintRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`compoundPolicyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`receivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`,name:`hasReceivePolicy`},{type:`uint64`,name:`senderPolicyId`},{type:`uint8`,name:`senderPolicyType`},{type:`uint64`,name:`tokenFilterId`},{type:`uint8`,name:`tokenFilterType`},{type:`address`,name:`recoveryAuthority`}]},{name:`validateReceivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`sender`},{type:`address`,name:`receiver`}],outputs:[{type:`bool`,name:`authorized`},{type:`uint8`,name:`blockedReason`}]},{name:`createPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`}],outputs:[{type:`uint64`}]},{name:`createPolicyWithAccounts`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`},{type:`address[]`,name:`accounts`}],outputs:[{type:`uint64`}]},{name:`setPolicyAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`admin`}],outputs:[]},{name:`modifyPolicyWhitelist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`modifyPolicyBlacklist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`restricted`}],outputs:[]},{name:`createCompoundPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}],outputs:[{type:`uint64`}]},{name:`setReceivePolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}],outputs:[]},{name:`migrateTransferPolicyIds`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address[]`,name:`tokens`}],outputs:[{type:`uint256`,name:`migrated`}]},{name:`PolicyAdminUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`admin`,indexed:!0}]},{name:`PolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`uint8`,name:`policyType`}]},{name:`WhitelistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`allowed`}]},{name:`BlacklistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`restricted`}]},{name:`CompoundPolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`creator`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`ReceivePolicyUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PolicyNotFound`,type:`error`,inputs:[]},{name:`PolicyNotSimple`,type:`error`,inputs:[]},{name:`InvalidPolicyType`,type:`error`,inputs:[]},{name:`IncompatiblePolicyType`,type:`error`,inputs:[]},{name:`VirtualAddressNotAllowed`,type:`error`,inputs:[]},{name:`InvalidReceivePolicyType`,type:`error`,inputs:[]},{name:`InvalidRecoveryAuthority`,type:`error`,inputs:[]}],YT=[{name:`getActiveValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getInitializedAtHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`validatorByIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`index`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validatorAddress`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByPublicKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`publicKey`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getNextNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`isInitialized`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`bytes`,name:`signature`}],outputs:[{type:`uint64`,name:`index`}]},{name:`deactivateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`rotateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`setFeeRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`feeRecipient`}],outputs:[]},{name:`setIpAddresses`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`}],outputs:[]},{name:`transferValidatorOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`newAddress`}],outputs:[]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`setNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`migrateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`initializeIfMigrated`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`ValidatorAdded`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`}]},{name:`ValidatorDeactivated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0}]},{name:`ValidatorRotated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`uint64`,name:`deactivatedIndex`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`oldPublicKey`},{type:`bytes32`,name:`newPublicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`FeeRecipientUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`feeRecipient`},{type:`address`,name:`caller`}]},{name:`IpAddressesUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`ValidatorOwnershipTransferred`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`oldAddress`,indexed:!0},{type:`address`,name:`newAddress`,indexed:!0},{type:`address`,name:`caller`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`oldOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ValidatorMigrated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`NetworkIdentityRotationEpochSet`,type:`event`,inputs:[{type:`uint64`,name:`previousEpoch`,indexed:!0},{type:`uint64`,name:`nextEpoch`,indexed:!0}]},{name:`Initialized`,type:`event`,inputs:[{type:`uint64`,name:`height`}]},{name:`SkippedValidatorMigration`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`IngressAlreadyExists`,type:`error`,inputs:[{type:`string`,name:`ingress`}]},{name:`EmptyV1ValidatorSet`,type:`error`,inputs:[]},{name:`InvalidMigrationIndex`,type:`error`,inputs:[]},{name:`InvalidOwner`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`InvalidSignatureFormat`,type:`error`,inputs:[]},{name:`InvalidValidatorAddress`,type:`error`,inputs:[]},{name:`MigrationNotComplete`,type:`error`,inputs:[]},{name:`NotInitialized`,type:`error`,inputs:[]},{name:`NotIp`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`PublicKeyAlreadyExists`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`AddressAlreadyHasValidator`,type:`error`,inputs:[]},{name:`ValidatorAlreadyDeactivated`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]}],XT=[{name:`getValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`updateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`changeValidatorStatus`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`bool`,name:`active`}],outputs:[]},{name:`changeValidatorStatusByIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`index`},{type:`bool`,name:`active`}],outputs:[]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`changeOwner`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`getNextFullDkgCeremony`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setNextFullDkgCeremony`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`validatorsArray`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`validators`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ValidatorAlreadyExists`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`NotHostPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]}],ZT=[{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`createZone`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`params`,components:[{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address[]`,name:`allowedAccounts`},{type:`address[]`,name:`zoneGateways`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`string`,name:`rpcUrl`}]}],outputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`}]},{name:`nextZoneId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`zones`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`id`}],outputs:[{type:`tuple`,name:`info`,components:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`},{type:`string`,name:`rpcUrl`}]}]},{name:`isZonePortal`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`portal`}],outputs:[{type:`bool`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`previousOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ZoneCreated`,type:`event`,inputs:[{type:`uint32`,name:`zoneId`,indexed:!0},{type:`address`,name:`portal`,indexed:!0},{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TokenTransferPolicyNotSet`,type:`error`,inputs:[]},{name:`InvalidClosedLoopConfig`,type:`error`,inputs:[]},{name:`NotOwner`,type:`error`,inputs:[]},{name:`InvalidAdmin`,type:`error`,inputs:[]},{name:`InvalidSequencerSet`,type:`error`,inputs:[]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`TokenMetadataTooLong`,type:`error`,inputs:[]},{name:`DuplicateAllowedAccount`,type:`error`,inputs:[]},{name:`DuplicateZoneGateway`,type:`error`,inputs:[]},{name:`ZoneCreated`,type:`event`,inputs:[{type:`uint32`,name:`zoneId`,indexed:!0},{type:`address`,name:`portal`,indexed:!0},{type:`address`,name:`messenger`,indexed:!0},{type:`address`,name:`initialToken`},{type:`address`,name:`admin`},{type:`address`,name:`sequencer`},{type:`address`,name:`verifier`},{type:`bytes32`,name:`genesisBlockHash`},{type:`bytes32`,name:`genesisTempoBlockHash`},{type:`uint64`,name:`genesisTempoBlockNumber`}]},{name:`createZone`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`params`,components:[{type:`address`,name:`initialToken`},{type:`address`,name:`admin`},{type:`address`,name:`sequencer`},{type:`address`,name:`verifier`},{type:`tuple`,name:`zoneParams`,components:[{type:`bytes32`,name:`genesisBlockHash`},{type:`bytes32`,name:`genesisTempoBlockHash`},{type:`uint64`,name:`genesisTempoBlockNumber`}]},{type:`string`,name:`rpcUrl`}]}],outputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`}]},{name:`verifier`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]}],QT=[{name:`SequencerSetUpdated`,type:`event`,inputs:[{type:`uint64`,name:`nonce`,indexed:!0},{type:`uint8`,name:`threshold`},{type:`address[]`,name:`sequencers`}]},{name:`TokenEnabled`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`}]},{name:`RoleUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint8`,name:`prev`},{type:`uint8`,name:`next`}]},{name:`EnforcementModesUpdated`,type:`event`,inputs:[{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`}]},{name:`LeaderUpdated`,type:`event`,inputs:[{type:`address`,name:`previousLeader`,indexed:!0},{type:`address`,name:`newLeader`,indexed:!0},{type:`uint64`,name:`leaderEpoch`,indexed:!0},{type:`uint64`,name:`leaderActivationTempoBlock`}]},{name:`zoneId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`admin`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`messenger`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`isAccessEnforced`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`setAccessMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bool`,name:`enforced`}],outputs:[]},{name:`isGatewayOpen`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`setGatewayMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bool`,name:`enforced`}],outputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint8`,name:`role`}],outputs:[{type:`bool`}]},{name:`setAllowedAccount`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setGateway`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setPauseGuardian`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setSequencerSet`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address[]`,name:`newSequencers`},{type:`uint8`,name:`newThreshold`}],outputs:[]},{name:`verifier`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`sequencerSetVersion`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`sequencerThreshold`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{name:`zoneHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`isSequencer`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`}]},{name:`sequencerCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`sequencerAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`leader`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`leaderEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`leaderActivationTempoBlock`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setLeader`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newLeader`},{type:`uint64`,name:`expectedEpoch`}],outputs:[]},{name:`withdrawalBatchIndex`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`blockHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`currentDepositQueueHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`lastSyncedTempoBlockNumber`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`withdrawalQueueHead`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`withdrawalQueueTail`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`withdrawalQueueSlot`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`queueIndex`}],outputs:[{type:`bytes32`}]},{name:`calculateDepositFee`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`,name:`fee`}]},{name:`calculateBouncebackFee`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`,name:`fee`}]},{name:`depositCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`lastProcessedDepositNumber`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`FIXED_DEPOSIT_GAS`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_GAS_FEE_RATE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_TOKEN_METADATA_BYTES`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`areDepositsActive`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`tokenConfig`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`tuple`,components:[{type:`bool`,name:`enabled`},{type:`bool`,name:`depositsActive`}]}]},{name:`initialize`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address[]`,name:`allowedAccounts`},{type:`address[]`,name:`zoneGateways`},{type:`address`,name:`admin`},{type:`address`,name:`messenger`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`},{type:`string`,name:`rpcUrl`}],outputs:[]},{name:`deliverWithdrawal`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`bytes`,name:`callbackData`}],outputs:[]},{name:`MAX_DEPOSITS_PER_TEMPO_BLOCK`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_WITHDRAWAL_GAS_LIMIT`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`pauseExpiry`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`abdicationEffectiveAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint8`,name:`capability`}],outputs:[{type:`uint64`}]},{name:`processWithdrawals`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple[]`,name:`withdrawals`,components:[{type:`address`,name:`token`},{type:`bytes32`,name:`senderTag`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`callbackData`},{type:`bytes`,name:`encryptedSender`}]},{type:`bytes32`,name:`remainingQueue`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`resume`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`abdicate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint8`,name:`capability`}],outputs:[]},{name:`submitBatch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`recentTempoBlockNumber`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`},{type:`uint256`,name:`nextZoneHeight`},{type:`bytes[]`,name:`signatures`}],outputs:[]},{name:`enableToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`pauseDeposits`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`resumeDeposits`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setZoneGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`newZoneGasRate`}],outputs:[]},{name:`setMaxTempoGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`newMaxTempoGasRate`}],outputs:[]},{name:`setBouncebackGas`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newBouncebackGas`}],outputs:[]},{name:`transferAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newAdmin`}],outputs:[]},{name:`acceptAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`rpcUrl`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setRpcUrl`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`rpcUrl`}],outputs:[]},{name:`deposit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint256`,name:`keyIndex`},{type:`tuple`,name:`encrypted`,components:[{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`}]},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`}]},{name:`depositEncrypted`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint256`,name:`keyIndex`},{type:`tuple`,name:`encrypted`,components:[{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`}]},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`}]},{name:`setSequencerEncryptionKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint8`,name:`popV`},{type:`bytes32`,name:`popR`},{type:`bytes32`,name:`popS`}],outputs:[]},{name:`isTokenEnabled`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`enabledTokenCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`enabledTokenAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`tokenEnablementHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`zoneGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`maxTempoGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`bouncebackGas`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`pendingAdmin`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`refunds`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`owner`}],outputs:[{type:`uint128`}]},{name:`sequencerEncryptionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`address`,name:`pubkey`}]},{name:`encryptionKeyCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`encryptionKeyAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`tuple`,name:`entry`,components:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint64`,name:`activationBlock`}]}]},{name:`isEncryptionKeyValid`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`keyIndex`}],outputs:[{type:`bool`,name:`valid`},{type:`uint64`,name:`expiresAtBlock`}]},{name:`encryptionKeyAtBlock`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`tempoBlockNumber`}],outputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint256`,name:`keyIndex`}]},{name:`claimRefund`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`uint128`,name:`amount`}]},{name:`DepositMade`,type:`event`,inputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`netAmount`},{type:`uint128`,name:`fee`},{type:`uint256`,name:`keyIndex`},{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`},{type:`address`,name:`tempoRefundRecipient`},{type:`uint64`,name:`depositNumber`}]},{name:`DepositsPaused`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0}]},{name:`DepositsResumed`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0}]},{name:`PortalPaused`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0}]},{name:`PortalResumed`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0}]},{name:`AbdicationScheduled`,type:`event`,inputs:[{type:`uint8`,name:`capability`,indexed:!0},{type:`uint64`,name:`effectiveAt`}]},{name:`RpcUrlUpdated`,type:`event`,inputs:[{type:`string`,name:`rpcUrl`}]},{name:`SequencerEncryptionKeyUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`address`,name:`pubkey`},{type:`uint256`,name:`keyIndex`},{type:`uint64`,name:`activationBlock`}]},{name:`BatchSubmitted`,type:`event`,inputs:[{type:`uint64`,name:`withdrawalBatchIndex`,indexed:!0},{type:`uint256`,name:`withdrawalQueueIndex`,indexed:!0},{type:`bytes32`,name:`nextProcessedDepositQueueHash`},{type:`bytes32`,name:`nextBlockHash`},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`uint64`,name:`lastProcessedDepositNumber`}]},{name:`WithdrawalProcessed`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`bytes32`,name:`senderTag`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`callbackSuccess`}]},{name:`WithdrawalBounceBack`,type:`event`,inputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`,indexed:!0},{type:`uint64`,name:`fallbackNonce`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint64`,name:`depositNumber`}]},{name:`DepositBounceBack`,type:`event`,inputs:[{type:`address`,name:`tempoRefundRecipient`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`bouncebackFee`}]},{name:`DepositBounceBackPending`,type:`event`,inputs:[{type:`address`,name:`tempoRefundRecipient`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`bouncebackFee`}]},{name:`RefundClaimed`,type:`event`,inputs:[{type:`address`,name:`recipient`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`}]},{name:`ZoneGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`zoneGasRate`}]},{name:`MaxTempoGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`maxTempoGasRate`}]},{name:`BouncebackGasUpdated`,type:`event`,inputs:[{type:`uint64`,name:`bouncebackGas`}]},{name:`AdminTransferStarted`,type:`event`,inputs:[{type:`address`,name:`currentAdmin`,indexed:!0},{type:`address`,name:`pendingAdmin`,indexed:!0}]},{name:`AdminTransferred`,type:`event`,inputs:[{type:`address`,name:`previousAdmin`,indexed:!0},{type:`address`,name:`newAdmin`,indexed:!0}]},{name:`NotSequencer`,type:`error`,inputs:[]},{name:`NotAdmin`,type:`error`,inputs:[]},{name:`NotPauseAuthority`,type:`error`,inputs:[]},{name:`CapabilityAbdicated`,type:`error`,inputs:[{type:`uint8`,name:`capability`}]},{name:`AbdicationAlreadyScheduled`,type:`error`,inputs:[{type:`uint8`,name:`capability`}]},{name:`PortalIsPaused`,type:`error`,inputs:[]},{name:`NotPendingAdmin`,type:`error`,inputs:[]},{name:`InvalidProof`,type:`error`,inputs:[]},{name:`InvalidTempoBlockNumber`,type:`error`,inputs:[]},{name:`NotFactory`,type:`error`,inputs:[]},{name:`NotSelf`,type:`error`,inputs:[]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`MustDelegateCall`,type:`error`,inputs:[]},{name:`CallbackRejected`,type:`error`,inputs:[]},{name:`TransferFailed`,type:`error`,inputs:[]},{name:`ReentrantWithdrawal`,type:`error`,inputs:[]},{name:`EncryptionKeyExpired`,type:`error`,inputs:[{type:`uint256`,name:`keyIndex`},{type:`uint64`,name:`activationBlock`},{type:`uint64`,name:`supersededAtBlock`}]},{name:`InvalidEncryptionKeyIndex`,type:`error`,inputs:[{type:`uint256`,name:`keyIndex`}]},{name:`NoEncryptionKeySet`,type:`error`,inputs:[]},{name:`NoEncryptionKeyAtBlock`,type:`error`,inputs:[{type:`uint64`,name:`blockNumber`}]},{name:`InvalidEphemeralPubkey`,type:`error`,inputs:[]},{name:`InvalidCiphertextLength`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidProofOfPossession`,type:`error`,inputs:[]},{name:`DepositTooSmall`,type:`error`,inputs:[]},{name:`TokenEnablementBlockCapacityExceeded`,type:`error`,inputs:[{type:`uint64`,name:`maximum`}]},{name:`TokenMetadataTooLong`,type:`error`,inputs:[]},{name:`GasFeeRateTooHigh`,type:`error`,inputs:[]},{name:`DepositsNotActive`,type:`error`,inputs:[]},{name:`TokenAlreadyEnabled`,type:`error`,inputs:[]},{name:`TokenTransferPolicyNotSet`,type:`error`,inputs:[]},{name:`InvalidDepositTransition`,type:`error`,inputs:[]},{name:`InvalidSequencerSet`,type:`error`,inputs:[]},{name:`SequencerConfigurationUnchanged`,type:`error`,inputs:[]},{name:`InvalidQuorumCertificate`,type:`error`,inputs:[]},{name:`CallbackDidNotReturnToZone`,type:`error`,inputs:[]},{name:`InvalidBouncebackRecipient`,type:`error`,inputs:[]},{name:`TokenNotEnabled`,type:`error`,inputs:[]},{name:`DepositBlockCapacityExceeded`,type:`error`,inputs:[{type:`uint64`,name:`maximum`}]},{name:`InvalidCallbackTarget`,type:`error`,inputs:[]},{name:`AccountNotAllowed`,type:`error`,inputs:[{type:`address`,name:`account`}]},{name:`InvalidLeader`,type:`error`,inputs:[]},{name:`ActiveLeaderRemoved`,type:`error`,inputs:[]},{name:`LeaderAlreadyUpdatedThisBlock`,type:`error`,inputs:[]},{name:`StaleLeadershipEpoch`,type:`error`,inputs:[{type:`uint64`,name:`expected`},{type:`uint64`,name:`actual`}]},{name:`deposit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`_token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`}]}],$T=[{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`zoneId`},{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`anchorBlockNumber`},{type:`bytes32`,name:`anchorBlockHash`},{type:`uint64`,name:`expectedWithdrawalBatchIndex`},{type:`uint256`,name:`nextZoneHeight`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`tuple`,name:`tokenEnablementTransition`,components:[{type:`uint64`,name:`prevProcessedTokenCount`},{type:`uint64`,name:`nextProcessedTokenCount`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`}],outputs:[{type:`bool`}]},{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`zoneId`},{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`anchorBlockNumber`},{type:`bytes32`,name:`anchorBlockHash`},{type:`uint64`,name:`expectedWithdrawalBatchIndex`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`}],outputs:[{type:`bool`}]}],eE=[{type:`constructor`,inputs:[{name:`earnVault_`,type:`address`},{name:`owner_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`active`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`executeFunding`,inputs:[{name:`funder`,type:`address`},{name:`requestedAssets`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`fundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`fund`,inputs:[{name:`funder`,type:`address`},{name:`requestedAssets`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`fundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`fundBatchExact`,inputs:[{name:`funders`,type:`address[]`},{name:`requestedAssets`,type:`uint256[]`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`totalFundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setActive`,inputs:[{name:`active_`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`ActiveSet`,inputs:[{name:`active`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Funded`,inputs:[{name:`funder`,type:`address`,indexed:!0},{name:`requestedAssets`,type:`uint256`,indexed:!1},{name:`fundedAssets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`error`,name:`EarnShareSupplyOutOfBounds`,inputs:[{name:`earnShareSupply`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}]},{type:`error`,name:`Inactive`,inputs:[]},{type:`error`,name:`InvalidArrayLengths`,inputs:[]},{type:`error`,name:`NotSelf`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],tE=[{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:`scale`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`}],nE=[{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`requestRedeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`requestData`,type:`bytes`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`}],rE=[{type:`function`,name:`depositInKind`,inputs:[{name:`venueShares`,type:`uint256`},{name:`from`,type:`address`}],outputs:[{name:`engineSharesReceived`,type:`uint256`}],stateMutability:`nonpayable`}],iE=[{type:`constructor`,inputs:[{name:`tip20Factory_`,type:`address`},{name:`earnVaultImplementation_`,type:`address`},{name:`earnFeesImplementation_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`DEFAULT_ADMIN_ROLE`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`EARN_SHARE_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`FEES_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`computeEarnShareSalt`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`deploy`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:`earnShare`,type:`address`},{name:`earnVault`,type:`address`},{name:`earnFees`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`earnFeesImplementation`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVaultImplementation`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictEarnFees`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictEarnShare`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`tip20Factory`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`EarnStackDeployed`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`earnShare`,type:`address`,indexed:!0},{name:`earnFees`,type:`address`,indexed:!0},{name:`engine`,type:`address`,indexed:!1},{name:`asset`,type:`address`,indexed:!1},{name:`owner`,type:`address`,indexed:!1},{name:`deploymentId`,type:`bytes32`,indexed:!1},{name:`emergencyGuardian`,type:`address`,indexed:!1},{name:`asyncJanitor`,type:`address`,indexed:!1},{name:`maxManagedAssets`,type:`uint256`,indexed:!1},{name:`migrationMode`,type:`uint8`,indexed:!1},{name:`transferPolicyId`,type:`uint64`,indexed:!1},{name:`earnShareSalt`,type:`bytes32`,indexed:!1},{name:`controlConfigHash`,type:`bytes32`,indexed:!1},{name:`feeConfigHash`,type:`bytes32`,indexed:!1},{name:`earnFeesSalt`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`AdminRelinquishmentFailed`,inputs:[]},{type:`error`,name:`EarnShareAlreadyExists`,inputs:[{name:`earnShare`,type:`address`}]},{type:`error`,name:`EarnShareSupplyNotZero`,inputs:[]},{type:`error`,name:`EmptyDeploymentId`,inputs:[]},{type:`error`,name:`EmptyEarnShareMetadata`,inputs:[]},{type:`error`,name:`EngineAlreadyBound`,inputs:[{name:`earnVault`,type:`address`}]},{type:`error`,name:`FactoryCannotBeFinalOwner`,inputs:[]},{type:`error`,name:`FailedDeployment`,inputs:[]},{type:`error`,name:`InsufficientBalance`,inputs:[{name:`balance`,type:`uint256`},{name:`needed`,type:`uint256`}]},{type:`error`,name:`InvalidDistributorConfig`,inputs:[]},{type:`error`,name:`InvalidEarnFeesImplementation`,inputs:[]},{type:`error`,name:`InvalidEarnVaultImplementation`,inputs:[]},{type:`error`,name:`InvalidEngine`,inputs:[]},{type:`error`,name:`InvalidTransferPolicy`,inputs:[{name:`policyId`,type:`uint64`}]},{type:`error`,name:`IssuerGrantFailed`,inputs:[]},{type:`error`,name:`TransferPolicyMismatch`,inputs:[{name:`expected`,type:`uint64`},{name:`actual`,type:`uint64`}]},{type:`error`,name:`UnsupportedTransferPolicy`,inputs:[{name:`policyId`,type:`uint64`},{name:`policyType`,type:`uint8`}]},{type:`error`,name:`ZeroAddress`,inputs:[]}],aE=[{type:`constructor`,inputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accrueFees`,inputs:[],outputs:[{name:`result`,type:`tuple`,components:[{name:`activeAssets`,type:`uint256`},{name:`positiveAccrualAssets`,type:`uint256`},{name:`fixedFeeAssets`,type:`uint256`},{name:`excessFeeAssets`,type:`uint256`},{name:`totalFeeAssets`,type:`uint256`},{name:`totalFeeEarnShares`,type:`uint256`},{name:`preFeeValuePerEarnShare`,type:`uint256`},{name:`postFeeValuePerEarnShare`,type:`uint256`},{name:`targetValuePerEarnShare`,type:`uint256`},{name:`allocationCount`,type:`uint8`},{name:`allocations`,type:`tuple[5]`,components:[{name:`account`,type:`address`},{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}]}]}],stateMutability:`nonpayable`},{type:`function`,name:`claim`,inputs:[{name:`to`,type:`address`},{name:`earnShares`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`claimableEarnShares`,inputs:[{name:`recipient`,type:`address`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`closeRedeemRequest`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`currentFeeConfigId`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`disableFees`,inputs:[{name:`operator`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnShareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`feeBaselinesPending`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`feeConfig`,inputs:[{name:`configId`,type:`uint64`}],outputs:[{name:``,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],stateMutability:`view`},{type:`function`,name:`feeRemainder`,inputs:[{name:`configId`,type:`uint64`},{name:`slot`,type:`uint8`}],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`feesActive`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`feesDisabled`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`highWaterMark`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`initialize`,inputs:[{name:`earnVault_`,type:`address`},{name:`earnShare_`,type:`address`},{name:`initialConfig`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeBaselines`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`pendingFeeSnapshot`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`tuple`,components:[{name:`burnedEarnShares`,type:`uint256`},{name:`requestValue`,type:`uint256`},{name:`highWaterValue`,type:`uint256`},{name:`targetValue`,type:`uint256`},{name:`feeConfigId`,type:`uint64`},{name:`requestedAt`,type:`uint40`},{name:`open`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`previewAccruedFees`,inputs:[],outputs:[{name:`result`,type:`tuple`,components:[{name:`activeAssets`,type:`uint256`},{name:`positiveAccrualAssets`,type:`uint256`},{name:`fixedFeeAssets`,type:`uint256`},{name:`excessFeeAssets`,type:`uint256`},{name:`totalFeeAssets`,type:`uint256`},{name:`totalFeeEarnShares`,type:`uint256`},{name:`preFeeValuePerEarnShare`,type:`uint256`},{name:`postFeeValuePerEarnShare`,type:`uint256`},{name:`targetValuePerEarnShare`,type:`uint256`},{name:`allocationCount`,type:`uint8`},{name:`allocations`,type:`tuple[5]`,components:[{name:`account`,type:`address`},{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}]}]}],stateMutability:`view`},{type:`function`,name:`recordRedeemRequest`,inputs:[{name:`requestId`,type:`bytes32`},{name:`burnedEarnShares`,type:`uint256`},{name:`requestValue`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[{name:`configId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`settleCancelledRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`returnedValue`,type:`uint256`},{name:`activeSupply`,type:`uint256`},{name:`activeAssets`,type:`uint256`},{name:`totalReentryEarnShares`,type:`uint256`}],outputs:[{name:`feeEarnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`shouldChargeRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`targetBase`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`targetStartedAt`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`totalClaimableEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`validateFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[],stateMutability:`view`},{type:`event`,name:`FeeBaselinesInitialized`,inputs:[{name:`highWaterMark`,type:`uint256`,indexed:!1},{name:`targetBase`,type:`uint256`,indexed:!1},{name:`targetStartedAt`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeConfigurationSet`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`configHash`,type:`bytes32`,indexed:!0},{name:`reactivated`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeDustWaived`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`slot`,type:`uint8`,indexed:!0},{name:`remainder`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeEarnSharesAllocated`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`recipient`,type:`address`,indexed:!0},{name:`feeAssets`,type:`uint256`,indexed:!1},{name:`feeEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeEarnSharesClaimed`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`to`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeesAccrued`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`activeAssets`,type:`uint256`,indexed:!1},{name:`positiveAccrualAssets`,type:`uint256`,indexed:!1},{name:`feeAssets`,type:`uint256`,indexed:!1},{name:`feeEarnShares`,type:`uint256`,indexed:!1},{name:`highWaterMark`,type:`uint256`,indexed:!1},{name:`targetValuePerEarnShare`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeesDisabled`,inputs:[{name:`operator`,type:`address`,indexed:!0}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`InsufficientClaimableEarnShares`,inputs:[]},{type:`error`,name:`InvalidFeeClaimReceiver`,inputs:[]},{type:`error`,name:`InvalidFeeConfiguration`,inputs:[]},{type:`error`,name:`NotEarnVault`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],oE=[{type:`constructor`,inputs:[{name:`earnVault_`,type:`address`},{name:`treasury_`,type:`address`},{name:`campaignId_`,type:`bytes32`},{name:`claimDeadline_`,type:`uint40`},{name:`owner_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`campaignId`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`claim`,inputs:[{name:`recipient`,type:`address`},{name:`cumulativeAmount`,type:`uint256`},{name:`proof`,type:`bytes32[]`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`claimDeadline`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`consumedSettlements`,inputs:[{name:`settlementId`,type:`bytes32`}],outputs:[{name:`consumed`,type:`bool`}],stateMutability:`view`},{type:`function`,name:`cumulativePaid`,inputs:[{name:`recipient`,type:`address`}],outputs:[{name:`cumulativeAmount`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`fundAndPublishRoot`,inputs:[{name:`settlementId`,type:`bytes32`},{name:`expectedRootVersion`,type:`uint64`},{name:`funder`,type:`address`},{name:`assets`,type:`uint256`},{name:`minEarnShares`,type:`uint256`},{name:`root`,type:`bytes32`},{name:`totalEntitlement`,type:`uint256`},{name:`statementHash_`,type:`bytes32`}],outputs:[{name:`earnShares`,type:`uint256`},{name:`version`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`leaf`,inputs:[{name:`recipient`,type:`address`},{name:`cumulativeAmount`,type:`uint256`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`merkleRoot`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`paused`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`publishRoot`,inputs:[{name:`expectedRootVersion`,type:`uint64`},{name:`root`,type:`bytes32`},{name:`totalEntitlement`,type:`uint256`},{name:`statementHash_`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`pushBatch`,inputs:[{name:`expectedRootVersion`,type:`uint64`},{name:`recipients`,type:`address[]`},{name:`cumulativeAmounts`,type:`uint256[]`},{name:`multiproof`,type:`bytes32[]`},{name:`proofFlags`,type:`bool[]`}],outputs:[{name:`paidCount`,type:`uint256`},{name:`paidEarnShares`,type:`uint256`},{name:`skippedCount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`pure`},{type:`function`,name:`returnUnspent`,inputs:[],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`rootTotalEntitlement`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`rootVersion`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`setPaused`,inputs:[{name:`paused_`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`statementHash`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`totalPaid`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`treasury`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`AssetsFunded`,inputs:[{name:`funder`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`BatchPushed`,inputs:[{name:`version`,type:`uint64`,indexed:!0},{name:`batchHash`,type:`bytes32`,indexed:!0},{name:`attemptedCount`,type:`uint256`,indexed:!1},{name:`paidCount`,type:`uint256`,indexed:!1},{name:`paidEarnShares`,type:`uint256`,indexed:!1},{name:`skippedCount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`PausedSet`,inputs:[{name:`paused`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`PayoutSkipped`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`cumulativeAmount`,type:`uint256`,indexed:!1},{name:`reason`,type:`uint8`,indexed:!1}],anonymous:!1},{type:`event`,name:`RewardClaimed`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`cumulativeAmount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RootPublished`,inputs:[{name:`version`,type:`uint64`,indexed:!0},{name:`root`,type:`bytes32`,indexed:!0},{name:`statementHash`,type:`bytes32`,indexed:!0},{name:`totalEntitlement`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`UnspentReturned`,inputs:[{name:`treasury`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`ClaimsExpired`,inputs:[]},{type:`error`,name:`ClaimsNotExpired`,inputs:[]},{type:`error`,name:`DepositsPaused`,inputs:[]},{type:`error`,name:`InsufficientFunding`,inputs:[{name:`requiredBalance`,type:`uint256`},{name:`actualBalance`,type:`uint256`}]},{type:`error`,name:`InvalidArrayLengths`,inputs:[]},{type:`error`,name:`InvalidEarnVault`,inputs:[]},{type:`error`,name:`InvalidMultiproof`,inputs:[]},{type:`error`,name:`MerkleProofInvalidMultiproof`,inputs:[]},{type:`error`,name:`NothingOwed`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`OwnershipRenunciationDisabled`,inputs:[]},{type:`error`,name:`Paused`,inputs:[]},{type:`error`,name:`PausedLiabilityIncrease`,inputs:[]},{type:`error`,name:`ReentrancyGuardReentrantCall`,inputs:[]},{type:`error`,name:`RootTotalDecreased`,inputs:[{name:`previousTotal`,type:`uint256`},{name:`nextTotal`,type:`uint256`}]},{type:`error`,name:`RootTotalExceeded`,inputs:[{name:`requestedAmount`,type:`uint256`},{name:`remainingEntitlement`,type:`uint256`}]},{type:`error`,name:`SettlementAlreadyConsumed`,inputs:[{name:`settlementId`,type:`bytes32`}]},{type:`error`,name:`StaleRootVersion`,inputs:[{name:`expected`,type:`uint64`},{name:`actual`,type:`uint64`}]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`UnexpectedEarnShares`,inputs:[{name:`reported`,type:`uint256`},{name:`measured`,type:`uint256`}]},{type:`error`,name:`UnexpectedRetainedAssets`,inputs:[{name:`beforeBalance`,type:`uint256`},{name:`afterBalance`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]},{type:`error`,name:`ZeroCampaignId`,inputs:[]},{type:`error`,name:`ZeroDeadline`,inputs:[]},{type:`error`,name:`ZeroMinimumEarnShares`,inputs:[]},{type:`error`,name:`ZeroRoot`,inputs:[]},{type:`error`,name:`ZeroSettlementId`,inputs:[]},{type:`error`,name:`ZeroStatementHash`,inputs:[]}],sE=[{type:`function`,name:`campaignId`,inputs:[{name:`earnVault`,type:`address`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`install`,inputs:[{name:`earnVault`,type:`address`},{name:`owner`,type:`address`},{name:`treasury`,type:`address`},{name:`claimDeadline`,type:`uint40`},{name:`targetYield`,type:`bool`},{name:`boostRewards`,type:`bool`}],outputs:[{name:`result`,type:`tuple`,components:[{name:`contributionController`,type:`address`},{name:`merkleDistributor`,type:`address`}]}],stateMutability:`nonpayable`},{type:`function`,name:`predictContributionController`,inputs:[{name:`earnVault`,type:`address`},{name:`owner`,type:`address`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictMerkleDistributor`,inputs:[{name:`earnVault`,type:`address`},{name:`owner`,type:`address`},{name:`treasury`,type:`address`},{name:`claimDeadline`,type:`uint40`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`ContributionControllerInstalled`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`contributionController`,type:`address`,indexed:!1}],anonymous:!1},{type:`event`,name:`MerkleDistributorInstalled`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`treasury`,type:`address`,indexed:!0},{name:`merkleDistributor`,type:`address`,indexed:!1},{name:`campaignId`,type:`bytes32`,indexed:!1},{name:`claimDeadline`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`error`,name:`EmptyInstallation`,inputs:[]},{type:`error`,name:`InvalidExistingDeployment`,inputs:[{name:`component`,type:`address`}]},{type:`error`,name:`InvalidRewardConfiguration`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]}],cE=[{type:`constructor`,inputs:[{name:`allowedZoneId_`,type:`uint32`},{name:`earnVault_`,type:`address`},{name:`privateAsset_`,type:`address`},{name:`tokenAuthority_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`allowedZoneId`,inputs:[],outputs:[{name:``,type:`uint32`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`onWithdrawalReceived`,inputs:[{name:`sourceZoneId`,type:`uint32`},{name:`sourcePortal`,type:`address`},{name:``,type:`bytes32`},{name:`token`,type:`address`},{name:`amount`,type:`uint128`},{name:`callbackData`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}],stateMutability:`nonpayable`},{type:`function`,name:`privateAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`reserveToken`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`supportsFlow`,inputs:[{name:`flow`,type:`uint8`}],outputs:[{name:``,type:`bool`}],stateMutability:`pure`},{type:`function`,name:`tokenAuthority`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`transactionLimit`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vaultAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`EarnDeposit`,inputs:[{name:`actionId`,type:`bytes32`,indexed:!0},{name:`earnVault`,type:`address`,indexed:!0},{name:`inputToken`,type:`address`,indexed:!0},{name:`inputAmount`,type:`uint256`,indexed:!1},{name:`vaultAssets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`zoneDepositHash`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnRedeem`,inputs:[{name:`actionId`,type:`bytes32`,indexed:!0},{name:`earnVault`,type:`address`,indexed:!0},{name:`outputToken`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`vaultAssets`,type:`uint256`,indexed:!1},{name:`outputAmount`,type:`uint256`,indexed:!1},{name:`zoneDepositHash`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`AmountExceedsLimit`,inputs:[]},{type:`error`,name:`AmountOverflow`,inputs:[]},{type:`error`,name:`BadFlow`,inputs:[]},{type:`error`,name:`InsufficientOutput`,inputs:[]},{type:`error`,name:`InvalidAuthority`,inputs:[]},{type:`error`,name:`InvalidEarnVault`,inputs:[]},{type:`error`,name:`InvalidPrivateAsset`,inputs:[]},{type:`error`,name:`InvalidReturnToken`,inputs:[]},{type:`error`,name:`InvalidRoutePair`,inputs:[]},{type:`error`,name:`InvalidSourcePortal`,inputs:[]},{type:`error`,name:`InvalidTransactionLimit`,inputs:[]},{type:`error`,name:`NotZoneMessenger`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`ResidualBalance`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`WrongInputToken`,inputs:[]},{type:`error`,name:`WrongSourceZone`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],lE=[{type:`constructor`,inputs:[],stateMutability:`nonpayable`},{type:`function`,name:`MAX_REWARD_RATE_MULTIPLIER`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`absorbEngineShareSurplus`,inputs:[{name:`engineShares_`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`acceptDistributor`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`acceptOperator`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accrueFees`,inputs:[],outputs:[{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`anchorEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`anchorEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`asyncJanitor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`cancelDistributorFeeUpdate`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelDistributorTransfer`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelOperatorTransfer`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`minReceiverEarnShares`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`contribute`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`receivedEngineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`convertEngineSharesToEarnShares`,inputs:[{name:`engineShares_`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`convertToEngineShares`,inputs:[{name:`earnShares`,type:`uint256`}],outputs:[{name:`engineShares_`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minEarnShares`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositVenueShares`,inputs:[{name:`venueShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minEarnShares`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositsPaused`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`disableFees`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`distributor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`distributorFee`,inputs:[],outputs:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`}],stateMutability:`view`},{type:`function`,name:`distributorUpdateDelay`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`earnFees`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`emergencyGuardian`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`engine`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`engineMigrationMode`,inputs:[],outputs:[{name:``,type:`uint8`}],stateMutability:`view`},{type:`function`,name:`engineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`executeDistributorFeeUpdate`,inputs:[],outputs:[{name:`feeConfigId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`finalizeRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`asset_`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initialize`,inputs:[{name:`engine_`,type:`address`},{name:`earnShare_`,type:`address`},{name:`earnFees_`,type:`address`},{name:`operator_`,type:`address`},{name:`controlInit_`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorInit_`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`isAccountingAligned`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`maxManagedAssets`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`migrateEngine`,inputs:[{name:`newEngine`,type:`address`},{name:`minNewEngineShares`,type:`uint256`},{name:`minAssetsRetained`,type:`uint256`}],outputs:[{name:`newEngineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`normalizedRewardRate`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`openRedeemRequestCount`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`operator`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingDistributor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingDistributorFeeUpdate`,inputs:[],outputs:[{name:``,type:`tuple`,components:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`},{name:`executableAt`,type:`uint40`},{name:`pending`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`pendingOperator`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`tuple`,components:[{name:`receiver`,type:`address`},{name:`requester`,type:`address`},{name:`burnedEarnShares`,type:`uint256`},{name:`engineShares`,type:`uint256`},{name:`open`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`earnShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`rawEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`earnShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`remainingDepositCapacity`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`requestRedeem`,inputs:[{name:`earnShares`,type:`uint256`},{name:`engineData`,type:`bytes`},{name:`receiver`,type:`address`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`rewardRateBaseline`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`scheduleDistributorFeeUpdate`,inputs:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setDepositsPaused`,inputs:[{name:`paused`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setEmergencyRoles`,inputs:[{name:`newGuardian`,type:`address`},{name:`newJanitor`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[{name:`configId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`setMaxManagedAssets`,inputs:[{name:`newMaxManagedAssets`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`surplusEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferDistributor`,inputs:[{name:`newDistributor`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`transferOperator`,inputs:[{name:`newOperator`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdrawExact`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`},{name:`maxEarnShares`,type:`uint256`}],outputs:[{name:`earnSharesBurned`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`Contributed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DepositPauseChanged`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`paused`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Deposited`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdateCancelled`,inputs:[{name:`distributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdateScheduled`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`recipient`,type:`address`,indexed:!0},{name:`rateBps`,type:`uint16`,indexed:!1},{name:`executableAt`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdated`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`rateBps`,type:`uint16`,indexed:!1},{name:`feeConfigId`,type:`uint64`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferCancelled`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`pendingDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferStarted`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`pendingDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferred`,inputs:[{name:`previousDistributor`,type:`address`,indexed:!0},{name:`newDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`earnShare`,type:`address`,indexed:!0},{name:`earnFees`,type:`address`,indexed:!0},{name:`operator`,type:`address`,indexed:!1},{name:`emergencyGuardian`,type:`address`,indexed:!1},{name:`asyncJanitor`,type:`address`,indexed:!1},{name:`maxManagedAssets`,type:`uint256`,indexed:!1},{name:`migrationMode`,type:`uint8`,indexed:!1},{name:`distributor`,type:`address`,indexed:!1},{name:`distributorUpdateDelay`,type:`uint40`,indexed:!1},{name:`distributorFeeRecipient`,type:`address`,indexed:!1},{name:`distributorFeeRateBps`,type:`uint16`,indexed:!1}],anonymous:!1},{type:`event`,name:`EmergencyRolesChanged`,inputs:[{name:`emergencyGuardian`,type:`address`,indexed:!0},{name:`asyncJanitor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`EngineMigrated`,inputs:[{name:`oldEngine`,type:`address`,indexed:!0},{name:`newEngine`,type:`address`,indexed:!0},{name:`oldEngineShares`,type:`uint256`,indexed:!1},{name:`assetsMoved`,type:`uint256`,indexed:!1},{name:`newEngineShares`,type:`uint256`,indexed:!1},{name:`totalEarnShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EngineShareShortfallReconciled`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`previousManagedEngineShares`,type:`uint256`,indexed:!1},{name:`observedRawEngineShares`,type:`uint256`,indexed:!1},{name:`shortfallEngineShares`,type:`uint256`,indexed:!1},{name:`totalEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EngineShareSurplusAbsorbed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`MaxManagedAssetsChanged`,inputs:[{name:`previousMaxManagedAssets`,type:`uint256`,indexed:!1},{name:`newMaxManagedAssets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OperatorTransferCancelled`,inputs:[{name:`operator`,type:`address`,indexed:!0},{name:`pendingOperator`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OperatorTransferStarted`,inputs:[{name:`operator`,type:`address`,indexed:!0},{name:`pendingOperator`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OperatorTransferred`,inputs:[{name:`previousOperator`,type:`address`,indexed:!0},{name:`newOperator`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`RedeemCancelled`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemFinalized`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`asset`,type:`address`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemRequested`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`requester`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VenueSharesDeposited`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`requestedVenueShares`,type:`uint256`,indexed:!1},{name:`receivedEngineShares`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`ActiveSupplyWithoutBacking`,inputs:[]},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`DepositsPaused`,inputs:[]},{type:`error`,name:`DistributorFeeUpdateNotPending`,inputs:[]},{type:`error`,name:`DistributorFeeUpdateNotReady`,inputs:[{name:`executableAt`,type:`uint40`}]},{type:`error`,name:`DistributorTransferNotPending`,inputs:[]},{type:`error`,name:`DuplicateRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`EngineAssetMismatch`,inputs:[]},{type:`error`,name:`EngineCapabilityUnsupported`,inputs:[{name:`interfaceId`,type:`bytes4`}]},{type:`error`,name:`EngineEarnVaultMismatch`,inputs:[]},{type:`error`,name:`EngineExitUnsupported`,inputs:[]},{type:`error`,name:`ExceedsMaxEarnShares`,inputs:[]},{type:`error`,name:`ExcessiveConversionLoss`,inputs:[{name:`inputShares`,type:`uint256`},{name:`representedShares`,type:`uint256`}]},{type:`error`,name:`ExcessiveMigrationClassificationError`,inputs:[{name:`expectedManagedAssets`,type:`uint256`},{name:`actualManagedAssets`,type:`uint256`}]},{type:`error`,name:`FeeValuationStale`,inputs:[]},{type:`error`,name:`FinalizedAssetMismatch`,inputs:[{name:`finalizedAsset`,type:`address`}]},{type:`error`,name:`GlobalFeeDisableUnavailable`,inputs:[]},{type:`error`,name:`InitialEarnShareSupplyNotZero`,inputs:[]},{type:`error`,name:`InsufficientEngineShareSurplus`,inputs:[{name:`available`,type:`uint256`},{name:`requested`,type:`uint256`}]},{type:`error`,name:`InsufficientOutput`,inputs:[]},{type:`error`,name:`InvalidDistributorConfiguration`,inputs:[]},{type:`error`,name:`InvalidDistributorFeeConfiguration`,inputs:[]},{type:`error`,name:`InvalidEarnDecimals`,inputs:[]},{type:`error`,name:`InvalidEngineShareScale`,inputs:[]},{type:`error`,name:`MaxManagedAssetsExceeded`,inputs:[{name:`maximum`,type:`uint256`},{name:`actual`,type:`uint256`}]},{type:`error`,name:`MinimumAssetsNotMet`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`MinimumEarnSharesNotMet`,inputs:[{name:`minimumEarnShares`,type:`uint256`},{name:`actualEarnShares`,type:`uint256`}]},{type:`error`,name:`MinimumEngineSharesNotMet`,inputs:[{name:`minimumEngineShares`,type:`uint256`},{name:`actualEngineShares`,type:`uint256`}]},{type:`error`,name:`NoEarnShares`,inputs:[]},{type:`error`,name:`NotDistributor`,inputs:[]},{type:`error`,name:`NotEmergencyGuardianOrOperator`,inputs:[]},{type:`error`,name:`NotEngine`,inputs:[]},{type:`error`,name:`NotOperator`,inputs:[]},{type:`error`,name:`NotPendingDistributor`,inputs:[]},{type:`error`,name:`NotPendingOperator`,inputs:[]},{type:`error`,name:`NotRequesterOrJanitor`,inputs:[]},{type:`error`,name:`OperatorMigrationDisabled`,inputs:[]},{type:`error`,name:`OperatorTransferNotPending`,inputs:[]},{type:`error`,name:`PendingRedeemsOpen`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`RequestNotOpen`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`ResidualBacking`,inputs:[]},{type:`error`,name:`RewardRateLimitExceeded`,inputs:[{name:`normalizedRate`,type:`uint256`},{name:`baselineRate`,type:`uint256`}]},{type:`error`,name:`SameEngine`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]},{type:`error`,name:`ZeroMinimumAssets`,inputs:[]},{type:`error`,name:`ZeroMinimumEarnShares`,inputs:[]},{type:`error`,name:`ZeroMinimumEngineShares`,inputs:[]}],uE=[{type:`constructor`,inputs:[{name:`vault_`,type:`address`},{name:`owner_`,type:`address`},{name:`nameOverride_`,type:`string`},{name:`symbolOverride_`,type:`string`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`baseAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositInKind`,inputs:[{name:`venueShares`,type:`uint256`},{name:`from`,type:`address`}],outputs:[{name:`engineSharesReceived`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`},{name:`finalOwner_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`pure`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`Deposited`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`earnVault`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VenueSharesDeposited`,inputs:[{name:`from`,type:`address`,indexed:!0},{name:`requestedVenueShares`,type:`uint256`,indexed:!1},{name:`receivedEngineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`EarnVaultNotSet`,inputs:[]},{type:`error`,name:`EmptyMetadata`,inputs:[]},{type:`error`,name:`InsufficientAssetsReceived`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`InvalidVenueShareDecimals`,inputs:[]},{type:`error`,name:`NoVenueSharesReceived`,inputs:[]},{type:`error`,name:`NotEarnVault`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`TransferFailed`,inputs:[]},{type:`error`,name:`UnexpectedAssetsReceived`,inputs:[{name:`expectedAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesBurned`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]}],dE=[{type:`function`,name:`ENGINE_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`computeEngineSalt`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`deploy`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:`engine`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`predictEngine`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`ERC4626EngineDeployed`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`vault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`asset`,type:`address`,indexed:!1},{name:`deploymentId`,type:`bytes32`,indexed:!1},{name:`engineSalt`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`EmptyDeploymentId`,inputs:[]},{type:`error`,name:`EngineAlreadyExists`,inputs:[{name:`engine`,type:`address`}]},{type:`error`,name:`FactoryCannotBeFinalOwner`,inputs:[]}],fE=[{type:`constructor`,inputs:[{name:`peripheryRegistry_`,type:`address`},{name:`owner_`,type:`address`},{name:`maxRateAge_`,type:`uint64`},{name:`name_`,type:`string`},{name:`symbol_`,type:`string`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accountant`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`accountantRateUpdatedAt`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`authorizedForwarder`,inputs:[{name:`forwarder`,type:`address`}],outputs:[{name:`authorized`,type:`bool`}],stateMutability:`view`},{type:`function`,name:`baseAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`claimQueue`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`claimRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`finalizeOneExternal`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`forwardSolved`,inputs:[{name:`requestIds`,type:`bytes32[]`},{name:`asset_`,type:`address`},{name:`delta`,type:`uint256`}],outputs:[{name:`claimed`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`getClaim`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`status`,type:`uint8`},{name:`request`,type:`tuple`,components:[{name:`nonce`,type:`uint96`},{name:`user`,type:`address`},{name:`assetOut`,type:`address`},{name:`amountOfShares`,type:`uint128`},{name:`amountOfAssets`,type:`uint128`},{name:`creationTime`,type:`uint40`},{name:`secondsToMaturity`,type:`uint24`},{name:`secondsToDeadline`,type:`uint24`}]}],stateMutability:`view`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`},{name:`finalOwner_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`maxRateAge`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`openClaimsByQueue`,inputs:[{name:`requestQueue`,type:`address`}],outputs:[{name:`count`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`peripheryRegistry`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`peripheryVersion`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`queue`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`rate`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`recoverExternalSettlement`,inputs:[{name:`requestIds`,type:`bytes32[]`}],outputs:[{name:`claimed`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`requestRedeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`requestData`,type:`bytes`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`setAuthorizedForwarder`,inputs:[{name:`account`,type:`address`},{name:`authorized`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxRateAge`,inputs:[{name:`newMaxRateAge`,type:`uint64`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`settled`,inputs:[{name:`asset`,type:`address`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`sweepDust`,inputs:[{name:`token`,type:`address`},{name:`to`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`syncVedaPeriphery`,inputs:[{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`teller`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`unresolvedClaimCount`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`AuthorizedForwarderChanged`,inputs:[{name:`account`,type:`address`,indexed:!0},{name:`authorized`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Deposited`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DustSwept`,inputs:[{name:`token`,type:`address`,indexed:!0},{name:`to`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`earnVault`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`ExternalSettlementRecovered`,inputs:[{name:`requestCount`,type:`uint256`,indexed:!1},{name:`recoveredAssets`,type:`uint256`,indexed:!1},{name:`claimed`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FinalizeFailed`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Finalized`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`MaxRateAgeUpdated`,inputs:[{name:`oldMaxRateAge`,type:`uint64`,indexed:!1},{name:`newMaxRateAge`,type:`uint64`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`RedeemCancelledOnQueue`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`engineShares`,type:`uint128`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemClaimed`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemRequested`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`assetOut`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint128`,indexed:!1}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Settled`,inputs:[{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`newTotal`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Unearmarked`,inputs:[{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`newTotal`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VedaEngineInitialized`,inputs:[{name:`teller`,type:`address`,indexed:!0},{name:`queue`,type:`address`,indexed:!0},{name:`accountant`,type:`address`,indexed:!0},{name:`peripheryVersion`,type:`uint64`,indexed:!1},{name:`maxRateAge`,type:`uint64`,indexed:!1}],anonymous:!1},{type:`event`,name:`VedaPeripheryUpdated`,inputs:[{name:`registryVersion`,type:`uint64`,indexed:!0},{name:`oldTeller`,type:`address`,indexed:!0},{name:`oldQueue`,type:`address`,indexed:!0},{name:`oldAccountant`,type:`address`,indexed:!1},{name:`newTeller`,type:`address`,indexed:!1},{name:`newQueue`,type:`address`,indexed:!1},{name:`newAccountant`,type:`address`,indexed:!1},{name:`validatedRate`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`AssetsNotArrived`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`BaseAssetSweepBlocked`,inputs:[{name:`unresolvedClaims`,type:`uint256`}]},{type:`error`,name:`CannotSweepEngineBacking`,inputs:[]},{type:`error`,name:`ClaimNotClaimable`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`ClaimNotOpen`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`CreditExceedsBalance`,inputs:[{name:`asset`,type:`address`},{name:`have`,type:`uint256`},{name:`wantTotal`,type:`uint256`}]},{type:`error`,name:`DepositsNotPaused`,inputs:[]},{type:`error`,name:`DuplicateRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`EarnVaultNotSet`,inputs:[]},{type:`error`,name:`EmptyMetadata`,inputs:[]},{type:`error`,name:`EngineSharesTooLarge`,inputs:[{name:`engineShares`,type:`uint256`}]},{type:`error`,name:`InsufficientAssetsReceived`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`InvalidAsset`,inputs:[{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`InvalidMaxRateAge`,inputs:[]},{type:`error`,name:`InvalidRateTimestamp`,inputs:[{name:`updatedAt`,type:`uint256`},{name:`currentTime`,type:`uint256`}]},{type:`error`,name:`InvalidTrackedRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`InvalidVedaPeriphery`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`InvalidVedaPeripheryWiring`,inputs:[{name:`component`,type:`address`},{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`InvalidVedaRateBounds`,inputs:[{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}]},{type:`error`,name:`InvalidVenueShareDecimals`,inputs:[]},{type:`error`,name:`NoPublishedVedaPeriphery`,inputs:[]},{type:`error`,name:`NoRecoverableClaims`,inputs:[]},{type:`error`,name:`NoVenueSharesReceived`,inputs:[]},{type:`error`,name:`NotAuthorizedForwarder`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`NotEarnVault`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`NotSelf`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`QueueTrackingDisabled`,inputs:[{name:`queue`,type:`address`}]},{type:`error`,name:`QueueUnavailable`,inputs:[]},{type:`error`,name:`QueuedAssetsBelowMinimum`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`RateChangedWithinTransaction`,inputs:[{name:`expected`,type:`uint256`},{name:`actual`,type:`uint256`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`RegistryEngineMismatch`,inputs:[{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`SolveUnderfunded`,inputs:[{name:`asset`,type:`address`},{name:`delivered`,type:`uint256`},{name:`required`,type:`uint256`}]},{type:`error`,name:`StaleAccountantRate`,inputs:[{name:`updatedAt`,type:`uint256`},{name:`currentTime`,type:`uint256`},{name:`maxAge`,type:`uint256`}]},{type:`error`,name:`SweepExceedsAvailableBalance`,inputs:[{name:`token`,type:`address`},{name:`available`,type:`uint256`},{name:`requested`,type:`uint256`}]},{type:`error`,name:`TransferFailed`,inputs:[]},{type:`error`,name:`UnexpectedAssetsReceived`,inputs:[{name:`expectedAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesBurned`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesQueued`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`UnsupportedAccountantFreshness`,inputs:[{name:`accountant`,type:`address`}]},{type:`error`,name:`VedaRateOutOfBounds`,inputs:[{name:`rate`,type:`uint256`},{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroMinimumQueuedAssets`,inputs:[]}],pE=[{name:`tempoGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`maxWithdrawalsPerBlock`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`lastBatch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`withdrawalQueueHash`},{type:`uint64`,name:`withdrawalBatchIndex`}]}]},{name:`lastFinalizedTimestamp`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`nextWithdrawalIndex`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`lastFallbackNonce`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`pendingWithdrawalsCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPendingWithdrawals`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,components:[{type:`address`,name:`token`},{type:`address`,name:`sender`},{type:`bytes32`,name:`txHash`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`callbackData`},{type:`bytes`,name:`revealTo`}]}]},{name:`consumeFallbackRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`fallbackNonce`}],outputs:[{type:`address`,name:`recipient`}]},{name:`calculateWithdrawalFee`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`gasLimit`}],outputs:[{type:`uint128`,name:`fee`}]},{name:`MAX_CALLBACK_DATA_SIZE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MAX_WITHDRAWAL_GAS_LIMIT`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`WITHDRAWAL_BASE_GAS`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`REVEAL_TO_KEY_LENGTH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`setTempoGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`_tempoGasRate`}],outputs:[]},{name:`setMaxWithdrawalsPerBlock`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`_maxWithdrawalsPerBlock`}],outputs:[]},{name:`requestWithdrawal`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`address`,name:`zoneFallbackRecipient`},{type:`bytes`,name:`data`},{type:`bytes`,name:`revealTo`}],outputs:[]},{name:`enqueueDepositBounceBack`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`address`,name:`tempoRefundRecipient`}],outputs:[]},{name:`finalizeWithdrawalBatch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`count`},{type:`uint64`,name:`blockNumber`},{type:`bytes[]`,name:`encryptedSenders`}],outputs:[{type:`bytes32`,name:`withdrawalQueueHash`}]},{name:`WithdrawalRequested`,type:`event`,inputs:[{type:`uint64`,name:`withdrawalIndex`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`fee`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`data`},{type:`bytes`,name:`revealTo`}]},{name:`BatchFinalized`,type:`event`,inputs:[{type:`bytes32`,name:`withdrawalQueueHash`,indexed:!0},{type:`uint64`,name:`withdrawalBatchIndex`}]},{name:`TempoGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`tempoGasRate`}]},{name:`MaxWithdrawalsPerBlockUpdated`,type:`event`,inputs:[{type:`uint32`,name:`maxWithdrawalsPerBlock`}]},{name:`OnlySequencer`,type:`error`,inputs:[]},{name:`GasLimitTooHigh`,type:`error`,inputs:[]},{name:`OnlyZoneInbox`,type:`error`,inputs:[]},{name:`InvalidWithdrawalCount`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidEncryptedSenderCount`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidEncryptedSenderLength`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidFallbackRecipient`,type:`error`,inputs:[]},{name:`CallbackDataTooLarge`,type:`error`,inputs:[]},{name:`GasFeeRateTooHigh`,type:`error`,inputs:[]},{name:`TransferFailed`,type:`error`,inputs:[]},{name:`InvalidBlockNumber`,type:`error`,inputs:[]},{name:`TooManyWithdrawalsThisBlock`,type:`error`,inputs:[]},{name:`InvalidRevealTo`,type:`error`,inputs:[]},{name:`InvalidCurrentTxHash`,type:`error`,inputs:[]},{name:`ZeroAmountWithdrawal`,type:`error`,inputs:[]},{name:`StaticCallNotAllowed`,type:`error`,inputs:[]}],mE=[{name:`relayMessage`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`token`},{type:`bytes32`,name:`senderTag`},{type:`address`,name:`target`},{type:`uint128`,name:`amount`},{type:`uint64`,name:`gasLimit`},{type:`bytes`,name:`data`}],outputs:[]}],hE=[{type:`constructor`,inputs:[{name:`baseToken_`,type:`address`,internalType:`contract ITIP20`},{name:`quoteToken_`,type:`address`,internalType:`contract ITIP20`},{name:`oracle_`,type:`address`,internalType:`contract IPriceOracle`},{name:`addressRegistry_`,type:`address`,internalType:`contract IAddressRegistry`},{name:`owner_`,type:`address`,internalType:`address`},{name:`guardian_`,type:`address`,internalType:`address`},{name:`maxOracleAge_`,type:`uint256`,internalType:`uint256`},{name:`maxPriceDeviationBps_`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`BPS`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`addressRegistry`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IAddressRegistry`}],stateMutability:`view`},{type:`function`,name:`baseDecimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`baseToQuotePriceAnchor`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`baseToken`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract ITIP20`}],stateMutability:`view`},{type:`function`,name:`fund`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`amount`,type:`uint256`,internalType:`uint256`},{name:`memo`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`guardian`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`maxOracleAge`,inputs:[],outputs:[{name:``,type:`uint80`,internalType:`uint80`}],stateMutability:`view`},{type:`function`,name:`maxPriceDeviationBps`,inputs:[],outputs:[{name:``,type:`uint16`,internalType:`uint16`}],stateMutability:`view`},{type:`function`,name:`oracle`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IPriceOracle`}],stateMutability:`view`},{type:`function`,name:`oracleDecimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`pause`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`paused`,inputs:[],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`priceAnchor`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`}],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`priceScale`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteDecimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`quoteExactInput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountIn`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountOut`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteExactInputFor`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountIn`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountOut`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`creditAfter`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteExactOutput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountOut`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountIn`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteExactOutputFor`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountOut`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountIn`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`creditAfter`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteToBasePriceAnchor`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteToken`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract ITIP20`}],stateMutability:`view`},{type:`function`,name:`recipientAllowed`,inputs:[{name:`recipient`,type:`address`,internalType:`address`}],outputs:[{name:`allowed`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`resetPriceAnchor`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`resolveRecipient`,inputs:[{name:`recipient`,type:`address`,internalType:`address`}],outputs:[{name:`resolved`,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`roundingCredit`,inputs:[{name:`routeKey`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`credit`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`roundingRouteKey`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`setGuardian`,inputs:[{name:`newGuardian`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxOracleAge`,inputs:[{name:`newMaxOracleAge`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxPriceDeviationBps`,inputs:[{name:`newMaxPriceDeviationBps`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setOracle`,inputs:[{name:`newOracle`,type:`address`,internalType:`contract IPriceOracle`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setRecipientAllowed`,inputs:[{name:`recipient`,type:`address`,internalType:`address`},{name:`allowed`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setTakerAllowed`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`allowed`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`swapExactInput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountIn`,type:`uint256`,internalType:`uint256`},{name:`minAmountOut`,type:`uint256`,internalType:`uint256`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`tradeId`,type:`bytes32`,internalType:`bytes32`},{name:`deadline`,type:`uint256`,internalType:`uint256`},{name:`expectedOraclePrice`,type:`uint256`,internalType:`uint256`},{name:`oraclePriceToleranceBps`,type:`uint256`,internalType:`uint256`},{name:`minimumOracleUpdatedAt`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountOut`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`swapExactOutput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountOut`,type:`uint256`,internalType:`uint256`},{name:`maxAmountIn`,type:`uint256`,internalType:`uint256`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`tradeId`,type:`bytes32`,internalType:`bytes32`},{name:`deadline`,type:`uint256`,internalType:`uint256`},{name:`expectedOraclePrice`,type:`uint256`,internalType:`uint256`},{name:`oraclePriceToleranceBps`,type:`uint256`,internalType:`uint256`},{name:`minimumOracleUpdatedAt`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountIn`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`takerAllowed`,inputs:[{name:`taker`,type:`address`,internalType:`address`}],outputs:[{name:`allowed`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`unpause`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdraw`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`amount`,type:`uint256`,internalType:`uint256`},{name:`memo`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`Funded`,inputs:[{name:`token`,type:`address`,indexed:!0,internalType:`address`},{name:`amount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`memo`,type:`bytes32`,indexed:!0,internalType:`bytes32`}],anonymous:!1},{type:`event`,name:`GuardianUpdated`,inputs:[{name:`oldGuardian`,type:`address`,indexed:!0,internalType:`address`},{name:`newGuardian`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`MaxOracleAgeUpdated`,inputs:[{name:`oldMaxAge`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newMaxAge`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`MaxPriceDeviationBpsUpdated`,inputs:[{name:`oldMaxPriceDeviationBps`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newMaxPriceDeviationBps`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`OracleUpdated`,inputs:[{name:`oldOracle`,type:`address`,indexed:!0,internalType:`address`},{name:`newOracle`,type:`address`,indexed:!0,internalType:`address`},{name:`decimals`,type:`uint8`,indexed:!1,internalType:`uint8`}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`oldOwner`,type:`address`,indexed:!0,internalType:`address`},{name:`pendingOwner`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`oldOwner`,type:`address`,indexed:!0,internalType:`address`},{name:`newOwner`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`PausedStateChanged`,inputs:[{name:`paused`,type:`bool`,indexed:!1,internalType:`bool`}],anonymous:!1},{type:`event`,name:`PriceAnchorUpdated`,inputs:[{name:`baseToQuote`,type:`bool`,indexed:!0,internalType:`bool`},{name:`oldAnchor`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newAnchor`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`RecipientPermissionUpdated`,inputs:[{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`allowed`,type:`bool`,indexed:!1,internalType:`bool`}],anonymous:!1},{type:`event`,name:`RoundingCreditUpdated`,inputs:[{name:`routeKey`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`previousCredit`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newCredit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`TakerPermissionUpdated`,inputs:[{name:`taker`,type:`address`,indexed:!0,internalType:`address`},{name:`allowed`,type:`bool`,indexed:!1,internalType:`bool`}],anonymous:!1},{type:`event`,name:`TradeExecuted`,inputs:[{name:`taker`,type:`address`,indexed:!0,internalType:`address`},{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`customerId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`tradeId`,type:`bytes32`,indexed:!1,internalType:`bytes32`},{name:`tokenIn`,type:`address`,indexed:!1,internalType:`address`},{name:`tokenOut`,type:`address`,indexed:!1,internalType:`address`},{name:`amountIn`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`amountOut`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`oraclePrice`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`oracleUpdatedAt`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Withdrawn`,inputs:[{name:`token`,type:`address`,indexed:!0,internalType:`address`},{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`amount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`memo`,type:`bytes32`,indexed:!1,internalType:`bytes32`}],anonymous:!1},{type:`error`,name:`AmountIsZero`,inputs:[]},{type:`error`,name:`CustomerIdIsZero`,inputs:[]},{type:`error`,name:`DeadlineExpired`,inputs:[{name:`deadline`,type:`uint256`,internalType:`uint256`},{name:`currentTimestamp`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`ExactBalanceDeltaFailed`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`expected`,type:`uint256`,internalType:`uint256`},{name:`actual`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`FutureOracleTimestamp`,inputs:[{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`currentTime`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InsufficientInventory`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`available`,type:`uint256`,internalType:`uint256`},{name:`required`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidAddress`,inputs:[]},{type:`error`,name:`InvalidMaxOracleAge`,inputs:[]},{type:`error`,name:`InvalidMaxPriceDeviationBps`,inputs:[{name:`supplied`,type:`uint256`,internalType:`uint256`},{name:`maximum`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidOraclePriceToleranceBps`,inputs:[{name:`supplied`,type:`uint256`,internalType:`uint256`},{name:`maximum`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidPrice`,inputs:[]},{type:`error`,name:`NotGuardianOrOwner`,inputs:[]},{type:`error`,name:`NotOwner`,inputs:[]},{type:`error`,name:`NotPaused`,inputs:[]},{type:`error`,name:`NotPendingOwner`,inputs:[]},{type:`error`,name:`OracleDecimalsChanged`,inputs:[{name:`currentDecimals`,type:`uint8`,internalType:`uint8`},{name:`proposedDecimals`,type:`uint8`,internalType:`uint8`}]},{type:`error`,name:`OraclePriceToleranceExceeded`,inputs:[{name:`expectedPrice`,type:`uint256`,internalType:`uint256`},{name:`actualPrice`,type:`uint256`,internalType:`uint256`},{name:`toleranceBps`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`OracleTimestampTooOld`,inputs:[{name:`minimumUpdatedAt`,type:`uint256`,internalType:`uint256`},{name:`actualUpdatedAt`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`Paused`,inputs:[]},{type:`error`,name:`PriceAnchorNotInitialized`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`}]},{type:`error`,name:`PriceDeviationExceeded`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`anchor`,type:`uint256`,internalType:`uint256`},{name:`maxDeviationBps`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`RecipientNotAllowed`,inputs:[{name:`recipient`,type:`address`,internalType:`address`}]},{type:`error`,name:`ReentrancyGuardReentrantCall`,inputs:[]},{type:`error`,name:`SameToken`,inputs:[]},{type:`error`,name:`SlippageExceeded`,inputs:[{name:`limit`,type:`uint256`,internalType:`uint256`},{name:`actual`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`StaleOraclePrice`,inputs:[{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`maxAge`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`TakerNotAllowed`,inputs:[{name:`taker`,type:`address`,internalType:`address`}]},{type:`error`,name:`TokenTransferFailed`,inputs:[{name:`token`,type:`address`,internalType:`address`}]},{type:`error`,name:`UnsupportedDecimals`,inputs:[{name:`baseDecimals`,type:`uint8`,internalType:`uint8`},{name:`quoteDecimals`,type:`uint8`,internalType:`uint8`},{name:`oracleDecimals`,type:`uint8`,internalType:`uint8`}]},{type:`error`,name:`UnsupportedToken`,inputs:[{name:`token`,type:`address`,internalType:`address`}]}],gE=[...FT,...IT,...RT,...GT,...WT,...LT,...zT,...BT,...VT,...HT,...UT,...V,...KT,...qT,...JT,...XT,...YT,...ZT,...QT,...$T],_E=[...eE,...tE,...nE,...rE,...iE,...aE,...oE,...sE,...cE,...lE,...uE,...dE,...fE],vE=[...mE,...pE],yE=[...hE],bE=[...gE,..._E,...vE,...yE];z();let xE=4217e6,SE=MT(0),CE=MT(0,42431),wE=2**31,TE=`0xaAAAaaAA00000000000000000000000000000000`,EE=`0xfeec000000000000000000000000000000000000`,DE=`0xAACC000000000000000000000000000000000000`,OE=`0xdec0000000000000000000000000000000000000`,kE=`0x1c00000000000000000000000000000000000002`;function AE(e){let t=jE(e);return t===6?`0x7069DeC4E64Fd07334A0933eDe836C17259c9B23`:t===7?`0x3F5296303400B56271b476F5A0B9cBF74350D6Ac`:`0x5ad000000000000000000000${F(t,{size:8}).slice(2)}`}function jE(e){return e>=xE&&e<4218e6?e-xE:e>=CE&&e<wE?jT(e,42431):e>=SE&&e<CE?jT(e):e}function ME(e){let t=MC(e);if(t.type===`multisig`||t.type===`keychain`)throw Error(`Multisig owners must use primitive signatures.`);return t}z();function NE(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||t?.source===`accessKey`||t?.source===`multisig`||e.calls!==void 0||e.feePayer!==void 0||e.feePayerSignature!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.multisigSimulation!==void 0||e.nonceKey!==void 0||e.owner!==void 0||e.signature!==void 0||e.signatures!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:Zd(e)}function PE(e){try{return NE(e)===`tempo`}catch{return!1}}function FE(e){let t=I(e,0,1);return t===`0x76`||t===`0x78`?LE(e):Py(e)}async function IE(e,t){if(!PE(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 Kh(e,{r:F(n,{size:32}),s:F(r,{size:32}),yParity:i})}return Kh(e,t)}if(NE(e)===`tempo`)return RE(e,t);throw Error(`Unsupported transaction type`)}function LE(e){let{feePayerSignature:t,nonce:n,...r}=Gw(e);return{...r,nonce:Number(n??0n),feePayerSignature:t&&{r:F(t.r,{size:32}),s:F(t.s,{size:32}),yParity:t.yParity}}}async function RE(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return MC({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,multisigSimulation:a,nonce:o,owner:s,...c}=e,l=(()=>{let t=e.feePayerSignature;if(t)return{r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)};if(t===null||i)return null})(),u=e.feePayerSignature!==void 0&&e.feePayerSignature!==null,d=n!==void 0||!!(a&&e.signatures),f=i===!0&&(!d||!l)||typeof i==`object`&&!d||!d&&u,p={...c,calls:c.calls?.length?c.calls:[{to:c.to||(!c.data||c.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:c.value,data:c.data}],chainId:Number(r),feePayerSignature:l,type:`tempo`,...o?{nonce:BigInt(o)}:{}},m={...p};f&&delete m.feeToken;let h=(()=>{if(n)return n;if(!a||!e.signatures)return;let t=Yw(Kw(m)),r=e.signatures.map(e=>ME(e)),i=dC(a.config),o=e.from;if(!o)throw Error(`A multisig sender is required for signing.`);return MC({account:o,config:i,signatures:IC({account:o,config:i,payload:t,signatures:r})})})();if(h&&typeof e.feePayer==`object`){let t=Kw(p,{signature:h}),n=Zw(t,{sender:e.from??OC({payload:Yw(t),root:!0,signature:h})});return qw(t,{feePayerSignature:ey(await e.feePayer.sign({hash:n}))})}return i===!0||!h&&u?h&&l?qw(m,{signature:h}):h?qw(m,{format:`feePayer`,sender:e.from,signature:h}):qw(m,{feePayerSignature:null}):qw(m,{feePayerSignature:void 0,signature:h})}z(),ba(),mi();function zE(e){let{access:t}=e;return t?tD(e):eD(e)}function BE(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=tS({privateKey:e});return zE({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=rC({...t,challenge:n,rpId:i,origin:a});return FC({metadata:r,signature:nS({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function VE(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=tS({privateKey:e});return zE({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return FC({signature:nS({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function HE(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=xy({privateKey:e});return zE({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return iy(Ey({payload:n,privateKey:e}))}})}function UE(e){let t=(()=>{if(typeof e==`string`)return;let{address:t,...n}=e;return n})(),n=(()=>{if(!t)return;let e=t.owners.map(e=>typeof e==`string`||`address`in e?{owner:e,weight:1}:e);return dC({...t,owners:e.map(({owner:e,weight:t})=>({owner:typeof e==`string`?e:e.address,weight:t})),threshold:t.threshold??1})})();if(typeof e!=`string`){if((e.address===void 0||e.address===`infer`)&&n.version!==0n)throw Error(`An initial multisig config must have version zero.`);if(e.address!==void 0&&e.address!==`infer`&&n.version===0n)throw Error(`A current multisig config must have a version.`)}let r=G_(typeof e==`string`?e:e.address===void 0||e.address===`infer`?mC(n,{factory:`0x7171717171717171717171717171717171717171`}):e.address),i=t?t.owners.flatMap(e=>{let t=typeof e==`string`||`address`in e?e:e.owner;return typeof t==`string`?[]:[M(t)]}):[];if(i.some(e=>e.source===`multisig`||XE(e)))throw Error(`Multisig owners must use primitive signatures.`);let a=n?.owners.flatMap(({owner:e})=>{let t=i.find(t=>J_(t.address,e));return t?[t]:[]})??[],o={address:r,config:n,owners:a,publicKey:`0x`,source:`multisig`,type:`local`,async sign({hash:e}){return FC(await GE(o,{payload:e}))},async signMessage(){throw Error(\"`signMessage` is not supported for multisig accounts.\")},async signTransaction(e,t){let{serializer:n=IE}=t??{},i=e;if(i.owner){let e=M(i.owner);if(e.type!==`local`)throw Error(`A local owner account is required to approve a multisig transaction.`);if(e.source!==`root`)throw Error(`A Tempo owner account is required to approve a multisig transaction.`);let{owner:n,...r}=i;return await e.signTransaction(r,t)}if(a.length===0)return await n(e);let s=pi(await n({...i,signatures:void 0,...i.feePayerSignature===void 0?{}:{feePayerSignature:null}})),c=i.multisigSimulation;if(i.from&&!J_(i.from,r))throw Error(`Multisig account does not match the transaction sender.`);return await n(e,await GE(o,{config:c?.config,payload:s,signatures:i.signatures?.map(e=>ME(e))}))},async signTypedData(){throw Error(\"`signTypedData` is not supported for multisig accounts.\")}};return o}function WE(e){return e.source===`multisig`}async function GE(e,t){let{config:n,payload:r,signatures:i=[]}=t,a=n??e.config;if(!a)throw Error(`A current multisig config is required for local signing.`);let o=hC({account:e.address,config:a,payload:r}),s=[...i],c=new Set,l=0;for(let e of i){let t=OC({payload:o,signature:e}).toLowerCase(),n=a.owners.find(e=>J_(e.owner,t));!n||c.has(t)||(c.add(t),l+=Number(n.weight))}let u=[...a.owners].sort((e,t)=>Number(t.weight)-Number(e.weight)||e.owner.toLowerCase().localeCompare(t.owner.toLowerCase()));for(let t of u){if(l>=Number(a.threshold))break;let n=t.owner.toLowerCase();if(c.has(n))continue;let r=e.owners.find(e=>J_(e.address,t.owner));if(r){if(!r.sign)throw Error(`Multisig owner account cannot sign.`);if(s.push(ME(await r.sign({hash:o}))),c.add(n),l+=Number(t.weight),l>=Number(a.threshold))break}}if(l<Number(a.threshold))throw Error(`Local multisig owners do not meet the threshold.`);return MC({account:e.address,config:a,signatures:IC({account:e.address,config:a,payload:r,signatures:s})})}function KE(e,t={}){let{id:n}=e,r=F_(e.publicKey);return zE({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await iC({...t,challenge:e,credentialId:n});return FC({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function qE(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return zE({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return FC({signature:await sC({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function JE(e,t){let n=YE(t);return XE(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function YE(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return _w({chainId:t,channelId:typeof n==`string`?n:hw(n,{chainId:t}),cumulativeAmount:r})}function XE(e){return e.source===`accessKey`&&`accessKeyAddress`in e}function ZE(e,t){let{admin:n,chainId:r,expiry:i,key:a,limits:o,scopes:s,witness:c}=t,{accessKeyAddress:l,keyType:u}=nD(a),d=XE(e)||WE(e)?{account:e.address}:{},f=n?{}:{expiry:i,limits:o,scopes:s};return Sw({address:l,chainId:r,type:u,witness:c,...n?{isAdmin:!0}:{},...d,...f})}async function QE(e,t){let{admin:n,chainId:r,expiry:i,key:a,limits:o,multisig:s,scopes:c,signatures:l,witness:u}=t,{accessKeyAddress:d,keyType:f}=nD(a),p=XE(e),m=WE(e),h=p||m?{account:e.address}:{},g=n?{}:{expiry:i,limits:o,scopes:c},_=ZE(e,t);return yw({address:d,chainId:r,signature:MC(await(async()=>{if(p)return e.sign({hash:_,raw:!0});if(m){if(!s)throw Error(`Multisig state is required to sign a key authorization.`);return FC(await GE(e,{config:s.config,payload:_,signatures:l?.map(e=>ME(e))}))}return e.sign({hash:_})})()),type:f,...u?{witness:u}:{},...n?{isAdmin:!0}:{},...h,...g})}function $E(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??q_(e.publicKey),o=L_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?pi(P(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?FC(MC({userAddress:n,inner:MC(o),type:`keychain`,version:i})):o}return{address:G_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=MC(await s({hash:Vu({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:F(a,{size:32}),s:F(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:xg(t)})},async signTransaction(e,t){let{serializer:n=IE}=t??{},r=pi(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),{multisigSimulation:i,from:a}=e;if(i){if(!a)throw Error(`A multisig sender is required for signing.`);return await s({hash:hC({account:a,config:dC(i.config),payload:r}),raw:!0})}return await n(e,MC(await s({hash:r})))},async signTypedData(e){return await s({hash:Ag(e)})},async signVoucher(e){let t=YE(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function eD(e){let t=$E(e);return{...t,source:`root`,async signKeyAuthorization(e,n){let{chainId:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=n,{accessKeyAddress:l,keyType:u}=nD(e),d=c?{}:{expiry:i,limits:a,scopes:o};return yw({address:l,chainId:r,signature:MC(await t.sign({hash:Sw({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function tD(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=M(t);return{...$E({...e,parentAddress:r}),accessKeyAddress:q_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function nD(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:q_(F_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let rD=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function iD(e,t){return rD.indexOf(e)<rD.indexOf(t)}lf(),Ta();function aD(e,t){let{decimals:n,token:r}=t;if(e&&typeof r==`string`){let t=sD(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=iw(r);return{address:i,decimals:n??(e?lD(e,i):void 0)}}function oD(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=sD(e,t);if(n)return n}let i=iw(t);for(let e of n){let t=cD(e,r);if(t&&cf(t.address,i))return t}}function sD(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=t.toLowerCase();for(let e of n)if(e.symbol?.toLowerCase()===i)return cD(e,r)}function cD(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function lD(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=cD(e,r);if(n&&cf(n.address,t))return n.decimals}}async function uD(e,t){let{address:n,decimals:r}=aD(e,t);return r===void 0?{address:n,decimals:await nh(e,{abi:V,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function dD(e){let{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,owner:d,validAfter:f,validBefore:p}=e;return{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,owner:d,validAfter:f,validBefore:p}}function fD(e){return e.length===2?e:[void 0,e[0]]}function H(e){return{...e,data:wa(e),to:e.address}}async function pD(e,t){let n=await e.request({method:`multisig_getConfig`,params:[{address:t.address}]});return n?fC(n):null}async function mD(e,t){let{account:n,...r}=t;return nh(e,{...r,...mD.call({account:n})})}(function(e){function t(e){return H({address:DE,abi:LT,args:[e.account],functionName:`getConfigCommitment`})}e.call=t})(mD||={});async function hD(e,t){return hD.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{account:i,currentConfig:a,nextConfig:o,...s}=r,c=i??n.account,l=(()=>{if(typeof c==`object`&&c.source===`multisig`)return c})(),u=(()=>{if(a)return a;if(l?.config)return l.config})(),d=(()=>{if(l)return l.address;if(typeof c==`string`)return c;if(c)return c.address})(),f=await(async()=>{if(u)return dC(u);if(!d)throw Error(`A multisig account address or current config is required.`);let e=await pD(n,{address:d});if(!e)throw Error(`No current multisig config is cached for account ${d}. Provide the current config.`);return e})(),p=(()=>{if(l)return{...l,config:f};if(typeof c==`object`)return c;if(d)return UE({address:d,...f})})();return await t(n,{...s,...p?{account:p}:{},...e.call({currentConfig:f,nextConfig:o})})}e.inner=t;function n(e){let t=dC(e.currentConfig),n=dC({owners:e.nextConfig.owners,salt:t.salt,threshold:e.nextConfig.threshold,version:t.version+1n});return H({address:DE,abi:LT,args:[t,n.threshold,n.owners],functionName:`updateConfig`})}e.call=n;function r(e){let[t]=mf({abi:LT,logs:e,eventName:`MultisigConfigUpdated`,strict:!0});if(!t)throw Error(\"`MultisigConfigUpdated` event not found.\");return t}e.extractEvent=r})(hD||={}),ba(),lf();let gD={0:`secp256k1`,1:`p256`,2:`webAuthn`},_D={true:`limited`,false:`unlimited`};async function vD(e,t){return vD.inner(xh,e,t)}(function(e){async function t(e,t,n){let{accessKey:r,admin:i,chainId:a=t.chain?.id,expiry:o,limits:s,scopes:c,witness:l,...u}=n,d=u.account??t.account;if(!d)throw Error(`account is required.`);if(!a)throw Error(`chainId is required.`);let f=await DD(t,{account:d,accessKey:r,chainId:a,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:f})}e.inner=t;function n(e){let[t]=mf({abi:FT,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(vD||={});async function yD(e,t){return yD.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{witness:i,...a}=r,o=e.call({witness:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{witness:t}=e;return H({address:TE,abi:FT,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=mf({abi:FT,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(yD||={});async function bD(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n),o=await nh(e,{...i,account:null,...bD.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:gD[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:_D[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return H({address:TE,abi:FT,functionName:`getKey`,args:[t,AD(n)]})}e.call=t})(bD||={});async function xD(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=M(n),s=e.chain?.hardfork;if(s&&iD(s,`t3`))return{remaining:await nh(e,{...a,...xD.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await nh(e,{...a,...xD.callWithPeriod({account:o.address,accessKey:r,token:i})});return{remaining:c,periodEnd:l}}(function(e){function t(e){let{account:t,accessKey:n,token:r}=e;return H({address:TE,abi:FT,functionName:`getRemainingLimit`,args:[t,AD(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return H({address:TE,abi:FT,functionName:`getRemainingLimitWithPeriod`,args:[t,AD(n),r]})}e.callWithPeriod=n})(xD||={});async function SD(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n);return nh(e,{...i,account:null,...SD.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return H({address:TE,abi:FT,functionName:`isAdminKey`,args:[t,AD(n)]})}e.call=t})(SD||={});async function CD(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n);return nh(e,{...i,account:null,...CD.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return H({address:TE,abi:FT,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(CD||={});async function wD(e,t){return wD.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return H({address:TE,abi:FT,functionName:`revokeKey`,args:[AD(t)]})}e.call=n;function r(e){let[t]=mf({abi:FT,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(wD||={});async function TD(e,t){let{throwOnReceiptRevert:n=!0,...r}=t,i=await wD.inner(Bb,e,{...r,throwOnReceiptRevert:n});if(i.status===`pending`)return{receipt:i};let{args:a}=wD.extractEvent(i.logs);return{...a,receipt:i}}async function ED(e,t){let{chainId:n=e.chain?.id}=t,r=t.account??e.account;if(!r)throw Error(`account is required.`);if(!n)throw Error(`chainId is required.`);let i=M(r),a=await(async()=>{if(`multisig`in t)return t.multisig;if(i.source!==`multisig`)return;let e=i;if(!e.config)throw Error(`A multisig config is required to prepare a key authorization.`);return{config:e.config}})(),o=ZE(i,{...t,chainId:BigInt(n),key:t.accessKey}),s=i.source===`multisig`&&a?hC({account:i.address,config:a.config,payload:o}):o;return{...t,account:i,chainId:n,multisig:a,signPayload:s}}async function DD(e,t){if(`hash`in t&&t.hash||`owner`in t&&t.owner){let n=t,r=n.owner;if(!r||typeof r==`string`)throw Error(`A local owner account is required to approve a multisig key authorization.`);let i=M(r).sign;if(!i)throw Error(`A local owner account is required to approve a multisig key authorization.`);let a=await(async()=>{if(`hash`in n&&n.hash){let e=FC(MC(await i({hash:n.hash})));return{hash:n.hash,signature:e}}let{account:t,owner:r,...a}=n,o=typeof t==`string`?t:t.address,s=await(async()=>{if(typeof t!=`string`&&t.config)return t.config;let n=await pD(e,{address:o});if(n)return n;throw Error(`No current multisig config is cached for account ${o}. Provide the current config.`)})(),c=(()=>{if(s.version!==0n)return UE({address:o,...s});let{version:e,...t}=s;return UE({address:`infer`,...t})})();if(!cf(c.address,o))throw Error(`Initial multisig config does not match the account.`);let l=await ED(e,{...a,account:c}),u=FC(MC(await i({hash:l.signPayload}))),{accessKey:d,admin:f,chainId:p,expiry:m,limits:h,scopes:g,witness:_}=l,{accessKeyAddress:v,keyType:y}=nD(d);return{keyAuthorization:Ew(yw({account:c.address,address:v,chainId:BigInt(p),signature:MC({account:c.address,config:s,signatures:[ME(u)]}),type:y,..._?{witness:_}:{},...f?{isAdmin:!0}:{expiry:m,limits:h,scopes:g}}))}})(),o=iT(await e.request({method:`multisig_approveKeyAuthorization`,params:[a]})),s=Cw(await(async()=>{if(o.status===`success`)return o.keyAuthorization;let e=await tT({account:o.account,approvals:o.approvals,config:o.config,hash:o.hash});return nT(o.keyAuthorization,{account:o.account,approvals:e.selectedApprovals.length>0?e.selectedApprovals:e.approvals.slice(0,1),config:o.config})})());if(!s.signature)throw Error(`Expected a signed multisig key authorization.`);return{...s,hash:o.hash,multisig:o,status:o.status}}let{accessKey:n,account:r,chainId:i,multisig:a,signPayload:o,...s}=`signPayload`in t?t:await ED(e,t);return QE(r,{chainId:BigInt(i),key:n,multisig:a,...s})}async function OD(e,t){return OD.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return H({address:TE,abi:FT,functionName:`updateSpendingLimit`,args:[AD(t),n,r]})}e.call=n;function r(e){let[t]=mf({abi:FT,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(OD||={});async function kD(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return nh(e,{...o,...kD.call({account:n,admin:r,hash:i,signature:a})})}(function(e){function t(e){let{account:t,admin:n=!0,hash:r,signature:i}=e;return H({address:`0x5165300000000000000000000000000000000000`,abi:VT,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(kD||={});function AD(e){return typeof e==`string`?e:e.accessKeyAddress}z(),ba();async function jD(e,t){return jD.inner(Sh,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:OE,abi:HT,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(jD||={});async function MD(e,t){return MD.inner(Sh,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:OE,abi:HT,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=mf({abi:HT,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(MD||={});async function ND(e,t){return ND.inner(Sh,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:OE,abi:HT,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=mf({abi:HT,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(ND||={});async function PD(e,t){return PD.inner(Sh,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:OE,abi:HT,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=mf({abi:HT,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(PD||={});async function FD(e,t){let{account:n=e.account,token:r,...i}=t,a=n?M(n).address:void 0;if(!a)throw Error(`account is required.`);return nh(e,{...i,...FD.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return H({address:OE,abi:HT,args:[t,n],functionName:`balanceOf`})}e.call=t})(FD||={});async function ID(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return nh(e,{...a,...ID.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return H({address:OE,abi:HT,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(ID||={});async function LD(e,t){let{orderId:n,...r}=t;return nh(e,{...r,...LD.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return H({address:OE,abi:HT,args:[t],functionName:`getOrder`})}e.call=t})(LD||={});async function RD(e,t){let{base:n,quote:r,...i}=t;return nh(e,{...i,...RD.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e,r=GD(t,n);return H({address:OE,abi:HT,args:[r],functionName:`books`})}e.call=t})(RD||={});async function zD(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await nh(e,{...a,...zD.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:OE,abi:HT,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(zD||={});async function BD(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return nh(e,{...a,...BD.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return H({address:OE,abi:HT,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(BD||={});async function VD(e,t){return VD.inner(Sh,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:OE,abi:HT,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=mf({abi:HT,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(VD||={});async function HD(e,t){return HD.inner(Sh,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:OE,abi:HT,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=mf({abi:HT,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})(HD||={});async function UD(e,t){return UD.inner(Sh,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:OE,abi:HT,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(UD||={});async function WD(e,t){return WD.inner(Sh,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:OE,abi:HT,functionName:`withdraw`,args:[t,n]})}e.call=n})(WD||={});function GD(e,t){return D_(P(e,t))}z(),ba(),Ta();async function KD(e,t){return KD.inner(Sh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(...e){let[t,n]=fD(e),{amount:r,spender:i,token:a}=n,{address:o,decimals:s}=aD(t,{token:a});return H({address:o,abi:V,functionName:`approve`,args:[i,Tb(r,s)]})}e.call=n;async function r(t,n){return sf(t,{...dD(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return rh(t,{...dD(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=mf({abi:V,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(KD||={});async function qD(e,t){return qD.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{amount:i,from:a,token:o,...s}=r,c=e.call(n,{amount:i,from:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=fD(e),{from:r,amount:i,token:a}=n,{address:o,decimals:s}=aD(t,{token:a});return H({address:o,abi:V,functionName:`burnBlocked`,args:[r,Tb(i,s)]})}e.call=n;function r(e){let[t]=mf({abi:V,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(qD||={});async function JD(e,t){return JD.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,token:o,...s}=r,c=e.call(n,{amount:i,memo:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=fD(e),{amount:r,memo:i,token:a}=n,{address:o,decimals:s}=aD(t,{token:a}),c=Tb(r,s),l=i?{functionName:`burnWithMemo`,args:[c,Tp(i,32)]}:{functionName:`burn`,args:[c]};return H({address:o,abi:V,...l})}e.call=n;function r(e){let[t]=mf({abi:V,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(JD||={});async function YD(e,t){return YD.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{policyId:i,token:a,...o}=r,s=e.call(n,{policyId:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=fD(e),{token:r,policyId:i}=n;return H({address:aD(t,{token:r}).address,abi:V,functionName:`changeTransferPolicyId`,args:[i]})}e.call=n;function r(e){let[t]=mf({abi:V,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(YD||={});async function XD(e,t){return XD.inner(Sh,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?M(a):void 0;if(!c)throw Error(`admin is required.`);let l=e.call(n,{...s,admin:c.address});return await t(n,{...r,account:i,chain:o,...l})}e.inner=t;function n(...e){let[t,n]=fD(e),{name:r,symbol:i,currency:a,logoURI:o,quoteToken:s=`0x20c0000000000000000000000000000000000000`,admin:c,salt:l=Dp(32)}=n;return H({address:`0x20fc000000000000000000000000000000000000`,abi:qT,args:typeof o==`string`?[r,i,a,aD(t,{token:s}).address,c,l,o]:[r,i,a,aD(t,{token:s}).address,c,l],functionName:`createToken`})}e.call=n;function r(e){let[t]=mf({abi:qT,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(XD||={});async function ZD(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([nh(e,{...o,...ZD.call(e,{account:n,spender:i,token:a})}),uD(e,{decimals:r,token:a})]);return wb(s,c)}(function(e){function t(...e){let[t,n]=fD(e);return H({address:aD(t,n).address,abi:V,functionName:`allowance`,args:[n.account,n.spender]})}e.call=t})(ZD||={});async function QD(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new gh;let o=M(n).address,[s,{decimals:c}]=await Promise.all([nh(e,{...a,...QD.call(e,{account:o,token:i})}),uD(e,{decimals:r,token:i})]);return wb(s,c)}(function(e){function t(...e){let[t,n]=fD(e),r=n.account??t?.account;if(!r)throw new gh;let i=M(r).address;return H({address:aD(t,n).address,abi:V,functionName:`balanceOf`,args:[i]})}e.call=t})(QD||={});async function $D(e,t){let{token:n,...r}=t,{address:i}=aD(e,{token:n}),a=V,o=oD(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return rw(i)===rw(`0x20c0000000000000000000000000000000000000`)?eO(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`}]}).then(([e,t,n,r,i,a])=>({name:tO(r),symbol:tO(i),currency:tO(e),decimals:tO(t),logoURI:tO(n,``),totalSupply:tO(a),...s})):eO(e,{...r,contracts:[{address:i,abi:a,functionName:`currency`},{address:i,abi:a,functionName:`decimals`},{address:i,abi:a,functionName:`logoURI`},{address:i,abi:a,functionName:`quoteToken`},{address:i,abi:a,functionName:`name`},{address:i,abi:a,functionName:`paused`},{address:i,abi:a,functionName:`supplyCap`},{address:i,abi:a,functionName:`symbol`},{address:i,abi:a,functionName:`totalSupply`},{address:i,abi:a,functionName:`transferPolicyId`}]}).then(([e,t,n,r,i,a,o,c,l,u])=>({name:tO(i),symbol:tO(c),currency:tO(e),decimals:tO(t),logoURI:tO(n,``),quoteToken:tO(r),totalSupply:tO(l),paused:tO(a),supplyCap:tO(o),transferPolicyId:tO(u),...s}))}async function eO(e,t){if(e.batch?.multicall===void 0)return Jy(e,{...t,allowFailure:!0,deployless:!0});let{contracts:n,...r}=t;return(await Promise.allSettled(n.map(t=>nh(e,{...r,...t})))).map(e=>e.status===`fulfilled`?{result:e.value,status:`success`}:{error:e.reason,status:`failure`})}function tO(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function nO(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([nh(e,{...i,...nO.call(e,{token:r})}),uD(e,{decimals:n,token:r})]);return wb(a,o)}(function(e){function t(...e){let[t,n]=fD(e);return H({address:aD(t,n).address,abi:V,args:[],functionName:`totalSupply`})}e.call=t})(nO||={});async function rO(e,t){return nh(e,{...t,...rO.call(e,t)})}(function(e){function t(...e){let[t,n]=fD(e),{role:r,token:i}=n;return H({address:aD(t,{token:i}).address,abi:V,functionName:`getRoleAdmin`,args:[wT(r)]})}e.call=t})(rO||={});async function iO(e,t){let{account:n=e.account}=t,r=n?M(n).address:void 0;if(!r)throw Error(`account is required.`);return nh(e,{...t,...iO.call(e,{...t,account:r})})}(function(e){function t(...e){let[t,n]=fD(e),{account:r,role:i,token:a}=n;return H({address:aD(t,{token:a}).address,abi:V,functionName:`hasRole`,args:[r,wT(i)]})}e.call=t})(iO||={});async function aO(e,t){return aO.inner(xh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:wa(i)}})})}e.inner=t;function n(...e){let[t,n]=fD(e),{token:r,to:i,role:a}=n,o=wT(a);return H({address:aD(t,{token:r}).address,abi:V,functionName:`grantRole`,args:[o,i]})}e.call=n;function r(e){let t=mf({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(aO||={});async function oO(e,t){return oO.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{amount:i,memo:a,to:o,token:s,...c}=r,l=e.call(n,{amount:i,memo:a,to:o,token:s});return await t(n,{...c,...l})}e.inner=t;function n(...e){let[t,n]=fD(e),{to:r,amount:i,memo:a,token:o}=n,{address:s,decimals:c}=aD(t,{token:o}),l=Tb(i,c),u=a?{functionName:`mintWithMemo`,args:[r,l,Tp(a,32)]}:{functionName:`mint`,args:[r,l]};return H({address:s,abi:V,...u})}e.call=n;function r(e){let[t]=mf({abi:V,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(oO||={});async function sO(e,t){return sO.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=fD(e),{token:r}=n;return H({address:aD(t,{token:r}).address,abi:V,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=mf({abi:V,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(sO||={});async function cO(e,t){return cO.inner(xh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:wa(i)}})})}e.inner=t;function n(...e){let[t,n]=fD(e),{token:r,role:i}=n,a=wT(i);return H({address:aD(t,{token:r}).address,abi:V,functionName:`renounceRole`,args:[a]})}e.call=n;function r(e){let t=mf({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(cO||={});async function lO(e,t){return lO.inner(xh,e,t)}(function(e){async function t(t,n,r){let{from:i,...a}=r;return await t(n,{...a,calls:r.roles.map(t=>{let i=e.call(n,{...r,role:t});return{...i,data:wa(i)}})})}e.inner=t;function n(...e){let[t,n]=fD(e),{token:r,from:i,role:a}=n,o=wT(a);return H({address:aD(t,{token:r}).address,abi:V,functionName:`revokeRole`,args:[o,i]})}e.call=n;function r(e){let t=mf({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(lO||={});async function uO(e,t){return uO.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{supplyCap:i,token:a,...o}=r,s=e.call(n,{supplyCap:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=fD(e),{token:r,supplyCap:i}=n;return H({address:aD(t,{token:r}).address,abi:V,functionName:`setSupplyCap`,args:[i]})}e.call=n;function r(e){let[t]=mf({abi:V,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(uO||={});async function dO(e,t){return dO.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{adminRole:i,role:a,token:o,...s}=r,c=e.call(n,{adminRole:i,role:a,token:o});return await t(n,{...s,...c})}e.inner=t;function n(...e){let[t,n]=fD(e),{token:r,role:i,adminRole:a}=n,o=wT(i),s=wT(a);return H({address:aD(t,{token:r}).address,abi:V,functionName:`setRoleAdmin`,args:[o,s]})}e.call=n;function r(e){let[t]=mf({abi:V,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(dO||={});async function fO(e,t){return fO.inner(Sh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(...e){let[t,n]=fD(e),{from:r,memo:i,to:a,token:o}=n,{address:s,decimals:c}=aD(t,{token:o}),l=Tb(n.amount,c),u=i&&r?{functionName:`transferFromWithMemo`,args:[r,a,l,Tp(i,32)]}:i?{functionName:`transferWithMemo`,args:[a,l,Tp(i,32)]}:r?{functionName:`transferFrom`,args:[r,a,l]}:{functionName:`transfer`,args:[a,l]};return H({address:s,abi:V,...u})}e.call=n;async function r(t,n){return sf(t,{...dD(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return rh(t,{...dD(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=mf({abi:V,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(fO||={});async function pO(e,t){return pO.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=fD(e),{token:r}=n;return H({address:aD(t,{token:r}).address,abi:V,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=mf({abi:V,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(pO||={});async function mO(e,t){return mO.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{quoteToken:i,token:a,...o}=r,s=e.call(n,{quoteToken:i,token:a});return await t(n,{...o,...s})}e.inner=t;function n(...e){let[t,n]=fD(e),{token:r,quoteToken:i}=n;return H({address:aD(t,{token:r}).address,abi:V,functionName:`setNextQuoteToken`,args:[aD(t,{token:i}).address]})}e.call=n;function r(e){let[t]=mf({abi:V,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(mO||={});async function hO(e,t){return hO.inner(Sh,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call(n,{token:i});return await t(n,{...a,...o})}e.inner=t;function n(...e){let[t,n]=fD(e),{token:r}=n;return H({address:aD(t,{token:r}).address,abi:V,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=mf({abi:V,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(hO||={}),vp(),z(),ba();let gO=10000000n,_O=[{name:`sequencerEncryptionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`}]}];async function vO(e,t){let{account:n=e.account,...r}=t,i=n?M(n):void 0;if(!i)throw Error(\"`account` is required.\");let a=t.recipient??i.address,o=t.tempoRefundRecipient??i.address,s={...t,recipient:a,tempoRefundRecipient:o};return xh(e,{...r,account:n,calls:vO.calls(s)})}(function(e){function t(e){let{amount:t,memo:n=Rg,recipient:r,tempoRefundRecipient:i,token:a,zoneId:o}=e,s=e.portalAddress??AE(o),c=iw(a);return[H({address:c,abi:V,functionName:`approve`,args:[s,t]}),H({address:s,abi:QT,functionName:`deposit`,args:[c,r,t,n,i]})]}e.calls=t})(vO||={});async function yO(e,t){let{account:n,portalAddress:r,zoneId:i,...a}=t,o=r??AE(i),[s,c]=await Jy(e,{...a,account:n?M(n).address:void 0,allowFailure:!0,batchSize:0,contracts:yO.calls({portalAddress:o}),deployless:!0});if(s.status===`failure`)throw s.error;let l=s.result;if(l===0n||c.status===`failure`)throw l===0n?Error(`No sequencer encryption key configured.`):c.error;let[u,d]=c.result;return j_({prefix:d,x:R(u)},{compressed:!0}),{keyIndex:l-1n,publicKey:{prefix:d,x:u}}}(function(e){function t(e){return[H({address:e.portalAddress,abi:QT,functionName:`encryptionKeyCount`}),H({address:e.portalAddress,abi:_O,functionName:`sequencerEncryptionKey`})]}e.calls=t})(yO||={});async function bO(e,t){let n=e.chain?.id;if(!n)throw Error(\"`chain` is required.\");let{account:r=e.account,...i}=t,a=r?M(r):void 0;if(!a)throw Error(\"`account` is required.\");let o=t.tempoRefundRecipient??a.address;if(`encrypted`in t){if(t.chainId!==n)throw Error(`Prepared encrypted deposit chain ID does not match client chain.`);return xh(e,{...dD(t),calls:bO.calls({...t,tempoRefundRecipient:o})})}let s=t.recipient??a.address,c=await bO.prepare(e,{amount:t.amount,memo:t.memo,portalAddress:t.portalAddress,recipient:s,sender:a.address,tempoRefundRecipient:o,token:t.token,zoneId:t.zoneId});return xh(e,{...i,account:r,calls:bO.calls(c)})}(function(e){async function t(e,t){let n=e.chain?.id;if(!n)throw Error(\"`chain` is required.\");let{amount:r,memo:i,portalAddress:a,recipient:o,sender:s=e.account?.address,tempoRefundRecipient:c,token:l,zoneId:u,...d}=t;if(!s)throw Error(\"`sender` is required.\");let f=s,p=a??AE(u),{keyIndex:m,publicKey:h}=await yO(e,{...d,portalAddress:p,zoneId:u});return{amount:r,chainId:n,encrypted:await wO(h,o,f,p,m,i),keyIndex:m,portalAddress:p,sender:f,tempoRefundRecipient:c,token:l,zoneId:u}}e.prepare=t;async function n(e,t){let n=e.chain?.id;if(!n)throw Error(\"`chain` is required.\");let{memo:r,portalAddress:i,recipient:a,sender:o=e.account?.address,zoneId:s,...c}=t;if(!o)throw Error(\"`sender` is required.\");let l=o,u=i??AE(s),{keyIndex:d,publicKey:f}=await yO(e,{...c,portalAddress:u,zoneId:s});return{chainId:n,encrypted:await wO(f,a,l,u,d,r),keyIndex:d,portalAddress:u,sender:l,zoneId:s}}e.prepareRecipient=n;function r(e){let{amount:t,encrypted:n,keyIndex:r,tempoRefundRecipient:i,token:a,zoneId:o}=e,s=e.portalAddress??AE(o),c=iw(a),l={ephemeralPubkeyX:n.ephemeralPubkeyX,ephemeralPubkeyYParity:n.ephemeralPubkeyYParity,ciphertext:n.ciphertext,nonce:n.nonce,tag:n.tag};return[H({address:c,abi:V,functionName:`approve`,args:[s,t]}),H({address:s,abi:QT,functionName:`depositEncrypted`,args:[c,t,r,l,i]})]}e.calls=r})(bO||={});async function xO(e,t={}){let{callbackGas:n=0n,...r}=t;return nh(e,{...r,address:kE,abi:pE,functionName:`calculateWithdrawalFee`,args:[n]})}async function SO(e,t){let{account:n=e.account}=t,r=n?M(n):void 0;if(!n)throw Error(\"`account` is required.\");let i=t.to??r?.address;if(!i)throw Error(\"`to` is required.\");let a={...t,to:i};return xh(e,{...dD(t),calls:SO.calls(a),gas:t.gas??gO})}(function(e){function t(e){let{amount:t,callbackGas:n=0n,data:r=`0x`,fallbackRecipient:i=e.to,memo:a=Rg,to:o,token:s}=e;return[H({address:iw(s),abi:V,functionName:`approve`,args:[kE,t]}),H({address:kE,abi:pE,functionName:`requestWithdrawal`,args:[iw(s),o,t,a,n,i,r,`0x`]})]}e.calls=t;async function n(t,n){let{account:r=t.account,amount:i,callbackGas:a=0n,data:o=`0x`,fallbackRecipient:s,memo:c=Rg,to:l,token:u,...d}=n,f=r?M(r):void 0,p=l??f?.address;if(!p)throw Error(\"`to` is required.\");let m=await af(t,{...d,account:r,calls:e.calls({amount:i,callbackGas:a,data:o,fallbackRecipient:s,memo:c,to:p,token:u}),gas:d.gas??gO}),h=m.maxFeePerGas??m.gasPrice;if(typeof m.gas!=`bigint`||typeof h!=`bigint`)throw Error(`Prepared transaction fee parameters are unavailable.`);let g=DO(m.gas*h,1000000000000n);return{amount:i,callbackGas:a,data:o,fallbackRecipient:s??p,maxFee:g,memo:c,request:m,to:p,token:u}}e.prepare=n})(SO||={});async function CO(e,t){let{account:n=e.account}=t,r=n?M(n):void 0;if(!n)throw Error(\"`account` is required.\");let i=t.to??r?.address;if(!i)throw Error(\"`to` is required.\");let a={...t,to:i};return xh(e,{...dD(t),calls:CO.calls(a),gas:t.gas??gO})}(function(e){function t(e){let{amount:t,callbackGas:n=0n,data:r=`0x`,fallbackRecipient:i=e.to,memo:a=Rg,revealTo:o,to:s,token:c}=e;return[H({address:iw(c),abi:V,functionName:`approve`,args:[kE,t]}),H({address:kE,abi:pE,functionName:`requestWithdrawal`,args:[iw(c),s,t,a,n,i,r,o]})]}e.calls=t})(CO||={});async function wO(e,t,n,r,i,a=Rg){let o=N_({prefix:e.prefix,x:R(e.x)}),{privateKey:s,publicKey:c}=by(),l=M_(c),u=Sy({privateKey:s,publicKey:o,as:`Bytes`}),d=await globalThis.crypto.subtle.importKey(`raw`,u.slice(1),`HKDF`,!1,[`deriveKey`]),f=await globalThis.crypto.subtle.deriveKey({name:`HKDF`,hash:`SHA-256`,salt:new TextEncoder().encode(`ecies-aes-key`),info:EO(r,i,F(l.x,{size:32}),n)},d,{name:`AES-GCM`,length:256},!1,[`encrypt`]),p=tp(12),m=TO(t,a),h=new Uint8Array(await globalThis.crypto.subtle.encrypt({name:`AES-GCM`,iv:p,tagLength:128},f,qf(m))),g=h.slice(0,-16),_=h.slice(-16);return{ciphertext:Sp(g),ephemeralPubkeyX:F(l.x,{size:32}),ephemeralPubkeyYParity:l.prefix,nonce:Sp(p),tag:Sp(_)}}function TO(e,t){return Kf(qf(e),qf(t),new Uint8Array(12))}function EO(e,t,n,r){return Kf(qf(e),Xf(t,{size:32}),qf(n),qf(r))}function DO(e,t){return(e+t-1n)/t}ba();async function OO(e,...t){let{account:n=e.account,...r}=t[0]??{};if(!n)throw Error(`account is required.`);let i=M(n),a=await nh(e,{...r,...OO.call({account:i.address})});return a===`0x0000000000000000000000000000000000000000`?null:{address:a,id:rw(a)}}(function(e){function t(e){let{account:t}=e;return H({address:EE,abi:WT,args:[t],functionName:`userTokens`})}e.call=t})(OO||={});async function kO(e,t){return kO.inner(Sh,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:EE,abi:WT,functionName:`setUserToken`,args:[iw(t)]})}e.call=n;function r(e){let[t]=mf({abi:WT,logs:e,eventName:`UserTokenSet`,strict:!0});if(!t)throw Error(\"`UserTokenSet` event not found.\");return t}e.extractEvent=r})(kO||={});async function AO(e,t){let{validator:n,...r}=t,i=await nh(e,{...r,...AO.call({validator:n})});return i===`0x0000000000000000000000000000000000000000`?null:{address:i,id:rw(i)}}(function(e){function t(e){let{validator:t}=e;return H({address:EE,abi:WT,args:[t],functionName:`validatorTokens`})}e.call=t})(AO||={});async function jO(e,t){return jO.inner(Sh,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:EE,abi:WT,functionName:`setValidatorToken`,args:[iw(t)]})}e.call=n;function r(e){let[t]=mf({abi:WT,logs:e,eventName:`ValidatorTokenSet`,strict:!0});if(!t)throw Error(\"`ValidatorTokenSet` event not found.\");return t}e.extractEvent=r})(jO||={}),z(),ba(),md();function MO(e){if(!PE(e))return Od(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),n=e.multisig,{feePayerSignature:r,gasPrice:i,nonce:a,...o}=DT(e);return{...o,accessList:o.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:r?{r:F(r.r,{size:32}),s:F(r.s,{size:32}),v:BigInt(r.v??27),yParity:r.yParity}:void 0,multisig:PO(n),nonce:Number(a),typeHex:TT[o.type],type:o.type}}function NO(e){return{...Eh(e),multisig:PO(e.multisig),...e.status===`pending`?{status:`pending`,type:`tempo`}:{}}}function PO(e){if(!e)return;let t=iT(e);if(t.type!==`transaction`)throw Error(`Expected a multisig transaction operation.`);return t}function FO(e,t){let n=e,r=n.account?M(n.account):void 0,i=n.owner?M(n.owner):void 0;if(i?.type===`json-rpc`)throw Error(`A local owner account is required to approve a multisig transaction.`);if(!PE(n))return ud(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{owner:a,signatures:o,...s}=n,c=OT({...s,type:`tempo`});t===`estimateGas`&&(c.maxFeePerGas=void 0,c.maxPriorityFeePerGas=void 0),c.to=void 0,c.data=void 0,c.value=void 0;let l=i??r,[u,d]=(()=>{let e=l&&`keyType`in l?l.keyType:l?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,IO(n.keyData)]:[n.keyType,IO(n.keyData)]})(),f=l&&`accessKeyAddress`in l?l.accessKeyAddress:n.keyId;return r&&(c.from=r.address),{...c,...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.owner?{owner:void 0}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?M(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function IO(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:F(t,{size:2})}let LO=new Map;async function RO(e){LO.set(e,(LO.get(e)??0)+1),await Promise.resolve();let t=(LO.get(e)??0)>1;return queueMicrotask(()=>{let t=LO.get(e)??0;t<=1?LO.delete(e):LO.set(e,t-1)}),t}z(),bd(),lf(),md(),mi();let zO=((e,t)=>IE(e,t)),BO={blockTime:1e3,extendSchema:sg(),formatters:{transaction:kd({exclude:[`aaAuthorizationList`],format:MO}),transactionReceipt:Dh({format:NO}),transactionRequest:pd({format:FO})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(r.hash){if(!r.account||typeof r.account==`string`||r.account.source!==`multisig`)throw Error(`A local multisig account is required to approve a stored multisig transaction.`);if(!r.owner||typeof r.owner==`string`)throw Error(`A local owner account is required to approve a stored multisig transaction.`);if(r.owner.source!==`root`)throw Error(`A Tempo owner account is required to approve a stored multisig transaction.`);let e=await E(t,Ky,`getTransaction`)({hash:r.hash}),n=`multisig`in e?e.multisig:void 0;if(!n)throw Error(`Expected a multisig operation transaction.`);if(!cf(n.account,r.account.address))throw Error(`Multisig operation account does not match the requested account.`);let i=FE(n.transaction);if(eT({account:n.account,config:n.config,transaction:n.transaction,type:`transaction`}).toLowerCase()!==r.hash.toLowerCase())throw Error(`Multisig operation hash does not match transaction.`);return{...i,gas:i.gas??0n,maxFeePerGas:i.maxFeePerGas??0n,maxPriorityFeePerGas:i.maxPriorityFeePerGas??0n,account:r.account,from:n.account,multisigSimulation:VO({config:n.config,local:r.account}),owner:r.owner}}if(n===`afterFillParameters`)return r.gas!==void 0&&r.feePayer&&!r.feePayerSignature&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;let i=(()=>{if(r.account?.source===`multisig`)return{account:r.account.address,config:r.account.config,local:r.account}})();if(r.owner&&!i)throw Error(`A multisig account is required when an owner is provided.`);if(r.owner&&typeof r.owner==`string`)throw Error(`A local owner account is required to approve a multisig transaction.`);if(r.owner&&r.owner.source!==`root`)throw Error(`A Tempo owner account is required to approve a multisig transaction.`);let a=!!i&&!!r.owner&&t.transport.multisig===!0;if(i){let{account:e,local:n}=i;if(!e)throw Error(`A multisig account address is required with a current config.`);let o=await(async()=>{if(i.config)return i.config;if(!a)return;let n=await E(t,pD,`getConfig`)({address:e});if(!n)throw Error(`No current multisig config is cached for account ${e}. Provide the current config.`);return n})();if(!o)throw Error(`A multisig config is required to prepare a transaction.`);r.from=e,r.multisigSimulation=VO({config:o,local:n})}let o=await(async()=>{if(r.nonceKey===`expiring`||r.nonceKey===yd)return!0;if(r.nonceKey!==void 0||i)return!1;if(r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account,t=typeof e==`string`?e:e?.address;return t&&r.nonceKey===void 0?await RO(t.toLowerCase()):!1})();if(a&&r.nonceKey===void 0?(r.nonceKey=R(Dp(31))+1n,r.nonce=0):o?(r.nonceKey=yd,r.nonce=0,r.validAfter===void 0&&(r.validAfter=UO()),r.validBefore===void 0&&(r.validBefore=Math.floor(Date.now()/1e3)+25)):r.nonceKey!==void 0&&(r.nonce=typeof r.nonce==`number`?r.nonce:0),!r.keyAuthorization&&r.account?.source===`accessKey`){let e=r.account.keyAuthorizationManager;if(e){let n=r.chainId??r.chain?.id;if(n!==void 0){let i=r.account.address,a=r.account.accessKeyAddress,o={address:i,accessKey:a,chainId:n},s=await e.get(o);if(s){let n=BigInt(Math.floor(Date.now()/1e3));if(s.expiry!=null&&BigInt(s.expiry)<=n)await e.remove(o);else{let c=await E(t,bD,`getMetadata`)({account:i,accessKey:a});cf(c.address,a)&&!c.isRevoked&&c.expiry>n?await e.remove(o):r.keyAuthorization=s}}}}}return!r.feeToken&&r.chain?.feeToken&&(r.feeToken=r.chain.feeToken),r},{runAt:[`beforeFillTransaction`,`afterFillParameters`]}],serializers:{transaction:zO,async transactionEnvelope({serializedTransaction:e,transaction:t}){let n=t;if(!n.multisigSimulation)return e;try{AC(e)}catch{if(FE(e).signature?.type===`multisig`)return e;throw Error(`A Tempo owner account is required to approve a multisig transaction.`)}return await zO({...n,signatures:[...n.signatures??[],e]})}},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return AC(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?pi(P(`0x04`,r,n)):r,a=(()=>{try{return OC({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await bD(e,{account:n,accessKey:a,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:RC(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await zh(e,{address:n,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return RC(o,{address:n,payload:r})}}return await E(e,db,`verifyHash`)({...t,chain:null})}};function VO(e){let{config:t,local:n}=e;return{approvals:WO(t).map(e=>{let t=n?.owners.find(t=>cf(t.address,e.owner));return{...HO(t),owner:e.owner}}),config:t}}function HO(e){let t=(()=>{if(e&&typeof e==`object`&&`keyType`in e&&typeof e.keyType==`string`)return e.keyType})();return!t||t===`webAuthn`?{keyData:`0x0578`,keyType:`webAuthn`}:t===`p256`||t===`secp256k1`?{keyType:t}:{keyData:`0x0578`,keyType:`webAuthn`}}function UO(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(Dp(8))%e)}function WO(e){let t=[...e.owners].sort((e,t)=>Number(t.weight)-Number(e.weight)||e.owner.toLowerCase().localeCompare(t.owner.toLowerCase())),n=[],r=0;for(let i of t.slice(0,8)){if(r>=Number(e.threshold))break;n.push(i),r+=Number(i.weight)}return n.sort((e,t)=>e.owner.toLowerCase().localeCompare(t.owner.toLowerCase()))}let GO=og({...BO,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},contracts:{earnFactory:{address:`0xb5889A96114014d4C032ebD76772c10bF3b97137`},erc4626EngineFactory:{address:`0xd43D00981222a8db444A528E69f19E3cE5A7D2Ff`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),KO=og({...BO,id:31318,name:`Tempo Devnet`,hardfork:`t3`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.devnet.tempo.xyz`}},nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.devnet.tempoxyz.dev`],webSocket:[`wss://rpc.devnet.tempoxyz.dev`]}},testnet:!0}),qO=og({...BO,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}}),JO=og({...BO,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},contracts:{earnFactory:{address:`0xb5889A96114014d4C032ebD76772c10bF3b97137`},erc4626EngineFactory:{address:`0xd43D00981222a8db444A528E69f19E3cE5A7D2Ff`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0});function YO(e){let{addresses:t,currency:n,decimals:r,name:i,popular:a,symbol:o}=e;function s(e){let s=t[e];if(!s)throw Error(`Token has no address for chain id \"${e}\".`);return{address:s,currency:n,decimals:r,name:i,popular:a,symbol:o}}return Object.defineProperties(s,{addresses:{enumerable:!0,value:t},currency:{enumerable:!0,value:n},decimals:{enumerable:!0,value:r},name:{enumerable:!0,value:i},popular:{enumerable:!0,value:a},symbol:{enumerable:!0,value:o}})}let XO=YO({addresses:{1:`0x9f6F3991D525015a6F8CaF062C83b62fD3AC4436`,4217:`0x20c0000000000000000000006a37DA5C996874BE`,8453:`0xB2000000000000000000002fEb517dFeC7415344`},currency:`USD`,decimals:6,name:`OpenUSD`,symbol:`OUSD`}),ZO=YO({addresses:{4217:`0x20c0000000000000000000000000000000000000`,42431:`0x20c0000000000000000000000000000000000000`},currency:`USD`,decimals:6,name:`PathUSD`,symbol:`pathUSD`}),QO=YO({addresses:{4217:`0x20c000000000000000000000b9537d11c60e8b50`,42431:`0x20c0000000000000000000009e8d7eb59b783726`},currency:`USD`,decimals:6,name:`Bridged USDC (Stargate)`,symbol:`USDC.e`});function $O(e){return e.source}function ek(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return lx({key:ek.type,name:`Relay Proxy`,async request({method:e,params:t},n){if(e===`eth_fillTransaction`){let r=t?.[0];if(r&&typeof r==`object`&&`feePayer`in r&&r.feePayer===!0)return a.request({method:e,params:t},n)}if(e===`eth_sendRawTransactionSync`||e===`eth_sendRawTransaction`){let o=t[0];if(FE(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:ek.type})}}no();let tk={AbdicationAlreadyScheduled:`Capability {0} abdication is already scheduled.`,AccountAlreadyInitialized:`Account already initialized.`,AccountNotAllowed:`Account {0} is not allowed.`,ActiveLeaderRemoved:`The active leader cannot be removed.`,ActiveSupplyWithoutBacking:`Active supply has no backing.`,AddressAlreadyHasValidator:`This address already has a validator.`,AddressNotReserved:`Address is not reserved.`,AddressReserved:`Address is reserved.`,AdminRelinquishmentFailed:`Admin relinquishment failed.`,AlreadyInitialized:`Already initialized.`,AmountExceedsDeposit:`Amount exceeds deposit.`,AmountExceedsLimit:`Amount exceeds limit.`,AmountNotIncreasing:`Amount is not increasing.`,AmountOverflow:`Amount overflow.`,AssetsNotArrived:`Assets for request {0} have not arrived.`,BadFlow:`Invalid execution flow.`,BaseAssetSweepBlocked:`Base asset sweep is blocked by {0} unresolved claims.`,BelowMinimumOrderSize:`Order size is below the minimum allowed ({0}).`,CallNotAllowed:`This call is not allowed.`,CallbackDataTooLarge:`Callback data too large.`,CallbackDidNotReturnToZone:`Callback did not return to the zone.`,CallbackRejected:`Callback rejected.`,CannotChangeWithinBlock:`Cannot change within the same block.`,CannotSweepEngineBacking:`Cannot sweep engine backing.`,CapabilityAbdicated:`Capability {0} has been abdicated.`,CaptureAmountInvalid:`Capture amount is invalid.`,ChannelAlreadyExists:`Channel already exists.`,ChannelNotFound:`Channel not found.`,ClaimNotClaimable:`Claim {0} is not claimable.`,ClaimNotOpen:`Claim {0} is not open.`,ClaimsExpired:`Claims have expired.`,ClaimsNotExpired:`Claims have not expired.`,CloseNotReady:`Channel is not ready to close.`,ContractPaused:`Contract is paused.`,CreditExceedsBalance:`Credit for asset {0} exceeds the balance. Available: {1}, requested total: {2}.`,DepositBlockCapacityExceeded:`Deposit block capacity of {0} exceeded.`,DepositOverflow:`Deposit overflow.`,DepositTooSmall:`Deposit too small.`,DepositsNotActive:`Deposits are not active.`,DepositsNotPaused:`Deposits are not paused.`,DepositsPaused:`Deposits are paused.`,DistributorFeeUpdateNotPending:`No distributor fee update is pending.`,DistributorFeeUpdateNotReady:`Distributor fee update is not executable until {0}.`,DistributorTransferNotPending:`No distributor transfer is pending.`,DivisionByZero:`Division by zero.`,DuplicateAllowedAccount:`Duplicate allowed account.`,DuplicateOwner:`Duplicate owner.`,DuplicateRequest:`Request {0} is duplicated.`,DuplicateZoneGateway:`Duplicate zone gateway.`,EarnShareAlreadyExists:`Earn share {0} already exists.`,EarnShareSupplyNotZero:`Earn share supply is not zero.`,EarnShareSupplyOutOfBounds:`Earn share supply {0} exceeds the maximum {1}.`,EarnVaultNotSet:`Earn vault is not set.`,EmptyDeploymentId:`Deployment ID cannot be empty.`,EmptyEarnShareMetadata:`Empty earn share metadata.`,EmptyMetadata:`Empty metadata.`,EmptyV1ValidatorSet:`Validator set is empty.`,EncryptionKeyExpired:`Encryption key {0}, activated at block {1}, expired at block {2}.`,EngineAlreadyBound:`Earn vault {0} is already bound to an engine.`,EngineAlreadyExists:`Engine {0} already exists.`,EngineAssetMismatch:`Engine asset mismatch.`,EngineCapabilityUnsupported:`Engine capability {0} is unsupported.`,EngineEarnVaultMismatch:`Engine earn vault mismatch.`,EngineExitUnsupported:`This engine does not support exits.`,EngineSharesTooLarge:`Engine share amount {0} is too large.`,ExceedsMaxEarnShares:`Maximum earn shares exceeded.`,ExcessiveConversionLoss:`Conversion loss is excessive. Input shares: {0}, represented shares: {1}.`,ExcessiveMigrationClassificationError:`Migration managed assets mismatch. Expected {0}, got {1}.`,ExpiringNonceHashNotSet:`Expiring nonce hash is not set.`,ExpiringNonceReplay:`Expiring nonce has already been used.`,ExpiringNonceSetFull:`Expiring nonce set is full.`,ExpiryInPast:`Expiry is in the past.`,FactoryCannotBeFinalOwner:`The factory cannot be the final owner.`,FailedDeployment:`Deployment failed.`,FeeValuationStale:`Fee valuation is stale.`,FinalizedAssetMismatch:`Finalized asset {0} does not match.`,GasFeeRateTooHigh:`Gas fee rate too high.`,GasLimitTooHigh:`Gas limit too high.`,GlobalFeeDisableUnavailable:`Global fee disabling is unavailable.`,IdenticalAddresses:`Addresses must be different.`,IdenticalTokens:`Cannot swap a token for itself — input and output tokens must be different.`,Inactive:`This contract is inactive.`,IncompatiblePolicyType:`Incompatible policy type.`,IndexAlreadySet:`Index already set.`,IngressAlreadyExists:`Ingress \"{0}\" already exists.`,InitialEarnShareSupplyNotZero:`Initial earn share supply must be zero.`,InsufficientAllowance:`Insufficient allowance.`,InsufficientAssetsReceived:`Insufficient assets received. Minimum: {0}, actual: {1}.`,InsufficientBalance:`Insufficient balance. Required: {1}, available: {0}.`,InsufficientClaimableEarnShares:`Insufficient claimable earn shares.`,InsufficientEngineShareSurplus:`Insufficient engine share surplus. Available: {0}, requested: {1}.`,InsufficientFeeTokenBalance:`Insufficient fee token balance.`,InsufficientFunding:`Insufficient funding. Required: {0}, actual: {1}.`,InsufficientLiquidity:`Not enough liquidity in the order book to fill this trade.`,InsufficientOutput:`The output amount is below the slippage minimum — try increasing slippage tolerance.`,InsufficientReserves:`Insufficient reserves.`,InvalidAccount:`Invalid account.`,InvalidAdmin:`Invalid admin.`,InvalidAmount:`Invalid amount.`,InvalidArrayLengths:`Invalid array lengths.`,InvalidAsset:`Invalid asset. Expected {0}, got {1}.`,InvalidAuthority:`Invalid authority.`,InvalidBaseToken:`This token is not a valid base token for the requested pair.`,InvalidBlockNumber:`Invalid block number.`,InvalidBouncebackRecipient:`Invalid bounceback recipient.`,InvalidCallScope:`Invalid call scope.`,InvalidCallbackTarget:`Invalid callback target.`,InvalidCiphertextLength:`Invalid ciphertext length. Expected {1}, got {0}.`,InvalidClaimAddress:`Invalid claim address.`,InvalidClosedLoopConfig:`Invalid closed loop config.`,InvalidConfig:`Invalid config.`,InvalidCurrency:`Invalid currency.`,InvalidCurrentTxHash:`Invalid current transaction hash.`,InvalidDepositTransition:`Invalid deposit transition.`,InvalidDistributorConfig:`Invalid distributor config.`,InvalidDistributorConfiguration:`Invalid distributor configuration.`,InvalidDistributorFeeConfiguration:`Invalid distributor fee configuration.`,InvalidEarnDecimals:`Invalid earn decimals.`,InvalidEarnFeesImplementation:`Invalid earn fees implementation.`,InvalidEarnVault:`Invalid earn vault.`,InvalidEarnVaultImplementation:`Invalid earn vault implementation.`,InvalidEncryptedSenderCount:`Invalid encrypted sender count. Expected {1}, got {0}.`,InvalidEncryptedSenderLength:`Invalid encrypted sender length. Expected {1}, got {0}.`,InvalidEncryptionKeyIndex:`Encryption key index {0} is invalid.`,InvalidEngine:`Invalid engine.`,InvalidEngineShareScale:`Invalid engine share scale.`,InvalidEphemeralPubkey:`Invalid ephemeral pubkey.`,InvalidExpiringNonceExpiry:`Invalid expiring nonce expiry.`,InvalidFallbackRecipient:`Invalid fallback recipient.`,InvalidFeeClaimReceiver:`Invalid fee claim receiver.`,InvalidFeeConfiguration:`Invalid fee configuration.`,InvalidFlipTick:`The flip-order price tick is invalid.`,InvalidFormat:`Invalid format.`,InvalidKeyAuthorizationWitness:`Invalid key authorization witness.`,InvalidKeyId:`Invalid key ID.`,InvalidLeader:`Invalid leader.`,InvalidLogoURI:`Invalid logo URI.`,InvalidMasterAddress:`Invalid master address.`,InvalidMaxRateAge:`Invalid maximum rate age.`,InvalidMigrationIndex:`Invalid migration index.`,InvalidMode:`Invalid mode.`,InvalidMultiproof:`Invalid multiproof.`,InvalidNonceKey:`Invalid nonce key.`,InvalidOwner:`Invalid owner.`,InvalidOwnerOrder:`Invalid owner order.`,InvalidPayee:`Invalid payee.`,InvalidPayload:`Invalid payload.`,InvalidPolicyType:`Invalid policy type.`,InvalidPrivateAsset:`Invalid private asset.`,InvalidProof:`Invalid proof.`,InvalidProofOfPossession:`Invalid proof of possession.`,InvalidPublicKey:`Invalid public key.`,InvalidQuorumCertificate:`Invalid quorum certificate.`,InvalidQuoteToken:`Invalid quote token.`,InvalidRateTimestamp:`Rate timestamp {0} is invalid at current time {1}.`,InvalidReceipt:`Invalid receipt.`,InvalidReceivePolicyType:`Invalid receive policy type.`,InvalidRecipient:`Invalid recipient.`,InvalidRecoveryAuthority:`Invalid recovery authority.`,InvalidReturnToken:`Invalid return token.`,InvalidRevealTo:`Invalid reveal to.`,InvalidRoutePair:`Invalid route pair.`,InvalidSequencerSet:`Invalid sequencer set.`,InvalidSignature:`Invalid signature.`,InvalidSignatureFormat:`Invalid signature format.`,InvalidSignatureType:`Invalid signature type.`,InvalidSourcePortal:`Invalid source portal.`,InvalidSpendingLimit:`Invalid spending limit.`,InvalidSupplyCap:`Invalid supply cap.`,InvalidSwapCalculation:`Invalid swap calculation.`,InvalidTempoBlockNumber:`Invalid tempo block number.`,InvalidThreshold:`Invalid threshold.`,InvalidTick:`The price tick is invalid.`,InvalidToken:`This token is not supported on the exchange.`,InvalidTrackedRequest:`Tracked request {0} is invalid.`,InvalidTransactionLimit:`Invalid transaction limit.`,InvalidTransferPolicy:`Transfer policy {0} is invalid.`,InvalidTransferPolicyId:`Invalid transfer policy.`,InvalidValidatorAddress:`Invalid validator address.`,InvalidVedaPeriphery:`Account {0} is not a valid Veda periphery.`,InvalidVedaPeripheryWiring:`Invalid Veda periphery wiring for component {0}. Expected {1}, got {2}.`,InvalidVedaRateBounds:`Invalid Veda rate bounds. Minimum: {0}, maximum: {1}.`,InvalidVenueShareDecimals:`Invalid venue share decimals.`,InvalidWeight:`Invalid weight.`,InvalidWithdrawalCount:`Invalid withdrawal count. Expected {1}, got {0}.`,IssuerGrantFailed:`Issuer grant failed.`,KeyAlreadyExists:`Key already exists.`,KeyAlreadyRevoked:`Key has already been revoked.`,KeyAuthorizationWitnessAlreadyBurned:`Key authorization witness has already been burned.`,KeyExpired:`Key has expired.`,KeyNotFound:`Key not found.`,LeaderAlreadyUpdatedThisBlock:`The leader has already been updated this block.`,LegacyAuthorizeKeySelectorChanged:`Legacy authorize key selector changed to {0}.`,LogoURITooLong:`Logo URI is too long.`,MasterIdCollision:`Master ID collision with {0}.`,MaxInputExceeded:`The required input exceeds the slippage maximum — try increasing slippage tolerance.`,MaxManagedAssetsExceeded:`Maximum managed assets {0} exceeded by actual amount {1}.`,MerkleProofInvalidMultiproof:`Invalid Merkle multiproof.`,MigrationNotComplete:`Migration is not complete.`,MinimumAssetsNotMet:`Minimum assets not met. Minimum: {0}, actual: {1}.`,MinimumEarnSharesNotMet:`Minimum earn shares not met. Minimum: {0}, actual: {1}.`,MinimumEngineSharesNotMet:`Minimum engine shares not met. Minimum: {0}, actual: {1}.`,MustDelegateCall:`This function must be called with delegatecall.`,NoEarnShares:`No earn shares were received.`,NoEncryptionKeyAtBlock:`No encryption key exists at block {0}.`,NoEncryptionKeySet:`No encryption key set.`,NoOptedInSupply:`No opted-in supply.`,NoPublishedVedaPeriphery:`No Veda periphery has been published.`,NoRecoverableClaims:`No recoverable claims were found.`,NoVenueSharesReceived:`No venue shares were received.`,NonceOverflow:`Nonce overflow.`,NotAdmin:`Not admin.`,NotAuthorizedForwarder:`Caller {0} is not an authorized forwarder.`,NotDistributor:`Not distributor.`,NotEarnVault:`Not earn vault.`,NotEmergencyGuardianOrOperator:`Caller is not the emergency guardian or operator.`,NotEngine:`Not engine.`,NotFactory:`Not factory.`,NotHostPort:`\"{1}\" is not a valid host:port for {0}.`,NotInitialized:`Not initialized.`,NotIp:`\"{0}\" is not a valid IP address.`,NotIpPort:`\"{1}\" is not a valid IP:port for {0}.`,NotMultisigAccount:`Not multisig account.`,NotOperator:`Not operator.`,NotOwner:`Not owner.`,NotPauseAuthority:`Not pause authority.`,NotPayeeOrOperator:`Not payee or operator.`,NotPayer:`Not payer.`,NotPendingAdmin:`Not pending admin.`,NotPendingDistributor:`Not pending distributor.`,NotRequesterOrJanitor:`Caller is not the requester or janitor.`,NotSelf:`Not self.`,NotSequencer:`Not sequencer.`,NotZoneMessenger:`Not zone messenger.`,NothingOwed:`Nothing is owed.`,OnlyDirectCall:`Only direct calls are allowed.`,OnlySequencer:`Only the sequencer may call this function.`,OnlyZoneInbox:`Only the zone inbox may call this function.`,OperatorMigrationDisabled:`Operator migration disabled.`,OrderDoesNotExist:`No order exists with the given ID.`,OrderNotStale:`This order is not yet eligible for stale-cleanup.`,OwnableInvalidOwner:`Owner {0} is invalid.`,OwnableUnauthorizedAccount:`Account {0} is not authorized.`,OwnershipRenunciationDisabled:`Ownership renunciation disabled.`,PairAlreadyExists:`A trading pair for these tokens has already been created.`,PairDoesNotExist:`No trading pair exists for these tokens.`,Paused:`This contract is paused.`,PausedLiabilityIncrease:`Cannot increase liabilities while paused.`,PendingRedeemsOpen:`Pending redemptions are still open.`,PermitExpired:`Permit has expired.`,PolicyForbids:`Forbidden by policy.`,PolicyNotFound:`Policy not found.`,PolicyNotSimple:`Policy is not a simple policy.`,PortalIsPaused:`Portal is paused.`,ProofOfWorkFailed:`Proof of work failed.`,ProtectedAddress:`Address is protected.`,ProtocolNonceNotSupported:`Protocol nonce is not supported.`,PublicKeyAlreadyExists:`Public key already exists.`,QueueTrackingDisabled:`Tracking is disabled for queue {0}.`,QueueUnavailable:`Queue unavailable.`,RateChangedWithinTransaction:`Rate changed within the transaction. Expected {0}, got {1}.`,ReentrancyGuardReentrantCall:`Reentrant call blocked.`,ReentrantCall:`Reentrant call blocked.`,ReentrantWithdrawal:`Reentrant withdrawal blocked.`,RegistryEngineMismatch:`Registry engine mismatch. Expected {0}, got {1}.`,RequestNotOpen:`Request {0} is not open.`,ResidualBacking:`Residual backing remains.`,ResidualBalance:`Residual balance remains.`,RewardRateLimitExceeded:`Normalized reward rate {0} exceeds the baseline rate {1}.`,RootTotalDecreased:`Root total decreased from {0} to {1}.`,RootTotalExceeded:`Requested amount {0} exceeds the remaining entitlement {1}.`,SameEngine:`Same engine.`,SameTransactionUpdateNotAllowed:`Same transaction update not allowed.`,SequencerConfigurationUnchanged:`Sequencer configuration unchanged.`,SignatureTypeMismatch:`Signature type mismatch. Expected {0}, got {1}.`,SolveUnderfunded:`Solve for asset {0} is underfunded. Delivered: {1}, required: {2}.`,SpendingLimitExceeded:`Spending limit exceeded.`,StaleAccountantRate:`Accountant rate updated at {0} is stale at time {1}; maximum age is {2}.`,StaleLeadershipEpoch:`Stale leadership epoch. Expected {0}, got {1}.`,StaleRootVersion:`Stale root version. Expected {0}, got {1}.`,StaticCallNotAllowed:`Static call not allowed.`,SupplyCapExceeded:`Supply cap exceeded.`,SweepExceedsAvailableBalance:`Sweep for token {0} exceeds the balance. Available: {1}, requested: {2}.`,TickOutOfBounds:`Price tick {0} is outside the allowed range.`,TokenAlreadyEnabled:`Token already enabled.`,TokenAlreadyExists:`Token {0} already exists.`,TokenCallFailed:`Token call failed.`,TokenCallFalse:`Token call returned false.`,TokenEnablementBlockCapacityExceeded:`Token enablement block capacity of {0} exceeded.`,TokenMetadataTooLong:`Token metadata too long.`,TokenNotEnabled:`Token not enabled.`,TokenTransferPolicyNotSet:`Token transfer policy not set.`,TooManyOwners:`Too many owners.`,TooManyWithdrawalsThisBlock:`Too many withdrawals this block.`,TransferFailed:`Transfer failed.`,TransferPolicyMismatch:`Transfer policy mismatch. Expected {0}, got {1}.`,Unauthorized:`Unauthorized.`,UnauthorizedCaller:`Unauthorized caller.`,UnauthorizedClaimer:`Unauthorized claimer.`,UnexpectedAssetsReceived:`Unexpected assets received. Expected {0}, got {1}.`,UnexpectedEarnShares:`Unexpected earn shares. Reported: {0}, measured: {1}.`,UnexpectedRetainedAssets:`Unexpected assets retained. Balance before: {0}, after: {1}.`,UnexpectedVenueSharesBurned:`Unexpected venue shares burned. Expected {0}, got {1}.`,UnexpectedVenueSharesQueued:`Unexpected venue shares queued. Expected {0}, got {1}.`,Uninitialized:`Uninitialized.`,UnsupportedAccountantFreshness:`Accountant {0} does not support freshness checks.`,UnsupportedTransferPolicy:`Transfer policy {0} has unsupported type {1}.`,ValidatorAlreadyDeactivated:`Validator is already deactivated.`,ValidatorAlreadyExists:`Validator already exists.`,ValidatorNotFound:`Validator not found.`,VedaRateOutOfBounds:`Veda rate {0} is outside the allowed range of {1} to {2}.`,VirtualAddressNotAllowed:`Virtual address is not allowed.`,VirtualAddressUnregistered:`Virtual address is not registered.`,WrongInputToken:`Incorrect input token.`,WrongSourceZone:`Incorrect source zone.`,ZeroAddress:`Address cannot be zero.`,ZeroAmount:`Amount cannot be zero.`,ZeroAmountWithdrawal:`Withdrawal amount cannot be zero.`,ZeroCampaignId:`Campaign ID cannot be zero.`,ZeroDeadline:`Deadline cannot be zero.`,ZeroDeposit:`Deposit cannot be zero.`,ZeroMinimumAssets:`Minimum assets cannot be zero.`,ZeroMinimumEarnShares:`Minimum earn shares cannot be zero.`,ZeroMinimumEngineShares:`Minimum engine shares cannot be zero.`,ZeroPublicKey:`Public key cannot be zero.`,ZeroRoot:`Root cannot be zero.`,ZeroStatementHash:`Statement hash cannot be zero.`};function nk(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function rk(e){let t=e.details??e.shortMessage??e.message,n=ik(e);if(n)try{let e=to({abi:bE,data:n}),r=tk[e.errorName];return{...e,data:n,message:r?nk(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in tk?{errorName:`unknown`,message:tk[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function ik(e){if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.data==`string`&&t.data.startsWith(`0x`))return t.data;if(t.cause)return ik(t.cause);if(t.error)return ik(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return ik(e)}return null}function ak(e={}){let{extractable:t=!1}=e;return{requiresStructuredClone:!t,async createKey(){if(!globalThis.crypto?.subtle)throw Error(\"`webCryptoP256` keystore requires WebCrypto (`crypto.subtle`) support.\");let e=await oC({extractable:t}),n=L_(e.publicKey);return t?{handle:{jwk:await globalThis.crypto.subtle.exportKey(`jwk`,e.privateKey),kind:`webcrypto-p256`},publicKey:n}:{handle:{keyPair:e,kind:`webcrypto-p256`},publicKey:n}},async toAccount(e,t){let n=e.handle;if(n?.kind!==`webcrypto-p256`)throw Error(\"Unrecognized `webCryptoP256` keystore handle.\");let r={access:t.access,keyAuthorizationManager:t.keyAuthorizationManager};if(n.keyPair){if(!ok(n.keyPair.privateKey))throw new sk(\"`webCryptoP256` key material did not survive storage.\");return qE(n.keyPair,r)}if(n.jwk)return qE({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new sk(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:F_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function ok(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey||!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var sk=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function ck(e){return e instanceof sk||e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let lk={p256:ak()};function uk(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 dk(e,t){return typeof t==`bigint`?t.toString():t}var fk=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function pk(e){return new fk(e)}function mk(e){return e==null}function hk(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function gk(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function _k(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function vk(e){return _k(e._zod.def)??e._zod.def.shape}function yk(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return gk(this,t,e),e},enumerable:!0,configurable:!0})}function bk(e,t,n){t in e?gk(e,t,n):e[t]=n}function xk(e,t,n,r){let i=vk(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?yk(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):bk(e,a,r?r(n.value,a):n.value))}}function Sk(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let Ck=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function wk(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Tk(e){if(wk(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return wk(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}let Ek=new Set([`string`,`number`,`symbol`]),Dk=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function Ok(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function kk(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function Ak(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 jk(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}function Mk(e,t){let n=vk(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: \"${String(e)}\"`);t[e]&&r.push(e)}return r}function Nk(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(Mk(e,t)),a={};return xk(a,e,Reflect.ownKeys(vk(e)).filter(e=>!i.has(e))),kk(e,Sk(n,{shape:a,checks:[]}))}function Pk(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 Fk(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 Ik(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Lk(e){return typeof e==`string`?e:e?.message}function Rk(e){let t=[];for(let n of e??[]){let e=n._zod.def;if(!/_(length|size)$|_equals$/.test(e.check))break;let r=e.maximum??e.length??e.size;r>=0&&t.push([r,n])}return t}function zk(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function Bk(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:Lk(e.inst?._zod.def?.error?.(e))??Lk(a?.(e))??Lk(t?.error?.(e))??Lk(n.customError?.(e))??Lk(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}let Vk=/[\\uD800-\\uDBFF]/;function Hk(e){let t=e.length;if(!Vk.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function Uk(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Wk(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function Gk(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):Jk(e,n,r.value)}}function Kk(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function qk(e,t,n){return Kk(e,t,n,!1)}function Jk(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:Kk(this,t,n.bind(this))},set(e){Kk(this,t,e)}})}function Yk(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}let Xk,Zk=!1,Qk={configurable:!0,get(){Zk=!0}};function $k(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&Xk!==e._zod){Xk=void 0;return}Xk=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,Qk);let e=Zk;Zk=!1;try{let r=n(this);return Zk?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),Zk||=e,r}catch(n){throw delete this[t],Zk||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function eA(e,t,n,r){let i=Yk(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}var tA;let nA={value:void 0,enumerable:!1},rA=`captureStackTrace`in Error?Error:null;function iA(e){let t=rA;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return rA=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function U(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){nA.value=new a(r);try{Object.defineProperty(n,\"_zod\",nA)}finally{nA.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),Gk(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,\"name\",{value:e});function d(e){let t=r?.Parent?iA(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,\"init\",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,\"name\",{value:e}),d}var aA=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},oA=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(tA=globalThis).__zod_globalConfig??(tA.__zod_globalConfig={});let sA=globalThis.__zod_globalConfig;function cA(e){return e&&Object.assign(sA,e),sA}function lA(){let e=this._zod;return e.message??=JSON.stringify(e.def,dk,2),e.message}function uA(e){this._zod.message=e}let dA={get:lA,set:uA,enumerable:!0,configurable:!0},fA={value:void 0,enumerable:!1},pA=new WeakSet([Object.prototype,Error.prototype]),mA=(e,t)=>{e.name=`$ZodError`,fA.value=t,Object.defineProperty(e,\"issues\",fA),fA.value=void 0,Object.defineProperty(e,\"message\",dA);let n=Object.getPrototypeOf(e);pA.has(n)||(pA.add(n),Object.defineProperty(n,\"toString\",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,\"toString\",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,\"toString\",{value:e,configurable:!0,writable:!0})}}))};U(`$ZodError`,mA);let hA=U(`$ZodError`,mA,void 0,{Parent:Error});function gA(e,t){return{callee:t?.callee??e,Err:t?.Err}}let _A=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new aA;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>Bk(e,o,cA())));throw Ck(n,a?.callee??t),n}return s.value};return t},vA=_A(hA),yA=(e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>Bk(e,o,cA())));throw Ck(n,a?.callee??t),n}return s.value};return t})(hA),bA=(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 aA;return a.issues.length?xA(e,a.issues,i):{success:!0,data:a.value}})(hA);function xA(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>Bk(e,n,cA()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}let SA=(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?xA(e,a.issues,i):{success:!0,data:a.value}})(hA),CA=(e=>{let t=_A(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,gA(n,a))};return n})(hA),wA=/^[\\s\\S]{0,}$/,TA=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},EA=/^-?\\d+n?$/,DA=/^-?\\d+$/,OA=/^-?\\d+(?:\\.\\d+)?$/,kA=/^(?:true|false)$/i,AA=/^null$/i,jA=/^undefined$/i,MA=U(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),NA=e=>{let t=e.value;return!mk(t)&&t.length!==void 0},PA={number:`number`,bigint:`bigint`,object:`date`},FA=U(`$ZodCheckLessThan`,(e,t)=>{MA.init(e,t);let n=PA[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:PA[typeof r.value]??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})}}),IA=U(`$ZodCheckGreaterThan`,(e,t)=>{MA.init(e,t);let n=PA[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:PA[typeof r.value]??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})}}),LA=U(`$ZodCheckMaxLength`,(e,t)=>{var n;MA.init(e,t),(n=e._zod.def).when??(n.when=NA),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?Hk(r):i)<=t.maximum)return;let a=Uk(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),RA=U(`$ZodCheckMinLength`,(e,t)=>{var n;MA.init(e,t),(n=e._zod.def).when??(n.when=NA),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?Hk(r):i)>=t.minimum)return;let a=Uk(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),zA=U(`$ZodCheckStringFormat`,(e,t)=>{var n,r;MA.init(e,t),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=()=>{})}),BA=U(`$ZodCheckRegex`,(e,t)=>{zA.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})}}),VA={major:4,minor:6,patch:7},HA=U(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=VA;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=Pk(t),a;for(let o of n){if(o._zod.def.when){if(Fk(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new aA;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(zk(t.issues,n,e),i||=Pk(t,n))});else{if(t.issues.length===n)continue;zk(t.issues,n,e),i||=Pk(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(Pk(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new aA;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new aA;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get\"~standard\"(){return qk(this,`~standard`,GA(this))},set\"~standard\"(e){Kk(this,`~standard`,e)}}),UA=(e,t)=>e.issues.length?{issues:e.issues.map(e=>Bk(e,t,cA()))}:{value:e.value};async function WA(e,t){let n={async:!0};return UA(await e._zod.run({value:t,issues:[]},n),n)}function GA(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return UA(r,n)}catch{}return WA(e,t)},vendor:`zod`,version:1}}let KA=U(`$ZodString`,(e,t)=>{HA.init(e,t),e._zod.pattern=t.pattern??wA,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}}),qA=U(`$ZodNumber`,(e,t)=>{HA.init(e,t),e._zod.pattern=OA,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:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),JA=U(`$ZodBoolean`,(e,t)=>{HA.init(e,t),e._zod.pattern=kA,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}}),YA=U(`$ZodBigInt`,(e,t)=>{HA.init(e,t),e._zod.pattern=EA,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}}),XA=U(`$ZodUndefined`,(e,t)=>{HA.init(e,t),e._zod.pattern=jA,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}}),ZA=U(`$ZodNull`,(e,t)=>{HA.init(e,t),e._zod.pattern=AA,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}}),QA=U(`$ZodUnknown`,(e,t)=>{HA.init(e,t),e._zod.parse=e=>e}),$A=U(`$ZodNever`,(e,t)=>{HA.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function ej(e,t){let n=Rk(e._zod.def.checks);if(!n.length)return;let r=Math.min(...n.map(e=>e[0])),i=e._zod.parse;e._zod.parse=(n,a)=>{let o=t(n.value);if(o>r&&!a?.skipChecks&&a?.direction!==`backward`){for(let[t,r]of Rk(e._zod.def.checks))if(o>t&&r._zod.def.when(n)){let t=n.issues.length;return r._zod.check(n),n.issues[t].continue=!1,zk(n.issues,t,e),n}}return i(n,a)}}let tj=e=>Array.isArray(e)?e.length:-1;function nj(e,t,n){e.issues.length&&t.issues.push(...Ik(n,e.issues)),t.value[n]=e.value}let rj=U(`$ZodArray`,(e,t)=>{HA.init(e,t);let n=sA.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>nj(t,r,e)));else if(nj(c,r,e),s&&c.issues.length!==0&&Pk(c))break}return o.length?Promise.all(o).then(()=>r):r},ej(e,tj)});function ij(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(!(!o&&s&&i===`optional`)){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...Ik(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}let aj=[];function oj(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:aj,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key \"${String(t)}\": expected a Zod schema`);let a=jk(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function sj(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(Pk(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>ij(e,n,i,t,d,f))):ij(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}let cj=U(`$ZodObject`,(e,t)=>{HA.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,\"shape\",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,\"shape\",{get:e})}let i=pk(()=>oj(t));$k(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||gk(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let a=wk,o=t.catchall,s,c=sA.memoizer;c?.attach(e),e._zod.parse=(t,n)=>{s??=i.value;let r=t.value;if(!a(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=c?c.alloc(e,t,{},n):{};let l=[],u=s.shape,d=n?.abortEarly,f=t.issues.length;for(let e of s.allKeys){if(d&&t.issues.length!==f){if(Pk(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let i=u[e],a=i._zod.optin,o=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?l.push(s.then(n=>ij(n,t,e,r,a,o))):ij(s,t,e,r,a,o)}return o?sj(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}});function lj(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=>!Pk(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=>Bk(e,r,cA())))}),t)}let uj=U(`$ZodUnion`,(e,t)=>{HA.init(e,t),$k(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),$k(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),$k(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),$k(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>hk(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=>lj(t,r,e,i)):lj(o,r,e,i)}});function dj(e){let t=new Map;for(let n of e.options){let r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw Error(`Invalid discriminated union option at index \"${e.options.indexOf(n)}\"`);for(let e of r)if(t.has(e)){if(e!==void 0)throw Error(`Duplicate discriminator value \"${String(e)}\"`);t.set(e,null)}else t.set(e,n)}return t}let fj=U(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,uj.init(e,t);let n=e._zod.parse;$k(e,`propValues`,e=>{let t={},n=0;for(let r of e.def.options){let i=r._zod.propValues;if(!i||Object.keys(i).length===0)throw Error(`Invalid discriminated union option at index \"${e.def.options.indexOf(r)}\"`);i[e.def.discriminator]?.has(void 0)&&n++;for(let[e,n]of Object.entries(i)){Object.prototype.hasOwnProperty.call(t,e)||gk(t,e,new Set);for(let r of n)t[e].add(r)}}return!e.def.unionFallback&&n>1&&t[e.def.discriminator]?.delete(void 0),t}),t.options.forEach((e,n)=>{let r=_k(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index \"${n}\"`)});let r=pk(()=>dj(t));e._zod.parse=(i,a)=>{let o=i.value;if(!wk(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=o?.[t.discriminator],c=r.value.get(s);return c&&(s!==void 0||a.direction!==`backward`)?c._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()).filter(e=>r.value.get(e)!==null),input:o,path:[t.discriminator],inst:e}),i)}}),pj=U(`$ZodTuple`,(e,t)=>{HA.init(e,t);let n=t.items,r=sA.memoizer;r?.attach(e),e._zod.parse=(i,a)=>{let o=i.value;if(!Array.isArray(o))return i.issues.push({input:o,inst:e,expected:`tuple`,code:`invalid_type`}),i;i.value=r?r.alloc(e,i,[],a):[];let s=[],c=mj(n,`optin`),l=mj(n,`optout`);if(!t.rest){if(o.length<c)return i.issues.push({code:`too_small`,minimum:c,inclusive:!0,input:o,inst:e,origin:`array`}),i;o.length>n.length&&i.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:o,inst:e,origin:`array`})}let u=Array(n.length),d=t.rest?a?.abortEarly:void 0,f=!1;for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:o[e],issues:[]},a);t instanceof Promise?s.push(t.then(t=>{u[e]=t})):(u[e]=t,d&&!f&&t.issues.length&&(f=Pk(t)))}if(t.rest&&!f){let e=n.length-1,r=o.slice(n.length),c=i.issues.length;for(let n of r){if(d&&i.issues.length!==c){if(Pk(i,c))break;c=i.issues.length}e++;let r=t.rest._zod.run({value:n,issues:[]},a);r instanceof Promise?s.push(r.then(t=>hj(t,i,e))):hj(r,i,e)}}return s.length?Promise.all(s).then(()=>gj(u,i,n,o,l)):gj(u,i,n,o,l)}});function mj(e,t){for(let n=e.length-1;n>=0;n--)if(!(t===`optin`?e[n]._zod.optin!==void 0:e[n]._zod.optout===`optional`))return n+1;return 0}function hj(e,t,n){e.issues.length&&t.issues.push(...Ik(n,e.issues)),t.value[n]=e.value}function gj(e,t,n,r,i){for(let a=0;a<n.length;a++){let o=e[a],s=a<r.length;if(!s&&a>=i&&n[a]._zod.optin===`optional`){t.value.length=a;break}if(o.issues.length){if(!s&&a>=i){t.value.length=a;break}t.issues.push(...Ik(a,o.issues))}t.value[a]=o.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 _j=U(`$ZodRecord`,(e,t)=>{HA.init(e,t);let n=sA.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Tk(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>Bk(e,i,cA())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...Ik(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...Ik(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&OA.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>Bk(e,i,cA())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...Ik(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...Ik(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),vj=U(`$ZodEnum`,(e,t)=>{HA.init(e,t);let n=uk(t.entries),r=new Set(n);e._zod.values=r,$k(e,`pattern`,e=>{let t=uk(e.def.entries).filter(e=>Ek.has(typeof e));return RegExp(t.length?`^(${t.map(e=>Ok(e.toString())).join(`|`)})$`:`^[^\\\\s\\\\S]$`)}),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}}),yj=U(`$ZodLiteral`,(e,t)=>{HA.init(e,t);let n=new Set(t.values);e._zod.values=n,$k(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?Ok(e):e?Ok(e.toString()):String(e)).join(`|`)})$`:`^[^\\\\s\\\\S]$`)}),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}}),bj=U(`$ZodTransform`,(e,t)=>{HA.init(e,t),e._zod.optin=`optional`,sA.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new oA(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));if(i instanceof Promise)throw new aA;return n.value=i,n}});function xj(e,t){return e.value=t.issues.length?void 0:t.value,e}let Sj=U(`$ZodOptional`,(e,t)=>{HA.init(e,t),$k(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,$k(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),$k(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${hk(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>xj(e,t)):xj(e,r)}return t.innerType._zod.run(e,n)}}),Cj=U(`$ZodNullable`,(e,t)=>{HA.init(e,t),$k(e,`optin`,e=>e.def.innerType._zod.optin),$k(e,`optout`,e=>e.def.innerType._zod.optout),$k(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${hk(t.source)}|null)$`):void 0}),$k(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),wj=U(`$ZodPipe`,(e,t)=>{HA.init(e,t),$k(e,`values`,e=>e.def.in._zod.values),$k(e,`optin`,e=>e.def.in._zod.optin),$k(e,`optout`,e=>e.def.out._zod.optout),$k(e,`propValues`,e=>e.def.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=>Tj(e,t.in,n)):Tj(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Tj(e,t.out,n)):Tj(r,t.out,n)}});function Tj(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}let Ej=U(`$ZodCodec`,(e,t)=>{HA.init(e,t),$k(e,`values`,e=>e.def.in._zod.values),$k(e,`optin`,e=>e.def.in._zod.optin),$k(e,`optout`,e=>e.def.out._zod.optout),$k(e,`propValues`,e=>e.def.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=>Dj(e,t,n)):Dj(r,t,n)}{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Dj(e,t,n)):Dj(r,t,n)}}});function Dj(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=>Oj(e,r,t.out,n)):Oj(e,r,t.out,n)}{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>Oj(e,r,t.in,n)):Oj(e,r,t.in,n)}}function Oj(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let kj=U(`$ZodReadonly`,(e,t)=>{HA.init(e,t),$k(e,`propValues`,e=>e.def.innerType._zod.propValues),$k(e,`values`,e=>e.def.innerType._zod.values),$k(e,`optin`,e=>e.def.innerType?._zod?.optin),$k(e,`optout`,e=>e.def.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(Aj):Aj(r)}});function Aj(e){return e.memo||(e.value=Object.freeze(e.value)),e}function jj(e){let t=e._zod.def,n=t.pattern,r=!!t.format?.includes(`int`),i,a;for(let e of t.checks??[]){let t=e._zod.def;t.pattern&&(n=t.pattern),r||=!!t.format?.includes(`int`);let o=t.minimum??t.length,s=t.maximum??t.length;o!==void 0&&(i===void 0||o>i)&&(i=o),s!==void 0&&(a===void 0||s<a)&&(a=s)}if(n)return n.source;if(i!==void 0&&a!==void 0&&i>a)return`(?!)`;if(i!==void 0||a!==void 0)return TA({minimum:i,maximum:a}).source;let o=e._zod.pattern;return(r&&o===OA?DA:o)?.source}function Mj(e){let t=e._zod.def,n=e._zod.pattern?.source,r=t.innerType??e._zod.innerType;if(r){let e=r._zod.pattern?.source,t=Mj(r);return n&&e&&t&&t!==e?n.replace(hk(e),()=>hk(t)):n}if(t.options){let e=t.options.map(Mj);if(e.every(Boolean))return`^(${e.map(e=>hk(e)).join(`|`)})$`}return jj(e)}let Nj=U(`$ZodTemplateLiteral`,(e,t)=>{HA.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){let t=Mj(e);if(!t)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);n.push(hk(t))}else if(e===null||Dk.has(typeof e))n.push(Ok(`${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)}),Pj=U(`$ZodCustom`,(e,t)=>{MA.init(e,t),HA.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=>Fj(t,n,r,e));Fj(i,n,r,e)}});function Fj(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(Wk(e))}}function Ij(e){return e.checks&&=[...e.checks],e}function Lj(e,t){return new e(Ij({type:`string`,...Ak(t)}))}function Rj(e,t){return new e(Ij({type:`number`,checks:[],...Ak(t)}))}function zj(e,t){return new e({type:`boolean`,...Ak(t)})}function Bj(e,t){return new e({type:`bigint`,...Ak(t)})}function Vj(e,t){return new e({type:`undefined`,...Ak(t)})}function Hj(e,t){return new e({type:`null`,...Ak(t)})}function Uj(e){return new e({type:`unknown`})}function Wj(e,t){return new e({type:`never`,...Ak(t)})}function Gj(e,t){return new FA({check:`less_than`,...Ak(t),value:e,inclusive:!0})}function Kj(e,t){return new IA({check:`greater_than`,...Ak(t),value:e,inclusive:!0})}function qj(e,t){return new LA({check:`max_length`,...Ak(t),maximum:e})}function Jj(e,t){return new RA({check:`min_length`,...Ak(t),minimum:e})}function Yj(e,t){return new BA({check:`string_format`,format:`regex`,...Ak(t),pattern:e})}function Xj(e,t,n){let r=Ak(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function Zj(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...Ak(n)})}let Qj=U(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);HA.init(e,t),e.def=t,e.type=t.type},{get with(){return this.check},set with(e){Kk(this,`with`,e)},parse(e,t){return vA(this,e,t,{callee:this.parse})},parseAsync(e,t){return yA(this,e,t,{callee:this.parseAsync})},safeParse(e,t){return bA(this,e,t)},safeParseAsync(e,t){return SA(this,e,t)},check(...e){let t=this.def;return this.clone({...t,checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]},{parent:!0})},clone(e,t){return kk(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},apply(e,...t){return t.length===0?e(this):e(this,...t)}}),$j=U(`ZodMiniString`,(e,t)=>{KA.init(e,t),Qj.init(e,t)});function W(e){return Lj($j,e)}let eM=U(`ZodMiniNumber`,(e,t)=>{qA.init(e,t),Qj.init(e,t)});function tM(e){return Rj(eM,e)}let nM=U(`ZodMiniBoolean`,(e,t)=>{JA.init(e,t),Qj.init(e,t)});function rM(e){return zj(nM,e)}let iM=U(`ZodMiniBigInt`,(e,t)=>{YA.init(e,t),Qj.init(e,t)});function aM(e){return Bj(iM,e)}let oM=U(`ZodMiniUndefined`,(e,t)=>{XA.init(e,t),Qj.init(e,t)});function sM(e){return Vj(oM,e)}let cM=U(`ZodMiniNull`,(e,t)=>{ZA.init(e,t),Qj.init(e,t)});function lM(e){return Hj(cM,e)}let uM=U(`ZodMiniUnknown`,(e,t)=>{QA.init(e,t),Qj.init(e,t)});function dM(){return Uj(uM)}let fM=U(`ZodMiniNever`,(e,t)=>{$A.init(e,t),Qj.init(e,t)});function pM(e){return Wj(fM,e)}let mM=U(`ZodMiniArray`,(e,t)=>{rj.init(e,t),Qj.init(e,t)});function G(e,t){return new mM({type:`array`,element:e,...Ak(t)})}let hM=U(`ZodMiniObject`,(e,t)=>{cj.init(e,t),Qj.init(e,t),eA(e,`shape`,e=>e._zod.def.shape,!1)});function K(e,t){let n={type:`object`,shape:e??{},...Ak(t)};return new hM(n)}function gM(e,t){return new hM({type:`object`,shape:e,catchall:dM(),...Ak(t)})}function _M(e,t){return Nk(e,t)}let vM=U(`ZodMiniUnion`,(e,t)=>{uj.init(e,t),Qj.init(e,t)});function q(e,t){return new vM({type:`union`,options:e,...Ak(t)})}let yM=U(`ZodMiniDiscriminatedUnion`,(e,t)=>{fj.init(e,t),Qj.init(e,t)});function bM(e,t,n){return new yM({type:`union`,options:t,discriminator:e,...Ak(n)})}let xM=U(`ZodMiniTuple`,(e,t)=>{pj.init(e,t),Qj.init(e,t)});function SM(e,t,n){let r=t instanceof HA;return new xM({type:`tuple`,items:e,rest:r?t:null,...Ak(r?n:t)})}let CM=U(`ZodMiniRecord`,(e,t)=>{_j.init(e,t),Qj.init(e,t)});function wM(e,t,n){return!t||!t._zod?new CM({type:`record`,keyType:W(),valueType:e,...Ak(t)}):new CM({type:`record`,keyType:e,valueType:t,...Ak(n)})}let TM=U(`ZodMiniEnum`,(e,t)=>{vj.init(e,t),Qj.init(e,t),e.options=[...e._zod.values]});function EM(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new TM({type:`enum`,entries:n,...Ak(t)})}let DM=U(`ZodMiniLiteral`,(e,t)=>{yj.init(e,t),Qj.init(e,t)});function J(e,t){return new DM({type:`literal`,values:Array.isArray(e)?e:[e],...Ak(t)})}let OM=U(`ZodMiniTransform`,(e,t)=>{bj.init(e,t),Qj.init(e,t)});function kM(e){return new OM({type:`transform`,transform:e})}let AM=U(`ZodMiniOptional`,(e,t)=>{Sj.init(e,t),Qj.init(e,t)});function Y(e){return new AM({type:`optional`,innerType:e})}let jM=U(`ZodMiniNullable`,(e,t)=>{Cj.init(e,t),Qj.init(e,t)});function MM(e){return new jM({type:`nullable`,innerType:e})}let NM=U(`ZodMiniPipe`,(e,t)=>{wj.init(e,t),Qj.init(e,t)});function PM(e,t){return new NM({type:`pipe`,in:e,out:t})}let FM=U(`ZodMiniCodec`,(e,t)=>{NM.init(e,t),Ej.init(e,t)});function IM(e,t,n){return new FM({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let LM=U(`ZodMiniReadonly`,(e,t)=>{kj.init(e,t),Qj.init(e,t)});function X(e){return new LM({type:`readonly`,innerType:e})}let RM=U(`ZodMiniTemplateLiteral`,(e,t)=>{Nj.init(e,t),Qj.init(e,t)});function zM(e,t){return new RM({type:`template_literal`,parts:e,...Ak(t)})}let BM=U(`ZodMiniCustom`,(e,t)=>{Pj.init(e,t),Qj.init(e,t)});function VM(e,t){return Xj(BM,e??(()=>!0),t)}function HM(e,t={}){return Zj(BM,e,t)}function UM(e){return e}function WM(e){return e}z();let Z=()=>zM([`0x`,W().check(Yj(/^[0-9a-fA-F]{40}$/))],`Expected address`),GM=()=>IM(q([Q(),aM()]),aM(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:R(e),encode:e=>F(e)}),Q=()=>zM([`0x`,W()],`Expected hex value`),KM=()=>IM(q([Q(),tM()]),tM(),{decode:e=>typeof e==`number`?e:e===`0x`?0:Ap(e),encode:e=>F(e)});z();let qM=K({address:Z(),blockHash:Q(),blockNumber:GM(),data:Q(),logIndex:KM(),removed:rM(),topics:X(G(Q())),transactionHash:Q(),transactionIndex:KM()}),JM=K({blobGasPrice:Y(GM()),blobGasUsed:Y(GM()),blockHash:Q(),blockNumber:GM(),contractAddress:MM(Z()),cumulativeGasUsed:GM(),effectiveGasPrice:GM(),feePayer:Y(Z()),feeToken:Y(Z()),from:Z(),gasUsed:GM(),logs:G(qM),logsBloom:Q(),root:Y(Q()),status:IM(Q(),EM([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:MM(Z()),transactionHash:Q(),transactionIndex:KM(),type:Q()}),YM=VM(),XM=q([J(`secp256k1`),J(`p256`),J(`webAuthn`)]),ZM=IM(K({allowedCalls:Y(X(G(K({target:Z(),selectorRules:Y(X(G(K({selector:Q(),recipients:Y(X(G(Z())))}))))})))),address:Y(Z()),chainId:GM(),expiry:q([KM(),lM(),sM()]),keyId:Z(),keyType:XM,limits:Y(X(G(K({token:Z(),limit:GM(),period:Y(KM())})))),signature:YM}),VM(),{decode(e){return bw({chainId:F(e.chainId),expiry:e.expiry==null?null:F(e.expiry),keyId:e.keyId,keyType:e.keyType,limits:e.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:F(e),...typeof t==`number`?{period:F(t)}:{}})),signature:e.signature,...e.allowedCalls?{allowedCalls:e.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}})},encode(e){let t=Ew(e);return{chainId:t.chainId===`0x`?0n:R(t.chainId),expiry:t.expiry==null?null:Ap(t.expiry),keyId:t.keyId,keyType:t.keyType,limits:t.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:R(e),...t?{period:Ap(t)}:{}})),signature:t.signature,address:t.keyId,...t.allowedCalls?{allowedCalls:t.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}}}}),QM=K({data:Y(Q()),to:Y(Z()),value:Y(GM())}),$M=K({accessList:Y(G(K({address:Z(),storageKeys:G(Q())}))),calls:Y(X(G(QM))),capabilities:Y(wM(W(),dM())),chainId:Y(KM()),data:Y(Q()),feePayer:Y(q([rM(),W()])),feePayerSignature:Y(wM(W(),dM())),feeToken:Y(Z()),from:Y(Z()),gas:Y(GM()),keyAuthorization:Y(ZM),keyData:Y(Q()),keyId:Y(Z()),keyType:Y(XM),maxFeePerGas:Y(GM()),maxPriorityFeePerGas:Y(GM()),nonce:Y(KM()),nonceKey:Y(GM()),to:Y(Z()),validAfter:Y(KM()),validBefore:Y(KM()),value:Y(GM())});var eN;(function(e){e.schema=UM({method:J(`eth_accounts`),params:void 0,returns:X(G(Z()))})})(eN||={});var tN;(function(e){e.schema=UM({method:J(`eth_chainId`),params:void 0,returns:Q()})})(tN||={});var nN;(function(e){e.schema=UM({method:J(`eth_requestAccounts`),params:void 0,returns:X(G(Z()))})})(nN||={});var rN;(function(e){e.schema=UM({method:J(`eth_sendTransaction`),params:X(SM([$M])),returns:Q()})})(rN||={});var iN;(function(e){let t=K({address:Z(),decimals:tM(),direction:EM([`incoming`,`outgoing`]),formatted:W(),name:W(),recipients:X(G(Z())),symbol:W(),value:Q()}),n=K({decimals:tM(),formatted:W(),name:W(),symbol:W(),token:Z(),value:Q()});e.schema=UM({method:J(`eth_fillTransaction`),params:X(SM([$M])),returns:K({capabilities:K({balanceDiffs:Y(wM(Z(),X(G(t)))),error:Y(K({abiItem:Y(wM(W(),dM())),data:Y(Q()),errorName:W(),message:W()})),fee:Y(K({amount:Q(),decimals:tM(),formatted:W(),symbol:W()})),requireFunds:Y(K({amount:Q(),decimals:tM(),formatted:W(),token:Z(),symbol:W()})),autoSwap:Y(K({maxIn:n,minOut:n,slippage:tM()})),sponsor:Y(K({address:Z(),name:Y(W()),url:Y(W())})),sponsored:rM()}),tx:wM(W(),dM())})})})(iN||={});var aN;(function(e){e.schema=UM({method:J(`eth_signTransaction`),params:X(SM([$M])),returns:Q()})})(aN||={});var oN;(function(e){e.schema=UM({method:J(`eth_sendTransactionSync`),params:X(SM([$M])),returns:JM})})(oN||={});var sN;(function(e){e.schema=UM({method:J(`eth_signTypedData_v4`),params:X(SM([Z(),W()])),returns:Q()})})(sN||={});var cN;(function(e){e.schema=UM({method:J(`personal_sign`),params:X(SM([Q(),Z()])),returns:Q()})})(cN||={});let lN=Y(K({feePayer:Y(q([rM(),W()])),sync:Y(rM())}));var uN;(function(e){e.schema=UM({method:J(`wallet_sendCalls`),params:Y(X(SM([K({atomicRequired:Y(rM()),calls:X(G(QM)),capabilities:lN,chainId:Y(KM()),from:Y(Z()),version:Y(W())})]))),returns:K({atomic:Y(rM()),capabilities:lN,chainId:Y(KM()),id:W(),receipts:Y(G(JM)),status:Y(tM()),version:Y(W())})})})(uN||={});var dN;(function(e){e.schema=UM({method:J(`wallet_getBalances`),params:Y(X(SM([K({account:Y(Z()),chainId:Y(KM()),tokens:Y(X(G(Z())))})]))),returns:X(G(K({address:Z(),balance:GM(),decimals:tM(),display:W(),name:W(),symbol:W()})))})})(dN||={});var fN;(function(e){e.schema=UM({method:J(`wallet_getCapabilities`),params:Y(X(q([SM([Z()]),SM([Z(),X(G(Q()))])]))),returns:wM(Q(),K({accessKeys:Y(K({status:q([J(`supported`),J(`unsupported`)])})),atomic:K({status:q([J(`supported`),J(`ready`),J(`unsupported`)])}),feePayer:Y(K({status:q([J(`supported`),J(`unsupported`)])}))}))})})(fN||={});var pN;(function(e){e.showDeposit=Y(q([rM(),K({amount:Y(W()),displayName:Y(W()),token:Y(q([Z(),W()]))})])),e.parameters=K({address:Y(Z()),chainId:Y(GM()),expiry:tM(),keyType:Y(XM),limits:Y(X(G(K({token:Z(),limit:GM(),period:Y(tM())})))),publicKey:Y(Q()),scopes:Y(X(G(K({address:Z(),selector:Y(q([Q(),W()])),recipients:Y(X(G(Z())))})))),showDeposit:e.showDeposit}),e.returns=K({keyAuthorization:ZM,rootAddress:Z()}),e.schema=UM({method:J(`wallet_authorizeAccessKey`),params:X(SM([e.parameters])),returns:e.returns})})(pN||={});var mN;(function(e){e.parameters=K({address:Y(Z()),expiry:tM(),keyType:Y(XM),limits:X(G(K({token:Z(),limit:GM(),period:Y(tM())})).check(Jj(1))),publicKey:Y(Q()),scopes:X(G(K({address:Z(),selector:Y(q([Q(),W()])),recipients:Y(X(G(Z())))})).check(Jj(1))),showDeposit:pN.showDeposit})})(mN||={});var hN;(function(e){e.schema=UM({method:J(`wallet_revokeAccessKey`),params:X(SM([K({address:Z(),accessKeyAddress:Z()})])),returns:void 0})})(hN||={});var gN;(function(e){e.parameters=K({address:Z(),accessKeyAddress:Z(),chainId:Y(GM()),limits:X(G(K({token:Z(),limit:GM()})).check(Jj(1)))}),e.schema=UM({method:J(`wallet_updateAccessKey`),params:X(SM([e.parameters])),returns:void 0})})(gN||={});var _N;(function(e){e.authorizeAccessKey=Y(_M(pN.parameters,{showDeposit:!0})),e.showDeposit=Y(q([rM(),K({amount:Y(W()),displayName:Y(W()),on:Y(q([J(`login`),J(`register`)])),token:Y(q([Z(),W()]))})])),e.auth=Y(q([W(),K({url:Y(W()),challenge:Y(W()),verify:Y(W()),logout:Y(W()),resources:Y(X(G(W()))),returnToken:Y(rM())})])),e.personalSign=Y(K({message:W()})),e.identity=Y(K({email:Y(q([rM(),W(),K({address:Y(W()),domains:Y(G(W())),nonce:Y(W())})]))})),e.capabilities={request:Y(q([K({digest:Y(Q()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:J(`register`),name:Y(W()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:Y(W())}),K({digest:Y(Q()),credentialId:Y(q([W(),G(W())])),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:Y(J(`login`)),personalSign:e.personalSign,selectAccount:Y(rM()),showDeposit:e.showDeposit})])),result:K({identity:Y(K({email:Y(MM(W())),idToken:Y(W())})),keyAuthorization:Y(ZM),personalSign:Y(K({message:W(),keyAuthorization:Y(Q())})),signature:Y(Q()),username:Y(MM(W())),auth:Y(gM({token:Y(W())}))})},e.schema=UM({method:J(`wallet_connect`),params:Y(X(SM([K({capabilities:e.capabilities.request,chainId:Y(KM()),version:Y(W())})]))),returns:K({accounts:X(G(K({address:Z(),capabilities:e.capabilities.result})))})})})(_N||={});var vN;(function(e){let t=Y(_M(mN.parameters,{showDeposit:!0})),n=_N.auth,r=_N.identity,i=_N.personalSign,a=_N.showDeposit;e.parameters=K({capabilities:Y(q([K({digest:Y(Q()),authorizeAccessKey:t,auth:n,identity:r,method:J(`register`),name:Y(W()),personalSign:i,showDeposit:a,userId:Y(W())}),K({digest:Y(Q()),credentialId:Y(q([W(),G(W())])),authorizeAccessKey:t,auth:n,identity:r,method:Y(J(`login`)),personalSign:i,selectAccount:Y(rM()),showDeposit:a})])),chainId:Y(KM()),version:Y(W())})})(vN||={});var yN;(function(e){e.schema=UM({method:J(`wallet_disconnect`),params:void 0,returns:void 0})})(yN||={});var bN;(function(e){e.schema=UM({method:J(`wallet_getCallsStatus`),params:Y(X(SM([W()]))),returns:K({atomic:rM(),chainId:KM(),id:W(),receipts:Y(G(JM)),status:tM(),version:W()})})})(bN||={});var xN;(function(e){e.parameters=bM(`editable`,[K({amount:W(),chainId:Y(KM()),editable:Y(J(!1)),feePayer:Y(q([rM(),W()])),from:Y(Z()),memo:Y(W()),to:Z(),token:q([Z(),W()])}),K({amount:Y(W()),chainId:Y(KM()),editable:J(!0),feePayer:Y(q([rM(),W()])),memo:Y(W()),to:Y(Z()),token:Y(q([Z(),W()]))})]),e.schema=UM({method:J(`wallet_transfer`),params:Y(X(SM([e.parameters]))),returns:K({chainId:KM(),receipt:JM})})})(xN||={});let SN=K({amount:Y(W()),pairToken:Y(Z()),slippage:Y(tM().check(Kj(0),Gj(1))),token:Y(Z()),type:Y(q([J(`buy`),J(`sell`)]))});var CN;(function(e){e.schema=UM({method:J(`wallet_swap`),params:Y(X(SM([SN]))),returns:K({receipt:JM})})})(CN||={});var wN;(function(e){e.schema=UM({method:J(`wallet_switchEthereumChain`),params:X(SM([K({chainId:KM()})])),returns:void 0})})(wN||={});var TN;(function(e){e.schema=UM({method:J(`wallet_deposit`),params:Y(X(SM([K({address:Y(Z()),amount:Y(W()),chainId:Y(KM()),displayName:Y(W()),intent:Y(q([J(`applePay`),J(`credits`),J(`crypto`),J(`faucet`),J(`mach`),J(`referralCode`),J(`x`)])),token:Y(q([Z(),W()]))})]))),returns:Y(K({receipts:Y(X(G(JM)))}))})})(TN||={});var EN;(function(e){e.parameters=K({amount:Y(W()),feePayer:Y(q([rM(),W()])),token:Y(Z()),zoneId:Y(KM())}),e.schema=UM({method:J(`wallet_depositZone`),params:Y(X(SM([e.parameters]))),returns:K({receipt:JM})})})(EN||={});var DN;(function(e){e.parameters=K({amount:Y(W()),token:Y(Z()),zoneId:Y(KM())}),e.schema=UM({method:J(`wallet_withdrawZone`),params:Y(X(SM([e.parameters]))),returns:K({receipt:JM})})})(DN||={}),mN.parameters,vN.parameters;let ON=WM([eN.schema,tN.schema,iN.schema,nN.schema,rN.schema,oN.schema,aN.schema,sN.schema,cN.schema,pN.schema,_N.schema,TN.schema,EN.schema,yN.schema,dN.schema,bN.schema,fN.schema,hN.schema,gN.schema,xN.schema,uN.schema,CN.schema,wN.schema,DN.schema]),kN=BS();function AN(e){return e.params?K({method:e.method,params:e.params}):K({method:e.method})}let jN=bM(`method`,ON.map(AN));function MN(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)}let NN={acceptPayment:`Accept-Payment`,authorization:`Authorization`,paymentAuthorization:`Payment-Authorization`,paymentReceipt:`Payment-Receipt`,paymentSession:`Payment-Session`,paymentSessionSnapshot:`Payment-Session-Snapshot`,wwwAuthenticate:`WWW-Authenticate`},PN={payment:`Payment`},FN={evm:`evm`,stripe:`stripe`,tempo:`tempo`},IN={charge:`charge`,session:`session`,subscription:`subscription`},LN={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},RN={v1:`v1`,v2:`v2`};function zN(e,t){if(!(!e||typeof e!=`object`))return e[t]}var BN=class extends Error{details;status=402;hint;constructor(e,t={}){super(e),this.details=t.details,t.cause!==void 0&&Object.defineProperty(this,\"cause\",{configurable:!0,value:t.cause,writable:!0})}toProblemDetails(e){return{type:this.type,title:this.title,status:this.status,detail:this.message,...this.details&&Object.keys(this.details).length>0&&{details:this.details},...this.hint&&{hint:this.hint},...e&&{challengeId:e}}}},VN=class extends BN{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 BN{name=`VerificationFailedError`;title=`Verification Failed`;type=`https://paymentauth.org/problems/verification-failed`;constructor(e={}){let{details:t,reason:n}=e;super(n?`Payment verification failed: ${n}.`:`Payment verification failed.`,{details:t})}},HN=class extends BN{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.`)}},UN=class extends BN{name=`PaymentOutcomeUnknownError`;title=`Payment Outcome Unknown`;type=`https://paymentauth.org/problems/payment-outcome-unknown`;challenge;credential;transactionHash;constructor(e){let{cause:t,challenge:n,credential:r,transactionHash:i}=e;super(`Payment outcome is unknown after sending a credential for challenge \"${n.id}\". Do not blindly retry.`,{cause:t}),this.challenge=n,this.credential=r,this.transactionHash=i}},WN=class extends Error{name=`ZoneSettlementPendingError`;challengeId;senderTag;zoneId;constructor(e){let{cause:t,challengeId:n,senderTag:r,zoneId:i}=e;super(`Zone ${i} withdrawal ${r} for challenge \"${n}\" has not settled on Tempo yet. Retry the challenge to resume waiting instead of paying again.`),this.challengeId=n,this.senderTag=r,this.zoneId=i,t!==void 0&&Object.defineProperty(this,\"cause\",{configurable:!0,value:t,writable:!0})}};function GN(e,t){if(!e)throw new VN({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new VN({...t&&{id:t},reason:`malformed expires timestamp`});if(Date.parse(e)<=Date.now())throw new HN({expires:e})}Wf();function KN(e){let t=Dx(e);return JSON.parse(t)}function qN(e){return Tx(Bf(e),{pad:!1,url:!0})}function JN(){return W().check(Yj(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function YN(){return W().check(Yj(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function XN(e=`Invalid ISO 8601 datetime`){return PM(q([YN(),VM(e=>e instanceof Date)]),kM(ZN)).check(HM(e=>Number.isFinite(e.getTime()),e))}function ZN(e){return e instanceof Date?e:new Date(e)}function QN(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function $N(){return W().check(Yj(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function eP(){return W().check(Yj(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function tP(){return W().check(Yj(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}vp();let nP=K({description:Y(W()),digest:Y(W().check(Yj(/^sha-256=/,`Invalid digest format`))),expires:Y(YN()),header:Y(W().check(Yj(/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,`Invalid HTTP header name`))),id:W().check(Jj(1)),intent:W(),method:W(),meta:Y(wM(W(),W())),opaque:Y(W()),realm:W(),request:wM(W(),dM())});function rP(e,t){let{description:n,digest:r,meta:i,method:a,header:o,intent:s,realm:c,request:l,secretKey:u}=e,d=yP(o)?void 0:o,f=e.expires?QN(e.expires):void 0,p=e.opaque??(i===void 0?void 0:qN(i)),m=u?bP({...e,expires:f,...i!==void 0&&{meta:i},opaque:p},{secretKey:u}):e.id;return nP.parse({id:m,realm:c,method:a,intent:s,request:l,...n&&{description:n},...r&&{digest:r},...f&&{expires:f},...d!==void 0&&{header:d},...i!==void 0&&{meta:i},...p!==void 0&&{opaque:p}})}function iP(e){let t=[aP(`id`,e.id),aP(`realm`,e.realm),aP(`method`,e.method),aP(`intent`,e.intent),aP(`request`,qN(e.request))];e.description!==void 0&&t.push(aP(`description`,e.description)),e.digest!==void 0&&t.push(aP(`digest`,e.digest)),e.expires!==void 0&&t.push(aP(`expires`,e.expires));let n=e.header;return n!==void 0&&!yP(n)&&t.push(aP(`header`,n)),e.opaque===void 0?e.meta!==void 0&&t.push(aP(`opaque`,qN(e.meta))):t.push(aP(`opaque`,e.opaque)),`${PN.payment} ${t.join(`, `)}`}function aP(e,t){if(/[\\r\\n]/.test(t))throw Error(`Invalid quoted-string value.`);return`${e}=\"${t.replace(/\\\\/g,`\\\\\\\\`).replace(/\"/g,`\\\\\"`).replace(/[\\u0100-\\uffff]/g,e=>`\\\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`)}\"`}function oP(e,t){let n=sP(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=cP(n);if(!r)throw Error(`Missing request parameter.`);if(r.length>16384)throw Error(`Request parameter too large.`);if(a.method&&!/^[a-z][a-z0-9:_-]*$/.test(a.method))throw Error(`Invalid method: \"${a.method}\". Must be lowercase per spec.`);return rP({...a,request:KN(r),...i&&{opaque:i}},t)}function sP(e){let t=PN.payment,[n]=pP(e,t);if(n===void 0)return null;let r=n+t.length;for(;r<e.length&&/\\s/.test(e[r]??``);)r++;return e.slice(r)}function cP(e){let t=Object.create(null),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).toLowerCase();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]=lP(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function lP(e,t){if(e[t]===`\"`)return uP(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function uP(e,t){let n=t,r=!1,i=t,a;for(;n<e.length;){let o=e[n];if(n++,r){a??=[];let t=o===`u`?e.slice(n,n+4):void 0;t&&/^[0-9A-Fa-f]{4}$/.test(t)?(a.push(String.fromCharCode(Number.parseInt(t,16))),n+=4):a.push(o),i=n,r=!1;continue}if(o===`\\\\`){a??=[],a.push(e.slice(i,n-1)),i=n,r=!0;continue}if(o===`\"`)return[a?[...a,e.slice(i,n-1)].join(``):e.slice(t,n-1),n]}throw Error(`Unterminated quoted-string.`)}function dP(e,t,n){if(e.slice(t,t+n.length).toLowerCase()!==n.toLowerCase())return!1;let r=e[t+n.length];return!!(r&&/\\s/.test(r))}function fP(e){return pP(e,PN.payment).length>0||e.split(`,`).some(e=>e.trim().toLowerCase()===PN.payment.toLowerCase())}function pP(e,t){let n=[],r=!1,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(r){i?i=!1:o===`\\\\`?i=!0:o===`\"`&&(r=!1);continue}if(o===`\"`){r=!0;continue}if(!dP(e,a,t))continue;let s=a-1;for(;s>=0&&/\\s/.test(e[s]??``);)s--;s>=0&&e[s]!==`,`||n.push(a)}return n}function mP(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return hP(e.headers,t)}function hP(e,t){let n=e.get(NN.wwwAuthenticate);if(!n)throw Error(`Missing ${NN.wwwAuthenticate} header.`);return gP(n,t)}function gP(e,t){let n=pP(e,PN.payment);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 oP(e.slice(r,a).replace(/,\\s*$/,``),t)})}function _P(e){let t=[e.realm,e.method,e.intent,qN(e.request),e.expires??``,e.digest??``],n=e.header;return n!==void 0&&!yP(n)&&t.push(n),t.push(e.opaque??(e.meta?qN(e.meta):``)),t.join(`|`)}function vP(e){return e.header??NN.authorization}function yP(e){return e?.toLowerCase()===NN.authorization.toLowerCase()}function bP(e,t){let n=_P(e);return Cx(O_(Zf(t.secretKey),Zf(n),{as:`Bytes`}),{url:!0,pad:!1})}let xP=65536;var SP=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},CP=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function wP(e){if(e.length>xP)throw new CP;let t=e.match(RegExp(`^${PN.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new SP;try{let e=Dx(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=TP(r);return{challenge:nP.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:KN(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new CP}}function TP(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!EP(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:qN(e)}}function EP(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function DP(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:qN(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:qN(r)},payload:e.payload,...e.source&&{source:e.source}},s=Tx(JSON.stringify(o),{pad:!1,url:!0});return`${PN.payment} ${s}`}function OP(e){return e.length>xP?null:e.split(`,`).map(e=>e.trim()).find(e=>RegExp(`^${PN.payment}\\\\s+`,`i`).test(e))??null}function kP(){let e=new Uint8Array(64);return crypto.getRandomValues(e),{created:Math.floor(Date.now()/1e3),nonce:Cx(e,{pad:!1,url:!0})}}let AP=Symbol.for(`mppx.fetch.skipPayment`),jP=[`payment-signature`,`x-payment`];function MP(e){if(e.length===0)throw TypeError(`Mppx client identity must configure at least one prover.`);for(let t of e)if(t.scope!==`*`&&!Array.isArray(t.scope))throw TypeError(`Identity prover scope must be \"*\" or an array of origins.`);let t=t=>{let n=new URL(t).origin;return e.filter(e=>e.scope===`*`||e.scope.includes(n))};async function n(e,n,r,i){let a=i?n.clone():n,o=t(n.url);if(o.length===0)return{request:a,response:await e(a)};let s=Object.freeze({...r,...kP()}),c=new Request(a,{redirect:n.redirect===`follow`?`error`:n.redirect});for(let e of o)c=await e.prove(c,s);return{request:c,response:await e(c)}}return{async send(e,r,i={}){let a=!(i.challenge!==void 0||jP.some(e=>r.headers.has(e))||[...r.headers.values()].some(e=>OP(e)!==null))&&t(r.url).some(e=>e.retry),o=await n(e,r,i,a),{response:s}=o;if(!a||s.status<400||s.status===402)return o;let c=[],l=!1;for(let e of t(r.url)){if(!e.retry)continue;let t=s.clone();c.push(t),await e.retry(t)&&(l=!0)}return l?(NP([s,...c]),n(e,r,i,!1)):(NP(c),o)},async challenge(e,n,r){for(let i of t(r)){if(!i.prepare)continue;let t=e.clone();try{await i.prepare(t,n)}finally{NP([t])}}}}}function NP(e){for(let t of e)t.bodyUsed||t.body?.cancel().catch(()=>{})}function PP(e,t,n){return async(r,i)=>{let a=new Request(r,i),o=IP(a.headers)??n?.challenge,{response:s}=await t.send((t,n)=>e(t,{...n,...i?.[AP]?{[AP]:!0}:{}}),a,{...n,challenge:o});if(s.status===402&&o)for(let e of FP(s))e.method===o.method&&e.intent===o.intent&&await t.challenge(s,{...n,challenge:e},a.url);return s}}function FP(e){try{return mP(e)}catch{return[]}}function IP(e){for(let[,t]of e){let e=OP(t);if(e)try{return wP(e).challenge}catch{}}}let LP=Symbol.for(`mppx.x402.challenge`);function RP(e){return Object.defineProperty(e,LP,{value:!0}),e}function zP(e){return!!e?.[LP]}let BP=Symbol(`mppx.deferredContext`);function VP(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=KP(n)}return t}function HP(e,t){let n=VP(e),r=$P(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[KP(e)]??1,index:t}));return{definition:r,entries:i,header:WP(i),keys:n}}function UP(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)=>ZP(e,t))}function WP(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${rF(n)}`}).join(`, `)}function GP(e,t,n,r){let i=new Map;for(let e of t){let t=KP(e),n=i.get(t);n?n.push(e):i.set(t,[e])}return e.flatMap((e,t)=>{let a=i.get(KP(e));if(!a)return[];let o=qP(e,n);return!o||o.q<=0?[]:a.filter(t=>t.canHandleChallenge?.(r===void 0?{challenge:e}:{challenge:e,context:r})??!0).map(n=>({challenge:e,index:t,match:o,method:n}))}).sort((e,t)=>XP(e.challenge)-XP(t.challenge)||t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function KP(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function qP(e,t){let n;for(let r of t){if(!JP(e,r))continue;let t={...r,specificity:YP(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 JP(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function YP(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function XP(e){return+!!zP(e)}function ZP(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}`);iF(r,`method`),iF(i,`intent`);let a=1;for(let t of QP(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=tF(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function QP(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function $P(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>KP(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]=eF(t,`payment preference \"${e}\"`)}return a}function eF(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return nF(e,t)}function tF(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 nF(Number(e),t)}function nF(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 rF(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function iF(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}function aF(e){let t=``,n=!1,r=!1,i,a=``;function o(t){if(t===``){i!==void 0&&e({data:i,event:a||`message`}),i=void 0,a=``;return}let n=t.indexOf(`:`);if(n===0)return;let r=n===-1?t:t.slice(0,n);if(r!==`data`&&r!==`event`)return;let o=``;n!==-1&&(o=t.slice(t.charCodeAt(n+1)===32?n+2:n+1)),r===`event`?a=o:i=i===void 0?o:i+`\n`+o}return{feed(e){if(!n&&e&&(n=!0,e.startsWith(``)&&(e=e.slice(1))),r&&e&&(r=!1,e.startsWith(`\n`)&&(e=e.slice(1))),t+=e,e.indexOf(`\n`)===-1&&e.indexOf(`\\r`)===-1)return;let i=0,a=t.indexOf(`\n`),s=t.indexOf(`\\r`);for(;a!==-1||s!==-1;){let e=a===-1?s:s===-1?a:Math.min(a,s);o(t.slice(i,e)),i=e+1,e===s&&(i===t.length?r=!0:a===i&&i++,s=t.indexOf(`\\r`,i)),a!==-1&&a<i&&(a=t.indexOf(`\n`,i))}t=t.slice(i)}}}let oF=[`exact`],sF=`PAYMENT-REQUIRED`,cF=`PAYMENT-SIGNATURE`,lF=W().check(Jj(1)),uF=tM().check(HM(e=>e>0,`Must be positive`)),dF=W().check(Yj(/^\\d+$/,`Invalid atomic amount`)),fF=$N(),pF=W().check(Yj(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),mF=K({description:Y(W()),iconUrl:Y(W()),mimeType:Y(W()),serviceName:Y(W()),tags:Y(G(W())),url:lF}),hF=K({amount:dF,asset:lF,extra:Y(wM(W(),dM())),maxTimeoutSeconds:uF,network:pF,payTo:lF,scheme:EM(oF)}),gF=wM(W(),K({info:wM(W(),dM()),schema:wM(W(),dM())})),_F=K({accepts:G(hF).check(Jj(1)),error:Y(W()),extensions:Y(gF),resource:mF,x402Version:J(2)}),vF=q([K({authorization:K({from:fF,nonce:eP(),to:fF,validAfter:dF,validBefore:dF,value:dF}),signature:tP()}),K({permit2Authorization:K({deadline:dF,from:fF,nonce:dF,permitted:K({amount:dF,token:fF}),spender:fF,witness:K({to:fF,validAfter:dF})}),signature:tP()})]),yF=K({accepted:hF,extensions:Y(gF),payload:vF,resource:Y(mF),x402Version:J(2)}),bF=K({amount:Y(dF),errorMessage:Y(W()),errorReason:Y(W()),extensions:Y(gF),extra:Y(wM(W(),dM())),network:lF,payer:Y(W()),success:rM(),transaction:W()}),xF=[NN.authorization,sF,`PAYMENT-RESPONSE`,cF];function SF(e,t,n){let r=new Headers(e.headers);for(let e of xF)e===NN.authorization&&!r.get(e)?.startsWith(`Payment `)||r.delete(e);return r.set(t,n),{...e,headers:r}}function CF(e){if(typeof e==`string`)try{let t=JSON.parse(e),n=t?.id;return t?.jsonrpc!==`2.0`||typeof t?.method!=`string`?void 0:typeof n==`string`||typeof n==`number`?n:void 0}catch{return}}function wF(e){if(typeof e?.body!=`string`)return!1;try{let t=JSON.parse(e.body);return t?.jsonrpc===`2.0`&&t?.method===`tools/call`&&t.params?._meta?.[`mppx/payment-client`]===!0}catch{return!1}}let TF=1048576,EF=new WeakMap;function DF(e){let t=CF(e?.body);if(t===void 0)return;let n=new Headers(e?.headers);if(n.has(`mcp-method`))return t;let r=n.get(`accept`)?.toLowerCase()??``;return r.includes(`application/json`)&&r.includes(`text/event-stream`)?t:void 0}function OF(e){if(!e||typeof e!=`object`)return;let t=e,n=t.id;if(t.jsonrpc!==`2.0`||n!==void 0&&typeof n!=`string`&&typeof n!=`number`)return;let r=`error`in t;if(r!==`result`in t)return r?Number.isInteger(t.error?.code)&&typeof t.error?.message==`string`?e:void 0:n!==void 0&&typeof t.result==`object`?e:void 0}function kF(e){if(!e||typeof e!=`object`)return;let t=e?.challenges;if(!Array.isArray(t)||t.length===0)return;let n=[];for(let e of t){let t=nP.safeParse(e);if(!t.success)return;n.push(t.data)}let{httpStatus:r,problem:i}=e;return{challenges:n,...typeof r==`number`?{httpStatus:r}:{},...i===void 0?{}:{problem:i}}}function AF(e){if(e)return`error`in e?e.error?.code!==-32042&&e.error?.code!==-32043?void 0:kF(e.error.data):kF(e.result?._meta?.[`org.paymentauth/payment-required`])}function jF(e,t){return!e||e.id!==t?[]:AF(e)?.challenges??[]}async function MF(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=0,i=!1,a,o=aF(e=>{if(!(i||!e.data)&&(i=!0,e.event===`message`))try{a=OF(JSON.parse(e.data))}catch{}});try{for(;;){if(i)return a;let{done:e,value:s}=await t.read();if(e)return o.feed(n.decode()),a;if(r+=s.byteLength,r>TF)return;o.feed(n.decode(s,{stream:!0}))}}finally{t.cancel().catch(()=>{})}}async function NF(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=0,i=``;try{for(;;){let{done:e,value:a}=await t.read();if(e)return OF(JSON.parse(i+n.decode()));if(r+=a.byteLength,r>TF)return;i+=n.decode(a,{stream:!0})}}catch{return}finally{t.cancel().catch(()=>{})}}function PF(e){let t=EF.get(e);if(t)return t;let n=(async()=>{let t=e.headers.get(`content-type`)?.toLowerCase()??``;if(!(Number(e.headers.get(`content-length`))>TF)){if(t.includes(`application/json`))return NF(e);if(t.includes(`text/event-stream`))return MF(e)}})();return EF.set(e,n),n}function FF(){return{getChallenges(e,t){let n=DF(t);return e.status===402||n===void 0?[]:PF(e).then(e=>jF(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=wP(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function IF(){return{getChallenges(e){let t=e.headers.get(NN.wwwAuthenticate);return e.status!==402||!t||!fP(t)?[]:mP(e)},setCredential(e,t,n){return SF(e,n?.challenge?vP(n.challenge):NN.authorization,t)}}}function LF(e){return{encode(t){return Tx(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(Dx(t)))}catch{throw new RF}}}}var RF=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let zF=LF(_F),BF=LF(yF),VF=LF(bF);zF.encode,zF.decode;function HF(e){try{let t=JSON.parse(Dx(e));return UF(t)}catch{throw new RF}}BF.encode,BF.decode,VF.encode,VF.decode;let UF=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new RF;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new RF;let n=mF.parse(t.resource),r=t.extensions===void 0?void 0:gF.safeParse(t.extensions).data;return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}};function WF(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(sF);if(!t)return[];let n=HF(t);return n.accepts.flatMap((e,t)=>{let r=hF.safeParse(e);if(!r.success)return[];let i=r.data;return RP(rP({id:`x402:${t}`,intent:`charge`,method:`evm`,realm:new URL(n.resource.url).host,request:{...i,...n.extensions?{extensions:n.extensions}:{},resource:n.resource}}))})},setCredential(e,t){return SF(e,cF,t)}}}function GF(e){return e}function KF(){let e=[IF(),WF(),FF()],t=new WeakMap,n=(e,n)=>{for(let r of n)t.set(r,e);return n},r=(t,r)=>{let i=(a,o)=>{for(let s=a;s<e.length;s++){let a=e[s],c=a.getChallenges(t,r);if(c instanceof Promise)return c.then(e=>i(s+1,[...o,...n(a,e)]));o.push(...n(a,c))}return o};return i(0,[])};return GF({name:`http`,isPaymentRequired(e,t){if(e.status===402)return!0;let n=r(e,t);return n instanceof Promise?n.then(e=>e.length>0):n.length>0},getChallenges(e,t){return r(e,t)},setCredential(n,r,i){let a=i?.challenge?t.get(i.challenge):void 0,o=e[0];if(!a&&!o)throw Error(`No protocol to attach the credential.`);return(a??o).setCredential(n,r,i)}})}let qF=new WeakMap;function JF(e,t){return qF.set(e,t),e}function YF(e){return qF.has(e)}function XF(e,t){return Promise.resolve(qF.get(e)?.(t))}function ZF(e){return qF.get(e)}let QF=new WeakMap,$F=new WeakMap,eI=new WeakMap,tI=new WeakMap;function nI(e,t){return QF.set(e,t),e}function rI(e){QF.delete(e)}function iI(e,t,n){QF.has(e)&&$F.set(t,n)}function aI(e){return $F.get(e)}function oI(e,t){return Promise.resolve(QF.get(e)?.(t)??t.response)}function sI(e,t){return tI.set(e,t),e}function cI(e,t){try{return tI.get(e)?.(t)}catch{return}}function lI(e,t){eI.set(e,t)}function uI(e){return eI.get(e)??$F.get(e)?.origin}function dI(e,t,n){if(!pI(e)&&(e.method!==`tempo`||e.intent!==`session`))return;t=typeof t==`function`?t():t;let{realm:r}=e;if(r.toLowerCase()===t.hostname.toLowerCase())return;let i=t.origin.toLowerCase();for(let[e,t]of Object.entries(n??{}))if(t===r&&mI(e)===i)return;throw Error(`Refusing to sign Tempo proof for realm ${JSON.stringify(r)} from ${t.origin}. Pin the realm to this origin with \\`trustedTempoProofRealms\\` if this server is expected to issue it.`)}function fI(e,t){if(!(!pI(e)&&(e.method!==`tempo`||e.intent!==`session`))&&!t?.includes(e.realm))throw Error(`Refusing to sign Tempo proof for untrusted realm ${JSON.stringify(e.realm)}. Add it to \\`trustedTempoProofRealms\\` if this server is expected to issue it.`)}function pI(e){if(e.method!==`tempo`||e.intent!==`charge`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function mI(e){try{return new URL(e).origin.toLowerCase()}catch{return e.toLowerCase()}}let hI=Symbol.for(`mppx.fetch.wrapper`),gI=Symbol.for(`mppx.fetch.identity`),_I=Symbol.for(`mppx.fetch.skipPayment`),vI=65536,yI,bI=new WeakMap;async function xI(e){if(!e.body)return e;let t=e.clone().body.getReader(),n=[],r=0,i=!1,a=setTimeout(()=>{i=!0,t.cancel().catch(()=>{})},2e3);try{for(;;){let{done:e,value:a}=await t.read();if(e)break;if(n.push(a),r+=a.byteLength,r>vI){i=!0;break}}}finally{clearTimeout(a),t.cancel().catch(()=>{})}if(!i)return e;e.body.cancel().catch(()=>{});let o=new Headers(e.headers);o.delete(`content-length`),o.set(`Mppx-Body-Truncated`,`true`);let s=new Response(new Blob(n).slice(0,vI),{headers:o,status:e.status,statusText:e.statusText});for(let t of[`redirected`,`type`,`url`])Object.defineProperty(s,t,{value:e[t]});return s}async function SI(e,t){let n=e?.attempt.settle;if(!n)return t.status!==`pending`;e.attempt.settle=void 0;let r=await n(t);return r||(e.attempt.settle=n),r}function CI(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=KF(),trustedTempoProofRealms:l}=e,u=e.identity??(e.fetch&&qI(e.fetch)),d=e.eventDispatcher??EI(),f=t??HP(a),p=JI(r),m=async(e,t,n)=>u?(await u.send(p,new Request(e,t),n)).response:p(e,t),h=async(e,t,r)=>{let g=KI(e,t?.headers),_=g.has(NN.acceptPayment),v=$I(g,f),y=WI(e,t,g),b=UI(e,t,g,v.header,_,n),x=await m(YI(b.input),b.init),S=GI(b.init,await y);if(t?.[_I]||wF(S)||!await c.isPaymentRequired(x,S))return x;let C=t?.context,{context:w,orderChallenges:ee,...te}=S??{},ne,T,re,ie,ae;try{for(let n=0;n<i;n++){T=await c.getChallenges(x,S);let i=(await eL(GP(T,a,v.entries,C),ee??s))[0];if(!i){if(await SI(ie,{challenges:T,response:x,status:`rejected`}),n>0)return x;throw Error(`No method found for challenges: ${T.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${a.map(e=>`${e.name}.${e.intent}`).join(`, `)}`)}let f=i.challenge;ne=f,re=i.method,ne.expires&&GN(ne.expires,ne.id),await u?.challenge(x,{challenge:f},iL(b.input).href);let g=await oL(x,b.input,b.input,te);dI(f,()=>iL(g),l);let _=ie,y=iP(f),w=_?.method===i.method&&_?.key===y,oe=!1;if(_){let e=await SI(_,{challenges:T,response:x,status:w?`pending`:`rejected`});oe=w&&!e}ie=oe?_:void 0;let se=jI(async n=>{if(n===void 0&&oe&&_)return _.promise;oe&&_&&(await SI(_,{status:`rejected`}),ie=void 0),XI(e,t)?.throwIfAborted();let r=n??C;if(!YF(i.method))return QI(f,i.method,r);let a={origin:iL(g).origin,prepare:()=>XF(i.method,{challenge:f,context:r,fetch:u?PP(p,u,{challenge:f}):p,input:g,signal:XI(e,t)})},o=a.prepare().then(()=>QI(f,i.method,r,a));return ie={context:r,attempt:a,key:n===void 0?y:void 0,method:i.method,promise:o},o}),ce=await d.emit(`challenge.received`,MI({challenge:f,challenges:T,createCredential:se,init:t,input:e,method:i.method,response:x}))??(o?await o(ne,{createCredential:se}):void 0)??await se(),le=ie;le&&await le.promise.catch(()=>void 0)!==ce&&(await SI(le,{status:`rejected`}),ie=void 0);let ue=ie?ie.context:C;ZI(ce),await d.emit(`credential.created`,NI({challenge:f,credential:ce,init:t,input:e,method:i.method,response:x}));let de=e=>new UN({cause:e,challenge:f,credential:ce,transactionHash:cI(i.method,ce)});try{x=await m(g,{...c.setCredential({...te,headers:b.headers},ce,{challenge:f}),redirect:`manual`},{challenge:f})}catch(e){throw ae=de(e),e}let fe=await c.isPaymentRequired(x,S);if(fe||(await SI(le,{response:x,status:x.status>=300&&x.status<400?`pending`:x.ok?`accepted`:`rejected`}),ie=void 0),x.ok&&DI(d,`payment.response`)&&await d.emit(`payment.response`,PI({challenge:f,credential:ce,init:t,input:e,method:i.method,response:x})),!fe){if(x.status>=500&&DI(d,`payment.failed`)){try{x=await xI(x)}catch(e){throw ae=de(e),x=new Response(null,{headers:x.headers,status:x.status,statusText:x.statusText}),e}await d.emit(`payment.failed`,FI({challenge:f,challenges:T,error:de(),init:t,input:e,method:i.method,response:x}))}return x.ok?oI(i.method,{context:ue,challenge:f,credential:ce,fetch:p,headers:b.headers,input:g,...r?{refetch:()=>h(YI(b.input),t,!1)}:{},response:x,signal:XI(e,t)}):x}}T=void 0;try{T=await c.getChallenges(x,S)}catch{}return await SI(ie,{challenges:T,response:x,status:`rejected`}),x}catch(n){throw await SI(ie,{challenges:T,response:x,status:`rejected`}),await d.emit(`payment.failed`,FI({challenge:ne,challenges:T,error:ae??n,init:t,input:e,method:re,response:x})),n}},g=(e,t)=>h(e,t,!0);return g[hI]=p,u&&(g[gI]=u),g}function wI(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);yI||=globalThis.fetch,globalThis.fetch=CI({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(rL()?`same-origin`:`always`),fetch:JI(globalThis.fetch)})}function TI(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 EI(){let e={\"*\":new Set,\"challenge.received\":new Set,\"credential.created\":new Set,\"payment.failed\":new Set,\"payment.response\":new Set},t={async emit(t,n){switch(t){case`challenge.received`:{let r;for(let t of e[`challenge.received`]){let e=await OI(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await AI(e[`*`],t,n),r}case`credential.created`:await kI(e[`credential.created`],n),await AI(e[`*`],t,n);return;case`payment.failed`:await kI(e[`payment.failed`],n),await AI(e[`*`],t,n);return;case`payment.response`:await kI(e[`payment.response`],n),await AI(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)}\".`)}}};return bI.set(t,t=>e[t].size>0||e[`*`].size>0),t}function DI(e,t){return bI.get(e)?.(t)??!0}async function OI(e,t){try{return await e(t)}catch{return}}async function kI(e,t){for(let n of e)try{await n(t)}catch{}}async function AI(e,t,n){await kI(e,Object.freeze({name:t,payload:n}))}function jI(e){let t;return n=>(t??=e(n),t)}function MI(e){return Object.freeze({challenge:BI(e.challenge),challenges:e.challenges.map(e=>BI(e)),createCredential:e.createCredential,init:II(e.init),input:LI(e.input),method:RI(e.method),response:zI(e.response)})}function NI(e){return Object.freeze({challenge:BI(e.challenge),credential:e.credential,init:II(e.init),input:LI(e.input),method:RI(e.method),...e.response===void 0?{}:{response:zI(e.response)}})}function PI(e){return Object.freeze({challenge:BI(e.challenge),credential:e.credential,init:II(e.init),input:LI(e.input),method:RI(e.method),response:zI(e.response)})}function FI(e){return Object.freeze({...e.challenge?{challenge:BI(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>BI(e))}:{},error:e.error,init:II(e.init),input:LI(e.input),...e.method?{method:RI(e.method)}:{},...e.response===void 0?{}:{response:zI(e.response)}})}function II(e){if(e)return HI({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function LI(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function RI(e){return HI(Object.assign({},e))}function zI(e){if(e instanceof Response)try{return e.clone()}catch{let t=new Response(null,{headers:e.headers,status:e.status,statusText:e.statusText});for(let n of[`redirected`,`type`,`url`])Object.defineProperty(t,n,{value:e[n]});return t}return BI(e)}function BI(e){try{return VI(structuredClone(e))}catch{return HI(e)}}function VI(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))VI(t);return e}function HI(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function UI(e,t,n,r,i,a){let o=!!r&&!i&&tL(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(NN.acceptPayment,r),t?(t.headers=s,{headers:s,init:t,input:e}):{headers:s,init:o?{headers:s}:void 0,input:e}}function WI(e,t,n){if(!(!(e instanceof Request)||t?.body!==void 0||!e.body||e.bodyUsed)){if(!n.has(`mcp-method`)){let e=n.get(`accept`)?.toLowerCase()??``;if(!e.includes(`application/json`)||!e.includes(`text/event-stream`))return}try{return e.clone().text().catch(()=>void 0)}catch{return}}}function GI(e,t){return t===void 0?e:{...e,body:t}}function KI(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function qI(e){return e[gI]}function JI(e){let t=e;for(;t[hI];)t=t[hI];return t}function YI(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function XI(e,t){if(t?.signal!==null)return t?.signal===void 0?e instanceof Request?e.signal:void 0:t.signal}function ZI(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 QI(e,t,n,r){let i=t.context&&n!==void 0?t.context.parse(n):void 0,a=i===void 0?{challenge:e}:{challenge:e,context:i};return r?.origin&&lI(a,r.origin),r&&iI(t,a,r),t.createCredential(a)}function $I(e,t){let n=e.get(NN.acceptPayment);if(!n)return t;try{return{...t,entries:UP(n),header:n}}catch{return t}}async function eL(e,t){return t?t(e):e}function tL(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=iL(e);return t===`same-origin`?!rL()||n.origin===globalThis.location.origin:t.origins.some(e=>nL(n,e))}function nL(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 rL(){return globalThis.location!==void 0}function iL(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,rL()?globalThis.location.href:void 0)}function aL(e,t){let n=e instanceof Request?e:void 0;if((t.mode??n?.mode)===`no-cors`)throw Error(`Cannot automatically pay a no-cors request: it cannot carry a credential.`);if((t.cache??n?.cache)===`only-if-cached`)throw Error(`Cannot automatically pay an only-if-cached request: its retry cannot reach the server.`)}async function oL(e,t,n,r){if(aL(t,r),!e.url)return t;let i=new URL(e.url),a=iL(n);if(i.origin!==a.origin)throw Error(`Refusing to send payment credential across redirect from ${a.origin} to ${i.origin}`);let o=(r.method??(t instanceof Request?t.method:`GET`)).toUpperCase();if(e.redirected&&o!==`GET`&&o!==`HEAD`)throw Error(`Cannot automatically pay a redirected ${o} request. Use prepareRequest() to preserve redirect semantics.`);if(t instanceof Request){let n=r.body==null?t.clone():t,i=new Request(n,t.mode===`navigate`&&r.mode===void 0?{...r,mode:`same-origin`}:r);return i.url.split(`#`)[0]===e.url?i:i.body?new Request(e.url,{body:await i.arrayBuffer(),cache:i.cache,credentials:i.credentials,headers:i.headers,integrity:i.integrity,keepalive:i.keepalive,method:i.method,mode:i.mode,redirect:i.redirect,referrer:i.referrer,referrerPolicy:i.referrerPolicy,signal:i.signal}):new Request(e.url,i)}return e.url}function sL(e){return e}function cL(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function lL(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 M(r)}}function uL(e){return Object.fromEntries(Object.entries(e.headers??{}).filter(([e])=>e.toLowerCase()!==`content-type`))}let dL={[GO.id]:GO,[JO.id]:JO};function fL(e,t={}){return hx(e.url,{fetchFn:e.fetch,fetchOptions:{headers:uL(e)},...t})}function pL(e){let{chain:t,getClient:n,remoteFeePayer:r,rpcUrl:i}=e;return n?!t?.serializers&&!r?n:async e=>{let i=await n(e),a=i;if(r&&i.transport.key!==`feePayer`){let e=i.request.bind(i),t=ek(ux({request:t=>e(t)},{retryCount:0}),fL(r,{retryCount:i.transport.retryCount}))({account:i.account,chain:i.chain,pollingInterval:i.pollingInterval,retryCount:0}),n=lx({...t.config,retryCount:0},t.value);a=Object.assign({},i,{request:n.request,transport:{...n.config,...n.value}})}return!t?.serializers||a.chain?.serializers?.transaction?a:Object.assign({},a,{chain:{...t,...e.chainId===void 0?{}:{id:e.chainId},...a.chain,formatters:a.chain?.formatters??t.formatters,prepareTransactionRequest:a.chain?.prepareTransactionRequest??t.prepareTransactionRequest,serializers:a.chain?.serializers?.transaction?a.chain.serializers:t.serializers}})}:({chainId:e})=>{if(!i)throw Error(\"No `rpcUrl` provided.\");let n=e||Number(Object.keys(i)[0]),a=i[n];if(!a)throw Error(`No \\`rpcUrl\\` configured for \\`chainId\\` (${n}).`);let o=r?ek(hx(a),fL(r)):hx(a);return Ih({chain:dL[n]??{...t,id:n},transport:o})}}function mL(e,t){if(t!==void 0&&e.chain?.id!==void 0&&e.chain.id!==t)throw Error(`Chain ID mismatch: expected ${t}, got ${e.chain.id}.`)}function hL(e,t){if(e!==void 0&&(t===void 0||!e.includes(t)))throw Error(`Chain ID not allowed: ${t??`unknown`}.`)}Ni();let gL={mainnet:4217,testnet:42431},_L={ousd:XO(gL.mainnet).address,usdc:ji(QO(gL.mainnet).address),pathUsd:ZO(gL.mainnet).address},vL={[gL.mainnet]:_L.usdc,[gL.testnet]:_L.pathUsd},yL=Object.freeze({[gL.mainnet]:Object.freeze({swap:`0xF72E5107c32C655ffA7539a3C8e97B7C3cE16A3F`,token:`0x20c000000000000000000000f37de3740ADec032`}),[gL.testnet]:Object.freeze({swap:`0xd05f8EdFBB54Da0d765C9fE9b2B3f7d2E3a8C466`,token:`0x20c000000000000000000000f37de3740ADec032`})});gL.mainnet,gL.testnet;let bL={[gL.mainnet]:`https://rpc.tempo.xyz`,[gL.testnet]:`https://rpc.moderato.tempo.xyz`};function xL(e,t){return WC(e).toLowerCase()===WC(t).toLowerCase()}ga();let SL=7200n,CL=pa({abi:QT,name:`WithdrawalProcessed`});function wL(e){return Number.isInteger(e)&&e>0&&e<4217e5}function TL(e,t){return wL(t)?e===!0||(e?.includes(t)??!1):!1}function EL(e){return AE(e)}function DL(e){if(e>=2**32)return e%2**32;if(e>142431e4&&e<142432e4)return e-142431e4;if(e>4217e5&&e<42171e4)return e-4217e5;throw Error(`Cannot derive a Zone ID from chain ID ${e}. Pass \\`zoneId\\`.`)}function OL(e){if(e>=2**32)return Math.floor(e/2**32);if(e>142431e4&&e<142432e4)return 42431;if(e>4217e5&&e<42171e4)return 4217}function kL(e){return D_(Av([`address`,`bytes32`,`uint64`],[e.sender,e.transactionHash,e.fallbackNonce]))}async function AL(e,t){let{timeoutMs:n=6e4}=t;if(!Number.isFinite(n)||n<0)throw Error(`Zone settlement timeout must be a finite, non-negative number.`);let r=await hh(e,{cacheTime:0}),i=r>SL?r-SL:0n,a=Date.now()+n;for(;;){if(i<=r){let n=(await gf(e,{address:t.portal,event:CL,args:{senderTag:t.senderTag,...t.to?{to:t.to}:{}},fromBlock:i,toBlock:r}))[0]?.transactionHash;if(n)return n;i=r+1n}if(Date.now()+500>a)throw Error(`Zone withdrawal ${t.senderTag} did not settle on Tempo within ${n}ms.`);await new Promise(e=>setTimeout(e,500)),r=await hh(e,{cacheTime:0})}}let jL=[`push`,`pull`],ML=K({amount:JN(),memo:Y(eP()),recipient:PM(W(),kM(e=>e))}),NL=(1n<<64n)-1n,PL={dev_second:1n,day:86400n,week:604800n},FL=PM($N(),kM(e=>e.toLowerCase())),IL=K({accessKeyAddress:FL,keyType:EM([`p256`,`secp256k1`,`webAuthn`]),keyToken:Y(PM(W().check(Yj(/^0x[0-9a-fA-F]{120}$/)),kM(e=>e)))}),LL=K({accessKey:Y(IL),chainId:Y(tM())}),RL=XN(`subscriptionExpires must be a valid date`).check(HM(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),zL=EM([`dev_second`,`day`,`week`]),BL=PM(q([W(),aM(),VM(e=>typeof e==`number`&&Number.isSafeInteger(e))]),kM(e=>e.toString())).check(Yj(/^[1-9]\\d*$/,`Invalid periodCount`),HM(e=>{try{return BigInt(e)<=NL}catch{return!1}},`periodCount exceeds uint64`));function VL(e){return HM(e=>{let{amount:t,decimals:n}=e;return Gy(t,n)>0n},e)}function HL(e){let{periodCount:t,periodUnit:n}=e;try{let e=PL[n];return e!==void 0&&BigInt(t)*e<=NL}catch{return!1}}let UL=sL({name:`tempo`,intent:`charge`,schema:{credential:{payload:bM(`type`,[K({hash:eP(),type:J(`hash`)}),K({signature:tP(),type:J(`transaction`)}),K({signature:tP(),type:J(`proof`)}),K({hash:eP(),senderTag:eP(),type:J(`zone`),zoneId:tM().check(HM(wL,`Invalid Zone ID`))})])},request:PM(K({machineTokenEnabled:Y(rM()),amount:JN(),chainId:Y(tM()),currency:W(),decimals:tM(),description:Y(W()),externalId:Y(W()),feePayer:Y(PM(q([rM(),VM()]),kM(e=>typeof e==`object`||e))),memo:Y(pM()),recipient:Y(W()),splits:Y(G(ML).check(Jj(1),qj(10))),supportedModes:Y(G(EM(jL)).check(Jj(1))),zones:Y(q([J(!0),G(tM().check(HM(wL,`Invalid Zone ID`))).check(Jj(1))]))}).check(HM(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=Gy(e,t),i=n.reduce((e,n)=>e+Gy(n.amount,t),0n);return n.every(e=>Gy(e.amount,t)>0n)&&i<r},`Invalid splits`)),kM(({machineTokenEnabled:e,amount:t,chainId:n,decimals:r,feePayer:i,memo:a,splits:o,supportedModes:s,zones:c,...l})=>({...l,amount:Gy(t,r).toString(),...e!==void 0||n!==void 0||i!==void 0||o!==void 0||s!==void 0||c!==void 0?{methodDetails:{...e!==void 0&&{machineTokenEnabled:e},...n!==void 0&&{chainId:n},...i!==void 0&&{feePayer:i},...o!==void 0&&{splits:o.map(e=>({...e,amount:Gy(e.amount,r).toString()}))},...s!==void 0&&{supportedModes:s},...c!==void 0&&{zones:c}}}:{}})))}}),WL=sL({name:`tempo`,intent:`session`,schema:{credential:{payload:bM(`action`,[K({action:J(`open`),authorizedSigner:Y(W()),channelId:eP(),cumulativeAmount:JN(),descriptor:Y(VM()),signature:tP(),transaction:tP(),type:J(`transaction`)}),K({action:J(`topUp`),additionalDeposit:JN(),channelId:eP(),descriptor:Y(VM()),transaction:tP(),type:J(`transaction`)}),K({action:J(`voucher`),channelId:eP(),cumulativeAmount:JN(),descriptor:Y(VM()),signature:tP()}),K({action:J(`close`),channelId:eP(),closeSignature:tP(),cumulativeAmount:JN(),descriptor:Y(VM()),signature:tP()})])},request:PM(K({amount:JN(),chainId:Y(tM()),channelId:Y(eP()),currency:W(),decimals:tM(),escrowContract:Y(W()),feePayer:Y(PM(q([rM(),VM()]),kM(e=>typeof e==`object`||e))),feeToken:Y($N()),minVoucherDelta:Y(JN()),operator:Y($N()),recipient:Y(W()),sessionProtocol:Y(EM([RN.v2,RN.v1])),sessionSnapshot:Y(VM()),suggestedDeposit:Y(JN()),unitType:W()}).check(HM(({amount:e,decimals:t})=>Gy(e,t)>0n,`Session amount must be greater than 0`)),kM(({amount:e,chainId:t,channelId:n,decimals:r,escrowContract:i,feePayer:a,feeToken:o,minVoucherDelta:s,operator:c,sessionProtocol:l,sessionSnapshot:u,suggestedDeposit:d,...f})=>({...f,amount:Gy(e,r).toString(),...d?{suggestedDeposit:Gy(d,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...s!==void 0&&{minVoucherDelta:Gy(s,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...o!==void 0&&{feeToken:o},...c!==void 0&&{operator:c},...l!==void 0&&{[LN.sessionProtocol]:l},...u!==void 0&&{[LN.sessionSnapshot]:u}}})))}}),GL=sL({name:`tempo`,intent:`subscription`,schema:{credential:{payload:K({signature:tP(),type:J(`keyAuthorization`)})},request:PM(K({amount:JN(),accessKey:Y(IL),chainId:Y(tM()),currency:FL,decimals:tM(),description:Y(W()),externalId:Y(W()),methodDetails:Y(LL),periodCount:BL,periodUnit:zL,recipient:FL,subscriptionExpires:RL}).check(VL(`Subscription amount must be greater than 0`),HM(HL,`Subscription period exceeds uint64`)),kM(({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:Gy(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});z(),Li(),lf();let KL=(1n<<64n)-1n,qL={dev_second:1n,day:86400n,week:604800n};function JL(e){return e instanceof Date?e:new Date(e)}function YL(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 XL(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=qL[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>KL)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 ZL(e){let{challengeExpires:t,request:n}=e;XL(n);let r=YL(JL(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 QL(e){return[{address:dR(e.currency,`currency`),selector:`0x95777d59`,recipients:[dR(e.recipient,`recipient`)]}]}function $L(e){try{let t=Sp(Ex(e));if(L(t)!==32)throw Error(`invalid challenge id size`);return t}catch{throw new $({reason:`challenge id must encode 32 bytes`})}}async function eR(e){let{accessKey:t,account:n,challengeId:r,chainId:i,request:a}=e;if(typeof n.sign!=`function`)return;let o=nR({accessKey:t,challengeId:r,chainId:i,request:a}),s=await n.sign({hash:Sw(o)}),c=MC(s);if(c.type===`keychain`||c.type===`multisig`)throw new $({reason:`keyAuthorization must use a primitive signature`});return yw(o,{signature:s})}function tR(e){let{accessKey:t,challengeId:n,chainId:r,payload:i,request:a}=e;if(i.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let o=rR(i.signature),s=iR(o);if(aR({accessKey:t,authorization:o,chainId:r}),o.witness?.toLowerCase()!==$L(n))throw new $({reason:`keyAuthorization challenge mismatch`});return oR(o,a),cR(sR(o),a),lR(o.scopes,a),{authorization:o,source:{address:uR(o,s),chainId:r}}}function nR(e){let{accessKey:t,challengeId:n,chainId:r,request:i}=e;return yw({address:dR(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(r),expiry:YL(JL(i.subscriptionExpires)),limits:[{token:dR(i.currency,`currency`),limit:BigInt(i.amount),period:XL(i)}],scopes:QL(i),type:t.keyType,witness:$L(n)})}function rR(e){try{return Cw(e)}catch(e){throw e instanceof Bw?new $({reason:`keyAuthorization must use a primitive signature`}):new $({reason:`invalid keyAuthorization payload`})}}function iR(e){let t=e.signature;if(!t)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function aR(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!cf(n.address,dR(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function oR(e,t){if(ZL({request:t}),e.expiry!==YL(JL(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function sR(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function cR(e,t){if(!cf(e.token,dR(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==XL(t))throw new $({reason:`keyAuthorization period mismatch`})}function lR(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=dR(t.currency,`currency`),r=dR(t.recipient,`recipient`),i=new Set;for(let t of e){if(!cf(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=fR(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||!cf(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function uR(e,t){let n=Sw(e);try{let e=OC({payload:n,signature:t});if(!RC(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 dR(e,t){if(!Pi(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function fR(e){return typeof e==`string`?e.toLowerCase():``}z(),lf();let pR=K({accessKey:Y(VM()),account:Y(VM())});function mR(e={}){let t=pL({chain:GO,getClient:e.getClient,rpcUrl:bL}),n=lL({account:e.account});return cL(GL,{context:pR,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??gL.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.\");gR(r.request),await e.validateRequest?.(r.request);let l=await hR(o,{accessKey:c,account:s,challengeId:r.id,chainId:a,request:r.request});if(!cf(tR({accessKey:c,challengeId:r.id,chainId:a,payload:{signature:Tw(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return DP({challenge:r,payload:{signature:Tw(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function hR(e,t){let{accessKey:n,account:r,challengeId:i,chainId:a,request:o}=t;return await eR({accessKey:n,account:r,challengeId:i,chainId:a,request:o})||bw((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:YL(JL(o.subscriptionExpires)),keyType:n.keyType,limits:[{token:o.currency,limit:F(BigInt(o.amount)),period:XL(o)}],scopes:QL(o),witness:$L(i)}]})).keyAuthorization)}function gR(e){XL(e),YL(JL(e.subscriptionExpires))}vp(),z();let _R=I(D_(Zf(`mpp`),{as:`Hex`}),0,4);function vR(e){return kp(I(D_(Zf(e),{as:`Hex`}),0,10))}function yR(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(kp(_R),0),i[4]=1,i.set(vR(t),5),n&&i.set(vR(n),15),i.set(bR(r),25),Sp(i)}function bR(e){return kp(I(D_(Zf(e),{as:`Hex`}),0,7))}let xR=10000n,SR=[_L.pathUsd,_L.usdc,_L.ousd];async function CR(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t;if(!Number.isFinite(o)||o<0||o>50)throw Error(`Auto-swap slippage must be between 0 and 50 percent.`);if(t.maxAmountIn!==void 0&&t.maxAmountIn<=0n)throw Error(`Auto-swap maxAmountIn must be positive.`);let s=a.filter(e=>!xL(e,i)),c=await Promise.allSettled([nh(e,{...QD.call(e,{account:n,token:i}),account:null}),...s.map(t=>nh(e,{...QD.call(e,{account:n,token:t}),account:null}))]),l=c[0];if(l.status!==`fulfilled`)throw l.reason;let u=l.value;if(u>=r)return;let d=r-u,f=BigInt(Math.round(o*100)),p=t.maxAmountIn??d+d*f/xR;for(let t=0;t<s.length;t++){let n=c[t+1];if(n.status!==`fulfilled`)continue;let r=n.value;if(r<=0n)continue;let a=s[t];try{let t=await ID(e,{account:null,tokenIn:a,tokenOut:i,amountOut:d});if(t<=0n||t>p)continue;let n=t+t*f/xR,o=n<p?n:p;if(r>=o)return[KD.call(e,{amount:o,spender:OE,token:a}),jD.call({tokenIn:a,tokenOut:i,amountOut:d,maxAmountIn:o})]}catch{}}throw new TR({currency:i})}function wR(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...e.fallback===!1?[]:t.filter(t=>!e.tokenIn.some(e=>xL(e,t)))]:t,slippage:e.slippage??1,...e.maxAmountIn===void 0?{}:{maxAmountIn:e.maxAmountIn}}:!1}var TR=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function ER(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:BigInt(e.amount).toString(),memo:e.memo,recipient:e.recipient}))]}function DR(e,t,n){t&&(n&&!n.some(e=>xL(e,t))||e.some(e=>xL(e,t))||e.push(t))}async function OR(e,t,n){try{return(await QD(e,{account:t,token:n})).amount>0n}catch{return!1}}function kR(e){let t=e.chain?.feeToken;if(t)return iw(t);let n=e.chain?.id;return n?vL[n]:void 0}function AR(e){let t=[];return DR(t,_L.pathUsd),DR(t,vL[e]),t}async function jR(e){let{account:t,allowedTokens:n,candidateTokens:r,client:i,prioritizeCandidates:a}=e,o=[];if(a)for(let e of r??[])DR(o,e,n);if(DR(o,await OO(i,{account:t}).then(e=>e?.address).catch(()=>void 0),n),DR(o,kR(i),n),!a)for(let e of r??[])DR(o,e,n);for(let e of o)if(await OR(i,t,e))return e;return o[0]}Ta(),Li(),lf(),Mt(),th();let MR=jt([`function swapTo(address inputToken,uint256 amount,address targetToken,address recipient,bytes32 memo)`]);function NR(e){if(e!==void 0)return yL[e]}function PR(e){let t=NR(e.chainId);return!!t&&Pi(e.currency,{strict:!1})&&cf(e.currency,t.token)}function FR(e){let t=NR(e.chainId),n=e.transfers.length===1?e.transfers[0]:void 0;if(!t||!n?.memo)return;let r=BigInt(n.amount),i=n.memo;return{calls:[{data:wa({abi:V,functionName:`approve`,args:[t.swap,r]}),to:t.token},{data:wa({abi:MR,functionName:`swapTo`,args:[t.token,r,e.currency,n.recipient,i]}),to:t.swap}],settlementSender:t.swap,transfers:[{amount:r,memo:i,recipient:n.recipient}]}}async function IR(e,t){let n=FR(t);if(n)try{return await nh(e,QD.call(e,{account:t.account,token:n.calls[0].to}))<n.transfers[0].amount?void 0:(await Wm(e,{account:t.account,calls:n.calls}),n)}catch{return}}let LR={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function RR(e){return{name:`MPP`,version:`3`,chainId:e}}function zR(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function BR(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:RR(n),types:LR,primaryType:`Proof`,message:zR({account:t,challengeId:r,realm:i})}}function VR(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}mi();let HR=K({account:Y(VM()),autoSwap:Y(VM()),feeToken:Y(VM()),mode:Y(EM(jL))});function UR(e={}){let{clientId:t}=e;if((e.maxAmount!==void 0||e.maxAtomicAmount!==void 0)&&e.currencies===void 0)throw Error(`Tempo charge maxAmount and maxAtomicAmount require currencies.`);let n={maxAmount:ZR(e.maxAmount,e.decimals),maxAtomicAmount:e.maxAtomicAmount===void 0?void 0:BigInt(e.maxAtomicAmount)},r=pL({chain:GO,getClient:e.getClient,rpcUrl:bL}),i=lL({account:e.account});KR(e.zone);let a=new Map,o=cL(UL,{canHandleChallenge({challenge:t}){try{return QR(e,n,t.request),!0}catch{return!1}},context:HR,async createCredential({challenge:o,context:s}){QR(e,n,o.request);let c=o.request.methodDetails?.chainId??e.expectedChainId??(e.allowedChainIds?.length===1?e.allowedChainIds[0]:void 0),l=await r({chainId:c});mL(l,c);let u=c??l.chain?.id;if(hL(e.allowedChainIds,u),u===void 0)throw Error(\"No `chainId` provided. Pass a chain ID in the challenge or client.\");let{request:d}=o,{amount:f,methodDetails:p}=d,m=p?.supportedModes??[`pull`,`push`],h=e.zone?.client.chain,g=e.zone?e.zone.zoneId??DL(h?.id??0):void 0,_=h?.sourceId??(h?OL(h.id):void 0),v=s?.mode??e.mode;if(BigInt(f)>0n&&e.zone&&g!==void 0&&_===u&&m.includes(`push`)&&(v===void 0||v===`push`)&&TL(p?.zones,g)&&!p?.splits&&(a.has(YR(o))||qR(o.expires,e.zone.settlementTimeoutMs)))return GR({challenge:o,clientId:t,client:l,pending:a,zone:e.zone,zoneId:g});let y=i(l,s),b=async t=>await e.resolveAccount?.({account:y,chainId:u,operation:t})??y;if(BigInt(f)===0n){let e=await b({kind:`signPaymentProof`});return DP({challenge:o,payload:{signature:await ix(l,{account:e,...BR({account:e.address,chainId:u,challengeId:o.id,realm:o.realm})}),type:`proof`},source:VR({address:e.address,chainId:u})})}let x=d.currency,S=PR({chainId:u,currency:x}),C=yR({challengeId:o.id,clientId:t,serverId:o.realm}),w=ER({amount:f,methodDetails:{...p,memo:C},recipient:d.recipient}),ee=w.map(e=>fO.call(l,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:x})),te=wR(s?.autoSwap??e.autoSwap,SR),ne=p?.machineTokenEnabled===!0?FR({chainId:u,currency:x,transfers:w}):void 0,T=y,re;if(ne){let e=await(async()=>{try{return await b({calls:ne.calls,kind:`executeCalls`})}catch{return}})();e&&(re=await IR(l,{account:e.address,chainId:u,currency:x,transfers:w}),re&&(T=e))}let ie;re||(T=await b({kind:`executeCalls`,...te?{}:{calls:ee}}),ie=te?await CR(l,{account:T.address,amountOut:BigInt(f),tokenOut:x,tokenIn:te.tokenIn,slippage:te.slippage,maxAmountIn:te.maxAmountIn}):void 0);let ae=re?.calls??[...ie??[],...ee],oe=AR(u),se=(s?.feeToken??e.feeToken)||(re||S?await jR({account:T.address,allowedTokens:oe,candidateTokens:oe,client:l,prioritizeCandidates:!0}):void 0),ce=(()=>{let t=s?.mode??e.mode;if(t){if(!m.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=T.type===`json-rpc`?`push`:`pull`;return m.includes(n)?n:m[0]})(),le=(()=>{let e=Math.floor(Date.now()/1e3)+25;if(!o.expires)return e;let t=Math.floor(new Date(o.expires).getTime()/1e3)+1;return Math.min(e,t)})();if(ce===`push`){let{receipts:e}=T.type===`local`?{receipts:[await zb(l,{account:T,calls:ae,...se?{feeToken:se}:{},nonceKey:`expiring`,validBefore:le})]}:await $b(l,{account:T,...se?{capabilities:{feeToken:se}}:{},calls:ae,experimental_fallback:ae.length===1,forceAtomic:ae.length>1}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return DP({challenge:o,payload:{hash:t,type:`hash`},source:VR({address:T.address,chainId:u})})}let ue=()=>{if(p?.feePayer!==!0)return;let e=15e3,t=o.expires?new Date(o.expires).getTime():1/0,n=Date.now();if(!(t-n>=e))throw Error(`Sponsored challenge expires in less than 15 seconds; the fee payer would reject the transaction. Request a new challenge.`);if(!(le*1e3-n>=e))throw Error(`Sponsored transaction preparation took too long: less than 15 seconds of its validity window remain, so the fee payer would reject it.`)};ue();let de=await af(l,{account:T,calls:ae,...se?{feeToken:se}:{},nonceKey:`expiring`,validBefore:le});if(de.gas=(de.gas??0n)+5000n,p?.feePayer){let e=de;delete e.feePayerSignature,delete e.feeToken,e.feePayer=!0}return ue(),DP({challenge:o,payload:{signature:await rx(l,de),type:`transaction`},source:VR({address:T.address,chainId:u})})}}),s=new Map,c=async t=>{QR(e,n,t.challenge.request);let r=t.context?.account??e.account,i=`${(typeof r==`string`?r:r?.address)?.toLowerCase()??``}:${t.challenge.id}`,a=s.get(i);return a||(a=o.createCredential(t).finally(()=>s.delete(i)),s.set(i,a)),a};return sI({...o,createCredential:c},WR)}function WR(e){let t=UL.schema.credential.payload.safeParse(wP(e).payload);if(!t.success)return;let n=t.data;if(n.type===`hash`||n.type===`zone`)return n.hash;let r=n.signature;if(n.type!==`transaction`||!r.startsWith(`0x76`))return;let i=Gw(r);if(!(!i.signature||i.feePayerSignature===null)&&qw(i)===r)return pi(r)}async function GR(e){let{challenge:t,client:n,pending:r,zone:i,zoneId:a}=e,o=t.request.recipient,s=YR(t),c=r.get(s);if(!c){let t={sent:!1};c=XR(e,t),r.set(s,c),c.catch(()=>{t.sent||r.delete(s)})}let l=await c,u;try{u=await AL(n,{portal:EL(a),senderTag:l,timeoutMs:JR(t.expires,i.settlementTimeoutMs),to:o})}catch(e){throw new WN({cause:e,challengeId:t.id,senderTag:l,zoneId:a})}return r.delete(s),DP({challenge:t,payload:{hash:u,senderTag:l,type:`zone`,zoneId:a}})}function KR(e){let t=e?.settlementTimeoutMs;if(t!==void 0&&(!Number.isFinite(t)||t<0))throw Error(\"`zone.settlementTimeoutMs` must be a finite, non-negative number.\");let n=e?.client.chain?.id;if(e?.zoneId===void 0||n===void 0||OL(n)===void 0)return;let r=DL(n);if(r!==e.zoneId)throw Error(`zone.zoneId ${e.zoneId} does not match Zone ${r} of the zone.client chain ${n}.`)}function qR(e,t){if(!e)return!0;let n=t??6e4;return new Date(e).getTime()-Date.now()>n+15e3}function JR(e,t){let n=t??6e4;return e?Math.max(0,Math.min(n,new Date(e).getTime()-Date.now())):n}function YR(e){return JSON.stringify(e)}async function XR(e,t){let{challenge:n,clientId:r,zone:i}=e,a=n.request,o=i.client.account;if(!o)throw Error(\"`zone.client` requires an account.\");let s=BigInt(a.amount),c=a.currency,l=a.recipient,u=yR({challengeId:n.id,clientId:r,serverId:n.realm}),d=await xO(i.client),[,f]=SO.calls({amount:s,fallbackRecipient:o.address,memo:u,to:l,token:c}),p=await af(i.client,{account:o,calls:[KD.call({amount:s+d,spender:kE,token:c}),f]}),m=await rx(i.client,p);t.sent=!0;let h=pi(m),g=await Lb(i.client,{serializedTransaction:m}).catch(e=>_b(i.client,{hash:h,timeout:15e3}).catch(()=>{let t=Error(`Zone withdrawal outcome is unknown: transaction ${h} may have been sent. Retrying this challenge does not withdraw again.`);throw Object.defineProperty(t,\"cause\",{configurable:!0,value:e,writable:!0}),t}));if(g.status===`reverted`)throw t.sent=!1,Error(`Zone withdrawal transaction ${g.transactionHash} reverted.`);let[_]=mf({abi:pE,eventName:`WithdrawalRequested`,logs:g.logs});if(!_)throw Error(\"Zone withdrawal request did not emit `WithdrawalRequested`.\");return kL({fallbackNonce:_.args.fallbackNonce,sender:_.args.sender,transactionHash:g.transactionHash})}function ZR(e,t){if(e!==void 0){if(t===void 0)throw Error(`Tempo charge maxAmount requires currency decimals.`);if((e.split(`.`)[1]?.replace(/0+$/,``)??``).length>t)throw Error(`Tempo charge maxAmount ${e} has more fractional digits than ${t} decimals allow.`);return Gy(e,t)}}function QR(e,t,n){let{amount:r,methodDetails:i,recipient:a}=n,o=i?.chainId;if(e.expectedChainId!==void 0&&o!==void 0&&o!==e.expectedChainId)throw Error(`Chain ID mismatch: expected ${e.expectedChainId}, got ${o}.`);if((o!==void 0||e.allowedChainIds?.length===0)&&hL(e.allowedChainIds,o),e.currencies&&!e.currencies.some(e=>e.toLowerCase()===n.currency.toLowerCase()))throw Error(`Tempo charge currency is not allowed: ${n.currency}.`);if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase()));if(!a||!t.has(a.toLowerCase()))throw Error(`Unexpected primary recipient: ${a}`);let n=i?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}if(t.maxAtomicAmount!==void 0&&BigInt(r)>t.maxAtomicAmount)throw Error(`Tempo charge amount exceeds maxAtomicAmount.`);if(t.maxAmount!==void 0&&BigInt(r)>t.maxAmount)throw Error(`Tempo charge amount exceeds maxAmount.`)}let $R=(1n<<96n)-1n;function ez(e){return e>=0n&&e<=$R}function tz(e){if(!/^\\d{1,29}$/.test(e))return;let t=BigInt(e);return ez(t)?t:void 0}function nz(e){return rz(e),e}function rz(e){if(!ez(e))throw Error(`Value ${e} is outside uint96 bounds.`)}let iz=new Set([`open`,`topUp`,`voucher`,`close`]);function az(e){return typeof e==`object`&&!!e}function oz(e){return typeof e==`string`&&iz.has(e)}function sz(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.channelId!=`string`||t.action!==void 0&&!oz(t.action))}function cz(e,t=`No session credential context available.`){if(!sz(e))throw Error(t);return e}function lz(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function uz(e){return az(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function dz(e){return az(e)?e.method===`tempo`&&e.intent===`session`&&e.status===`success`&&typeof e.timestamp==`string`&&typeof e.reference==`string`&&typeof e.challengeId==`string`&&typeof e.channelId==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.spent==`string`&&(e.units===void 0||typeof e.units==`number`)&&(e.txHash===void 0||typeof e.txHash==`string`):!1}function fz(e){let t=Dx(e),n=JSON.parse(t);if(!dz(n))throw Error(`Invalid session receipt.`);return n}function pz(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function mz(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`:{let e=hz(r);return uz(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=hz(r);return dz(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function hz(e){try{return JSON.parse(e)}catch{return null}}function gz(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function _z(){return JSON.stringify({mpp:`payment-close-request`})}function vz(e){let t=yz(e);return t?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`&&dz(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`&&uz(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&dz(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function yz(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let bz=`0x4d50500000000000000000000000000000000000`;z();function xz(e){return BigInt(e.authorizedSigner)===0n?e.payer:e.authorizedSigner}function Sz(e){return D_(kv(jv([`address payer`,`address payee`,`address operator`,`address token`,`bytes32 salt`,`address authorizedSigner`,`bytes32 expiringNonceHash`,`address escrow`,`uint256 chainId`]),[e.payer,e.payee,e.operator,e.token,e.salt,e.authorizedSigner,e.expiringNonceHash,e.escrow??`0x4d50500000000000000000000000000000000000`,BigInt(e.chainId)]))}function Cz(e){return Jw(e)}function wz(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function Tz(e,t){return D_(P(Cz(e),t.sender))}let Ez=[{name:`payer`,type:`address`},{name:`payee`,type:`address`},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`salt`,type:`bytes32`},{name:`authorizedSigner`,type:`address`},{name:`expiringNonceHash`,type:`bytes32`}],Dz=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],Oz={name:`descriptor`,type:`tuple`,components:Ez},kz=[{type:`function`,name:`CLOSE_GRACE_PERIOD`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{type:`function`,name:`VOUCHER_TYPEHASH`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{type:`function`,name:`open`,stateMutability:`nonpayable`,inputs:[{name:`payee`,type:`address`},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`deposit`,type:`uint96`},{name:`salt`,type:`bytes32`},{name:`authorizedSigner`,type:`address`}],outputs:[{name:`channelId`,type:`bytes32`}]},{type:`function`,name:`settle`,stateMutability:`nonpayable`,inputs:[Oz,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[Oz,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[Oz,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[Oz],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[Oz],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[Oz],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:Ez},{name:`state`,type:`tuple`,components:Dz}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:Dz}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:Dz}]},{type:`function`,name:`computeChannelId`,stateMutability:`view`,inputs:[{name:`payer`,type:`address`},{name:`payee`,type:`address`},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`salt`,type:`bytes32`},{name:`authorizedSigner`,type:`address`},{name:`expiringNonceHash`,type:`bytes32`}],outputs:[{type:`bytes32`}]},{type:`function`,name:`getVoucherDigest`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}],outputs:[{type:`bytes32`}]},{type:`function`,name:`domainSeparator`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{type:`event`,name:`ChannelOpened`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`operator`,type:`address`},{name:`token`,type:`address`},{name:`authorizedSigner`,type:`address`},{name:`salt`,type:`bytes32`},{name:`expiringNonceHash`,type:`bytes32`},{name:`deposit`,type:`uint96`}]},{type:`event`,name:`Settled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`cumulativeAmount`,type:`uint96`},{name:`deltaPaid`,type:`uint96`},{name:`newSettled`,type:`uint96`}]},{type:`event`,name:`TopUp`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`additionalDeposit`,type:`uint96`},{name:`newDeposit`,type:`uint96`}]},{type:`event`,name:`CloseRequested`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`closeGraceEnd`,type:`uint256`}]},{type:`event`,name:`ChannelClosed`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0},{name:`settledToPayee`,type:`uint96`},{name:`refundedToPayer`,type:`uint96`}]},{type:`event`,name:`CloseRequestCancelled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0},{name:`payer`,type:`address`,indexed:!0},{name:`payee`,type:`address`,indexed:!0}]}];function Az(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let jz={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]},Mz={CloseAuthorization:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function Nz(e,t,n){return Ag({domain:Az(e,t),types:Mz,primaryType:`CloseAuthorization`,message:n})}function Pz(e,t){return _w({chainId:e,channelId:t.channelId,cumulativeAmount:t.cumulativeAmount})}function Fz(e,t,n){return e.toLowerCase()===`0x4d50500000000000000000000000000000000000`?Pz(t,n):Ag({domain:Az(e,t),types:jz,primaryType:`Voucher`,message:{channelId:n.channelId,cumulativeAmount:n.cumulativeAmount}})}function Iz(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function Lz(e){return e.source===`accessKey`&&`accessKeyAddress`in e}function Rz(e,t){return JE(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function zz(e,t,n,r,i){let a=MC(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await Rz(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return ix(e,{account:t,domain:Az(r,i),types:jz,primaryType:`Voucher`,message:n})})());if(!Iz(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return FC(a)}async function Bz(e,t,n,r,i){let a=MC(Lz(t)?await t.sign({hash:Nz(r,i,n),raw:!0}):await ix(e,{account:t,domain:Az(r,i),types:Mz,primaryType:`CloseAuthorization`,message:n}));if(!Iz(a.type))throw Error(`TIP-1034 close authorizations require a TIP-1020 primitive signature; received \"${a.type}\".`);return FC(a)}function Vz(e,t,n,r){try{let i=MC(n.signature);if(!Iz(i.type)||FC(i).toLowerCase()!==n.signature.toLowerCase())return!1;let a=Fz(e,t,n),o=OC({payload:a,signature:i});return RC(i,{address:o,payload:a})&&xL(o,r)}catch{return!1}}z(),Ta(),Li();function Hz(e){return typeof e==`object`&&!!e}function Uz(e){return typeof e==`string`&&Pi(e,{strict:!1})?e:void 0}function Wz(e){return Uz(e.accessKeyAddress)}function Gz(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(Dp(8))%e)}function Kz(e){return Wz(e)??e.address}async function qz(e,t){let{account:n,calls:r,feePayer:i,feeToken:a,validAfter:o}=t;return af(e,{account:n,calls:r,nonceKey:`expiring`,...i?{feePayer:!0}:{},feeToken:a,...o===void 0?{}:{validAfter:o}})}async function Jz(e,t){return await rx(e,t)}function Yz(e,t,n=!1){let r=e.request.methodDetails,i=Hz(r)?Uz(r.escrowContract)??Uz(r.escrow):void 0,a=t??`0x4d50500000000000000000000000000000000000`;if(i&&!Zz(i,a)&&(!n||t!==void 0))throw Error(`Tempo session escrow ${i} does not match client escrow ${a}.`);return i&&!Zz(i,a)?i:a}function Xz(e,t,n,r){return DP({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function Zz(e,t){return e.toLowerCase()===t.toLowerCase()}async function Qz(e,t,n,r,i,a=bz){let o=Sz({...n,chainId:i,escrow:a}),s=nz(r),c=await zz(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function $z(e,t,n,r,i,a=bz){let o=await Qz(e,t,n,r,i,a),s=await Bz(e,t,{channelId:o.channelId,cumulativeAmount:nz(BigInt(o.cumulativeAmount))},a,i);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature,closeSignature:s}}async function eB(e,t,n){let r=Kz(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=Dp(32),s=nz(n.deposit),c=nz(n.initialAmount),l=wa({abi:kz,functionName:`open`,args:[n.payee,a,n.token,s,o,r]}),u=await Jz(e,await qz(e,{account:t,calls:[...n.prefixCalls??[],{to:i,data:l}],feePayer:n.feePayer,feeToken:n.feeToken??n.token})),d=FE(u),f={authorizedSigner:r,expiringNonceHash:Tz(wz({...n.feePayer?{feePayer:!0}:{},transaction:d}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},p=Sz({...f,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:p,transaction:u,signature:await zz(e,t,{channelId:p,cumulativeAmount:c},i,n.chainId),descriptor:f,cumulativeAmount:c.toString(),authorizedSigner:f.authorizedSigner}}async function tB(e,t,n,r,i,a,o=bz,s=[],c=n.token){let l=Sz({...n,chainId:i,escrow:o}),u=nz(r);return{action:`topUp`,type:`transaction`,channelId:l,transaction:await Jz(e,await qz(e,{account:t,calls:[...s,{to:o,data:wa({abi:kz,functionName:`topUp`,args:[n,u]})}],feePayer:a,feeToken:c,validAfter:Gz()})),descriptor:n,additionalDeposit:u.toString()}}function nB(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function rB(e){return nB({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function iB(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(rB(t),t)},delete(t){e.delete(t)}}}let aB=new WeakMap,oB=new WeakMap;function sB(e,t){oB.set(e,oB.get(t)??t)}async function cB(e,t,n){let r=aB.get(e);r||(r=new Map,aB.set(e,r));let i=(r.get(t)??Promise.resolve()).catch(()=>{}).then(n);r.set(t,i);try{return await i}finally{r.get(t)===i&&r.delete(t)}}function lB(e,t,n){return cB(oB.get(e)??e,`funding:${t}`,n)}async function uB(e,t){await cB(e,`write:${rB(t)}`,async()=>{let n=await e.get(rB(t));if(n?.origin!==void 0){if(t.origin!==void 0&&t.origin!==n.origin)throw Error(`SessionManager: stored channel origin mismatch`);t.origin=n.origin}if(n?.uncertainTopUp){if(n.channelId!==t.channelId)throw Error(`Session funding outcome is unknown; reconcile the pending payment before replacing the channel.`);t.uncertainTopUp=!0}await e.set(t)})}async function dB(e,t){await cB(e,`write:${t}`,async()=>{(await e.get(t))?.uncertainTopUp||await e.delete(t)})}let fB=2n**96n-1n;function pB(e){if(e<0n||e>fB)throw new $({reason:`amount exceeds uint96 range`})}async function mB(e,t,n=bz,r){return hB(await nh(e,{address:n,abi:kz,functionName:`getChannelState`,args:[t],...r===void 0?{}:{blockNumber:r}}))}function hB(e){return pB(e.settled),pB(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Li();let gB=VM(e=>typeof e==`string`&&Pi(e,{strict:!1})),_B=VM(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),vB=LF(K({acceptedCumulative:W(),chainId:tM(),channelId:_B,closeRequestedAt:Y(W()),deposit:W(),descriptor:K({authorizedSigner:gB,expiringNonceHash:_B,operator:gB,payee:gB,payer:gB,salt:_B,token:gB}),escrow:gB,highestVoucher:Y(K({channelId:_B,cumulativeAmount:W(),signature:VM(e=>typeof e==`string`&&/^0x[0-9a-fA-F]+$/.test(e))})),requiredCumulative:W(),settled:W(),spent:W(),units:Y(tM())}));function yB(e){return vB.encode(e)}function bB(e){return vB.decode(e)}let xB={status:`idle`};function SB(e){return{status:`active`,...e}}function CB(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?OB(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?OB(e,t):t.snapshot?{state:{status:`hydrating`,challengeId:t.challengeId,snapshot:t.snapshot},effects:[{type:`hydrate`,snapshot:t.snapshot}]}:{state:{status:`opening`,challengeId:t.challengeId},effects:[{type:`open`}]};case`hydrated`:return e.status===`hydrating`?{state:EB(e.challengeId,t.snapshot),effects:[]}:OB(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?OB(e,t):{state:BB({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:DB(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:OB(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?OB(e,t):{state:UB(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?TB({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):OB(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:OB(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?OB(e,t):{state:DB(e.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]};case`settleStarted`:return e.status===`active`?{state:{status:`settling`,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[{type:`settle`,channelId:e.channelId}]}:OB(e,t);case`settled`:return e.status===`settling`?{state:DB(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:OB(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:OB(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:OB(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?OB(e,t):{state:{status:`closing`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`close`,channelId:e.channelId}]};case`closed`:return e.status!==`closing`&&e.status!==`withdrawable`?OB(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function wB(e,t){let n=CB(e.state,t);return e.state=n.state,n}function TB(e){let{challengeId:t,descriptor:n,event:r}=e,i=BigInt(r.requiredCumulative),a=BigInt(r.deposit);return i>a?{state:{status:`toppingUp`,challengeId:t,channelId:r.channelId,descriptor:n,deposit:r.deposit},effects:[{type:`topUp`,channelId:r.channelId,amount:(i-a).toString()}]}:{state:{status:`voucherNeeded`,challengeId:t,channelId:r.channelId,descriptor:n,requiredCumulative:r.requiredCumulative,deposit:r.deposit},effects:[{type:`voucher`}]}}function EB(e,t){return SB({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function DB(e,t,n,r){return SB({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function OB(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function kB(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function AB(e){let{channel:t,maxVoucherCumulative:n,receipt:r}=e;if(!t||r.channelId!==t.channelId)return;let i=BigInt(r.acceptedCumulative),a=BigInt(r.spent);if(a>i)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(i>t.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(a>t.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);kB({cumulativeAmount:i,maxVoucherCumulative:n}),kB({cumulativeAmount:a,maxVoucherCumulative:n})}function jB(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;AB({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function MB(e,t){return typeof e==`bigint`?e:Gy(e,t)}function NB(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(FB(r,n),t!==void 0){let e=BigInt(t);if(e<r)throw Error(`opening deposit ${e} below request amount ${r}`);return e}let a=i===void 0?void 0:BigInt(i),o=a!==void 0&&a>r?a:r;return n===void 0||o<n?o:n}function PB(e){let{deposit:t,maxDeposit:n,requiredCumulative:r,suggestedDeposit:i,topUpAmount:a}=e;if(r<=t)return 0n;kB({cumulativeAmount:r,maxVoucherCumulative:n??null});let o=r-t,s=a??i??o,c=s>o?s:o;if(n==null)return c;let l=n-t;return c<l?c:l}function FB(e,t){kB({cumulativeAmount:e,maxVoucherCumulative:t??null})}function IB(e){let{channel:t,currentSocket:n,lastChallenge:r}=e;if(!t?.opened)return;let i=n?.challenge??r,a=n?.channelId??t.channelId;if(!i)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(!a)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);return{challenge:i,channel:t,channelId:a}}function LB(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function RB(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(!ez(n))throw Error(`close-ready spent is not a uint96 amount`);if(n<r)throw Error(`close-ready spent is below locally confirmed spend`);if(n>LB({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function zB(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:i=0n,receipt:a}=e,o=tz(r),s=tz(a.spent);return o===void 0||s===void 0||!ez(i)?!1:!!a.txHash&&a.challengeId===t&&a.channelId===n&&a.acceptedCumulative===r&&s>=i&&s<=o}function BB(e){return SB({challengeId:e.challengeId,channelId:e.entry.channelId,descriptor:e.entry.descriptor,acceptedCumulative:e.entry.cumulativeAmount.toString(),deposit:e.entry.deposit.toString(),spent:e.spent,units:e.units})}function VB(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:xB}}function HB(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=jB({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&wB(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function UB(e,t){return SB({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function WB(e){let{challengeId:t,channelId:n,closeReadyReceipt:r,cumulativeAmount:i,deliveredChunks:a=0n,socketChallengeId:o,socketChannelId:s,spent:c,tickCost:l=0n}=e;if(c>i)throw Error(`locally confirmed spend exceeds local voucher state`);if(r&&r.challengeId===t&&r.channelId===n){let e=tz(r.spent);if(e===void 0)throw Error(`close-ready spent is not a uint96 amount`);return e>c?e:c}if(o===t&&s===n&&l>0n){let e=a*l,t=c>e?c:e;return t>i?i:t}return i}function GB(e){let{channel:t,channelId:n,challengeId:r,cumulativeAmount:i,spent:a,state:o}=e;if(!(!t||t.channelId!==n)&&(t.cumulativeAmount=i,r))return CB(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function KB(e){return{channel:e.channel===null?null:{entry:e.channel,cumulativeAmount:e.channel.cumulativeAmount,deposit:e.channel.deposit,opened:e.channel.opened},spent:e.spent,state:e.state}}function qB(e,t){return e.channel?(e.channel.entry.cumulativeAmount=e.channel.cumulativeAmount,e.channel.entry.deposit=e.channel.deposit,e.channel.entry.opened=e.channel.opened,{channel:e.channel.entry,spent:e.spent,state:e.state}):(t&&(t.opened=!1),{channel:null,spent:e.spent,state:e.state})}async function JB(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(_z()),e.waitForCloseReady()))(),a=BigInt(i.spent);RB({cumulativeAmount:r.channel.cumulativeAmount,readySpent:a,spent:e.spent});let o=await e.createSessionCredential(r.challenge,{action:`close`,channelId:r.channelId,descriptor:r.channel.descriptor,cumulativeAmountRaw:a.toString()}),s=a.toString();n.expectedCloseAmount=s;try{let i=e.waitForReceipt(e=>zB({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,minimumSpent:a,receipt:e}));t.send(gz(o));let c=await i;return t.close(),n.closeReadyReceipt=null,c}finally{n.expectedCloseAmount=null}}Li();function YB(e){return`cumulativeAmount`in e}function XB(e){if(YB(e))return BigInt(e.cumulativeAmount)}async function ZB(e,t){e.origin!==void 0&&(t={...t,origin:e.origin}),t.opened?await uB(e.store,t):await dB(e.store,rB(t)),e.notifyUpdate(t)}async function QB(e,t,n){let r=XB(n);if(r===void 0)return;let i=await e.store.get(t);i&&i.channelId.toLowerCase()===n.channelId.toLowerCase()&&(i.cumulativeAmount=i.cumulativeAmount>r?i.cumulativeAmount:r,n.action===`close`&&(i.opened=!1),await ZB(e,i))}let $B=VM(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),eV=K({account:Y(VM()),autoSwap:Y(VM()),action:Y(EM([`open`,`topUp`,`voucher`,`close`])),channelId:Y(VM(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:Y(JN()),cumulativeAmountRaw:Y(W()),transaction:Y($B),descriptor:Y(VM()),additionalDeposit:Y(JN()),additionalDepositRaw:Y(W()),depositRaw:Y(W())});function tV(e){return e?.action!==void 0}function nV(e){return tV(e)&&e.descriptor!==void 0}function rV(e,t,n){let r=n===`additionalDeposit`?e.additionalDepositRaw:e.cumulativeAmountRaw,i=n===`additionalDeposit`?e.additionalDeposit:e.cumulativeAmount;if(r)return BigInt(r);if(i)return Gy(i,t)}function iV(e,t,n,r){let i=rV(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function aV(e){return typeof e==`object`&&!!e}function oV(e){return typeof e==`string`&&Pi(e,{strict:!1})?e:void 0}function sV(e){let t=e.request.methodDetails;return aV(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:oV(t.escrowContract),escrow:oV(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,feeToken:oV(t.feeToken),operator:oV(t.operator),sessionSnapshot:zN(t,LN.sessionSnapshot)}:{}}function cV(e,t){if(typeof e==`string`&&Pi(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function lV(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function uV(e){return typeof e==`string`?e:void 0}async function dV(e){let{allowCustomEscrow:t,challenge:n,escrowOverride:r,allowedChainIds:i,getClient:a}=e,o=sV(n);(o.chainId!==void 0||i?.length===0)&&hL(i,o.chainId);let s=o.chainId??(i?.length===1?i[0]:void 0),c=await a({chainId:s});mL(c,s);let l=s??c.chain?.id;if(hL(i,l),!l)throw Error(`No chainId configured for TIP-1034 session challenge.`);let u=Yz(n,r,t),d=cV(n.request.recipient,`recipient`),f=cV(n.request.currency,`currency`);return{amount:lV(n.request.amount),challenge:n,chainId:l,client:c,escrow:u,feePayer:o.feePayer,feeToken:o.feeToken,key:nB({payee:d,token:f,escrow:u,chainId:l}),operator:o.operator,payee:d,snapshot:o.sessionSnapshot,suggestedDepositRaw:uV(n.request.suggestedDeposit),token:f}}async function fV(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=mB}=e,o=Sz({...r,chainId:i.chainId,escrow:i.escrow});pV({channelId:t,descriptor:r,expectedChannelId:o,payee:i.payee,payer:i.payer,authorizedSigner:i.authorizedSigner,token:i.token});let s=await a(n,o,i.escrow);if(s.deposit===0n)throw Error(`Channel ${o} cannot be reused (closed or not found on-chain).`);if(s.closeRequestedAt!==0)throw Error(`Channel ${o} cannot be reused (pending close request).`);return{channelId:o,state:s}}function pV(e){let{authorizedSigner:t,channelId:n,descriptor:r,expectedChannelId:i,payee:a,payer:o,token:s}=e;if(n&&n.toLowerCase()!==i.toLowerCase())throw Error(`context channelId does not match descriptor`);if(!Zz(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!Zz(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!Zz(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!Zz(xz(r),t))throw Error(`context descriptor authorizedSigner does not match account`)}function mV(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function hV(e){let{context:t,decimals:n,requestAmount:r,snapshot:i,settled:a}=e;if(i)return[BigInt(i.acceptedCumulative),BigInt(i.requiredCumulative),BigInt(i.spent)+r,a].reduce((e,t)=>t>e?t:e,0n);let o=rV(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}async function gV(e){let{account:t,client:n,readChannelState:r,snapshot:i}=e,a=i.highestVoucher;if(!a)throw Error(`session snapshot is missing its highest signed voucher`);if(a.channelId.toLowerCase()!==i.channelId.toLowerCase())throw Error(`session snapshot voucher channelId does not match snapshot channelId`);let o=BigInt(i.acceptedCumulative),s=BigInt(a.cumulativeAmount),c=BigInt(i.requiredCumulative),l=BigInt(i.deposit),u=BigInt(i.settled),d=BigInt(i.spent);if(s!==o)throw Error(`session snapshot voucher amount does not match acceptedCumulative`);if(d>o)throw Error(`session snapshot spent exceeds acceptedCumulative`);if(u>l)throw Error(`session snapshot settled amount exceeds deposit`);if(!Vz(i.escrow,i.chainId,{channelId:a.channelId,cumulativeAmount:s,signature:a.signature},xz(i.descriptor)))throw Error(`session snapshot highest voucher signature is invalid`);let f=await fV({channelId:i.channelId,client:n,descriptor:i.descriptor,expected:{chainId:i.chainId,escrow:i.escrow,payee:i.descriptor.payee,payer:t.address,authorizedSigner:Kz(t),token:i.descriptor.token},readChannelState:r}),p=[o,c,f.state.settled].reduce((e,t)=>t>e?t:e,0n);if(p>f.state.deposit)throw Error(`recovered session cumulative amount exceeds on-chain channel deposit`);return{entry:{channelId:f.channelId,cumulativeAmount:p,deposit:f.state.deposit,descriptor:i.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0},spent:d}}function _V(e,t){return Zz(e.address,t.payer)?Zz(Kz(e),xz(t)):!1}function vV(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(tV(r)){if(!nV(r))throw Error(`descriptor required for TIP-1034 session action`);return{type:`manual`,account:t,context:r,decimals:i,resolved:o}}if(!n&&r?.channelId&&!r.descriptor)throw Error(`descriptor required to reuse TIP-1034 channel`);let s=mV({context:r,snapshot:o.snapshot});return!n&&s&&_V(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&_V(t,n.descriptor)?{type:`voucher`,account:t,entry:n,maxDeposit:a,resolved:o}:{type:`open`,account:t,context:r,maxDeposit:a,resolved:o}}async function yV(e,t,n=!1){switch(e.type){case`open`:return xV(e,t,n);case`recover`:return SV(e,t);case`voucher`:return CV(e,t);case`manual`:return wV(e,t,n)}}async function bV(e,t){if(e)return await CR(t.client,{account:t.account,amountOut:t.amountOut,tokenOut:t.tokenOut,tokenIn:e.tokenIn,slippage:e.slippage,maxAmountIn:e.maxAmountIn})}async function xV(e,t,n){let{account:r,resolved:i}=e,a=NB({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:i.amount,suggestedDepositRaw:i.suggestedDepositRaw}),o=await eB(i.client,r,{chainId:i.chainId,deposit:a,escrow:i.escrow,feePayer:i.feePayer,feeToken:i.feeToken,initialAmount:i.amount,operator:i.operator,payee:i.payee,prefixCalls:await bV(n,{account:r.address,amountOut:a,client:i.client,tokenOut:i.token}),token:i.token});return await ZB(t,{channelId:o.channelId,cumulativeAmount:i.amount,deposit:a,descriptor:o.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0}),o}async function SV(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await fV({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:Kz(n),token:o.token}}),l=hV({context:r,decimals:i,requestAmount:o.amount,settled:c.state.settled,snapshot:o.snapshot});if(l>c.state.deposit)throw Error(`recovered voucher amount exceeds on-chain channel deposit`);FB(l,a);let u=await Qz(o.client,n,s,l,o.chainId,o.escrow),d=await t.store.get(o.key);return await ZB(t,{...d?.channelId===c.channelId&&d.uncertainTopUp?{uncertainTopUp:!0}:{},channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function CV(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;FB(a,e.maxDeposit);let o=await Qz(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await ZB(t,r),o}async function wV(e,t,n){let{account:r,context:i,decimals:a,resolved:o}=e,{descriptor:s}=i,c=Sz({...s,chainId:o.chainId,escrow:o.escrow});pV({channelId:i.channelId,descriptor:s,expectedChannelId:c,payee:o.payee,payer:r.address,authorizedSigner:Kz(r),token:o.token});let l=await TV({account:r,channelId:c,context:i,decimals:a,descriptor:s,resolved:o},n);return await QB(t,o.key,l),l}async function TV(e,t){switch(e.context.action){case`open`:return EV(e);case`topUp`:return DV(e,t);case`voucher`:return OV(e);case`close`:return kV(e)}}async function EV(e){let{account:t,channelId:n,context:r,decimals:i,descriptor:a,resolved:o}=e;if(!r.transaction)throw Error(`transaction required for open action`);let s=iV(r,i,`cumulativeAmount`,`open`),c=await Qz(o.client,t,a,s,o.chainId,o.escrow);return{action:`open`,type:`transaction`,channelId:n,transaction:r.transaction,signature:c.signature,descriptor:a,cumulativeAmount:s.toString(),authorizedSigner:a.authorizedSigner}}async function DV(e,t){let{account:n,channelId:r,context:i,decimals:a,descriptor:o,resolved:s}=e,c=iV(i,a,`additionalDeposit`,`topUp`);return i.transaction?{action:`topUp`,type:`transaction`,channelId:r,transaction:i.transaction,descriptor:o,additionalDeposit:c.toString()}:tB(s.client,n,o,c,s.chainId,s.feePayer,s.escrow,await bV(t,{account:n.address,amountOut:c,client:s.client,tokenOut:s.token}),s.feeToken)}function OV(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return Qz(a.client,t,i,iV(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function kV(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return $z(a.client,t,i,iV(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}z();let AV={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function jV(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,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)};function s(e,a){if(a.type===`close`){if(n)return;n=!0,i=AV.CLOSED,r=null}if(a.type===`open`&&(i=AV.OPEN),a.type===`message`&&r){r.push(a);return}switch(a.type){case`close`:l.onclose?.(a);break;case`error`:l.onerror?.(a);break;case`message`:l.onmessage?.(a);break;case`open`:l.onopen?.(a)}let o=t.get(e);if(o)for(let e of Array.from(o))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&o.delete(e)}let c=null,l={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,get onmessage(){return c},set onmessage(e){if(c=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:l}}function MV(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function NV(e){let{amount:t,assertVoucherWithinLocalLimit:n,channel:r,decimals:i,lastChallenge:a,lastUrl:o}=e;if(!r?.opened)throw Error(`Cannot top up session: no open channel.`);if(!a)throw Error(`Cannot top up session: no challenge available. Make a request first.`);if(!o)throw Error(`Cannot top up session: no URL available. Call fetch(), sse(), or ws() first.`);let s=MB(t,i);if(s<=0n)throw Error(`Top-up amount must be greater than zero.`);return n(r.cumulativeAmount+s),{additionalDeposit:s,challenge:a,channelId:r.channelId,input:o}}function PV(e){let{additionalDeposit:t,channel:n,channelId:r,challengeId:i,currentState:a,knownDeposit:o,receipt:s,spent:c}=e;if(n?.channelId!==r)return;let l=o!==void 0&&o>n.deposit?o:n.deposit,u={...n,deposit:l+t};return s?{channel:u,state:UB(s,u)}:i?{channel:u,state:BB({challengeId:i,entry:u,spent:c.toString(),units:a.status===`active`?a.units:0})}:{channel:u}}async function FV(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=MV(e.event);e.assertVoucherWithinLocalLimit(t.requiredCumulative),await e.topUpIfNeeded({challenge:e.challenge,input:e.input,headers:e.headers,channelId:e.expectedChannelId,deposit:t.deposit,requiredCumulative:t.requiredCumulative,...e.signal?{signal:e.signal}:{}});let n=e.getChannel();if(!n||n.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`missing-channel`};let r=n.cumulativeAmount>t.requiredCumulative?n.cumulativeAmount:nz(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function IV(e){return e.method===FN.tempo&&e.intent===IN.session}function LV(e){return IV(e)&&zN(e.request.methodDetails,LN.sessionProtocol)===RN.v2}function RV(e){return zN(e.request.methodDetails,LN.sessionSnapshot)}function zV(e,t,n,r){let i=e instanceof Request?e.headers:void 0;return SF({...t,redirect:`manual`,headers:{...TI(i),...TI(t?.headers)}},vP(r),n)}function BV(e){return e instanceof Request||typeof e==`object`&&!!e&&!(e instanceof URL)&&typeof e.url==`string`&&typeof e.method==`string`&&typeof e.clone==`function`}function VV(e){try{let t=typeof location>`u`?void 0:location.href,n=BV(e)?new URL(e.url):e instanceof URL?new URL(e):new URL(String(e),t);return n.hash=``,n}catch{return e}}function HV(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function UV(e){let t=await e.text().catch(()=>``);if(!t)return``;if(!e.headers.get(`Content-Type`)?.includes(`application/problem+json`))return t;try{return JSON.parse(t).detail??t}catch{return t}}var WV=class extends Error{constructor(e){let t=e instanceof Error||e instanceof DOMException?e.message:String(e);super(`${t}; payment outcome unknown`),this.name=`UncertainFundingError`}};async function GV(e){let{channel:t,channelId:n}=e;if(!t?.descriptor||t.channelId!==n)throw Error(`Cannot top up session: no local channel descriptor available.`);if(t.uncertainTopUp)throw Error(`Session funding outcome is unknown; reconcile the pending payment before another top-up.`);let r=await KV({challenge:e.challenge,context:{action:`topUp`,...e.autoSwap===void 0?{}:{autoSwap:e.autoSwap},channelId:n,descriptor:t.descriptor,additionalDepositRaw:e.additionalDeposit.toString()},createSessionCredential:e.createSessionCredential,fetch:e.fetch,headers:e.headers,input:e.input,signal:e.signal}).catch(async n=>{throw n instanceof WV&&(t.uncertainTopUp=!0,await e.onUncertainFunding?.(t)),n});if(!r.ok)throw Error(`Top-up POST failed with status ${r.status}`);let i=r.headers.get(NN.paymentReceipt);return i?fz(i):void 0}async function KV(e){let t=async t=>{e.signal?.throwIfAborted();let n=await e.createSessionCredential(t,e.context);e.signal?.throwIfAborted();let r=new AbortController,i=()=>r.abort(e.signal?.reason);e.signal?.addEventListener(`abort`,i,{once:!0});let a=setTimeout(()=>r.abort(new DOMException(`Session management request timed out; payment outcome unknown`,`TimeoutError`)),3e4),o,s=new Promise((e,t)=>{o=()=>t(r.signal.reason),r.signal.addEventListener(`abort`,o,{once:!0})});try{return await Promise.race([e.fetch(VV(e.input),{method:`POST`,signal:r.signal,redirect:`manual`,headers:gH(t,n,e.input,e.headers)}),s])}catch(t){throw e.context.action===`topUp`?new WV(t):t}finally{clearTimeout(a),e.signal?.removeEventListener(`abort`,i),r.signal.removeEventListener(`abort`,o)}},n=await t(e.challenge);if(n.status!==402)return n;let r=mP(n).find(LV);return r?t(r):n}async function qV(e){let t=JV({channel:e.getChannel(),response:e.response});if(!t)return;let{channel:n,challenge:r,snapshot:i}=t;e.setChallenge(r);let a=BigInt(i.requiredCumulative),o=n.cumulativeAmount;await e.topUpIfNeeded({challenge:r,input:e.input,headers:e.init?.headers,channelId:i.channelId,deposit:BigInt(i.deposit),requiredCumulative:a,signal:e.init?.signal??(e.input instanceof Request?e.input.signal:void 0)});let s=e.getChannel();if(!s?.descriptor||s.channelId!==i.channelId)return;let c=s.cumulativeAmount>a?s.cumulativeAmount:a,l=()=>e.restoreCumulative(i.channelId,o),u;try{let t=await e.createSessionCredential(r,{action:`voucher`,channelId:i.channelId,descriptor:s.descriptor,cumulativeAmountRaw:c.toString()});u=await e.fetch(e.input,zV(e.input,e.init,t,r))}catch(e){throw await l(),e}return!u.ok&&!u.headers.get(NN.paymentReceipt)&&await l(),u}function JV(e){let t=mP(e.response).find(LV);if(!t)return;let n=RV(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function YV(e){if(!e.lastUrl)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 t=e.target.challenge,n=e.signedCloseAmount,r=BV(e.lastUrl)?e.lastUrl:void 0,i=r?{cache:r.cache,credentials:r.credentials,integrity:r.integrity,keepalive:r.keepalive,mode:r.mode===`navigate`?`same-origin`:r.mode,referrer:r.referrer,referrerPolicy:r.referrerPolicy}:void 0,a=async(a,o=!1)=>{t=a,n=(o?e.resolveSignedCloseAmount?.(a):void 0)??e.signedCloseAmount;let s=await e.createSessionCredential(a,{action:`close`,channelId:e.target.channelId,descriptor:e.target.channel.descriptor,cumulativeAmountRaw:n});return e.fetch(r?VV(r):e.lastUrl,{...i,method:`POST`,redirect:`manual`,headers:gH(a,s,e.lastUrl,e.headers)})},o=await a(e.target.challenge);if(o.status===402){let t=mP(o).find(LV);t&&(e.setChallenge?.(t),o=await a(t,!0))}if(!o.ok){let e=await UV(o),t=o.headers.get(NN.wwwAuthenticate)??``;throw Error(`Close request failed with status ${o.status}${e?`: ${e}`:``}${t?` [${NN.wwwAuthenticate}: ${t}]`:``}`)}let s=o.headers.get(NN.paymentReceipt);if(!s)return;let c=fz(s);if(!c.txHash||!Mp(c.txHash,{strict:!0})||L(c.txHash)!==32||!zB({challengeId:t.id,channelId:e.target.channelId,expectedCloseAmount:n,minimumSpent:0n,receipt:c}))throw Error(`Session close response included a mismatched payment receipt.`);return c}async function XV(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o=i??(e instanceof Request?e.signal:void 0),s={...a,headers:{...TI(a.headers),Accept:`text/event-stream`},...o?{signal:o}:{}},c=await n.doFetch(e,s);return!pz(c)&&n.getChannel()?.opened&&(c=await n.doFetch(e,s)),ZV(e,c,{onReceipt:r,signal:o},n,s.headers)}function ZV(e,t,n,r,i){if(!pz(t))throw Error(`SSE response is not an event stream.`);if(!t.body)throw Error(`Response has no body.`);let a=r.getChallenge();return QV({onNeedVoucher:t=>rH({challenge:a,driver:r,headers:i,input:e,signal:n?.signal},t),onReceipt(e){r.acceptReceipt(e),n?.onReceipt?.(e)},response:t,signal:n?.signal})}async function*QV(e){for await(let t of $V(e))t.data!==void 0&&(yield t.data)}async function*$V(e){if(!e.response.body)throw Error(`Response has no body.`);let t=e.response.body.getReader(),n=new TextDecoder,r=``,i=!1,a=()=>{t.cancel(e.signal?.reason).catch(()=>void 0)};e.signal?.addEventListener(`abort`,a,{once:!0}),e.signal?.aborted&&a();try{for(;!e.signal?.aborted;){let{done:a,value:o}=await t.read();for(a?(i=!0,r+=n.decode()):r+=n.decode(o,{stream:!0});;){let t=eH(r,a);if(!t)break;let n=t.index+t.length,i=r.slice(0,t.index),o=r.slice(0,n);if(r=r.slice(n),!i.trim())continue;let s=mz(i.replace(/\\r\\n|\\r/g,`\n`));if(!s){yield{raw:o};continue}switch(s.type){case`message`:yield{data:s.data,raw:o};break;case`payment-need-voucher`:await e.onNeedVoucher(s.data,e.signal);break;case`payment-receipt`:e.onReceipt(s.data)}}if(a)break}}finally{e.signal?.removeEventListener(`abort`,a),i||await t.cancel().catch(()=>void 0),t.releaseLock()}}function eH(e,t){for(let n=0;n<e.length;n++){let r=tH(e,n,t);if(!r)continue;let i=tH(e,n+r,t);if(i)return{index:n,length:r+i};n+=r-1}}function tH(e,t,n){return e[t]===`\n`?1:e[t]===`\\r`?e[t+1]===`\n`?2:t+1===e.length&&!n?0:1:0}function nH(e){let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.addEventListener(`abort`,n,{once:!0}),e.signal?.aborted&&n();let r=$V({...e,signal:t.signal}),i=new TextEncoder,a=new Headers(e.response.headers);a.delete(`content-length`);let o=()=>e.signal?.removeEventListener(`abort`,n),s=new Response(new ReadableStream({async pull(e){try{let t=await r.next();if(t.done)return o(),e.close();e.enqueue(i.encode(t.value.raw))}catch(e){throw o(),e}},async cancel(){o(),t.abort(),await r.return(void 0)}}),{headers:a,status:e.response.status,statusText:e.response.statusText});for(let t of[`redirected`,`type`,`url`])Object.defineProperty(s,t,{configurable:!0,get:()=>e.response[t]});return s}async function rH(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await FV({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:e.challenge,event:t,expectedChannelId:n.channelId,getChannel:e.driver.getChannel,headers:e.headers,input:e.input,signal:e.signal,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status!==`ready`)return;let i=await KV({challenge:e.challenge,context:r.context,createSessionCredential:e.driver.createSessionCredential,fetch:e.driver.fetch,headers:e.headers,input:e.input,signal:e.signal});if(!i.ok)throw Error(`Voucher POST failed with status ${i.status}`)}async function iH(e){let t=new URL(e.input.toString()),n=HV(t);e.onProbeUrl?.(n);let r=await e.fetch(n,{...e.probeInit,...e.signal?{signal:e.signal}:{}});if(r.status!==402)throw Error(`Expected a 402 payment challenge from ${n}, received ${r.status} instead.`);let i=mP(r).find(LV);if(!i)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.`);return{challenge:i,httpUrl:n,wsUrl:t}}async function aH(e){e.signal?.throwIfAborted();let t=await iH(e);e.signal?.throwIfAborted();let n=await e.createSessionCredential(t.challenge,{});return e.signal?.throwIfAborted(),{...t,credential:n}}function oH(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:wP(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:lz(t)}}function sH(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function cH(e){if(!sH(e))return`received mismatched payment-close-ready frame`;let t=tz(e.receipt.spent);if(t===void 0)return`received invalid payment-close-ready spend`;if(t>e.cumulativeAmount)return`received payment-close-ready beyond local voucher state`}function lH(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!sH(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!zB({challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:BigInt(r),receipt:i}))return`received mismatched payment-close receipt frame`}async function uH(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=r?.signal;o?.throwIfAborted();let s=new i(a,r?.protocols),c=oH({challenge:t,credential:n,socket:s});e.setSocketSession(c);let l=jV(s),u=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(s.readyState===AV.CONNECTING||s.readyState===AV.OPEN)&&s.close(3008,t)},d=()=>{e.rejectReceipt(Error(`WebSocket payment flow aborted.`)),e.rejectCloseReady(Error(`WebSocket payment flow aborted.`)),s.close()};s.addEventListener(`close`,t=>{o?.removeEventListener(`abort`,d),c.socket=null,c.expectedCloseAmount=null,e.rejectReceipt(Error(`WebSocket closed before the payment flow completed.`)),e.rejectCloseReady(Error(`WebSocket closed before the payment flow completed.`)),l.emit(`close`,{code:t.code??1e3,reason:t.reason??``,type:`close`,wasClean:!0})}),s.addEventListener(`error`,()=>{l.emit(`error`,{type:`error`})}),s.addEventListener(`message`,async t=>{let n=typeof t.data==`string`?t.data:void 0;n&&await fH({driver:e,failSocketFlow:u,managedEmit:l.emit,message:n,rawSocket:s,socketState:c})}),o?.addEventListener(`abort`,d,{once:!0});try{await dH(s,l.emit,a,o),o?.throwIfAborted()}catch(e){throw o?.removeEventListener(`abort`,d),s.close(),e}return s.send(gz(n)),await e.waitForReceipt(),l.socket}function dH(e,t,n,r){return new Promise((i,a)=>{let o=()=>{e.removeEventListener(`open`,s),e.removeEventListener(`error`,c),e.removeEventListener(`close`,c),r?.removeEventListener(`abort`,l)},s=()=>{o(),t(`open`,{type:`open`}),i()},c=()=>{o(),a(Error(`WebSocket connection to ${n} failed to open.`))},l=()=>{o(),a(r?.reason)};e.addEventListener(`open`,s,{once:!0}),e.addEventListener(`error`,c,{once:!0}),e.addEventListener(`close`,c,{once:!0}),r?.addEventListener(`abort`,l,{once:!0}),r?.aborted&&l()})}async function fH(e){let t=vz(e.message);if(!t){e.managedEmit(`message`,{data:e.message,type:`message`});return}switch(t.mpp){case`authorization`:return;case`message`:e.socketState.deliveredChunks+=1n,e.managedEmit(`message`,{data:t.data,type:`message`});return;case`payment-close-ready`:pH(e,t.data);return;case`payment-error`:e.driver.rejectReceipt(Error(t.message)),e.driver.rejectCloseReady(Error(t.message));return;case`payment-need-voucher`:await mH(e,t.data);return;case`payment-receipt`:hH(e,t.data);return}}function pH(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=cH({challengeId:e.driver.challenge.id,channelId:e.socketState.channelId,cumulativeAmount:n,receipt:t});if(r){e.failSocketFlow(r);return}e.driver.acceptReceipt(t),e.driver.options?.onReceipt?.(t),e.driver.settleCloseReady(t),e.managedEmit(`close`,{code:1e3,reason:`stream complete`,type:`close`,wasClean:!0})}async function mH(e,t){try{let n=e.driver.challenge;n.expires&&new Date(n.expires).getTime()<=Date.now()+5e3&&(n=await e.driver.refreshChallenge(),e.driver.challenge=n,e.socketState.challenge=n);let r=await FV({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:n,event:t,expectedChannelId:e.socketState.channelId,getChannel:e.driver.getChannel,input:e.driver.httpUrl,signal:e.driver.options?.signal,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status===`ignored`){e.failSocketFlow(r.reason===`channel-mismatch`?`received mismatched payment-need-voucher frame`:`cannot create voucher: no active channel`);return}let i=await e.driver.createSessionCredential(n,r.context);e.rawSocket.send(gz(i))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function hH(e,t){let n=lH({challengeId:e.driver.challenge.id,channelId:e.socketState.channelId,expectedCloseAmount:e.socketState.expectedCloseAmount,receipt:t});if(n){e.failSocketFlow(n);return}e.driver.acceptReceipt(t),e.driver.options?.onReceipt?.(t),e.driver.settleReceipt(t)}function gH(e,t,n,r){let i=vP(e),a=new Headers;if(i.toLowerCase()!==NN.authorization.toLowerCase()){let e=new Headers(r).get(NN.authorization)??(n instanceof Request?n.headers.get(NN.authorization):null);e&&!e.startsWith(`${PN.payment} `)&&a.set(NN.authorization,e)}return a.set(i,t),a}let _H=new WeakMap;async function vH(e,t){let n=_H.get(e)??new Map;_H.set(e,n);let r=n.get(t),i,a=new Promise(e=>{i=e});return n.set(t,a),await r,()=>{i(),n.get(t)===a&&n.delete(t)}}function yH(e,t){try{return t?.channelId.toLowerCase()===e.channelId.toLowerCase()&&BigInt(t.acceptedCumulative)===e.cumulativeAmount}catch{return!1}}function bH(e,t,n){try{let r=e.response?.headers.get(NN.paymentReceipt);if(r){let e=fz(r);if(e.challengeId===t.id&&yH(n,e))return!0}}catch{}return e.challenges?.some(e=>LV(e)?yH(n,RV(e)):!1)??!1}function xH(e){let{currencies:t,decimals:n,expectedRecipients:r,maxAmount:i,maxAtomicAmount:a}=e;if((i!==void 0||a!==void 0)&&t===void 0)throw Error(`Tempo session maxAmount and maxAtomicAmount require currencies.`);return{currencies:t?.map(e=>e.toLowerCase()),expectedRecipients:r?new Set(r.map(e=>e.toLowerCase())):void 0,maxAmount:SH(i,n),maxAtomicAmount:a===void 0?void 0:BigInt(a)}}function SH(e,t){if(e!==void 0){if(t===void 0)throw Error(`Tempo session maxAmount requires currency decimals.`);if((e.split(`.`)[1]?.replace(/0+$/,``)??``).length>t)throw Error(`Tempo session maxAmount ${e} has more fractional digits than ${t} decimals allow.`);return Gy(e,t)}}function CH(e,t){if(e.currencies&&!e.currencies.includes(t.currency.toLowerCase()))throw Error(`Tempo session currency is not allowed: ${t.currency}.`);if(e.expectedRecipients&&(!t.recipient||!e.expectedRecipients.has(t.recipient.toLowerCase())))throw Error(`Unexpected session recipient: ${t.recipient}`);let n=BigInt(t.amount);if(e.maxAtomicAmount!==void 0&&n>e.maxAtomicAmount)throw Error(`Tempo session amount exceeds maxAtomicAmount.`);if(e.maxAmount!==void 0&&n>e.maxAmount)throw Error(`Tempo session amount exceeds maxAmount.`)}function wH(e,t){try{return CH(e,t),!0}catch{return!1}}function TH(e){return typeof e==`object`&&!!e&&e.action===`close`}function EH(e={}){let{account:t,allowCustomEscrow:n=!1,autoSwap:r,channelStore:i,decimals:a=6,escrow:o,allowedChainIds:s,getClient:c,maxDeposit:l,topUpAmount:u,onChannelUpdate:d,resolveAccount:f}=e,p=xH(e),m=pL({chain:GO,getClient:c,rpcUrl:bL}),h=lL({account:t}),g=l===void 0?void 0:Gy(l,a),_=u===void 0?void 0:Gy(u,a),v=e.origin===void 0?void 0:new URL(e.origin);if(v&&![`http:`,`https:`].includes(v.protocol))throw Error(`Session origins require HTTP or HTTPS`);let y=i??iB(),b={store:y,notifyUpdate:e=>d?.(e)},x=async(e,t,n)=>{let r=h(e.client,t),i=t?.action?t.descriptor:n?.descriptor??mV({context:t,snapshot:e.snapshot})?.descriptor;return await f?.({account:r,chainId:e.chainId,operation:{kind:`authorizePaymentChannel`,...i?{authority:xz(i)}:{}}})??r},S=async(e,t,n)=>vV({account:await x(e,t,n),entry:n,context:t,decimals:a,maxDeposit:g,resolved:e}),C=cL(WL,{canHandleChallenge:({challenge:e,context:t})=>LV(e)&&(TH(t)||t===BP||wH(p,e.request)),context:eV,async createCredential(e){let{challenge:t,context:i}=e;i?.action!==`close`&&CH(p,t.request);let a=await dV({allowCustomEscrow:n,challenge:t,escrowOverride:o,allowedChainIds:s,getClient:m}),c=aI(e),l=uI(e)??v?.origin;if(l!==void 0&&(l===`null`||![`http:`,`https:`].includes(new URL(l).protocol)))throw Error(`Session payments require an HTTP or HTTPS origin`);if(v&&l!==v.origin)throw Error(`Session channel origin mismatch`);let u={...b,origin:l},d=()=>{};try{let e=!tV(i)&&i?.descriptor===void 0;e&&(d=await vH(y,a.key),c&&(await y.get(a.key))?.opened&&await c.prepare());let n=await y.get(a.key);if(n&&n.origin!==l)throw Error(`Session channel origin mismatch`);if(l&&!n&&a.snapshot&&!i?.descriptor&&!v)throw Error(`Session snapshot recovery requires an explicitly configured origin or descriptor`);let o=await S(a,i,n);if(!e&&c&&o.type===`open`){d=await vH(y,a.key);let e=await y.get(a.key);if(e&&e.origin!==l)throw Error(`Session channel origin mismatch`);e?.channelId!==n?.channelId&&(n=e,n?.opened&&(await c.prepare(),n=await y.get(a.key)),o=await S(a,i,n))}let s,f=c&&o.type===`open`?{store:{get:e=>y.get(e),async set(e){s=l?{...e,origin:l}:e},delete:e=>y.delete(e)},notifyUpdate(){}}:u,p=await Xz(t,await yV(o,f,wR(i?.autoSwap??r,SR)),a.chainId,o.account);if(c&&s){let e=s;c.settle=async n=>{let r=n.status===`accepted`||bH(n,t,e);if(!r&&n.status===`pending`)return!1;try{if(r){let t=await y.get(a.key);(!t?.opened||t.channelId.toLowerCase()!==e.channelId.toLowerCase())&&(await uB(y,e),b.notifyUpdate(e))}return!0}finally{d()}}}else d();return p}catch(e){throw d(),e}}});function w(e,t,n){let r={challenge:e,context:t};return lI(r,DH(n)),C.createCredential(r)}let ee=async({autoSwap:e,challenge:t,channel:n,deposit:r,fetch:i,input:a,requiredCumulative:o,signal:s})=>lB(y,rB(n),async()=>{s?.throwIfAborted();let c=await y.get(rB(n));if(c?.channelId===n.channelId&&(n=c),n.uncertainTopUp)throw Error(`Session funding outcome is unknown; reconcile the pending payment before another top-up.`);let l=n.deposit>r?n.deposit:r,u=PB({deposit:l,maxDeposit:g,requiredCumulative:o,suggestedDeposit:t.request.suggestedDeposit===void 0?void 0:BigInt(t.request.suggestedDeposit),topUpAmount:_});u>0n&&await GV({autoSwap:e,additionalDeposit:u,challenge:t,channel:n,channelId:n.channelId,createSessionCredential:(e,t)=>w(e,t,a),onUncertainFunding:async e=>{let t=await y.get(rB(e)),n={...t?.channelId===e.channelId?t:e,uncertainTopUp:!0};await uB(y,n),b.notifyUpdate(n)},fetch:i,input:a,signal:s});let d=l+u;if(d===n.deposit)return;let f=await y.get(rB(n)),p=f?.channelId.toLowerCase()===n.channelId.toLowerCase()?f:n,m={...p,deposit:p.deposit>d?p.deposit:d};await uB(y,m),b.notifyUpdate(m)});return JF(C,async({challenge:e,context:t,fetch:r,input:i,signal:a})=>{if(!LV(e))return;let c=t===void 0?void 0:eV.parse(t);if(tV(c))return;CH(p,e.request);let l=await dV({allowCustomEscrow:n,challenge:e,escrowOverride:o,allowedChainIds:s,getClient:m}),u=await y.get(l.key);if(!u?.opened)return;let d=DH(i);if(u.origin!==d)throw Error(`Session channel origin mismatch`);let f=l.snapshot?.channelId.toLowerCase()===u.channelId.toLowerCase()?l.snapshot:void 0,h=u.cumulativeAmount+lz(e),g=f?BigInt(f.requiredCumulative):h,_=g>h?g:h,v=f?BigInt(f.deposit):u.deposit,b=v>u.deposit?v:u.deposit;_<=b&&b===u.deposit||!_V(await x(l,c,u),u.descriptor)||await ee({autoSwap:c?.autoSwap,challenge:e,channel:u,deposit:b,fetch:r,input:i,requiredCumulative:_,signal:a})}),nI(C,async({challenge:e,context:t,credential:r,fetch:i,headers:a,input:c,refetch:l,response:u,signal:d})=>{if(!LV(e))return u;if(!pz(u))return cz(wP(r).payload).action===`open`&&a.get(`accept`)?.toLowerCase().includes(`text/event-stream`)?await l?.()??u:u;let f=(await dV({allowCustomEscrow:n,challenge:e,escrowOverride:o,allowedChainIds:s,getClient:m})).key,p=await y.get(f),h={assertVoucherWithinLocalLimit:e=>FB(e,g),createSessionCredential:(e,t)=>w(e,t,c),fetch:i,getChannel:()=>p??null,async topUpIfNeeded({deposit:n,requiredCumulative:r,signal:a}){p&&await ee({autoSwap:t===void 0?void 0:eV.parse(t).autoSwap,challenge:e,channel:p,deposit:p.deposit>n?p.deposit:n,fetch:i,input:c,requiredCumulative:r,signal:a})}};return nH({onNeedVoucher:(t,n)=>rH({challenge:e,driver:h,headers:a,input:c,signal:n},t),onReceipt(){},response:u,signal:d})})}function DH(e){let t=new URL(e instanceof Request?e.url:e,globalThis.location===void 0?void 0:globalThis.location.href);if(![`http:`,`https:`].includes(t.protocol))throw Error(`Session payments require an HTTP or HTTPS origin`);return t.origin}let OH=new WeakMap;function kH(e,t){OH.set(e,t)}function AH(e){let t=null;return{wait(n=()=>!0){if(t)throw Error(`${e} wait already in progress`);return new Promise((e,r)=>{t={predicate:n,resolve:e,reject:r}})},settle(e){if(!t||!t.predicate(e))return;let n=t;t=null,n.resolve(e)},reject(e){if(!t)return;let n=t;t=null,n.reject(e)}}}function jH(e){let t=AH(`close-ready`),n=AH(`receipt`);return{waitForReceipt(e){return n.wait(e)},waitForCloseReady(){let n=e.getSocketSession()?.closeReadyReceipt;return n?Promise.resolve(n):t.wait()},settleReceipt(e){n.settle(e)},settleCloseReady(n){let r=e.getSocketSession();r&&r.challenge.id===n.challengeId&&r.channelId===n.channelId&&(r.closeReadyReceipt=n),t.settle(n)},rejectReceipt(e){n.reject(e)},rejectCloseReady(e){t.reject(e)}}}function MH(e){return e.method===FN.tempo&&e.intent===IN.charge}function NH(e){if(!MH(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function PH(e,t,n){if(!n)return t;let r={...TI(BV(e)?e.headers:void 0),...TI(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===NN.paymentSession.toLowerCase())?t:{...t,headers:{...r,[NN.paymentSession]:n}}}function FH(e,t){return e===void 0?t:{...eV.parse(e),...t}}function IH(e){let t=e.decimals??6,n=e.webSocket??globalThis.WebSocket;return{decimals:t,fetch:e.fetch??globalThis.fetch.bind(globalThis),maxVoucherCumulative:e.maxDeposit===void 0?null:Gy(e.maxDeposit,t),topUpAmount:e.topUpAmount===void 0?null:Gy(e.topUpAmount,t),WebSocket:n}}function LH(e){let t=e.client?.chain?.id;(t!==void 0||e.allowedChainIds?.length===0)&&hL(e.allowedChainIds,t);let n=e.allowCustomEscrow??!1,r=IH(e),i;function a(e){let t=new URL(BV(e)?e.url:String(e),typeof location>`u`?void 0:location.href);if(t.protocol!==`http:`&&t.protocol!==`https:`)throw Error(`SessionManager: session payments require an HTTP origin`);let n=t.origin;if(i!==void 0&&i!==n)throw Error(`SessionManager: session payment origin mismatch`);return i=n,n}let o=qI(r.fetch),s=JI(r.fetch);r.fetch=async(e,t)=>{let n=a(e),r=await s(e,{...t,redirect:(t?.redirect??(BV(e)?e.redirect:void 0))===`manual`?`manual`:`error`});if(r.url&&new URL(r.url).origin!==n)throw Error(`SessionManager: session response origin mismatch`);return r};let c=r.fetch;o&&(r.fetch=PP(c,o));let l=pL({chain:GO,getClient:e.client?()=>e.client:e.getClient,rpcUrl:bL}),u=lL({account:e.account}),d=VB(),f=e.credentialContext===void 0?void 0:FH(e.credentialContext,{}),p=jH({getSocketSession:()=>d.socketSession}),m=e.channelStore??iB(),h=new Set,g;async function _(e){let t=await m.get(e);if(t?.opened&&!h.has(t.channelId)){if(t.origin!==i)throw Error(`SessionManager: stored channel origin mismatch`);return t}}let v=e=>{if(e.origin!==void 0&&e.origin!==i)throw Error(`SessionManager: stored channel origin mismatch`);return e.origin=i,uB(m,e)},y={async get(e){let t=await _(e);return t&&g&&(g.seenExisting.add(e),!g.committed&&!g.created.has(e)&&(g.resumed??=t)),t},async set(e){let t=rB(e);e.opened&&h.delete(e.channelId),g?.trackCreates&&!g.seenExisting.has(t)&&g.created.set(t,e),await v(e)},delete:e=>dB(m,e)};sB(y,m);async function b(e){let t=rB(e),n=await m.get(t);if(e.uncertainTopUp||n?.uncertainTopUp)throw Error(`Session funding outcome is unknown; reconcile the pending payment before replacing the channel.`);h.add(e.channelId),g?.seenExisting.delete(t),g?.resumed===e&&(g.resumed=void 0),await Promise.resolve(dB(m,t)).catch(()=>void 0)}async function x(){let e=g;if(e?.created.size){for(let[t,n]of e.created){let e=await m.get(t);if(n.uncertainTopUp||e?.channelId===n.channelId&&e.uncertainTopUp)throw Error(`Session funding outcome is unknown; reconcile the pending payment before discarding the channel.`);h.add(n.channelId),await Promise.resolve(dB(m,t)).catch(()=>void 0)}e.created.clear(),await be(e.committed??e.previous)}}function S(e){let t=zN(e.request.methodDetails,LN.sessionSnapshot);if(typeof t?.channelId!=`string`)return!1;let n=g;if(!n?.created.size||!d.channel)return!1;for(let[e,r]of n.created)if(r.channelId.toLowerCase()===t.channelId.toLowerCase()&&d.channel.channelId.toLowerCase()===t.channelId.toLowerCase())return n.created.delete(e),n.committed=KB({channel:d.channel,spent:d.spent,state:d.state}),!0;return!1}function C(e){return wB(d,e)}function w(){let e=d.state.status===`active`?d.state:g?.committed?.state??g?.previous.state;return e?.status===`active`?e.units:0}function ee(e){let t=g,n=t?.committed?.channel?.entry??t?.resumed;!t||n?.channelId.toLowerCase()!==e.channelId.toLowerCase()||e.deposit<=n.deposit&&!e.uncertainTopUp||(t.resumed=void 0,t.committed=KB({channel:d.channel,spent:d.spent,state:d.state}))}let te=EH({account:e.account,allowCustomEscrow:n,autoSwap:e.autoSwap,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount,escrow:e.escrow,allowedChainIds:e.allowedChainIds,decimals:r.decimals,maxDeposit:e.maxDeposit,topUpAmount:e.topUpAmount,channelStore:y,onChannelUpdate(e){e.channelId!==d.channel?.channelId&&(d.spent=0n),d.channel=e,d.lastChallenge&&C({type:`activated`,challengeId:d.lastChallenge.id,entry:e,spent:d.spent.toString(),units:w()}),ee(e)}}),ne=ZF(te);ne&&JF(te,e=>ge(()=>Promise.resolve(ne(e)),e.signal)),rI(te);let T=UR({allowedChainIds:e.allowedChainIds,account:e.account,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount}),re=CI({trustedTempoProofRealms:e.trustedTempoProofRealms,fetch:c,identity:o,methods:[te],onChallenge:async(e,t)=>{if(!IV(e))return;let n=g,r=n&&n.challengesReceived>0&&e.id===d.lastChallenge?.id,i=r&&iP(e)===iP(d.lastChallenge);n&&n.challengesReceived++,!i&&(S(e)||(n?.created.size?await x():r&&await be(n.committed??n.previous)),d.lastChallenge=e,C({type:`challengeReceived`,challengeId:e.id}))}});function ie(e,t){let n={challenge:e,context:FH(f,t)};return i&&lI(n,i),te.createCredential(n)}function ae(e){HB({maxVoucherCumulative:r.maxVoucherCumulative,receipt:e,runtime:d})}function oe(e=d.state.status===`active`?d.state.units:0){!d.channel||!d.lastChallenge||d.state.status!==`active`&&d.state.status!==`withdrawable`&&d.state.status!==`closeRequested`&&C({type:`activated`,challengeId:d.lastChallenge.id,entry:d.channel,spent:d.spent.toString(),units:e})}async function se(t){let n=t.headers.get(NN.paymentSessionSnapshot);if(!n)return;let r=bB(n);hL(e.allowedChainIds,r.chainId);let i=await l({chainId:r.chainId});mL(i,r.chainId);let a=u(i),{entry:o,spent:s}=await gV({account:await e.resolveAccount?.({account:a,chainId:r.chainId,operation:{authority:xz(r.descriptor),kind:`authorizePaymentChannel`}})??a,client:i,snapshot:r});return pe(o.cumulativeAmount),await Promise.resolve(y.set(o)).catch(()=>void 0),d.channel=o,d.spent=s,o}async function ce(t,n){if(!e.bootstrap||d.channel?.opened)return;let i=BV(t)?t.headers:void 0,{body:a,method:o,...s}=n??{},c=BV(t)?t.url:t,l={...s,method:`HEAD`,headers:{...TI(i),...TI(n?.headers),[NN.acceptPayment]:`${FN.tempo}/${IN.charge}`}};try{let t=await r.fetch(c,l);if(t.status!==402)return await se(t);let n=mP(t).find(MH);if(!n||!NH(n))return;let i=new URL(String(c),typeof location<`u`?location.href:void 0);if(t.url&&new URL(t.url).origin!==i.origin)return;dI(n,i,e.trustedTempoProofRealms);let a=await T.createCredential({challenge:n,context:{}}),o=await r.fetch(c,SF({...l,redirect:`manual`},vP(n),a));return o.ok?await se(o):void 0}catch{return}}function le(e,t){let n=d.socketSession;return WB({challengeId:e.id,channelId:t,closeReadyReceipt:n?.closeReadyReceipt,cumulativeAmount:d.channel?.channelId===t?d.channel.cumulativeAmount:0n,deliveredChunks:n?.deliveredChunks,socketChallengeId:n?.challenge.id,socketChannelId:n?.channelId,spent:d.spent,tickCost:n?.tickCost})}function ue(e,t){let n=RV(t);if(!n)return;if(Sz({...n.descriptor,chainId:n.chainId,escrow:n.escrow}).toLowerCase()!==n.channelId.toLowerCase())throw Error(`close snapshot descriptor does not match its channel ID`);if(n.channelId.toLowerCase()!==e.channelId.toLowerCase())throw Error(`close snapshot channel ID does not match local session`);if(n.chainId!==e.chainId||n.escrow.toLowerCase()!==e.escrow.toLowerCase())throw Error(`close snapshot payment scope does not match local session`);let r=BigInt(n.acceptedCumulative),i=BigInt(n.spent);if(r<0n||i<0n)throw Error(`close snapshot amounts must not be negative`);if(i>r)throw Error(`close snapshot spent exceeds accepted cumulative amount`);if(r>e.cumulativeAmount)throw Error(`close snapshot accepted cumulative exceeds local voucher state`);return{acceptedCumulative:r,spent:i}}function de(e,t){let n=ue(e.channel,t);if(!n)return;let{acceptedCumulative:r,spent:i}=n;if(d.spent>r)throw Error(`close snapshot accepted cumulative is below locally confirmed spend`);return i>d.spent&&(d.spent=i),n}function fe(e,t=e.challenge,n=!1){let r=(n?de(e,t):ue(e.channel,t))?.acceptedCumulative??le(t,e.channelId);if(r>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return pe(r),r.toString()}function pe(e){kB({cumulativeAmount:e,maxVoucherCumulative:r.maxVoucherCumulative})}let me,he;async function ge(e,t){if(he)throw he;for(;;){let e=me;if(!e)break;if(!t)await e;else{t.throwIfAborted();let n;try{await Promise.race([e,new Promise((e,r)=>{n=()=>r(t.reason),t.addEventListener(`abort`,n,{once:!0})})])}finally{t.removeEventListener(`abort`,n)}}}if(t?.throwIfAborted(),he)throw he;let n=e();me=n;try{return await n}catch(e){throw e instanceof WV&&(he=Error(`Session funding outcome is unknown; reconcile the pending payment before creating a new session manager.`)),e}finally{me===n&&(me=void 0)}}async function _e(e){if(!d.channel)throw Error(`Cannot top up session: no active channel`);return lB(m,rB(d.channel),async()=>{let{knownDeposit:t,...n}=e,i=d.channel?await y.get(rB(d.channel)):void 0;if(i?.channelId===e.channelId&&i.uncertainTopUp)throw Error(`Session funding outcome is unknown; reconcile the pending payment before another top-up.`);let a=await GV({...n,channel:d.channel,createSessionCredential:ie,fetch:r.fetch,onUncertainFunding:async e=>{let t=await y.get(rB(e)),n={...t?.channelId===e.channelId?t:e,uncertainTopUp:!0};d.channel?.channelId===e.channelId&&(d.channel=n),await y.set(n),ee(n)}});ae(a);let o=d.channel,s=PV({additionalDeposit:e.additionalDeposit,channel:d.channel,channelId:e.channelId,challengeId:d.lastChallenge?.id,currentState:d.state,knownDeposit:t,receipt:a,spent:d.spent});if(s?.channel&&d.lastChallenge){let e=s.channel;for(;;){await y.set(e);let t=d.channel;if(t===o)break;if(!t)return a;let n=s.channel;e=t.channelId===n.channelId?{...t,deposit:t.deposit>n.deposit?t.deposit:n.deposit,cumulativeAmount:t.cumulativeAmount>n.cumulativeAmount?t.cumulativeAmount:n.cumulativeAmount}:t,o=t}if(e.channelId!==s.channel.channelId)return a;d.channel=e,C({type:`activated`,challengeId:d.lastChallenge.id,entry:e,spent:d.spent.toString(),units:w()}),ee(e)}return a})}async function ve(e){return ge(async()=>{e.signal?.throwIfAborted();let t=d.channel?.channelId===e.channelId?d.channel.deposit:0n,n=t>e.deposit?t:e.deposit,i=PB({deposit:n,maxDeposit:r.maxVoucherCumulative,requiredCumulative:e.requiredCumulative,suggestedDeposit:e.challenge.request.suggestedDeposit===void 0?void 0:BigInt(e.challenge.request.suggestedDeposit),topUpAmount:r.topUpAmount});i!==0n&&await _e({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:i,knownDeposit:n,signal:e.signal})},e.signal)}async function ye(e,t){let n=GB({channel:d.channel,channelId:e,challengeId:d.lastChallenge?.id,cumulativeAmount:t,spent:d.spent,state:d.state});n&&d.channel&&(C({type:`activated`,challengeId:n.challengeId,entry:d.channel,spent:n.spent,units:n.units}),await v(d.channel))}async function be(e){let t=qB(e,d.channel);d.channel=t.channel,d.spent=t.spent,d.state=t.state,d.channel?.opened&&await v(d.channel)}function xe(e){let t=e.headers.get(NN.paymentReceipt),n=t?fz(t):null;return ae(n),Object.assign(e,{receipt:n,challenge:d.lastChallenge,channelId:d.channel?.channelId??null,cumulative:d.channel?.cumulativeAmount??0n})}async function Se(e,t){if(g)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);a(e),d.lastUrl=e,d.lastHeaders=t?.headers;let n=KB({channel:d.channel,spent:d.spent,state:d.state}),i={challengesReceived:0,committed:void 0,created:new Map,previous:n,seenExisting:new Set,resumed:void 0,trackCreates:!1};g=i;try{await ce(e,t),i.trackCreates=!0;let a=PH(e,t,d.channel?.opened?d.channel.channelId:void 0);f&&(a={...a,context:f});let o=!n.channel?.opened;async function s(){let n=i.resumed;return!o||!n?!1:(o=!1,await b(n),a=PH(e,t,void 0),!0)}for(;;){let t;try{t=await re(e,a)}catch(e){if(i.created.size?await x():await be(i.committed??n),await s())continue;throw e}let o=xe(t),c=!1;if(o.status===402){let t=await qV({input:e,init:a,response:o,createSessionCredential:ie,fetch:r.fetch,getChannel:()=>d.channel,restoreCumulative:ye,setChallenge(e){d.lastChallenge=e},topUpIfNeeded:ve});t&&(c=!0,o=xe(t))}if(!c&&!o.ok&&!o.receipt){if(i.created.size?await x():await be(i.committed??n),await s())continue;return o}return o}}finally{g=void 0}}async function Ce(e){let t=await YV({createSessionCredential:ie,fetch:r.fetch,getMinimumSpent:()=>d.spent,headers:d.lastHeaders,lastUrl:d.lastUrl,resolveSignedCloseAmount:t=>fe(e,t,!0),signedCloseAmount:fe(e),setChallenge(e){d.lastChallenge=e},target:e});return t&&(oe(),C({type:`closeStarted`}),C({type:`closed`,receipt:t})),t}let we={createSessionCredential:ie,doFetch:Se,fetch:r.fetch,getChannel:()=>d.channel,getChallenge:()=>d.lastChallenge,assertVoucherWithinLocalLimit:pe,acceptReceipt(e){ae(e)},topUpIfNeeded:ve},Te={get channelId(){return d.channel?.channelId},get cumulative(){return d.channel?.cumulativeAmount??0n},get opened(){return d.channel?.opened??!1},get state(){return d.state},fetch:Se,async topUp(e){let t=NV({amount:e,assertVoucherWithinLocalLimit:pe,channel:d.channel,decimals:r.decimals,lastChallenge:d.lastChallenge,lastUrl:d.lastUrl});return ge(async()=>{if(d.channel?.channelId!==t.channelId||d.lastChallenge!==t.challenge||d.lastUrl!==t.input)throw Error(`Session changed while waiting to top up`);let n=NV({amount:e,assertVoucherWithinLocalLimit:pe,channel:d.channel,decimals:r.decimals,lastChallenge:t.challenge,lastUrl:t.input});return _e({additionalDeposit:n.additionalDeposit,challenge:n.challenge,channelId:n.channelId,headers:d.lastHeaders,input:n.input})})},async sse(e,t){return XV(e,t,we)},async ws(e,t){if(!r.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let n=HV(e);a(n);let i=t?.signal?{signal:t.signal}:void 0;await ce(n,i);let o=d.channel?.opened?d.channel.channelId:void 0,{challenge:s,credential:c,httpUrl:l,wsUrl:u}=await aH({async createSessionCredential(e,i){return d.lastChallenge=e,await XF(te,{challenge:e,context:i,fetch:r.fetch,input:n,signal:t?.signal}),ie(e,i)},fetch:r.fetch,input:e,onProbeUrl(e){d.lastUrl=e.toString()},probeInit:PH(n,i,o),signal:t?.signal});return d.lastChallenge=s,uH({challenge:s,credential:c,httpUrl:l,WebSocket:r.WebSocket,wsUrl:u,options:t,createSessionCredential:ie,getChannel:()=>d.channel,setSocketSession(e){d.socketSession=e},async refreshChallenge(){let e=await iH({fetch:r.fetch,input:l,probeInit:PH(l,i,d.channel?.opened?d.channel.channelId:void 0),signal:t?.signal});return d.lastChallenge=e.challenge,e.challenge},assertVoucherWithinLocalLimit:pe,acceptReceipt:ae,rejectCloseReady:p.rejectCloseReady,rejectReceipt:p.rejectReceipt,settleCloseReady:p.settleCloseReady,settleReceipt:p.settleReceipt,topUpIfNeeded:ve,waitForReceipt:p.waitForReceipt})},async close(){let e=d.socketSession,t=IB({channel:d.channel,currentSocket:e,lastChallenge:d.lastChallenge});if(!t)return;let n=e?.socket;if(e&&n?.readyState===AV.OPEN){let r=await JB({activeSocket:n,createSessionCredential:ie,currentSocket:e,spent:d.spent,target:t,waitForCloseReady:p.waitForCloseReady,waitForReceipt:p.waitForReceipt});return oe(),C({type:`closeStarted`}),C({type:`closed`,receipt:r}),r}return Ce(t)}};return kH(Te,{consumeSseResponse(e,t,n){let r=a(e);if(t.url&&new URL(t.url).origin!==r)throw Error(`SessionManager: session response origin mismatch`);return ZV(e,t,n,we)},rehydrate({channel:e,challenge:t,input:n,spent:r}){let i=a(n);if(e.origin!==i)throw Error(`SessionManager: stored channel origin mismatch`);if(!e.opened)throw Error(`Cannot restore a closed session channel.`);if(!IV(t))throw Error(`Cannot restore session: challenge is not tempo/session.`);if(r<0n)throw Error(`Cannot restore session: spent must not be negative.`);if(r>e.cumulativeAmount)throw Error(`Cannot restore session: spent exceeds local voucher state.`);pe(e.cumulativeAmount);let o=ue(e,t),s=o&&o.spent>r?o.spent:r;d.lastUrl=n,d.lastChallenge=t,d.channel=e,d.spent=s,C({type:`challengeReceived`,challengeId:t.id}),C({type:`activated`,challengeId:t.id,entry:e,spent:s.toString(),units:0})}}),Te}(function(e){e.serializeSnapshot=yB,e.deserializeSnapshot=bB})(LH||={});let RH=Object.assign(EH,{manager:LH});function zH(e={}){let t=e.expectedChainId!==void 0&&(e.allowedChainIds===void 0||e.allowedChainIds.includes(e.expectedChainId)),n=e.expectedChainId===void 0?e:{...e,allowedChainIds:t?[e.expectedChainId]:[]};return[UR(e),RH(n)]}(function(e){e.charge=UR,e.common=zH,e.session=RH,e.subscription=mR})(zH||={});let BH=new WeakMap;function VH(e){let{identity:t,maxPaymentRetries:n,onChallenge:r,orderChallenges:i,polyfill:a=!0,acceptPaymentPolicy:o=a&&globalThis.location!==void 0?`same-origin`:`always`,transport:s=KF(),trustedTempoProofRealms:c}=e;if(`attestation`in e)throw TypeError(\"Mppx client `attestation` was replaced by `identity: [prover]`.\");let l=JI(e.fetch??globalThis.fetch),u=t?MP(t):e.fetch&&qI(e.fetch),d=e.methods.flat(),f=HP(d,e.paymentPreferences),p=EI(),m=r,h={acceptPayment:f,acceptPaymentPolicy:o,...e.fetch&&{fetch:l},...u&&{identity:u},eventDispatcher:p,...n!==void 0&&{maxPaymentRetries:n},...m&&{onChallenge:m},...i&&{orderChallenges:i},methods:d,transport:s,...c&&{trustedTempoProofRealms:c}},g=CI(h);a&&wI(h);function _(e){return p.on(`challenge.received`,e)}function v(e){return p.on(`credential.created`,e)}function y(e){return p.on(`payment.failed`,e)}function b(e){return p.on(`payment.response`,e)}async function x(e,t,n){let r=tU(e),a=await s.getChallenges(e,t?.request),o=Object.freeze(a.map(e=>nU(e))),l=aU(f.entries,t?.acceptPayment),u,m;try{let f=GP(a,d,l,n);f.length===0&&n===void 0&&(f=GP(a,d,l,BP));let h=(await oU(f,t?.orderChallenges??i))[0];if(!h)throw Error(`No method found for challenges: ${a.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${d.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let g=h.challenge;u=o[h.index],m=h.method,u.expires&&GN(u.expires,u.id);let _=cU(e);_?dI(u,_,c):s.name===`mcp`&&fI(u,c&&Object.values(c));let v=u,y=m,b=XH(async e=>{try{v.expires&&GN(v.expires,v.id);let t=XH(t=>sU(v,y,t??e,_?.origin)),n=await p.emit(`challenge.received`,ZH({challenge:v,challenges:a,createCredential:t,method:y,response:r}))??await t();return ZI(n),await p.emit(`credential.created`,QH({challenge:v,credential:n,method:y,response:r})),n}catch(e){throw await p.emit(`payment.failed`,$H({challenge:v,challenges:a,error:e,method:y,response:r})),e}}),x=Object.freeze({challenge:v,challenges:o,createCredential:b,method:eU(y),setCredential(e,t){return ZI(t),s.setCredential(e,t,{challenge:g})}});return BH.set(x,y),x}catch(e){throw await p.emit(`payment.failed`,$H({challenge:u,challenges:a,error:e,method:m,response:r})),e}}async function S(e,t,n){let{maxRedirects:r=20,requirePayment:i=!1,...a}=n??{},d=await GH({acceptPayment:f.header,acceptPaymentPolicy:o,fetch:l,init:t,input:e,maxRedirects:r,identity:u}),p=KH(d.replayRequest,d.body);if(!await s.isPaymentRequired(d.response,p)){if(i)throw Error(`Response does not require payment.`);return Object.freeze({payment:void 0,request:d.request,response:d.response,redirects:d.redirects})}let m=await x(d.response,{...a,request:p});dI(m.challenge,new URL(d.replayRequest.url),c);let h=BH.get(m)??m.method,g=XH(async e=>(await u?.challenge(d.response,{challenge:m.challenge},d.replayRequest.url),YF(h)&&await XF(h,{challenge:m.challenge,context:e,fetch:u?PP(l,u,{challenge:m.challenge}):l,input:d.replayRequest,signal:d.replayRequest.signal}),m.createCredential(e))),_=Object.freeze({...m,createCredential:g,async pay(e){let t=await g(e),n=m.setCredential(KH(d.replayRequest,d.body),t),r=new Request(d.replayRequest.url,{...n,redirect:`manual`});if(!u)return l(r);let{response:i}=await u.send(l,r,{challenge:m.challenge});return i}});return Object.freeze({payment:_,request:d.request,response:d.response,redirects:d.redirects})}return{fetch:g,rawFetch:l,methods:d,transport:s,on:p.on,onChallengeReceived:_,onCredentialCreated:v,onPaymentFailed:y,onPaymentResponse:b,preparePayment:x,prepareRequest:S,async createCredential(e,t,n){return(await x(e,n,t)).createCredential(t)}}}let HH=new Set([301,302,303,307,308]),UH=[`content-encoding`,`content-language`,`content-length`,`content-location`,`content-type`,`transfer-encoding`],WH=[`authorization`,`cookie`,`cookie2`,`host`,`payment-authorization`,`payment-signature`,`proxy-authorization`,`x-payment`];async function GH(e){let{acceptPayment:t,acceptPaymentPolicy:n,fetch:r,identity:i,init:a,input:o,maxRedirects:s}=e;if(!Number.isInteger(s)||s<0)throw TypeError(`maxRedirects must be a non-negative integer.`);let c=new Request(o,{...a,redirect:`manual`}),l=c.headers.has(NN.acceptPayment),u=await qH(c,a?.body),d=[];for(;;){c=JH(c,t,l,n);let{request:e,response:a}=await(async()=>{if(i)return i.send(r,c.clone());let e=c.clone();return{request:e,response:await r(e)}})();if(a.type===`opaqueredirect`||a.status===0)throw Error(`prepareRequest requires a runtime that exposes manual redirect responses.`);if(!HH.has(a.status))return{body:u,replayRequest:c,request:e,response:a,redirects:Object.freeze(d)};let o=a.headers.get(`location`);if(!o)return{body:u,replayRequest:c,request:e,response:a,redirects:Object.freeze(d)};if(d.length>=s)throw await a.body?.cancel(),Error(`Payment request exceeded ${s} redirects.`);let f=new URL(c.url),p=new URL(o,f);if(f.protocol===`https:`&&p.protocol!==`https:`)throw await a.body?.cancel(),Error(`Payment request refused HTTPS downgrade redirect to ${p.href}`);let m=new Headers(c.headers),h=c.method;if((a.status===301||a.status===302)&&h===`POST`||a.status===303&&h!==`GET`&&h!==`HEAD`){h=`GET`,u=void 0;for(let e of UH)m.delete(e)}if(f.origin!==p.origin)for(let e of[...m.keys()]){let t=m.get(e)??``;(WH.includes(e)||t.startsWith(`Payment `))&&m.delete(e)}d.push(Object.freeze({from:f.href,status:a.status,to:p.href})),await a.body?.cancel(),c=new Request(p,YH(c,m,h,u))}}function KH(e,t){return YH(e,new Headers(e.headers),e.method,t)}async function qH(e,t){if(typeof t==`string`)return t;if(!e.body)return;let n=e.headers.get(`accept`)?.toLowerCase()??``;return e.headers.has(`mcp-method`)||n.includes(`application/json`)&&n.includes(`text/event-stream`)?e.clone().text():e.clone().arrayBuffer()}function JH(e,t,n,r){if(n)return e;let i=new Headers(e.headers);return i.delete(NN.acceptPayment),t&&tL(e,r)&&i.set(NN.acceptPayment,t),new Request(e,{headers:i})}function YH(e,t,n,r){return{...r?{body:r}:{},cache:e.cache,credentials:e.credentials,headers:t,integrity:e.integrity,keepalive:e.keepalive,method:n,mode:e.mode,redirect:`manual`,referrer:e.referrer,referrerPolicy:e.referrerPolicy,signal:e.signal}}function XH(e){let t;return n=>(t??=e(n),t)}function ZH(e){return Object.freeze({challenge:nU(e.challenge),challenges:e.challenges.map(e=>nU(e)),createCredential:e.createCredential,method:eU(e.method),response:tU(e.response)})}function QH(e){return Object.freeze({challenge:nU(e.challenge),credential:e.credential,method:eU(e.method),response:tU(e.response)})}function $H(e){return Object.freeze({...e.challenge?{challenge:nU(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>nU(e))}:{},error:e.error,...e.method?{method:eU(e.method)}:{},response:tU(e.response)})}function eU(e){return iU(Object.assign({},e))}function tU(e){return e instanceof Response?e.body===null?e.clone():new Response(null,{headers:e.headers,status:e.status,statusText:e.statusText}):nU(e)}function nU(e){try{let t=structuredClone(e);if(e&&t&&typeof e==`object`&&typeof t==`object`)for(let n of Object.getOwnPropertySymbols(e)){let r=Object.getOwnPropertyDescriptor(e,n);r&&Object.defineProperty(t,n,r)}return rU(t)}catch{return iU(e)}}function rU(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))rU(t);return e}function iU(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function aU(e,t){return t?typeof t==`string`?UP(t):t:e}async function oU(e,t){return t?t(e):e}async function sU(e,t,n,r){let i=t.context&&n!==void 0?t.context.parse(n):void 0,a=i===void 0?{challenge:e}:{challenge:e,context:i};return r&&lI(a,r),t.createCredential(a)}function cU(e){if(typeof Response<`u`&&e instanceof Response&&e.url)return new URL(e.url)}k();let lU={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},uU=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function dU(e){return{add:t=>bU({...t,store:e}),authorize:t=>pU({...t,store:e}),clear:()=>wU({store:e}),get:t=>vU({...t,store:e}),prepareAuthorization:t=>fU({...t,keystores:e.keystores}),getStatus:t=>gU({...t,store:e}),list:t=>BU({...t,store:e}),remove:t=>CU({...t,store:e}),select:t=>_U({...t,store:e}),updateAuthorization:t=>SU({...t,store:e})}}async function fU(e){let{address:t,chainId:n,expiry:r,keystores:i,keyType:a,limits:o,privateKey:s,publicKey:c,scopes:l,witness:u}=e;if(s){let e=a??`secp256k1`;return{keyAuthorization:yw({address:(()=>{switch(e){case`secp256k1`:return HE(s);case`p256`:return VE(s);case`webAuthn`:throw new _S({message:'`privateKey` cannot be used with `keyType: \"webAuthn\"`.'})}})().address,chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:e,...u?{witness:u}:{}}),privateKey:s}}if(t||c)return{keyAuthorization:yw({address:t??q_(N_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??lk,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new _S({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=yw({address:q_(F_(m.publicKey)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:f,...u?{witness:u}:{}});return{key:{handle:m.handle,publicKey:m.publicKey},keyAuthorization:h}}async function pU(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await fU({...r,chainId:r.chainId??n,keystores:i.keystores}),o=Sw(a.keyAuthorization),s=await t.sign({hash:o}),c=yw(a.keyAuthorization,{signature:s});return bU({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),Ew(c)}async function mU(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=BU({account:t,chainId:r,store:a});for(let e of s)if(!RU(e.expiry,o)&&OU(e,i)&&!(n&&!EU(e,{calls:n}))&&await LU(e,a))return!0;return!1}function hU(e){return DU(e.parameters.scopes,{calls:e.calls})}async function gU(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=BU({account:n,accessKey:t,chainId:i,store:o}).find(e=>EU(e,{calls:r}));if(c){if(RU(c.expiry,s))return lU.expired;if(c.keyAuthorization){let e=await zU(a,{accessKey:c.address,account:n,now:s});return e===lU.published&&xU({accessKey:c.address,account:n,chainId:i,store:o}),e===lU.published?lU.published:lU.pending}return await zU(a,{accessKey:c.address,account:n,now:s})}return t?await zU(a,{accessKey:t,account:n,now:s}):lU.missing}async function _U(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=BU({account:t,chainId:r,store:i});for(let e of o){if(!EU(e,{calls:n}))continue;if(RU(e.expiry,a)){await CU({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await LU(e,i);if(t)return t}}async function vU(e){let{accessKey:t,account:n,calls:r,chainId:i}=e,{store:a}=e,o=e.now??Date.now()/1e3,s=BU({account:n,accessKey:t,chainId:i,store:a})[0];if(s&&!(`calls`in e&&!EU(s,{calls:r}))){if(RU(s.expiry,o)){await CU({accessKey:s.address,account:s.access,chainId:s.chainId,store:a});return}return await LU(s,a)}}function yU(e){return $O({source:{get(t){return BU({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){xU({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){SU({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function bU(e){let{account:t,authorization:n,handle:r,keyPair:i,privateKey:a,publicKey:o}=e,{store:s}=e,c={address:n.address,access:t,chainId:Number(n.chainId),expiry:n.expiry??void 0,keyAuthorization:n,keyType:n.type,limits:n.limits,scopes:n.scopes},l=a?{privateKey:a}:i?{keyPair:i}:r!==void 0&&o?{handle:r,publicKey:o}:{},u={...c,...l};return s.state.setState(e=>({accessKeys:[u,...e.accessKeys.filter(e=>!HU(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function xU(e){let{store:t,...n}=e;VU({...n,patch:{keyAuthorization:void 0},store:t})}function SU(e){let{authorization:t,store:n,...r}=e;VU({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function CU(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!HU(e,n))}))}function wU(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function TU(e){return e instanceof O&&e.walk(e=>{let t=e.data?.errorName;return!!t&&uU.has(t)})?!0:e instanceof Error&&uU.has(rk(e).errorName)}function EU(e,t){return DU(e.scopes,t)}function DU(e,t){return e===void 0?!0:!Array.isArray(e)||!t.calls?!1:t.calls.every(t=>{if(!t.to)return!1;let n=t.to.toLowerCase(),r=t.data?.slice(0,10).toLowerCase();return e.some(e=>{if(!FU(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return!e.recipients||e.recipients.length===0;let a=MU(i);if(!a||r!==a)return!1;if(!e.recipients||e.recipients.length===0)return!0;if(!t.data||t.data.length<74)return!1;let o=`0x${t.data.slice(34,74)}`;return Y_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function OU(e,t){return!(!kU(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!PU(e.limits,t.reuse?.minLimits))}function kU(e,t){return!t||!e||t.every(t=>e.some(e=>AU(e,t)))}function AU(e,t){return!FU(e)||!FU(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!jU(e.selector,t.selector)?!1:NU(e.recipients,t.recipients)}function jU(e,t){if(!e)return!0;if(!t)return!1;let n=MU(e),r=MU(t);return!!n&&n===r}function MU(e){try{return(e.startsWith(`0x`)&&e.length===10?e:ab(e)).toLowerCase()}catch{return}}function NU(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function PU(e,t){return!t||!e||t.every(t=>e.some(e=>e.token.toLowerCase()===t.token.toLowerCase()&&Number(e.period??0)===Number(t.period??0)&&BigInt(e.limit)>=BigInt(t.limit)))}function FU(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!Y_(t.address)||t.selector!==void 0&&typeof t.selector!=`string`||t.recipients!==void 0&&(!Array.isArray(t.recipients)||t.recipients.some(e=>typeof e!=`string`)||t.recipients.some(e=>!Y_(e))))}let IU=new WeakMap;async function LU(e,t){let n=yU(t);if(`keyPair`in e&&e.keyPair)return qE(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return HE(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return VE(e.privateKey,{access:e.access,keyAuthorizationManager:n})}if(`handle`in e&&e.handle!==void 0&&e.publicKey){let r=e.keyType===`p256`||e.keyType===`secp256k1`?t.keystores[e.keyType]:void 0;if(!r)return;let i=IU.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),IU.set(e,i));try{return await i}catch(n){IU.delete(e),ck(n)&&CU({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function RU(e,t){return typeof e==`number`&&e<t}async function zU(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await bD(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?lU.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?lU.expired:lU.published}catch(e){if(TU(e))return lU.missing;throw e}}function BU(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>HU(e,n))}function VU(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!HU(e,r))return e;let n={...e};for(let[e,r]of Object.entries(t))r===void 0?delete n[e]:n[e]=r;return n})}))}function HU(e,t){let{accessKey:n,account:r,chainId:i}=t;return!(e.access.toLowerCase()!==r.toLowerCase()||e.chainId!==i||n&&e.address.toLowerCase()!==n.toLowerCase())}function UU(e){switch(e?.keyType){case`secp256k1`:case`p256`:case`webAuthn`:return e.keyType;case`webCrypto`:return`p256`;case`webAuthn_headless`:return`webAuthn`;default:return}}function WU(e){let{address:t,signable:n=!1,store:r}=e,{accounts:i,activeAccount:a}=r.getState(),o=i[a]?.address,s=t?i.find(e=>e.address.toLowerCase()===t.toLowerCase()):i.find(e=>o&&e.address.toLowerCase()===o.toLowerCase());if(!s)throw t?new SS({message:`Account \"${t}\" not found.`}):new wS({message:`No active account.`});return GU(s,{signable:n})}function GU(e,t={}){let{signable:n=!1}=t;if(!n)return{address:e.address,type:`json-rpc`,...e.keyType?{keyType:e.keyType}:{}};if(`sign`in e&&typeof e.sign==`function`)return e;if(!e.keyType)throw new SS({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return HE(e.privateKey);case`p256`:return VE(e.privateKey);case`webCrypto`:return qE(e.keyPair);case`webAuthn`:return KE(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return BE(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new SS({message:`Unknown key type.`})}}let KU=new Map;function qU(e,t){let n=XU(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>QU(e,t),onResponse:t=>$U(e,t),store:t.store,theme:t.theme}),a=!!(n.dialog&&n.dialog!==i);if(n.dialog&&n.dialog!==i&&n.dialog.destroy(),n.dialog=i,a)for(let e of n.requestQueue)e.synced=!1;return eW(e),()=>{n.attachments.delete(r),ZU(e)}}function JU(e,t){let n=XU(e),r=n.ids.prepare(t.request);return new Promise((i,a)=>{n.requestQueue.push({account:t.account,chainId:t.chainId,reject:a,request:r,resolve:i,status:`pending`,synced:!1}),eW(e)})}function YU(e){return new URL(e).host}function XU(e){let t=YU(e),n=KU.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:RS(),requestQueue:[],synced:!1};return KU.set(t,r),r}function ZU(e){let t=XU(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function QU(e,t){if(t.length===0)return;let n=XU(e),r=new Set(t),i=n.requestQueue.filter(e=>r.has(e.request.id));if(i.length!==0){n.requestQueue=n.requestQueue.filter(e=>!r.has(e.request.id));for(let e of i)e.reject(new xS);eW(e,{force:!0})}}function $U(e,t){let n=XU(e),r=n.requestQueue.find(e=>e.request.id===t.id);r&&(n.requestQueue=n.requestQueue.filter(e=>e.request.id!==t.id),t.error?r.reject(IS(t.error)):r.resolve(t.result),eW(e,{force:!0}))}function eW(e,t={}){let n=XU(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,ZU(e);return}let a=i[0];!t.force&&a.synced||(a.synced=!0,n.synced=!0,r.syncRequests({account:a.account,chainId:a.chainId,requests:[tW(a)]}))}function tW(e){return{request:e.request,status:e.status}}z();function nW(e={}){let{dialog:t=w()?T():ne(),host:n=`https://wallet.tempo.xyz/embed`,icon:r=`data:image/svg+xml,<svg width=\"269\" height=\"269\" viewBox=\"0 0 269 269\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"269\" height=\"269\" fill=\"black\"/><path d=\"M123.273 190.794H93.445L121.09 105.318H85.7334L93.445 80.2642H191.95L184.238 105.318H150.773L123.273 190.794Z\" fill=\"white\"/></svg>`,name:i=`Tempo Wallet`,rdns:a=`xyz.tempo`,theme:o}=e;return typeof window<`u`&&!window.isSecureContext&&console.warn(`[accounts] Detected insecure context (HTTP).`,`\\n\\nThe Tempo Wallet iframe dialog is not supported on HTTP origins (${window.location.origin})`,`due to lack of WebAuthn passkey support in non-secure contexts.`),d({icon:r,name:i,rdns:a},({getAccount:e,store:r})=>{let i=qU(n,{dialog:t,host:n,store:r,theme:o});function a(){let{accounts:e,activeAccount:t}=r.getState(),n=e[t];if(n)return{address:n.address}}let s=FS({async request(e){return e.method===`eth_chainId`?F(r.getState().chainId):JU(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:kN});return{cleanup(){i()},forwardsAuth:!0,actions:{async createAccount(e,t){let{accounts:n}=await s.request({...t}),r=n[0]?.capabilities,i=r?.keyAuthorization;return{accounts:n.map(e=>({address:e.address})),...r?.auth?{auth:r.auth}:{},...r?.identity?{identity:r.identity}:{},...i?{keyAuthorization:i}:{},...r?.signature?{signature:r.signature}:{},...r?.personalSign?{personalSign:r.personalSign}:{}}},async loadAccounts(e,t){let{accounts:n}=await s.request({...t}),r=n[0]?.capabilities,i=r?.keyAuthorization;return{accounts:n.map(e=>({address:e.address})),...r?.auth?{auth:r.auth}:{},...r?.identity?{identity:r.identity}:{},...i?{keyAuthorization:i}:{},...r?.signature?{signature:r.signature}:{},...r?.personalSign?{personalSign:r.personalSign}:{}}},async deposit(e,t){return await s.request(t)},async transfer(e,t){return await s.request({...t,params:[CA(xN.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[CA(EN.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[CA(DN.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:ux(s)}}}})}let rW=new Map,iW=new WeakMap;function aW(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return cW(r);if(r?.url)return cW(r.url)}})(),c=typeof r==`object`&&r?r.precedence??`fee-payer-first`:`fee-payer-first`,l=e??a.getState().chainId,u=`${l}:${i?`p`:``}:${r===!1?`no-fp`:s??``}:${c}`,d=i??o,f=(()=>{if(!d)return rW;let e=iW.get(d);return e||(e=new Map,iW.set(d,e)),e})(),p=f.get(u);if(!p){let t=n.find(e=>e.id===l)??n[0],r=o?.[l]??hx(),a=i?oW(i,r,e===void 0?void 0:t.id):r;p=Ih({chain:t,transport:s?lW(a,s,c):a,pollingInterval:1e3}),f.set(u,p)}return p}function oW(e,t,n){return r=>{let i=t(r);return{...i,async request({method:t,params:r}){if(n!==void 0&&!sW(t))return i.request({method:t,params:r});let a=(()=>{if(t!==`eth_fillTransaction`||n===void 0)return r;let e=r?.[0];return!e||typeof e!=`object`?r:[{...e,chainId:n}]})();return e.request({method:t,params:a})}}}}function sW(e){return e.startsWith(`wallet_`)||[`eth_accounts`,`eth_fillTransaction`,`eth_requestAccounts`,`eth_sendTransaction`,`eth_sendTransactionSync`,`eth_signTransaction`,`eth_signTypedData_v4`,`personal_sign`].includes(e)}function cW(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function lW(e,t,n){return r=>{let i=e(r),a=hx(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=FE(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})}}}}let uW=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function dW(e){let{address:t,calls:n,chainId:r,client:i,store:a}=e,o=await a.accessKeys.select({account:t,calls:n,chainId:r});if(o)return fW({account:o,address:t,chainId:r,client:i,store:a})}function fW(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{let n=await af(i,{account:t,...e,parameters:[],type:`tempo`});return await mW(i,n)}catch(e){throw hW(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{let o=await af(i,{account:t,...e,type:`tempo`});return pW({account:t,address:n,chainId:r,client:i,request:o,store:a})}catch(e){throw hW(e,{account:t,address:n,chainId:r,store:a}),e}}}}function pW(e){let{account:t,address:n,chainId:r,client:i,request:a,store:o}=e;async function s(){try{return await t.signTransaction(a)}catch(e){throw hW(e,{account:t,address:n,chainId:r,store:o}),e}}return{request:a,sign:s,async send(){try{let e=await s();return await i.request({method:`eth_sendRawTransaction`,params:[e]})}catch(e){throw hW(e,{account:t,address:n,chainId:r,store:o}),e}},async sendSync(){try{let e=await s();return await i.request({method:`eth_sendRawTransactionSync`,params:[e]})}catch(e){throw hW(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function mW(e,t){let n=e.chain?.formatters?.transactionRequest,r=n?n.format({...t},`fillTransaction`):t;return await e.request({method:`eth_fillTransaction`,params:[r]})}function hW(e,t){gW(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function gW(e){if(!(e instanceof Error))return!1;let t=rk(e);if(uW.has(t.errorName))return!0;let n=_W(e);return[...uW].some(e=>n.includes(e))}function _W(e){if(!(e instanceof Error))return``;let t=e.details,n=e.shortMessage,r=e.cause;return[e.message,typeof t==`string`?t:``,typeof n==`string`?n:``,_W(r)].join(`\n`)}lf();function vW(e){if(typeof e==`string`&&Y_(e))return e}function yW(e,t){return cf(e,t)}function bW(e){return cf(e,`0x0000000000000000000000000000000000000000`)}function xW(e,{cache:t=xW.cache,enabled:n=!0,id:r}){if(!n||!r)return e();let i=t.get(r);if(i)return i;let a=e().finally(()=>t.delete(r));return t.set(r,a),a}xW.cache=new Map;function SW(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function CW(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=SW(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{n=void 0}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let wW;function TW(){return wW||=CW(`keyval-store`,`keyval`),wW}function EW(e,t=TW()){return t(`readonly`,t=>SW(t.get(e)))}function DW(e,t,n=TW()){return n(`readwrite`,n=>(n.put(t,e),SW(n.transaction)))}function OW(e,t=TW()){return t(`readwrite`,t=>(t.delete(e),SW(t.transaction)))}let kW=Symbol.for(`accounts.storage.supportsStructuredClone`);function AW(e,t={}){let n=`${t.key??`tempo`}.`,r={getItem:t=>e.getItem(`${n}${t}`),setItem:(t,r)=>e.setItem(`${n}${t}`,r),removeItem:t=>e.removeItem(`${n}${t}`)};return jW(e)?MW(r):r}function jW(e){return e[kW]===!0}function MW(e){return Object.assign(e,{[kW]:!0})}function NW(e={}){let t=typeof indexedDB<`u`?CW(`tempo`,`store`):void 0;return MW(AW({async getItem(e){let n=await EW(e,t);return n===null?null:n},async setItem(e,n){await DW(e,n,t)},async removeItem(e){await OW(e,t)}},e))}function PW(e={}){let t=new Map;return MW(AW({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let FW=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 IW(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 LW=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return LW(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return LW(t)(e)}}}},RW=(e,t)=>(n,r,i)=>{let a={storage:IW(()=>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 LW(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:()=>{++s,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},zW=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},BW=(e=>e?zW(e):zW),VW=Symbol.for(`accounts.storage.supportsStructuredClone`);function HW(e){let{chainId:t,keystores:n=lk,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?NW({key:`tempo`}):PW({key:`tempo`})}=e,s=BW(FW(RW(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>WW(e,t,{schema:a}),name:`store`,partialize:e=>UW(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:YW(o)}),storage:o,version:0}))),c=s;return c.accessKeys=dU({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function UW(e,t={}){let{keystores:n,maxAccounts:r,persistCredentials:i=!0,structuredClone:a=!1}=t;return{accounts:r&&e.accounts.length>r?e.accounts.slice(0,r):e.accounts,activeAccount:e.activeAccount,...i?{accessKeys:e.accessKeys.map(e=>qW(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function WW(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(KW):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>bA(n.schema,e).success):i;return{...r,...t,accounts:a,activeAccount:a.length===0?0:Math.min(r.activeAccount??t.activeAccount,a.length-1),accessKeys:GW(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function GW(e){if(e)return e.filter(e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.access==`string`&&typeof t.address==`string`&&typeof t.chainId==`number`&&(t.keyType===`secp256k1`||t.keyType===`p256`||t.keyType===`webAuthn`||t.keyType===`webCrypto`)})}function KW(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function qW(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&JW(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function JW(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function YW(e){return e[VW]===!0}async function XW(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let ZW=new Map;async function QW(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=ZW.get(r);if(i)return i;let a=(async()=>{try{let e=await globalThis.fetch(`${n}/list/${t}`);return e.ok?(await e.json()).tokens.map(({logoURI:e,...t})=>({...t,logoUri:t.logoUri??e})):[]}catch{return[]}})();return ZW.set(r,a),a.then(e=>{e.length===0&&ZW.delete(r)}),a}async function $W(e){let{symbol:t,...n}=e,r=await QW(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function eG(e,t){let n=bA(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new CS({message:`Unsupported method \"${t?.method}\".`}):new bS(-32602,`Invalid params: ${tG(n.error.issues)}`)}return{...t,_decoded:n.data}}function tG(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?tG([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}z(),Wf();let nG=new Set;function rG(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function iG(e={}){let{adapter:t=nW(),chains:n=[GO,JO,KO],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?NW():PW()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,hx(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),d=(()=>{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}})(),f=HW({chainId:(o?n.find(e=>e.testnet)??n[n.length-1]:n[0]).id,keystores:l,maxAccounts:r,persistCredentials:i,schema:t.schema,storage:s}),p=(e={})=>WU({...e,store:f}),m;function h(e={}){let{chainId:t,feePayer:r}=e;return aW(t,{chains:n,feePayer:(()=>{if(r===!1)return!1;if(r)return{url:r,precedence:d?.precedence}})(),store:f,transports:u})}let g=t({getAccount:p,getClient:h,storage:s,store:f}),{actions:_}=g,v=e.accessKey?.keystores??g.accessKey?.keystores;Object.assign(l,v??lk);let y=PS(),b=new Map;f.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>y.emit(`accountsChanged`,f.getState().accounts.map(e=>e.address))),f.subscribe(e=>e.chainId,e=>y.emit(`chainChanged`,F(e))),f.subscribe(e=>e.accounts.length>0,e=>{e?y.emit(`connect`,{chainId:F(f.getState().chainId)}):y.emit(`disconnect`,new wS)});function x(){if(f.getState().accounts.length===0)throw new wS({message:`No accounts connected.`})}function S(){let{accounts:e,activeAccount:t}=f.getState();if(e.length===0)return[];let n=e[t]?.address,r=e.findIndex(e=>e.address===n),i=[...e];if(r>=0){let[e]=i.splice(r,1);return[e.address,...i.map(e=>e.address)]}return i.map(e=>e.address)}function C(e){throw new CS({message:`\\`${e}\\` not supported by adapter.`})}async function w(e={}){return g.getAccount||C(`getAccount`),await g.getAccount(e)}function ee(e){let t=h({chainId:e.chainId,feePayer:e.feePayer});return cx({account:e.account,chain:t.chain,transport:e.transport??ux({request:t.request})})}function te(e,t){return t.type===`json-rpc`&&e!==void 0?{feePayer:e}:e?{feePayer:!0}:{}}async function ne(e){let{feePayer:t,...n}=e,r=await w({address:e.from}),i=ee({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...te(t,r.account)};return r.account.type===`json-rpc`?{client:i,request:a,selected:r}:{client:i,request:await af(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function T(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await dW({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).sign()}catch{}}let{client:t,request:n,selected:r}=await ne(e);return r.account.type===`json-rpc`?await rx(t,n):await r.account.signTransaction(n)}async function re(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await dW({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).send()}catch{}}let{feePayer:t,...n}=e,r=await w({address:e.from});return await xh(ee({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),{...n,...te(t,r.account)})}async function ie(e){{let t=f.getState(),n=e.chainId??t.chainId,r=h({chainId:n,feePayer:(()=>{if(e.feePayer===!1)return!1;if(typeof e.feePayer==`string`)return e.feePayer})()}),i=e.from??t.accounts[t.activeAccount]?.address,a=i?await dW({address:i,calls:e.calls,chainId:n,client:r,store:f}):void 0;if(a)try{let{feePayer:t,...n}=e;return await(await a.prepare({...n,...t?{feePayer:!0}:{}})).sendSync()}catch{}}let{feePayer:t,...n}=e,r=await w({address:e.from}),i=ee({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),a={...n,...te(t,r.account)};if(r.account.type===`json-rpc`)return await i.request({method:`eth_sendTransactionSync`,params:[CA($M,a)]});let o=await zb(i,{account:r.account,...a});return CA(JM,o)}async function ae(e){let t=await w({address:e.address}),n=ee({account:t.account,transport:t.transport});return t.account.type===`json-rpc`?await n.signMessage({account:t.account,message:{raw:e.data}}):await t.account.sign({hash:xg({raw:e.data})})}async function oe(e){let t=JSON.parse(e.data),n=await w({address:e.address}),r=ee({account:n.account,transport:n.transport});return n.account.type===`json-rpc`?await r.signTypedData({account:n.account,...t}):await n.account.sign({hash:Ag(t)})}async function se(e){let t=await w(),n=e.chainId??h().chain.id;if(t.account.type!==`json-rpc`)return{keyAuthorization:await f.accessKeys.authorize({account:t.account,chainId:n,parameters:e}),rootAddress:t.account.address};let r=await ce(e,Number(n)),i=await ee({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[CA(pN.parameters,r.parameters)]});return await ue({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function ce(e,t){let n=e.chainId??t??h().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await fU({...e,chainId:n});return{parameters:le(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!v&&!rG())return{parameters:e};let{key:r,keyAuthorization:i}=await fU({...e,chainId:n,keystores:l});if(!r)throw new vS({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...le(e,i),publicKey:r.publicKey}}}function le(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function ue(e){let{accessKey:t,account:n,keyAuthorization:r}=e;if(!n||!r||!t)return;let{key:i,privateKey:a}=t,o=i?{handle:i.handle,publicKey:i.publicKey}:a?{privateKey:a}:void 0;o&&f.accessKeys.add({account:n,authorization:bw(r),...o})}async function de(e){let t=await w({address:e.address}),n=ee({account:t.account,transport:t.transport});if(t.account.type===`json-rpc`)await n.request({method:`wallet_revokeAccessKey`,params:[e]});else try{await TD(h(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!TU(e))throw e}f.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:f.getState().chainId})}async function fe(e){let t=await w({address:e.address}),n=Number(e.chainId??h().chain.id);if(t.account.type===`json-rpc`){await ee({account:t.account,chainId:n,transport:t.transport}).request({method:`wallet_updateAccessKey`,params:[CA(gN.parameters,e)]});return}let r=e.limits.map(t=>OD.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await zb(h({chainId:n}),{account:t.account,calls:r})}async function pe(e,t){if(_.signTransaction)return await _.signTransaction(e,t);if(g.getAccount)return await T(e);C(`signTransaction`)}async function me(e,t){if(_.sendTransaction)return await _.sendTransaction(e,t);if(g.getAccount)return await re(e);C(`sendTransaction`)}async function he(e,t){if(_.sendTransactionSync)return await _.sendTransactionSync(e,t);if(g.getAccount)return await ie(e);C(`sendTransactionSync`)}async function ge(e,t){if(_.signPersonalMessage)return await _.signPersonalMessage(e,t);if(g.getAccount)return await ae(e);C(`signPersonalMessage`)}async function _e(e,t){if(_.signTypedData)return await _.signTypedData(e,t);if(g.getAccount)return await oe(e);C(`signTypedData`)}async function ve(e,t){if(_.authorizeAccessKey)return await _.authorizeAccessKey(e,t);if(g.getAccount)return await se(e);C(`authorizeAccessKey`)}async function ye(e,t){if(_.revokeAccessKey)return await _.revokeAccessKey(e,t);if(g.getAccount)return await de(e);C(`revokeAccessKey`)}async function be(e,t){if(_.updateAccessKey)return await _.updateAccessKey(e,t);if(g.getAccount)return await fe(e);C(`updateAccessKey`)}function xe(e){if(!g.persistAccounts)return e;let t=[...e];for(let e of f.getState().accounts)t.some(t=>yW(t.address,e.address))||t.push(e);return t}function Se(e){if(e===!1)return!1;let t=typeof e==`string`?e:d?.url;if(t)return t.startsWith(`http://`)||t.startsWith(`https://`)?t:typeof window<`u`?new URL(t,window.location.origin).href:t}function Ce(e){let{reuse:t,...n}=e;return n}function we(){return typeof c==`function`?c():c}async function Te(e){let t=we();if(!t)return;let n=Ee(e.capabilities);if(!(n&&await mU({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:f}})))return Ce(t)}function Ee(e){let t=f.getState();if(t.accounts.length!==0&&!(e&&`selectAccount`in e&&e.selectAccount)){if(e&&`credentialId`in e&&e.credentialId){if(Array.isArray(e.credentialId)&&e.credentialId.length!==1)return;let n=Array.isArray(e.credentialId)?e.credentialId[0]:e.credentialId;return t.accounts.find(e=>`credential`in e&&e.credential?.id===n)?.address}return e?.method===`register`&&e.name?t.accounts.find(t=>`credential`in t&&t.label?.toLowerCase()===e.name.toLowerCase())?.address:t.accounts[t.activeAccount]?.address??t.accounts[0]?.address}}async function De(e){let t=we();if(!t||await f.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!hU({parameters:t,calls:e.calls}))return;let n=Ce(t);await ve(n,{method:`wallet_authorizeAccessKey`,params:[CA(pN.parameters,n)]})}function Oe(e){let{accounts:t}=f.getState();if(t.length===0)throw new wS({message:`No accounts connected.`});if(!t.some(t=>yW(t.address,e)))throw new SS({message:`Account \"${e}\" not found.`})}async function ke(e,t={}){let n=vW(e.account.address);if(!n)return;if(Oe(n),t.accessKey){let r=e.operation.kind===`authorizePaymentChannel`?vW(e.operation.authority):void 0;if(r&&!yW(r,t.accessKey))throw new SS({message:`Access key \"${t.accessKey}\" cannot satisfy channel authority \"${r}\".`});let i={account:n,accessKey:t.accessKey,chainId:e.chainId};if(e.operation.kind===`executeCalls`&&!e.operation.calls){let e=await f.accessKeys.get(i),n=f.accessKeys.list(i)[0];if(e&&n?.scopes)throw new SS({message:`Access key \"${t.accessKey}\" cannot be selected for executeCalls without transaction call details.`});if(e)return e}let a=await f.accessKeys.get({...i,...e.operation.kind===`executeCalls`?{calls:e.operation.calls}:{}});if(!a)throw new SS({message:`Access key \"${t.accessKey}\" cannot sign for account \"${n}\".`});return a}if(e.operation.kind===`executeCalls`)return await f.accessKeys.select({account:n,...e.operation.calls?{calls:e.operation.calls}:{},chainId:e.chainId});let r=vW(e.operation.authority);if(!r)return await f.accessKeys.select({account:n,chainId:e.chainId});if(!(bW(r)||yW(r,n)))return await f.accessKeys.get({account:n,accessKey:r,chainId:e.chainId})}function Ae(e={}){let t=(()=>{if(!e.accessKey)return;let t=vW(e.accessKey);if(!t)throw new _S({message:`Invalid access key address \"${e.accessKey}\".`});return t})();return{getClient({chainId:e}){if(e!==void 0&&!n.some(t=>t.id===e))throw new OS({message:`Chain ${e} not configured.`});let t=je.getClient({chainId:e}),r=f.getState().accounts[f.getState().activeAccount];if(!r)throw new wS({message:`No active account.`});return Object.assign(Object.create(Object.getPrototypeOf(t)),t,{account:{address:r.address,type:`json-rpc`}})},resolveAccount:e=>ke(e,{accessKey:t})}}let je=Object.assign(FS({...y,async request({method:t,params:r}){await XW(f);let i=[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t);return xW(async()=>{let i;try{i=eG(jN,{method:t,params:r})}catch(e){if(!(e instanceof CS))throw e;return await aW(void 0,{chains:n,store:f,transports:u}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return S();case`eth_chainId`:return F(f.getState().chainId);case`eth_requestAccounts`:{let e=S();if(e.length>0)return e;let{accounts:t}=await _.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return f.setState({accounts:xe(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{x();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await De({address:c,...a?{calls:a}:{},chainId:s}),await me({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:Se(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=Se(t.feePayer),r=h({chainId:t.chainId,feePayer:n}),a=f.getState(),o=t.chainId??a.chainId,s=t.from??a.accounts[a.activeAccount]?.address,c=(()=>{if(!s)return;let e=t.keyType??UU(a.accounts.find(e=>yW(e.address,s)));if(e)return{address:s,keyType:e,type:`json-rpc`}})(),l=(e=c)=>{let i={...t,...e?{account:e,from:e.address}:{},chainId:o,...n?{feePayer:!0}:{}},a=r.chain?.formatters?.transactionRequest,s=a?a.format({...i},`fillTransaction`):i;return r.request({method:`eth_fillTransaction`,params:[s]})};if(t.keyAuthorization)return await l();if(s){let e=await dW({address:s,calls:t.calls??(t.to?[{data:t.data,to:t.to}]:void 0),chainId:o,client:r,store:f});if(e)try{return await e.fill({...t,chainId:o,from:s,...n?{feePayer:!0}:{}})}catch{}}return await l()}case`eth_signTransaction`:{x();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState();return await pe({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:e.feePayer===!0&&!d||Se(e.feePayer)},i)}case`eth_sendTransactionSync`:{x();let[e]=i._decoded.params,{to:t,data:n,...r}=e,a=e.calls??(t?[{to:t,data:n,value:e.value}]:void 0),o=f.getState(),s=e.chainId??o.chainId,c=e.from??o.accounts[o.activeAccount]?.address;return c&&await De({address:c,...a?{calls:a}:{},chainId:s}),await he({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:Se(e.feePayer)},i)}case`eth_signTypedData_v4`:{x();let[e,t]=i._decoded.params;return await _e({address:e,data:t},i)}case`personal_sign`:{x();let[e,t]=i._decoded.params;return await ge({address:t,data:e},i)}case`wallet_sendCalls`:try{x();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=Se(t?.feePayer??(d?!0:void 0)),s=f.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await De({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o===void 0?{}:{feePayer:o}};if(!a){let e=P(await me(l,{method:`eth_sendTransaction`,params:[CA($M,l)]}),Tp(F(f.getState().chainId),32),oG);return{capabilities:{sync:a},id:e}}let u=await he(l,{method:`eth_sendTransactionSync`,params:[CA($M,l)]}),p=u.transactionHash,m=F(f.getState().chainId),h=P(p,Tp(m,32),oG);return{atomic:!0,capabilities:{sync:a},chainId:m,id:h,receipts:[u],status:u.status===`0x1`?200:500,version:`2.0.0`}}catch(e){throw sG(e)}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=f.getState(),a=e?.account??t[r]?.address;if(!a)throw new wS({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new _S({message:\"`tokens` is required.\"});let s=aW(e?.chainId,{chains:n,store:f,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([QD(s,{account:a,token:e}),$D(s,{token:e})]),r=Number(t.amount)/10**n.decimals,i=new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(r);return{address:e,balance:F(t.amount),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(oG.slice(2)))throw Error(\"`id` not supported\");yp(e);let t=I(e,0,32),r=F(Number(I(e,32,64))),a=await aW(Number(r),{chains:n,store:f,transports:u}).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}=f.getState();if(!e.some(e=>yW(e.address,t)))throw new SS({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(F(e.id))):n,o={};for(let e of a)o[F(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...d?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&f.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??await Te({capabilities:n,chainId:t??f.getState().chainId}),a=n?.auth??e.auth,o=a?dG(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new _S({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new _S({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=t??f.getState().chainId??0,c=r?await ce(r,t):void 0;(o||c)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...c?{authorizeAccessKey:CA(_N.authorizeAccessKey,c.parameters)}:{}}}]});let l=o&&!g.forwardsAuth?await gG(o,s):void 0,u=l?{message:l.message}:n?.personalSign,{accounts:d,auth:p,identity:m,keyAuthorization:h,personalSign:v,signature:y,username:b}=await(async()=>{if(n?.method===`register`){let e=n.name?f.getState().accounts.find(e=>`credential`in e&&e.label?.toLowerCase()===n.name.toLowerCase()):void 0;return e&&`credential`in e?await _.loadAccounts({credentialId:e.credential?.id,digest:n.digest,authorizeAccessKey:c?.parameters,...u?{personalSign:u}:{},...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i):await _.createAccount({digest:n.digest,authorizeAccessKey:c?.parameters,name:n.name??`default`,...n.showDeposit===void 0?{}:{showDeposit:n.showDeposit},userId:n.userId??Dp(16),...u?{personalSign:u}:{}},i)}return await _.loadAccounts({credentialId:n?.credentialId,digest:n?.digest,authorizeAccessKey:c?.parameters,selectAccount:n?.selectAccount,...u?{personalSign:u}:{},...n?.showDeposit===void 0?{}:{showDeposit:n.showDeposit}},i)})();f.setState({accounts:xe(d),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let x=d[0]?.address;await ue({accessKey:c,account:x,keyAuthorization:h});let S=m??await(async()=>{let t=n?.identity?.email;if(!t||!e.identity||g.forwardsAuth||!x)return;let r=e.identity.audience??globalThis.location?.origin;if(!r)return;let i=(typeof t==`object`?t.nonce:void 0)??(l?_G(l.message):void 0);return await vG({audience:r,credentials:e.identity.credentials,issuer:e.identity.issuer,nonce:i,subject:x}).catch(()=>void 0)})(),C=o&&typeof o==`object`?o.verify:void 0,w=l?.message??v?.message;o&&C&&w&&y&&x&&hG(o,{chainId:s,message:w});let ee=o&&C&&w&&y&&x?await yG(o,{address:x,message:w,signature:y,...S?.idToken?{idToken:S.idToken}:{},...v?.keyAuthorization?{keyAuthorization:v.keyAuthorization}:{}}):void 0;return{accounts:d.map(e=>({address:e.address,capabilities:e.address===x?{...h?{keyAuthorization:{...h,address:h.keyId}}:{},...y&&(!o||ee||!C)?{signature:y}:{},...b===void 0?{}:{username:b},...ee??p?{auth:ee??p}:{},...S?{identity:S}:{},...v?{personalSign:{message:v.message,...v.keyAuthorization?{keyAuthorization:v.keyAuthorization}:{}}}:{}}:{}}))}}case`wallet_disconnect`:{let t=(()=>{let t=f.getState().auth;if(t?.logout)return t.logout;if(e.auth)try{let t=dG(e.auth);return typeof t==`object`?t.logout:void 0}catch{return}})();t&&await fetch(t,{method:`POST`,credentials:`include`}).catch(()=>{}),await _.disconnect?.(),f.disconnect();return}case`wallet_authorizeAccessKey`:{let e=i._decoded.params[0],t=await ve(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{x();let[e]=i._decoded.params;await ye({...e},i);return}case`wallet_updateAccessKey`:{x();let[e]=i._decoded.params;await be({...e},i);return}case`wallet_deposit`:if(!_.deposit)throw new CS({message:\"`deposit` not supported by adapter.\"});return await _.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{x();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!_.transfer)throw new CS({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:Se(e.feePayer)}};return await _.transfer(t,i)}let{amount:t,feePayer:n,from:r,memo:a,to:o,token:s}=e,c=f.getState(),l=e.chainId??c.chainId,u=Se(n),d=h({chainId:l,feePayer:typeof u==`string`?u:void 0}),{address:p,decimals:m}=await(async()=>{if(Y_(s)){let e=await $D(d,{token:s});return{address:s,decimals:e.decimals}}let e=await $W({chainId:d.chain.id,symbol:s});if(!e)throw new bS(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),g=Gy(t,m),v=c.accounts[c.activeAccount]?.address,y=r&&v&&r.toLowerCase()!==v.toLowerCase()?r:void 0,b={calls:[fO.call({amount:g,...y?{from:y}:{},memo:a?Cp(a):void 0,to:o,token:p})],chainId:l,from:v,...u===void 0?{}:{feePayer:u}},S=await he(b,{method:`eth_sendTransactionSync`,params:[CA($M,b)]});return{chainId:F(l),receipt:S}}case`wallet_swap`:if(x(),!_.swap)throw new CS({message:\"`swap` not supported by adapter.\"});return await _.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(x(),!_.depositZone)throw new CS({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:Se(e.feePayer)}};return await _.depositZone(t,i)}case`wallet_withdrawZone`:if(x(),!_.withdrawZone)throw new CS({message:\"`withdrawZone` not supported by adapter.\"});return await _.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 OS({message:`Chain ${e} not configured.`});await _.switchChain?.({chainId:e}),f.setState({chainId:e});return}}})()},{cache:b,enabled:i,id:Hf({method:t,params:r})})}},{schema:kN}),{chains:n,getAccount:(e=>{let t=p(e);return e?.signable?t:{address:t.address,type:`json-rpc`}}),async getAccessKeyStatus(e={}){let t=f.getState(),n=e.address??t.accounts[t.activeAccount]?.address;if(!n)return`missing`;let r=e.chainId??t.chainId,{accessKey:i,calls:a}=e;return await f.accessKeys.getStatus({account:n,...i?{accessKey:i}:{},...a?{calls:a}:{},chainId:r,client:je.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return aW(t,{chains:n,feePayer:r,provider:m,store:f,transports:u})},getMppxParameters:Ae,store:f});if(typeof window<`u`&&typeof CustomEvent<`u`&&typeof crypto.randomUUID==`function`){let e=t.rdns??`com.${(t.name??`Injected Wallet`).toLowerCase().replace(/\\s+/g,``)}`;nG.has(e)||(nG.add(e),MN({info:{icon:t.icon??aG,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:je}))}let Me=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(Me){let{mode:e=`push`,polyfill:t,...n}=Me,r=t??cG(),i=je.getMppxParameters(),a={...n,...i,mode:e};VH({methods:[zH(a),zH.subscription(i)],polyfill:r})}return m=je,je}let aG=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,oG=D_(Cp(`TEMPO_5792`));function sG(e){if(e instanceof Error)return typeof e.details==`string`||Object.assign(e,{details:e.message}),e;let t=Error(String(e));return Object.assign(t,{details:t.message}),t}function cG(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function lG(){return typeof document<`u`&&typeof document.cookie==`string`}function uG(e,t){let n=(()=>{if(typeof e==`string`){let n=e.endsWith(`/`)?e.slice(0,-1):e;return t===`verify`?n:`${n}/${t}`}let n=e[t];if(n)return n;if(e.url){let n=e.url.endsWith(`/`)?e.url.slice(0,-1):e.url;return t===`verify`?n:`${n}/${t}`}throw new _S({message:`\\`auth\\` capability must include either \\`url\\` or an explicit \\`${t}\\` endpoint.`})})();return n.startsWith(`http://`)||n.startsWith(`https://`)?n:typeof window<`u`?new URL(n,window.location.origin).href:n}function dG(e){let t=typeof e==`string`||!!e.url,n=t||typeof e==`object`&&!!e.challenge,r=t||typeof e==`object`&&!!e.verify,i=t||typeof e==`object`&&!!e.logout,a={...n?{challenge:uG(e,`challenge`)}:{},...r?{verify:uG(e,`verify`)}:{},...i?{logout:uG(e,`logout`)}:{},...typeof e==`object`&&e.resources!==void 0?{resources:e.resources}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return fG(a),a}function fG(e){if(typeof e!=`object`)return;let t=[e.challenge,e.verify,e.logout].filter(e=>typeof e==`string`).map(e=>{try{return new URL(e).origin}catch{throw new _S({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new _S({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let pG=' Hint: if the server is behind a reverse proxy or tunnel, set `Handler.auth({ trustProxy: true })` to honor `x-forwarded-*` headers, or pin the public origin with `Handler.auth({ origin: \"https://app.example.com\" })`.';function mG(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function hG(e,t){let{chainId:n,message:r}=t,i=t.url??(typeof e==`object`?e.challenge:uG(e,`challenge`)),a=typeof e==`object`?e.resources:void 0,o=xb(r),s=new URL(i);if(o.version!==`1`)throw new _S({message:`Server Authentication challenge endpoint \\`${i}\\` returned a non-SIWE-v1 message.`});if(!o.nonce)throw new _S({message:`Server Authentication challenge endpoint \\`${i}\\` response is missing a \\`nonce\\`.`});if(o.domain!==s.host)throw new _S({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message bound to \\`${o.domain}\\` (expected \\`${s.host}\\`).${pG}`});if(o.uri!==s.origin)throw new _S({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message with \\`uri\\` \\`${o.uri}\\` (expected \\`${s.origin}\\`).${pG}`});if(o.chainId!==n)throw new _S({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message bound to chainId \\`${o.chainId}\\` (expected \\`${n}\\`).`});if(a!==void 0&&!mG(o.resources??[],a))throw new _S({message:`Server Authentication challenge endpoint \\`${i}\\` did not echo the requested SIWE resources.`})}async function gG(e,t){let n=typeof e==`object`?e.challenge:uG(e,`challenge`),r=typeof e==`object`?e.resources:void 0,i=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t,...r===void 0?{}:{resources:r}})});if(!i.ok)throw new _S({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));if(!a.message)throw new _S({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});return hG(e,{chainId:t,message:a.message,url:n}),{message:a.message}}function _G(e){return e.match(/^Nonce: (.+)$/m)?.[1]}async function vG(e){let{audience:t,credentials:n,issuer:r,nonce:i,subject:a}=e,o=await fetch(`${r.replace(/\\/+$/,``)}/token`,{body:JSON.stringify({audience:t,...i?{nonce:i}:{},subject:a}),...n?{credentials:n}:{},headers:{\"content-type\":`application/json`},method:`POST`});if(!o.ok)throw Error(`Identity issuer \\`${r}\\` returned ${o.status}.`);let{idToken:s}=await o.json();return{email:JSON.parse(atob(s.split(`.`)[1].replace(/-/g,`+`).replace(/_/g,`/`))).email??null,idToken:s}}async function yG(e,t){let n=typeof e==`object`?e.verify:uG(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!lG(),i=await fetch(n,{method:`POST`,credentials:`include`,headers:{\"content-type\":`application/json`},body:JSON.stringify({...t,...r?{returnToken:!0}:{}})});if(!i.ok)throw new vS({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return!a||typeof a!=`object`||Array.isArray(a)?{}:a}let bG={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},xG={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},SG={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var CG=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let wG={accent:new CG(`accent`),background:new CG(`background`),border:new CG(`border`),foreground:new CG(`foreground`),muted:new CG(`muted`),negative:new CG(`negative`),positive:new CG(`positive`),surface:new CG(`surface`),fontFamily:new CG(`font-family`),fontSizeBase:new CG(`font-size-base`),radius:new CG(`radius`),spacingUnit:new CG(`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: ${wG.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 TG(e,t=`Authorization`){let n=new URL(location.href);n.searchParams.set(xG.serviceWorker,``);let r=await navigator.serviceWorker.register(n.pathname+n.search),i=await new Promise(e=>{let t=r.installing??r.waiting??r.active;if(t?.state===`activated`)return e(t);let n=t??r;n.addEventListener(`statechange`,function t(){let i=r.active;i?.state===`activated`&&(n.removeEventListener(`statechange`,t),e(i))})});await new Promise(n=>{let r=new MessageChannel;r.port1.onmessage=()=>n(),i.postMessage({credential:e,header:t},[r.port2])}),location.reload()}Wf();function EG(e){let t=document.getElementById(bG.data),n=Vf(t.textContent),r=t.getAttribute(SG.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(SG.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(SG.challengeId),o=a?(i.removeAttribute(SG.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(bG.error)?.remove();return}let t=document.getElementById(bG.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=bG.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:e=>TG(e,o.challenge.header),vars:wG}}let DG=EG(`tempo`),OG=String.raw,kG=document.createElement(`style`);kG.textContent=OG`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${DG.vars.spacingUnit} * 8);\n }\n button {\n background: ${DG.vars.accent};\n border-radius: ${DG.vars.radius};\n color: ${DG.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${DG.vars.spacingUnit} * 4) calc(${DG.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`,DG.root.append(kG);let AG=iG({testnet:DG.challenge.request.methodDetails?.chainId===JO.id||DG.challenge.request.methodDetails?.chainId===qO.id}),jG=document.createElement(`button`);jG.innerHTML=`${DG.text.pay===`Pay`?`Continue with`:DG.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>`,jG.onclick=async()=>{try{DG.error(),jG.disabled=!0;let e=await(async()=>{let e=await AG.request({method:`eth_accounts`});return e.length>0?e.at(0):(await AG.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await zH({account:e,getClient:e=>{let t=e.chainId??DG.challenge.request.methodDetails?.chainId;return Ih({chain:[...AG?.chains??[],JO,qO].find(e=>e.id===t),transport:ux(AG)})}})[0].createCredential({challenge:DG.challenge,context:{}});await DG.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;DG.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{jG.disabled=!1}},DG.root.appendChild(jG)})();</script>";
|
|
3
3
|
//# sourceMappingURL=html.gen.js.map
|