mppx 0.9.0 → 0.9.1
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 +8 -0
- package/dist/Errors.d.ts +10 -0
- package/dist/Errors.js +12 -0
- package/dist/Mcp.d.ts +9 -1
- package/dist/Mcp.js +18 -0
- package/dist/Method.d.ts +7 -0
- package/dist/cli/cli.js +134 -134
- package/dist/cli/plugins/index.js +12 -12
- package/dist/client/internal/protocols/Mcp.js +2 -1
- package/dist/mcp/client/McpClient.js +22 -10
- package/dist/mcp/server/Transport.d.ts +2 -2
- package/dist/mcp/server/Transport.js +11 -4
- package/dist/server/Mppx.d.ts +6 -0
- package/dist/server/Mppx.js +75 -6
- package/dist/server/Transport.js +8 -15
- package/dist/stripe/Methods.d.ts +6 -0
- package/dist/stripe/Methods.js +3 -1
- package/dist/stripe/client/Charge.d.ts +6 -0
- package/dist/stripe/client/Methods.d.ts +6 -0
- package/dist/stripe/internal/payment-intent.d.ts +7 -0
- package/dist/stripe/internal/payment-intent.js +6 -0
- package/dist/stripe/server/Charge.d.ts +6 -0
- package/dist/stripe/server/Charge.js +8 -3
- package/dist/stripe/server/Methods.js +62 -7
- package/dist/stripe/server/internal/html.gen.d.ts +1 -1
- package/dist/stripe/server/internal/html.gen.js +1 -1
- package/dist/tempo/Tokens.d.ts +13 -0
- package/dist/tempo/Tokens.js +13 -0
- package/dist/tempo/client/Charge.d.ts +1 -1
- package/dist/tempo/client/Charge.js +17 -0
- package/dist/tempo/index.d.ts +1 -0
- package/dist/tempo/index.js +1 -0
- package/dist/tempo/internal/fee-payer.d.ts +1 -1
- package/dist/tempo/internal/fee-payer.js +2 -12
- package/dist/tempo/internal/fee-token.d.ts +2 -0
- package/dist/tempo/internal/fee-token.js +7 -0
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/session/client/SessionManager.js +1 -2
- package/dist/tempo/session/server/Session.js +5 -2
- package/dist/x402/mcp.js +4 -3
- package/package.json +1 -1
|
@@ -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 T(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let ee;function te(){return typeof window>`u`?re():C({name:`iframe`},e=>{let{host:t}=e;if(ee&&ee.host===t)return ee.refs.store=e.store,ee.refs.fallback.destroy(),ee.refs.fallback=ne()(e),ee.instance.syncTheme(e.theme),ee.instance;ee?.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(){ee?.instance===ue&&(ee=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(T()&&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 ee={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.55.13`}));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 A(e,t={}){let{signed:n}=t;t.size&&Fn(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function In(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 Ln(e,t={}){let n=A(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 Rn=o((()=>{Mn(),Bt(),Pn()}));function zn(e,t={}){return typeof e==`number`||typeof e==`bigint`?j(e,t):typeof e==`string`?Hn(e,t):typeof e==`boolean`?Bn(e,t):Vn(e,t)}function Bn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{size:t.size})):n}function Vn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Un[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 j(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new 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 Hn(e,t={}){return Vn(Wn.encode(e),t)}var Un,Wn,M=o((()=>{Mn(),Cn(),Rn(),Un=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Wn=new TextEncoder}));function Gn(e,t={}){return typeof e==`number`||typeof e==`bigint`?Yn(e,t):typeof e==`boolean`?Kn(e,t):D(e)?Jn(e,t):Xn(e,t)}function Kn(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 qn(e){if(e>=Qn.zero&&e<=Qn.nine)return e-Qn.zero;if(e>=Qn.A&&e<=Qn.F)return e-(Qn.A-10);if(e>=Qn.a&&e<=Qn.f)return e-(Qn.a-10)}function Jn(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=qn(r.charCodeAt(t++)),i=qn(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 Yn(e,t){return Jn(j(e,t))}function Xn(e,t={}){let n=Zn.encode(e);return typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{dir:`right`,size:t.size})):n}var Zn,Qn,$n=o((()=>{k(),Rt(),Cn(),Rn(),M(),Zn=new TextEncoder,Qn={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function er(e,t=!1){return t?{h:Number(e&rr),l:Number(e>>ir&rr)}:{h:Number(e>>ir&rr)|0,l:Number(e&rr)|0}}function tr(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}=er(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function nr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr=o((()=>{rr=BigInt(2**32-1),ir=BigInt(32),ar=(e,t,n)=>e>>>n,or=(e,t,n)=>e<<32-n|t>>>n,sr=(e,t,n)=>e>>>n|t<<32-n,cr=(e,t,n)=>e<<32-n|t>>>n,lr=(e,t,n)=>e<<64-n|t>>>n-32,ur=(e,t,n)=>e>>>n-32|t<<64-n,dr=(e,t,n)=>e<<n|t>>>32-n,fr=(e,t,n)=>t<<n|e>>>32-n,pr=(e,t,n)=>t<<n-32|e>>>64-n,mr=(e,t,n)=>e<<n-32|t>>>64-n,hr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),gr=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,_r=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),vr=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,yr=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),br=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),Sr,Cr=o((()=>{Sr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction wr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Tr(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Er(e,...t){if(!wr(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 Dr(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);Tr(e.outputLen),Tr(e.blockLen)}function Or(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 kr(e,t){Er(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function Ar(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function jr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Mr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Nr(e,t){return e<<32-t|e>>>t}function Pr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Fr(e){for(let t=0;t<e.length;t++)e[t]=Pr(e[t]);return e}function Ir(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Lr(e){return typeof e==`string`&&(e=Ir(e)),Er(e),e}function Rr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Er(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 zr(e){let t=t=>e().update(Lr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Br(e=32){if(Sr&&typeof Sr.getRandomValues==`function`)return Sr.getRandomValues(new Uint8Array(e));if(Sr&&typeof Sr.randomBytes==`function`)return Uint8Array.from(Sr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Vr,Hr,Ur,Wr=o((()=>{Cr(),Vr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Hr=Vr?e=>e:Fr,Ur=class{}}));function Gr(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=ii(a,o,1)^n[r],c=ai(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=$r[n],a=ii(t,i,r),o=ai(t,i,r),s=Qr[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]^=ni[r],e[1]^=ri[r]}jr(n)}var Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li=o((()=>{xr(),Wr(),Kr=BigInt(0),qr=BigInt(1),Jr=BigInt(2),Yr=BigInt(7),Xr=BigInt(256),Zr=BigInt(113),Qr=[],$r=[],ei=[];for(let e=0,t=qr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Qr.push(2*(5*r+n)),$r.push((e+1)*(e+2)/2%64);let i=Kr;for(let e=0;e<7;e++)t=(t<<qr^(t>>Yr)*Zr)%Xr,t&Jr&&(i^=qr<<(qr<<BigInt(e))-qr);ei.push(i)}ti=tr(ei,!0),ni=ti[0],ri=ti[1],ii=(e,t,n)=>n>32?pr(e,t,n):dr(e,t,n),ai=(e,t,n)=>n>32?mr(e,t,n):fr(e,t,n),oi=class e extends Ur{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,Tr(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=Ar(this.state)}clone(){return this._cloneInto()}keccak(){Hr(this.state32),Gr(this.state32,this.rounds),Hr(this.state32),this.posOut=0,this.pos=0}update(e){Or(this),e=Lr(e),Er(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){Or(this,!1),Er(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 Tr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(kr(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,jr(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}},si=(e,t,n)=>zr(()=>new oi(t,e,n)),ci=si(1,136,32)}));function ui(e,t){let n=t||`hex`,r=ci(D(e,{strict:!1})?Gn(e):e);return n===`bytes`?r:zn(r)}var di=o((()=>{li(),Rt(),$n(),M()}));function fi(e){return pi(e)}var pi,mi=o((()=>{$n(),di(),pi=e=>ui(Gn(e))}));function hi(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 gi=o((()=>{k()})),_i,vi=o((()=>{Nt(),gi(),_i=e=>hi(typeof e==`string`?e:be(e))}));function yi(e){return fi(_i(e))}var bi=o((()=>{mi(),vi()})),xi,Si=o((()=>{bi(),xi=yi})),Ci,wi=o((()=>{k(),Ci=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`})}}})),Ti,Ei=o((()=>{Ti=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 Di(e,t){if(ki.has(`${e}.${t}`))return ki.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=ui(Xn(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 ki.set(`${e}.${t}`,a),a}function Oi(e,t){if(!ji(e,{strict:!1}))throw new Ci({address:e});return Di(e,t)}var ki,Ai=o((()=>{wi(),$n(),di(),Ei(),Pi(),ki=new Ti(8192)}));function ji(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Ni.has(r))return Ni.get(r);let i=Mi.test(e)?e.toLowerCase()===e||!n||Di(e)===e:!1;return Ni.set(r,i),i}var Mi,Ni,Pi=o((()=>{Ei(),Ai(),Mi=/^0x[a-fA-F0-9]{40}$/,Ni=new Ti(8192)}));function Fi(e){return typeof e[0]==`string`?Li(e):Ii(e)}function Ii(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 Li(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Ri=o((()=>{}));function zi(e,t,n,{strict:r}={}){return D(e,{strict:!1})?Ui(e,t,n,{strict:r}):Hi(e,t,n,{strict:r})}function Bi(e,t){if(typeof t==`number`&&t>0&&t>zt(e)-1)throw new gn({offset:t,position:`start`,size:zt(e)})}function Vi(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 Hi(e,t,n,{strict:r}={}){Bi(e,t);let i=e.slice(t,n);return r&&Vi(i,t,n),i}function Ui(e,t,n,{strict:r}={}){Bi(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Vi(i,t,n),i}var Wi=o((()=>{yn(),Rt(),Bt()})),Gi,Ki,qi=o((()=>{Gi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ki=/^(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 Ji(e,t){if(e.length!==t.length)throw new Zt({expectedLength:e.length,givenLength:t.length});return Zi(Yi({params:e,values:t}))}function Yi({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(Xi({param:e[r],value:t[r]}));return n}function Xi({param:e,value:t}){let n=aa(e.type);if(n){let[r,i]=n;return $i(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return ia(t,{param:e});if(e.type===`address`)return Qi(t);if(e.type===`bool`)return ta(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Ki.exec(e.type)??[];return na(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return ea(t,{param:e});if(e.type===`string`)return ra(t);throw new dn(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function Zi(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(j(t+i,{size:32})),r.push(s),i+=zt(s)):n.push(s)}return Li([...n,...r])}function Qi(e){if(!ji(e))throw new Ci({address:e});return{dynamic:!1,encoded:xn(e.toLowerCase())}}function $i(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&&oa(n),a=[];for(let t=0;t<e.length;t++){let r=Xi({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=Zi(a);if(r)return{dynamic:!0,encoded:Li([j(a.length,{size:32}),e])};if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Li(a.map(({encoded:e})=>e))}}function ea(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:Li([xn(j(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 ta(e){if(typeof e!=`boolean`)throw new O(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:xn(Bn(e))}}function na(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:j(e,{size:32,signed:t})}}function ra(e){let t=Hn(e),n=Math.ceil(zt(t)/32),r=[];for(let e=0;e<n;e++)r.push(xn(zi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Li([xn(j(zt(t),{size:32})),...r])}}function ia(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=Xi({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Zi(r):Li(r.map(({encoded:e})=>e))}}function aa(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function oa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components.some(oa);let n=aa(t);return n?oa({...e,type:n[1]}):!1}var sa=o((()=>{hn(),wi(),k(),Mn(),Pi(),Ri(),Cn(),Bt(),Wi(),M(),qi()})),ca,la=o((()=>{Wi(),bi(),ca=e=>zi(yi(e),0,4)}));function ua(e){let{abi:t,args:n=[],name:r}=e,i=D(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?ca(e)===r:e.type===`event`&&xi(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?da(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=fa(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 da(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return ji(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`&&da(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=>da(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function fa(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 fa(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`))&&ji(n[r],{strict:!1}))return o}}var pa=o((()=>{hn(),Rt(),Pi(),Si(),la()}));function N(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var ma=o((()=>{}));function ha(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=ua({abi:t,args:n,name:r});if(!e)throw new rn(r,{docsPath:ga});i=e}if(i.type!==`function`)throw new rn(void 0,{docsPath:ga});return{abi:[i],functionName:ca(Pt(i))}}var ga,_a=o((()=>{hn(),la(),Lt(),pa(),ga=`/docs/contract/encodeFunctionData`}));function va(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:ha(e),i=n[0];return Li([r,(`inputs`in i&&i.inputs?Ji(i.inputs,t??[]):void 0)??`0x`])}var ya=o((()=>{Ri(),sa(),_a()})),ba,xa,Sa,Ca=o((()=>{ba={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.`},xa={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Sa={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),wa,Ta,Ea,Da=o((()=>{k(),wa=class extends O{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},Ta=class extends O{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Ea=class extends O{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Oa(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(ka);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var ka,Aa=o((()=>{Da(),ka={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 Ea({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Ta({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new wa({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 wa({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 ja(e,t={}){return t.size!==void 0&&Fn(e,{size:t.size}),A(Vn(e),t)}function Ma(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 Na(e,t={}){return t.size!==void 0&&Fn(e,{size:t.size}),Ln(Vn(e),t)}function Pa(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 Fa=o((()=>{Mn(),Pn(),Rn(),M()}));function Ia(e,t){let n=typeof t==`string`?Jn(t):t,r=Oa(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:Vn(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]=La(r,o,{staticPosition:0});i+=c,a.push(s)}return a}function La(e,t,{staticPosition:n}){let r=aa(t.type);if(r){let[i,a]=r;return za(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Ua(e,t,{staticPosition:n});if(t.type===`address`)return Ra(e);if(t.type===`bool`)return Ba(e);if(t.type.startsWith(`bytes`))return Va(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Ha(e,t);if(t.type===`string`)return Wa(e,{staticPosition:n});throw new fn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function Ra(e){return[Di(Vn(Hi(e.readBytes(32),-20))),32]}function za(e,t,{length:n,staticPosition:r}){if(n===null){let n=r+Na(e.readBytes(qa)),i=n+Ka;e.setPosition(n);let a=Na(e.readBytes(Ka)),o=Ga(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=La(e,t,{staticPosition:i});s+=a,c.push(r),a===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(r+32),[c,32]}if(Ga(t)){let i=r+Na(e.readBytes(qa)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=La(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]=La(e,t,{staticPosition:r+i});i+=o,a.push(n),o===0&&(e.assertReadLimit(),e._touch())}return[a,i]}function Ba(e){return[Ma(e.readBytes(32),{size:32}),32]}function Va(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Na(e.readBytes(32));e.setPosition(n+t);let r=Na(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Vn(i),32]}return[Vn(e.readBytes(Number.parseInt(i,10),32)),32]}function Ha(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?ja(i,{signed:n}):Na(i,{signed:n}),32]}function Ua(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Ga(t)){let o=n+Na(e.readBytes(qa));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=La(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]=La(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Wa(e,{staticPosition:t}){let n=t+Na(e.readBytes(32));e.setPosition(n);let r=Na(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Pa(e.readBytes(r,32));return e.setPosition(t+32),[i,32]}function Ga(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Ga);let n=aa(e.type);return!!(n&&Ga({...e,type:n[1]}))}var Ka,qa,Ja=o((()=>{hn(),Ai(),Aa(),Bt(),Wi(),Fa(),$n(),M(),sa(),Ka=32,qa=32}));function Ya(e){let{abi:t,data:n,cause:r}=e,i=zi(n,0,4);if(i===`0x`)throw new Jt({cause:r});let a=[...t||[],xa,Sa].find(e=>e.type===`error`&&i===ca(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?Ia(a.inputs,zi(n,4)):void 0,errorName:a.name}}var Xa=o((()=>{Ca(),hn(),Wi(),la(),Ja(),Lt()})),Za,Qa=o((()=>{Za=(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 $a({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`?Za(t[n]):t[n]}`).join(`, `)})`}var eo=o((()=>{Qa()}));function to(e,t=0){if(!Number.isInteger(t)||t<0)throw new co({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 no(e,t=`wei`){return to(e,oo.ether-oo[t])}function ro(e,t=`wei`){return to(e,oo.gwei-oo[t])}function io(e,t=0){if(!Number.isInteger(t)||t<0)throw new co({decimals:t});if(!/^-?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)$/.test(e))throw new so({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=ao(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 ao(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 oo,so,co,lo=o((()=>{oo={wei:0,gwei:9,szabo:12,finney:15,ether:18},so=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`})}},co=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 uo(e,t=`wei`){return no(e,t)}var fo=o((()=>{lo()}));function po(e,t=`wei`){return ro(e,t)}var mo=o((()=>{lo()}));function ho(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function go(e){return e.reduce((e,{address:t,...n})=>{let r=`${e} ${t}:\\n`;return n.nonce&&(r+=` nonce: ${n.nonce}\\n`),n.balance&&(r+=` balance: ${n.balance}\\n`),n.code&&(r+=` code: ${n.code}\\n`),n.state&&(r+=` state:\n`,r+=ho(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=ho(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var _o,vo,yo=o((()=>{k(),_o=class extends O{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},vo=class extends O{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function bo(e){let t=Object.entries(e).map(([e,t])=>t===void 0||t===!1?null:[e,t]).filter(Boolean),n=t.reduce((e,[t])=>Math.max(e,t.length),0);return t.map(([e,t])=>` ${`${e}:`.padEnd(n+1)} ${t}`).join(`\n`)}var xo,So,Co,wo,To,Eo,Do,Oo,ko,Ao,jo,Mo=o((()=>{fo(),mo(),k(),xo=class extends O{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},So=class extends O{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},Co=class extends O{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,bo(e),`}`,``,`To infer the type, either provide:`,\"- a `type` to the Transaction, or\",\"- an EIP-1559 Transaction with `maxFeePerGas`, or\",\"- an EIP-2930 Transaction with `gasPrice` & `accessList`, or\",\"- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or\",\"- an EIP-7702 Transaction with `authorizationList`, or\",\"- a Legacy Transaction with `gasPrice`\"],name:`InvalidSerializableTransactionError`})}},wo=class extends O{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},To=class extends O{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},Eo=class extends O{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},Do=class extends O{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=bo({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Request Arguments:`,f].filter(Boolean),name:`TransactionExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Oo=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`})}},ko=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`})}},Ao=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}},jo=class extends O{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}}));function No(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 Po(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Fo,Io,Lo=o((()=>{Fo=e=>e,Io=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Ro,zo,Bo,Vo,Ho,Uo,Wo=o((()=>{ma(),Ca(),Xa(),Lt(),eo(),pa(),fo(),mo(),hn(),k(),yo(),Mo(),Lo(),Ro=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=bo({from:(t?N(t):void 0)?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});f&&(p+=`\\n${go(f)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Raw Call Arguments:`,p].filter(Boolean),name:`CallExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},zo=class extends O{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=ua({abi:t,args:n,name:a}),c=s?$a({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Pt(s,{includeName:!0}):void 0,u=bo({address:r&&Fo(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}},Bo=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=Ya({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=ba[e]}else{let e=n?Pt(n,{includeName:!0}):void 0,t=n&&a?$a({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}},Vo=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})}},Ho=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`})}},Uo=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}}})),Go,Ko,qo,Jo,Yo=o((()=>{Qa(),k(),Lo(),Go=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: ${Io(a)}`,e&&`Request body: ${Za(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}},Ko=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}},qo=class extends O{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Io(n)}`,`Request body: ${Za(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}},Jo=class extends O{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Io(t)}`,`Request body: ${Za(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es=o((()=>{k(),Yo(),Xo=-1,Zo=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 qo?e.code:t??Xo}},Qo=class extends Zo{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},$o=class e extends Zo{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($o,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),es=class e extends Zo{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),ts=class e extends Zo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),ns=class e extends Zo{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(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),rs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),is=class e extends Zo{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(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),as=class e extends Zo{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(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),os=class e extends Zo{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),ss=class e extends Zo{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),cs=class e extends Zo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),ls=class e extends Zo{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),us=class e extends Zo{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),ds=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),fs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnauthorizedProviderError`,shortMessage:`The requested method and/or account has not been authorized by the user.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),ps=class e extends Qo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),ms=class e extends Qo{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),hs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),gs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),_s=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnsupportedNonOptionalCapabilityError`,shortMessage:`This Wallet does not support a capability that was not marked as optional.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),vs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),ys=class e extends Qo{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),bs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),xs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(xs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Ss=class e extends Qo{constructor(t){super(t,{code:e.code,name:`AtomicReadyWalletRejectedUpgradeError`,shortMessage:`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`})}},Object.defineProperty(Ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Cs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(Cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),ws=class e extends Qo{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(ws,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),Ts=class extends Zo{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));hn(),k(),Wo(),Yo(),Es();function Ds(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Uo?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 Vo({functionName:a,cause:e}):[3,rs.code].includes(c)&&(l||u||d||f)||c===is.code&&u===`execution reverted`&&l?new Bo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof qo?u:f??d,cause:e}):e;return new zo(p,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}Ai(),di();function Os(e){return Di(`0x${ui(`0x${e.substring(4)}`).substring(26)}`)}function ks(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 As(e,t,n){return e&t^~e&n}function js(e,t,n){return e&t^e&n^t&n}var Ms,Ns,Ps,Fs,Is=o((()=>{Wr(),Ms=class extends Ur{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=Mr(this.buffer)}update(e){Or(this),e=Lr(e),Er(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=Mr(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){Or(this),kr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,jr(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;ks(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Mr(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()}},Ns=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ps=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Fs=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys,Xs=o((()=>{Is(),xr(),Wr(),Ls=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]),Rs=new Uint32Array(64),zs=class extends Ms{constructor(e=32){super(64,e,8,!1),this.A=Ns[0]|0,this.B=Ns[1]|0,this.C=Ns[2]|0,this.D=Ns[3]|0,this.E=Ns[4]|0,this.F=Ns[5]|0,this.G=Ns[6]|0,this.H=Ns[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)Rs[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Rs[e-15],n=Rs[e-2],r=Nr(t,7)^Nr(t,18)^t>>>3,i=Nr(n,17)^Nr(n,19)^n>>>10;Rs[e]=i+Rs[e-7]+r+Rs[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=Nr(o,6)^Nr(o,11)^Nr(o,25),u=l+t+As(o,s,c)+Ls[e]+Rs[e]|0,d=(Nr(n,2)^Nr(n,13)^Nr(n,22))+js(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(){jr(Rs)}destroy(){this.set(0,0,0,0,0,0,0,0),jr(this.buffer)}},Bs=tr(`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))),Vs=Bs[0],Hs=Bs[1],Us=new Uint32Array(80),Ws=new Uint32Array(80),Gs=class extends Ms{constructor(e=64){super(128,e,16,!1),this.Ah=Fs[0]|0,this.Al=Fs[1]|0,this.Bh=Fs[2]|0,this.Bl=Fs[3]|0,this.Ch=Fs[4]|0,this.Cl=Fs[5]|0,this.Dh=Fs[6]|0,this.Dl=Fs[7]|0,this.Eh=Fs[8]|0,this.El=Fs[9]|0,this.Fh=Fs[10]|0,this.Fl=Fs[11]|0,this.Gh=Fs[12]|0,this.Gl=Fs[13]|0,this.Hh=Fs[14]|0,this.Hl=Fs[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)Us[n]=e.getUint32(t),Ws[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Us[e-15]|0,n=Ws[e-15]|0,r=sr(t,n,1)^sr(t,n,8)^ar(t,n,7),i=cr(t,n,1)^cr(t,n,8)^or(t,n,7),a=Us[e-2]|0,o=Ws[e-2]|0,s=sr(a,o,19)^lr(a,o,61)^ar(a,o,6),c=cr(a,o,19)^ur(a,o,61)^or(a,o,6),l=_r(i,c,Ws[e-7],Ws[e-16]),u=vr(l,r,s,Us[e-7],Us[e-16]);Us[e]=u|0,Ws[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=sr(u,d,14)^sr(u,d,18)^lr(u,d,41),v=cr(u,d,14)^cr(u,d,18)^ur(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=yr(_,v,b,Hs[e],Ws[e]),S=br(x,g,t,y,Vs[e],Us[e]),C=x|0,w=sr(n,r,28)^lr(n,r,34)^lr(n,r,39),T=cr(n,r,28)^ur(n,r,34)^ur(n,r,39),ee=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}=nr(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=hr(C,T,te);n=gr(ne,S,w,ee),r=ne|0}({h:n,l:r}=nr(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=nr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=nr(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=nr(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=nr(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=nr(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=nr(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=nr(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(){jr(Us,Ws)}destroy(){jr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Ks=class extends Gs{constructor(){super(48),this.Ah=Ps[0]|0,this.Al=Ps[1]|0,this.Bh=Ps[2]|0,this.Bl=Ps[3]|0,this.Ch=Ps[4]|0,this.Cl=Ps[5]|0,this.Dh=Ps[6]|0,this.Dl=Ps[7]|0,this.Eh=Ps[8]|0,this.El=Ps[9]|0,this.Fh=Ps[10]|0,this.Fl=Ps[11]|0,this.Gh=Ps[12]|0,this.Gl=Ps[13]|0,this.Hh=Ps[14]|0,this.Hl=Ps[15]|0}},qs=zr(()=>new zs),Js=zr(()=>new Gs),Ys=zr(()=>new Ks)})),Zs,Qs,$s=o((()=>{Wr(),Zs=class extends Ur{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Dr(e);let n=Lr(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),jr(i)}update(e){return Or(this),this.iHash.update(e),this}digestInto(e){Or(this),Er(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Qs=(e,t,n)=>new Zs(e,t).update(n).digest(),Qs.create=(e,t)=>new Zs(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction ec(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function tc(e){if(!ec(e))throw Error(`Uint8Array expected`)}function nc(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function rc(e){let t=e.toString(16);return t.length&1?`0`+t:t}function ic(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?Sc:BigInt(`0x`+e)}function ac(e){if(tc(e),wc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Tc[e[n]];return t}function oc(e){if(e>=Ec._0&&e<=Ec._9)return e-Ec._0;if(e>=Ec.A&&e<=Ec.F)return e-(Ec.A-10);if(e>=Ec.a&&e<=Ec.f)return e-(Ec.a-10)}function sc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(wc)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=oc(e.charCodeAt(i)),a=oc(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 cc(e){return ic(ac(e))}function lc(e){return tc(e),ic(ac(Uint8Array.from(e).reverse()))}function uc(e,t){return sc(e.toString(16).padStart(t*2,`0`))}function dc(e,t){return uc(e,t).reverse()}function fc(e,t,n){let r;if(typeof t==`string`)try{r=sc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(ec(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 pc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];tc(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 mc(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 hc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function gc(e,t,n){return Dc(e)&&Dc(t)&&Dc(n)&&t<=e&&e<n}function _c(e,t,n,r){if(!gc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function vc(e){let t;for(t=0;e>Sc;e>>=Cc,t+=1);return t}function yc(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=kc(e),i=kc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=kc(0))=>{i=s(Ac([0]),e),r=s(),e.length!==0&&(i=s(Ac([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 pc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function bc(e,t,n={}){let r=(t,n,r)=>{let i=jc[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 xc(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 Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc,Mc=o((()=>{Sc=BigInt(0),Cc=BigInt(1),wc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Tc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Ec={_0:48,_9:57,A:65,F:70,a:97,f:102},Dc=e=>typeof e==`bigint`&&Sc<=e,Oc=e=>(Cc<<BigInt(e))-Cc,kc=e=>new Uint8Array(e),Ac=e=>Uint8Array.from(e),jc={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`||ec(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 Nc(e,t){let n=e%t;return n>=Yc?n:t+n}function Pc(e,t,n){let r=e;for(;t-->Yc;)r*=r,r%=n;return r}function Fc(e,t){if(e===Yc)throw Error(`invert: expected non-zero number`);if(t<=Yc)throw Error(`invert: expected positive modulus, got `+t);let n=Nc(e,t),r=t,i=Yc,a=Xc,o=Xc,s=Yc;for(;n!==Yc;){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!==Xc)throw Error(`invert: does not exist`);return Nc(i,t)}function Ic(e,t){let n=(e.ORDER+Xc)/$c,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Lc(e,t){let n=(e.ORDER-el)/tl,r=e.mul(t,Zc),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Zc),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 Rc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Xc,n=0;for(;t%Zc===Yc;)t/=Zc,n++;let r=Zc,i=Gc(e);for(;Uc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Ic;let a=i.pow(r,t),o=(t+Xc)/Zc;return function(e,r){if(e.is0(r))return r;if(Uc(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=Xc<<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 zc(e){return e%$c===Qc?Ic:e%tl===el?Lc:Rc(e)}function Bc(e){return bc(e,nl.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Vc(e,t,n){if(n<Yc)throw Error(`invalid exponent, negatives unsupported`);if(n===Yc)return e.ONE;if(n===Xc)return t;let r=e.ONE,i=t;for(;n>Yc;)n&Xc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Xc;return r}function Hc(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 Uc(e,t){let n=(e.ORDER-Xc)/Zc,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 Wc(e,t){t!==void 0&&Tr(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Gc(e,t,n=!1,r={}){if(e<=Yc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Wc(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:Oc(i),ZERO:Yc,ONE:Xc,create:t=>Nc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Yc<=t&&t<e},is0:e=>e===Yc,isOdd:e=>(e&Xc)===Xc,neg:t=>Nc(-t,e),eql:(e,t)=>e===t,sqr:t=>Nc(t*t,e),add:(t,n)=>Nc(t+n,e),sub:(t,n)=>Nc(t-n,e),mul:(t,n)=>Nc(t*n,e),pow:(e,t)=>Vc(s,e,t),div:(t,n)=>Nc(t*Fc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Fc(t,e),sqrt:r.sqrt||(t=>(o||=zc(e),o(s,t))),toBytes:e=>n?dc(e,a):uc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?lc(e):cc(e)},invertBatch:e=>Hc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Kc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function qc(e){let t=Kc(e);return t+Math.ceil(t/2)}function Jc(e,t,n=!1){let r=e.length,i=Kc(t),a=qc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Nc(n?lc(e):cc(e),t-Xc)+Xc;return n?dc(o,i):uc(o,i)}var Yc,Xc,Zc,Qc,$c,el,tl,nl,rl=o((()=>{Wr(),Mc(),Yc=BigInt(0),Xc=BigInt(1),Zc=BigInt(2),Qc=BigInt(3),$c=BigInt(4),el=BigInt(5),tl=BigInt(8),nl=[`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 il(e,t){let n=t.negate();return e?n:t}function al(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function ol(e,t){al(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Oc(e),maxNumber:i,shiftBy:BigInt(e)}}function sl(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+=hl);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 cl(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 ll(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 ul(e){return _l.get(e)||1}function dl(e,t){return{constTimeNegate:il,hasPrecomputes(e){return ul(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>ml;)n&hl&&(r=r.add(i)),i=i.double(),n>>=hl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=ol(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=ol(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=sl(i,e,s);i=t,c?o=o.add(il(u,r[d])):a=a.add(il(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=ol(n,t);for(let e=0;e<o.windows&&i!==ml;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=sl(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=gl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&gl.set(t,n(r))),r},wNAFCached(e,t,n){let r=ul(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=ul(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){al(n,t),_l.set(e,n),gl.delete(e)}}}function fl(e,t,n,r){cl(n,e),ll(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=vc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Oc(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 pl(e){return Bc(e.Fp),bc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Wc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var ml,hl,gl,_l,vl=o((()=>{rl(),Mc(),ml=BigInt(0),hl=BigInt(1),gl=new WeakMap,_l=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction yl(e){e.lowS!==void 0&&nc(`lowS`,e.lowS),e.prehash!==void 0&&nc(`prehash`,e.prehash)}function bl(e){let t=pl(e);bc(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 xl(e,t){return ac(uc(e,t))}function Sl(e){let t=bl(e),{Fp:n}=t,r=Gc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return pc(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,Ml),Nl),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 gc(e,Al,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(ec(e)&&(e=ac(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:cc(fc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Nc(o,a)),_c(`private key`,o,Al,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=xc((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=xc(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=Hc(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(fc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return fl(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,Ml),{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,Ml),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;_c(`scalar`,e,kl,i);let a=h.ZERO;if(e===kl)return a;if(this.is0()||e===Al)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>kl||l>kl;)s&Al&&(u=u.add(f)),l&Al&&(d=d.add(f)),f=f.double(),s>>=Al,l>>=Al;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;_c(`scalar`,e,Al,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===kl||t===Al||!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===Al)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===Al?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return nc(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return nc(`isCompressed`,e),ac(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=dl(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function Cl(e){let t=pl(e);return bc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function wl(e){let t=Cl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Nc(e,r)}function l(e){return Fc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=Sl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=pc;return nc(`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=cc(i);if(!gc(e,Al,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&Al)===Al;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>>Al}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>cc(e.slice(t,n));class _{constructor(e,t,n){_c(`r`,e,Al,r),_c(`s`,t,Al,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=fc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Ol.toSig(fc(`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(fc(`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+xl(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 sc(this.toDERHex())}toDERHex(){return Ol.hexFromSig(this)}toCompactRawBytes(){return sc(this.toCompactHex())}toCompactHex(){let e=i;return xl(this.r,e)+xl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=qc(t.n);return Jc(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=fc(`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=cc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=Oc(a);function T(e){return _c(`num < 2^`+a,e,kl,w),uc(e,i)}function ee(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=fc(`msgHash`,e),yl(i),f&&(e=fc(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[T(y),T(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(fc(`extraEntropy`,e))}let x=pc(...b),w=v;function ee(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===kl)return;let a=c(n*c(w+i*y));if(a===kl)return;let o=(r.x===i?0:2)|Number(r.y&Al),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:ee}}let te={lowS:t.lowS,prehash:!1},ne={lowS:t.lowS,prehash:!1};function re(e,n,r=te){let{seed:i,k2sig:a}=ee(e,n,r),o=t;return yc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ie(e,n,r,i=ne){let a=e;n=fc(`msgHash`,n),r=fc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(yl(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`||ec(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 Ol.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 Tl(e,t){let n=e.ORDER,r=kl;for(let e=n-Al;e%jl===kl;e/=jl)r+=Al;let i=r,a=jl<<i-Al-Al,o=a*jl,s=(n-Al)/o,c=(s-Al)/jl,l=o-Al,u=a,d=e.pow(t,s),f=e.pow(t,(s+Al)/jl),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>Al;t--){let n=t-jl;n=jl<<n-Al;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%Nl===Ml){let n=(e.ORDER-Ml)/Nl,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 El(e,t){if(Bc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=Tl(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=Hc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var Dl,Ol,kl,Al,jl,Ml,Nl,Pl=o((()=>{vl(),rl(),Mc(),Dl=class extends Error{constructor(e=``){super(e)}},Ol={Err:Dl,_tlv:{encode:(e,t)=>{let{Err:n}=Ol;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=rc(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?rc(i.length/2|128):``;return rc(e)+a+i+t},decode(e,t){let{Err:n}=Ol,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}=Ol;if(e<kl)throw new t(`integer: negative integers are not allowed`);let n=rc(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}=Ol;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 cc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Ol,i=fc(`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}=Ol,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},kl=BigInt(0),Al=BigInt(1),jl=BigInt(2),Ml=BigInt(3),Nl=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Fl(e){return{hash:e,hmac:(t,...n)=>Qs(e,t,Rr(...n)),randomBytes:Br}}function Il(e,t){let n=t=>wl({...e,...Fl(t)});return{...n(t),create:n}}var Ll=o((()=>{$s(),Wr(),Pl()}));function Rl(e,t){if(Bl(e),Bl(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 zl(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 Bl(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Vl(e,t,n,r){tc(e),tc(t),Bl(n),t.length>255&&(t=r(pc(hc(`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=pc(t,Rl(t.length,1)),c=Rl(0,a),l=Rl(n,2),u=Array(o),d=r(pc(c,e,l,Rl(0,1),s));u[0]=r(pc(d,Rl(1,1),s));for(let e=1;e<=o;e++){let t=[zl(d,u[e-1]),Rl(e+1,1),s];u[e]=r(pc(...t))}return pc(...u).slice(0,n)}function Hl(e,t,n,r,i){if(tc(e),tc(t),Bl(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(hc(`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(Rl(n,2)).update(t).update(Rl(t.length,1)).digest()}function Ul(e,t,n){bc(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;tc(e),Bl(t);let l=typeof c==`string`?hc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Vl(e,l,f,o);else if(s===`xof`)p=Hl(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]=Nc(Kl(o),r)}m[e]=t}return m}function Wl(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]=Hc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Gl(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=Ul(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(Ul(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 Kl,ql=o((()=>{rl(),Mc(),Kl=cc})),Jl=c({encodeToCurve:()=>wu,hashToCurve:()=>Cu,schnorr:()=>yu,secp256k1:()=>uu,secp256k1_hasher:()=>Su});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Yl(e){let t=ru,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=Pc(Pc(Pc(u,n,t)*u%t,n,t)*u%t,su,t)*l%t,f=Pc(d,i,t)*d%t,p=Pc(f,a,t)*f%t,m=Pc(p,s,t)*p%t,h=Pc(Pc(Pc(Pc(Pc(Pc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,su,t);if(!lu.eql(lu.sqr(h),e))throw Error(`Cannot find square root`);return h}function Xl(e,...t){let n=du[e];if(n===void 0){let t=qs(Uint8Array.from(e,e=>e.charCodeAt(0)));n=pc(t,t),du[e]=n}return qs(pc(n,...t))}function Zl(e){let t=uu.utils.normPrivateKeyToScalar(e),n=gu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:hu(-t),bytes:fu(n)}}function Ql(e){_c(`x`,e,ou,ru);let t=mu(e*e),n=Yl(mu(t*e+BigInt(7)));n%su!==au&&(n=mu(-n));let r=new gu(e,n,ou);return r.assertValidity(),r}function $l(...e){return hu(vu(Xl(`BIP0340/challenge`,...e)))}function eu(e){return Zl(e).bytes}function tu(e,t,n=Br(32)){let r=fc(`message`,e),{bytes:i,scalar:a}=Zl(t),o=fc(`auxRand`,n,32),s=Xl(`BIP0340/nonce`,pu(a^vu(Xl(`BIP0340/aux`,o))),i,r),c=hu(vu(s));if(c===au)throw Error(`sign failed: k is zero`);let{bytes:l,scalar:u}=Zl(c),d=$l(l,i,r),f=new Uint8Array(64);if(f.set(l,0),f.set(pu(hu(u+d*a)),32),!nu(f,r,i))throw Error(`sign: Invalid signature produced`);return f}function nu(e,t,n){let r=fc(`signature`,e,64),i=fc(`message`,t),a=fc(`publicKey`,n,32);try{let e=Ql(vu(a)),t=vu(r.subarray(0,32));if(!gc(t,ou,ru))return!1;let n=vu(r.subarray(32,64));if(!gc(n,ou,iu))return!1;let o=$l(pu(t),fu(e),i),s=_u(e,n,hu(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch{return!1}}var ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su,Cu,wu,Tu=o((()=>{Xs(),Wr(),Ll(),ql(),rl(),Mc(),Pl(),ru=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),iu=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),au=BigInt(0),ou=BigInt(1),su=BigInt(2),cu=(e,t)=>(e+t/su)/t,lu=Gc(ru,void 0,void 0,{sqrt:Yl}),uu=Il({a:au,b:BigInt(7),Fp:lu,n:iu,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=iu,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-ou*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=cu(a*e,t),c=cu(-r*e,t),l=Nc(e-s*n-c*i,t),u=Nc(-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}}}},qs),du={},fu=e=>e.toRawBytes(!0).slice(1),pu=e=>uc(e,32),mu=e=>Nc(e,ru),hu=e=>Nc(e,iu),gu=uu.ProjectivePoint,_u=(e,t,n)=>gu.BASE.multiplyAndAddUnsafe(e,t,n),vu=cc,yu={getPublicKey:eu,sign:tu,verify:nu,utils:{randomPrivateKey:uu.utils.randomPrivateKey,lift_x:Ql,pointToBytes:fu,numberToBytesBE:uc,bytesToNumberBE:cc,taggedHash:Xl,mod:Nc}},bu=Wl(lu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),xu=El(lu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:lu.create(BigInt(`-11`))}),Su=Gl(uu.ProjectivePoint,e=>{let{x:t,y:n}=xu(lu.create(e[0]));return bu(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:lu.ORDER,m:1,k:128,expand:`xmd`,hash:qs}),Cu=Su.hashToCurve,wu=Su.encodeToCurve}));Rt(),Bt(),Rn(),M();async function Eu({hash:e,signature:t}){let n=D(e)?e:zn(e),{secp256k1:r}=await Promise.resolve().then(()=>(Tu(),Jl));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=Du(Number(a??i));return new r.Signature(A(e),A(n)).addRecoveryBit(o)}let e=D(t)?t:zn(t);if(zt(e)!==65)throw Error(`invalid signature length`);let n=Du(Ln(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Du(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 Ou({hash:e,signature:t}){return Os(await Eu({hash:e,signature:t}))}k(),Aa(),$n(),M();function ku(e,t=`hex`){let n=Au(e),r=Oa(new Uint8Array(n.length));return n.encode(r),t===`hex`?Vn(r.bytes):r.bytes}function Au(e){return Array.isArray(e)?ju(e.map(e=>Au(e))):Mu(e)}function ju(e){let t=e.reduce((e,t)=>e+t.length,0),n=Nu(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 Mu(e){let t=typeof e==`string`?Jn(e):e,n=Nu(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 Nu(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.`)}Ri(),$n(),M(),di();function Pu(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=ui(Li([`0x05`,ku([t?j(t):`0x`,i,n?j(n):`0x`])]));return r===`bytes`?Jn(a):a}async function Fu(e){let{authorization:t,signature:n}=e;return Ou({hash:Pu(t),signature:n??t})}fo(),mo(),k(),Mo();var Iu=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=bo({from:t?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Estimate Gas Arguments:`,f].filter(Boolean),name:`EstimateGasExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu=o((()=>{mo(),k(),Lu=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(Lu,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Lu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Ru=class extends O{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${po(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(Ru,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),zu=class extends O{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${po(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(zu,\"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/}),Bu=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(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Vu=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(Vu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Hu=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(Hu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Uu=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(Uu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Wu=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(Wu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Gu=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(Gu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Ku=class extends O{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Ku,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),qu=class extends O{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${po(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${po(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(qu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Ju=class extends O{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function Xu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof O?e.walk(e=>e?.code===Lu.code):e;return r instanceof O?new Lu({cause:e,message:r.details}):Lu.nodeMessage.test(n)?new Lu({cause:e,message:e.details}):Ru.nodeMessage.test(n)?new Ru({cause:e,maxFeePerGas:t?.maxFeePerGas}):zu.nodeMessage.test(n)?new zu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Bu.nodeMessage.test(n)?new Bu({cause:e,nonce:t?.nonce}):Vu.nodeMessage.test(n)?new Vu({cause:e,nonce:t?.nonce}):Hu.nodeMessage.test(n)?new Hu({cause:e,nonce:t?.nonce}):Uu.nodeMessage.test(n)?new Uu({cause:e}):Wu.nodeMessage.test(n)?new Wu({cause:e,gas:t?.gas}):Gu.nodeMessage.test(n)?new Gu({cause:e,gas:t?.gas}):Ku.nodeMessage.test(n)?new Ku({cause:e}):qu.nodeMessage.test(n)?new qu({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Ju({cause:e})}var Zu=o((()=>{k(),Yu()}));Yu(),Zu();function Qu(e,{docsPath:t,...n}){return new Iu((()=>{let t=Xu(e,n);return t instanceof Ju?e:t})(),{docsPath:t,...n})}function $u(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 ed=o((()=>{}));function td(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 nd=o((()=>{}));function rd(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=id(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=>Vn(e))),e.data!==void 0&&(n.data=e.data),e.account&&(n.from=e.account.address),e.from!==void 0&&(n.from=e.from),e.gas!==void 0&&(n.gas=j(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=j(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=j(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=j(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=j(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=j(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=ad[e.type]),e.value!==void 0&&(n.value=j(e.value)),n}function id(e){return e.map(e=>({address:e.address,r:e.r?j(BigInt(e.r)):e.r,s:e.s?j(BigInt(e.s)):e.s,chainId:j(e.chainId),nonce:j(e.nonce),...e.yParity===void 0?{}:{yParity:j(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:j(e.v)}:{}}))}var ad,od,sd=o((()=>{M(),nd(),ad={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},od=td(`transactionRequest`,rd)}));function cd(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 ld(e){let{balance:t,nonce:n,state:r,stateDiff:i,code:a}=e,o={};if(a!==void 0&&(o.code=a),t!==void 0&&(o.balance=j(t)),n!==void 0&&(o.nonce=j(n)),r!==void 0&&(o.state=cd(r)),i!==void 0){if(o.state)throw new vo;o.stateDiff=cd(i)}return o}function ud(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!ji(n,{strict:!1}))throw new Ci({address:n});if(t[n])throw new _o({address:n});t[n]=ld(r)}return t}var dd=o((()=>{wi(),yn(),yo(),Pi(),M()})),fd,pd=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)),fd=2n**256n-1n}));function md(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?N(t):void 0;if(a&&!ji(a.address))throw new Ci({address:a.address});if(i&&!ji(i))throw new Ci({address:i});if(n&&n>fd)throw new Ru({maxFeePerGas:n});if(r&&n&&r>n)throw new qu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var hd=o((()=>{ma(),pd(),wi(),Yu(),Pi()}));mo(),k();var gd=class extends O{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},_d=class extends O{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},vd=class extends O{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${po(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};k();var yd=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`})}};Rn(),nd();let bd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function xd(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?Ln(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?Ln(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?bd[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=Cd(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 Sd=td(`transaction`,xd);function Cd(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 wd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:xd(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}M();async function Td(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:j(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new yd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||wd)(s,`getBlock`)}async function Ed(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}Rn();async function Dd(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,Td,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?A(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):E(e,Td,`getBlock`)({}),E(e,Ed,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new _d;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Od(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 gd;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.round(o*s))/BigInt(s),l=n||await E(e,Td,`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 _d;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await Dd(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,Ed,`getGasPrice`)({}))}}function kd(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`?j(n):r??`latest`}var Ad=o((()=>{k(),M()}));Ad(),Rn();async function jd(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=kd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return Ln(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}$n(),M();function Md(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=>Jn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Vn(e))}$n(),M();function Nd(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=>Jn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>Jn(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=>Vn(e))}Xs();let Pd=qs;Rt(),$n(),M();function Fd(e,t){let n=t||`hex`,r=Pd(D(e,{strict:!1})?Gn(e):e);return n===`bytes`?r:zn(r)}M();function Id(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Fd(t,`bytes`);return i.set([n],0),r===`bytes`?i:Vn(i)}function Ld(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Id({commitment:e,to:r,version:n}));return i}k();var Rd=class extends O{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},zd=class extends O{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Bd=class extends O{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Vd=class extends O{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};Aa(),Bt(),$n(),M();function Hd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Jn(e.data):e.data,r=zt(n);if(!r)throw new zd;if(r>761855)throw new Rd({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Oa(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=>Vn(e.bytes))}function Ud(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Hd({data:t,to:r}),a=e.commitments??Md({blobs:i,kzg:n,to:r}),o=e.proofs??Nd({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}Mo();function Wd(e){if(e.type)return e.type;if(e.authorizationList!==void 0)return`eip7702`;if(e.blobs!==void 0||e.blobVersionedHashes!==void 0||e.maxFeePerBlobGas!==void 0||e.sidecars!==void 0)return`eip4844`;if(e.maxFeePerGas!==void 0||e.maxPriorityFeePerGas!==void 0)return`eip1559`;if(e.gasPrice!==void 0)return e.accessList===void 0?`legacy`:`eip2930`;throw new Co({transaction:e})}Yu(),Mo(),Zu();function Gd(e,{docsPath:t,...n}){let r=(()=>{let t=Xu(e,n);return t instanceof Ju?e:t})();return new Do(r,{docsPath:t,...n})}Rn();async function Kd(e){return Ln(await e.request({method:`eth_chainId`},{dedupe:!0}))}ma(),ed(),sd(),hd();async function qd(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=N(n),r=a?a.id:await E(e,Kd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();md(t);let x=a?.formatters?.transactionRequest?.format,S=(x||rd)({...$u(y,{format:x}),account:n?N(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||xd)(n.tx);delete r.blockHash,delete r.blockNumber,delete r.r,delete r.s,delete r.transactionIndex,delete r.v,delete r.yParity,r.data=r.input,r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let i=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await E(e,Td,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new gd;let o=10**(i.toString().split(`.`)[1]?.length??0),s=e=>e*BigInt(Math.round(i*o))/BigInt(o);return r.feePayerSignature||(r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=s(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=s(r.gasPrice))),{raw:n.raw,transaction:{from:S.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw Gd(n,{...t,chain:e.chain})}}ma(),Ei(),hd();let Jd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Yd=new Map,Xd=new Ti(128);async function Zd(e,t){let n=t;n.account??=e.account,n.parameters??=Jd;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,Kd,`getChainId`)({}),c):n.chainId)}let u=r&&N(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?N(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)||!(Xd.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,qd,`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 Xd.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.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`)})&&Xd.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,Td,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await E(e,jd,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=Md({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Ld({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Ud({blobs:p,commitments:e,proofs:Nd({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=Wd(n)}catch{let t=Yd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Yd.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 Od(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new vd({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new _d;if(n.gasPrice===void 0){let{gasPrice:t}=await Od(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,Qd,`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`})),md(n),delete n.parameters,n}ma(),k(),M(),ed(),sd(),dd(),hd();async function Qd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?N(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 Fu({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 Zd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?j(u):void 0)||d,C=ud(b);md(t);let w=e.chain?.formatters?.transactionRequest?.format,T=(w||rd)({...$u(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?[T,S??e.experimental_blockTag??`latest`,C]:S?[T,S]:[T]}))}catch(n){throw Qu(n,{...t,account:i,chain:e.chain})}}ma(),ya();async function $d(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=va({abi:n,args:i,functionName:a});try{return await E(e,Qd,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw Ds(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?N(s.account):void 0)?.address})}}function ef(e,t){if(!ji(e,{strict:!1}))throw new Ci({address:e});if(!ji(t,{strict:!1}))throw new Ci({address:t});return e.toLowerCase()===t.toLowerCase()}var tf=o((()=>{wi(),Pi()}));function nf(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(),Da(),Bt(),Si(),Ja(),Lt();let rf=`/docs/contract/decodeEventLog`;function af(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new tn({docsPath:rf});let c=t.find(e=>e.type===`event`&&o===xi(Pt(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new nn(o,{docsPath:rf});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]=of({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=Ia(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 Ta?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 of({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Ia([e],t)||[])[0]}tf(),$n(),di(),Si();function sf(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:xi(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?nf(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=af({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=af({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)||!cf({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function cf(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`?ef(t,n):e.type===`string`||e.type===`bytes`?ui(Gn(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 lf(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=ua({abi:t,args:n,name:r});if(!e)throw new rn(r,{docsPath:uf});a=e}if(a.type!==`function`)throw new rn(void 0,{docsPath:uf});if(!a.outputs)throw new an(a.name,{docsPath:uf});let o=Ia(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var uf,df=o((()=>{hn(),Ja(),pa(),uf=`/docs/contract/decodeFunctionResult`})),ff,pf=o((()=>{ff=`0.1.1`}));function mf(){return ff}var hf=o((()=>{pf()}));function gf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?gf(e.cause,t):t?null:e}var P,_f=o((()=>{hf(),P=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=n.docsOrigin??e.prototype.docsOrigin,o=`${a}${i??``}`,s=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,l=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i||s?[``,r?`Details: ${r}`:void 0,i?`See: ${o}`:void 0,s?`Version: ${c}`:void 0]:[]].filter(e=>typeof e==`string`).join(`\n`);super(l,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsOrigin\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"showVersion\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.cause=n.cause,this.details=r,this.docs=o,this.docsOrigin=a,this.docsPath=i,this.shortMessage=t,this.showVersion=s,this.version=c}walk(e){return gf(this,e)}},Object.defineProperty(P,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${mf()}`}}),P.setStaticOptions(P.defaultStaticOptions)}));function vf(e,t){if(Kf(e)>t)throw new ap({givenSize:Kf(e),maxSize:t})}function yf(e,t){if(typeof t==`number`&&t>0&&t>Kf(e)-1)throw new op({offset:t,position:`start`,size:Kf(e)})}function bf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Kf(e)!==n-t)throw new op({offset:n,position:`end`,size:Kf(e)})}function xf(e){if(e>=wf.zero&&e<=wf.nine)return e-wf.zero;if(e>=wf.A&&e<=wf.F)return e-(wf.A-10);if(e>=wf.a&&e<=wf.f)return e-(wf.a-10)}function Sf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new sp({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 Cf(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 wf,Tf=o((()=>{cp(),wf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function Ef(e,t){if(_p(e)>t)throw new kp({givenSize:_p(e),maxSize:t})}function Df(e,t){if(typeof t==`number`&&t>0&&t>_p(e)-1)throw new Ap({offset:t,position:`start`,size:_p(e)})}function Of(e,t,n){if(typeof t==`number`&&typeof n==`number`&&_p(e)!==n-t)throw new Ap({offset:n,position:`end`,size:_p(e)})}function kf(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 jp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function Af(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 jf=o((()=>{z()}));function Mf(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=>Mf(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)}:${Mf(r)}`),t},[]).join(`,`)}}`}function Nf(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Ff)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Pf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Ff:n,n)}var Ff,If=o((()=>{Ff=`#__bigint`}));function Lf(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 ip(e)}function Rf(...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 zf(e){return e instanceof Uint8Array?e:typeof e==`string`?Vf(e):Bf(e)}function Bf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Vf(e,t={}){let{size:n}=t,r=e;n&&(Ef(e,n),r=hp(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=xf(i.charCodeAt(t++)),r=xf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new P(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function Hf(e,t={}){let{size:n}=t,r=np.encode(e);return typeof n==`number`?(vf(r,n),Wf(r,n)):r}function Uf(e,t){return mc(e,t)}function Wf(e,t){return Sf(e,{dir:`right`,size:t})}function Gf(e){return crypto.getRandomValues(new Uint8Array(e))}function Kf(e){return e.length}function qf(e,t,n,r={}){let{strict:i}=r;yf(e,t);let a=e.slice(t,n);return i&&bf(a,t,n),a}function Jf(e,t={}){let{size:n}=t;return n!==void 0&&vf(e,n),R(fp(e,t),t)}function Yf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(vf(r,n),r=Qf(r)),r.length>1||r[0]>1)throw new rp(r);return!!r[0]}function Xf(e,t={}){let{size:n}=t;return n!==void 0&&vf(e,n),bp(fp(e,t),t)}function Zf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(vf(r,n),r=$f(r)),tp.decode(r)}function Qf(e){return Cf(e,{dir:`left`})}function $f(e){return Cf(e,{dir:`right`})}function ep(e){try{return Lf(e),!0}catch{return!1}}var tp,np,rp,ip,ap,op,sp,cp=o((()=>{Mc(),_f(),z(),Tf(),jf(),If(),tp=new TextDecoder,np=new TextEncoder,rp=class extends P{constructor(e){super(`Bytes value \\`${e}\\` is not a valid boolean.`,{metaMessages:[\"The bytes array must contain a single byte of either a `0` or `1` value.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesBooleanError`})}},ip=class extends P{constructor(e){super(`Value \\`${typeof e==`object`?Pf(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`})}},ap=class extends P{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeOverflowError`})}},op=class extends P{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SliceOffsetOutOfBoundsError`})}},sp=class extends P{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeExceedsPaddingSizeError`})}}}));function lp(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new Ep(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new Dp(e)}function F(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function up(e){return e instanceof Uint8Array?fp(e):Array.isArray(e)?fp(new Uint8Array(e)):e}function dp(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Ef(n,t.size),mp(n,t.size)):n}function fp(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=wp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Ef(r,t.size),hp(r,t.size)):r}function I(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Tp({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?mp(s,r):s}function pp(e,t={}){return fp(Cp.encode(e),t)}function mp(e,t){return kf(e,{dir:`left`,size:t})}function hp(e,t){return kf(e,{dir:`right`,size:t})}function gp(e){return fp(Gf(e))}function L(e,t,n,r={}){let{strict:i}=r;Df(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&Of(a,t,n),a}function _p(e){return Math.ceil((e.length-2)/2)}function vp(e){return Af(e,{dir:`left`})}function R(e,t={}){let{signed:n}=t;t.size&&Ef(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 yp(e,t={}){return Vf(e,t)}function bp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:R(e,t))}function xp(e,t={}){let{size:n}=t,r=Vf(e);return n&&(vf(r,n),r=$f(r)),new TextDecoder().decode(r)}function Sp(e,t={}){let{strict:n=!1}=t;try{return lp(e,{strict:n}),!0}catch{return!1}}var Cp,wp,Tp,Ep,Dp,Op,kp,Ap,jp,z=o((()=>{cp(),_f(),Tf(),jf(),If(),Cp=new TextEncoder,wp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Tp=class extends P{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \\`${i}\\` is not in safe${r?` ${r*8}-bit`:``}${n?` signed`:` unsigned`} integer range ${e?`(\\`${t}\\` to \\`${e}\\`)`:`(above \\`${t}\\`)`}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.IntegerOutOfRangeError`})}},Ep=class extends P{constructor(e){super(`Value \\`${typeof e==`object`?Pf(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`})}},Dp=class extends P{constructor(e){super(`Value \\`${e}\\` is an invalid hex value.`,{metaMessages:['Hex values must start with `\"0x\"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexValueError`})}},Op=class extends P{constructor(e){super(`Hex value \\`\"${e}\"\\` is an odd length (${e.length-2} nibbles).`,{metaMessages:[`It must be an even length.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidLengthError`})}},kp=class extends P{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeOverflowError`})}},Ap=class extends P{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},jp=class extends P{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeExceedsPaddingSizeError`})}}}));function Mp(e){return{address:e.address,amount:I(e.amount),index:I(e.index),validatorIndex:I(e.validatorIndex)}}var Np=o((()=>{z()}));function Pp(e){return{...typeof e.baseFeePerGas==`bigint`&&{baseFeePerGas:I(e.baseFeePerGas)},...typeof e.blobBaseFee==`bigint`&&{blobBaseFee:I(e.blobBaseFee)},...typeof e.feeRecipient==`string`&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit==`bigint`&&{gasLimit:I(e.gasLimit)},...typeof e.number==`bigint`&&{number:I(e.number)},...typeof e.prevRandao==`bigint`&&{prevRandao:I(e.prevRandao)},...typeof e.time==`bigint`&&{time:I(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Mp)}}}var Fp=o((()=>{z(),Np()})),Ip,Lp,Rp,zp,Bp,Vp,Hp=o((()=>{Ip=[{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`}],Lp=[{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`}]}],Rp=[{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`}],[...Rp],[...Rp],zp=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Bp=[{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`}],Vp=[{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`}]}]})),Up=o((()=>{})),Wp,Gp,Kp,qp,Jp=o((()=>{Wp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Gp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Kp=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,qp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),Yp,Xp,Zp,Qp,$p,em=o((()=>{k(),Yp=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`})}},Xp=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`})}},Zp=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`})}},Qp=class extends O{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},$p=class extends O{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function tm(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:nm});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new Kt({docsPath:nm});return Li([r,Ji(i.inputs,n)])}var nm,rm=o((()=>{hn(),Ri(),sa(),nm=`/docs/contract/encodeDeployData`}));function im({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Yp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Yp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var am=o((()=>{em()}));function om(e,{docsPath:t,...n}){let r=(()=>{let t=Xu(e,n);return t instanceof Ju?e:t})();return new Ro(r,{docsPath:t,...n})}var sm=o((()=>{Wo(),Yu(),Zu()}));function cm(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var lm=o((()=>{}));function um({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=()=>dm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>dm.get(t)||[],l=e=>dm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=cm();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 dm,fm=o((()=>{lm(),dm=new Map})),pm,mm,hm,gm=o((()=>{Qa(),k(),Lo(),pm=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=>` ${Io(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},mm=class extends O{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Io(t)}`,`Response: ${Za(e)}`],name:`OffchainLookupResponseMalformedError`})}},hm=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 _m(e){let{abi:t,data:n}=e,r=zi(n,0,4),i=t.find(e=>e.type===`function`&&r===ca(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?Ia(i.inputs,zi(n,4)):void 0}}var vm=o((()=>{hn(),Wi(),la(),Ja(),Lt()}));function ym(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=ua({abi:t,args:r,name:n});if(!e)throw new $t(n,{docsPath:bm});i=e}if(i.type!==`error`)throw new $t(void 0,{docsPath:bm});let a=Pt(i),o=ca(a),s=`0x`;if(r&&r.length>0){if(!i.inputs)throw new Qt(i.name,{docsPath:bm});s=Ji(i.inputs,r)}return Li([o,s])}var bm,xm=o((()=>{hn(),Ri(),la(),sa(),Lt(),pa(),bm=`/docs/contract/encodeErrorResult`}));function Sm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=ua({abi:t,name:n});if(!e)throw new rn(n,{docsPath:Cm});i=e}if(i.type!==`function`)throw new rn(void 0,{docsPath:Cm});if(!i.outputs)throw new an(i.name,{docsPath:Cm});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 Ji(i.outputs,a)}var Cm,wm=o((()=>{hn(),sa(),pa(),Cm=`/docs/contract/encodeFunctionResult`}));async function Tm(e){let{data:t,ccipRequest:n}=e,{args:[r]}=_m({abi:Lp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await Tm({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=Em(e)}})),Sm({abi:Lp,functionName:`query`,result:[i,a]})}function Em(e){return e.name===`HttpRequestError`&&e.status?ym({abi:Lp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):ym({abi:[xa],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var Dm=o((()=>{Hp(),Ca(),vm(),xm(),wm()})),Om=c({ccipRequest:()=>Am,offchainLookup:()=>km,offchainLookupAbiItem:()=>Mm,offchainLookupSignature:()=>jm});async function km(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=Ya({data:r,abi:[Mm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:Am;try{if(!ef(a,s))throw new hm({sender:s,to:a});let{data:r}=await Pm(e,{blockNumber:t,blockTag:n,data:Fi([u,Ji([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await Tm({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?No(i.signal):Po(e)?e:new pm({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function Am({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 No(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 Go({body:c,details:a?.error?Za(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!D(a)){i=new mm({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw No(t.signal);if(Po(e))throw e;i=new Go({body:c,details:e.message,url:o})}}throw i}var jm,Mm,Nm=o((()=>{Gm(),gm(),Yo(),Lo(),Xa(),sa(),tf(),Ri(),Rt(),Dm(),Qa(),jm=`0x556f1830`,Mm={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 Pm(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:T,...ee}=t,te=n?N(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?Bm({code:f,data:p}):re?Vm({data:p,factory:m,factoryData:h,to:C}):p;try{md(t);let n=kd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Pp(d):void 0,p=ud(T),m=e.chain?.formatters?.transactionRequest?.format,h=(m||rd)({...$u(ee,{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&&Fm({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=Rm(e,{blockNumber:o,deployless:t});if(!n||!zm(p,n))return await Lm(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof Qp)&&!(e instanceof Yp))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 No(S.signal);if(Po(n))throw n;let r=Hm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Nm(),Om));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 Ho({factory:m}):om(n,{...t,account:te,chain:e.chain})}}function Fm({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 Im(e){if(!e)return`default`;let t=Wm.get(e);if(t!==void 0)return t;let n=Um++;return Wm.set(e,n),n}async function Lm(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?Rm(e,{blockNumber:o,deployless:r}):u,h=kd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=um({id:`${e.uid}.${g}.${Im(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=va({abi:Ip,args:[n],functionName:`aggregate3`}),i={...m===null?{data:Bm({code:qp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return lf({abi:Ip,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Uo({data:y});return y===`0x`?{data:void 0}:{data:y}}function Rm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return im({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new Qp}function zm(e,t){return e?Object.keys(e).some(e=>ef(e,t)):!1}function Bm(e){let{code:t,data:n}=e;return tm({abi:jt([`constructor(bytes, bytes)`]),bytecode:Wp,args:[t,n]})}function Vm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return tm({abi:jt([`constructor(address, bytes, address, bytes)`]),bytecode:Gp,args:[i,t,n,r]})}function Hm(e){if(!(e instanceof O))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Um,Wm,Gm=o((()=>{Nt(),Fp(),ma(),Hp(),Up(),Jp(),k(),em(),Wo(),Lo(),df(),rm(),ya(),tf(),Ad(),am(),sm(),ed(),sd(),fm(),dd(),hd(),Um=0,Wm=new WeakMap}));df(),ya(),Gm();async function Km(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=va({abi:n,args:i,functionName:a});try{let{data:t}=await E(e,Pm,`call`)({...o,data:s,to:r});return lf({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw Ds(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}ma(),df(),ya(),Gm();async function qm(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?N(s.account):e.account,l=va({abi:n,args:i,functionName:a});try{let{data:u}=await E(e,Pm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:lf({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 Ds(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}let Jm=new Map,Ym=new Map,Xm=0;function Zm(e,t,n){let r=++Xm,i=()=>Jm.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Jm.delete(e),Ym.delete(e);return}Jm.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Ym.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Jm.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`&&Ym.set(e,l),o}Lo();async function Qm(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(No(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(No(t))};t?.addEventListener(`abort`,o,{once:!0})})}function $m(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await Qm(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await Qm(r),s())};s()})(),a}let eh=new Map,th=new Map;function nh(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,eh),r=t(e,th);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function rh(e,{cacheKey:t,cacheTime:n=1/0}){let r=nh(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 ih=e=>`blockNumber.${e}`;async function ah(e,{cacheTime:t=e.cacheTime}={}){let n=await rh(()=>e.request({method:`eth_blockNumber`}),{cacheKey:ih(e.uid),cacheTime:t});return BigInt(n)}k();var oh=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`})}},sh=class extends O{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};em();function ch({chain:e,currentChainId:t}){if(!e)throw new Zp;if(t!==e.id)throw new Xp({chain:e,currentChainId:t})}async function lh(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ma(),k(),Ri(),ed(),sd(),Ei(),hd();let uh=new Ti(128);async function dh(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 oh({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?N(n):null,b;try{md(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Fu({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,Kd,`getChainId`)({}),r&&ch({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||rd)({...$u(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=uh.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=>(uh.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(uh.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,Zd,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:t,parameters:[...Jd,`sidecars`],type:g,value:_,...v,to:n}),x=i?.serializers?.transaction,S=await y.signTransaction(r,{serializer:x});return await E(e,lh,`sendRawTransaction`)({serializedTransaction:S})}throw y?.type===`smart`?new sh({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new sh({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof sh?e:(b&&y?.nonceManager?.reset(b),Gd(e,{...t,account:y,chain:t.chain||void 0}))}}ma(),ya();async function fh(e,t){return fh.internal(e,dh,`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 oh({docsPath:`/docs/contract/writeContract`});let u=a?N(a):null,d=va({abi:i,args:s,functionName:c});try{return await E(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw Ds(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(fh||={}),k();var ph=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}};Lo();function mh(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(No(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await Qm(n,{signal:i})}catch(e){o(e);return}return s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(No(i));return}if(Po(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s().catch(o)})}Rn(),nd();let hh={\"0x0\":`reverted`,\"0x1\":`success`};function gh(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=>nf(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Ln(e.transactionIndex):null,status:e.status?hh[e.status]:null,type:e.type?bd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let _h=td(`transactionReceipt`,gh);ma(),k(),Es(),ya(),Ri(),Rn(),M();let vh=j(0,{size:32});async function yh(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?N(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?va({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Fi([n,t.dataSuffix]):n,to:t.to,value:t.value?j(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:j(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e=\"non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.\";throw new _s(new O(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new Cs(new O(e,{details:e}))}let t=[];for(let n of d){try{let i=await dh(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?A(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:Fi([...t.map(e=>e.status===`fulfilled`?e.value:vh),j(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Gd(n,{...t,account:l,chain:t.chain})}}Wi(),Pn(),Rn();async function bh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Nn(Ui(t,-64,-32)),r=Ui(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>vh.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:Ln(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?Ln(i):void 0,receipts:a?.map(e=>({...e,blockNumber:A(e.blockNumber),gasUsed:A(e.gasUsed),status:hh[e.status]}))??[],statusCode:l,status:c,version:o}}k(),lm(),Qa();async function xh(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=Za([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=cm(),p,m=Zm(l,{resolve:d,reject:f},t=>{let s=$m(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await mh(async()=>{let t=await E(e,bh,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new ph(t);return t},{retryCount:a,delay:o});if(!i(s))return;r(()=>t.resolve(s))}catch(e){r(()=>t.reject(e))}},{interval:r,emitOnBegin:!0});return s});return p=s?setTimeout(()=>{m(),clearTimeout(p),f(new Sh({id:n}))},s):void 0,await u}var Sh=class extends O{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let Ch=256,wh;function Th(e=11){if(!wh||Ch+e>512){wh=``,Ch=0;for(let e=0;e<256;e++)wh+=(256+Math.random()*256|0).toString(16).substring(1)}return wh.substring(Ch,Ch+++e)}ma();function Eh(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?N(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:Th(),...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];Dh(i)&&Dh(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:y(r)})}}return Object.assign(v,{extend:y(v)})}function Dh(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Oh(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}Ad();async function kh(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=kd({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}pd(),wi(),k(),em(),Yu(),Pi(),Bt(),Wi(),Rn();function Ah(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!ji(n))throw new Ci({address:n});if(t<0)throw new $p({chainId:t})}Mh(e)}function jh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new zd;for(let e of t){let t=zt(e),n=Ln(zi(e,0,1));if(t!==32)throw new Bd({hash:e,size:t});if(n!==1)throw new Vd({hash:e,version:n})}}Mh(e)}function Mh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new $p({chainId:t});if(i&&!ji(i))throw new Ci({address:i});if(r&&r>fd)throw new Ru({maxFeePerGas:r});if(n&&r&&n>r)throw new qu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function Nh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new $p({chainId:t});if(a&&!ji(a))throw new Ci({address:a});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>fd)throw new Ru({maxFeePerGas:r})}function Ph(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!ji(a))throw new Ci({address:a});if(t!==void 0&&t<=0)throw new $p({chainId:t});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>fd)throw new Ru({maxFeePerGas:r})}wi(),Mo(),Pi();function Fh(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let{address:r,storageKeys:i}=e[n];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new Eo({storageKey:i[e]});if(!ji(r,{strict:!1}))throw new Ci({address:r});t.push([r,i])}return t}Mo(),Ri(),Pn(),M();function Ih(e,t){let n=Wd(e);return n===`eip1559`?zh(e,t):n===`eip2930`?Bh(e,t):n===`eip4844`?Rh(e,t):n===`eip7702`?Lh(e,t):Vh(e,t)}function Lh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Ah(e);let f=Fh(u),p=Uh(n);return Li([`0x04`,ku([j(r),a?j(a):`0x`,l?j(l):`0x`,c?j(c):`0x`,i?j(i):`0x`,o??`0x`,s?j(s):`0x`,d??`0x`,f,p,...Hh(e,t)])])}function Rh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;jh(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=>Vn(e)),n=e.kzg,r=Md({blobs:t,kzg:n});f===void 0&&(f=Ld({commitments:r})),p===void 0&&(p=Ud({blobs:t,commitments:r,proofs:Nd({blobs:t,commitments:r,kzg:n})}))}let m=Fh(u),h=[j(n),i?j(i):`0x`,l?j(l):`0x`,c?j(c):`0x`,r?j(r):`0x`,a??`0x`,o?j(o):`0x`,d??`0x`,m,s?j(s):`0x`,f??[],...Hh(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 Li([`0x03`,ku(p?[h,g,_,v]:h)])}function zh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;Mh(e);let d=Fh(l);return Li([`0x02`,ku([j(n),i?j(i):`0x`,c?j(c):`0x`,s?j(s):`0x`,r?j(r):`0x`,a??`0x`,o?j(o):`0x`,u??`0x`,d,...Hh(e,t)])])}function Bh(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;Nh(e);let u=Fh(c);return Li([`0x01`,ku([j(n),a?j(a):`0x`,l?j(l):`0x`,r?j(r):`0x`,o??`0x`,s?j(s):`0x`,i??`0x`,u,...Hh(e,t)])])}function Vh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;Ph(e);let l=[a?j(a):`0x`,c?j(c):`0x`,r?j(r):`0x`,o??`0x`,s?j(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new xo({v:t.v});return e})(),r=Nn(t.r),i=Nn(t.s);l=[...l,j(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,j(n),`0x`,`0x`]);return ku(l)}function Hh(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?j(1):`0x`:r===0n?`0x`:r===1n?j(1):r===27n?`0x`:j(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}M();function Uh(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?zn(e):`0x`,a,r?zn(r):`0x`,...Hh({},i)])}return t}Ai(),tf();async function Wh({address:e,authorization:t,signature:n}){return ef(Oi(e),await Fu({authorization:t,signature:n}))}Ei();let Gh=new Ti(8192);function Kh(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Gh.get(n))return Gh.get(n);let r=e().finally(()=>Gh.delete(n));return Gh.set(n,r),r}k(),Yo(),Es(),Lo(),Qa();function qh(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 cs(Error(`method not supported`),{method:u});if(c?.aborted)throw No(c);return Kh(()=>mh(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw No(c);if(Po(e))throw e;let t=e;switch(t.code){case $o.code:throw new $o(t);case es.code:throw new es(t);case ts.code:throw new ts(t,{method:n.method});case ns.code:throw new ns(t);case rs.code:throw new rs(t);case is.code:throw new is(t);case as.code:throw new as(t);case os.code:throw new os(t);case ss.code:throw new ss(t);case cs.code:throw new cs(t,{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);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 5e3:throw new ds(t);case ws.code:throw new ws(t);default:throw e instanceof O?e:new Ts(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Go){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>Jh(e)}),{enabled:i,id:i?Yh(`${l}.${Za(n)}`):void 0})}}function Jh(e){return Po(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===ls.code||e.code===rs.code||e.code===429:e instanceof Go&&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 Yh(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 Xh(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 Zh(){return{}}k(),Mn(),Aa(),$n(),M();let Qh=1024;function $h(e,t=`hex`){let n=Oa((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Dn(e);return Jn(e)}return e})(),{recursiveReadLimit:1/0}),r=eg(n,t);if(n.position<n.bytes.length)throw new An({count:n.bytes.length-n.position});return r}function eg(e,t=`hex`,n=0){if(n>=Qh)throw new On({limit:Qh});if(e.bytes.length===0)return t===`hex`?Vn(e.bytes):e.bytes;let r=e.readByte();if(r<128&&e.decrementPosition(1),r<192){let n=tg(e,r,128),i=e.readBytes(n);return t===`hex`?Vn(i):i}return ng(e,tg(e,r,192),t,n+1)}function tg(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 ng(e,t,n,r){let i=e.position,a=[];for(;e.position-i<t;)a.push(eg(e,n,r));if(e.position-i!==t)throw new kn({consumed:e.position-i,declared:t});return a}Rt(),Bt();function rg(e){return D(e)&&zt(e)===32}Lo();function ig(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&&Po(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function ag(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let og=ag();Yo(),Lo(),Qa();function sg(e,t={}){let{url:n,headers:r}=lg(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 ig(async({signal:e})=>{let t={...u,body:Za(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??og.take(),...e})):{jsonrpc:`2.0`,id:i.id??og.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 Jo({body:i,url:n}),timeout:l,signal:!0});c&&await c(e);let t,m=await cg(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 Go({body:i,details:Za(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?No(p):Po(e)||e instanceof Go||e instanceof Ko||e instanceof Jo?e:new Go({body:i,cause:e,url:n})}}}}async function cg(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 Ko({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new Ko({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 Ko({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function lg(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}}}Ri(),Bt(),M();function ug(e){let t=typeof e==`string`?Hn(e):typeof e.raw==`string`?e.raw:Vn(e.raw);return Fi([Hn(`\u0019Ethereum Signed Message:\n${zt(t)}`),t])}di();function dg(e,t){return ui(ug(e),t)}Qa(),k();var fg=class extends O{constructor({domain:e}){super(`Invalid domain \"${Za(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},pg=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`.\"]})}},mg=class extends O{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}},hg=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(),wi(),Pi(),Bt(),M(),qi(),Qa();function gg(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 Za({domain:o,message:s,primaryType:r,types:i})}function _g(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 hg({type:r});let c=r.match(Ki);if(c&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=c;j(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!ji(o))throw new Ci({address:o});let l=r.match(Gi);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&&(yg(r),a(u,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new fg({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`){if(i[r])a(i[r],n);else throw new pg({primaryType:r,types:i})}}function vg({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 yg(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new mg({type:e})}sa(),Ri(),M(),di();function bg(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:vg({domain:t}),...e.types};_g({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(xg({domain:t,types:i})),r!==`EIP712Domain`&&a.push(Sg({data:n,primaryType:r,types:i})),ui(Fi(a))}function xg({domain:e,types:t}){return Sg({data:e,primaryType:`EIP712Domain`,types:t})}function Sg({data:e,primaryType:t,types:n}){return ui(Cg({data:e,primaryType:t,types:n}))}function Cg({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[wg({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Dg({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return Ji(r,i)}function wg({primaryType:e,types:t}){return ui(zn(Tg({primaryType:e,types:t})))}function Tg({primaryType:e,types:t}){let n=``,r=Eg({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 Eg({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])Eg({primaryType:e.type,types:t},n);return n}function Dg({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},ui(Cg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},ui(r)];if(n===`string`)return[{type:`bytes32`},ui(zn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Dg({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},ui(Ji(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var Og=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@1.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 kg(e,t){return e.exec(t)?.groups}let Ag=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,jg=/^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)?$/,Mg=/^\\(.+?\\).*?$/,Ng=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function Pg(e){let t=e.type;if(Ng.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+=Pg(i),r<n-1&&(t+=`, `)}let r=kg(Ng,e.type);return t+=`)${r?.array||``}`,Pg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Fg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Pg(i),r!==n-1&&(t+=`, `)}return t}function Ig(e){return e.type===`function`?`function ${e.name}(${Fg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Fg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Fg(e.inputs)})`:e.type===`error`?`error ${e.name}(${Fg(e.inputs)})`:e.type===`constructor`?`constructor(${Fg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Lg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Rg(e){return Lg.test(e)}function zg(e){return kg(Lg,e)}let Bg=new Set([`memory`,`indexed`,`storage`,`calldata`]),Vg=new Set([`calldata`,`memory`,`storage`]);var Hg=class extends Og{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},Ug=class extends Og{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}},Wg=class extends Og{constructor({params:e}){super(`Failed to parse ABI parameters.`,{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:`/api/human#parseabiparameters-1`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiParametersError`})}},Gg=class extends Og{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Kg=class extends Og{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},qg=class extends Og{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},Jg=class extends Og{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},Yg=class extends Og{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}},Xg=class extends Og{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Zg=class extends Og{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}},Qg=class extends Og{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}},$g=class extends Og{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}};function e_(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 t_=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}]]),n_=/^(?<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$_]*))?$/,r_=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,i_=/^u?int$/;function a_(e,t){let n=e_(e,t?.type,t?.structs);if(t_.has(n))return t_.get(n);let r=Mg.test(e),i=kg(r?r_:n_,e);if(!i)throw new Gg({param:e});if(i.name&&l_(i.name))throw new Kg({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=o_(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(a_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(i_.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!s_(c))throw new Ug({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new qg({param:e,type:t?.type,modifier:i.modifier});if(Vg.has(i.modifier)&&!u_(c,!!i.array))throw new Jg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return t_.set(n,u),u}function o_(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_(o,[...t,n.trim()]):o_(o,t,`${n}${i}`,r);case`(`:return o_(o,t,`${n}${i}`,r+1);case`)`:return o_(o,t,`${n}${i}`,r-1);default:return o_(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new $g({current:n,depth:r});return t.push(n.trim()),t}function s_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||Ag.test(e)||jg.test(e)}let c_=/^(?: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 l_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||Ag.test(e)||jg.test(e)||c_.test(e)}function u_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function d_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Rg(n))continue;let i=zg(n);if(!i)throw new Xg({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=a_(t,{type:`struct`});o.push(n)}if(!o.length)throw new Zg({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]=p_(a,t)}return r}let f_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function p_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Mg.test(i.type))r.push(i);else{let e=kg(f_,i.type);if(!e?.type)throw new Yg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new Qg({type:o});r.push({...i,type:`tuple${a??``}`,components:p_(t[o],t,new Set([...n,o]))})}else if(s_(o))r.push(i);else throw new Hg({type:o})}}return r}function m_(e){let t=[];if(typeof e==`string`){let n=o_(e),r=n.length;for(let e=0;e<r;e++)t.push(a_(n[e],{modifiers:Bg}))}else{let n=d_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Rg(r))continue;let a=o_(r),o=a.length;for(let e=0;e<o;e++)t.push(a_(a[e],{modifiers:Bg,structs:n}))}}if(t.length===0)throw new Wg({params:e});return t}let h_={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;$s(),li(),cp(),z();function g_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=ci(zf(e));return n===`Bytes`?r:fp(r)}function __(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Qs(Pd,zf(e),zf(t));return r===`Bytes`?i:fp(i)}function v_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Pd(zf(e));return n===`Bytes`?r:fp(r)}function y_(e){return Sp(e)&&_p(e)===32}cp(),_f(),z(),If();function b_(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 D_({prefix:r,cause:new k_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new D_({prefix:r,cause:new O_});return}throw new E_({publicKey:e})}function x_(e){let t=(()=>{if(Sp(e))return C_(e);if(ep(e))return S_(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 b_(t),t}function S_(e){return C_(fp(e))}function C_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new A_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(L(e,0,32)),y:BigInt(L(e,32,64))}:e.length===132?{prefix:Number(L(e,0,1)),x:BigInt(L(e,1,33)),y:BigInt(L(e,33,65))}:{prefix:Number(L(e,0,1)),x:BigInt(L(e,1,33))}}function w_(e,t={}){return Vf(T_(e,t))}function T_(e,t={}){b_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return F(a?I(n,{size:1}):`0x`,I(r,{size:32}),typeof i==`bigint`?I(i,{size:32}):`0x`)}var E_=class extends P{constructor({publicKey:e}){super(`Value \\`${Pf(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`})}},D_=class extends P{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},O_=class extends P{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},k_=class extends P{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},A_=class extends P{constructor({publicKey:e}){super(`Value \\`${e}\\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${_p(up(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};cp(),_f();let j_=/^0x[a-fA-F0-9]{40}$/;function M_(e,t={}){let{strict:n=!0}=t;if(!j_.test(e))throw new R_({address:e,cause:new z_});if(n){if(e.toLowerCase()===e)return;if(N_(e)!==e)throw new R_({address:e,cause:new B_})}}function N_(e){if(h_.has(e))return h_.get(e);M_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=g_(Hf(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 h_.set(e,i),i}function P_(e,t={}){let{checksum:n=!1}=t;return M_(e),n?N_(e):e}function F_(e,t={}){return P_(`0x${g_(`0x${T_(e).slice(4)}`).substring(26)}`,t)}function I_(e,t){return M_(e,{strict:!1}),M_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function L_(e,t={}){let{strict:n=!0}=t??{};try{return M_(e,{strict:n}),!0}catch{return!1}}var R_=class extends P{constructor({address:e,cause:t}){super(`Address \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidAddressError`})}},z_=class extends P{constructor(){super(`Address is not a 20 byte (40 hexadecimal character) value.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidInputError`})}},B_=class extends P{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let V_=/^(.*)\\[([0-9]*)\\]$/,H_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,U_=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n));let W_=2n**256n-1n;cp(),_f(),z();function G_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=lv(t.type);if(a){let[n,o]=a;return q_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return Z_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return K_(e,{checksum:r});if(t.type===`bool`)return J_(e);if(t.type.startsWith(`bytes`))return Y_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return X_(e,t);if(t.type===`string`)return Q_(e,{staticPosition:i});throw new Ev(t.type)}function K_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?N_(e):e)(fp(qf(e.readBytes(32),-20))),32]}function q_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(i===null){let n=a+Xf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Xf(e.readBytes(32)),s=uv(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=G_(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(uv(t)){let n=a+Xf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=G_(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]=G_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n),i===0&&(e.assertReadLimit(),e._touch())}return[s,o]}function J_(e){return[Yf(e.readBytes(32),{size:32}),32]}function Y_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Xf(e.readBytes(32));e.setPosition(n+t);let r=Xf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[fp(i),32]}return[fp(e.readBytes(Number.parseInt(i,10),32)),32]}function X_(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?Jf(i,{signed:n}):Xf(i,{signed:n}),32]}function Z_(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(uv(t)){let n=i+Xf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=G_(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]=G_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function Q_(e,{staticPosition:t}){let n=t+Xf(e.readBytes(32));e.setPosition(n);let r=Xf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Zf(Qf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function $_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(ev({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function ev({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=lv(r.type);if(i){let[t,a]=i;return rv(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return cv(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return nv(n,{checksum:e});if(r.type===`bool`)return av(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=U_.exec(r.type)??[];return ov(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return iv(n,{type:r.type});if(r.type===`string`)return sv(n);throw new Ev(r.type)}function tv(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];t+=r?32:_p(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(I(t+i,{size:32})),r.push(s),i+=_p(s)):n.push(s)}return F(...n,...r)}function nv(e,t){let{checksum:n=!1}=t;return M_(e,{strict:n}),{dynamic:!1,encoded:mp(e.toLowerCase())}}function rv(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new Tv(e);if(!a&&e.length!==r)throw new Sv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=e.length===0&&uv(i),s=[];for(let t=0;t<e.length;t++){let r=ev({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=tv(s);if(a){let t=I(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?F(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:F(...s.map(({encoded:e})=>e))}}function iv(e,{type:t}){let[,n]=t.split(`bytes`),r=_p(e);if(!n){let t=e;return r%32!=0&&(t=hp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:F(mp(I(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new Cv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:hp(e)}}function av(e){if(typeof e!=`boolean`)throw new P(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:mp(dp(e))}}function ov(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 Tp({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:I(e,{size:32,signed:t})}}function sv(e){let t=pp(e),n=Math.ceil(_p(t)/32),r=[];for(let e=0;e<n;e++)r.push(hp(L(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:F(hp(I(_p(t),{size:32})),...r)}}function cv(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=ev({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?tv(a):F(...a.map(({encoded:e})=>e))}}function lv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function uv(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(uv);let n=lv(e.type);return!!(n&&uv({...e,type:n[1]}))}_f();let dv={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 hv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new mv({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new pv({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 pv({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 fv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(dv);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var pv=class extends P{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},mv=class extends P{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.PositionOutOfBoundsError`})}},hv=class extends P{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.RecursiveReadLimitExceededError`})}};cp(),_f(),z();function gv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Vf(t):t,o=fv(a);if(Kf(a)===0&&e.length>0)throw new xv;if(Kf(a)&&Kf(a)<32)throw new bv({data:typeof t==`string`?t:fp(t),parameters:e,size:Kf(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]=G_(o,n,{checksumAddress:i,staticPosition:0});s+=u,r===`Array`?c.push(l):c[n.name??t]=l}return c}function _v(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new wv({expectedLength:e.length,givenLength:t.length});let i=tv($_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function vv(e,t){if(e.length!==t.length)throw new wv({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(vv.encode(i,a))}return F(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return M_(e),mp(e.toLowerCase(),r?32:0)}if(e===`string`)return pp(n);if(e===`bytes`)return n;if(e===`bool`)return mp(dp(n),r?32:1);let i=e.match(U_);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return I(n,{size:r?32:o,signed:t===`int`})}let a=e.match(H_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new Cv({expectedSize:Number.parseInt(t,10),value:n});return hp(n,r?32:0)}let o=e.match(V_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:F(...i)}throw new Ev(e)}e.encode=t})(vv||={});function yv(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?m_(e):e}var bv=class extends P{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Fg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},xv=class extends P{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},Sv=class extends P{constructor({expectedLength:e,givenLength:t,type:n}){super(`Array length mismatch for type \\`${n}\\`. Expected: \\`${e}\\`. Given: \\`${t}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ArrayLengthMismatchError`})}},Cv=class extends P{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${_p(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},wv=class extends P{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding parameters/values length mismatch.`,`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.LengthMismatchError`})}},Tv=class extends P{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},Ev=class extends P{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};cp(),_f(),z();function Dv(e){return Ov(e,`Hex`)}function Ov(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return kv(fv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Op(e);return Vf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function kv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?fp(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=Av(e,n,128),i=e.readBytes(r);return t===`Hex`?fp(i):i}return jv(e,Av(e,n,192),t)}function Av(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new P(`Invalid RLP prefix`)}function jv(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(kv(e,n));return i}function Mv(e,t){let{as:n}=t,r=Pv(e),i=fv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?fp(i.bytes):i.bytes}function Nv(e,t={}){let{as:n=`Hex`}=t;return Mv(e,{as:n})}function Pv(e){return Array.isArray(e)?Fv(e.map(e=>Pv(e))):Iv(e)}function Fv(e){let t=e.reduce((e,t)=>e+t.length,0),n=Lv(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function Iv(e){let t=typeof e==`string`?Vf(e):e,n=Lv(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function Lv(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new P(`Length is too large.`)}_f(),z(),If();function Rv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Qv({signature:e});if(e.r<0n||e.r>W_)throw new $v({value:e.r});if(e.s<0n||e.s>W_)throw new ey({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new ty({value:e.yParity})}function zv(e){return Bv(fp(e))}function Bv(e){if(e.length!==130&&e.length!==132)throw new Zv({signature:e});let t=BigInt(L(e,0,32)),n=BigInt(L(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return Yv(t)}catch{throw new ty({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function Vv(e){if(e.r!==void 0&&e.s!==void 0)return Hv(e)}function Hv(e){let t=typeof e==`string`?Bv(e):e instanceof Uint8Array?zv(e):typeof e.r==`string`?Wv(e):e.v?Uv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Rv(t),t}function Uv(e){return{r:e.r,s:e.s,yParity:Yv(e.v)}}function Wv(e){let t=(()=>{let t=e.v?Number(e.v):void 0,n=e.yParity?Number(e.yParity):void 0;if(typeof t==`number`&&typeof n!=`number`&&(n=Yv(t)),typeof n!=`number`)throw new ty({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Gv(e){let[t,n,r]=e;return Hv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Kv(e){Rv(e);let t=e.r,n=e.s;return F(I(t,{size:32}),I(n,{size:32}),typeof e.yParity==`number`?I(Xv(e.yParity),{size:1}):`0x`)}function qv(e){let{r:t,s:n,yParity:r}=e;return{r:I(t,{size:32}),s:I(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function Jv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:vp(I(t)),n===0n?`0x`:vp(I(n))]}function Yv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new ny({value:e})}function Xv(e){if(e===0)return 27;if(e===1)return 28;throw new ty({value:e})}var Zv=class extends P{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${_p(up(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Qv=class extends P{constructor({signature:e}){super(`Signature \\`${Pf(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},$v=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidRError`})}},ey=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSError`})}},ty=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidYParityError`})}},ny=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidVError`})}};z();function ry(e,t={}){return typeof e.chainId==`string`?iy(e):{...e,...t.signature}}function iy(e){let{address:t,chainId:n,nonce:r}=e,i=Vv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function ay(e){return e.map(iy)}function oy(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:I(n),nonce:I(r),...qv(i)}}function sy(e){return e.map(oy)}Tu(),cp(),z();function cy(e){let{privateKey:t}=e;return x_(uu.ProjectivePoint.fromPrivateKey(up(t).slice(2)))}function ly(e){return F_(uy(e))}function uy(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return x_(new uu.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(up(t).substring(2)))}function dy(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=uu.sign(zf(r),zf(i),{extraEntropy:typeof t==`boolean`?t:up(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function fy(e){let{hash:t,payload:n}=e;return e.address?I_(e.address,ly({payload:n,signature:e.signature})):uu.verify(e.signature,zf(n),w_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}_f(),z();let py=yv(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function my(e){if(typeof e==`string`){if(L(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new _y(e)}else Rv(e.authorization)}function hy(e){my(e);let t=bp(L(e,-64,-32)),n=L(e,-t-64,-64),r=L(e,0,-t-64),[i,a,o]=gv(py,n);return{authorization:ry({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 gy(e){try{return my(e),!0}catch{return!1}}var _y=class extends P{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc8010.InvalidWrappedSignatureError`})}};Mo(),Wi(),Rn();function vy(e){let t=Ui(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`&&Ln(t)>=192)return`legacy`;throw new wo({serializedType:t})}wi(),Mo(),Pi(),Rt(),Cn(),Pn(),Rn();function yy(e){let t=vy(e);return t===`eip1559`?Sy(e):t===`eip2930`?Cy(e):t===`eip4844`?xy(e):t===`eip7702`?by(e):wy(e)}function by(e){let t=Ty(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new To({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,authorizationList:d,...t.length>9?{v:f,r:p,s:m}:{}},serializedTransaction:e,type:`eip7702`});let h={chainId:Ln(n),type:`eip7702`};return D(s)&&s!==`0x`&&(h.to=s),D(o)&&o!==`0x`&&(h.gas=A(o)),D(l)&&l!==`0x`&&(h.data=l),D(r)&&(h.nonce=r===`0x`?0:Ln(r)),D(c)&&c!==`0x`&&(h.value=A(c)),D(a)&&a!==`0x`&&(h.maxFeePerGas=A(a)),D(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=A(i)),u.length!==0&&u!==`0x`&&(h.accessList=Ey(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=Dy(d)),Ah(h),{...t.length===13?Oy(t):void 0,...h}}function xy(e){let t=Ty(e),n=t.length===4,r=n?t[0]:t,i=n?t.slice(1):[],[a,o,s,c,l,u,d,f,p,m,h,g,_,v]=r,[y,b,x]=i;if(r.length!==11&&r.length!==14)throw new To({attributes:{chainId:a,nonce:o,maxPriorityFeePerGas:s,maxFeePerGas:c,gas:l,to:u,value:d,data:f,accessList:p,...r.length>9?{v:g,r:_,s:v}:{}},serializedTransaction:e,type:`eip4844`});let S={blobVersionedHashes:h,chainId:Ln(a),to:u,type:`eip4844`};return D(l)&&l!==`0x`&&(S.gas=A(l)),D(f)&&f!==`0x`&&(S.data=f),D(o)&&(S.nonce=o===`0x`?0:Ln(o)),D(d)&&d!==`0x`&&(S.value=A(d)),D(m)&&m!==`0x`&&(S.maxFeePerBlobGas=A(m)),D(c)&&c!==`0x`&&(S.maxFeePerGas=A(c)),D(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=A(s)),p.length!==0&&p!==`0x`&&(S.accessList=Ey(p)),y&&b&&x&&(S.sidecars=Ud({blobs:y,commitments:b,proofs:x})),jh(S),{...r.length===14?Oy(r):void 0,...S}}function Sy(e){let t=Ty(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(t.length!==9&&t.length!==12)throw new To({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,...t.length>9?{v:d,r:f,s:p}:{}},serializedTransaction:e,type:`eip1559`});let m={chainId:Ln(n),type:`eip1559`};return D(s)&&s!==`0x`&&(m.to=s),D(o)&&o!==`0x`&&(m.gas=A(o)),D(l)&&l!==`0x`&&(m.data=l),D(r)&&(m.nonce=r===`0x`?0:Ln(r)),D(c)&&c!==`0x`&&(m.value=A(c)),D(a)&&a!==`0x`&&(m.maxFeePerGas=A(a)),D(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=A(i)),u.length!==0&&u!==`0x`&&(m.accessList=Ey(u)),Mh(m),{...t.length===12?Oy(t):void 0,...m}}function Cy(e){let t=Ty(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(t.length!==8&&t.length!==11)throw new To({attributes:{chainId:n,nonce:r,gasPrice:i,gas:a,to:o,value:s,data:c,accessList:l,...t.length>8?{v:u,r:d,s:f}:{}},serializedTransaction:e,type:`eip2930`});let p={chainId:Ln(n),type:`eip2930`};return D(o)&&o!==`0x`&&(p.to=o),D(a)&&a!==`0x`&&(p.gas=A(a)),D(c)&&c!==`0x`&&(p.data=c),D(r)&&(p.nonce=r===`0x`?0:Ln(r)),D(s)&&s!==`0x`&&(p.value=A(s)),D(i)&&i!==`0x`&&(p.gasPrice=A(i)),l.length!==0&&l!==`0x`&&(p.accessList=Ey(l)),Nh(p),{...t.length===11?Oy(t):void 0,...p}}function wy(e){let t=$h(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(t.length!==6&&t.length!==9)throw new To({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(D(a)&&a!==`0x`&&(d.to=a),D(i)&&i!==`0x`&&(d.gas=A(i)),D(s)&&s!==`0x`&&(d.data=s),D(n)&&(d.nonce=n===`0x`?0:Ln(n)),D(o)&&o!==`0x`&&(d.value=A(o)),D(r)&&r!==`0x`&&(d.gasPrice=A(r)),Ph(d),t.length===6)return d;let f=D(c)&&c!==`0x`?A(c):0n;if(u===`0x`&&l===`0x`)return f>0&&(d.chainId=Number(f)),d;let p=f,m=Number((p-35n)/2n);if(m>0)d.chainId=m;else if(p!==27n&&p!==28n)throw new xo({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function Ty(e){return $h(`0x${e.slice(4)}`,`hex`)}function Ey(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!ji(r,{strict:!1}))throw new Ci({address:r});t.push({address:r,storageKeys:i.map(e=>rg(e)?e:Nn(e))})}return t}function Dy(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:Ln(r),nonce:a===`0x`?0:Ln(a),...Oy([o,s,c])})}return t}function Oy(e){let t=e.slice(-3),n=t[0]===`0x`?0n:A(t[0]);if(n!==0n&&n!==1n)throw new So({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}}lo();function ky(e,t){return to(e,t)}lo();function Ay(e,t){return io(e,t)}Mo(),M();async function jy(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:j(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,j(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,j(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,j(s)]},{dedupe:!0})),!u)throw new Oo({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||xd)(u,`getTransaction`)}Mo();async function My(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new ko({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||gh)(n,`getTransactionReceipt`)}Hp(),Jp(),hn(),k(),Wo(),df(),ya(),am(),fm(),Qa();async function Ny(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 im({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=va({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=Ds(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?Py(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,Km,`readContract`)({...h===null?{code:qp}:{address:h},abi:Ip,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 Uo({data:r});let e=lf({abi:s,args:u,data:r,functionName:l});S.push(i?{result:e,status:`success`}:e)}catch(e){let t=Ds(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 Py(e,t){let{batchSize:n,call:r,multicallAddress:i,...a}=t,{wait:o=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{schedule:s}=um({id:Za([`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,Km,`readContract`)({...i===null?{code:qp}:{address:i},...a,abi:Ip,args:[t],functionName:`aggregate3`})}),[c]=await s(r);return c}_f();function Fy(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,`error`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new P(`Unable to normalize signature.`);return i}function Iy(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return L_(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,n)=>Iy(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=>Iy(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function Ly(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 Ly(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&L_(n[r],{strict:!1}))return o}}_f(),z();function Ry(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=Sp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?zy(e)===L(t,0,4):e.type===`event`&&Vy(e)===t:`name`in e&&e.name===t);if(o.length===0)throw new Uy({name:t});if(o.length===1)return{...o[0],...i?{hash:Vy(o[0])}:{}};let s;for(let e of o)if(`inputs`in e){if(!r||r.length===0){if(!e.inputs||e.inputs.length===0)return{...e,...i?{hash:Vy(e)}:{}};continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===r.length&&r.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?Iy(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=Ly(e.inputs,s.inputs,r);if(t)throw new Hy({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 Uy({name:t});return{...c,...i?{hash:Vy(c)}:{}}}function zy(...e){return L(Vy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return Ry(t,n)}return e[0]})()),0,4)}function By(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Ry(t,n)}return e[0]})();return Fy(typeof t==`string`?t:Ig(t))}function Vy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Ry(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:g_(pp(By(t)))}var Hy=class extends P{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Fy(Ig(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${Fy(Ig(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`})}},Uy=class extends P{constructor({name:e,data:t,type:n=`item`}){let r=e?` with name \"${e}\"`:t?` with data \"${t}\"`:``;super(`ABI ${n}${r} not found.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.NotFoundError`})}};function Wy(e){return zy(e)}_f(),z();function Gy(e){if(L(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Jy(e)}function Ky(e){let{data:t,signature:n,to:r}=e;return F(_v(yv(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function qy(e){try{return Gy(e),!0}catch{return!1}}var Jy=class extends P{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc6492.InvalidWrappedSignatureError`})}};Tu(),Rn(),$n();function Yy({r:e,s:t,to:n=`hex`,v:r,yParity:i}){let a=(()=>{if(i===0||i===1)return i;if(r&&(r===27n||r===28n||r>=35n))return+(r%2n==0n);throw Error(\"Invalid `v` or `yParity` value\")})(),o=`0x${new uu.Signature(A(e),A(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Jn(o)}Hp(),Jp(),Wo(),rm(),ya(),Ai(),tf(),Ri(),Rt(),Rn(),M(),Gm();async function Xy(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?Yy(e):Vn(e)})();try{if(s===`eoa`)try{if(ef(Oi(n),await Ou({hash:i,signature:c})))return!0}catch{}return gy(c)?await Zy(e,{...t,multicallAddress:o,signature:c}):await Qy(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(ef(Oi(n),await Ou({hash:i,signature:c})))return!0}catch{}if(e instanceof eb)return!1;throw e}}async function Zy(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}=hy(t.signature);if(await kh(e,{address:n,blockHash:r,blockNumber:i,blockTag:a,requireCanonical:c})===Li([`0xef0100`,l.address]))return await $y(e,{...t,signature:d});let p={address:l.address,chainId:Number(l.chainId),nonce:Number(l.nonce),r:j(l.r,{size:32}),s:j(l.s,{size:32}),yParity:l.yParity};if(!await Wh({address:n,authorization:p}))throw new eb;let m=await E(e,Km,`readContract`)({...s?{address:s}:{code:qp},authorizationList:[p],abi:Ip,blockHash:r,blockNumber:i,blockTag:`pending`,functionName:`aggregate3`,requireCanonical:c,args:[[...u?[{allowFailure:!0,target:f??n,callData:u}]:[],{allowFailure:!0,target:n,callData:va({abi:zp,functionName:`isValidSignature`,args:[o,d]})}]]});if((m[m.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new eb}async function Qy(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||qy(o)?o:Ky({data:i,signature:o,to:r}))(),u=s?{to:s,data:va({abi:Bp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:tm({abi:Bp,args:[n,a,l],bytecode:Kp}),...c},{data:d}=await E(e,Pm,`call`)(u).catch(e=>{throw e instanceof Ro?new eb:e});if(In(d??`0x0`))return!0;throw new eb}async function $y(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,requireCanonical:s,signature:c}=t;if((await E(e,Km,`readContract`)({address:n,abi:zp,args:[o,c],blockHash:r,blockNumber:i,blockTag:a,functionName:`isValidSignature`,requireCanonical:s}).catch(e=>{throw e instanceof zo?new eb:e})).startsWith(`0x1626ba7e`))return!0;throw new eb}var eb=class extends Error{};Rn(),Qa();function tb(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?Zm(Za([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>$m(async()=>{try{let t=await E(e,ah,`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})):Zm(Za([`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=A(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}Mo(),lm(),Qa();async function nb(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=Za([`waitForTransactionReceipt`,e.uid,i]),u=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,d,f,p,m=!1,h,g,{promise:_,resolve:v,reject:y}=cm(),b=c?setTimeout(()=>{g?.(),h?.(),y(new jo({hash:i}))},c):void 0;return h=Zm(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await E(e,My,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=E(e,tb,`watchBlockNumber`)({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,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 mh(async()=>{d=await E(e,jy,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await E(e,My,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof Oo||n instanceof ko){if(!d){m=!1;return}try{f=d,m=!0;let n=await mh(()=>E(e,Td,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof yd});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await E(e,My,`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))}}})}),_}function rb(e){let{scheme:t,statement:n,...r}=e.match(ib)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(ab)?.groups??{},u=e.split(`Resources:`)[1]?.split(`\n- `).slice(1);return{...r,...l,...i?{chainId:Number(i)}:{},...a?{expirationTime:new Date(a)}:{},...o?{issuedAt:new Date(o)}:{},...s?{notBefore:new Date(s)}:{},...c?{requestId:c}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}let ib=/^(?:(?<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)?/,ab=/(?: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>.+))?/;Pi(),tf(),ya();function ob(e,t){return{amount:e,decimals:t,formatted:ky(e,t)}}function sb(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return Ay(e.formatted,cb(n))}function cb(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function lb(e,t){return typeof e==`bigint`?t:e.decimals??t}function ub(e,t){let{decimals:n,token:r}=t,i=db(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(ji(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 db(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=pb(n,t);if(i)return fb(i,r);if(ji(t,{strict:!1}))for(let e of n){let n=fb(e,r);if(n&&ef(n.address,t))return n}}function fb(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 pb(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=fb(e,r);if(n&&ef(n.address,t))return n.decimals}}function hb(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 gb(e){return{...e,data:va(e),to:e.address}}Hp();async function _b(e,t){return _b.inner(fh,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 gb(vb(e,t))}e.call=n;async function r(t,n){return $d(t,{...hb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{...hb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:Vp,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(_b||={});function vb(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=ub(e,{token:i});return{abi:Vp,address:a,args:[r,sb(n,o)],functionName:`approve`}}Mo();async function yb(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||gh)(i);if(a.status===`reverted`&&n)throw new Ao({receipt:a});return a}ma(),k(),Mo(),Ri(),ed(),sd(),Ei(),hd();let bb=new Ti(128);async function xb(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 oh({docsPath:`/docs/actions/wallet/sendTransactionSync`});let S=n?N(n):null,C;try{md(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Fu({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,Kd,`getChainId`)({}),r&&ch({currentChainId:t,chain:i}));let C=e.chain?.formatters?.transactionRequest?.format,w=(C||rd)({...$u(b,{format:C}),accessList:a,account:S,authorizationList:o,blobs:s,chainId:t,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:v,value:y},`sendTransaction`),T=bb.get(e.uid),ee=T?`wallet_sendTransaction`:`eth_sendTransaction`,te=await(async()=>{try{return await e.request({method:ee,params:[w]},{retryCount:0})}catch(t){if(T===!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=>(bb.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(bb.set(e.uid,!1),n):r});throw n}})(),ne=await E(e,nb,`waitForTransactionReceipt`)({checkReplacement:!1,hash:te,pollingInterval:g,timeout:x});if(_&&ne.status===`reverted`)throw new Ao({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,Zd,`prepareTransactionRequest`)({account:S,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:r,parameters:[...Jd,`sidecars`],type:v,value:y,...b,to:n}),x=i?.serializers?.transaction,w=await S.signTransaction(g,{serializer:x});return await E(e,yb,`sendRawTransactionSync`)({serializedTransaction:w,throwOnReceiptRevert:_,timeout:t.timeout})}throw S?.type===`smart`?new sh({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new sh({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:S?.type})}catch(e){throw e instanceof sh?e:(C&&!(e instanceof Ao)&&S?.nonceManager?.reset(C),Gd(e,{...t,account:S,chain:t.chain||void 0}))}}async function Sb(e,t){return fh.internal(e,xb,`sendTransactionSync`,t)}async function Cb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=ub(e,{token:r}),o=lb(n,a),s=await _b.inner(Sb,e,{...t,throwOnReceiptRevert:i}),{args:c}=_b.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:ky(c.value,o)},receipt:s}}Hp();async function wb(e,t){return wb.inner(fh,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 gb(Tb(e,t))}e.call=n;async function r(t,n){return $d(t,{...hb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{...hb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:Vp,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(wb||={});function Tb(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=ub(e,{token:a}),c=sb(n,s);return r?{abi:Vp,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:Vp,address:o,args:[i,c],functionName:`transfer`}}async function Eb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=ub(e,{token:r}),o=lb(n,a),s=await wb.inner(Sb,e,{...t,throwOnReceiptRevert:i}),{args:c}=wb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:ky(c.value,o)},receipt:s}}M();async function Db(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:j(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}rm();function Ob(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=tm({abi:n,args:r,bytecode:i});return dh(e,{...a,...a.authorizationList?{to:null}:{},data:o})}Ai();async function kb(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Di(e))}ma(),M();async function Ab(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?N(n):void 0,a=r?[i?.address,[j(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 jb(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}ma(),tf();async function Mb(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new oh({docsPath:`/docs/eip7702/prepareAuthorization`});let a=N(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:N(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,Kd,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await E(e,jd,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&ef(o.address,a.address))&&(s.nonce+=1)),s}Ai();async function Nb(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>Oi(e))}async function Pb(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}async function Fb(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await E(e,yh,`sendCalls`)(t);return await E(e,xh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function Ib(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}ma();async function Lb(e,t){let{account:n=e.account}=t;if(!n)throw new oh({docsPath:`/docs/eip7702/signAuthorization`});let r=N(n);if(!r.signAuthorization)throw new sh({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await Mb(e,t);return r.signAuthorization(i)}ma(),M();async function Rb(e,{account:t=e.account,message:n}){if(!t)throw new oh({docsPath:`/docs/actions/wallet/signMessage`});let r=N(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Hn(n):n.raw instanceof Uint8Array?zn(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}ma(),M(),sd(),hd();async function zb(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new oh({docsPath:`/docs/actions/wallet/signTransaction`});let a=N(n);md({account:a,...t});let o=await E(e,Kd,`getChainId`)({});r!==null&&ch({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||rd;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:j(o),from:a.address}]},{retryCount:0})}ma();async function Bb(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new oh({docsPath:`/docs/actions/wallet/signTypedData`});let o=N(n),s={EIP712Domain:vg({domain:r}),...t.types};if(_g({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=gg({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}M();async function Vb(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:j(t)}]},{retryCount:0})}async function Hb(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function Ub(e){return{addChain:t=>Db(e,t),deployContract:t=>Ob(e,t),fillTransaction:t=>qd(e,t),getAddresses:()=>kb(e),getCallsStatus:t=>bh(e,t),getCapabilities:t=>Ab(e,t),getChainId:()=>Kd(e),getPermissions:()=>jb(e),prepareAuthorization:t=>Mb(e,t),prepareTransactionRequest:t=>Zd(e,t),requestAddresses:()=>Nb(e),requestPermissions:t=>Pb(e,t),sendCalls:t=>yh(e,t),sendCallsSync:t=>Fb(e,t),sendRawTransaction:t=>lh(e,t),sendRawTransactionSync:t=>yb(e,t),sendTransaction:t=>dh(e,t),sendTransactionSync:t=>xb(e,t),showCallsStatus:t=>Ib(e,t),signAuthorization:t=>Lb(e,t),signMessage:t=>Rb(e,t),signTransaction:t=>zb(e,t),signTypedData:t=>Bb(e,t),switchChain:t=>Vb(e,t),waitForCallsStatus:t=>xh(e,t),watchAsset:t=>Hb(e,t),writeContract:t=>fh(e,t),writeContractSync:t=>Sb(e,t),token:{approve:Oh(e,_b),approveSync:Oh(e,Cb),transfer:Oh(e,wb),transferSync:Oh(e,Eb)}}}function Wb(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return Eh({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(Ub)}function Gb({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=Th();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:qh(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Kb(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Gb({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}k();var qb=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`})}};Yo(),fm();let Jb=0,Yb=new WeakMap;function Xb(e){if(!e)return`default`;let t=Yb.get(e);if(t!==void 0)return t;let n=Jb++;return Yb.set(e,n),n}function Zb(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 qb;let x=sg(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return Gb({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}=um({id:`${b}.${Xb(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 qo({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}_f(),z();function Qb(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&M_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>y_(e)?e:vp(e))})}return t}function $b(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(_p(r[e])!==32)throw new ex({storageKey:r[e]});n&&M_(n,{strict:!1}),t.push([n,r])}return t}var ex=class extends P{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${_p(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};cp();let tx=new TextEncoder,nx=new TextDecoder,rx=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),ix={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function ax(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]=rx[r>>18],i[t+1]=rx[r>>12&63],i[t+2]=rx[r>>6&63],i[t+3]=rx[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=nx.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function ox(e,t={}){return ax(Vf(e),t)}function sx(e,t={}){return ax(Hf(e),t)}function cx(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);tx.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(ix[r[e]]<<18)+(ix[r[e+1]]<<12)+(ix[r[e+2]]<<6)+ix[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 lx(e){return Zf(cx(e))}let ux={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},dx={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function fx(e,t={}){if(!e)return null;let n=Vv(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=ay(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=dx[e.type]??e.type),n&&(r.v=Xv(n.yParity)),r}cp(),_f(),z();function px(e,t={}){let{as:n=`Hex`}=t,r=Dx(e),i=fv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?fp(i.bytes):i.bytes}var mx=class extends P{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},hx=class extends P{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},gx=class extends P{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},_x=class extends P{constructor({tag:e}){super(`CBOR tagged data (tag ${e}) is not yet supported.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedTagError`})}},vx=class extends P{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},yx=class extends P{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},bx=class extends P{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},xx=class extends P{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},Sx=class extends P{constructor({number:e}){super(`Number exceeds maximum safe integer (${2**53-1}): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.NumberTooLargeError`})}},Cx=class extends P{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},wx=class extends P{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},Tx=class extends P{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},Ex=class extends P{constructor({size:e}){super(`Byte string length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ByteStringTooLargeError`})}};function Dx(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 Dx.number(e);if(typeof e==`bigint`)throw new bx;if(typeof e==`string`)return Dx.string(e);if(Array.isArray(e))return Dx.array(e);if(e instanceof Uint8Array)return Dx.byteString(e);if(e instanceof ArrayBuffer)return Dx.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return Dx.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return Dx.map(e);if(typeof e==`object`)return Dx.object(e);throw new xx({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 Sx({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 Sx({number:e.toString(10)})}e.number=t;function n(e){let t=Hf(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 Cx({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 wx({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 Ex({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 Tx({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 Tx({size:i})}e.map=o})(Dx||={});function Ox(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Ox.readUnsignedInteger(e,r);case 1:return Ox.readNegativeInteger(e,r);case 2:return Ox.readByteString(e,r);case 3:return Ox.readTextString(e,r);case 4:return Ox.readArray(e,r);case 5:return Ox.readMap(e,r);case 6:throw new _x({tag:r});case 7:return Ox.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 gx:new hx({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 vx({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 vx({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Zf(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 yx({value:t});return}throw new hx({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}})(Ox||={}),_f();function kx(e){let t=w_(e),n=t.slice(1,33),r=t.slice(33,65);return px(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}Xs(),Ll(),rl();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Ax=Gc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),jx=Il({a:Ax.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:Ax,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},qs),Mx=Gc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));Il({a:Mx.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:Mx,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Ys);let Nx=Gc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));Il({a:Nx.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:Nx,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Js);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Px=jx,Fx=jx;cp(),z();function Ix(e){let{privateKey:t}=e;return x_(Fx.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):fp(t).slice(2)))}function Lx(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Fx.sign(r instanceof Uint8Array?r:Vf(r),i instanceof Uint8Array?i:Vf(i),{extraEntropy:typeof t==`boolean`?t:up(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Rx(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Fx.verify(i,n instanceof Uint8Array?n:Vf(n),T_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}var zx=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 Bx(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw Vx(r.error);return r.result}function Vx(e){let t=e;if(t instanceof Error&&!(`code`in t))return new $x({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===$x.code?new $x(t):n===Ux.code?new Ux(t):n===Qx.code?new Qx(t):n===Xx.code?new Xx(t):n===Jx.code?new Jx(t):n===Zx.code?new Zx(t):n===qx.code?new qx(t):n===eS.code?new eS(t):n===Wx.code?new Wx(t):n===Gx.code?new Gx(t):n===Kx.code?new Kx(t):n===Yx.code?new Yx(t):new $x({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Hx=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??``}},Ux=class e extends Hx{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(Ux,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Wx=class e extends Hx{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(Wx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Gx=class e extends Hx{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(Gx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var Kx=class e extends Hx{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(Kx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var qx=class e extends Hx{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(qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Jx=class e extends Hx{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(Jx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Yx=class e extends Hx{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(Yx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Xx=class e extends Hx{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(Xx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Zx=class e extends Hx{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(Zx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Qx=class e extends Hx{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(Qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var $x=class e extends Hx{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($x,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var eS=class e extends Hx{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(eS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),_f();var tS=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}},nS=class extends tS{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(nS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var rS=class extends tS{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(rS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var iS=class extends tS{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(iS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var aS=class extends tS{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(aS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var oS=class extends tS{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(oS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var sS=class extends tS{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(sS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var cS=class extends tS{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(cS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var lS=class extends tS{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(lS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var uS=class extends tS{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(uS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var dS=class extends tS{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(dS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var fS=class extends tS{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(fS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var pS=class extends tS{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(pS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var mS=class extends tS{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(mS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function hS(){let e=new zx.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 gS(e,t={}){if(!e)throw new vS;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?Bx(n):n}catch(e){throw _S(e)}}}}function _S(e){let t=Vx(e);if(t instanceof $x){if(!t.data)return t;let{code:e}=t.data;if(e===aS.code)return new aS(t);if(e===oS.code)return new oS(t);if(e===nS.code)return new nS(t);if(e===rS.code)return new rS(t);if(e===iS.code)return new iS(t);if(e===sS.code)return new sS(t);if(e===pS.code)return new pS(t);if(e===mS.code)return new mS(t);if(e===fS.code)return new fS(t);if(e===dS.code)return new dS(t);if(e===uS.code)return new uS(t);if(e===lS.code)return new lS(t);if(e===cS.code)return new cS(t)}return t}var vS=class extends P{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function yS(e={}){let t=e.id??0;return{prepare(e){return bS({id:t++,...e})},get id(){return t}}}function bS(e){return{...e,jsonrpc:`2.0`}}function xS(){return null}z();function SS(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=sy(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=I(e.chainId)),e.data===void 0?e.input!==void 0&&(t.data=e.input,t.input=e.input):(t.data=e.data,t.input=e.data),e.from!==void 0&&(t.from=e.from),e.gas!==void 0&&(t.gas=I(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=I(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=I(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=I(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=I(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=I(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=I(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=ux[e.type]||e.type),e.value!==void 0&&(t.value=I(e.value)),t}_f();let CS={wei:0,gwei:9,szabo:12,finney:15,ether:18};function wS(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 TS(e,t=`wei`){return wS(e,CS.gwei-CS[t])}_f();var ES=class extends P{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${TS(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`})}},DS=class extends P{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID \"${e}\" is invalid.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},OS=class extends P{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},kS=class extends P{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${TS(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${TS(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function AS(e){let t=Px.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}z();function jS(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=F(v_(pp(r)),I(n,{size:1}),I(i,{size:4}));if(!t)return a;let o=fp(new Uint8Array(16)),s=fp(t.id);return F(a,o,I(t.id.length,{size:2}),s,kx(t.publicKey))}function MS(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:ox(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}cp(),_f(),z();function NS(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:cx(e),type:`public-key`})):[{id:cx(t),type:`public-key`}]}:{},challenge:Vf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function PS(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=jS({flag:i,rpId:o,signCount:s}),u=MS({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=v_(pp(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:F(l,d)}}async function FS(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:NS(n);try{let e=await t(r);if(!e)throw new IS;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=AS(o);return{id:s,metadata:{authenticatorData:fp(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new IS({cause:e})}}var IS=class extends P{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function LS(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Vf(s);if(u.length<37||a!==void 0&&!Uf(u.slice(0,32),v_(pp(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||fp(cx(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Rx({hash:!0,payload:Rf(u,v_(Hf(c),{as:`Bytes`})),publicKey:i,signature:o})}let RS=PS;async function zS(e){return FS(e)}function BS(e){return LS(e)}cp();async function VS(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=x_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function HS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,zf(t)),i=Bf(new Uint8Array(r)),a=Jf(qf(i,0,32)),o=Jf(qf(i,32,64));return o>Px.CURVE.n/2n&&(o=Px.CURVE.n-o),{r:a,s:o}}_f(),z();let US=2049,WS=`0x${`00`.repeat(32)}`;function GS(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&_p(t)!==32)throw new ZS({reason:`salt must be 32 bytes`});if(r.length===0)throw new ZS({reason:`owners cannot be empty`});if(r.length>255)throw new ZS({reason:`too many owners`});if(!Number.isInteger(Number(n)))throw new ZS({reason:`threshold must be an integer`});if(Number(n)<1)throw new ZS({reason:`threshold cannot be zero`});if(Number(n)>8)throw new ZS({reason:`threshold exceeds max threshold`});let i=0,a;for(let e of r){if(!L_(e.owner)||R(e.owner)===0n)throw new ZS({reason:`owner cannot be zero`});if(!Number.isInteger(Number(e.weight)))throw new ZS({reason:`owner weight must be an integer`});if(Number(e.weight)<1)throw new ZS({reason:`owner weight cannot be zero`});let t=R(e.owner);if(a!==void 0&&a>=t)throw new ZS({reason:`owners must be strictly ascending`});a=t,i+=Number(e.weight)}if(i>255)throw new ZS({reason:`total owner weight exceeds u8 max`});if(Number(n)>i)throw new ZS({reason:`threshold exceeds total owner weight`})}function KS(e){let t=[...e.owners].sort((e,t)=>R(e.owner)<R(t.owner)?-1:1),n={salt:e.salt?mp(e.salt,32):WS,threshold:e.threshold,owners:t};return GS(n),n}function qS(e){let[t,n,r]=e;return{salt:t&&t!==`0x`?mp(t,32):WS,threshold:n===`0x`?0:bp(n),owners:r.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:bp(n)}})}}function JS(e){GS(e);let t=P_(L(g_(F(pp(`tempo:multisig:account`),mp(e.salt??WS,32),I(e.threshold,{size:1}),I(e.owners.length,{size:1}),...e.owners.flatMap(e=>[e.owner,I(e.weight,{size:1})]))),12,32));if(R(t)===0n)throw new ZS({reason:`derived account cannot be zero`});return t}function YS(e){let{payload:t}=e,n=`account`in e&&e.account?e.account:JS(e.genesisConfig);return g_(F(pp(`tempo:multisig:signature`),up(t),n))}function XS(e){GS(e);let t=e.owners.map(e=>[e.owner,I(e.weight)]);return[e.salt?mp(e.salt,32):WS,I(e.threshold),t]}var ZS=class extends P{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}};_f(),z(),If();let QS=`0x01`,$S=`0x02`,eC=`0x03`,tC=`0x04`,nC=`0x05`,rC=`0x7777777777777777777777777777777777777777777777777777777777777777`;function iC(e){let t=fC(e);if(t===`secp256k1`){Rv(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 vC({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 vC({envelope:e,missing:n,type:`webAuthn`});return}if(t===`keychain`){iC(e.inner);return}if(t===`multisig`){aC(e,1);return}}function aC(e,t){let n=[];if(e.account||n.push(`account`),Array.isArray(e.signatures)||n.push(`signatures`),n.length>0)throw new vC({envelope:e,missing:n,type:`multisig`});if(t>2)throw new bC({reason:`multisig nesting depth exceeds 2`});if(!L_(e.account))throw new bC({reason:`multisig account is invalid`});if(R(e.account)===0n)throw new bC({reason:`multisig account cannot be zero`});if(e.signatures.length===0)throw new bC({reason:`multisig signatures cannot be empty`});if(e.signatures.length>8)throw new bC({reason:`multisig signatures exceed 8`});if(e.init&&(GS(e.init),!I_(JS(e.init),e.account)))throw new bC({reason:`multisig init does not derive account`});for(let n of e.signatures){let e=fC(n);if(e===`keychain`)throw new bC({reason:`keychain owner approvals are not allowed`});if(e===`multisig`){let e=n;if(e.init)throw new bC({reason:\"nested multisig owner approvals cannot carry `init`\"});aC(e,t+1)}else iC(n);if(_p(pC(n))>2049)throw new bC({reason:`multisig owner signature exceeds ${US} 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:F_(sC(e))}function sC(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return uy({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return sC({payload:t,signature:n.inner});case`multisig`:throw new _C({envelope:n})}}function cC(e){return lC(e,0)}function lC(e,t){let n=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?L(e,0,-_p(rC)):e;if(_p(n)===65){let e=Bv(n);return Rv(e),{signature:e,type:`secp256k1`}}let r=L(n,0,1),i=L(n,1),a=_p(i);if(r===QS){if(a!==129)throw new yC({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${a} bytes`,serialized:n});return{publicKey:{prefix:4,x:R(L(i,64,96)),y:R(L(i,96,128))},prehash:bp(L(i,128,129))!==0,signature:{r:R(L(i,0,32)),s:R(L(i,32,64))},type:`p256`}}if(r===$S){if(a<128)throw new yC({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${a} bytes`,serialized:n});let e=a-128,t=L(i,0,e),r,o;for(let n=37;n<e;n++){let e=xp(L(t,n));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),r=L(t,0,n),o=e;break}catch{}}if(!r||!o)throw new yC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:n});return{publicKey:{prefix:4,x:R(L(i,e+64,e+96)),y:R(L(i,e+96,e+128))},metadata:{authenticatorData:r,clientDataJSON:o},signature:{r:R(L(i,e,e+32)),s:R(L(i,e+32,e+64))},type:`webAuthn`}}if(r===eC||r===tC)return{userAddress:L(i,0,20),inner:lC(L(i,20),t),type:`keychain`,version:r===tC?`v2`:`v1`};if(r===nC){let e=t+1;if(e>2)throw new yC({reason:`multisig nesting depth exceeds 2`,serialized:n});let r=Dv(i);if(!Array.isArray(r)||r.length!==2)throw new yC({reason:`invalid multisig wire shape: expected exactly two fields`,serialized:n});let[a,o]=r;if(!Array.isArray(o)||o.some(Array.isArray))throw new yC({reason:`invalid multisig signatures list`,serialized:n});if(o.length===0)throw new yC({reason:`multisig signatures cannot be empty`,serialized:n});if(o.length>8)throw new yC({reason:`multisig signatures exceed 8`,serialized:n});for(let e of o)if(_p(e)>2049)throw new yC({reason:`multisig owner signature exceeds ${US} bytes`,serialized:n});if(!Array.isArray(a)&&!L_(a))throw new yC({reason:`invalid multisig account`,serialized:n});if(Array.isArray(a)){let[e,t,r]=a;if(a.length!==3||Array.isArray(e)||_p(e)!==32||Array.isArray(t)||_p(t)>1||!Array.isArray(r)||r.some(e=>!Array.isArray(e)||e.length!==2||e.some(Array.isArray)||_p(e[1])>1))throw new yC({reason:`invalid multisig init config`,serialized:n})}let s=Array.isArray(a)?qS(a):void 0,c={type:`multisig`,account:s?JS(s):a,signatures:o.map(t=>lC(t,e)),...s?{init:s}:{}};return aC(c,e),c}throw new yC({reason:`Unknown signature type identifier: ${r}. Expected ${QS} (P256), ${$S} (WebAuthn), ${eC} (Keychain V1), ${tC} (Keychain V2), or ${nC} (Multisig)`,serialized:n})}function uC(e,t){if(typeof e==`string`)return cC(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=fC(e);if(n===`multisig`){let{genesisConfig:t,init:r,...i}=e,a=i.account?i.account:t?JS(t):i.account,o=r===!0?t:r||void 0;return{...i,account:a,signatures:i.signatures.map(e=>uC(e)),...o?{init:KS(o)}:{},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:F_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:F_(uy({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function dC(e){if(e.type===`secp256k1`)return{signature:Wv(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=_p(t),r,i;for(let e=37;e<n;e++){let n=xp(L(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=L(t,0,e),i=n;break}catch{}}if(!r||!i)throw new yC({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;return{type:`keychain`,userAddress:t.userAddress,inner:dC(t.signature),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(e.type===`multisig`||`signatures`in e&&(`account`in e||`init`in e)){let t=e,n=t.account!==void 0,r=t.init!==void 0;if(n===r)throw new bC({reason:\"RPC multisig must contain exactly one of `account` or `init`\"});let i=r?KS(t.init):void 0,a={type:`multisig`,account:i?JS(i):t.account,signatures:t.signatures.map(e=>dC(e)),...i?{init:i}:{}};return iC(a),a}throw new _C({envelope:e})}function fC(e){if(typeof e!=`object`||!e)throw new _C({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||`genesisConfig`in e||`init`in e)&&`signatures`in e)return`multisig`;throw new _C({envelope:e})}function pC(e,t={}){let n=fC(e);if(n===`secp256k1`)return F(Kv(e.signature),t.magic?rC:`0x`);if(n===`p256`){let n=e;return F(QS,I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),I(+!!n.prehash,{size:1}),t.magic?rC:`0x`)}if(n===`webAuthn`){let n=e,r=F(n.metadata.authenticatorData,pp(n.metadata.clientDataJSON));return F($S,r,I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),t.magic?rC:`0x`)}if(n===`keychain`){let n=e;return F(n.version===`v1`?eC:tC,n.userAddress,pC(n.inner),t.magic?rC:`0x`)}if(n===`multisig`){let n=e;return iC(n),F(nC,Nv([n.init?XS(n.init):n.account,n.signatures.map(e=>pC(e))]),t.magic?rC:`0x`)}throw new _C({envelope:e})}function mC(e){let{payload:t,signatures:n}=e,r=YS(`genesisConfig`in e&&e.genesisConfig?{payload:t,genesisConfig:e.genesisConfig}:{payload:t,account:e.account});return n.map(e=>({key:R(oC({payload:r,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function hC(e){let t=fC(e);if(t===`secp256k1`)return{...qv(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:I(t.publicKey.x,{size:32}),pubKeyY:I(t.publicKey.y,{size:32}),r:I(t.signature.r,{size:32}),s:I(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=F(t.metadata.authenticatorData,pp(t.metadata.clientDataJSON));return{pubKeyX:I(t.publicKey.x,{size:32}),pubKeyY:I(t.publicKey.y,{size:32}),r:I(t.signature.r,{size:32}),s:I(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return{type:`keychain`,userAddress:t.userAddress,signature:hC(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(t===`multisig`){let t=e;iC(t);let n=t.signatures.map(e=>hC(e));return t.init?{init:{...t.init,salt:t.init.salt??WS,threshold:Number(t.init.threshold),owners:t.init.owners.map(e=>({...e,weight:Number(e.weight)}))},signatures:n}:{account:t.account,signatures:n}}throw new _C({envelope:e})}function gC(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return F_(t.publicKey)})();if(!r)return!1;let i=uC(e);if(i.type===`secp256k1`)return r?fy({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return I_(F_(i.publicKey),r)?Rx({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return I_(F_(i.publicKey),r)?BS({challenge:up(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new xC(`Unable to verify signature envelope of type \"${i.type}\".`)}var _C=class extends P{constructor({envelope:e}){super(`Unable to coerce value (\\`${Pf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},vC=class extends P{constructor({envelope:e,missing:t,type:n}){super(`Signature envelope of type \"${n}\" is missing required properties: ${t.map(e=>`\\`${e}\\``).join(`, `)}.\\n\\nProvided: ${Pf(e)}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.MissingPropertiesError`})}},yC=class extends P{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},bC=class extends P{constructor({reason:e}){super(`Invalid native multisig owner approval: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidMultisigApprovalError`})}},xC=class extends P{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};_f(),z();function SC(e){return e.startsWith(`tempo`)?CC(e).address:e}function CC(e){if(!e.startsWith(`tempox`))throw new wC({address:e});let t=e.slice(6);return lp(t,{strict:!0}),{address:N_(t)}}var wC=class extends P{constructor({address:e}){super(`Tempo address \"${e}\" has an invalid prefix. Expected \"tempox\".`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};z();function TC(e,t={}){if(typeof e.chainId==`string`)return EC(e);let n={...e,address:SC(e.address)};return t.signature?{...n,signature:t.signature}:n}function EC(e){let{address:t,chainId:n,nonce:r}=e,i=dC(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function DC(e){return e.map(e=>EC(e))}function OC(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=cC(i)),TC(a)}function kC(e){let t=[];for(let n of e)t.push(OC(n));return t}function AC(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:I(n),nonce:I(r),signature:hC(i)}}function jC(e){return e.map(e=>AC(e))}function MC(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?pC(e.signature):void 0;return[n?I(n):`0x`,t,r?I(r):`0x`,...i?[i]:[]]}function NC(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(MC(n));return t}z();let PC=`0x20c0`;function FC(e){let t=SC(e);if(!t.toLowerCase().startsWith(PC))throw Error(`invalid tip20 address.`);return R(L(t,6))}function IC(e){if(typeof e==`string`){let t=SC(e);return M_(t),t}let t=I(e,{size:18});return F(PC,t)}z();let LC=yv(`address, address, address, address, bytes32, address, bytes32, address, uint256`),RC=yv(`bytes32, bytes32, bytes32, uint256, address`),zC=yv(`bytes32, bytes32, uint96`),BC=g_(pp(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),VC=g_(pp(`TIP20 Channel Reserve`)),HC=g_(pp(`1`)),UC=`0x0000000000000000000000000000000000000000`,WC=`0x4d50500000000000000000000000000000000000`,GC=g_(pp(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function KC(e){let{authorizedSigner:t=UC,expiringNonceHash:n,operator:r=UC,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:XC(t),expiringNonceHash:n,operator:XC(r),payee:XC(i),payer:XC(a),salt:o,token:typeof s==`string`?XC(s):IC(s)}}function qC(e,t){let n=KC(e);return g_(_v(LC,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,WC,BigInt(t.chainId)]))}function JC(e){return g_(_v(RC,[BC,VC,HC,BigInt(e.chainId),WC]))}function YC(e){let t=g_(_v(zC,[GC,e.channelId,e.cumulativeAmount]));return g_(F(`0x1901`,JC({chainId:e.chainId}),t))}function XC(e){return P_(e)}z();function ZC(e,t={}){if(`keyId`in e)return QC(e);let n=e;n.witness!==void 0&&fw(n.witness),n.signature&&pw(n.signature);let r={...n,address:SC(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:SC(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:SC(e.address),selector:dw(e.selector),...e.recipients?{recipients:e.recipients.map(e=>SC(e))}:{}}))}:{}};if(t.signature){let e=uC(t.signature);return pw(e),{...r,signature:e}}return r}function QC(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,u=dC(e.signature);pw(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:uw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0,f=l!==void 0&&c?{account:l,isAdmin:!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&&lw(e.period)>0?{period:lw(e.period)}:{}})),...d?{scopes:d}:{},signature:u,type:o,...s===void 0?{}:{witness:s},...f}}function $C(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`;default:throw Error(`Invalid key type: ${i}`)}})(),[c,l,u,d,f,p]=o,m=mw(c)?void 0:lw(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:cw(n),...r===void 0?{}:{period:lw(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,_=mw(d)?void 0:d;_!==void 0&&fw(_);let v=(()=>{if(!mw(f)){if(f!==`0x01`)throw new gw(f);return!0}})(),y=mw(p)?void 0:p,b=y!==void 0&&v?{account:y,isAdmin:!0}:{},x={address:a,chainId:r===`0x`?0n:R(r),type:s,...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...b};if(n){let e=cC(n);pw(e),x.signature=e}return ZC(x)}function ew(e){return nw(e)}function tw(e){return $C(Dv(e))}function nw(e){let[t]=aw(e);return g_(Nv(t))}function rw(e){return Nv(aw(e))}function iw(e){let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;pw(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:dw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}})}return[...e.entries()].map(([e,t])=>({target:e,...t.length>0?{selectorRules:t}:{}}))})();return{chainId:r===0n?`0x`:I(r),expiry:typeof i==`number`?I(i):null,keyId:SC(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:I(t),...n?{period:sw(n)}:{}})),signature:hC(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function aw(e){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 pw(e.signature),pC(e.signature)})(),u=(()=>{switch(e.type){case`secp256k1`:return`0x`;case`p256`:return`0x01`;case`webAuthn`:return`0x02`;default:throw Error(`Invalid key type: ${e.type}`)}})(),d=a?.map(e=>{let t=[e.token,ow(e.limit)];return e.period&&e.period>0&&t.push(sw(e.period)),t}),f=(()=>{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([dw(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})(),p=o!==void 0||s||c!==void 0,m=[{value:i!=null&&i!==0?sw(i):void 0,placeholder:`0x`},{value:d,placeholder:p?`0x`:[]},{value:f,placeholder:`0x`},{value:o,placeholder:`0x`},{value:s?`0x01`:void 0,placeholder:`0x`},{value:c,placeholder:`0x`}],h=-1;for(let e=m.length-1;e>=0;e--)if(m[e].value!==void 0){h=e;break}let g=m.slice(0,h+1).map(({value:e,placeholder:t})=>e??t);return[[ow(n),u,t,...g],...l?[l]:[]]}function ow(e){return e===0n?`0x`:I(e)}function sw(e){return e===0?`0x`:I(e)}function cw(e){return e===`0x`?0n:BigInt(e)}function lw(e){return e===`0x`?0:bp(e)}function uw(e){return typeof e==`string`?e:Array.isArray(e)?fp(new Uint8Array(e)):e}function dw(e){if(e)return e.startsWith(`0x`)?e:zy(e)}function fw(e){if(_p(e)!==32)throw new hw(e)}function pw(e){if(e.type===`keychain`||e.type===`multisig`)throw new _w(e.type)}function mw(e){return e===void 0||e===`0x`}var hw=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${_p(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},gw=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`})}},_w=class extends Error{constructor(e){super(`Signature type \\`${e}\\` is invalid for key authorizations; expected \\`secp256k1\\`, \\`p256\\`, or \\`webAuthn\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidSignatureTypeError`})}};z();let vw={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function yw(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:g_(pp(vw[e]??e))}let bw={...ux,tempo:`0x76`},xw={...dx,\"0x76\":`tempo`};function Sw(e,t={}){if(!e)return null;let n=fx(e);return n.type=xw[e.type],e.aaAuthorizationList&&(n.authorizationList=DC(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=dC(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=QC(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=Wv(e.feePayerSignature),n.feePayerSignature.v=Xv(n.feePayerSignature.yParity)),n}z();function Cw(e){let t=SS({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=jC(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?SC(e.to):e.to,value:e.value?I(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?SC(e.to):void 0,value:e.value?I(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=IC(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=iw(e.keyAuthorization)),e.validBefore!==void 0&&(t.validBefore=I(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=I(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return gp(6);if(typeof e.nonceKey==`bigint`)return I(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=bw.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}_f(),z();let ww=`tempo`;function Tw(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new Nw;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new Pw({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&M_(e.to,{strict:!1});if(n<=0)throw new DS({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new ES({feeCap:r});if(i&&r&&i>r)throw new kS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function Ew(e){let t=Dv(L(e,1)),[n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]=t,_=Array.isArray(h)?h:void 0,v=_?g:h;if(t.length!==13&&t.length!==14&&t.length!==15)throw new OS({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:ww});let y={chainId:Number(n),type:ww};Sp(a)&&a!==`0x`&&(y.gas=BigInt(a)),Sp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),Sp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),Sp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),Sp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),Sp(u)&&u!==`0x`&&(y.validBefore=Number(u)),Sp(d)&&d!==`0x`&&(y.validAfter=Number(d)),Sp(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=Qb(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=kC(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||L_(p)?(y.feePayerSignature=null,L_(p)&&(y.from=p)):y.feePayerSignature=Gv(p)),_&&(y.keyAuthorization=$C(_));let b=v?cC(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=oC({payload:Aw(Dw(y)),signature:b,root:!0})}catch{}return Tw(y),y}function Dw(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?Ew(e):e;return i.from&&=SC(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:SC(e.to)}:{}})),Tw(i),{...i,...r?{signature:uC(r)}:{},...n?{feePayerSignature:Hv(n)}:{},type:`tempo`}}function Ow(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;Tw(e);let h=$b(n),g=t.signature||e.signature,_=NC(r),v=i.map(e=>[e.to?SC(e.to):`0x`,e.value?I(e.value):`0x`,e.data??`0x`]),y=!1,b=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&g){let t=uC(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return F_(t.publicKey);if(t.type===`secp256k1`)return ly({payload:Aw(Dw(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Jv(n):`0x`})(),x=[I(a),f?I(f):`0x`,d?I(d):`0x`,s?I(s):`0x`,v,h,u?I(u):`0x`,l?I(l):`0x`,typeof p==`number`?I(p):`0x`,typeof m==`number`?I(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?IC(o):`0x`,b,_,...c?[aw(c)]:[],...g?[pC(uC(g))]:[]];return F(t.format===`feePayer`?`0x78`:`0x76`,Nv(x))}function kw(e){return Ow({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function Aw(e,t={}){let n=jw(e,{presign:!0});return t.from?g_(F(`0x04`,n,SC(t.from))):n}function jw(e,t={}){return g_(t.presign?kw(e):Ow(e))}function Mw(e,t){let n=SC(t.sender);return g_(Ow({...e,signature:void 0},{sender:n,format:`feePayer`}))}var Nw=class extends P{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},Pw=class extends P{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};let Fw=[{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`}]}],Iw=[{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:[]}],Lw=[{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:[]}],Rw=[{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:[]}],zw=[{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:[]}],Bw=[{name:`createPair`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`base`}],outputs:[{type:`bytes32`,name:`key`}]},{name:`place`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`placeFlip`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`cancel`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`cancelStaleOrder`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`swapExactAmountIn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`},{type:`uint128`,name:`minAmountOut`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`swapExactAmountOut`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`},{type:`uint128`,name:`maxAmountIn`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`quoteSwapExactAmountIn`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`quoteSwapExactAmountOut`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`},{type:`address`,name:`token`}],outputs:[{type:`uint128`}]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`}],outputs:[]},{name:`getOrder`,type:`function`,stateMutability:`view`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`orderId`},{type:`address`,name:`maker`},{type:`bytes32`,name:`bookKey`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`remaining`},{type:`uint128`,name:`prev`},{type:`uint128`,name:`next`},{type:`bool`,name:`isFlip`},{type:`int16`,name:`flipTick`}]}]},{name:`getTickLevel`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`base`},{type:`int16`,name:`tick`},{type:`bool`,name:`isBid`}],outputs:[{type:`uint128`,name:`head`},{type:`uint128`,name:`tail`},{type:`uint128`,name:`totalLiquidity`}]},{name:`pairKey`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`tokenA`},{type:`address`,name:`tokenB`}],outputs:[{type:`bytes32`}]},{name:`nextOrderId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`books`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`pairKey`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`base`},{type:`address`,name:`quote`},{type:`int16`,name:`bestBidTick`},{type:`int16`,name:`bestAskTick`}]}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`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:[]}],B=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],Vw=[{name:`CLOSE_GRACE_PERIOD`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`VOUCHER_TYPEHASH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`open`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`uint96`,name:`deposit`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`}],outputs:[{type:`bytes32`,name:`channelId`}]},{name:`settle`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`topUp`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`additionalDeposit`}],outputs:[]},{name:`close`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`captureAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`requestClose`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`getChannel`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[{type:`tuple`,components:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`tuple`,name:`state`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]}]},{name:`getChannelState`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`}],outputs:[{type:`tuple`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`getChannelStatesBatch`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32[]`,name:`channelIds`}],outputs:[{type:`tuple[]`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`computeChannelId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}],outputs:[{type:`bytes32`}]},{name:`getVoucherDigest`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`},{type:`uint96`,name:`cumulativeAmount`}],outputs:[{type:`bytes32`}]},{name:`domainSeparator`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ChannelOpened`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`salt`},{type:`bytes32`,name:`expiringNonceHash`},{type:`uint96`,name:`deposit`}]},{name:`Settled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`deltaPaid`},{type:`uint96`,name:`newSettled`}]},{name:`TopUp`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`additionalDeposit`},{type:`uint96`,name:`newDeposit`}]},{name:`CloseRequested`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint256`,name:`closeGraceEnd`}]},{name:`ChannelClosed`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`settledToPayee`},{type:`uint96`,name:`refundedToPayer`}]},{name:`CloseRequestCancelled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0}]},{name:`ChannelAlreadyExists`,type:`error`,inputs:[]},{name:`ChannelNotFound`,type:`error`,inputs:[]},{name:`NotPayer`,type:`error`,inputs:[]},{name:`NotPayeeOrOperator`,type:`error`,inputs:[]},{name:`InvalidPayee`,type:`error`,inputs:[]},{name:`ZeroDeposit`,type:`error`,inputs:[]},{name:`ExpiringNonceHashNotSet`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`AmountExceedsDeposit`,type:`error`,inputs:[]},{name:`AmountNotIncreasing`,type:`error`,inputs:[]},{name:`CaptureAmountInvalid`,type:`error`,inputs:[]},{name:`CloseNotReady`,type:`error`,inputs:[]},{name:`DepositOverflow`,type:`error`,inputs:[]}],Hw=[{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`}]}],Uw=[{name:`policyIdCounter`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`policyExists`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`bool`}]},{name:`policyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint8`,name:`policyType`},{type:`address`,name:`admin`}]},{name:`isAuthorized`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedSender`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedMintRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`compoundPolicyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`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:`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:[]}],Ww=[{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:[]}],Gw=[{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:[]}],Kw=[{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`}]}],qw=[{type:`error`,name:`DelegateCallNotAllowed`,inputs:[]},{type:`error`,name:`InvalidMode`,inputs:[]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint64`}]},{type:`function`,name:`modeOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint8`}]},{type:`function`,name:`budgetOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint64`}]},{type:`function`,name:`setMode`,stateMutability:`nonpayable`,inputs:[{name:`newMode`,type:`uint8`}],outputs:[]},{type:`function`,name:`setBudget`,stateMutability:`nonpayable`,inputs:[{name:`creditBudget`,type:`uint64`}],outputs:[]}],Jw=[{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:[]}],Yw=[...Fw,...Iw,...Lw,...Rw,...zw,...Bw,...qw,...B,...Vw,...Hw,...Uw,...Ww,...Gw,...Kw,...Jw];z();function Xw(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.multisig!==void 0||e.nonceKey!==void 0||e.signature!==void 0||e.signatures!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:Wd(e)}function Zw(e){try{return Xw(e)===`tempo`}catch{return!1}}function Qw(e){let t=L(e,0,1);return t===`0x76`||t===`0x78`?eT(e):yy(e)}async function $w(e,t){if(!Zw(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 Ih(e,{r:I(n,{size:32}),s:I(r,{size:32}),yParity:i})}return Ih(e,t)}if(Xw(e)===`tempo`)return tT(e,t);throw Error(`Unsupported transaction type`)}function eT(e){let{feePayerSignature:t,nonce:n,...r}=Ew(e);return{...r,nonce:Number(n??0n),feePayerSignature:t&&{r:I(t.r,{size:32}),s:I(t.s,{size:32}),yParity:t.yParity}}}async function tT(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return uC({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,nonce:a,...o}=e,s=(()=>{let t=e.feePayerSignature;if(t)return{r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)};if(t===null||i)return null})(),c=e.feePayerSignature!==void 0&&e.feePayerSignature!==null,l=i===!0&&(!n||!s)||typeof i==`object`&&!n||!n&&c,u={...o,calls:o.calls?.length?o.calls:[{to:o.to||(!o.data||o.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:o.value,data:o.data}],chainId:Number(r),feePayerSignature:s,type:`tempo`,...a?{nonce:BigInt(a)}:{}},d={...u};l&&delete d.feeToken;let f=(()=>{if(n)return n;if(!e.multisig||!e.signatures)return;let t=mC({payload:Aw(Dw(d)),signatures:e.signatures.map(e=>uC(e)),genesisConfig:e.multisig});return uC({genesisConfig:e.multisig,signatures:t,...a||e.nonceKey?{}:{init:!0}})})();if(f&&typeof e.feePayer==`object`){let t=Dw(u,{signature:f}),n=Mw(t,{sender:e.from??oC({payload:Aw(t),root:!0,signature:f})});return Ow(t,{feePayerSignature:Hv(await e.feePayer.sign({hash:n}))})}return i===!0||!f&&c?f&&s?Ow(d,{signature:f}):f?Ow(d,{format:`feePayer`,sender:e.from,signature:f}):Ow(d,{feePayerSignature:null}):Ow(d,{feePayerSignature:void 0,signature:f})}z(),ma(),di();function nT(e){let{access:t}=e;return t?mT(e):pT(e)}function rT(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=Ix({privateKey:e});return nT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=RS({...t,challenge:n,rpId:i,origin:a});return pC({metadata:r,signature:Lx({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function iT(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Ix({privateKey:e});return nT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return pC({signature:Lx({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function aT(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=cy({privateKey:e});return nT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Kv(dy({payload:n,privateKey:e}))}})}function oT(e,t={}){let{id:n}=e,r=C_(e.publicKey);return nT({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await zS({...t,challenge:e,credentialId:n});return pC({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function sT(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return nT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return pC({signature:await HS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function cT(e,t){let n=lT(t);return uT(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function lT(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return YC({chainId:t,channelId:typeof n==`string`?n:qC(n,{chainId:t}),cumulativeAmount:r})}function uT(e){return e.source===`accessKey`&&`accessKeyAddress`in e}async function dT(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=t,{accessKeyAddress:l,keyType:u}=hT(r),d=uT(e),f=d?{account:e.address}:{},p=c?{}:{expiry:i,limits:a,scopes:o},m=ew({address:l,chainId:n,type:u,witness:s,...c?{isAdmin:!0}:{},...f,...p});return ZC({address:l,chainId:n,signature:uC(d?await e.sign({hash:m,raw:!0}):await e.sign({hash:m})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...f,...p})}function fT(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??F_(e.publicKey),o=T_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?ui(F(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?pC(uC({userAddress:n,inner:uC(o),type:`keychain`,version:i})):o}return{address:N_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=uC(await s({hash:Pu({address:r,chainId:t,nonce:n})}));if(i.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+i.type+\"`.\");let{r:a,s:o,yParity:c}=i.signature;return{address:r,chainId:t,nonce:n,r:I(a,{size:32}),s:I(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:dg(t)})},async signTransaction(e,t){let{serializer:n=$w}=t??{},r=ui(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),i=e.multisig;return i?await s({hash:YS({payload:r,genesisConfig:i}),raw:!0}):await n(e,uC(await s({hash:r})))},async signTypedData(e){return await s({hash:bg(e)})},async signVoucher(e){let t=lT(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function pT(e){let t=fT(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}=hT(e),d=c?{}:{expiry:i,limits:a,scopes:o};return ZC({address:l,chainId:r,signature:uC(await t.sign({hash:ew({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function mT(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=N(t);return{...fT({...e,parentAddress:r}),accessKeyAddress:F_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function hT(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:F_(C_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let gT=`0xaAAAaaAA00000000000000000000000000000000`,_T=`0xdec0000000000000000000000000000000000000`,vT=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function yT(e,t){return vT.indexOf(e)<vT.indexOf(t)}tf(),ya();function bT(e,t){let{decimals:n,token:r}=t;if(e&&typeof r==`string`){let t=ST(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=IC(r);return{address:i,decimals:n??(e?wT(e,i):void 0)}}function xT(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=ST(e,t);if(n)return n}let i=IC(t);for(let e of n){let t=CT(e,r);if(t&&ef(t.address,i))return t}}function ST(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 CT(e,r)}function CT(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 wT(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=CT(e,r);if(n&&ef(n.address,t))return n.decimals}}async function TT(e,t){let{address:n,decimals:r}=bT(e,t);return r===void 0?{address:n,decimals:await Km(e,{abi:B,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function ET(e){let{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,validAfter:d,validBefore:f}=e;return{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,validAfter:d,validBefore:f}}function DT(e){return e.length===2?e:[void 0,e[0]]}function V(e){return{...e,data:va(e),to:e.address}}ma();let OT={0:`secp256k1`,1:`p256`,2:`webAuthn`},kT={true:`limited`,false:`unlimited`};async function AT(e,t){return AT.inner(dh,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 dT(N(d),{chainId:BigInt(a),key:r,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]=sf({abi:Fw,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(AT||={});async function jT(e,t){return jT.inner(fh,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 V({address:gT,abi:Fw,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:Fw,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(jT||={});async function MT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=N(n),o=await Km(e,{...i,account:null,...MT.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:OT[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:kT[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:gT,abi:Fw,functionName:`getKey`,args:[t,zT(n)]})}e.call=t})(MT||={});async function NT(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=N(n),s=e.chain?.hardfork;if(s&&yT(s,`t3`))return{remaining:await Km(e,{...a,...NT.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await Km(e,{...a,...NT.callWithPeriod({account:o.address,accessKey:r,token:i})});return{remaining:c,periodEnd:l}}(function(e){function t(e){let{account:t,accessKey:n,token:r}=e;return V({address:gT,abi:Fw,functionName:`getRemainingLimit`,args:[t,zT(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return V({address:gT,abi:Fw,functionName:`getRemainingLimitWithPeriod`,args:[t,zT(n),r]})}e.callWithPeriod=n})(NT||={});async function PT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=N(n);return Km(e,{...i,account:null,...PT.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:gT,abi:Fw,functionName:`isAdminKey`,args:[t,zT(n)]})}e.call=t})(PT||={});async function FT(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=N(n);return Km(e,{...i,account:null,...FT.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return V({address:gT,abi:Fw,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(FT||={});async function IT(e,t){return IT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return V({address:gT,abi:Fw,functionName:`revokeKey`,args:[zT(t)]})}e.call=n;function r(e){let[t]=sf({abi:Fw,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(IT||={});async function LT(e,t){return LT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return V({address:gT,abi:Fw,functionName:`updateSpendingLimit`,args:[zT(t),n,r]})}e.call=n;function r(e){let[t]=sf({abi:Fw,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(LT||={});async function RT(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return Km(e,{...o,...RT.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 V({address:`0x5165300000000000000000000000000000000000`,abi:zw,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(RT||={});function zT(e){return typeof e==`string`?e:e.accessKeyAddress}z(),ma();async function BT(e,t){return BT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountOut:r,maxAmountIn:i}=e;return V({address:_T,abi:Bw,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(BT||={});async function VT(e,t){return VT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return V({address:_T,abi:Bw,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:Bw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(VT||={});async function HT(e,t){return HT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return V({address:_T,abi:Bw,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:Bw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(HT||={});async function UT(e,t){return UT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{base:i,...a}=r,o=e.call({base:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{base:t}=e;return V({address:_T,abi:Bw,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:Bw,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(UT||={});async function WT(e,t){let{account:n=e.account,token:r,...i}=t,a=n?N(n).address:void 0;if(!a)throw Error(`account is required.`);return Km(e,{...i,...WT.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:_T,abi:Bw,args:[t,n],functionName:`balanceOf`})}e.call=t})(WT||={});async function GT(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return Km(e,{...a,...GT.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return V({address:_T,abi:Bw,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(GT||={});async function KT(e,t){let{orderId:n,...r}=t;return Km(e,{...r,...KT.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return V({address:_T,abi:Bw,args:[t],functionName:`getOrder`})}e.call=t})(KT||={});async function qT(e,t){let{base:n,quote:r,...i}=t;return Km(e,{...i,...qT.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e,r=eE(t,n);return V({address:_T,abi:Bw,args:[r],functionName:`books`})}e.call=t})(qT||={});async function JT(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await Km(e,{...a,...JT.call({base:n,tick:r,isBid:i})});return{head:o,tail:s,totalLiquidity:c}}(function(e){function t(e){let{base:t,tick:n,isBid:r}=e;return V({address:_T,abi:Bw,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(JT||={});async function YT(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return Km(e,{...a,...YT.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return V({address:_T,abi:Bw,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(YT||={});async function XT(e,t){return XT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{amount:i,token:a,type:o,tick:s,...c}=r,l=e.call({amount:i,token:a,type:o,tick:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i}=e;return V({address:_T,abi:Bw,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=sf({abi:Bw,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(XT||={});async function ZT(e,t){return ZT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{amount:i,flipTick:a,tick:o,token:s,type:c,...l}=r,u=e.call({amount:i,flipTick:a,tick:o,token:s,type:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i,flipTick:a}=e;return V({address:_T,abi:Bw,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=sf({abi:Bw,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})(ZT||={});async function QT(e,t){return QT.inner(fh,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountIn:r,minAmountOut:i}=e;return V({address:_T,abi:Bw,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(QT||={});async function $T(e,t){return $T.inner(fh,e,t)}(function(e){async function t(t,n,r){let{token:i,amount:a,...o}=r,s=e.call({token:i,amount:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,amount:n}=e;return V({address:_T,abi:Bw,functionName:`withdraw`,args:[t,n]})}e.call=n})($T||={});function eE(e,t){return g_(F(e,t))}z(),ma(),sd();function tE(e){if(!Zw(e))return xd(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=Sw(e);return{...a,accessList:a.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:n?{r:I(n.r,{size:32}),s:I(n.s,{size:32}),v:BigInt(n.v??27),yParity:n.yParity}:void 0,nonce:Number(i),typeHex:bw[a.type],type:a.type}}function nE(e){return gh(e)}function rE(e,t){let n=e,r=n.account?N(n.account):void 0;if(!Zw(n))return rd(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{multisig:i,multisigInit:a,multisigSignatureCount:o,signatures:s,...c}=n,l=Cw({...c,type:`tempo`});t===`estimateGas`&&(l.maxFeePerGas=void 0,l.maxPriorityFeePerGas=void 0),l.to=void 0,l.data=void 0,l.value=void 0;let[u,d]=(()=>{let e=r&&`keyType`in r?r.keyType:r?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,iE(n.keyData)]:[n.keyType,iE(n.keyData)]})(),f=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(l.from=r.address),{...l,...a?{multisigInit:a}:{},...o===void 0?{}:{multisigSignatureCount:o},...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?N(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function iE(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:I(t,{size:2})}let aE=new Map;async function oE(e){aE.set(e,(aE.get(e)??0)+1),await Promise.resolve();let t=(aE.get(e)??0)>1;return queueMicrotask(()=>{let t=aE.get(e)??0;t<=1?aE.delete(e):aE.set(e,t-1)}),t}z(),pd(),tf(),sd(),di();function sE(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(gp(8))%e)}let cE={blockTime:1e3,extendSchema:Zh(),formatters:{transaction:Sd({exclude:[`aaAuthorizationList`],format:tE}),transactionReceipt:_h({format:nE}),transactionRequest:od({format:rE})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;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=r.multisig??(r.account?.source===`multisig`?r.account.config:void 0);if(i){let e=KS(i);r.multisig=e,r.from=JS(e),r.multisigInit={salt:e.salt??WS,threshold:Number(e.threshold),owners:e.owners.map(e=>({owner:e.owner,weight:Number(e.weight)}))},r.multisigSignatureCount??=lE(e),r.account?.source!==`multisig`&&delete r.account}if(await(async()=>{if(r.nonceKey===`expiring`||r.nonceKey===fd)return!0;if(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 oE(t.toLowerCase()):!1})()?(r.nonceKey=fd,r.nonce=0,r.validAfter===void 0&&(r.validAfter=sE()),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,MT,`getMetadata`)({account:i,accessKey:a});ef(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:((e,t)=>$w(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return cC(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?ui(F(`0x04`,r,n)):r,a=(()=>{try{return oC({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await MT(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:gC(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await kh(e,{address:n,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return gC(o,{address:n,payload:r})}}return await E(e,Xy,`verifyHash`)({...t,chain:null})}};function lE(e){let t=Number(e.threshold),n=e.owners.map(e=>Number(e.weight)).sort((e,t)=>t-e),r=0;for(let[e,i]of n.entries())if(r+=i,r>=t)return e+1;return n.length}let uE=Xh({...cE,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),dE=Xh({...cE,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0});z(),ma(),ya();async function fE(e,t){return fE.inner(fh,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]=DT(e),{amount:r,spender:i,token:a}=n,{address:o,decimals:s}=bT(t,{token:a});return V({address:o,abi:B,functionName:`approve`,args:[i,sb(r,s)]})}e.call=n;async function r(t,n){return $d(t,{...ET(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{...ET(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:B,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(fE||={});async function pE(e,t){return pE.inner(fh,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]=DT(e),{from:r,amount:i,token:a}=n,{address:o,decimals:s}=bT(t,{token:a});return V({address:o,abi:B,functionName:`burnBlocked`,args:[r,sb(i,s)]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(pE||={});async function mE(e,t){return mE.inner(fh,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]=DT(e),{amount:r,memo:i,token:a}=n,{address:o,decimals:s}=bT(t,{token:a}),c=sb(r,s),l=i?{functionName:`burnWithMemo`,args:[c,mp(i,32)]}:{functionName:`burn`,args:[c]};return V({address:o,abi:B,...l})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(mE||={});async function hE(e,t){return hE.inner(fh,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]=DT(e),{token:r,policyId:i}=n;return V({address:bT(t,{token:r}).address,abi:B,functionName:`changeTransferPolicyId`,args:[i]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(hE||={});async function gE(e,t){return gE.inner(fh,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?N(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]=DT(e),{name:r,symbol:i,currency:a,logoURI:o,quoteToken:s=`0x20c0000000000000000000000000000000000000`,admin:c,salt:l=gp(32)}=n;return V({address:`0x20fc000000000000000000000000000000000000`,abi:Hw,args:typeof o==`string`?[r,i,a,bT(t,{token:s}).address,c,l,o]:[r,i,a,bT(t,{token:s}).address,c,l],functionName:`createToken`})}e.call=n;function r(e){let[t]=sf({abi:Hw,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(gE||={});async function _E(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([Km(e,{...o,..._E.call(e,{account:n,spender:i,token:a})}),TT(e,{decimals:r,token:a})]);return ob(s,c)}(function(e){function t(...e){let[t,n]=DT(e);return V({address:bT(t,n).address,abi:B,functionName:`allowance`,args:[n.account,n.spender]})}e.call=t})(_E||={});async function vE(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new oh;let o=N(n).address,[s,{decimals:c}]=await Promise.all([Km(e,{...a,...vE.call(e,{account:o,token:i})}),TT(e,{decimals:r,token:i})]);return ob(s,c)}(function(e){function t(...e){let[t,n]=DT(e),r=n.account??t?.account;if(!r)throw new oh;let i=N(r).address;return V({address:bT(t,n).address,abi:B,functionName:`balanceOf`,args:[i]})}e.call=t})(vE||={});async function yE(e,t){let{token:n,...r}=t,{address:i}=bT(e,{token:n}),a=B,o=xT(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return FC(i)===FC(`0x20c0000000000000000000000000000000000000`)?bE(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:xE(r),symbol:xE(i),currency:xE(e),decimals:xE(t),logoURI:xE(n,``),totalSupply:xE(a),...s})):bE(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:xE(i),symbol:xE(c),currency:xE(e),decimals:xE(t),logoURI:xE(n,``),quoteToken:xE(r),totalSupply:xE(l),paused:xE(a),supplyCap:xE(o),transferPolicyId:xE(u),...s}))}async function bE(e,t){if(e.batch?.multicall===void 0)return Ny(e,{...t,allowFailure:!0,deployless:!0});let{contracts:n,...r}=t;return(await Promise.allSettled(n.map(t=>Km(e,{...r,...t})))).map(e=>e.status===`fulfilled`?{result:e.value,status:`success`}:{error:e.reason,status:`failure`})}function xE(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function SE(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([Km(e,{...i,...SE.call(e,{token:r})}),TT(e,{decimals:n,token:r})]);return ob(a,o)}(function(e){function t(...e){let[t,n]=DT(e);return V({address:bT(t,n).address,abi:B,args:[],functionName:`totalSupply`})}e.call=t})(SE||={});async function CE(e,t){return Km(e,{...t,...CE.call(e,t)})}(function(e){function t(...e){let[t,n]=DT(e),{role:r,token:i}=n;return V({address:bT(t,{token:i}).address,abi:B,functionName:`getRoleAdmin`,args:[yw(r)]})}e.call=t})(CE||={});async function wE(e,t){let{account:n=e.account}=t,r=n?N(n).address:void 0;if(!r)throw Error(`account is required.`);return Km(e,{...t,...wE.call(e,{...t,account:r})})}(function(e){function t(...e){let[t,n]=DT(e),{account:r,role:i,token:a}=n;return V({address:bT(t,{token:a}).address,abi:B,functionName:`hasRole`,args:[r,yw(i)]})}e.call=t})(wE||={});async function TE(e,t){return TE.inner(dh,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:va(i)}})})}e.inner=t;function n(...e){let[t,n]=DT(e),{token:r,to:i,role:a}=n,o=yw(a);return V({address:bT(t,{token:r}).address,abi:B,functionName:`grantRole`,args:[o,i]})}e.call=n;function r(e){let t=sf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(TE||={});async function EE(e,t){return EE.inner(fh,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]=DT(e),{to:r,amount:i,memo:a,token:o}=n,{address:s,decimals:c}=bT(t,{token:o}),l=sb(i,c),u=a?{functionName:`mintWithMemo`,args:[r,l,mp(a,32)]}:{functionName:`mint`,args:[r,l]};return V({address:s,abi:B,...u})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(EE||={});async function DE(e,t){return DE.inner(fh,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]=DT(e),{token:r}=n;return V({address:bT(t,{token:r}).address,abi:B,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(DE||={});async function OE(e,t){return OE.inner(dh,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:va(i)}})})}e.inner=t;function n(...e){let[t,n]=DT(e),{token:r,role:i}=n,a=yw(i);return V({address:bT(t,{token:r}).address,abi:B,functionName:`renounceRole`,args:[a]})}e.call=n;function r(e){let t=sf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(OE||={});async function kE(e,t){return kE.inner(dh,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:va(i)}})})}e.inner=t;function n(...e){let[t,n]=DT(e),{token:r,from:i,role:a}=n,o=yw(a);return V({address:bT(t,{token:r}).address,abi:B,functionName:`revokeRole`,args:[o,i]})}e.call=n;function r(e){let t=sf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(kE||={});async function AE(e,t){return AE.inner(fh,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]=DT(e),{token:r,supplyCap:i}=n;return V({address:bT(t,{token:r}).address,abi:B,functionName:`setSupplyCap`,args:[i]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(AE||={});async function jE(e,t){return jE.inner(fh,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]=DT(e),{token:r,role:i,adminRole:a}=n,o=yw(i),s=yw(a);return V({address:bT(t,{token:r}).address,abi:B,functionName:`setRoleAdmin`,args:[o,s]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(jE||={});async function ME(e,t){return ME.inner(fh,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]=DT(e),{from:r,memo:i,to:a,token:o}=n,{address:s,decimals:c}=bT(t,{token:o}),l=sb(n.amount,c),u=i&&r?{functionName:`transferFromWithMemo`,args:[r,a,l,mp(i,32)]}:i?{functionName:`transferWithMemo`,args:[a,l,mp(i,32)]}:r?{functionName:`transferFrom`,args:[r,a,l]}:{functionName:`transfer`,args:[a,l]};return V({address:s,abi:B,...u})}e.call=n;async function r(t,n){return $d(t,{...ET(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{...ET(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:B,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(ME||={});async function NE(e,t){return NE.inner(fh,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]=DT(e),{token:r}=n;return V({address:bT(t,{token:r}).address,abi:B,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(NE||={});async function PE(e,t){return PE.inner(fh,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]=DT(e),{token:r,quoteToken:i}=n;return V({address:bT(t,{token:r}).address,abi:B,functionName:`setNextQuoteToken`,args:[bT(t,{token:i}).address]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(PE||={});async function FE(e,t){return FE.inner(fh,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]=DT(e),{token:r}=n;return V({address:bT(t,{token:r}).address,abi:B,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(FE||={});let IE=Xh({...cE,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}),LE=Xh({...cE,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}});function RE(e){return e.source}function zE(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Gb({key:zE.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(Qw(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:zE.type})}}Xa();let BE={AddressAlreadyHasValidator:`This address already has a validator.`,AddressNotReserved:`Address is not reserved.`,AddressReserved:`Address is reserved.`,AlreadyInitialized:`Already initialized.`,AmountExceedsDeposit:`Amount exceeds deposit.`,AmountNotIncreasing:`Amount is not increasing.`,BelowMinimumOrderSize:`Order size is below the minimum allowed ({0}).`,CallNotAllowed:`This call is not allowed.`,CannotChangeWithinBlock:`Cannot change within the same block.`,CaptureAmountInvalid:`Capture amount is invalid.`,ChannelAlreadyExists:`Channel already exists.`,ChannelNotFound:`Channel not found.`,CloseNotReady:`Channel is not ready to close.`,ContractPaused:`Contract is paused.`,DelegateCallNotAllowed:`Delegate calls are not allowed.`,DepositOverflow:`Deposit overflow.`,DivisionByZero:`Division by zero.`,EmptyV1ValidatorSet:`Validator set is empty.`,ExpiringNonceHashNotSet:`Expiring nonce hash is not set.`,ExpiringNonceReplay:`Expiring nonce has already been used.`,ExpiringNonceSetFull:`Expiring nonce set is full.`,ExpiryInPast:`Expiry is in the past.`,IdenticalAddresses:`Addresses must be different.`,IdenticalTokens:`Cannot swap a token for itself — input and output tokens must be different.`,IncompatiblePolicyType:`Incompatible policy type.`,IngressAlreadyExists:`Ingress \"{0}\" already exists.`,InsufficientAllowance:`Insufficient allowance.`,InsufficientBalance:`Insufficient balance. Required: {1}, available: {0}.`,InsufficientFeeTokenBalance:`Insufficient fee token balance.`,InsufficientLiquidity:`Not enough liquidity in the order book to fill this trade.`,InsufficientOutput:`The output amount is below the slippage minimum — try increasing slippage tolerance.`,InsufficientReserves:`Insufficient reserves.`,InvalidAmount:`Invalid amount.`,InvalidBaseToken:`This token is not a valid base token for the requested pair.`,InvalidCallScope:`Invalid call scope.`,InvalidClaimAddress:`Invalid claim address.`,InvalidCurrency:`Invalid currency.`,InvalidExpiringNonceExpiry:`Invalid expiring nonce expiry.`,InvalidFlipTick:`The flip-order price tick is invalid.`,InvalidFormat:`Invalid format.`,InvalidKeyAuthorizationWitness:`Invalid key authorization witness.`,InvalidKeyId:`Invalid key ID.`,InvalidLogoURI:`Invalid logo URI.`,InvalidMasterAddress:`Invalid master address.`,InvalidMigrationIndex:`Invalid migration index.`,InvalidMode:`Invalid mode.`,InvalidNonceKey:`Invalid nonce key.`,InvalidOwner:`Invalid owner.`,InvalidPayee:`Invalid payee.`,InvalidPayload:`Invalid payload.`,InvalidPolicyType:`Invalid policy type.`,InvalidPublicKey:`Invalid public key.`,InvalidQuoteToken:`Invalid quote token.`,InvalidReceipt:`Invalid receipt.`,InvalidReceivePolicyType:`Invalid receive policy type.`,InvalidRecipient:`Invalid recipient.`,InvalidRecoveryAuthority:`Invalid recovery authority.`,InvalidSignature:`Invalid signature.`,InvalidSignatureFormat:`Invalid signature format.`,InvalidSignatureType:`Invalid signature type.`,InvalidSpendingLimit:`Invalid spending limit.`,InvalidSupplyCap:`Invalid supply cap.`,InvalidSwapCalculation:`Invalid swap calculation.`,InvalidTick:`The price tick is invalid.`,InvalidToken:`This token is not supported on the exchange.`,InvalidTransferPolicyId:`Invalid transfer policy.`,InvalidValidatorAddress:`Invalid validator address.`,KeyAlreadyExists:`Key already exists.`,KeyAlreadyRevoked:`Key has already been revoked.`,KeyAuthorizationWitnessAlreadyBurned:`Key authorization witness has already been burned.`,KeyExpired:`Key has expired.`,KeyNotFound:`Key not found.`,LegacyAuthorizeKeySelectorChanged:`Legacy authorize key selector changed to {0}.`,LogoURITooLong:`Logo URI is too long.`,MasterIdCollision:`Master ID collision with {0}.`,MaxInputExceeded:`The required input exceeds the slippage maximum — try increasing slippage tolerance.`,MigrationNotComplete:`Migration is not complete.`,NoOptedInSupply:`No opted-in supply.`,NonceOverflow:`Nonce overflow.`,NotHostPort:`\"{1}\" is not a valid host:port for {0}.`,NotInitialized:`Not initialized.`,NotIp:`\"{0}\" is not a valid IP address.`,NotIpPort:`\"{1}\" is not a valid IP:port for {0}.`,NotPayeeOrOperator:`Not payee or operator.`,NotPayer:`Not payer.`,OrderDoesNotExist:`No order exists with the given ID.`,OrderNotStale:`This order is not yet eligible for stale-cleanup.`,PairAlreadyExists:`A trading pair for these tokens has already been created.`,PairDoesNotExist:`No trading pair exists for these tokens.`,PermitExpired:`Permit has expired.`,PolicyForbids:`Forbidden by policy.`,PolicyNotFound:`Policy not found.`,PolicyNotSimple:`Policy is not a simple policy.`,ProofOfWorkFailed:`Proof of work failed.`,ProtectedAddress:`Address is protected.`,ProtocolNonceNotSupported:`Protocol nonce is not supported.`,PublicKeyAlreadyExists:`Public key already exists.`,SignatureTypeMismatch:`Signature type mismatch. Expected {0}, got {1}.`,SpendingLimitExceeded:`Spending limit exceeded.`,SupplyCapExceeded:`Supply cap exceeded.`,TickOutOfBounds:`Price tick {0} is outside the allowed range.`,TokenAlreadyExists:`Token {0} already exists.`,Unauthorized:`Unauthorized.`,UnauthorizedCaller:`Unauthorized caller.`,UnauthorizedClaimer:`Unauthorized claimer.`,Uninitialized:`Uninitialized.`,ValidatorAlreadyDeactivated:`Validator is already deactivated.`,ValidatorAlreadyExists:`Validator already exists.`,ValidatorNotFound:`Validator not found.`,VirtualAddressNotAllowed:`Virtual address is not allowed.`,VirtualAddressUnregistered:`Virtual address is not registered.`,ZeroDeposit:`Deposit cannot be zero.`,ZeroPublicKey:`Public key cannot be zero.`};function VE(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function HE(e){let t=e.details??e.shortMessage??e.message,n=UE(e);if(n)try{let e=Ya({abi:Yw,data:n}),r=BE[e.errorName];return{...e,data:n,message:r?VE(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in BE?{errorName:`unknown`,message:BE[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function UE(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 UE(t.cause);if(t.error)return UE(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return UE(e)}return null}function WE(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 VS({extractable:t}),n=T_(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(!GE(n.keyPair.privateKey))throw new KE(\"`webCryptoP256` key material did not survive storage.\");return sT(n.keyPair,r)}if(n.jwk)return sT({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new KE(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:C_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function GE(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey||!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var KE=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function qE(e){return e instanceof KE||e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let JE={p256:WE()};var YE;function H(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,\"_zod\",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,\"name\",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,\"init\",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,\"name\",{value:e}),o}var XE=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},ZE=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(YE=globalThis).__zod_globalConfig??(YE.__zod_globalConfig={});let QE=globalThis.__zod_globalConfig;function $E(e){return e&&Object.assign(QE,e),QE}function eD(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 tD(e,t){return typeof t==`bigint`?t.toString():t}function nD(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}}}}function rD(e){return e==null}function iD(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let aD=Symbol(`evaluating`);function oD(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==aD)return r===void 0&&(r=aD,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function sD(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function cD(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let lD=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function uD(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function dD(e){if(uD(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return uD(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}let fD=new Set([`string`,`number`,`symbol`]),pD=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function mD(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function hD(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function gD(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 _D(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function vD(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return hD(e,cD(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: \"${e}\"`);t[e]&&delete r[e]}return sD(this,`shape`,r),r},checks:[]}))}function yD(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 bD(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 xD(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function SD(e){return typeof e==`string`?e:e?.message}function CD(e,t,n){let r=e.message?e.message:SD(e.inst?._zod.def?.error?.(e))??SD(t?.error?.(e))??SD(n.customError?.(e))??SD(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function wD(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function TD(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let ED=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,\"_zod\",{value:e._zod,enumerable:!1}),Object.defineProperty(e,\"issues\",{value:t,enumerable:!1}),e.message=JSON.stringify(t,tD,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},DD=H(`$ZodError`,ED),OD=H(`$ZodError`,ED,{Parent:Error}),kD=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new XE;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>CD(e,a,$E())));throw lD(t,i?.callee),t}return o.value},AD=kD(OD),jD=(e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>CD(e,a,$E())));throw lD(t,i?.callee),t}return o.value})(OD),MD=(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 XE;return a.issues.length?{success:!1,error:new(e??DD)(a.issues.map(e=>CD(e,i,$E())))}:{success:!0,data:a.value}})(OD),ND=(e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>CD(e,i,$E())))}:{success:!0,data:a.value}})(OD),PD=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return kD(e)(t,n,i)})(OD),FD=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},ID=/^-?\\d+n?$/,LD=/^-?\\d+(?:\\.\\d+)?$/,RD=/^(?:true|false)$/i,zD=/^null$/i,BD=/^undefined$/i,VD=H(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),HD={number:`number`,bigint:`bigint`,object:`date`},UD=H(`$ZodCheckLessThan`,(e,t)=>{VD.init(e,t);let n=HD[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),WD=H(`$ZodCheckGreaterThan`,(e,t)=>{VD.init(e,t);let n=HD[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),GD=H(`$ZodCheckMaxLength`,(e,t)=>{var n;VD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!rD(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=wD(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),KD=H(`$ZodCheckMinLength`,(e,t)=>{var n;VD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!rD(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=wD(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),qD=H(`$ZodCheckStringFormat`,(e,t)=>{var n,r;VD.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),JD=H(`$ZodCheckRegex`,(e,t)=>{qD.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})}}),YD={major:4,minor:4,patch:3},XD=H(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=YD;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=yD(e),i;for(let a of t){if(a._zod.def.when){if(bD(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new XE;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=yD(e,t))});else{if(e.issues.length===t)continue;r||=yD(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(yD(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new XE;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new XE;return o.then(e=>t(e,r,a))}return t(o,r,a)}}oD(e,`~standard`,()=>({validate:t=>{try{let n=MD(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return ND(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),ZD=H(`$ZodString`,(e,t)=>{XD.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??FD(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),QD=H(`$ZodNumber`,(e,t)=>{XD.init(e,t),e._zod.pattern=e._zod.bag.pattern??LD,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),$D=H(`$ZodBoolean`,(e,t)=>{XD.init(e,t),e._zod.pattern=RD,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}}),eO=H(`$ZodBigInt`,(e,t)=>{XD.init(e,t),e._zod.pattern=ID,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}}),tO=H(`$ZodUndefined`,(e,t)=>{XD.init(e,t),e._zod.pattern=BD,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}}),nO=H(`$ZodNull`,(e,t)=>{XD.init(e,t),e._zod.pattern=zD,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}}),rO=H(`$ZodUnknown`,(e,t)=>{XD.init(e,t),e._zod.parse=e=>e});function iO(e,t,n){e.issues.length&&t.issues.push(...xD(n,e.issues)),t.value[n]=e.value}let aO=H(`$ZodArray`,(e,t)=>{XD.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>iO(t,n,e))):iO(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function oO(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...xD(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function sO(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key \"${n}\": expected a Zod schema`);let n=_D(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function cO(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>oO(e,n,i,t,u,d))):oO(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}let lO=H(`$ZodObject`,(e,t)=>{if(XD.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,\"shape\",{get:()=>{let n={...e};return Object.defineProperty(t,\"shape\",{value:n}),n}})}let n=nD(()=>sO(t));oD(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=uD,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>oO(n,t,e,s,r,i))):oO(a,t,e,s,r,i)}return i?cO(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function uO(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=>!yD(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=>CD(e,r,$E())))}),t)}let dO=H(`$ZodUnion`,(e,t)=>{XD.init(e,t),oD(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),oD(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),oD(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),oD(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>iD(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=>uO(t,r,e,i)):uO(o,r,e,i)}}),fO=H(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,dO.init(e,t);let n=e._zod.parse;oD(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index \"${t.options.indexOf(n)}\"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=nD(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index \"${t.options.indexOf(r)}\"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value \"${String(t)}\"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!uD(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()),input:o,path:[t.discriminator],inst:e}),i)}}),pO=H(`$ZodTuple`,(e,t)=>{XD.init(e,t);let n=t.items;e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({input:a,inst:e,expected:`tuple`,code:`invalid_type`}),r;r.value=[];let o=[],s=mO(n,`optin`),c=mO(n,`optout`);if(!t.rest){if(a.length<s)return r.issues.push({code:`too_small`,minimum:s,inclusive:!0,input:a,inst:e,origin:`array`}),r;a.length>n.length&&r.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:a,inst:e,origin:`array`})}let l=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:a[e],issues:[]},i);t instanceof Promise?o.push(t.then(t=>{l[e]=t})):l[e]=t}if(t.rest){let e=n.length-1,s=a.slice(n.length);for(let n of s){e++;let a=t.rest._zod.run({value:n,issues:[]},i);a instanceof Promise?o.push(a.then(t=>hO(t,r,e))):hO(a,r,e)}}return o.length?Promise.all(o).then(()=>gO(l,r,n,a,c)):gO(l,r,n,a,c)}});function mO(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function hO(e,t,n){e.issues.length&&t.issues.push(...xD(n,e.issues)),t.value[n]=e.value}function gO(e,t,n,r,i){for(let a=0;a<n.length;a++){let n=e[a],o=a<r.length;if(n.issues.length){if(!o&&a>=i){t.value.length=a;break}t.issues.push(...xD(a,n.issues))}t.value[a]=n.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}let _O=H(`$ZodRecord`,(e,t)=>{XD.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!dD(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>CD(e,r,$E())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...xD(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...xD(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&LD.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>CD(e,r,$E())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...xD(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...xD(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),vO=H(`$ZodEnum`,(e,t)=>{XD.init(e,t);let n=eD(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>fD.has(typeof e)).map(e=>typeof e==`string`?mD(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),yO=H(`$ZodLiteral`,(e,t)=>{if(XD.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?mD(e):e?mD(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),bO=H(`$ZodTransform`,(e,t)=>{XD.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new ZE(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new XE;return n.value=i,n.fallback=!0,n}});function xO(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let SO=H(`$ZodOptional`,(e,t)=>{XD.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,oD(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),oD(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${iD(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>xO(e,r)):xO(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),CO=H(`$ZodNullable`,(e,t)=>{XD.init(e,t),oD(e._zod,`optin`,()=>t.innerType._zod.optin),oD(e._zod,`optout`,()=>t.innerType._zod.optout),oD(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${iD(e.source)}|null)$`):void 0}),oD(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),wO=H(`$ZodPipe`,(e,t)=>{XD.init(e,t),oD(e._zod,`values`,()=>t.in._zod.values),oD(e._zod,`optin`,()=>t.in._zod.optin),oD(e._zod,`optout`,()=>t.out._zod.optout),oD(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>TO(e,t.in,n)):TO(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>TO(e,t.out,n)):TO(r,t.out,n)}});function TO(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}let EO=H(`$ZodCodec`,(e,t)=>{XD.init(e,t),oD(e._zod,`values`,()=>t.in._zod.values),oD(e._zod,`optin`,()=>t.in._zod.optin),oD(e._zod,`optout`,()=>t.out._zod.optout),oD(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if((n.direction||`forward`)===`forward`){let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>DO(e,t,n)):DO(r,t,n)}{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>DO(e,t,n)):DO(r,t,n)}}});function DO(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=>OO(e,r,t.out,n)):OO(e,r,t.out,n)}{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>OO(e,r,t.in,n)):OO(e,r,t.in,n)}}function OO(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let kO=H(`$ZodReadonly`,(e,t)=>{XD.init(e,t),oD(e._zod,`propValues`,()=>t.innerType._zod.propValues),oD(e._zod,`values`,()=>t.innerType._zod.values),oD(e._zod,`optin`,()=>t.innerType?._zod?.optin),oD(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(AO):AO(r)}});function AO(e){return e.value=Object.freeze(e.value),e}let jO=H(`$ZodTemplateLiteral`,(e,t)=>{XD.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){if(!e._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);let t=e._zod.pattern instanceof RegExp?e._zod.pattern.source:e._zod.pattern;if(!t)throw Error(`Invalid template literal part: ${e._zod.traits}`);let r=+!!t.startsWith(`^`),i=t.endsWith(`$`)?t.length-1:t.length;n.push(t.slice(r,i))}else if(e===null||pD.has(typeof e))n.push(mD(`${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)}),MO=H(`$ZodCustom`,(e,t)=>{VD.init(e,t),XD.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=>NO(t,n,r,e));NO(i,n,r,e)}});function NO(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(TD(e))}}function PO(e,t){return new e({type:`string`,...gD(t)})}function FO(e,t){return new e({type:`number`,checks:[],...gD(t)})}function IO(e,t){return new e({type:`boolean`,...gD(t)})}function LO(e,t){return new e({type:`bigint`,...gD(t)})}function RO(e,t){return new e({type:`undefined`,...gD(t)})}function zO(e,t){return new e({type:`null`,...gD(t)})}function BO(e){return new e({type:`unknown`})}function VO(e,t){return new UD({check:`less_than`,...gD(t),value:e,inclusive:!0})}function HO(e,t){return new WD({check:`greater_than`,...gD(t),value:e,inclusive:!0})}function UO(e,t){return new GD({check:`max_length`,...gD(t),maximum:e})}function WO(e,t){return new KD({check:`min_length`,...gD(t),minimum:e})}function GO(e,t){return new JD({check:`string_format`,format:`regex`,...gD(t),pattern:e})}function KO(e,t,n){let r=gD(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function qO(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...gD(n)})}let JO=H(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);XD.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>AD(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>MD(e,t,n),e.parseAsync=async(t,n)=>jD(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>ND(e,t,n),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]},{parent:!0}),e.with=e.check,e.clone=(t,n)=>hD(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),YO=H(`ZodMiniString`,(e,t)=>{ZD.init(e,t),JO.init(e,t)});function U(e){return PO(YO,e)}let XO=H(`ZodMiniNumber`,(e,t)=>{QD.init(e,t),JO.init(e,t)});function ZO(e){return FO(XO,e)}let QO=H(`ZodMiniBoolean`,(e,t)=>{$D.init(e,t),JO.init(e,t)});function $O(e){return IO(QO,e)}let ek=H(`ZodMiniBigInt`,(e,t)=>{eO.init(e,t),JO.init(e,t)});function tk(e){return LO(ek,e)}let nk=H(`ZodMiniUndefined`,(e,t)=>{tO.init(e,t),JO.init(e,t)});function rk(e){return RO(nk,e)}let ik=H(`ZodMiniNull`,(e,t)=>{nO.init(e,t),JO.init(e,t)});function ak(e){return zO(ik,e)}let ok=H(`ZodMiniUnknown`,(e,t)=>{rO.init(e,t),JO.init(e,t)});function sk(){return BO(ok)}let ck=H(`ZodMiniArray`,(e,t)=>{aO.init(e,t),JO.init(e,t)});function W(e,t){return new ck({type:`array`,element:e,...gD(t)})}let lk=H(`ZodMiniObject`,(e,t)=>{lO.init(e,t),JO.init(e,t),oD(e,`shape`,()=>t.shape)});function G(e,t){let n={type:`object`,shape:e??{},...gD(t)};return new lk(n)}function uk(e,t){return new lk({type:`object`,shape:e,catchall:sk(),...gD(t)})}function dk(e,t){return vD(e,t)}let fk=H(`ZodMiniUnion`,(e,t)=>{dO.init(e,t),JO.init(e,t)});function K(e,t){return new fk({type:`union`,options:e,...gD(t)})}let pk=H(`ZodMiniDiscriminatedUnion`,(e,t)=>{fO.init(e,t),JO.init(e,t)});function mk(e,t,n){return new pk({type:`union`,options:t,discriminator:e,...gD(n)})}let hk=H(`ZodMiniTuple`,(e,t)=>{pO.init(e,t),JO.init(e,t)});function gk(e,t,n){let r=t instanceof XD;return new hk({type:`tuple`,items:e,rest:r?t:null,...gD(r?n:t)})}let _k=H(`ZodMiniRecord`,(e,t)=>{_O.init(e,t),JO.init(e,t)});function vk(e,t,n){return!t||!t._zod?new _k({type:`record`,keyType:U(),valueType:e,...gD(t)}):new _k({type:`record`,keyType:e,valueType:t,...gD(n)})}let yk=H(`ZodMiniEnum`,(e,t)=>{vO.init(e,t),JO.init(e,t),e.options=Object.values(t.entries)});function bk(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new yk({type:`enum`,entries:n,...gD(t)})}let xk=H(`ZodMiniLiteral`,(e,t)=>{yO.init(e,t),JO.init(e,t)});function q(e,t){return new xk({type:`literal`,values:Array.isArray(e)?e:[e],...gD(t)})}let Sk=H(`ZodMiniTransform`,(e,t)=>{bO.init(e,t),JO.init(e,t)});function Ck(e){return new Sk({type:`transform`,transform:e})}let wk=H(`ZodMiniOptional`,(e,t)=>{SO.init(e,t),JO.init(e,t)});function J(e){return new wk({type:`optional`,innerType:e})}let Tk=H(`ZodMiniNullable`,(e,t)=>{CO.init(e,t),JO.init(e,t)});function Ek(e){return new Tk({type:`nullable`,innerType:e})}let Dk=H(`ZodMiniPipe`,(e,t)=>{wO.init(e,t),JO.init(e,t)});function Ok(e,t){return new Dk({type:`pipe`,in:e,out:t})}let kk=H(`ZodMiniCodec`,(e,t)=>{Dk.init(e,t),EO.init(e,t)});function Ak(e,t,n){return new kk({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let jk=H(`ZodMiniReadonly`,(e,t)=>{kO.init(e,t),JO.init(e,t)});function Y(e){return new jk({type:`readonly`,innerType:e})}let Mk=H(`ZodMiniTemplateLiteral`,(e,t)=>{jO.init(e,t),JO.init(e,t)});function Nk(e,t){return new Mk({type:`template_literal`,parts:e,...gD(t)})}let Pk=H(`ZodMiniCustom`,(e,t)=>{MO.init(e,t),JO.init(e,t)});function Fk(e,t){return KO(Pk,e??(()=>!0),t)}function Ik(e,t={}){return qO(Pk,e,t)}function Lk(e){return e}function Rk(e){return e}z();let X=()=>Nk([`0x`,U().check(GO(/^[0-9a-fA-F]{40}$/))],`Expected address`),zk=()=>Ak(K([Z(),tk()]),tk(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:R(e),encode:e=>I(e)}),Z=()=>Nk([`0x`,U()],`Expected hex value`),Bk=()=>Ak(K([Z(),ZO()]),ZO(),{decode:e=>typeof e==`number`?e:e===`0x`?0:bp(e),encode:e=>I(e)});z();let Vk=G({address:X(),blockHash:Z(),blockNumber:zk(),data:Z(),logIndex:Bk(),removed:$O(),topics:Y(W(Z())),transactionHash:Z(),transactionIndex:Bk()}),Hk=G({blobGasPrice:J(zk()),blobGasUsed:J(zk()),blockHash:Z(),blockNumber:zk(),contractAddress:Ek(X()),cumulativeGasUsed:zk(),effectiveGasPrice:zk(),feePayer:J(X()),feeToken:J(X()),from:X(),gasUsed:zk(),logs:W(Vk),logsBloom:Z(),root:J(Z()),status:Ak(Z(),bk([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:Ek(X()),transactionHash:Z(),transactionIndex:Bk(),type:Z()}),Uk=Fk(),Wk=K([q(`secp256k1`),q(`p256`),q(`webAuthn`)]),Gk=Ak(G({allowedCalls:J(Y(W(G({target:X(),selectorRules:J(Y(W(G({selector:Z(),recipients:J(Y(W(X())))}))))})))),address:J(X()),chainId:zk(),expiry:K([Bk(),ak(),rk()]),keyId:X(),keyType:Wk,limits:J(Y(W(G({token:X(),limit:zk(),period:J(Bk())})))),signature:Uk}),Fk(),{decode(e){return QC({chainId:I(e.chainId),expiry:e.expiry==null?null:I(e.expiry),keyId:e.keyId,keyType:e.keyType,limits:e.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:I(e),...typeof t==`number`?{period:I(t)}:{}})),signature:e.signature,...e.allowedCalls?{allowedCalls:e.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}})},encode(e){let t=iw(e);return{chainId:t.chainId===`0x`?0n:R(t.chainId),expiry:t.expiry==null?null:bp(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:bp(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}:{}}))}:{}}))}:{}}}}),Kk=G({data:J(Z()),to:J(X()),value:J(zk())}),qk=G({accessList:J(W(G({address:X(),storageKeys:W(Z())}))),calls:J(Y(W(Kk))),chainId:J(Bk()),data:J(Z()),feePayer:J(K([$O(),U()])),feePayerSignature:J(vk(U(),sk())),feeToken:J(X()),from:J(X()),gas:J(zk()),keyAuthorization:J(Gk),keyData:J(Z()),keyId:J(X()),keyType:J(Wk),maxFeePerGas:J(zk()),maxPriorityFeePerGas:J(zk()),nonce:J(Bk()),nonceKey:J(zk()),to:J(X()),validAfter:J(Bk()),validBefore:J(Bk()),value:J(zk())});var Jk;(function(e){e.schema=Lk({method:q(`eth_accounts`),params:void 0,returns:Y(W(X()))})})(Jk||={});var Yk;(function(e){e.schema=Lk({method:q(`eth_chainId`),params:void 0,returns:Z()})})(Yk||={});var Xk;(function(e){e.schema=Lk({method:q(`eth_requestAccounts`),params:void 0,returns:Y(W(X()))})})(Xk||={});var Zk;(function(e){e.schema=Lk({method:q(`eth_sendTransaction`),params:Y(gk([qk])),returns:Z()})})(Zk||={});var Qk;(function(e){let t=G({address:X(),decimals:ZO(),direction:bk([`incoming`,`outgoing`]),formatted:U(),name:U(),recipients:Y(W(X())),symbol:U(),value:Z()}),n=G({decimals:ZO(),formatted:U(),name:U(),symbol:U(),token:X(),value:Z()});e.schema=Lk({method:q(`eth_fillTransaction`),params:Y(gk([qk])),returns:G({capabilities:G({balanceDiffs:J(vk(X(),Y(W(t)))),error:J(G({abiItem:J(vk(U(),sk())),data:J(Z()),errorName:U(),message:U()})),fee:J(G({amount:Z(),decimals:ZO(),formatted:U(),symbol:U()})),requireFunds:J(G({amount:Z(),decimals:ZO(),formatted:U(),token:X(),symbol:U()})),autoSwap:J(G({maxIn:n,minOut:n,slippage:ZO()})),sponsor:J(G({address:X(),name:J(U()),url:J(U())})),sponsored:$O()}),tx:vk(U(),sk())})})})(Qk||={});var $k;(function(e){e.schema=Lk({method:q(`eth_signTransaction`),params:Y(gk([qk])),returns:Z()})})($k||={});var eA;(function(e){e.schema=Lk({method:q(`eth_sendTransactionSync`),params:Y(gk([qk])),returns:Hk})})(eA||={});var tA;(function(e){e.schema=Lk({method:q(`eth_signTypedData_v4`),params:Y(gk([X(),U()])),returns:Z()})})(tA||={});var nA;(function(e){e.schema=Lk({method:q(`personal_sign`),params:Y(gk([Z(),X()])),returns:Z()})})(nA||={});let rA=J(G({feePayer:J(K([$O(),U()])),sync:J($O())}));var iA;(function(e){e.schema=Lk({method:q(`wallet_sendCalls`),params:J(Y(gk([G({atomicRequired:J($O()),calls:Y(W(Kk)),capabilities:rA,chainId:J(Bk()),from:J(X()),version:J(U())})]))),returns:G({atomic:J($O()),capabilities:rA,chainId:J(Bk()),id:U(),receipts:J(W(Hk)),status:J(ZO()),version:J(U())})})})(iA||={});var aA;(function(e){e.schema=Lk({method:q(`wallet_getBalances`),params:J(Y(gk([G({account:J(X()),chainId:J(Bk()),tokens:J(Y(W(X())))})]))),returns:Y(W(G({address:X(),balance:zk(),decimals:ZO(),display:U(),name:U(),symbol:U()})))})})(aA||={});var oA;(function(e){e.schema=Lk({method:q(`wallet_getCapabilities`),params:J(Y(K([gk([X()]),gk([X(),Y(W(Z()))])]))),returns:vk(Z(),G({accessKeys:J(G({status:K([q(`supported`),q(`unsupported`)])})),atomic:G({status:K([q(`supported`),q(`ready`),q(`unsupported`)])}),feePayer:J(G({status:K([q(`supported`),q(`unsupported`)])}))}))})})(oA||={});var sA;(function(e){e.showDeposit=J(K([$O(),G({amount:J(U()),displayName:J(U()),token:J(K([X(),U()]))})])),e.parameters=G({address:J(X()),chainId:J(zk()),expiry:ZO(),keyType:J(Wk),limits:J(Y(W(G({token:X(),limit:zk(),period:J(ZO())})))),publicKey:J(Z()),scopes:J(Y(W(G({address:X(),selector:J(K([Z(),U()])),recipients:J(Y(W(X())))})))),showDeposit:e.showDeposit}),e.returns=G({keyAuthorization:Gk,rootAddress:X()}),e.schema=Lk({method:q(`wallet_authorizeAccessKey`),params:Y(gk([e.parameters])),returns:e.returns})})(sA||={});var cA;(function(e){e.parameters=G({address:J(X()),expiry:ZO(),keyType:J(Wk),limits:Y(W(G({token:X(),limit:zk(),period:J(ZO())})).check(WO(1))),publicKey:J(Z()),scopes:Y(W(G({address:X(),selector:J(K([Z(),U()])),recipients:J(Y(W(X())))})).check(WO(1))),showDeposit:sA.showDeposit})})(cA||={});var lA;(function(e){e.schema=Lk({method:q(`wallet_revokeAccessKey`),params:Y(gk([G({address:X(),accessKeyAddress:X()})])),returns:void 0})})(lA||={});var uA;(function(e){e.parameters=G({address:X(),accessKeyAddress:X(),chainId:J(zk()),limits:Y(W(G({token:X(),limit:zk()})).check(WO(1)))}),e.schema=Lk({method:q(`wallet_updateAccessKey`),params:Y(gk([e.parameters])),returns:void 0})})(uA||={});var dA;(function(e){e.authorizeAccessKey=J(dk(sA.parameters,{showDeposit:!0})),e.showDeposit=J(K([$O(),G({amount:J(U()),displayName:J(U()),on:J(K([q(`login`),q(`register`)])),token:J(K([X(),U()]))})])),e.auth=J(K([U(),G({url:J(U()),challenge:J(U()),verify:J(U()),logout:J(U()),resources:J(Y(W(U()))),returnToken:J($O())})])),e.personalSign=J(G({message:U()})),e.identity=J(G({email:J(K([$O(),U(),G({address:J(U()),domains:J(W(U())),nonce:J(U())})]))})),e.capabilities={request:J(K([G({digest:J(Z()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:q(`register`),name:J(U()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:J(U())}),G({digest:J(Z()),credentialId:J(U()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:J(q(`login`)),personalSign:e.personalSign,selectAccount:J($O()),showDeposit:e.showDeposit})])),result:G({identity:J(G({email:J(Ek(U())),idToken:J(U())})),keyAuthorization:J(Gk),personalSign:J(G({message:U(),keyAuthorization:J(Z())})),signature:J(Z()),username:J(Ek(U())),auth:J(uk({token:J(U())}))})},e.schema=Lk({method:q(`wallet_connect`),params:J(Y(gk([G({capabilities:e.capabilities.request,chainId:J(Bk()),version:J(U())})]))),returns:G({accounts:Y(W(G({address:X(),capabilities:e.capabilities.result})))})})})(dA||={});var fA;(function(e){let t=J(dk(cA.parameters,{showDeposit:!0})),n=dA.auth,r=dA.identity,i=dA.personalSign,a=dA.showDeposit;e.parameters=G({capabilities:J(K([G({digest:J(Z()),authorizeAccessKey:t,auth:n,identity:r,method:q(`register`),name:J(U()),personalSign:i,showDeposit:a,userId:J(U())}),G({digest:J(Z()),credentialId:J(U()),authorizeAccessKey:t,auth:n,identity:r,method:J(q(`login`)),personalSign:i,selectAccount:J($O()),showDeposit:a})])),chainId:J(Bk()),version:J(U())})})(fA||={});var pA;(function(e){e.schema=Lk({method:q(`wallet_disconnect`),params:void 0,returns:void 0})})(pA||={});var mA;(function(e){e.schema=Lk({method:q(`wallet_getCallsStatus`),params:J(Y(gk([U()]))),returns:G({atomic:$O(),chainId:Bk(),id:U(),receipts:J(W(Hk)),status:ZO(),version:U()})})})(mA||={});var hA;(function(e){e.parameters=mk(`editable`,[G({amount:U(),chainId:J(Bk()),editable:J(q(!1)),feePayer:J(K([$O(),U()])),from:J(X()),memo:J(U()),to:X(),token:K([X(),U()])}),G({amount:J(U()),chainId:J(Bk()),editable:q(!0),feePayer:J(K([$O(),U()])),memo:J(U()),to:J(X()),token:J(K([X(),U()]))})]),e.schema=Lk({method:q(`wallet_transfer`),params:J(Y(gk([e.parameters]))),returns:G({chainId:Bk(),receipt:Hk})})})(hA||={});let gA=G({amount:J(U()),pairToken:J(X()),slippage:J(ZO().check(HO(0),VO(1))),token:J(X()),type:J(K([q(`buy`),q(`sell`)]))});var _A;(function(e){e.schema=Lk({method:q(`wallet_swap`),params:J(Y(gk([gA]))),returns:G({receipt:Hk})})})(_A||={});var vA;(function(e){e.schema=Lk({method:q(`wallet_switchEthereumChain`),params:Y(gk([G({chainId:Bk()})])),returns:void 0})})(vA||={});var yA;(function(e){e.schema=Lk({method:q(`wallet_deposit`),params:J(Y(gk([G({address:J(X()),amount:J(U()),chainId:J(Bk()),displayName:J(U()),intent:J(K([q(`applePay`),q(`credits`),q(`crypto`),q(`faucet`),q(`referralCode`),q(`x`)])),token:J(K([X(),U()]))})]))),returns:J(G({receipts:J(Y(W(Hk)))}))})})(yA||={});var bA;(function(e){e.parameters=G({amount:J(U()),feePayer:J(K([$O(),U()])),token:J(X()),zoneId:J(Bk())}),e.schema=Lk({method:q(`wallet_depositZone`),params:J(Y(gk([e.parameters]))),returns:G({receipt:Hk})})})(bA||={});var xA;(function(e){e.parameters=G({amount:J(U()),token:J(X()),zoneId:J(Bk())}),e.schema=Lk({method:q(`wallet_withdrawZone`),params:J(Y(gk([e.parameters]))),returns:G({receipt:Hk})})})(xA||={}),cA.parameters,fA.parameters;let SA=Rk([Jk.schema,Yk.schema,Qk.schema,Xk.schema,Zk.schema,eA.schema,$k.schema,tA.schema,nA.schema,sA.schema,dA.schema,yA.schema,bA.schema,pA.schema,aA.schema,mA.schema,oA.schema,lA.schema,uA.schema,hA.schema,iA.schema,_A.schema,vA.schema,xA.schema]),CA=xS();function wA(e){return e.params?G({method:e.method,params:e.params}):G({method:e.method})}let TA=mk(`method`,SA.map(wA));function EA(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 Q={acceptPayment:`Accept-Payment`,authorization:`Authorization`,paymentAuthorization:`Payment-Authorization`,paymentReceipt:`Payment-Receipt`,paymentSession:`Payment-Session`,paymentSessionSnapshot:`Payment-Session-Snapshot`,wwwAuthenticate:`WWW-Authenticate`},DA={payment:`Payment`},OA={evm:`evm`,stripe:`stripe`,tempo:`tempo`},kA={charge:`charge`,session:`session`,subscription:`subscription`},AA={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},jA={v1:`v1`,v2:`v2`};function MA(e,t){if(!(!e||typeof e!=`object`))return e[t]}var NA=class extends Error{details;status=402;hint;constructor(e,t={}){super(e),this.details=t.details}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}}}},PA=class extends NA{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 NA{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})}},FA=class extends NA{name=`PaymentExpiredError`;title=`Payment Expired`;type=`https://paymentauth.org/problems/payment-expired`;constructor(e={}){let{expires:t}=e;super(t?`Payment expired at ${t}.`:`Payment has expired.`)}};function IA(e,t){if(!e)throw new PA({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new PA({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new FA({expires:e})}If();function LA(e){let t=lx(e);return JSON.parse(t)}function RA(e){return sx(Mf(e),{pad:!1,url:!0})}function zA(){return U().check(GO(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function BA(){return U().check(GO(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function VA(e=`Invalid ISO 8601 datetime`){return Ok(K([BA(),Fk(e=>e instanceof Date)]),Ck(HA)).check(Ik(e=>Number.isFinite(e.getTime()),e))}function HA(e){return e instanceof Date?e:new Date(e)}function UA(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function WA(){return U().check(GO(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function GA(){return U().check(GO(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function KA(){return U().check(GO(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}cp();let qA=G({description:J(U()),digest:J(U().check(GO(/^sha-256=/,`Invalid digest format`))),expires:J(BA()),header:J(U().check(GO(/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,`Invalid HTTP header name`))),id:U().check(WO(1)),intent:U(),method:U(),meta:J(vk(U(),U())),opaque:J(U()),realm:U(),request:vk(U(),sk())});function JA(e,t){let{description:n,digest:r,meta:i,method:a,header:o,intent:s,realm:c,request:l,secretKey:u}=e,d=lj(o)?void 0:o,f=e.expires?UA(e.expires):void 0,p=e.opaque??(i===void 0?void 0:RA(i)),m=u?uj({...e,expires:f,...i!==void 0&&{meta:i},opaque:p},{secretKey:u}):e.id;return qA.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 YA(e){let t=[XA(`id`,e.id),XA(`realm`,e.realm),XA(`method`,e.method),XA(`intent`,e.intent),XA(`request`,RA(e.request))];e.description!==void 0&&t.push(XA(`description`,e.description)),e.digest!==void 0&&t.push(XA(`digest`,e.digest)),e.expires!==void 0&&t.push(XA(`expires`,e.expires));let n=e.header;return n!==void 0&&!lj(n)&&t.push(XA(`header`,n)),e.opaque===void 0?e.meta!==void 0&&t.push(XA(`opaque`,RA(e.meta))):t.push(XA(`opaque`,e.opaque)),`${DA.payment} ${t.join(`, `)}`}function XA(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 ZA(e,t){let n=QA(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=$A(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 JA({...a,request:LA(r),...i&&{opaque:i}},t)}function QA(e){let t=DA.payment,[n]=rj(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 $A(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]=ej(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function ej(e,t){if(e[t]===`\"`)return tj(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function tj(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 nj(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 rj(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(!nj(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 ij(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return aj(e.headers,t)}function aj(e,t){let n=e.get(Q.wwwAuthenticate);if(!n)throw Error(`Missing ${Q.wwwAuthenticate} header.`);return oj(n,t)}function oj(e,t){let n=rj(e,DA.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 ZA(e.slice(r,a).replace(/,\\s*$/,``),t)})}function sj(e){let t=[e.realm,e.method,e.intent,RA(e.request),e.expires??``,e.digest??``],n=e.header;return n!==void 0&&!lj(n)&&t.push(n),t.push(e.opaque??(e.meta?RA(e.meta):``)),t.join(`|`)}function cj(e){return e.header??Q.authorization}function lj(e){return e?.toLowerCase()===Q.authorization.toLowerCase()}function uj(e,t){let n=sj(e);return ax(__(Hf(t.secretKey),Hf(n),{as:`Bytes`}),{url:!0,pad:!1})}let dj=Symbol.for(`mppx.x402.challenge`);function fj(e){return Object.defineProperty(e,dj,{value:!0}),e}function pj(e){return!!e?.[dj]}function mj(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=yj(n)}return t}function hj(e,t){let n=mj(e),r=Ej(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[yj(e)]??1,index:t}));return{definition:r,entries:i,header:_j(i),keys:n}}function gj(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)=>wj(e,t))}function _j(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${Aj(n)}`}).join(`, `)}function vj(e,t,n){let r=new Map;for(let e of t){let t=yj(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(yj(e));if(!i)return[];let a=bj(e,n);return!a||a.q<=0?[]:i.filter(t=>t.canHandleChallenge?.({challenge:e})??!0).map(n=>({challenge:e,index:t,match:a,method:n}))}).sort((e,t)=>Cj(e.challenge)-Cj(t.challenge)||t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function yj(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function bj(e,t){let n;for(let r of t){if(!xj(e,r))continue;let t={...r,specificity:Sj(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 xj(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function Sj(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function Cj(e){return+!!pj(e)}function wj(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}`);jj(r,`method`),jj(i,`intent`);let a=1;for(let t of Tj(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=Oj(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function Tj(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function Ej(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>yj(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]=Dj(t,`payment preference \"${e}\"`)}return a}function Dj(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return kj(e,t)}function Oj(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 kj(Number(e),t)}function kj(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 Aj(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function jj(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var Mj=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},Nj=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function Pj(e){let t=e.match(RegExp(`^${DA.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new Mj;try{let e=lx(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=Fj(r);return{challenge:qA.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:LA(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new Nj}}function Fj(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!Ij(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:RA(e)}}function Ij(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function Lj(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:RA(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:RA(r)},payload:e.payload,...e.source&&{source:e.source}},s=sx(JSON.stringify(o),{pad:!1,url:!0});return`${DA.payment} ${s}`}var Rj=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 zj(e){}function Bj(e){if(typeof e==`function`)throw TypeError(\"`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?\");let{onEvent:t=zj,onError:n=zj,onRetry:r=zj,onComment:i,maxBufferSize:a}=e,o=[],s=0,c=!0,l,u=``,d=0,f,p=!1;function m(e){if(p)throw Error(\"Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.\");if(c&&(c=!1,e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),o.length===0){let t=g(e);t!==``&&(o.push(t),s=t.length),h();return}if(e.indexOf(`\n`)===-1&&e.indexOf(`\\r`)===-1){o.push(e),s+=e.length,h();return}o.push(e);let t=o.join(``);o.length=0,s=0;let n=g(t);n!==``&&(o.push(n),s=n.length),h()}function h(){a!==void 0&&(s+u.length<=a||(p=!0,o.length=0,s=0,l=void 0,u=``,d=0,f=void 0,n(new Rj(`Buffered data exceeded max buffer size of ${a} characters`,{type:`max-buffer-size-exceeded`}))))}function g(e){let n=0;if(e.indexOf(`\\r`)===-1){let r=e.indexOf(`\n`,n);for(;r!==-1;){if(n===r){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0,n=r+1,r=e.indexOf(`\n`,n);continue}let i=e.charCodeAt(n);if(Vj(e,n,i)){let i=e.charCodeAt(n+5)===32?n+6:n+5,a=e.slice(i,r);if(d===0&&e.charCodeAt(r+1)===10){t({id:l,event:f,data:a}),l=void 0,u=``,f=void 0,n=r+2,r=e.indexOf(`\n`,n);continue}u=d===0?a:`${u}\n${a}`,d++}else Hj(e,n,i)?f=e.slice(e.charCodeAt(n+6)===32?n+7:n+6,r)||void 0:_(e,n,r);n=r+1,r=e.indexOf(`\n`,n)}return e.slice(n)}for(;n<e.length;){let t=e.indexOf(`\\r`,n),r=e.indexOf(`\n`,n),i=-1;if(t!==-1&&r!==-1?i=t<r?t:r:t===-1?r!==-1&&(i=r):i=t===e.length-1?-1:t,i===-1)break;_(e,n,i),n=i+1,e.charCodeAt(n-1)===13&&e.charCodeAt(n)===10&&n++}return e.slice(n)}function _(e,t,n){if(t===n){y();return}let r=e.charCodeAt(t);if(Vj(e,t,r)){let r=e.charCodeAt(t+5)===32?t+6:t+5,i=e.slice(r,n);u=d===0?i:`${u}\n${i}`,d++;return}if(Hj(e,t,r)){f=e.slice(e.charCodeAt(t+6)===32?t+7:t+6,n)||void 0;return}if(r===105&&e.charCodeAt(t+1)===100&&e.charCodeAt(t+2)===58){let r=e.slice(e.charCodeAt(t+3)===32?t+4:t+3,n);r.includes(`\\0`)||(l=r);return}if(r===58){if(i){let r=e.slice(t,n);i(r.slice(e.charCodeAt(t+1)===32?2:1))}return}let a=e.slice(t,n),o=a.indexOf(`:`);if(o===-1){v(a,``,a);return}let s=a.slice(0,o),c=a.charCodeAt(o+1)===32?2:1;v(s,a.slice(o+c),a)}function v(e,t,i){switch(e){case`event`:f=t||void 0;break;case`data`:u=d===0?t:`${u}\n${t}`,d++;break;case`id`:t.includes(`\\0`)||(l=t);break;case`retry`:/^\\d+$/.test(t)?r(parseInt(t,10)):n(new Rj(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new Rj(`Unknown field \"${e.length>20?`${e.slice(0,20)}\\u2026`:e}\"`,{type:`unknown-field`,field:e,value:t,line:i}))}}function y(){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0}function b(e={}){if(e.consume&&o.length>0){let e=o.join(``);_(e,0,e.length)}c=!0,l=void 0,u=``,d=0,f=void 0,o.length=0,s=0,p=!1}return{feed:m,reset:b}}function Vj(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 Hj(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}let Uj=[`exact`],Wj=`PAYMENT-REQUIRED`,Gj=`PAYMENT-SIGNATURE`,Kj=U().check(WO(1)),qj=ZO().check(Ik(e=>e>0,`Must be positive`)),Jj=U().check(GO(/^\\d+$/,`Invalid atomic amount`)),Yj=WA(),Xj=U().check(GO(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),Zj=G({description:J(U()),iconUrl:J(U()),mimeType:J(U()),serviceName:J(U()),tags:J(W(U())),url:Kj}),Qj=G({amount:Jj,asset:Kj,extra:J(vk(U(),sk())),maxTimeoutSeconds:qj,network:Xj,payTo:Kj,scheme:bk(Uj)}),$j=vk(U(),G({info:vk(U(),sk()),schema:vk(U(),sk())})),eM=G({accepts:W(Qj).check(WO(1)),error:J(U()),extensions:J($j),resource:Zj,x402Version:q(2)}),tM=K([G({authorization:G({from:Yj,nonce:GA(),to:Yj,validAfter:Jj,validBefore:Jj,value:Jj}),signature:KA()}),G({permit2Authorization:G({deadline:Jj,from:Yj,nonce:Jj,permitted:G({amount:Jj,token:Yj}),spender:Yj,witness:G({to:Yj,validAfter:Jj})}),signature:KA()})]),nM=G({accepted:Qj,extensions:J($j),payload:tM,resource:J(Zj),x402Version:q(2)}),rM=G({amount:J(Jj),errorMessage:J(U()),errorReason:J(U()),extensions:J($j),extra:J(vk(U(),sk())),network:Kj,payer:J(U()),success:$O(),transaction:U()}),iM=[Q.authorization,Wj,`PAYMENT-RESPONSE`,Gj];function aM(e,t,n){let r=new Headers(e.headers);for(let e of iM)e===Q.authorization&&!r.get(e)?.startsWith(`Payment `)||r.delete(e);return r.set(t,n),{...e,headers:r}}function oM(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 sM=new WeakMap;function cM(e){let t=oM(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 lM(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 uM(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=qA.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 dM(e){if(e)return`error`in e?e.error?.code===-32042?uM(e.error.data):void 0:uM(e.result?._meta?.[`org.paymentauth/payment-required`])}function fM(e,t){return!e||e.id!==t?[]:dM(e)?.challenges??[]}async function pM(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=Bj({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=lM(JSON.parse(e.data))}catch{}}});try{for(;;){if(r)return i;let{done:e,value:o}=await t.read();if(e)return a.feed(n.decode()),a.reset({consume:!0}),i;a.feed(n.decode(o,{stream:!0}))}}finally{t.cancel().catch(()=>{})}}function mM(e){let t=sM.get(e);if(t)return t;let n=(async()=>{let t=e.headers.get(`content-type`)?.toLowerCase()??``;if(t.includes(`application/json`))return e.clone().json().then(lM).catch(()=>void 0);if(t.includes(`text/event-stream`))return pM(e)})();return sM.set(e,n),n}function hM(){return{getChallenges(e,t){let n=cM(t);return e.status===402||n===void 0?[]:mM(e).then(e=>fM(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=Pj(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function gM(){return{getChallenges(e){return e.status!==402||!e.headers.has(Q.wwwAuthenticate)?[]:ij(e)},setCredential(e,t,n){return aM(e,n?.challenge?cj(n.challenge):Q.authorization,t)}}}function _M(e){return{encode(t){return sx(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(lx(t)))}catch{throw new vM}}}}var vM=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let yM=_M(eM),bM=_M(nM),xM=_M(rM);yM.encode,yM.decode;function SM(e){try{let t=JSON.parse(lx(e));return CM(t)}catch{throw new vM}}bM.encode,bM.decode,xM.encode,xM.decode;let CM=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new vM;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new vM;let n=Zj.parse(t.resource),r=t.extensions===void 0?void 0:$j.safeParse(t.extensions).data;return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}};function wM(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(Wj);if(!t)return[];let n=SM(t);if(e.url&&n.resource.url!==e.url)throw Error(`x402 payment-required resource does not match response URL.`);return n.accepts.flatMap((e,t)=>{let r=Qj.safeParse(e);if(!r.success)return[];let i=r.data;return fj(JA({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 aM(e,Gj,t)}}}function TM(e){return e}function EM(){let e=[gM(),wM(),hM()],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 TM({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 DM=new WeakMap;function OM(e,t){return DM.set(e,t),e}function kM(e){return DM.has(e)}function AM(e,t){return Promise.resolve(DM.get(e)?.(t))}let jM=new WeakMap,MM=new WeakMap;function NM(e,t){return jM.set(e,t),e}function PM(e){jM.delete(e)}function FM(e,t,n){jM.has(e)&&MM.set(t,n)}function IM(e){return MM.get(e)}function LM(e,t){return Promise.resolve(jM.get(e)?.(t)??t.response)}let RM=Symbol.for(`mppx.fetch.wrapper`),zM,BM=new WeakMap;async function VM(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 HM(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=EM()}=e,l=e.eventDispatcher??GM(),u=t??hj(a),d=fN(r),f=async(e,t,r)=>{let p=dN(e,t?.headers),m=p.has(Q.acceptPayment),h=_N(p,u),g=lN(e,t,p),_=cN(e,t,p,h.header,m,n),v=await d(pN(_.input),_.init),y=uN(_.init,await g);if(!await c.isPaymentRequired(v,y))return v;let b=t?.context,{context:x,orderChallenges:S,...C}=y??{},w,T,ee,te;try{for(let n=0;n<i;n++){T=await c.getChallenges(v,y);let i=(await vN(vj(T,a,h.entries),S??s))[0];if(!i){if(await VM(te,{challenges:T,response:v,status:`rejected`}),n>0)return v;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 u=i.challenge;w=u,ee=i.method,w.expires&&IA(w.expires,w.id);let p=CN(v,_.input,_.input),m=te,g=YA(u),x=m?.method===i.method&&m?.key===g,ne=!1;if(m){let e=await VM(m,{challenges:T,response:v,status:x?`pending`:`rejected`});ne=x&&!e}te=ne?m:void 0;let re=XM(async e=>{if(e===void 0&&ne&&m)return m.promise;ne&&m&&(await VM(m,{status:`rejected`}),te=void 0);let t=e??b;if(!kM(i.method))return gN(u,i.method,t);let n={prepare:()=>AM(i.method,{challenge:u,context:t,fetch:d,input:p})},r=n.prepare().then(()=>gN(u,i.method,t,n));return te={attempt:n,key:e===void 0?g:void 0,method:i.method,promise:r},r}),ie=await l.emit(`challenge.received`,ZM({challenge:u,challenges:T,createCredential:re,init:t,input:e,method:i.method,response:v}))??(o?await o(w,{createCredential:re}):void 0)??await re(),ae=te;ae&&await ae.promise.catch(()=>void 0)!==ie&&(await VM(ae,{status:`rejected`}),te=void 0),hN(ie),await l.emit(`credential.created`,QM({challenge:u,credential:ie,init:t,input:e,method:i.method,response:v})),v=await d(p,c.setCredential({...C,headers:_.headers},ie,{challenge:u}));let oe=await c.isPaymentRequired(v,y);if(oe||(await VM(ae,{response:v,status:v.ok?`accepted`:`rejected`}),te=void 0),v.ok&&KM(l,`payment.response`)&&await l.emit(`payment.response`,$M({challenge:u,credential:ie,init:t,input:e,method:i.method,response:v})),!oe)return v.ok?LM(i.method,{challenge:u,credential:ie,fetch:d,headers:_.headers,input:p,...r?{refetch:()=>f(pN(_.input),t,!1)}:{},response:v,signal:mN(e,t)}):v}T=void 0;try{T=await c.getChallenges(v,y)}catch{}return await VM(te,{challenges:T,response:v,status:`rejected`}),v}catch(n){throw await VM(te,{challenges:T,response:v,status:`rejected`}),await l.emit(`payment.failed`,eN({challenge:w,challenges:T,error:n,init:t,input:e,method:ee,response:v})),n}},p=(e,t)=>f(e,t,!0);return p[RM]=d,p}function UM(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);zM||=globalThis.fetch,globalThis.fetch=HM({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(xN()?`same-origin`:`always`),fetch:globalThis.fetch})}function WM(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 GM(){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 qM(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await YM(e[`*`],t,n),r}case`credential.created`:await JM(e[`credential.created`],n),await YM(e[`*`],t,n);return;case`payment.failed`:await JM(e[`payment.failed`],n),await YM(e[`*`],t,n);return;case`payment.response`:await JM(e[`payment.response`],n),await YM(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 BM.set(t,t=>e[t].size>0||e[`*`].size>0),t}function KM(e,t){return BM.get(e)?.(t)??!0}async function qM(e,t){try{return await e(t)}catch{return}}async function JM(e,t){for(let n of e)try{await n(t)}catch{}}async function YM(e,t,n){await JM(e,Object.freeze({name:t,payload:n}))}function XM(e){let t;return n=>(t??=e(n),t)}function ZM(e){return Object.freeze({challenge:aN(e.challenge),challenges:e.challenges.map(e=>aN(e)),createCredential:e.createCredential,init:tN(e.init),input:nN(e.input),method:rN(e.method),response:iN(e.response)})}function QM(e){return Object.freeze({challenge:aN(e.challenge),credential:e.credential,init:tN(e.init),input:nN(e.input),method:rN(e.method),...e.response===void 0?{}:{response:iN(e.response)}})}function $M(e){return Object.freeze({challenge:aN(e.challenge),credential:e.credential,init:tN(e.init),input:nN(e.input),method:rN(e.method),response:iN(e.response)})}function eN(e){return Object.freeze({...e.challenge?{challenge:aN(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>aN(e))}:{},error:e.error,init:tN(e.init),input:nN(e.input),...e.method?{method:rN(e.method)}:{},...e.response===void 0?{}:{response:iN(e.response)}})}function tN(e){if(e)return sN({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function nN(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function rN(e){return sN(Object.assign({},e))}function iN(e){return e instanceof Response?e.clone():aN(e)}function aN(e){try{return oN(structuredClone(e))}catch{return sN(e)}}function oN(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))oN(t);return e}function sN(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function cN(e,t,n,r,i,a){let o=!!r&&!i&&yN(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(Q.acceptPayment,r),t?(t.headers=s,{headers:s,init:t,input:e}):{headers:s,init:o?{headers:s}:void 0,input:e}}function lN(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 uN(e,t){return t===void 0?e:{...e,body:t}}function dN(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function fN(e){let t=e;for(;t[RM];)t=t[RM];return t}function pN(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function mN(e,t){return t?.signal??(e instanceof Request?e.signal:void 0)}function hN(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 gN(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&&FM(t,a,r),t.createCredential(a)}function _N(e,t){let n=e.get(Q.acceptPayment);if(!n)return t;try{return{...t,entries:gj(n),header:n}}catch{return t}}async function vN(e,t){return t?t(e):e}function yN(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=SN(e);return t===`same-origin`?!xN()||n.origin===globalThis.location.origin:t.origins.some(e=>bN(n,e))}function bN(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 xN(){return globalThis.location!==void 0}function SN(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,xN()?globalThis.location.href:void 0)}function CN(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=SN(n);if(r.origin!==i.origin)throw Error(`Refusing to send payment credential across redirect from ${i.origin} to ${r.origin}`);return e.url}function wN(e){return e}function TN(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function EN(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 N(r)}}function DN(e){return Object.fromEntries(Object.entries(e.headers??{}).filter(([e])=>e.toLowerCase()!==`content-type`))}let ON={[uE.id]:uE,[dE.id]:dE};function kN(e,t={}){return Zb(e.url,{fetchOptions:{headers:DN(e)},...t})}function AN(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=zE(Kb({request:t=>e(t)},{retryCount:0}),kN(r,{retryCount:i.transport.retryCount}))({account:i.account,chain:i.chain,pollingInterval:i.pollingInterval,retryCount:0}),n=Gb({...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,...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?zE(Zb(a),kN(r)):Zb(a);return Eh({chain:ON[n]??{...t,id:n},transport:o})}}let jN={mainnet:4217,testnet:42431},MN={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`};jN.mainnet,MN.usdc,jN.testnet,MN.pathUsd;let NN={[jN.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[jN.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},PN={[jN.mainnet]:`https://rpc.tempo.xyz`,[jN.testnet]:`https://rpc.moderato.tempo.xyz`},FN=[`push`,`pull`],IN=G({amount:zA(),memo:J(GA()),recipient:Ok(U(),Ck(e=>e))}),LN=(1n<<64n)-1n,RN={dev_second:1n,day:86400n,week:604800n},zN=Ok(WA(),Ck(e=>e.toLowerCase())),BN=G({accessKeyAddress:zN,keyType:bk([`p256`,`secp256k1`,`webAuthn`])}),VN=G({accessKey:J(BN),chainId:J(ZO())}),HN=VA(`subscriptionExpires must be a valid date`).check(Ik(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),UN=bk([`dev_second`,`day`,`week`]),WN=Ok(K([U(),tk(),Fk(e=>typeof e==`number`&&Number.isSafeInteger(e))]),Ck(e=>e.toString())).check(GO(/^[1-9]\\d*$/,`Invalid periodCount`),Ik(e=>{try{return BigInt(e)<=LN}catch{return!1}},`periodCount exceeds uint64`));function GN(e){return Ik(e=>{let{amount:t,decimals:n}=e;return Ay(t,n)>0n},e)}function KN(e){let{periodCount:t,periodUnit:n}=e;try{let e=RN[n];return e!==void 0&&BigInt(t)*e<=LN}catch{return!1}}let qN=wN({name:`tempo`,intent:`charge`,schema:{credential:{payload:mk(`type`,[G({hash:GA(),type:q(`hash`)}),G({signature:KA(),type:q(`transaction`)}),G({signature:KA(),type:q(`proof`)})])},request:Ok(G({amount:zA(),chainId:J(ZO()),currency:U(),decimals:ZO(),description:J(U()),externalId:J(U()),feePayer:J(Ok(K([$O(),Fk()]),Ck(e=>typeof e==`object`||e))),memo:J(GA()),recipient:J(U()),splits:J(W(IN).check(WO(1),UO(10))),supportedModes:J(W(bk(FN)).check(WO(1)))}).check(Ik(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=Ay(e,t),i=n.reduce((e,n)=>e+Ay(n.amount,t),0n);return n.every(e=>Ay(e.amount,t)>0n)&&i<r},`Invalid splits`)),Ck(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:Ay(e,n).toString(),...t!==void 0||r!==void 0||i!==void 0||a!==void 0||o!==void 0?{methodDetails:{...t!==void 0&&{chainId:t},...r!==void 0&&{feePayer:r},...i!==void 0&&{memo:i},...a!==void 0&&{splits:a.map(e=>({...e,amount:Ay(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),JN=wN({name:`tempo`,intent:`session`,schema:{credential:{payload:mk(`action`,[G({action:q(`open`),authorizedSigner:J(U()),channelId:GA(),cumulativeAmount:zA(),descriptor:J(Fk()),signature:KA(),transaction:KA(),type:q(`transaction`)}),G({action:q(`topUp`),additionalDeposit:zA(),channelId:GA(),descriptor:J(Fk()),transaction:KA(),type:q(`transaction`)}),G({action:q(`voucher`),channelId:GA(),cumulativeAmount:zA(),descriptor:J(Fk()),signature:KA()}),G({action:q(`close`),channelId:GA(),cumulativeAmount:zA(),descriptor:J(Fk()),signature:KA()})])},request:Ok(G({amount:zA(),chainId:J(ZO()),channelId:J(GA()),currency:U(),decimals:ZO(),escrowContract:J(U()),feePayer:J(Ok(K([$O(),Fk()]),Ck(e=>typeof e==`object`||e))),feeToken:J(WA()),minVoucherDelta:J(zA()),operator:J(WA()),recipient:J(U()),sessionProtocol:J(bk([jA.v2,jA.v1])),sessionSnapshot:J(Fk()),suggestedDeposit:J(zA()),unitType:U()}).check(Ik(({amount:e,decimals:t})=>Ay(e,t)>0n,`Session amount must be greater than 0`)),Ck(({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:Ay(e,r).toString(),...d?{suggestedDeposit:Ay(d,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...s!==void 0&&{minVoucherDelta:Ay(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&&{[AA.sessionProtocol]:l},...u!==void 0&&{[AA.sessionSnapshot]:u}}})))}}),YN=wN({name:`tempo`,intent:`subscription`,schema:{credential:{payload:G({signature:KA(),type:q(`keyAuthorization`)})},request:Ok(G({amount:zA(),accessKey:J(BN),chainId:J(ZO()),currency:zN,decimals:ZO(),description:J(U()),externalId:J(U()),methodDetails:J(VN),periodCount:WN,periodUnit:UN,recipient:zN,subscriptionExpires:HN}).check(GN(`Subscription amount must be greater than 0`),Ik(KN,`Subscription period exceeds uint64`)),Ck(({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:Ay(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});Pi(),tf();let XN=(1n<<64n)-1n,ZN={dev_second:1n,day:86400n,week:604800n};function QN(e){return e instanceof Date?e:new Date(e)}function $N(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 eP(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=ZN[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>XN)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 tP(e){let{challengeExpires:t,request:n}=e;eP(n);let r=$N(QN(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 nP(e){return[{address:mP(e.currency,`currency`),selector:`0x95777d59`,recipients:[mP(e.recipient,`recipient`)]}]}async function rP(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=aP({accessKey:t,chainId:r,request:i}),o=await n.sign({hash:ew(a)}),s=uC(o);if(s.type===`keychain`||s.type===`multisig`)throw new $({reason:`keyAuthorization must use a primitive signature`});return ZC(a,{signature:o})}function iP(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let a=oP(r.signature),o=sP(a);return cP({accessKey:t,authorization:a,chainId:n}),lP(a,i),dP(uP(a),i),fP(a.scopes,i),{authorization:a,source:{address:pP(a,o),chainId:n}}}function aP(e){let{accessKey:t,chainId:n,request:r}=e;return ZC({address:mP(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:$N(QN(r.subscriptionExpires)),limits:[{token:mP(r.currency,`currency`),limit:BigInt(r.amount),period:eP(r)}],scopes:nP(r),type:t.keyType})}function oP(e){try{return tw(e)}catch(e){throw e instanceof _w?new $({reason:`keyAuthorization must use a primitive signature`}):new $({reason:`invalid keyAuthorization payload`})}}function sP(e){let t=e.signature;if(!t)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function cP(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!ef(n.address,mP(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function lP(e,t){if(tP({request:t}),e.expiry!==$N(QN(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function uP(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function dP(e,t){if(!ef(e.token,mP(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==eP(t))throw new $({reason:`keyAuthorization period mismatch`})}function fP(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=mP(t.currency,`currency`),r=mP(t.recipient,`recipient`),i=new Set;for(let t of e){if(!ef(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=hP(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||!ef(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function pP(e,t){let n=ew(e);try{let e=oC({payload:n,signature:t});if(!gC(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 mP(e,t){if(!ji(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function hP(e){return typeof e==`string`?e.toLowerCase():``}z(),tf();let gP=G({accessKey:J(Fk()),account:J(Fk())});function _P(e={}){let t=AN({chain:uE,getClient:e.getClient,rpcUrl:PN}),n=EN({account:e.account});return TN(YN,{context:gP,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??jN.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.\");yP(r.request),await e.validateRequest?.(r.request);let l=await vP(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!ef(iP({accessKey:c,chainId:a,payload:{signature:rw(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return Lj({challenge:r,payload:{signature:rw(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function vP(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await rP({accessKey:n,account:r,chainId:i,request:a})||QC((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:$N(QN(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:I(BigInt(a.amount)),period:eP(a)}],scopes:nP(a)}]})).keyAuthorization)}function yP(e){eP(e),$N(QN(e.subscriptionExpires))}cp(),z();let bP=L(g_(Hf(`mpp`),{as:`Hex`}),0,4);function xP(e){return yp(L(g_(Hf(e),{as:`Hex`}),0,10))}function SP(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(yp(bP),0),i[4]=1,i.set(xP(t),5),n&&i.set(xP(n),15),i.set(CP(r),25),fp(i)}function CP(e){return yp(L(g_(Hf(e),{as:`Hex`}),0,7))}function wP(e,t){return SC(e).toLowerCase()===SC(t).toLowerCase()}let TP=[MN.pathUsd,MN.usdc];async function EP(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!wP(e,i)),c=await Promise.allSettled([Km(e,vE.call(e,{account:n,token:i})),...s.map(t=>Km(e,vE.call(e,{account:n,token:t})))]),l=c[0];if(!(l.status===`fulfilled`&&l.value>=r)){for(let t=0;t<s.length;t++){let n=c[t+1];if(n.status!==`fulfilled`)continue;let a=n.value;if(a<=0n)continue;let l=s[t];try{let t=await GT(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let n=t+t*BigInt(Math.round(o*100))/10000n;return[fE.call(e,{amount:n,spender:_T,token:l}),BT.call({tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:n})]}}catch{}}throw new OP({currency:i})}}function DP(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>wP(e,t)))]:t,slippage:e.slippage??1}:!1}var OP=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function kP(e){let t=BigInt(e.amount),n=e.methodDetails?.splits??[],r=n.reduce((e,t)=>e+BigInt(t.amount),0n);if(r>=t)throw Error(`Invalid charge request: split total must be less than total amount.`);let i=t-r;if(i<=0n)throw Error(`Invalid charge request: primary transfer amount must be positive.`);return[{amount:i.toString(),memo:e.methodDetails?.memo,recipient:e.recipient},...n.map(e=>({amount:e.amount,memo:e.memo,recipient:e.recipient}))]}let AP={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function jP(e){return{name:`MPP`,version:`3`,chainId:e}}function MP(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function NP(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:jP(n),types:AP,primaryType:`Proof`,message:MP({account:t,challengeId:r,realm:i})}}function PP(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let FP=G({account:J(Fk()),autoSwap:J(Fk()),mode:J(bk(FN))});function IP(e={}){let{clientId:t}=e,n=AN({chain:uE,getClient:e.getClient,rpcUrl:PN}),r=EN({account:e.account});return TN(qN,{context:FP,async createCredential({challenge:i,context:a}){let o=i.request.methodDetails?.chainId;if(e.expectedChainId!==void 0&&o!==void 0&&o!==e.expectedChainId)throw Error(`Chain ID mismatch: expected ${e.expectedChainId}, got ${o}.`);let s=o??e.expectedChainId,c=await n({chainId:s}),l=s??c.chain?.id;if(l===void 0)throw Error(\"No `chainId` provided. Pass a chain ID in the challenge or client.\");let{request:u}=i,{amount:d,methodDetails:f}=u,p=f?.supportedModes??[`pull`,`push`],m=r(c,a);if(BigInt(d)===0n)return Lj({challenge:i,payload:{signature:await Bb(c,{account:m,...NP({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:PP({address:m.address,chainId:l})});let h=u.currency;if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase())),n=f?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}let g=f?.memo?f.memo:SP({challengeId:i.id,clientId:t,serverId:i.realm}),_=kP({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}).map(e=>ME.call(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),v=DP(a?.autoSwap??e.autoSwap,TP),y=await e.resolveAccount?.({account:m,chainId:l,operation:{kind:`executeCalls`,...v?{}:{calls:_}}})??m,b=(()=>{let t=a?.mode??e.mode;if(t){if(!p.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=y.type===`json-rpc`?`push`:`pull`;return p.includes(n)?n:p[0]})(),x=[...(v?await EP(c,{account:y.address,amountOut:BigInt(d),tokenOut:h,tokenIn:v.tokenIn,slippage:v.slippage}):void 0)??[],..._],S=(()=>{let e=Math.floor(Date.now()/1e3)+25;if(!i.expires)return e;let t=Math.floor(new Date(i.expires).getTime()/1e3);return Math.min(e,t)})();if(b===`push`){let{receipts:e}=y.type===`local`?{receipts:[await xb(c,{account:y,calls:x,nonceKey:`expiring`,validBefore:S})]}:await Fb(c,{account:y,calls:x,experimental_fallback:x.length===1,forceAtomic:x.length>1}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return Lj({challenge:i,payload:{hash:t,type:`hash`},source:PP({address:y.address,chainId:l})})}let C=await Zd(c,{account:y,calls:x,nonceKey:`expiring`,validBefore:S});if(C.gas=(C.gas??0n)+5000n,f?.feePayer){let e=C;delete e.feePayerSignature,delete e.feeToken,e.feePayer=!0}return Lj({challenge:i,payload:{signature:await zb(c,C),type:`transaction`},source:PP({address:y.address,chainId:l})})}})}function LP(e){return`accessKeyAddress`in e}function RP(e){return LP(e)?e.accessKeyAddress:e.address}function zP(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let BP={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function VP(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function HP(e,t,n){return bg({domain:zP(e,t),types:BP,primaryType:`Voucher`,message:VP(n)})}async function UP(e,t,n,r,i){return Bb(e,{account:t,domain:zP(r,i),types:BP,primaryType:`Voucher`,message:VP(n)})}function WP(e){let t=uC(e);if(t.type===`keychain`){if(t.inner.type!==`secp256k1`)throw Error(`Session vouchers only unwrap secp256k1 keychain signatures; pass a direct voucherSigner for other key types.`);return Kv(t.inner.signature)}return pC(t)}function GP(e){return e.type!==`keychain`&&e.type===`secp256k1`}function KP(e){if(!GP(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function qP(e,t,n,r,i,a){let o=a??t,s=RP(o),c=HP(r,i,n),l=WP(LP(o)?await o.sign({hash:c,raw:!0}):await UP(e,o,n,r,i)),u=uC(l);if(KP(u),!gC(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function JP(e){return g_(_v(yv([`address payer`,`address payee`,`address token`,`bytes32 salt`,`address authorizedSigner`,`address escrowContract`,`uint256 chainId`]),[e.payer,e.payee,e.token,e.salt,e.authorizedSigner,e.escrowContract,BigInt(e.chainId)]))}let YP=[{type:`function`,name:`CLOSE_GRACE_PERIOD`,inputs:[],outputs:[{name:``,type:`uint64`,internalType:`uint64`}],stateMutability:`view`},{type:`function`,name:`VOUCHER_TYPEHASH`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`channels`,inputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}],stateMutability:`view`},{type:`function`,name:`close`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`},{name:`signature`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`computeChannelId`,inputs:[{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`authorizedSigner`,type:`address`,internalType:`address`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`domainSeparator`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`eip712Domain`,inputs:[],outputs:[{name:`fields`,type:`bytes1`,internalType:`bytes1`},{name:`name`,type:`string`,internalType:`string`},{name:`version`,type:`string`,internalType:`string`},{name:`chainId`,type:`uint256`,internalType:`uint256`},{name:`verifyingContract`,type:`address`,internalType:`address`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`extensions`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`view`},{type:`function`,name:`getChannel`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:``,type:`tuple`,internalType:`struct TempoStreamChannel.Channel`,components:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`getChannelsBatch`,inputs:[{name:`channelIds`,type:`bytes32[]`,internalType:`bytes32[]`}],outputs:[{name:`channelStates`,type:`tuple[]`,internalType:`struct TempoStreamChannel.Channel[]`,components:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`getVoucherDigest`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`open`,inputs:[{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`authorizedSigner`,type:`address`,internalType:`address`}],outputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`requestClose`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`settle`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`},{name:`signature`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`topUp`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`additionalDeposit`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdraw`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`ChannelClosed`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`settledToPayee`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`refundedToPayer`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`ChannelExpired`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`ChannelOpened`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`token`,type:`address`,indexed:!1,internalType:`address`},{name:`authorizedSigner`,type:`address`,indexed:!1,internalType:`address`},{name:`salt`,type:`bytes32`,indexed:!1,internalType:`bytes32`},{name:`deposit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`CloseRequestCancelled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`CloseRequested`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`closeGraceEnd`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Settled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`cumulativeAmount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`deltaPaid`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newSettled`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`TopUp`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`additionalDeposit`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newDeposit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`error`,name:`AmountExceedsDeposit`,inputs:[]},{type:`error`,name:`AmountNotIncreasing`,inputs:[]},{type:`error`,name:`ChannelAlreadyExists`,inputs:[]},{type:`error`,name:`ChannelFinalized`,inputs:[]},{type:`error`,name:`ChannelNotFound`,inputs:[]},{type:`error`,name:`CloseNotReady`,inputs:[]},{type:`error`,name:`DepositOverflow`,inputs:[]},{type:`error`,name:`InvalidPayee`,inputs:[]},{type:`error`,name:`InvalidSignature`,inputs:[]},{type:`error`,name:`NotPayee`,inputs:[]},{type:`error`,name:`NotPayer`,inputs:[]},{type:`error`,name:`TransferFailed`,inputs:[]}];pa(),la();async function XP(e,t,n){return Km(e,{address:t,abi:YP,functionName:`getChannel`,args:[n]})}ua({abi:YP,name:`open`}),ua({abi:YP,name:`topUp`}),z(),ya();function ZP(e,t){return t??e}function QP(e,t,n,r=!1){let i=e.request.methodDetails?.escrowContract,a=n??NN[t];if(!a&&!(r&&i))throw Error(\"No trusted `escrowContract` available. Provide it in client parameters or use a supported chain.\");if(i&&a&&i.toLowerCase()!==a.toLowerCase()&&(!r||n!==void 0))throw Error(`Tempo session escrow ${i} does not match client escrow ${a}.`);return i&&(!a||i.toLowerCase()!==a.toLowerCase())?i:a}function $P(e,t,n,r){return Lj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function eF(e,t,n,r,i,a,o){let s=ZP(t,o),c=await qP(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function tF(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=ZP(t,n.voucherSigner),d=RP(u),f=gp(32),p=JP({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=va({abi:B,functionName:`approve`,args:[r,o]}),h=va({abi:YP,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Zd(e,{account:t,calls:[{to:a,data:m},{to:r,data:h}],feeToken:a,nonceKey:`expiring`,validBefore:g});_.gas=(_.gas??0n)+5000n,l&&(_.feePayer=!0);let v=await zb(e,_),y=await qP(e,t,{channelId:p,cumulativeAmount:s},r,c,u);return{entry:{authorizedSigner:d,channelId:p,salt:f,cumulativeAmount:s,escrowContract:r,chainId:c,opened:!0},payload:{action:`open`,type:`transaction`,channelId:p,transaction:v,authorizedSigner:d,cumulativeAmount:s.toString(),signature:y}}}async function nF(e,t,n,r){try{let i=await XP(e,t,n);if(i.deposit>0n&&!i.finalized)return{authorizedSigner:BigInt(i.authorizedSigner)===0n?i.payer:i.authorizedSigner,channelId:n,salt:`0x`,cumulativeAmount:i.settled,escrowContract:t,chainId:r,opened:!0}}catch{}}let rF=G({account:J(Fk()),action:J(bk([`open`,`topUp`,`voucher`,`close`])),channelId:J(U()),cumulativeAmount:J(zA()),cumulativeAmountRaw:J(U()),transaction:J(U()),additionalDeposit:J(zA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function iF(e={}){let{allowCustomEscrow:t=!1,decimals:n=6}=e,r=AN({chain:uE,getClient:e.getClient,rpcUrl:PN}),i=EN({account:e.account}),a=e.maxDeposit===void 0?void 0:Ay(e.maxDeposit,n),o=new Map,s=new Map,c=new Map;function l(t){e.onChannelUpdate?.(t)}function u(e,t,n){return`${e.toLowerCase()}:${t.toLowerCase()}:${n.toLowerCase()}`}function d(n,r,i){if(i){let e=o.get(i);if(e)return QP(n,r,e)}return QP(n,r,e.escrowContract,t)}async function f(t,i,f){let p=t.request.methodDetails,m=p?.chainId??0,h=await r({chainId:m}),g=d(t,m),_=t.request.recipient,v=t.request.currency,y=BigInt(t.request.amount),b=t.request.suggestedDeposit,x=b?BigInt(b):void 0,S=(()=>{if(f?.depositRaw)return BigInt(f.depositRaw);if(e.deposit!==void 0)return Ay(e.deposit,n);if(x!==void 0&&a!==void 0)return x<a?x:a;if(a!==void 0)return a;if(x!==void 0)return x;throw Error(\"No deposit amount available. Set `deposit`, `maxDeposit`, or ensure the server challenge includes `suggestedDeposit`.\")})(),C=e.voucherSigner??i,w=u(_,v,g),T=s.get(w);if(!T){let e=f?.channelId??p?.channelId;if(e){let t=await nF(h,g,e,m);if(t){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?Ay(f.cumulativeAmount,n):void 0;e!==void 0&&(t.cumulativeAmount=e),s.set(w,t),c.set(t.channelId,w),o.set(t.channelId,g),T=t,l(T)}else if(f?.channelId)throw Error(`Channel ${f.channelId} cannot be reused (closed or not found on-chain).`)}}T?.opened&&T.authorizedSigner.toLowerCase()!==RP(C).toLowerCase()&&(T=void 0);let ee;if(T?.opened)T.cumulativeAmount+=y,ee=await eF(h,i,T.channelId,T.cumulativeAmount,g,m,C),l(T);else{let e=await tF(h,i,{voucherSigner:C,escrowContract:g,payee:_,currency:v,deposit:S,initialAmount:y,chainId:m,feePayer:p?.feePayer});s.set(w,e.entry),c.set(e.entry.channelId,w),o.set(e.entry.channelId,g),ee=e.payload,l(e.entry)}return $P(t,ee,m,i)}async function p(t,i,a){let u=t.request.methodDetails?.chainId??0,f=await r({chainId:u}),p=a.action,{channelId:m,transaction:h}=a,g=e.voucherSigner??i,_=m,v=a.cumulativeAmountRaw?BigInt(a.cumulativeAmountRaw):a.cumulativeAmount?Ay(a.cumulativeAmount,n):void 0,y=a.additionalDepositRaw?BigInt(a.additionalDepositRaw):a.additionalDeposit?Ay(a.additionalDeposit,n):void 0,b=d(t,u,_);o.set(_,b);let x;switch(p){case`open`:{if(!h)throw Error(`transaction required for open action`);if(v===void 0)throw Error(`cumulativeAmount required for open action`);let e=await qP(f,i,{channelId:_,cumulativeAmount:v},b,u,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:RP(g),cumulativeAmount:v.toString(),signature:e};break}case`topUp`:if(!h)throw Error(`transaction required for topUp action`);if(y===void 0)throw Error(`additionalDeposit required for topUp action`);x={action:`topUp`,type:`transaction`,channelId:_,transaction:h,additionalDeposit:y.toString()};break;case`voucher`:{if(v===void 0)throw Error(`cumulativeAmount required for voucher action`);x=await eF(f,i,_,v,b,u,g);let e=c.get(_);if(e){let t=s.get(e);t&&(t.cumulativeAmount=t.cumulativeAmount>v?t.cumulativeAmount:v,l(t))}break}case`close`:{if(v===void 0)throw Error(`cumulativeAmount required for close action`);let e=await qP(f,i,{channelId:_,cumulativeAmount:v},b,u,g);x={action:`close`,channelId:_,cumulativeAmount:v.toString(),signature:e};let t=c.get(_);if(t){let e=s.get(t);e&&(e.opened=!1,e.cumulativeAmount=e.cumulativeAmount>v?e.cumulativeAmount:v,l(e))}break}}return $P(t,x,u,i)}return TN(JN,{canHandleChallenge({challenge:e}){let t=MA(e.request.methodDetails,AA.sessionProtocol);return t===void 0||t===jA.v1},context:rF,async createCredential({challenge:t,context:n}){let o=t.request.methodDetails?.chainId??0,s=await r({chainId:o}),c=i(s,n);if(!n?.action&&(e.deposit!==void 0||a!==void 0))return f(t,c,n);if(n?.action)return p(t,c,n);throw Error(\"No `action` in context and no `deposit` or `maxDeposit` configured. Either provide context with action/channelId/cumulativeAmount, or configure `deposit`/`maxDeposit` for auto-management.\")}})}let aF=(1n<<96n)-1n;function oF(e){return e>=0n&&e<=aF}function sF(e){if(!/^\\d{1,29}$/.test(e))return;let t=BigInt(e);return oF(t)?t:void 0}function cF(e){return lF(e),e}function lF(e){if(!oF(e))throw Error(`Value ${e} is outside uint96 bounds.`)}let uF=new Set([`open`,`topUp`,`voucher`,`close`]);function dF(e){return typeof e==`object`&&!!e}function fF(e){return typeof e==`string`&&uF.has(e)}function pF(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.channelId!=`string`||t.action!==void 0&&!fF(t.action))}function mF(e,t=`No session credential context available.`){if(!pF(e))throw Error(t);return e}function hF(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function gF(e){return dF(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function _F(e){return dF(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 vF(e){let t=lx(e),n=JSON.parse(t);if(!_F(n))throw Error(`Invalid session receipt.`);return n}function yF(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function bF(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=xF(r);return gF(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=xF(r);return _F(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function xF(e){try{return JSON.parse(e)}catch{return null}}function SF(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function CF(){return JSON.stringify({mpp:`payment-close-request`})}function wF(e){let t=TF(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`&&_F(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`&&gF(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&_F(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function TF(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let EF=`0x4d50500000000000000000000000000000000000`,DF={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function OF(e){let t=e.allowCustomEscrow??!1,n=e.fetch??globalThis.fetch,r=e.webSocket??globalThis.WebSocket,i=e.maxDeposit===void 0?null:Ay(e.maxDeposit,e.decimals??6),a=null,o=null,s=null,c=0n,l=0n,u=null,d=null,f=null,p=null,m=null,h=null,g=null,_=0n,v=0n,y=iF({account:e.account,allowCustomEscrow:t,voucherSigner:e.voucherSigner,getClient:e.client?()=>e.client:e.getClient,escrowContract:e.escrowContract,decimals:e.decimals,maxDeposit:e.maxDeposit,onChannelUpdate(e){e.channelId!==a?.channelId&&(c=0n,l=0n),a=e}}),b=HM({fetch:n,methods:[y],onChallenge:async(e,t)=>{o=e},orderChallenges:e.orderChallenges});function x(e){if(!e||e.channelId!==a?.channelId)return;S(e);let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);c=c>t?c:t,l=l>n?l:n}function S(e){if(!a||e.channelId!==a.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>a.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>a.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);ie(t),ie(n)}function C(e=()=>!0){if(g)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{g={predicate:e,resolve:t,reject:n}})}function w(){if(p)return Promise.resolve(p);if(m)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{m={resolve:e,reject:t}})}function T(e){if(!g||!g.predicate(e))return;let t=g;g=null,t.resolve(e)}function ee(e){if(p=e,!m)return;let t=m;m=null,t.resolve(e)}function te(e){if(!g)return;let t=g;g=null,t.reject(e)}function ne(e){if(!m)return;let t=m;m=null,t.reject(e)}function re(e,t){if(p&&p.challengeId===e.id&&p.channelId===t)return p.spent;let n=a?.channelId===t?a.cumulativeAmount:0n;if(v>0n){let e=_*v,t=l>e?l:e;return(t>n?n:t).toString()}return(l>c?l:c).toString()}function ie(e){if(i!==null&&!(e<=i))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${i}`)}function ae(e){let t=e.headers.get(Q.paymentReceipt),n=t?vF(t):null;return x(n),Object.assign(e,{receipt:n,challenge:o,channelId:a?.channelId??null,cumulative:a?.cumulativeAmount??0n})}async function oe(e,t){return s=e,ae(await b(e,t))}function se(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`&&i.once===!0,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)},s=(e,a)=>{if(e===`close`){if(n)return;n=!0,i=DF.CLOSED,r=null}if(e===`open`&&(i=DF.OPEN),e===`message`&&r){r.push(a);return}let o=`on${e}`,s=c[o];typeof s==`function`&&s(a);let l=t.get(e);if(l)for(let e of Array.from(l))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&l.delete(e)},c={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,_onmessage:null,get onmessage(){return c._onmessage},set onmessage(e){if(c._onmessage=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:c}}return{get channelId(){return a?.channelId},get cumulative(){return a?.cumulativeAmount??0n},get opened(){return a?.opened??!1},async open(e){if(a?.opened)return;if(!o)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let t=e?.deposit,r=await y.createCredential({challenge:o,context:{...t!==void 0&&{depositRaw:t.toString()}}});if(!s)throw Error(`No URL available — call fetch() or sse() before open().`);let i=await n(s,{method:`POST`,headers:{[Q.authorization]:r}});if(!i.ok){let e=await i.text().catch(()=>``),t=i.headers.get(Q.wwwAuthenticate)??``;throw Error(`Open request failed with status ${i.status}${e?`: ${e}`:``}${t?` [${Q.wwwAuthenticate}: ${t}]`:``}`)}},fetch:oe,async sse(e,t){let{onReceipt:r,signal:i,...s}=t??{},c=await oe(e,{...s,headers:{...WM(s.headers),Accept:`text/event-stream`},...i?{signal:i}:{}}),l=o;if(!c.body)throw Error(`Response has no body.`);let u=c.body.getReader(),d=new TextDecoder;async function*f(){let t=``;try{for(;!i?.aborted;){let{done:i,value:o}=await u.read();if(i)break;t+=d.decode(o,{stream:!0});let s=t.split(`\n\n`);t=s.pop();for(let t of s){if(!t.trim())continue;let i=bF(t);if(i)switch(i.type){case`message`:yield i.data;break;case`payment-need-voucher`:{if(!a||!l)break;let t=BigInt(i.data.requiredCumulative);ie(t),a.cumulativeAmount=a.cumulativeAmount>t?a.cumulativeAmount:t;let r=await y.createCredential({challenge:l,context:{action:`voucher`,channelId:a.channelId,cumulativeAmountRaw:a.cumulativeAmount.toString()}}),o=await n(e,{method:`POST`,headers:{Accept:`text/event-stream`,[Q.authorization]:r}});if(!o.ok)throw Error(`Voucher POST failed with status ${o.status}`);break}case`payment-receipt`:x(i.data),r?.(i.data)}}}}finally{u.releaseLock()}}return f()},async ws(t,i){if(!r)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:c,protocols:l,signal:m}=i??{},g=new URL(t.toString()),b=new URL(g.toString());b.protocol===`ws:`&&(b.protocol=`http:`),b.protocol===`wss:`&&(b.protocol=`https:`),s=b.toString();let S=await n(b,m?{signal:m}:void 0);if(S.status!==402)throw Error(`Expected a 402 payment challenge from ${b}, received ${S.status} instead.`);let w=(await kF(vj(ij(S),[y],hj([y]).entries),i?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!w)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.`);o=w;let re=await y.createCredential({challenge:w,context:{}});p=null,u=w,_=0n,v=BigInt(w.request.amount);let ae=Pj(re);d=ae.payload.channelId;let oe=new r(g,l);f=oe;let ce=se(oe),le=e=>{te(Error(e)),ne(Error(e)),(oe.readyState===DF.CONNECTING||oe.readyState===DF.OPEN)&&oe.close(3008,e)},ue=e=>e.challengeId===w.id&&e.channelId===d,de=new Promise((e,t)=>{let n=()=>{oe.removeEventListener(`error`,r),ce.emit(`open`,{type:`open`}),e()},r=()=>{oe.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${g} failed to open.`))};oe.addEventListener(`open`,n,{once:!0}),oe.addEventListener(`error`,r,{once:!0})});return oe.addEventListener(`close`,e=>{f===oe&&(f=null),u===w&&(u=null),d===ae.payload.channelId&&(d=null),h=null,te(Error(`WebSocket closed before the payment flow completed.`)),ne(Error(`WebSocket closed before the payment flow completed.`)),ce.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),oe.addEventListener(`error`,()=>{ce.emit(`error`,{type:`error`})}),oe.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=wF(t);if(!n){ce.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:_+=1n,ce.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!ue(n.data)){le(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(a?.cumulativeAmount??0n)){le(`received payment-close-ready beyond local voucher state`);break}x(n.data),c?.(n.data),ee(n.data),ce.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:te(Error(n.message)),ne(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==d){le(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{ie(e)}catch(e){le(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(a?.cumulativeAmount??0n)>e?a?.cumulativeAmount??0n:e;a?.channelId===d&&(a.cumulativeAmount=t);let r=await y.createCredential({challenge:w,context:{action:`voucher`,channelId:d,cumulativeAmountRaw:t.toString()}});oe.send(SF(r));break}case`payment-receipt`:if(!ue(n.data)){le(`received mismatched payment-receipt frame`);break}if(h!==null&&n.data.txHash&&(n.data.acceptedCumulative!==h||n.data.spent!==h)){le(`received mismatched payment-close receipt frame`);break}x(n.data),c?.(n.data),T(n.data)}}),m&&m.addEventListener(`abort`,()=>{te(Error(`WebSocket payment flow aborted.`)),ne(Error(`WebSocket payment flow aborted.`)),oe.close()},{once:!0}),await de,oe.send(SF(re)),await C(),ce.socket},async close(){let e=u??o,t=d??a?.channelId;if(!a?.opened)return;if(!e)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!t)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);if(f?.readyState===DF.OPEN){let n=p??await(async()=>(f.send(CF()),w()))(),r=BigInt(n.spent);if(r>(a.cumulativeAmount>l?a.cumulativeAmount:l))throw Error(`close-ready spent exceeds local voucher state`);let i=await y.createCredential({challenge:e,context:{action:`close`,channelId:t,cumulativeAmountRaw:r.toString()}}),o=r.toString();h=o;try{let n=C(n=>!!n.txHash&&n.challengeId===e.id&&n.channelId===t&&n.acceptedCumulative===o&&n.spent===o);f.send(SF(i));let r=await n;return f.close(),p=null,r}finally{h=null}}let r=await y.createCredential({challenge:e,context:{action:`close`,channelId:t,cumulativeAmountRaw:(()=>{let n=BigInt(re(e,t));if(n>a.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return ie(n),n.toString()})()}});if(!s)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 i=await n(s,{method:`POST`,headers:{[Q.authorization]:r}});if(!i.ok){let e=await i.text().catch(()=>``),t=(()=>{if(!e)return``;if(!i.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=i.headers.get(Q.wwwAuthenticate)??``;throw Error(`Close request failed with status ${i.status}${t?`: ${t}`:``}${n?` [${Q.wwwAuthenticate}: ${n}]`:``}`)}let c=i.headers.get(Q.paymentReceipt);return c?vF(c):void 0}}}async function kF(e,t){let n=t;return n?n(e):e}z();function AF(e){return BigInt(e.authorizedSigner)===0n?e.payer:e.authorizedSigner}function jF(e){return g_(_v(yv([`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 MF(e){return kw(e)}function NF(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function PF(e,t){return g_(F(MF(e),t.sender))}let FF=[{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`}],IF=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],LF={name:`descriptor`,type:`tuple`,components:FF},RF=[{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:[LF,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[LF,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[LF,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[LF],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[LF],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[LF],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:FF},{name:`state`,type:`tuple`,components:IF}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:IF}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:IF}]},{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 zF(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let BF={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function VF(e,t){return YC({chainId:e,channelId:t.channelId,cumulativeAmount:t.cumulativeAmount})}function HF(e,t,n){return e.toLowerCase()===`0x4d50500000000000000000000000000000000000`?VF(t,n):bg({domain:zF(e,t),types:BF,primaryType:`Voucher`,message:{channelId:n.channelId,cumulativeAmount:n.cumulativeAmount}})}function UF(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function WF(e,t){return cT(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function GF(e,t,n,r,i){let a=uC(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await WF(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return Bb(e,{account:t,domain:zF(r,i),types:BF,primaryType:`Voucher`,message:n})})());if(!UF(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return pC(a)}function KF(e,t,n,r){try{let i=uC(n.signature);if(!UF(i.type)||pC(i).toLowerCase()!==n.signature.toLowerCase())return!1;let a=HF(e,t,n),o=oC({payload:a,signature:i});return gC(i,{address:o,payload:a})&&wP(o,r)}catch{return!1}}z(),ya(),Pi();function qF(e){return typeof e==`object`&&!!e}function JF(e){return typeof e==`string`&&ji(e,{strict:!1})?e:void 0}function YF(e){return JF(e.accessKeyAddress)}function XF(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(gp(8))%e)}function ZF(e){return YF(e)??e.address}async function QF(e,t){let{account:n,calls:r,feePayer:i,feeToken:a,validAfter:o}=t;return Zd(e,{account:n,calls:r,nonceKey:`expiring`,...i?{feePayer:!0}:{},feeToken:a,...o===void 0?{}:{validAfter:o}})}async function $F(e,t){return await zb(e,t)}function eI(e,t,n=!1){let r=e.request.methodDetails,i=qF(r)?JF(r.escrowContract)??JF(r.escrow):void 0,a=t??`0x4d50500000000000000000000000000000000000`;if(i&&!nI(i,a)&&(!n||t!==void 0))throw Error(`Tempo session escrow ${i} does not match client escrow ${a}.`);return i&&!nI(i,a)?i:a}function tI(e,t,n,r){return Lj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function nI(e,t){return e.toLowerCase()===t.toLowerCase()}async function rI(e,t,n,r,i,a=EF){let o=jF({...n,chainId:i,escrow:a}),s=cF(r),c=await GF(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function iI(e,t,n,r,i,a=EF){let o=await rI(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function aI(e,t,n){let r=ZF(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=gp(32),s=cF(n.deposit),c=cF(n.initialAmount),l=va({abi:RF,functionName:`open`,args:[n.payee,a,n.token,s,o,r]}),u=await $F(e,await QF(e,{account:t,calls:[...n.prefixCalls??[],{to:i,data:l}],feePayer:n.feePayer,feeToken:n.feeToken??n.token})),d=Qw(u),f={authorizedSigner:r,expiringNonceHash:PF(NF({...n.feePayer?{feePayer:!0}:{},transaction:d}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},p=jF({...f,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:p,transaction:u,signature:await GF(e,t,{channelId:p,cumulativeAmount:c},i,n.chainId),descriptor:f,cumulativeAmount:c.toString(),authorizedSigner:f.authorizedSigner}}async function oI(e,t,n,r,i,a,o=EF,s=[],c=n.token){let l=jF({...n,chainId:i,escrow:o}),u=cF(r);return{action:`topUp`,type:`transaction`,channelId:l,transaction:await $F(e,await QF(e,{account:t,calls:[...s,{to:o,data:va({abi:RF,functionName:`topUp`,args:[n,u]})}],feePayer:a,feeToken:c,validAfter:XF()})),descriptor:n,additionalDeposit:u.toString()}}function sI(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function cI(e){return sI({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function lI(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(cI(t),t)},delete(t){e.delete(t)}}}let uI=2n**96n-1n;function dI(e){if(e<0n||e>uI)throw new $({reason:`amount exceeds uint96 range`})}async function fI(e,t,n=EF,r){return pI(await Km(e,{address:n,abi:RF,functionName:`getChannelState`,args:[t],...r===void 0?{}:{blockNumber:r}}))}function pI(e){return dI(e.settled),dI(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Pi();let mI=Fk(e=>typeof e==`string`&&ji(e,{strict:!1})),hI=Fk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),gI=_M(G({acceptedCumulative:U(),chainId:ZO(),channelId:hI,closeRequestedAt:J(U()),deposit:U(),descriptor:G({authorizedSigner:mI,expiringNonceHash:hI,operator:mI,payee:mI,payer:mI,salt:hI,token:mI}),escrow:mI,highestVoucher:J(G({channelId:hI,cumulativeAmount:U(),signature:Fk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]+$/.test(e))})),requiredCumulative:U(),settled:U(),spent:U(),units:J(ZO())}));function _I(e){return gI.encode(e)}function vI(e){return gI.decode(e)}let yI={status:`idle`};function bI(e){return{status:`active`,...e}}function xI(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?EI(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?EI(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:wI(e.challengeId,t.snapshot),effects:[]}:EI(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?EI(e,t):{state:RI({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:TI(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:EI(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?EI(e,t):{state:VI(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?CI({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):EI(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:EI(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?EI(e,t):{state:TI(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}]}:EI(e,t);case`settled`:return e.status===`settling`?{state:TI(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:EI(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:EI(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:EI(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?EI(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`?EI(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function SI(e,t){let n=xI(e.state,t);return e.state=n.state,n}function CI(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 wI(e,t){return bI({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function TI(e,t,n,r){return bI({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function EI(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function DI(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function OI(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`);DI({cumulativeAmount:i,maxVoucherCumulative:n}),DI({cumulativeAmount:a,maxVoucherCumulative:n})}function kI(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;OI({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function AI(e,t){return typeof e==`bigint`?e:Ay(e,t)}function jI(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(NI(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 MI(e){let{deposit:t,maxDeposit:n,requiredCumulative:r,suggestedDeposit:i,topUpAmount:a}=e;if(r<=t)return 0n;DI({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 NI(e,t){DI({cumulativeAmount:e,maxVoucherCumulative:t??null})}function PI(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 FI(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function II(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(!oF(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>FI({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function LI(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:i=0n,receipt:a}=e,o=sF(r),s=sF(a.spent);return o===void 0||s===void 0||!oF(i)?!1:!!a.txHash&&a.challengeId===t&&a.channelId===n&&a.acceptedCumulative===r&&s>=i&&s<=o}function RI(e){return bI({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 zI(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:yI}}function BI(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=kI({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&SI(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function VI(e,t){return bI({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function HI(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=sF(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 UI(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 xI(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function WI(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 GI(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 KI(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(CF()),e.waitForCloseReady()))(),a=BigInt(i.spent);II({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=>LI({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,minimumSpent:a,receipt:e}));t.send(SF(o));let c=await i;return t.close(),n.closeReadyReceipt=null,c}finally{n.expectedCloseAmount=null}}Pi();function qI(e){return`cumulativeAmount`in e}function JI(e){if(qI(e))return BigInt(e.cumulativeAmount)}async function YI(e,t){t.opened?await e.store.set(t):await e.store.delete(cI(t)),e.notifyUpdate(t)}async function XI(e,t,n){let r=JI(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 YI(e,i))}let ZI=Fk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),QI=G({account:J(Fk()),autoSwap:J(Fk()),action:J(bk([`open`,`topUp`,`voucher`,`close`])),channelId:J(Fk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:J(zA()),cumulativeAmountRaw:J(U()),transaction:J(ZI),descriptor:J(Fk()),additionalDeposit:J(zA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function $I(e){return e?.action!==void 0}function eL(e){return $I(e)&&e.descriptor!==void 0}function tL(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 Ay(i,t)}function nL(e,t,n,r){let i=tL(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function rL(e){return typeof e==`object`&&!!e}function iL(e){return typeof e==`string`&&ji(e,{strict:!1})?e:void 0}function aL(e){let t=e.request.methodDetails;return rL(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:iL(t.escrowContract),escrow:iL(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,feeToken:iL(t.feeToken),operator:iL(t.operator),sessionSnapshot:MA(t,AA.sessionSnapshot)}:{}}function oL(e,t){if(typeof e==`string`&&ji(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function sL(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function cL(e){return typeof e==`string`?e:void 0}async function lL(e){let{allowCustomEscrow:t,challenge:n,escrowOverride:r,getClient:i}=e,a=aL(n),o=await i({chainId:a.chainId}),s=a.chainId??o.chain?.id;if(!s)throw Error(`No chainId configured for TIP-1034 session challenge.`);let c=eI(n,r,t),l=oL(n.request.recipient,`recipient`),u=oL(n.request.currency,`currency`);return{amount:sL(n.request.amount),challenge:n,chainId:s,client:o,escrow:c,feePayer:a.feePayer,feeToken:a.feeToken,key:sI({payee:l,token:u,escrow:c,chainId:s}),operator:a.operator,payee:l,snapshot:a.sessionSnapshot,suggestedDepositRaw:cL(n.request.suggestedDeposit),token:u}}async function uL(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=fI}=e,o=jF({...r,chainId:i.chainId,escrow:i.escrow});dL({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 dL(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(!nI(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!nI(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!nI(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!nI(AF(r),t))throw Error(`context descriptor authorizedSigner does not match account`)}function fL(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function pL(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=tL(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}async function mL(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(!KF(i.escrow,i.chainId,{channelId:a.channelId,cumulativeAmount:s,signature:a.signature},AF(i.descriptor)))throw Error(`session snapshot highest voucher signature is invalid`);let f=await uL({channelId:i.channelId,client:n,descriptor:i.descriptor,expected:{chainId:i.chainId,escrow:i.escrow,payee:i.descriptor.payee,payer:t.address,authorizedSigner:ZF(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 hL(e,t){return nI(e.address,t.payer)?nI(ZF(e),AF(t)):!1}function gL(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if($I(r)){if(!eL(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=fL({context:r,snapshot:o.snapshot});return!n&&s&&hL(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&hL(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 _L(e,t,n=!1){switch(e.type){case`open`:return yL(e,t,n);case`recover`:return bL(e,t);case`voucher`:return xL(e,t);case`manual`:return SL(e,t,n)}}async function vL(e,t){if(e)return await EP(t.client,{account:t.account,amountOut:t.amountOut,tokenOut:t.tokenOut,tokenIn:e.tokenIn,slippage:e.slippage})}async function yL(e,t,n){let{account:r,resolved:i}=e,a=jI({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:i.amount,suggestedDepositRaw:i.suggestedDepositRaw}),o=await aI(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 vL(n,{account:r.address,amountOut:a,client:i.client,tokenOut:i.token}),token:i.token});return await YI(t,{channelId:o.channelId,cumulativeAmount:i.amount,deposit:a,descriptor:o.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0}),o}async function bL(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await uL({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:ZF(n),token:o.token}}),l=pL({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`);NI(l,a);let u=await rI(o.client,n,s,l,o.chainId,o.escrow);return await YI(t,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function xL(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;NI(a,e.maxDeposit);let o=await rI(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await YI(t,r),o}async function SL(e,t,n){let{account:r,context:i,decimals:a,resolved:o}=e,{descriptor:s}=i,c=jF({...s,chainId:o.chainId,escrow:o.escrow});dL({channelId:i.channelId,descriptor:s,expectedChannelId:c,payee:o.payee,payer:r.address,authorizedSigner:ZF(r),token:o.token});let l=await CL({account:r,channelId:c,context:i,decimals:a,descriptor:s,resolved:o},n);return await XI(t,o.key,l),l}async function CL(e,t){switch(e.context.action){case`open`:return wL(e);case`topUp`:return TL(e,t);case`voucher`:return EL(e);case`close`:return DL(e)}}async function wL(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=nL(r,i,`cumulativeAmount`,`open`),c=await rI(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 TL(e,t){let{account:n,channelId:r,context:i,decimals:a,descriptor:o,resolved:s}=e,c=nL(i,a,`additionalDeposit`,`topUp`);return i.transaction?{action:`topUp`,type:`transaction`,channelId:r,transaction:i.transaction,descriptor:o,additionalDeposit:c.toString()}:oI(s.client,n,o,c,s.chainId,s.feePayer,s.escrow,await vL(t,{account:n.address,amountOut:c,client:s.client,tokenOut:s.token}),s.feeToken)}function EL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return rI(a.client,t,i,nL(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function DL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return iI(a.client,t,i,nL(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}z();let OL={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function kL(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=OL.CLOSED,r=null}if(a.type===`open`&&(i=OL.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 AL(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function jL(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=AI(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 ML(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:VI(s,u)}:i?{channel:u,state:RI({challengeId:i,entry:u,spent:c.toString(),units:a.status===`active`?a.units:0})}:{channel:u}}async function NL(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=AL(e.event);e.assertVoucherWithinLocalLimit(t.requiredCumulative),await e.topUpIfNeeded({challenge:e.challenge,input:e.input,channelId:e.expectedChannelId,deposit:t.deposit,requiredCumulative:t.requiredCumulative});let n=e.getChannel();if(!n||n.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`missing-channel`};let r=n.cumulativeAmount>t.requiredCumulative?n.cumulativeAmount:cF(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function PL(e){return e.method===OA.tempo&&e.intent===kA.session}function FL(e){return PL(e)&&MA(e.request.methodDetails,AA.sessionProtocol)===jA.v2}function IL(e){return MA(e.request.methodDetails,AA.sessionSnapshot)}function LL(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...WM(r),...WM(t?.headers),[Q.authorization]:n}}}function RL(e){try{let t=typeof location>`u`?void 0:location.href,n=e instanceof Request?new URL(e.url):e instanceof URL?new URL(e):new URL(String(e),t);return n.hash=``,n}catch{return e}}function zL(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function BL(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}}async function VL(e){let{channel:t,channelId:n}=e;if(!t?.descriptor||t.channelId!==n)throw Error(`Cannot top up session: no local channel descriptor available.`);let r=await HL({challenge:e.challenge,context:{action:`topUp`,channelId:n,descriptor:t.descriptor,additionalDepositRaw:e.additionalDeposit.toString()},createSessionCredential:e.createSessionCredential,fetch:e.fetch,input:e.input});if(!r.ok)throw Error(`Top-up POST failed with status ${r.status}`);let i=r.headers.get(Q.paymentReceipt);return i?vF(i):void 0}async function HL(e){let t=async t=>e.fetch(RL(e.input),{method:`POST`,headers:{[Q.authorization]:await e.createSessionCredential(t,e.context)}}),n=await t(e.challenge);if(n.status!==402)return n;let r=ij(n).find(FL);return r?t(r):n}async function UL(e){let t=WL({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,channelId:i.channelId,deposit:BigInt(i.deposit),requiredCumulative:a});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,LL(e.input,e.init,t))}catch(e){throw await l(),e}return!u.ok&&!u.headers.get(Q.paymentReceipt)&&await l(),u}function WL(e){let t=ij(e.response).find(FL);if(!t)return;let n=IL(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function GL(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=async(r,i=!1)=>{t=r,n=(i?e.resolveSignedCloseAmount?.(r):void 0)??e.signedCloseAmount;let a=await e.createSessionCredential(r,{action:`close`,channelId:e.target.channelId,descriptor:e.target.channel.descriptor,cumulativeAmountRaw:n});return e.fetch(e.lastUrl,{method:`POST`,headers:{[Q.authorization]:a}})},i=await r(e.target.challenge);if(i.status===402){let t=ij(i).find(FL);t&&(e.setChallenge?.(t),i=await r(t,!0))}if(!i.ok){let e=await BL(i),t=i.headers.get(Q.wwwAuthenticate)??``;throw Error(`Close request failed with status ${i.status}${e?`: ${e}`:``}${t?` [${Q.wwwAuthenticate}: ${t}]`:``}`)}let a=i.headers.get(Q.paymentReceipt);if(!a)return;let o=vF(a);if(!o.txHash||!Sp(o.txHash,{strict:!0})||_p(o.txHash)!==32||!LI({challengeId:t.id,channelId:e.target.channelId,expectedCloseAmount:n,minimumSpent:e.getMinimumSpent?.()??0n,receipt:o}))throw Error(`Session close response included a mismatched payment receipt.`);return o}async function KL(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...WM(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);return!yF(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o)),qL(e,s,{onReceipt:r,signal:i},n)}function qL(e,t,n,r){if(!yF(t))throw Error(`SSE response is not an event stream.`);if(!t.body)throw Error(`Response has no body.`);let i=r.getChallenge();return JL({onNeedVoucher:t=>$L({challenge:i,driver:r,input:e},t),onReceipt(e){r.acceptReceipt(e),n?.onReceipt?.(e)},response:t,signal:n?.signal})}async function*JL(e){for await(let t of YL(e))t.data!==void 0&&(yield t.data)}async function*YL(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=XL(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=bF(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);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 XL(e,t){for(let n=0;n<e.length;n++){let r=ZL(e,n,t);if(!r)continue;let i=ZL(e,n+r,t);if(i)return{index:n,length:r+i};n+=r-1}}function ZL(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 QL(e){let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.addEventListener(`abort`,n,{once:!0}),e.signal?.aborted&&n();let r=YL({...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 $L(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await NL({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:e.challenge,event:t,expectedChannelId:n.channelId,getChannel:e.driver.getChannel,input:e.input,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status!==`ready`)return;let i=await HL({challenge:e.challenge,context:r.context,createSessionCredential:e.driver.createSessionCredential,fetch:e.driver.fetch,input:e.input});if(!i.ok)throw Error(`Voucher POST failed with status ${i.status}`)}async function eR(e){let t=new URL(e.input.toString()),n=zL(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=ij(r).find(FL);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 tR(e){let t=await eR(e);return{...t,credential:await e.createSessionCredential(t.challenge,{})}}function nR(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:Pj(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:hF(t)}}function rR(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function iR(e){if(!rR(e))return`received mismatched payment-close-ready frame`;let t=sF(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 aR(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!rR(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!LI({challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:BigInt(r),receipt:i}))return`received mismatched payment-close receipt frame`}async function oR(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=nR({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=kL(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===OL.CONNECTING||o.readyState===OL.OPEN)&&o.close(3008,t)};return o.addEventListener(`close`,t=>{s.socket=null,s.expectedCloseAmount=null,e.rejectReceipt(Error(`WebSocket closed before the payment flow completed.`)),e.rejectCloseReady(Error(`WebSocket closed before the payment flow completed.`)),c.emit(`close`,{code:t.code??1e3,reason:t.reason??``,type:`close`,wasClean:!0})}),o.addEventListener(`error`,()=>{c.emit(`error`,{type:`error`})}),o.addEventListener(`message`,async t=>{let n=typeof t.data==`string`?t.data:void 0;n&&await cR({driver:e,failSocketFlow:l,managedEmit:c.emit,message:n,rawSocket:o,socketState:s})}),r?.signal?.addEventListener(`abort`,()=>{e.rejectReceipt(Error(`WebSocket payment flow aborted.`)),e.rejectCloseReady(Error(`WebSocket payment flow aborted.`)),o.close()},{once:!0}),await sR(o,c.emit,a),o.send(SF(n)),await e.waitForReceipt(),c.socket}function sR(e,t,n){return new Promise((r,i)=>{let a=()=>{e.removeEventListener(`error`,o),t(`open`,{type:`open`}),r()},o=()=>{e.removeEventListener(`open`,a),i(Error(`WebSocket connection to ${n} failed to open.`))};e.addEventListener(`open`,a,{once:!0}),e.addEventListener(`error`,o,{once:!0})})}async function cR(e){let t=wF(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`:lR(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 uR(e,t.data);return;case`payment-receipt`:dR(e,t.data);return}}function lR(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=iR({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 uR(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 NL({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:n,event:t,expectedChannelId:e.socketState.channelId,getChannel:e.driver.getChannel,input:e.driver.httpUrl,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(SF(i))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function dR(e,t){let n=aR({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)}let fR=new WeakMap;async function pR(e,t){let n=fR.get(e)??new Map;fR.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 mR(e,t){try{return t?.channelId.toLowerCase()===e.channelId.toLowerCase()&&BigInt(t.acceptedCumulative)===e.cumulativeAmount}catch{return!1}}function hR(e,t,n){try{let r=e.response?.headers.get(Q.paymentReceipt);if(r){let e=vF(r);if(e.challengeId===t.id&&mR(n,e))return!0}}catch{}return e.challenges?.some(e=>FL(e)?mR(n,IL(e)):!1)??!1}function gR(e={}){let{account:t,allowCustomEscrow:n=!1,autoSwap:r,channelStore:i,decimals:a=6,escrow:o,getClient:s,maxDeposit:c,topUpAmount:l,onChannelUpdate:u,resolveAccount:d}=e,f=AN({chain:uE,getClient:s,rpcUrl:PN}),p=EN({account:t}),m=c===void 0?void 0:Ay(c,a),h=l===void 0?void 0:Ay(l,a),g=i??lI(),_={store:g,notifyUpdate:e=>u?.(e)},v=async(e,t,n)=>{let r=p(e.client,t),i=t?.action?t.descriptor:n?.descriptor??fL({context:t,snapshot:e.snapshot})?.descriptor;return await d?.({account:r,chainId:e.chainId,operation:{kind:`authorizePaymentChannel`,...i?{authority:AF(i)}:{}}})??r},y=async(e,t,n)=>gL({account:await v(e,t,n),entry:n,context:t,decimals:a,maxDeposit:m,resolved:e}),b=TN(JN,{canHandleChallenge:({challenge:e})=>FL(e),context:QI,async createCredential(e){let{challenge:t,context:i}=e,a=await lL({allowCustomEscrow:n,challenge:t,escrowOverride:o,getClient:f}),s=IM(e),c=()=>{};try{let e=!$I(i)&&i?.descriptor===void 0;e&&(c=await pR(g,a.key),s&&(await g.get(a.key))?.opened&&await s.prepare());let n=await g.get(a.key),o=await y(a,i,n);if(!e&&s&&o.type===`open`){c=await pR(g,a.key);let e=await g.get(a.key);e?.channelId!==n?.channelId&&(n=e,n?.opened&&(await s.prepare(),n=await g.get(a.key)),o=await y(a,i,n))}let l,u=s&&o.type===`open`?{store:{get:e=>g.get(e),async set(e){l=e},delete:e=>g.delete(e)},notifyUpdate(){}}:_,d=await tI(t,await _L(o,u,DP(i?.autoSwap??r,TP)),a.chainId,o.account);if(s&&l){let e=l;s.settle=async n=>{let r=n.status===`accepted`||hR(n,t,e);if(!r&&n.status===`pending`)return!1;try{if(r){let t=await g.get(a.key);(!t?.opened||t.channelId.toLowerCase()!==e.channelId.toLowerCase())&&(await g.set(e),_.notifyUpdate(e))}return!0}finally{c()}}}else c();return d}catch(e){throw c(),e}}}),x=async({challenge:e,channel:t,deposit:n,fetch:r,input:i,requiredCumulative:a})=>{let o=t.deposit>n?t.deposit:n,s=MI({deposit:o,maxDeposit:m,requiredCumulative:a,suggestedDeposit:e.request.suggestedDeposit===void 0?void 0:BigInt(e.request.suggestedDeposit),topUpAmount:h});s>0n&&await VL({additionalDeposit:s,challenge:e,channel:t,channelId:t.channelId,createSessionCredential:(e,t)=>b.createCredential({challenge:e,context:t}),fetch:r,input:i});let c=o+s;if(c===t.deposit)return;let l=await g.get(cI(t)),u=l?.channelId.toLowerCase()===t.channelId.toLowerCase()?l:t,d={...u,deposit:u.deposit>c?u.deposit:c};await g.set(d),_.notifyUpdate(d)};return OM(b,async({challenge:e,context:t,fetch:r,input:i})=>{if(!FL(e))return;let a=t===void 0?void 0:QI.parse(t);if($I(a))return;let s=await lL({allowCustomEscrow:n,challenge:e,escrowOverride:o,getClient:f}),c=await g.get(s.key);if(!c?.opened)return;let l=s.snapshot?.channelId.toLowerCase()===c.channelId.toLowerCase()?s.snapshot:void 0,u=c.cumulativeAmount+hF(e),d=l?BigInt(l.requiredCumulative):u,p=d>u?d:u,m=l?BigInt(l.deposit):c.deposit,h=m>c.deposit?m:c.deposit;p<=h&&h===c.deposit||!hL(await v(s,a,c),c.descriptor)||await x({challenge:e,channel:c,deposit:h,fetch:r,input:i,requiredCumulative:p})}),NM(b,async({challenge:e,credential:t,fetch:r,headers:i,input:a,refetch:s,response:c,signal:l})=>{if(!FL(e))return c;if(!yF(c))return mF(Pj(t).payload).action===`open`&&i.get(`accept`)?.toLowerCase().includes(`text/event-stream`)?await s?.()??c:c;let u=(await lL({allowCustomEscrow:n,challenge:e,escrowOverride:o,getClient:f})).key,d=await g.get(u),p={assertVoucherWithinLocalLimit:e=>NI(e,m),createSessionCredential:(e,t)=>b.createCredential({challenge:e,context:t}),fetch:r,getChannel:()=>d??null,async topUpIfNeeded({deposit:t,requiredCumulative:n}){d&&await x({challenge:e,channel:d,deposit:d.deposit>t?d.deposit:t,fetch:r,input:a,requiredCumulative:n})}};return QL({onNeedVoucher:t=>$L({challenge:e,driver:p,input:a},t),onReceipt(){},response:c,signal:l})})}let _R=new WeakMap;function vR(e,t){_R.set(e,t)}function yR(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 bR(e){let t=yR(`close-ready`),n=yR(`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 xR(e){return e.method===OA.tempo&&e.intent===kA.charge}function SR(e){if(!xR(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function CR(e,t,n){if(!n)return t;let r={...WM(e instanceof Request?e.headers:void 0),...WM(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===Q.paymentSession.toLowerCase())?t:{...t,headers:{...r,[Q.paymentSession]:n}}}function wR(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:Ay(e.maxDeposit,t),topUpAmount:e.topUpAmount===void 0?null:Ay(e.topUpAmount,t),WebSocket:n}}function TR(e){let t=e.allowCustomEscrow??!1,n=wR(e),r=AN({chain:uE,getClient:e.client?()=>e.client:e.getClient,rpcUrl:PN}),i=EN({account:e.account}),a=zI(),o=bR({getSocketSession:()=>a.socketSession}),s=e.channelStore??lI(),c=new Set,l;async function u(e){let t=await s.get(e);if(t?.opened&&!c.has(t.channelId))return t}let d={async get(e){let t=await u(e);return t&&l&&(l.seenExisting.add(e),!l.committed&&!l.created.has(e)&&(l.resumed??=t)),t},async set(e){let t=cI(e);e.opened&&c.delete(e.channelId),l?.trackCreates&&!l.seenExisting.has(t)&&l.created.set(t,e),await s.set(e)},delete:e=>s.delete(e)};async function f(e){let t=cI(e);c.add(e.channelId),l?.seenExisting.delete(t),l?.resumed===e&&(l.resumed=void 0),await Promise.resolve(s.delete(t)).catch(()=>void 0)}async function p(){let e=l;if(e?.created.size){for(let[t,n]of e.created)c.add(n.channelId),await Promise.resolve(s.delete(t)).catch(()=>void 0);e.created.clear(),await ce(e.committed??e.previous)}}function m(e){let t=MA(e.request.methodDetails,AA.sessionSnapshot);if(typeof t?.channelId!=`string`)return!1;let n=l;if(!n?.created.size||!a.channel)return!1;for(let[e,r]of n.created)if(r.channelId.toLowerCase()===t.channelId.toLowerCase()&&a.channel.channelId.toLowerCase()===t.channelId.toLowerCase())return n.created.delete(e),n.committed=WI({channel:a.channel,spent:a.spent,state:a.state}),!0;return!1}function h(e){return SI(a,e)}function g(){let e=a.state.status===`active`?a.state:l?.committed?.state??l?.previous.state;return e?.status===`active`?e.units:0}function _(e){let t=l,n=t?.committed?.channel?.entry??t?.resumed;!t||n?.channelId.toLowerCase()!==e.channelId.toLowerCase()||e.deposit<=n.deposit||(t.resumed=void 0,t.committed=WI({channel:a.channel,spent:a.spent,state:a.state}))}let v=gR({account:e.account,allowCustomEscrow:t,autoSwap:e.autoSwap,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount,escrow:e.escrow,decimals:n.decimals,maxDeposit:e.maxDeposit,topUpAmount:e.topUpAmount,channelStore:d,onChannelUpdate(e){e.channelId!==a.channel?.channelId&&(a.spent=0n),a.channel=e,a.lastChallenge&&h({type:`activated`,challengeId:a.lastChallenge.id,entry:e,spent:a.spent.toString(),units:g()}),_(e)}});PM(v);let y=IP({account:e.account,getClient:e.client?()=>e.client:e.getClient}),b=HM({fetch:n.fetch,methods:[v],onChallenge:async(e,t)=>{if(!PL(e))return;let n=l,r=n&&n.challengesReceived>0&&e.id===a.lastChallenge?.id,i=r&&YA(e)===YA(a.lastChallenge);n&&n.challengesReceived++,!i&&(m(e)||(n?.created.size?await p():r&&await ce(n.committed??n.previous)),a.lastChallenge=e,h({type:`challengeReceived`,challengeId:e.id}))}});function x(e,t){return v.createCredential({challenge:e,context:t})}function S(e){BI({maxVoucherCumulative:n.maxVoucherCumulative,receipt:e,runtime:a})}function C(e=a.state.status===`active`?a.state.units:0){!a.channel||!a.lastChallenge||a.state.status!==`active`&&a.state.status!==`withdrawable`&&a.state.status!==`closeRequested`&&h({type:`activated`,challengeId:a.lastChallenge.id,entry:a.channel,spent:a.spent.toString(),units:e})}async function w(t){let n=t.headers.get(Q.paymentSessionSnapshot);if(!n)return;let o=vI(n),s=await r({chainId:o.chainId}),c=i(s),{entry:l,spent:u}=await mL({account:await e.resolveAccount?.({account:c,chainId:o.chainId,operation:{authority:AF(o.descriptor),kind:`authorizePaymentChannel`}})??c,client:s,snapshot:o});return ie(l.cumulativeAmount),await Promise.resolve(d.set(l)).catch(()=>void 0),a.channel=l,a.spent=u,l}async function T(t,r){if(!e.bootstrap||a.channel?.opened)return;let i=t instanceof Request?t.headers:void 0,{body:o,method:s,...c}=r??{},l=t instanceof Request?t.url:t,u={...c,method:`HEAD`,headers:{...WM(i),...WM(r?.headers),[Q.acceptPayment]:`${OA.tempo}/${kA.charge}`}};try{let e=await n.fetch(l,u);if(e.status!==402)return await w(e);let t=ij(e).find(xR);if(!t||!SR(t))return;let r=await y.createCredential({challenge:t,context:{}}),i=await n.fetch(l,{...u,headers:{...WM(u.headers),[Q.authorization]:r}});return i.ok?await w(i):void 0}catch{return}}function ee(e,t){let n=a.socketSession;return HI({challengeId:e.id,channelId:t,closeReadyReceipt:n?.closeReadyReceipt,cumulativeAmount:a.channel?.channelId===t?a.channel.cumulativeAmount:0n,deliveredChunks:n?.deliveredChunks,socketChallengeId:n?.challenge.id,socketChannelId:n?.channelId,spent:a.spent,tickCost:n?.tickCost})}function te(e,t){let n=IL(t);if(!n)return;if(jF({...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 ne(e,t){let n=te(e.channel,t);if(!n)return;let{acceptedCumulative:r,spent:i}=n;if(a.spent>r)throw Error(`close snapshot accepted cumulative is below locally confirmed spend`);return i>a.spent&&(a.spent=i),n}function re(e,t=e.challenge,n=!1){let r=(n?ne(e,t):te(e.channel,t))?.acceptedCumulative??ee(t,e.channelId);if(r>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return ie(r),r.toString()}function ie(e){DI({cumulativeAmount:e,maxVoucherCumulative:n.maxVoucherCumulative})}async function ae(e){let{knownDeposit:t,...r}=e,i=await VL({...r,channel:a.channel,createSessionCredential:x,fetch:n.fetch});S(i);let o=ML({additionalDeposit:e.additionalDeposit,channel:a.channel,channelId:e.channelId,challengeId:a.lastChallenge?.id,currentState:a.state,knownDeposit:t,receipt:i,spent:a.spent});return o?.channel&&a.lastChallenge&&(await d.set(o.channel),h({type:`activated`,challengeId:a.lastChallenge.id,entry:o.channel,spent:a.spent.toString(),units:g()}),_(o.channel)),i}async function oe(e){let t=a.channel?.channelId===e.channelId?a.channel.deposit:0n,r=t>e.deposit?t:e.deposit,i=MI({deposit:r,maxDeposit:n.maxVoucherCumulative,requiredCumulative:e.requiredCumulative,suggestedDeposit:e.challenge.request.suggestedDeposit===void 0?void 0:BigInt(e.challenge.request.suggestedDeposit),topUpAmount:n.topUpAmount});i!==0n&&await ae({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:i,knownDeposit:r})}async function se(e,t){let n=UI({channel:a.channel,channelId:e,challengeId:a.lastChallenge?.id,cumulativeAmount:t,spent:a.spent,state:a.state});n&&a.channel&&(h({type:`activated`,challengeId:n.challengeId,entry:a.channel,spent:n.spent,units:n.units}),await s.set(a.channel))}async function ce(e){let t=GI(e,a.channel);a.channel=t.channel,a.spent=t.spent,a.state=t.state,a.channel?.opened&&await s.set(a.channel)}function le(e){let t=e.headers.get(Q.paymentReceipt),n=t?vF(t):null;return S(n),Object.assign(e,{receipt:n,challenge:a.lastChallenge,channelId:a.channel?.channelId??null,cumulative:a.channel?.cumulativeAmount??0n})}async function ue(e,t){if(l)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);a.lastUrl=e;let r=WI({channel:a.channel,spent:a.spent,state:a.state}),i={challengesReceived:0,committed:void 0,created:new Map,previous:r,seenExisting:new Set,resumed:void 0,trackCreates:!1};l=i;let o=a.channel?.opened?a.channel.channelId:void 0;try{await T(e,t),i.trackCreates=!0;let s=CR(e,t,o),c=!r.channel?.opened;async function l(){let n=i.resumed;return!c||!n?!1:(c=!1,await f(n),s=CR(e,t,void 0),!0)}for(;;){let t;try{t=await b(e,s)}catch(e){if(i.created.size?await p():await ce(i.committed??r),await l())continue;throw e}let o=le(t),c=!1;if(o.status===402){let t=await UL({input:e,init:s,response:o,createSessionCredential:x,fetch:n.fetch,getChannel:()=>a.channel,restoreCumulative:se,setChallenge(e){a.lastChallenge=e},topUpIfNeeded:oe});t&&(c=!0,o=le(t))}if(!c&&!o.ok&&!o.receipt){if(i.created.size?await p():await ce(i.committed??r),await l())continue;return o}return o}}finally{l=void 0}}async function de(e){let t=await GL({createSessionCredential:x,fetch:n.fetch,getMinimumSpent:()=>a.spent,lastUrl:a.lastUrl,resolveSignedCloseAmount:t=>re(e,t,!0),signedCloseAmount:re(e),setChallenge(e){a.lastChallenge=e},target:e});return t&&(C(),h({type:`closeStarted`}),h({type:`closed`,receipt:t})),t}let fe={createSessionCredential:x,doFetch:ue,fetch:n.fetch,getChannel:()=>a.channel,getChallenge:()=>a.lastChallenge,assertVoucherWithinLocalLimit:ie,acceptReceipt(e){S(e)},topUpIfNeeded:oe},pe={get channelId(){return a.channel?.channelId},get cumulative(){return a.channel?.cumulativeAmount??0n},get opened(){return a.channel?.opened??!1},get state(){return a.state},fetch:ue,async topUp(e){let t=jL({amount:e,assertVoucherWithinLocalLimit:ie,channel:a.channel,decimals:n.decimals,lastChallenge:a.lastChallenge,lastUrl:a.lastUrl});return ae({additionalDeposit:t.additionalDeposit,challenge:t.challenge,channelId:t.channelId,input:t.input})},async sse(e,t){return KL(e,t,fe)},async ws(e,t){if(!n.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let r=zL(e),i=t?.signal?{signal:t.signal}:void 0;await T(r,i);let s=a.channel?.opened?a.channel.channelId:void 0,{challenge:c,credential:l,httpUrl:u,wsUrl:d}=await tR({async createSessionCredential(e,t){return a.lastChallenge=e,await AM(v,{challenge:e,context:t,fetch:n.fetch,input:r}),x(e,t)},fetch:n.fetch,input:e,onProbeUrl(e){a.lastUrl=e.toString()},probeInit:CR(r,i,s),signal:t?.signal});return a.lastChallenge=c,oR({challenge:c,credential:l,httpUrl:u,WebSocket:n.WebSocket,wsUrl:d,options:t,createSessionCredential:x,getChannel:()=>a.channel,setSocketSession(e){a.socketSession=e},async refreshChallenge(){let e=await eR({fetch:n.fetch,input:u,probeInit:CR(u,i,a.channel?.opened?a.channel.channelId:void 0),signal:t?.signal});return a.lastChallenge=e.challenge,e.challenge},assertVoucherWithinLocalLimit:ie,acceptReceipt:S,rejectCloseReady:o.rejectCloseReady,rejectReceipt:o.rejectReceipt,settleCloseReady:o.settleCloseReady,settleReceipt:o.settleReceipt,topUpIfNeeded:oe,waitForReceipt:o.waitForReceipt})},async close(){let e=a.socketSession,t=PI({channel:a.channel,currentSocket:e,lastChallenge:a.lastChallenge});if(!t)return;let n=e?.socket;if(e&&n?.readyState===OL.OPEN){let r=await KI({activeSocket:n,createSessionCredential:x,currentSocket:e,spent:a.spent,target:t,waitForCloseReady:o.waitForCloseReady,waitForReceipt:o.waitForReceipt});return C(),h({type:`closeStarted`}),h({type:`closed`,receipt:r}),r}return de(t)}};return vR(pe,{consumeSseResponse(e,t,n){return qL(e,t,n,fe)},rehydrate({channel:e,challenge:t,input:n,spent:r}){if(!e.opened)throw Error(`Cannot restore a closed session channel.`);if(!PL(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.`);ie(e.cumulativeAmount);let i=te(e,t),o=i&&i.spent>r?i.spent:r;a.lastUrl=n,a.lastChallenge=t,a.channel=e,a.spent=o,h({type:`challengeReceived`,challengeId:t.id}),h({type:`activated`,challengeId:t.id,entry:e,spent:o.toString(),units:0})}}),pe}(function(e){e.serializeSnapshot=_I,e.deserializeSnapshot=vI})(TR||={});let ER=Object.assign(gR,{manager:TR}),DR=Object.assign(OF,{method:iF});function OR(e={}){return[IP(e),ER(e)]}(function(e){e.charge=IP,e.common=OR,e.session=ER,e.sessionLegacy=DR,e.subscription=_P})(OR||={});function kR(){let e=new Uint8Array(64);return crypto.getRandomValues(e),Object.freeze({created:Math.floor(Date.now()/1e3),nonce:ax(e,{pad:!1,url:!0})})}function AR(...e){return{protocol:`composed`,async sign(t,n=kR()){for(let r of e)t=await r.sign(t,n);return t}}}function jR(e,t){return async(n,r)=>e(await t.sign(new Request(n,r)))}function MR(e){let{attestation:t,maxPaymentRetries:n,onChallenge:r,orderChallenges:i,polyfill:a=!0,acceptPaymentPolicy:o=a&&globalThis.location!==void 0?`same-origin`:`always`,transport:s=EM()}=e,c=e.fetch??globalThis.fetch,l=t?NR(c,t):c,u=e.methods.flat(),d=hj(u,e.paymentPreferences),f=GM(),p=r,m={acceptPayment:d,acceptPaymentPolicy:o,...(e.fetch||t)&&{fetch:l},eventDispatcher:f,...n!==void 0&&{maxPaymentRetries:n},...p&&{onChallenge:p},...i&&{orderChallenges:i},methods:u,transport:s},h=HM(m);a&&UM(m);function g(e){return f.on(`challenge.received`,e)}function _(e){return f.on(`credential.created`,e)}function v(e){return f.on(`payment.failed`,e)}function y(e){return f.on(`payment.response`,e)}async function b(e,t){let n=zR(e),r=await s.getChallenges(e,t?.request),a=Object.freeze(r.map(e=>BR(e))),o=UR(d.entries,t?.acceptPayment),c,l;try{let e=(await WR(vj(r,u,o),t?.orderChallenges??i))[0];if(!e)throw Error(`No method found for challenges: ${r.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${u.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let d=e.challenge;c=a[e.index],l=e.method,c.expires&&IA(c.expires,c.id);let p=c,m=l,h=PR(async e=>{try{p.expires&&IA(p.expires,p.id);let t=PR(t=>GR(p,m,t??e)),i=await f.emit(`challenge.received`,FR({challenge:p,challenges:r,createCredential:t,method:m,response:n}))??await t();return hN(i),await f.emit(`credential.created`,IR({challenge:p,credential:i,method:m,response:n})),i}catch(e){throw await f.emit(`payment.failed`,LR({challenge:p,challenges:r,error:e,method:m,response:n})),e}});return Object.freeze({challenge:p,challenges:a,createCredential:h,method:RR(m),setCredential(e,t){return hN(t),s.setCredential(e,t,{challenge:d})}})}catch(e){throw await f.emit(`payment.failed`,LR({challenge:c,challenges:r,error:e,method:l,response:n})),e}}return{fetch:h,rawFetch:c,methods:u,transport:s,on:f.on,onChallengeReceived:g,onCredentialCreated:_,onPaymentFailed:v,onPaymentResponse:y,preparePayment:b,async createCredential(e,t,n){return(await b(e,n)).createCredential(t)}}}function NR(e,t){let n=Object.values(t);if(n.length===0)throw TypeError(`Mppx client attestation must configure at least one signer.`);return jR(e,AR(...n))}function PR(e){let t;return n=>(t??=e(n),t)}function FR(e){return Object.freeze({challenge:BR(e.challenge),challenges:e.challenges.map(e=>BR(e)),createCredential:e.createCredential,method:RR(e.method),response:zR(e.response)})}function IR(e){return Object.freeze({challenge:BR(e.challenge),credential:e.credential,method:RR(e.method),response:zR(e.response)})}function LR(e){return Object.freeze({...e.challenge?{challenge:BR(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>BR(e))}:{},error:e.error,...e.method?{method:RR(e.method)}:{},response:zR(e.response)})}function RR(e){return HR(Object.assign({},e))}function zR(e){if(e instanceof Response)try{return e.clone()}catch{return new Response(null,{headers:e.headers,status:e.status,statusText:e.statusText})}return BR(e)}function BR(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 VR(t)}catch{return HR(e)}}function VR(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))VR(t);return e}function HR(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function UR(e,t){return t?typeof t==`string`?gj(t):t:e}async function WR(e,t){return t?t(e):e}async function GR(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})}k();let KR={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},qR=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function JR(e){return{add:t=>rz({...t,store:e}),authorize:t=>XR({...t,store:e}),clear:()=>sz({store:e}),get:t=>tz({...t,store:e}),prepareAuthorization:t=>YR({...t,keystores:e.keystores}),getStatus:t=>$R({...t,store:e}),list:t=>Cz({...t,store:e}),remove:t=>oz({...t,store:e}),select:t=>ez({...t,store:e}),updateAuthorization:t=>az({...t,store:e})}}async function YR(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:ZC({address:(()=>{switch(e){case`secp256k1`:return aT(s);case`p256`:return iT(s);case`webAuthn`:throw new Qx({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:ZC({address:t??F_(x_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??JE,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new Qx({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=ZC({address:F_(C_(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 XR(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await YR({...r,chainId:r.chainId??n,keystores:i.keystores}),o=ew(a.keyAuthorization),s=await t.sign({hash:o}),c=ZC(a.keyAuthorization,{signature:uC(s)});return rz({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),iw(c)}async function ZR(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=Cz({account:t,chainId:r,store:a});for(let e of s)if(!xz(e.expiry,o)&&dz(e,i)&&!(n&&!lz(e,{calls:n}))&&await bz(e,a))return!0;return!1}function QR(e){return uz(e.parameters.scopes,{calls:e.calls})}async function $R(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=Cz({account:n,accessKey:t,chainId:i,store:o}).find(e=>lz(e,{calls:r}));if(c){if(xz(c.expiry,s))return KR.expired;if(c.keyAuthorization){let e=await Sz(a,{accessKey:c.address,account:n,now:s});return e===KR.published&&iz({accessKey:c.address,account:n,chainId:i,store:o}),e===KR.published?KR.published:KR.pending}return await Sz(a,{accessKey:c.address,account:n,now:s})}return t?await Sz(a,{accessKey:t,account:n,now:s}):KR.missing}async function ez(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=Cz({account:t,chainId:r,store:i});for(let e of o){if(!lz(e,{calls:n}))continue;if(xz(e.expiry,a)){await oz({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await bz(e,i);if(t)return t}}async function tz(e){let{accessKey:t,account:n,calls:r,chainId:i}=e,{store:a}=e,o=e.now??Date.now()/1e3,s=Cz({account:n,accessKey:t,chainId:i,store:a})[0];if(s&&!(`calls`in e&&!lz(s,{calls:r}))){if(xz(s.expiry,o)){await oz({accessKey:s.address,account:s.access,chainId:s.chainId,store:a});return}return await bz(s,a)}}function nz(e){return RE({source:{get(t){return Cz({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){iz({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){az({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function rz(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=>!Tz(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function iz(e){let{store:t,...n}=e;wz({...n,patch:{keyAuthorization:void 0},store:t})}function az(e){let{authorization:t,store:n,...r}=e;wz({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function oz(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!Tz(e,n))}))}function sz(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function cz(e){return e instanceof O&&e.walk(e=>{let t=e.data?.errorName;return!!t&&qR.has(t)})?!0:e instanceof Error&&qR.has(HE(e).errorName)}function lz(e,t){return uz(e.scopes,t)}function uz(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(!vz(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return!e.recipients||e.recipients.length===0;let a=hz(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 L_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function dz(e,t){return!(!fz(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!_z(e.limits,t.reuse?.minLimits))}function fz(e,t){return!t||!e||t.every(t=>e.some(e=>pz(e,t)))}function pz(e,t){return!vz(e)||!vz(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!mz(e.selector,t.selector)?!1:gz(e.recipients,t.recipients)}function mz(e,t){if(!e)return!0;if(!t)return!1;let n=hz(e),r=hz(t);return!!n&&n===r}function hz(e){try{return(e.startsWith(`0x`)&&e.length===10?e:Wy(e)).toLowerCase()}catch{return}}function gz(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function _z(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 vz(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!L_(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=>!L_(e))))}let yz=new WeakMap;async function bz(e,t){let n=nz(t);if(`keyPair`in e&&e.keyPair)return sT(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return aT(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return iT(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=yz.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),yz.set(e,i));try{return await i}catch(n){yz.delete(e),qE(n)&&oz({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function xz(e,t){return typeof e==`number`&&e<t}async function Sz(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await MT(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?KR.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?KR.expired:KR.published}catch(e){if(cz(e))return KR.missing;throw e}}function Cz(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>Tz(e,n))}function wz(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!Tz(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 Tz(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 Ez(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 Dz(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 rS({message:`Account \"${t}\" not found.`}):new aS({message:`No active account.`});return Oz(s,{signable:n})}function Oz(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 rS({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return aT(e.privateKey);case`p256`:return iT(e.privateKey);case`webCrypto`:return sT(e.keyPair);case`webAuthn`:return oT(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return rT(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new rS({message:`Unknown key type.`})}}let kz=new Map;function Az(e,t){let n=Nz(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>Fz(e,t),onResponse:t=>Iz(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 Lz(e),()=>{n.attachments.delete(r),Pz(e)}}function jz(e,t){let n=Nz(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}),Lz(e)})}function Mz(e){return new URL(e).host}function Nz(e){let t=Mz(e),n=kz.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:yS(),requestQueue:[],synced:!1};return kz.set(t,r),r}function Pz(e){let t=Nz(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function Fz(e,t){if(t.length===0)return;let n=Nz(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 nS);Lz(e,{force:!0})}}function Iz(e,t){let n=Nz(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(_S(t.error)):r.resolve(t.result),Lz(e,{force:!0}))}function Lz(e,t={}){let n=Nz(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,Pz(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:[Rz(a)]}))}function Rz(e){return{request:e.request,status:e.status}}z();function zz(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=Az(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=gS({async request(e){return e.method===`eth_chainId`?I(r.getState().chainId):jz(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:CA});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:[PD(hA.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[PD(bA.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[PD(xA.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:Kb(s)}}}})}let Bz=new Map,Vz=new WeakMap;function Hz(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return Gz(r);if(r?.url)return Gz(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 Bz;let e=Vz.get(d);return e||(e=new Map,Vz.set(d,e)),e})(),p=f.get(u);if(!p){let t=n.find(e=>e.id===l)??n[0],r=o?.[l]??Zb(),a=i?Uz(i,r,e===void 0?void 0:t.id):r;p=Eh({chain:t,transport:s?Kz(a,s,c):a,pollingInterval:1e3}),f.set(u,p)}return p}function Uz(e,t,n){return r=>{let i=t(r);return{...i,async request({method:t,params:r}){if(n!==void 0&&!Wz(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 Wz(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 Gz(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function Kz(e,t,n){return r=>{let i=e(r),a=Zb(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=Qw(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 qz=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function Jz(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 Yz({account:o,address:t,chainId:r,client:i,store:a})}function Yz(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{let n=await Zd(i,{account:t,...e,parameters:[],type:`tempo`});return await Zz(i,n)}catch(e){throw Qz(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{let o=await Zd(i,{account:t,...e,type:`tempo`});return Xz({account:t,address:n,chainId:r,client:i,request:o,store:a})}catch(e){throw Qz(e,{account:t,address:n,chainId:r,store:a}),e}}}}function Xz(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 Qz(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 Qz(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 Qz(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function Zz(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 Qz(e,t){$z(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function $z(e){if(!(e instanceof Error))return!1;let t=HE(e);if(qz.has(t.errorName))return!0;let n=eB(e);return[...qz].some(e=>n.includes(e))}function eB(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:``,eB(r)].join(`\n`)}tf();function tB(e){if(typeof e==`string`&&L_(e))return e}function nB(e,t){return ef(e,t)}function rB(e){return ef(e,`0x0000000000000000000000000000000000000000`)}function iB(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(iB.cache.get(n))return iB.cache.get(n);let r=e().finally(()=>iB.cache.delete(n));return iB.cache.set(n,r),r}iB.cache=new Map;function aB(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function oB(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=aB(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 sB;function cB(){return sB||=oB(`keyval-store`,`keyval`),sB}function lB(e,t=cB()){return t(`readonly`,t=>aB(t.get(e)))}function uB(e,t,n=cB()){return n(`readwrite`,n=>(n.put(t,e),aB(n.transaction)))}function dB(e,t=cB()){return t(`readwrite`,t=>(t.delete(e),aB(t.transaction)))}let fB=Symbol.for(`accounts.storage.supportsStructuredClone`);function pB(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 mB(e)?hB(r):r}function mB(e){return e[fB]===!0}function hB(e){return Object.assign(e,{[fB]:!0})}function gB(e={}){let t=typeof indexedDB<`u`?oB(`tempo`,`store`):void 0;return hB(pB({async getItem(e){let n=await lB(e,t);return n===null?null:n},async setItem(e,n){await uB(e,n,t)},async removeItem(e){await dB(e,t)}},e))}function _B(e={}){let t=new Map;return hB(pB({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let vB=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 yB(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 bB=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return bB(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return bB(t)(e)}}}},xB=(e,t)=>(n,r,i)=>{let a={storage:yB(()=>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 bB(u.getItem.bind(u))(a.name).then(e=>{if(e){if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state]}return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},SB=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},CB=(e=>e?SB(e):SB),wB=Symbol.for(`accounts.storage.supportsStructuredClone`);function TB(e){let{chainId:t,keystores:n=JE,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?gB({key:`tempo`}):_B({key:`tempo`})}=e,s=CB(vB(xB(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>DB(e,t,{schema:a}),name:`store`,partialize:e=>EB(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:MB(o)}),storage:o,version:0}))),c=s;return c.accessKeys=JR({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function EB(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=>AB(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function DB(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(kB):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>MD(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:OB(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function OB(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 kB(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function AB(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&jB(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function jB(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function MB(e){return e[wB]===!0}async function NB(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let PB=new Map;async function FB(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=PB.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 PB.set(r,a),a.then(e=>{e.length===0&&PB.delete(r)}),a}async function IB(e){let{symbol:t,...n}=e,r=await FB(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function LB(e,t){let n=MD(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new iS({message:`Unsupported method \"${t?.method}\".`}):new tS(-32602,`Invalid params: ${RB(n.error.issues)}`)}return{...t,_decoded:n.data}}function RB(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?RB([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}z(),If();let zB=new Set;function BB(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function VB(e={}){let{adapter:t=zz(),chains:n=[uE,dE,IE],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?gB():_B()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Zb(`${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=TB({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={})=>Dz({...e,store:f}),m;function h(e={}){let{chainId:t,feePayer:r}=e;return Hz(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??JE);let y=hS();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`,I(e))),f.subscribe(e=>e.accounts.length>0,e=>{e?y.emit(`connect`,{chainId:I(f.getState().chainId)}):y.emit(`disconnect`,new aS)});function b(){if(f.getState().accounts.length===0)throw new aS({message:`No accounts connected.`})}function x(){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 S(e){throw new iS({message:`\\`${e}\\` not supported by adapter.`})}async function C(e={}){return g.getAccount||S(`getAccount`),await g.getAccount(e)}function w(e){let t=h({chainId:e.chainId,feePayer:e.feePayer});return Wb({account:e.account,chain:t.chain,transport:e.transport??Kb({request:t.request})})}function T(e,t){return t.type===`json-rpc`&&e!==void 0?{feePayer:e}:e?{feePayer:!0}:{}}async function ee(e){let{feePayer:t,...n}=e,r=await C({address:e.from}),i=w({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 Zd(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function te(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 Jz({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 ee(e);return r.account.type===`json-rpc`?await zb(t,n):await r.account.signTransaction(n)}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 Jz({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 C({address:e.from});return await dh(w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),{...n,...T(t,r.account)})}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 Jz({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 C({address:e.from}),i=w({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:[PD(qk,a)]});let o=await xb(i,{account:r.account,...a});return PD(Hk,o)}async function ie(e){let t=await C({address:e.address}),n=w({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:dg({raw:e.data})})}async function ae(e){let t=JSON.parse(e.data),n=await C({address:e.address}),r=w({account:n.account,transport:n.transport});return n.account.type===`json-rpc`?await r.signTypedData({account:n.account,...t}):await n.account.sign({hash:bg(t)})}async function oe(e){let t=await C(),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 se(e,Number(n)),i=await w({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[PD(sA.parameters,r.parameters)]});return await le({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function se(e,t){let n=e.chainId??t??h().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await YR({...e,chainId:n});return{parameters:ce(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!v&&!BB())return{parameters:e};let{key:r,keyAuthorization:i}=await YR({...e,chainId:n,keystores:l});if(!r)throw new $x({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...ce(e,i),publicKey:r.publicKey}}}function ce(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function le(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:QC(r),...o})}async function ue(e){let t=await C({address:e.address}),n=w({account:t.account,transport:t.transport});if(t.account.type===`json-rpc`)await n.request({method:`wallet_revokeAccessKey`,params:[e]});else try{await IT(h(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!cz(e))throw e}f.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:f.getState().chainId})}async function de(e){let t=await C({address:e.address}),n=Number(e.chainId??h().chain.id);if(t.account.type===`json-rpc`){await w({account:t.account,chainId:n,transport:t.transport}).request({method:`wallet_updateAccessKey`,params:[PD(uA.parameters,e)]});return}let r=e.limits.map(t=>LT.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await xb(h({chainId:n}),{account:t.account,calls:r})}async function fe(e,t){if(_.signTransaction)return await _.signTransaction(e,t);if(g.getAccount)return await te(e);S(`signTransaction`)}async function pe(e,t){if(_.sendTransaction)return await _.sendTransaction(e,t);if(g.getAccount)return await ne(e);S(`sendTransaction`)}async function me(e,t){if(_.sendTransactionSync)return await _.sendTransactionSync(e,t);if(g.getAccount)return await re(e);S(`sendTransactionSync`)}async function he(e,t){if(_.signPersonalMessage)return await _.signPersonalMessage(e,t);if(g.getAccount)return await ie(e);S(`signPersonalMessage`)}async function ge(e,t){if(_.signTypedData)return await _.signTypedData(e,t);if(g.getAccount)return await ae(e);S(`signTypedData`)}async function _e(e,t){if(_.authorizeAccessKey)return await _.authorizeAccessKey(e,t);if(g.getAccount)return await oe(e);S(`authorizeAccessKey`)}async function ve(e,t){if(_.revokeAccessKey)return await _.revokeAccessKey(e,t);if(g.getAccount)return await ue(e);S(`revokeAccessKey`)}async function ye(e,t){if(_.updateAccessKey)return await _.updateAccessKey(e,t);if(g.getAccount)return await de(e);S(`updateAccessKey`)}function be(e){if(!g.persistAccounts)return e;let t=[...e];for(let e of f.getState().accounts)t.some(t=>nB(t.address,e.address))||t.push(e);return t}function xe(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 Se(e){let{reuse:t,...n}=e;return n}function Ce(){return typeof c==`function`?c():c}async function we(e){let t=Ce();if(!t)return;let n=Te(e.capabilities);if(!(n&&await ZR({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:f}})))return Se(t)}function Te(e){let t=f.getState();if(t.accounts.length!==0&&!(e&&`selectAccount`in e&&e.selectAccount))return e&&`credentialId`in e&&e.credentialId?t.accounts.find(t=>`credential`in t&&t.credential?.id===e.credentialId)?.address: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 Ee(e){let t=Ce();if(!t||await f.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!QR({parameters:t,calls:e.calls}))return;let n=Se(t);await _e(n,{method:`wallet_authorizeAccessKey`,params:[PD(sA.parameters,n)]})}function De(e){let{accounts:t}=f.getState();if(t.length===0)throw new aS({message:`No accounts connected.`});if(!t.some(t=>nB(t.address,e)))throw new rS({message:`Account \"${e}\" not found.`})}async function Oe(e,t={}){let n=tB(e.account.address);if(!n)return;if(De(n),t.accessKey){let r=e.operation.kind===`authorizePaymentChannel`?tB(e.operation.authority):void 0;if(r&&!nB(r,t.accessKey))throw new rS({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 rS({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 rS({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=tB(e.operation.authority);if(!r)return await f.accessKeys.select({account:n,chainId:e.chainId});if(!(rB(r)||nB(r,n)))return await f.accessKeys.get({account:n,accessKey:r,chainId:e.chainId})}function ke(e={}){let t=(()=>{if(!e.accessKey)return;let t=tB(e.accessKey);if(!t)throw new Qx({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 lS({message:`Chain ${e} not configured.`});let t=Ae.getClient({chainId:e}),r=f.getState().accounts[f.getState().activeAccount];if(!r)throw new aS({message:`No active account.`});return Object.assign(Object.create(Object.getPrototypeOf(t)),t,{account:{address:r.address,type:`json-rpc`}})},resolveAccount:e=>Oe(e,{accessKey:t})}}let Ae=Object.assign(gS({...y,async request({method:t,params:r}){return await NB(f),iB(async()=>{let i;try{i=LB(TA,{method:t,params:r})}catch(e){if(!(e instanceof iS))throw e;return await Hz(void 0,{chains:n,store:f,transports:u}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return x();case`eth_chainId`:return I(f.getState().chainId);case`eth_requestAccounts`:{let e=x();if(e.length>0)return e;let{accounts:t}=await _.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return f.setState({accounts:be(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{b();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 Ee({address:c,...a?{calls:a}:{},chainId:s}),await pe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=xe(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??Ez(a.accounts.find(e=>nB(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 Jz({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`:{b();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 fe({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_sendTransactionSync`:{b();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 Ee({address:c,...a?{calls:a}:{},chainId:s}),await me({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_signTypedData_v4`:{b();let[e,t]=i._decoded.params;return await ge({address:e,data:t},i)}case`personal_sign`:{b();let[e,t]=i._decoded.params;return await he({address:t,data:e},i)}case`wallet_sendCalls`:try{b();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=xe(t?.feePayer??(d?!0:void 0)),s=f.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await Ee({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o?{feePayer:o}:{}};if(!a){let e=F(await pe(l,{method:`eth_sendTransaction`,params:[PD(qk,l)]}),mp(I(f.getState().chainId),32),UB);return{capabilities:{sync:a},id:e}}let u=await me(l,{method:`eth_sendTransactionSync`,params:[PD(qk,l)]}),p=u.transactionHash,m=I(f.getState().chainId),h=F(p,mp(m,32),UB);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 WB(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 aS({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new Qx({message:\"`tokens` is required.\"});let s=Hz(e?.chainId,{chains:n,store:f,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([vE(s,{account:a,token:e}),yE(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:I(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(UB.slice(2)))throw Error(\"`id` not supported\");lp(e);let t=L(e,0,32),r=I(Number(L(e,32,64))),a=await Hz(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=>nB(e.address,t)))throw new rS({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(I(e.id))):n,o={};for(let e of a)o[I(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...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 we({capabilities:n,chainId:t??f.getState().chainId}),a=n?.auth??e.auth,o=a?JB(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new Qx({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new Qx({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=t??f.getState().chainId??0,c=r?await se(r,t):void 0;(o||c)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...c?{authorizeAccessKey:PD(dA.authorizeAccessKey,c.parameters)}:{}}}]});let l=o&&!g.forwardsAuth?await $B(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??gp(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:be(d),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let x=d[0]?.address;await le({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?eV(l.message):void 0);return await tV(e.identity.issuer,{audience:r,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&&QB(o,{chainId:s,message:w});let T=o&&C&&w&&y&&x?await nV(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||T||!C)?{signature:y}:{},...b===void 0?{}:{username:b},...T??p?{auth:T??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=JB(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 _e(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{b();let[e]=i._decoded.params;await ve({...e},i);return}case`wallet_updateAccessKey`:{b();let[e]=i._decoded.params;await ye({...e},i);return}case`wallet_deposit`:if(!_.deposit)throw new iS({message:\"`deposit` not supported by adapter.\"});return await _.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{b();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!_.transfer)throw new iS({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:xe(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=xe(n),d=h({chainId:l,feePayer:typeof u==`string`?u:void 0}),{address:p,decimals:m}=await(async()=>{if(L_(s)){let e=await yE(d,{token:s});return{address:s,decimals:e.decimals}}let e=await IB({chainId:d.chain.id,symbol:s});if(!e)throw new tS(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),g=Ay(t,m),v=c.accounts[c.activeAccount]?.address,y=r&&v&&r.toLowerCase()!==v.toLowerCase()?r:void 0,x={calls:[ME.call({amount:g,...y?{from:y}:{},memo:a?pp(a):void 0,to:o,token:p})],chainId:l,from:v,...u===void 0?{}:{feePayer:u}},S=await me(x,{method:`eth_sendTransactionSync`,params:[PD(qk,x)]});return{chainId:I(l),receipt:S}}case`wallet_swap`:if(b(),!_.swap)throw new iS({message:\"`swap` not supported by adapter.\"});return await _.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(b(),!_.depositZone)throw new iS({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:xe(e.feePayer)}};return await _.depositZone(t,i)}case`wallet_withdrawZone`:if(b(),!_.withdrawZone)throw new iS({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 lS({message:`Chain ${e} not configured.`});await _.switchChain?.({chainId:e}),f.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:Pf({method:t,params:r})})}},{schema:CA}),{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:Ae.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return Hz(t,{chains:n,feePayer:r,provider:m,store:f,transports:u})},getMppxParameters:ke,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,``)}`;zB.has(e)||(zB.add(e),EA({info:{icon:t.icon??HB,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:Ae}))}let je=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(je){let{mode:e=`push`,polyfill:t,...n}=je,r=t??GB(),i=Ae.getMppxParameters(),a={...n,...i,mode:e};MR({methods:[OR(a),OR.subscription(i)],polyfill:r})}return m=Ae,Ae}let HB=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,UB=g_(pp(`TEMPO_5792`));function WB(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 GB(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function KB(){return typeof document<`u`&&typeof document.cookie==`string`}function qB(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 Qx({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 JB(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:qB(e,`challenge`)}:{},...r?{verify:qB(e,`verify`)}:{},...i?{logout:qB(e,`logout`)}:{},...typeof e==`object`&&e.resources!==void 0?{resources:e.resources}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return YB(a),a}function YB(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 Qx({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new Qx({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let XB=' 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 ZB(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function QB(e,t){let{chainId:n,message:r}=t,i=t.url??(typeof e==`object`?e.challenge:qB(e,`challenge`)),a=typeof e==`object`?e.resources:void 0,o=rb(r),s=new URL(i);if(o.version!==`1`)throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a non-SIWE-v1 message.`});if(!o.nonce)throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` response is missing a \\`nonce\\`.`});if(o.domain!==s.host)throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message bound to \\`${o.domain}\\` (expected \\`${s.host}\\`).${XB}`});if(o.uri!==s.origin)throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message with \\`uri\\` \\`${o.uri}\\` (expected \\`${s.origin}\\`).${XB}`});if(o.chainId!==n)throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message bound to chainId \\`${o.chainId}\\` (expected \\`${n}\\`).`});if(a!==void 0&&!ZB(o.resources??[],a))throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` did not echo the requested SIWE resources.`})}async function $B(e,t){let n=typeof e==`object`?e.challenge:qB(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 Qx({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));if(!a.message)throw new Qx({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});return QB(e,{chainId:t,message:a.message,url:n}),{message:a.message}}function eV(e){return e.match(/^Nonce: (.+)$/m)?.[1]}async function tV(e,t){let n=await fetch(`${e.replace(/\\/+$/,``)}/token`,{body:JSON.stringify({audience:t.audience,...t.nonce?{nonce:t.nonce}:{},subject:t.subject}),headers:{\"content-type\":`application/json`},method:`POST`});if(!n.ok)throw Error(`Identity issuer \\`${e}\\` returned ${n.status}.`);let{idToken:r}=await n.json();return{email:JSON.parse(atob(r.split(`.`)[1].replace(/-/g,`+`).replace(/_/g,`/`))).email??null,idToken:r}}async function nV(e,t){let n=typeof e==`object`?e.verify:qB(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!KB(),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 $x({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 rV={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},iV={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},aV={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var oV=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let sV={accent:new oV(`accent`),background:new oV(`background`),border:new oV(`border`),foreground:new oV(`foreground`),muted:new oV(`muted`),negative:new oV(`negative`),positive:new oV(`positive`),surface:new oV(`surface`),fontFamily:new oV(`font-family`),fontSizeBase:new oV(`font-size-base`),radius:new oV(`radius`),spacingUnit:new oV(`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: ${sV.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 cV(e,t=`Authorization`){let n=new URL(location.href);n.searchParams.set(iV.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()}If();function lV(e){let t=document.getElementById(rV.data),n=Nf(t.textContent),r=t.getAttribute(aV.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(aV.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(aV.challengeId),o=a?(i.removeAttribute(aV.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(rV.error)?.remove();return}let t=document.getElementById(rV.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=rV.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:e=>cV(e,o.challenge.header),vars:sV}}let uV=lV(`tempo`),dV=String.raw,fV=document.createElement(`style`);fV.textContent=dV`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${uV.vars.spacingUnit} * 8);\n }\n button {\n background: ${uV.vars.accent};\n border-radius: ${uV.vars.radius};\n color: ${uV.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${uV.vars.spacingUnit} * 4) calc(${uV.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`,uV.root.append(fV);let pV=VB({testnet:uV.challenge.request.methodDetails?.chainId===dE.id||uV.challenge.request.methodDetails?.chainId===LE.id}),mV=document.createElement(`button`);mV.innerHTML=`${uV.text.pay===`Pay`?`Continue with`:uV.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>`,mV.onclick=async()=>{try{uV.error(),mV.disabled=!0;let e=await(async()=>{let e=await pV.request({method:`eth_accounts`});return e.length>0?e.at(0):(await pV.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await OR({account:e,getClient:e=>{let t=e.chainId??uV.challenge.request.methodDetails?.chainId;return Eh({chain:[...pV?.chains??[],dE,LE].find(e=>e.id===t),transport:Kb(pV)})}})[0].createCredential({challenge:uV.challenge,context:{}});await uV.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;uV.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{mV.disabled=!1}},uV.root.appendChild(mV)})();</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 T(){if(typeof navigator>`u`)return!1;let e=navigator.userAgent.toLowerCase();return e.includes(`safari`)&&!e.includes(`chrome`)}let ee;function te(){return typeof window>`u`?re():C({name:`iframe`},e=>{let{host:t}=e;if(ee&&ee.host===t)return ee.refs.store=e.store,ee.refs.fallback.destroy(),ee.refs.fallback=ne()(e),ee.instance.syncTheme(e.theme),ee.instance;ee?.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(){ee?.instance===ue&&(ee=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(T()&&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 ee={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.55.13`}));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 A(e,t={}){let{signed:n}=t;t.size&&Fn(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=(e.length-2)/2;return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function In(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 Ln(e,t={}){let n=A(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 Rn=o((()=>{Mn(),Bt(),Pn()}));function zn(e,t={}){return typeof e==`number`||typeof e==`bigint`?j(e,t):typeof e==`string`?Hn(e,t):typeof e==`boolean`?Bn(e,t):Vn(e,t)}function Bn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{size:t.size})):n}function Vn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Un[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 j(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new 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 Hn(e,t={}){return Vn(Wn.encode(e),t)}var Un,Wn,M=o((()=>{Mn(),Cn(),Rn(),Un=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Wn=new TextEncoder}));function Gn(e,t={}){return typeof e==`number`||typeof e==`bigint`?Yn(e,t):typeof e==`boolean`?Kn(e,t):D(e)?Jn(e,t):Xn(e,t)}function Kn(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 qn(e){if(e>=Qn.zero&&e<=Qn.nine)return e-Qn.zero;if(e>=Qn.A&&e<=Qn.F)return e-(Qn.A-10);if(e>=Qn.a&&e<=Qn.f)return e-(Qn.a-10)}function Jn(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=qn(r.charCodeAt(t++)),i=qn(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 Yn(e,t){return Jn(j(e,t))}function Xn(e,t={}){let n=Zn.encode(e);return typeof t.size==`number`?(Fn(n,{size:t.size}),bn(n,{dir:`right`,size:t.size})):n}var Zn,Qn,$n=o((()=>{k(),Rt(),Cn(),Rn(),M(),Zn=new TextEncoder,Qn={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function er(e,t=!1){return t?{h:Number(e&rr),l:Number(e>>ir&rr)}:{h:Number(e>>ir&rr)|0,l:Number(e&rr)|0}}function tr(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}=er(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function nr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr=o((()=>{rr=BigInt(2**32-1),ir=BigInt(32),ar=(e,t,n)=>e>>>n,or=(e,t,n)=>e<<32-n|t>>>n,sr=(e,t,n)=>e>>>n|t<<32-n,cr=(e,t,n)=>e<<32-n|t>>>n,lr=(e,t,n)=>e<<64-n|t>>>n-32,ur=(e,t,n)=>e>>>n-32|t<<64-n,dr=(e,t,n)=>e<<n|t>>>32-n,fr=(e,t,n)=>t<<n|e>>>32-n,pr=(e,t,n)=>t<<n-32|e>>>64-n,mr=(e,t,n)=>e<<n-32|t>>>64-n,hr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),gr=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,_r=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),vr=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,yr=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),br=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),Sr,Cr=o((()=>{Sr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction wr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Tr(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Er(e,...t){if(!wr(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 Dr(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);Tr(e.outputLen),Tr(e.blockLen)}function Or(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 kr(e,t){Er(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function Ar(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function jr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Mr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Nr(e,t){return e<<32-t|e>>>t}function Pr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Fr(e){for(let t=0;t<e.length;t++)e[t]=Pr(e[t]);return e}function Ir(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Lr(e){return typeof e==`string`&&(e=Ir(e)),Er(e),e}function Rr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Er(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 zr(e){let t=t=>e().update(Lr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Br(e=32){if(Sr&&typeof Sr.getRandomValues==`function`)return Sr.getRandomValues(new Uint8Array(e));if(Sr&&typeof Sr.randomBytes==`function`)return Uint8Array.from(Sr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Vr,Hr,Ur,Wr=o((()=>{Cr(),Vr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Hr=Vr?e=>e:Fr,Ur=class{}}));function Gr(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=ii(a,o,1)^n[r],c=ai(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=$r[n],a=ii(t,i,r),o=ai(t,i,r),s=Qr[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]^=ni[r],e[1]^=ri[r]}jr(n)}var Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li=o((()=>{xr(),Wr(),Kr=BigInt(0),qr=BigInt(1),Jr=BigInt(2),Yr=BigInt(7),Xr=BigInt(256),Zr=BigInt(113),Qr=[],$r=[],ei=[];for(let e=0,t=qr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Qr.push(2*(5*r+n)),$r.push((e+1)*(e+2)/2%64);let i=Kr;for(let e=0;e<7;e++)t=(t<<qr^(t>>Yr)*Zr)%Xr,t&Jr&&(i^=qr<<(qr<<BigInt(e))-qr);ei.push(i)}ti=tr(ei,!0),ni=ti[0],ri=ti[1],ii=(e,t,n)=>n>32?pr(e,t,n):dr(e,t,n),ai=(e,t,n)=>n>32?mr(e,t,n):fr(e,t,n),oi=class e extends Ur{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,Tr(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=Ar(this.state)}clone(){return this._cloneInto()}keccak(){Hr(this.state32),Gr(this.state32,this.rounds),Hr(this.state32),this.posOut=0,this.pos=0}update(e){Or(this),e=Lr(e),Er(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){Or(this,!1),Er(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 Tr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(kr(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,jr(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}},si=(e,t,n)=>zr(()=>new oi(t,e,n)),ci=si(1,136,32)}));function ui(e,t){let n=t||`hex`,r=ci(D(e,{strict:!1})?Gn(e):e);return n===`bytes`?r:zn(r)}var di=o((()=>{li(),Rt(),$n(),M()}));function fi(e){return pi(e)}var pi,mi=o((()=>{$n(),di(),pi=e=>ui(Gn(e))}));function hi(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 gi=o((()=>{k()})),_i,vi=o((()=>{Nt(),gi(),_i=e=>hi(typeof e==`string`?e:be(e))}));function yi(e){return fi(_i(e))}var bi=o((()=>{mi(),vi()})),xi,Si=o((()=>{bi(),xi=yi})),Ci,wi=o((()=>{k(),Ci=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`})}}})),Ti,Ei=o((()=>{Ti=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 Di(e,t){if(ki.has(`${e}.${t}`))return ki.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=ui(Xn(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 ki.set(`${e}.${t}`,a),a}function Oi(e,t){if(!ji(e,{strict:!1}))throw new Ci({address:e});return Di(e,t)}var ki,Ai=o((()=>{wi(),$n(),di(),Ei(),Pi(),ki=new Ti(8192)}));function ji(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Ni.has(r))return Ni.get(r);let i=Mi.test(e)?e.toLowerCase()===e||!n||Di(e)===e:!1;return Ni.set(r,i),i}var Mi,Ni,Pi=o((()=>{Ei(),Ai(),Mi=/^0x[a-fA-F0-9]{40}$/,Ni=new Ti(8192)}));function Fi(e){return typeof e[0]==`string`?Li(e):Ii(e)}function Ii(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 Li(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Ri=o((()=>{}));function zi(e,t,n,{strict:r}={}){return D(e,{strict:!1})?Ui(e,t,n,{strict:r}):Hi(e,t,n,{strict:r})}function Bi(e,t){if(typeof t==`number`&&t>0&&t>zt(e)-1)throw new gn({offset:t,position:`start`,size:zt(e)})}function Vi(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 Hi(e,t,n,{strict:r}={}){Bi(e,t);let i=e.slice(t,n);return r&&Vi(i,t,n),i}function Ui(e,t,n,{strict:r}={}){Bi(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Vi(i,t,n),i}var Wi=o((()=>{yn(),Rt(),Bt()})),Gi,Ki,qi=o((()=>{Gi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ki=/^(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 Ji(e,t){if(e.length!==t.length)throw new Zt({expectedLength:e.length,givenLength:t.length});return Zi(Yi({params:e,values:t}))}function Yi({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(Xi({param:e[r],value:t[r]}));return n}function Xi({param:e,value:t}){let n=aa(e.type);if(n){let[r,i]=n;return $i(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return ia(t,{param:e});if(e.type===`address`)return Qi(t);if(e.type===`bool`)return ta(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Ki.exec(e.type)??[];return na(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return ea(t,{param:e});if(e.type===`string`)return ra(t);throw new dn(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function Zi(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(j(t+i,{size:32})),r.push(s),i+=zt(s)):n.push(s)}return Li([...n,...r])}function Qi(e){if(!ji(e))throw new Ci({address:e});return{dynamic:!1,encoded:xn(e.toLowerCase())}}function $i(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&&oa(n),a=[];for(let t=0;t<e.length;t++){let r=Xi({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=Zi(a);if(r)return{dynamic:!0,encoded:Li([j(a.length,{size:32}),e])};if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Li(a.map(({encoded:e})=>e))}}function ea(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:Li([xn(j(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 ta(e){if(typeof e!=`boolean`)throw new O(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:xn(Bn(e))}}function na(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:j(e,{size:32,signed:t})}}function ra(e){let t=Hn(e),n=Math.ceil(zt(t)/32),r=[];for(let e=0;e<n;e++)r.push(xn(zi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Li([xn(j(zt(t),{size:32})),...r])}}function ia(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=Xi({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Zi(r):Li(r.map(({encoded:e})=>e))}}function aa(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function oa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components.some(oa);let n=aa(t);return n?oa({...e,type:n[1]}):!1}var sa=o((()=>{hn(),wi(),k(),Mn(),Pi(),Ri(),Cn(),Bt(),Wi(),M(),qi()})),ca,la=o((()=>{Wi(),bi(),ca=e=>zi(yi(e),0,4)}));function ua(e){let{abi:t,args:n=[],name:r}=e,i=D(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?ca(e)===r:e.type===`event`&&xi(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?da(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=fa(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 da(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return ji(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`&&da(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=>da(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function fa(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 fa(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`))&&ji(n[r],{strict:!1}))return o}}var pa=o((()=>{hn(),Rt(),Pi(),Si(),la()}));function N(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var ma=o((()=>{}));function ha(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=ua({abi:t,args:n,name:r});if(!e)throw new rn(r,{docsPath:ga});i=e}if(i.type!==`function`)throw new rn(void 0,{docsPath:ga});return{abi:[i],functionName:ca(Pt(i))}}var ga,_a=o((()=>{hn(),la(),Lt(),pa(),ga=`/docs/contract/encodeFunctionData`}));function va(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:ha(e),i=n[0];return Li([r,(`inputs`in i&&i.inputs?Ji(i.inputs,t??[]):void 0)??`0x`])}var ya=o((()=>{Ri(),sa(),_a()})),ba,xa,Sa,Ca=o((()=>{ba={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.`},xa={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Sa={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),wa,Ta,Ea,Da=o((()=>{k(),wa=class extends O{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},Ta=class extends O{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Ea=class extends O{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Oa(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(ka);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var ka,Aa=o((()=>{Da(),ka={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 Ea({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Ta({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new wa({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 wa({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 ja(e,t={}){return t.size!==void 0&&Fn(e,{size:t.size}),A(Vn(e),t)}function Ma(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 Na(e,t={}){return t.size!==void 0&&Fn(e,{size:t.size}),Ln(Vn(e),t)}function Pa(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 Fa=o((()=>{Mn(),Pn(),Rn(),M()}));function Ia(e,t){let n=typeof t==`string`?Jn(t):t,r=Oa(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:Vn(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]=La(r,o,{staticPosition:0});i+=c,a.push(s)}return a}function La(e,t,{staticPosition:n}){let r=aa(t.type);if(r){let[i,a]=r;return za(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Ua(e,t,{staticPosition:n});if(t.type===`address`)return Ra(e);if(t.type===`bool`)return Ba(e);if(t.type.startsWith(`bytes`))return Va(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Ha(e,t);if(t.type===`string`)return Wa(e,{staticPosition:n});throw new fn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function Ra(e){return[Di(Vn(Hi(e.readBytes(32),-20))),32]}function za(e,t,{length:n,staticPosition:r}){if(n===null){let n=r+Na(e.readBytes(qa)),i=n+Ka;e.setPosition(n);let a=Na(e.readBytes(Ka)),o=Ga(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=La(e,t,{staticPosition:i});s+=a,c.push(r),a===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(r+32),[c,32]}if(Ga(t)){let i=r+Na(e.readBytes(qa)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=La(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]=La(e,t,{staticPosition:r+i});i+=o,a.push(n),o===0&&(e.assertReadLimit(),e._touch())}return[a,i]}function Ba(e){return[Ma(e.readBytes(32),{size:32}),32]}function Va(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Na(e.readBytes(32));e.setPosition(n+t);let r=Na(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Vn(i),32]}return[Vn(e.readBytes(Number.parseInt(i,10),32)),32]}function Ha(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?ja(i,{signed:n}):Na(i,{signed:n}),32]}function Ua(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Ga(t)){let o=n+Na(e.readBytes(qa));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=La(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]=La(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Wa(e,{staticPosition:t}){let n=t+Na(e.readBytes(32));e.setPosition(n);let r=Na(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Pa(e.readBytes(r,32));return e.setPosition(t+32),[i,32]}function Ga(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Ga);let n=aa(e.type);return!!(n&&Ga({...e,type:n[1]}))}var Ka,qa,Ja=o((()=>{hn(),Ai(),Aa(),Bt(),Wi(),Fa(),$n(),M(),sa(),Ka=32,qa=32}));function Ya(e){let{abi:t,data:n,cause:r}=e,i=zi(n,0,4);if(i===`0x`)throw new Jt({cause:r});let a=[...t||[],xa,Sa].find(e=>e.type===`error`&&i===ca(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?Ia(a.inputs,zi(n,4)):void 0,errorName:a.name}}var Xa=o((()=>{Ca(),hn(),Wi(),la(),Ja(),Lt()})),Za,Qa=o((()=>{Za=(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 $a({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`?Za(t[n]):t[n]}`).join(`, `)})`}var eo=o((()=>{Qa()}));function to(e,t=0){if(!Number.isInteger(t)||t<0)throw new co({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 no(e,t=`wei`){return to(e,oo.ether-oo[t])}function ro(e,t=`wei`){return to(e,oo.gwei-oo[t])}function io(e,t=0){if(!Number.isInteger(t)||t<0)throw new co({decimals:t});if(!/^-?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)$/.test(e))throw new so({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=ao(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 ao(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 oo,so,co,lo=o((()=>{oo={wei:0,gwei:9,szabo:12,finney:15,ether:18},so=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`})}},co=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 uo(e,t=`wei`){return no(e,t)}var fo=o((()=>{lo()}));function po(e,t=`wei`){return ro(e,t)}var mo=o((()=>{lo()}));function ho(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function go(e){return e.reduce((e,{address:t,...n})=>{let r=`${e} ${t}:\\n`;return n.nonce&&(r+=` nonce: ${n.nonce}\\n`),n.balance&&(r+=` balance: ${n.balance}\\n`),n.code&&(r+=` code: ${n.code}\\n`),n.state&&(r+=` state:\n`,r+=ho(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=ho(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var _o,vo,yo=o((()=>{k(),_o=class extends O{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},vo=class extends O{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function bo(e){let t=Object.entries(e).map(([e,t])=>t===void 0||t===!1?null:[e,t]).filter(Boolean),n=t.reduce((e,[t])=>Math.max(e,t.length),0);return t.map(([e,t])=>` ${`${e}:`.padEnd(n+1)} ${t}`).join(`\n`)}var xo,So,Co,wo,To,Eo,Do,Oo,ko,Ao,jo,Mo=o((()=>{fo(),mo(),k(),xo=class extends O{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},So=class extends O{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},Co=class extends O{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,bo(e),`}`,``,`To infer the type, either provide:`,\"- a `type` to the Transaction, or\",\"- an EIP-1559 Transaction with `maxFeePerGas`, or\",\"- an EIP-2930 Transaction with `gasPrice` & `accessList`, or\",\"- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or\",\"- an EIP-7702 Transaction with `authorizationList`, or\",\"- a Legacy Transaction with `gasPrice`\"],name:`InvalidSerializableTransactionError`})}},wo=class extends O{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},To=class extends O{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},Eo=class extends O{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},Do=class extends O{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=bo({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Request Arguments:`,f].filter(Boolean),name:`TransactionExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Oo=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`})}},ko=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`})}},Ao=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}},jo=class extends O{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}}));function No(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 Po(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Fo,Io,Lo=o((()=>{Fo=e=>e,Io=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Ro,zo,Bo,Vo,Ho,Uo,Wo=o((()=>{ma(),Ca(),Xa(),Lt(),eo(),pa(),fo(),mo(),hn(),k(),yo(),Mo(),Lo(),Ro=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=bo({from:(t?N(t):void 0)?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});f&&(p+=`\\n${go(f)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Raw Call Arguments:`,p].filter(Boolean),name:`CallExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},zo=class extends O{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=ua({abi:t,args:n,name:a}),c=s?$a({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Pt(s,{includeName:!0}):void 0,u=bo({address:r&&Fo(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}},Bo=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=Ya({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=ba[e]}else{let e=n?Pt(n,{includeName:!0}):void 0,t=n&&a?$a({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}},Vo=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})}},Ho=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`})}},Uo=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}}})),Go,Ko,qo,Jo,Yo=o((()=>{Qa(),k(),Lo(),Go=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: ${Io(a)}`,e&&`Request body: ${Za(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}},Ko=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}},qo=class extends O{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Io(n)}`,`Request body: ${Za(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}},Jo=class extends O{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Io(t)}`,`Request body: ${Za(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es=o((()=>{k(),Yo(),Xo=-1,Zo=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 qo?e.code:t??Xo}},Qo=class extends Zo{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},$o=class e extends Zo{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($o,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),es=class e extends Zo{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),ts=class e extends Zo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),ns=class e extends Zo{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(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),rs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),is=class e extends Zo{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(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),as=class e extends Zo{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(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),os=class e extends Zo{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),ss=class e extends Zo{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),cs=class e extends Zo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),ls=class e extends Zo{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),us=class e extends Zo{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),ds=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),fs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnauthorizedProviderError`,shortMessage:`The requested method and/or account has not been authorized by the user.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),ps=class e extends Qo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),ms=class e extends Qo{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),hs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),gs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),_s=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnsupportedNonOptionalCapabilityError`,shortMessage:`This Wallet does not support a capability that was not marked as optional.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),vs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),ys=class e extends Qo{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),bs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),xs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(xs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Ss=class e extends Qo{constructor(t){super(t,{code:e.code,name:`AtomicReadyWalletRejectedUpgradeError`,shortMessage:`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`})}},Object.defineProperty(Ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Cs=class e extends Qo{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(Cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),ws=class e extends Qo{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(ws,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),Ts=class extends Zo{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));hn(),k(),Wo(),Yo(),Es();function Ds(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Uo?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 Vo({functionName:a,cause:e}):[3,rs.code].includes(c)&&(l||u||d||f)||c===is.code&&u===`execution reverted`&&l?new Bo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof qo?u:f??d,cause:e}):e;return new zo(p,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}Ai(),di();function Os(e){return Di(`0x${ui(`0x${e.substring(4)}`).substring(26)}`)}function ks(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 As(e,t,n){return e&t^~e&n}function js(e,t,n){return e&t^e&n^t&n}var Ms,Ns,Ps,Fs,Is=o((()=>{Wr(),Ms=class extends Ur{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=Mr(this.buffer)}update(e){Or(this),e=Lr(e),Er(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=Mr(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){Or(this),kr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,jr(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;ks(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Mr(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()}},Ns=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ps=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Fs=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys,Xs=o((()=>{Is(),xr(),Wr(),Ls=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]),Rs=new Uint32Array(64),zs=class extends Ms{constructor(e=32){super(64,e,8,!1),this.A=Ns[0]|0,this.B=Ns[1]|0,this.C=Ns[2]|0,this.D=Ns[3]|0,this.E=Ns[4]|0,this.F=Ns[5]|0,this.G=Ns[6]|0,this.H=Ns[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)Rs[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Rs[e-15],n=Rs[e-2],r=Nr(t,7)^Nr(t,18)^t>>>3,i=Nr(n,17)^Nr(n,19)^n>>>10;Rs[e]=i+Rs[e-7]+r+Rs[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=Nr(o,6)^Nr(o,11)^Nr(o,25),u=l+t+As(o,s,c)+Ls[e]+Rs[e]|0,d=(Nr(n,2)^Nr(n,13)^Nr(n,22))+js(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(){jr(Rs)}destroy(){this.set(0,0,0,0,0,0,0,0),jr(this.buffer)}},Bs=tr(`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))),Vs=Bs[0],Hs=Bs[1],Us=new Uint32Array(80),Ws=new Uint32Array(80),Gs=class extends Ms{constructor(e=64){super(128,e,16,!1),this.Ah=Fs[0]|0,this.Al=Fs[1]|0,this.Bh=Fs[2]|0,this.Bl=Fs[3]|0,this.Ch=Fs[4]|0,this.Cl=Fs[5]|0,this.Dh=Fs[6]|0,this.Dl=Fs[7]|0,this.Eh=Fs[8]|0,this.El=Fs[9]|0,this.Fh=Fs[10]|0,this.Fl=Fs[11]|0,this.Gh=Fs[12]|0,this.Gl=Fs[13]|0,this.Hh=Fs[14]|0,this.Hl=Fs[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)Us[n]=e.getUint32(t),Ws[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Us[e-15]|0,n=Ws[e-15]|0,r=sr(t,n,1)^sr(t,n,8)^ar(t,n,7),i=cr(t,n,1)^cr(t,n,8)^or(t,n,7),a=Us[e-2]|0,o=Ws[e-2]|0,s=sr(a,o,19)^lr(a,o,61)^ar(a,o,6),c=cr(a,o,19)^ur(a,o,61)^or(a,o,6),l=_r(i,c,Ws[e-7],Ws[e-16]),u=vr(l,r,s,Us[e-7],Us[e-16]);Us[e]=u|0,Ws[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=sr(u,d,14)^sr(u,d,18)^lr(u,d,41),v=cr(u,d,14)^cr(u,d,18)^ur(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=yr(_,v,b,Hs[e],Ws[e]),S=br(x,g,t,y,Vs[e],Us[e]),C=x|0,w=sr(n,r,28)^lr(n,r,34)^lr(n,r,39),T=cr(n,r,28)^ur(n,r,34)^ur(n,r,39),ee=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}=nr(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=hr(C,T,te);n=gr(ne,S,w,ee),r=ne|0}({h:n,l:r}=nr(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=nr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=nr(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=nr(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=nr(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=nr(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=nr(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=nr(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(){jr(Us,Ws)}destroy(){jr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Ks=class extends Gs{constructor(){super(48),this.Ah=Ps[0]|0,this.Al=Ps[1]|0,this.Bh=Ps[2]|0,this.Bl=Ps[3]|0,this.Ch=Ps[4]|0,this.Cl=Ps[5]|0,this.Dh=Ps[6]|0,this.Dl=Ps[7]|0,this.Eh=Ps[8]|0,this.El=Ps[9]|0,this.Fh=Ps[10]|0,this.Fl=Ps[11]|0,this.Gh=Ps[12]|0,this.Gl=Ps[13]|0,this.Hh=Ps[14]|0,this.Hl=Ps[15]|0}},qs=zr(()=>new zs),Js=zr(()=>new Gs),Ys=zr(()=>new Ks)})),Zs,Qs,$s=o((()=>{Wr(),Zs=class extends Ur{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Dr(e);let n=Lr(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),jr(i)}update(e){return Or(this),this.iHash.update(e),this}digestInto(e){Or(this),Er(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Qs=(e,t,n)=>new Zs(e,t).update(n).digest(),Qs.create=(e,t)=>new Zs(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction ec(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function tc(e){if(!ec(e))throw Error(`Uint8Array expected`)}function nc(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function rc(e){let t=e.toString(16);return t.length&1?`0`+t:t}function ic(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?Sc:BigInt(`0x`+e)}function ac(e){if(tc(e),wc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Tc[e[n]];return t}function oc(e){if(e>=Ec._0&&e<=Ec._9)return e-Ec._0;if(e>=Ec.A&&e<=Ec.F)return e-(Ec.A-10);if(e>=Ec.a&&e<=Ec.f)return e-(Ec.a-10)}function sc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(wc)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=oc(e.charCodeAt(i)),a=oc(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 cc(e){return ic(ac(e))}function lc(e){return tc(e),ic(ac(Uint8Array.from(e).reverse()))}function uc(e,t){return sc(e.toString(16).padStart(t*2,`0`))}function dc(e,t){return uc(e,t).reverse()}function fc(e,t,n){let r;if(typeof t==`string`)try{r=sc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(ec(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 pc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];tc(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 mc(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 hc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function gc(e,t,n){return Dc(e)&&Dc(t)&&Dc(n)&&t<=e&&e<n}function _c(e,t,n,r){if(!gc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function vc(e){let t;for(t=0;e>Sc;e>>=Cc,t+=1);return t}function yc(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=kc(e),i=kc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=kc(0))=>{i=s(Ac([0]),e),r=s(),e.length!==0&&(i=s(Ac([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 pc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function bc(e,t,n={}){let r=(t,n,r)=>{let i=jc[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 xc(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 Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc,Mc=o((()=>{Sc=BigInt(0),Cc=BigInt(1),wc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Tc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Ec={_0:48,_9:57,A:65,F:70,a:97,f:102},Dc=e=>typeof e==`bigint`&&Sc<=e,Oc=e=>(Cc<<BigInt(e))-Cc,kc=e=>new Uint8Array(e),Ac=e=>Uint8Array.from(e),jc={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`||ec(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 Nc(e,t){let n=e%t;return n>=Yc?n:t+n}function Pc(e,t,n){let r=e;for(;t-->Yc;)r*=r,r%=n;return r}function Fc(e,t){if(e===Yc)throw Error(`invert: expected non-zero number`);if(t<=Yc)throw Error(`invert: expected positive modulus, got `+t);let n=Nc(e,t),r=t,i=Yc,a=Xc,o=Xc,s=Yc;for(;n!==Yc;){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!==Xc)throw Error(`invert: does not exist`);return Nc(i,t)}function Ic(e,t){let n=(e.ORDER+Xc)/$c,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Lc(e,t){let n=(e.ORDER-el)/tl,r=e.mul(t,Zc),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Zc),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 Rc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Xc,n=0;for(;t%Zc===Yc;)t/=Zc,n++;let r=Zc,i=Gc(e);for(;Uc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Ic;let a=i.pow(r,t),o=(t+Xc)/Zc;return function(e,r){if(e.is0(r))return r;if(Uc(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=Xc<<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 zc(e){return e%$c===Qc?Ic:e%tl===el?Lc:Rc(e)}function Bc(e){return bc(e,nl.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Vc(e,t,n){if(n<Yc)throw Error(`invalid exponent, negatives unsupported`);if(n===Yc)return e.ONE;if(n===Xc)return t;let r=e.ONE,i=t;for(;n>Yc;)n&Xc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Xc;return r}function Hc(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 Uc(e,t){let n=(e.ORDER-Xc)/Zc,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 Wc(e,t){t!==void 0&&Tr(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Gc(e,t,n=!1,r={}){if(e<=Yc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Wc(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:Oc(i),ZERO:Yc,ONE:Xc,create:t=>Nc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Yc<=t&&t<e},is0:e=>e===Yc,isOdd:e=>(e&Xc)===Xc,neg:t=>Nc(-t,e),eql:(e,t)=>e===t,sqr:t=>Nc(t*t,e),add:(t,n)=>Nc(t+n,e),sub:(t,n)=>Nc(t-n,e),mul:(t,n)=>Nc(t*n,e),pow:(e,t)=>Vc(s,e,t),div:(t,n)=>Nc(t*Fc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Fc(t,e),sqrt:r.sqrt||(t=>(o||=zc(e),o(s,t))),toBytes:e=>n?dc(e,a):uc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?lc(e):cc(e)},invertBatch:e=>Hc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Kc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function qc(e){let t=Kc(e);return t+Math.ceil(t/2)}function Jc(e,t,n=!1){let r=e.length,i=Kc(t),a=qc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Nc(n?lc(e):cc(e),t-Xc)+Xc;return n?dc(o,i):uc(o,i)}var Yc,Xc,Zc,Qc,$c,el,tl,nl,rl=o((()=>{Wr(),Mc(),Yc=BigInt(0),Xc=BigInt(1),Zc=BigInt(2),Qc=BigInt(3),$c=BigInt(4),el=BigInt(5),tl=BigInt(8),nl=[`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 il(e,t){let n=t.negate();return e?n:t}function al(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function ol(e,t){al(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Oc(e),maxNumber:i,shiftBy:BigInt(e)}}function sl(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+=hl);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 cl(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 ll(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 ul(e){return _l.get(e)||1}function dl(e,t){return{constTimeNegate:il,hasPrecomputes(e){return ul(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>ml;)n&hl&&(r=r.add(i)),i=i.double(),n>>=hl;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=ol(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=ol(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=sl(i,e,s);i=t,c?o=o.add(il(u,r[d])):a=a.add(il(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=ol(n,t);for(let e=0;e<o.windows&&i!==ml;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=sl(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=gl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&gl.set(t,n(r))),r},wNAFCached(e,t,n){let r=ul(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=ul(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){al(n,t),_l.set(e,n),gl.delete(e)}}}function fl(e,t,n,r){cl(n,e),ll(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=vc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Oc(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 pl(e){return Bc(e.Fp),bc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Wc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var ml,hl,gl,_l,vl=o((()=>{rl(),Mc(),ml=BigInt(0),hl=BigInt(1),gl=new WeakMap,_l=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction yl(e){e.lowS!==void 0&&nc(`lowS`,e.lowS),e.prehash!==void 0&&nc(`prehash`,e.prehash)}function bl(e){let t=pl(e);bc(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 xl(e,t){return ac(uc(e,t))}function Sl(e){let t=bl(e),{Fp:n}=t,r=Gc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return pc(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,Ml),Nl),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 gc(e,Al,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(ec(e)&&(e=ac(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:cc(fc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Nc(o,a)),_c(`private key`,o,Al,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=xc((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=xc(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=Hc(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(fc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return fl(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,Ml),{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,Ml),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;_c(`scalar`,e,kl,i);let a=h.ZERO;if(e===kl)return a;if(this.is0()||e===Al)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>kl||l>kl;)s&Al&&(u=u.add(f)),l&Al&&(d=d.add(f)),f=f.double(),s>>=Al,l>>=Al;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;_c(`scalar`,e,Al,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===kl||t===Al||!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===Al)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===Al?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return nc(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return nc(`isCompressed`,e),ac(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=dl(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function Cl(e){let t=pl(e);return bc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function wl(e){let t=Cl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Nc(e,r)}function l(e){return Fc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=Sl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=pc;return nc(`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=cc(i);if(!gc(e,Al,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&Al)===Al;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>>Al}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>cc(e.slice(t,n));class _{constructor(e,t,n){_c(`r`,e,Al,r),_c(`s`,t,Al,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=fc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Ol.toSig(fc(`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(fc(`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+xl(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 sc(this.toDERHex())}toDERHex(){return Ol.hexFromSig(this)}toCompactRawBytes(){return sc(this.toCompactHex())}toCompactHex(){let e=i;return xl(this.r,e)+xl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=qc(t.n);return Jc(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=fc(`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=cc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=Oc(a);function T(e){return _c(`num < 2^`+a,e,kl,w),uc(e,i)}function ee(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=fc(`msgHash`,e),yl(i),f&&(e=fc(`prehashed msgHash`,a(e)));let v=C(e),y=d(r),b=[T(y),T(v)];if(g!=null&&g!==!1){let e=g===!0?o(n.BYTES):g;b.push(fc(`extraEntropy`,e))}let x=pc(...b),w=v;function ee(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===kl)return;let a=c(n*c(w+i*y));if(a===kl)return;let o=(r.x===i?0:2)|Number(r.y&Al),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:ee}}let te={lowS:t.lowS,prehash:!1},ne={lowS:t.lowS,prehash:!1};function re(e,n,r=te){let{seed:i,k2sig:a}=ee(e,n,r),o=t;return yc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ie(e,n,r,i=ne){let a=e;n=fc(`msgHash`,n),r=fc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(yl(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`||ec(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 Ol.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 Tl(e,t){let n=e.ORDER,r=kl;for(let e=n-Al;e%jl===kl;e/=jl)r+=Al;let i=r,a=jl<<i-Al-Al,o=a*jl,s=(n-Al)/o,c=(s-Al)/jl,l=o-Al,u=a,d=e.pow(t,s),f=e.pow(t,(s+Al)/jl),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>Al;t--){let n=t-jl;n=jl<<n-Al;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%Nl===Ml){let n=(e.ORDER-Ml)/Nl,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 El(e,t){if(Bc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=Tl(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=Hc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var Dl,Ol,kl,Al,jl,Ml,Nl,Pl=o((()=>{vl(),rl(),Mc(),Dl=class extends Error{constructor(e=``){super(e)}},Ol={Err:Dl,_tlv:{encode:(e,t)=>{let{Err:n}=Ol;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=rc(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?rc(i.length/2|128):``;return rc(e)+a+i+t},decode(e,t){let{Err:n}=Ol,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}=Ol;if(e<kl)throw new t(`integer: negative integers are not allowed`);let n=rc(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}=Ol;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 cc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Ol,i=fc(`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}=Ol,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},kl=BigInt(0),Al=BigInt(1),jl=BigInt(2),Ml=BigInt(3),Nl=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Fl(e){return{hash:e,hmac:(t,...n)=>Qs(e,t,Rr(...n)),randomBytes:Br}}function Il(e,t){let n=t=>wl({...e,...Fl(t)});return{...n(t),create:n}}var Ll=o((()=>{$s(),Wr(),Pl()}));function Rl(e,t){if(Bl(e),Bl(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 zl(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 Bl(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Vl(e,t,n,r){tc(e),tc(t),Bl(n),t.length>255&&(t=r(pc(hc(`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=pc(t,Rl(t.length,1)),c=Rl(0,a),l=Rl(n,2),u=Array(o),d=r(pc(c,e,l,Rl(0,1),s));u[0]=r(pc(d,Rl(1,1),s));for(let e=1;e<=o;e++){let t=[zl(d,u[e-1]),Rl(e+1,1),s];u[e]=r(pc(...t))}return pc(...u).slice(0,n)}function Hl(e,t,n,r,i){if(tc(e),tc(t),Bl(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(hc(`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(Rl(n,2)).update(t).update(Rl(t.length,1)).digest()}function Ul(e,t,n){bc(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;tc(e),Bl(t);let l=typeof c==`string`?hc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Vl(e,l,f,o);else if(s===`xof`)p=Hl(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]=Nc(Kl(o),r)}m[e]=t}return m}function Wl(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]=Hc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Gl(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=Ul(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(Ul(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 Kl,ql=o((()=>{rl(),Mc(),Kl=cc})),Jl=c({encodeToCurve:()=>wu,hashToCurve:()=>Cu,schnorr:()=>yu,secp256k1:()=>uu,secp256k1_hasher:()=>Su});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Yl(e){let t=ru,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=Pc(Pc(Pc(u,n,t)*u%t,n,t)*u%t,su,t)*l%t,f=Pc(d,i,t)*d%t,p=Pc(f,a,t)*f%t,m=Pc(p,s,t)*p%t,h=Pc(Pc(Pc(Pc(Pc(Pc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,su,t);if(!lu.eql(lu.sqr(h),e))throw Error(`Cannot find square root`);return h}function Xl(e,...t){let n=du[e];if(n===void 0){let t=qs(Uint8Array.from(e,e=>e.charCodeAt(0)));n=pc(t,t),du[e]=n}return qs(pc(n,...t))}function Zl(e){let t=uu.utils.normPrivateKeyToScalar(e),n=gu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:hu(-t),bytes:fu(n)}}function Ql(e){_c(`x`,e,ou,ru);let t=mu(e*e),n=Yl(mu(t*e+BigInt(7)));n%su!==au&&(n=mu(-n));let r=new gu(e,n,ou);return r.assertValidity(),r}function $l(...e){return hu(vu(Xl(`BIP0340/challenge`,...e)))}function eu(e){return Zl(e).bytes}function tu(e,t,n=Br(32)){let r=fc(`message`,e),{bytes:i,scalar:a}=Zl(t),o=fc(`auxRand`,n,32),s=Xl(`BIP0340/nonce`,pu(a^vu(Xl(`BIP0340/aux`,o))),i,r),c=hu(vu(s));if(c===au)throw Error(`sign failed: k is zero`);let{bytes:l,scalar:u}=Zl(c),d=$l(l,i,r),f=new Uint8Array(64);if(f.set(l,0),f.set(pu(hu(u+d*a)),32),!nu(f,r,i))throw Error(`sign: Invalid signature produced`);return f}function nu(e,t,n){let r=fc(`signature`,e,64),i=fc(`message`,t),a=fc(`publicKey`,n,32);try{let e=Ql(vu(a)),t=vu(r.subarray(0,32));if(!gc(t,ou,ru))return!1;let n=vu(r.subarray(32,64));if(!gc(n,ou,iu))return!1;let o=$l(pu(t),fu(e),i),s=_u(e,n,hu(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch{return!1}}var ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su,Cu,wu,Tu=o((()=>{Xs(),Wr(),Ll(),ql(),rl(),Mc(),Pl(),ru=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),iu=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),au=BigInt(0),ou=BigInt(1),su=BigInt(2),cu=(e,t)=>(e+t/su)/t,lu=Gc(ru,void 0,void 0,{sqrt:Yl}),uu=Il({a:au,b:BigInt(7),Fp:lu,n:iu,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=iu,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-ou*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=cu(a*e,t),c=cu(-r*e,t),l=Nc(e-s*n-c*i,t),u=Nc(-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}}}},qs),du={},fu=e=>e.toRawBytes(!0).slice(1),pu=e=>uc(e,32),mu=e=>Nc(e,ru),hu=e=>Nc(e,iu),gu=uu.ProjectivePoint,_u=(e,t,n)=>gu.BASE.multiplyAndAddUnsafe(e,t,n),vu=cc,yu={getPublicKey:eu,sign:tu,verify:nu,utils:{randomPrivateKey:uu.utils.randomPrivateKey,lift_x:Ql,pointToBytes:fu,numberToBytesBE:uc,bytesToNumberBE:cc,taggedHash:Xl,mod:Nc}},bu=Wl(lu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),xu=El(lu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:lu.create(BigInt(`-11`))}),Su=Gl(uu.ProjectivePoint,e=>{let{x:t,y:n}=xu(lu.create(e[0]));return bu(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:lu.ORDER,m:1,k:128,expand:`xmd`,hash:qs}),Cu=Su.hashToCurve,wu=Su.encodeToCurve}));Rt(),Bt(),Rn(),M();async function Eu({hash:e,signature:t}){let n=D(e)?e:zn(e),{secp256k1:r}=await Promise.resolve().then(()=>(Tu(),Jl));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=Du(Number(a??i));return new r.Signature(A(e),A(n)).addRecoveryBit(o)}let e=D(t)?t:zn(t);if(zt(e)!==65)throw Error(`invalid signature length`);let n=Du(Ln(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Du(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 Ou({hash:e,signature:t}){return Os(await Eu({hash:e,signature:t}))}k(),Aa(),$n(),M();function ku(e,t=`hex`){let n=Au(e),r=Oa(new Uint8Array(n.length));return n.encode(r),t===`hex`?Vn(r.bytes):r.bytes}function Au(e){return Array.isArray(e)?ju(e.map(e=>Au(e))):Mu(e)}function ju(e){let t=e.reduce((e,t)=>e+t.length,0),n=Nu(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 Mu(e){let t=typeof e==`string`?Jn(e):e,n=Nu(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 Nu(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.`)}Ri(),$n(),M(),di();function Pu(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=ui(Li([`0x05`,ku([t?j(t):`0x`,i,n?j(n):`0x`])]));return r===`bytes`?Jn(a):a}async function Fu(e){let{authorization:t,signature:n}=e;return Ou({hash:Pu(t),signature:n??t})}fo(),mo(),k(),Mo();var Iu=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=bo({from:t?.address,to:u,value:d!==void 0&&`${uo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${po(o)} gwei`,maxFeePerGas:s!==void 0&&`${po(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${po(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Estimate Gas Arguments:`,f].filter(Boolean),name:`EstimateGasExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu=o((()=>{mo(),k(),Lu=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(Lu,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Lu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Ru=class extends O{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${po(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(Ru,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),zu=class extends O{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${po(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(zu,\"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/}),Bu=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(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Vu=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(Vu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Hu=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(Hu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Uu=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(Uu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Wu=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(Wu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Gu=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(Gu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Ku=class extends O{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Ku,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),qu=class extends O{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${po(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${po(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(qu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Ju=class extends O{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function Xu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof O?e.walk(e=>e?.code===Lu.code):e;return r instanceof O?new Lu({cause:e,message:r.details}):Lu.nodeMessage.test(n)?new Lu({cause:e,message:e.details}):Ru.nodeMessage.test(n)?new Ru({cause:e,maxFeePerGas:t?.maxFeePerGas}):zu.nodeMessage.test(n)?new zu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Bu.nodeMessage.test(n)?new Bu({cause:e,nonce:t?.nonce}):Vu.nodeMessage.test(n)?new Vu({cause:e,nonce:t?.nonce}):Hu.nodeMessage.test(n)?new Hu({cause:e,nonce:t?.nonce}):Uu.nodeMessage.test(n)?new Uu({cause:e}):Wu.nodeMessage.test(n)?new Wu({cause:e,gas:t?.gas}):Gu.nodeMessage.test(n)?new Gu({cause:e,gas:t?.gas}):Ku.nodeMessage.test(n)?new Ku({cause:e}):qu.nodeMessage.test(n)?new qu({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Ju({cause:e})}var Zu=o((()=>{k(),Yu()}));Yu(),Zu();function Qu(e,{docsPath:t,...n}){return new Iu((()=>{let t=Xu(e,n);return t instanceof Ju?e:t})(),{docsPath:t,...n})}function $u(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 ed=o((()=>{}));function td(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 nd=o((()=>{}));function rd(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=id(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=>Vn(e))),e.data!==void 0&&(n.data=e.data),e.account&&(n.from=e.account.address),e.from!==void 0&&(n.from=e.from),e.gas!==void 0&&(n.gas=j(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=j(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=j(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=j(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=j(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=j(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=ad[e.type]),e.value!==void 0&&(n.value=j(e.value)),n}function id(e){return e.map(e=>({address:e.address,r:e.r?j(BigInt(e.r)):e.r,s:e.s?j(BigInt(e.s)):e.s,chainId:j(e.chainId),nonce:j(e.nonce),...e.yParity===void 0?{}:{yParity:j(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:j(e.v)}:{}}))}var ad,od,sd=o((()=>{M(),nd(),ad={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},od=td(`transactionRequest`,rd)}));function cd(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 ld(e){let{balance:t,nonce:n,state:r,stateDiff:i,code:a}=e,o={};if(a!==void 0&&(o.code=a),t!==void 0&&(o.balance=j(t)),n!==void 0&&(o.nonce=j(n)),r!==void 0&&(o.state=cd(r)),i!==void 0){if(o.state)throw new vo;o.stateDiff=cd(i)}return o}function ud(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!ji(n,{strict:!1}))throw new Ci({address:n});if(t[n])throw new _o({address:n});t[n]=ld(r)}return t}var dd=o((()=>{wi(),yn(),yo(),Pi(),M()})),fd,pd=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)),fd=2n**256n-1n}));function md(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?N(t):void 0;if(a&&!ji(a.address))throw new Ci({address:a.address});if(i&&!ji(i))throw new Ci({address:i});if(n&&n>fd)throw new Ru({maxFeePerGas:n});if(r&&n&&r>n)throw new qu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var hd=o((()=>{ma(),pd(),wi(),Yu(),Pi()}));mo(),k();var gd=class extends O{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},_d=class extends O{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},vd=class extends O{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${po(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};k();var yd=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`})}};Rn(),nd();let bd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function xd(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?Ln(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?Ln(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?bd[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=Cd(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 Sd=td(`transaction`,xd);function Cd(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 wd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:xd(e));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:n,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}M();async function Td(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:j(n),s=null;if(s=t?await e.request({method:`eth_getBlockByHash`,params:[t,a]},{dedupe:!0}):await e.request({method:`eth_getBlockByNumber`,params:[o||r,a]},{dedupe:!!o}),!s)throw new yd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||wd)(s,`getBlock`)}async function Ed(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}Rn();async function Dd(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,Td,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?A(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):E(e,Td,`getBlock`)({}),E(e,Ed,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new _d;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Od(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 gd;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.round(o*s))/BigInt(s),l=n||await E(e,Td,`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 _d;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await Dd(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,Ed,`getGasPrice`)({}))}}function kd(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`?j(n):r??`latest`}var Ad=o((()=>{k(),M()}));Ad(),Rn();async function jd(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=kd({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return Ln(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}$n(),M();function Md(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=>Jn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Vn(e))}$n(),M();function Nd(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=>Jn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>Jn(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=>Vn(e))}Xs();let Pd=qs;Rt(),$n(),M();function Fd(e,t){let n=t||`hex`,r=Pd(D(e,{strict:!1})?Gn(e):e);return n===`bytes`?r:zn(r)}M();function Id(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Fd(t,`bytes`);return i.set([n],0),r===`bytes`?i:Vn(i)}function Ld(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Id({commitment:e,to:r,version:n}));return i}k();var Rd=class extends O{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},zd=class extends O{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Bd=class extends O{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Vd=class extends O{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};Aa(),Bt(),$n(),M();function Hd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Jn(e.data):e.data,r=zt(n);if(!r)throw new zd;if(r>761855)throw new Rd({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Oa(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=>Vn(e.bytes))}function Ud(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Hd({data:t,to:r}),a=e.commitments??Md({blobs:i,kzg:n,to:r}),o=e.proofs??Nd({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}Mo();function Wd(e){if(e.type)return e.type;if(e.authorizationList!==void 0)return`eip7702`;if(e.blobs!==void 0||e.blobVersionedHashes!==void 0||e.maxFeePerBlobGas!==void 0||e.sidecars!==void 0)return`eip4844`;if(e.maxFeePerGas!==void 0||e.maxPriorityFeePerGas!==void 0)return`eip1559`;if(e.gasPrice!==void 0)return e.accessList===void 0?`legacy`:`eip2930`;throw new Co({transaction:e})}Yu(),Mo(),Zu();function Gd(e,{docsPath:t,...n}){let r=(()=>{let t=Xu(e,n);return t instanceof Ju?e:t})();return new Do(r,{docsPath:t,...n})}Rn();async function Kd(e){return Ln(await e.request({method:`eth_chainId`},{dedupe:!0}))}ma(),ed(),sd(),hd();async function qd(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=N(n),r=a?a.id:await E(e,Kd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();md(t);let x=a?.formatters?.transactionRequest?.format,S=(x||rd)({...$u(y,{format:x}),account:n?N(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||xd)(n.tx);delete r.blockHash,delete r.blockNumber,delete r.r,delete r.s,delete r.transactionIndex,delete r.v,delete r.yParity,r.data=r.input,r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let i=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await E(e,Td,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new gd;let o=10**(i.toString().split(`.`)[1]?.length??0),s=e=>e*BigInt(Math.round(i*o))/BigInt(o);return r.feePayerSignature||(r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=s(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=s(r.gasPrice))),{raw:n.raw,transaction:{from:S.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw Gd(n,{...t,chain:e.chain})}}ma(),Ei(),hd();let Jd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Yd=new Map,Xd=new Ti(128);async function Zd(e,t){let n=t;n.account??=e.account,n.parameters??=Jd;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,Kd,`getChainId`)({}),c):n.chainId)}let u=r&&N(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?N(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)||!(Xd.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,qd,`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 Xd.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.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`)})&&Xd.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,Td,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await E(e,jd,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=Md({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Ld({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Ud({blobs:p,commitments:e,proofs:Nd({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=Wd(n)}catch{let t=Yd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Yd.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 Od(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new vd({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new _d;if(n.gasPrice===void 0){let{gasPrice:t}=await Od(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,Qd,`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`})),md(n),delete n.parameters,n}ma(),k(),M(),ed(),sd(),dd(),hd();async function Qd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?N(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 Fu({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 Zd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?j(u):void 0)||d,C=ud(b);md(t);let w=e.chain?.formatters?.transactionRequest?.format,T=(w||rd)({...$u(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?[T,S??e.experimental_blockTag??`latest`,C]:S?[T,S]:[T]}))}catch(n){throw Qu(n,{...t,account:i,chain:e.chain})}}ma(),ya();async function $d(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=va({abi:n,args:i,functionName:a});try{return await E(e,Qd,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw Ds(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?N(s.account):void 0)?.address})}}function ef(e,t){if(!ji(e,{strict:!1}))throw new Ci({address:e});if(!ji(t,{strict:!1}))throw new Ci({address:t});return e.toLowerCase()===t.toLowerCase()}var tf=o((()=>{wi(),Pi()}));function nf(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(),Da(),Bt(),Si(),Ja(),Lt();let rf=`/docs/contract/decodeEventLog`;function af(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new tn({docsPath:rf});let c=t.find(e=>e.type===`event`&&o===xi(Pt(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new nn(o,{docsPath:rf});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]=of({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=Ia(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 Ta?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 of({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Ia([e],t)||[])[0]}tf(),$n(),di(),Si();function sf(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:xi(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?nf(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=af({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=af({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)||!cf({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function cf(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`?ef(t,n):e.type===`string`||e.type===`bytes`?ui(Gn(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 lf(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=ua({abi:t,args:n,name:r});if(!e)throw new rn(r,{docsPath:uf});a=e}if(a.type!==`function`)throw new rn(void 0,{docsPath:uf});if(!a.outputs)throw new an(a.name,{docsPath:uf});let o=Ia(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var uf,df=o((()=>{hn(),Ja(),pa(),uf=`/docs/contract/decodeFunctionResult`})),ff,pf=o((()=>{ff=`0.1.1`}));function mf(){return ff}var hf=o((()=>{pf()}));function gf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?gf(e.cause,t):t?null:e}var P,_f=o((()=>{hf(),P=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=n.docsOrigin??e.prototype.docsOrigin,o=`${a}${i??``}`,s=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,l=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i||s?[``,r?`Details: ${r}`:void 0,i?`See: ${o}`:void 0,s?`Version: ${c}`:void 0]:[]].filter(e=>typeof e==`string`).join(`\n`);super(l,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsOrigin\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"showVersion\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.cause=n.cause,this.details=r,this.docs=o,this.docsOrigin=a,this.docsPath=i,this.shortMessage=t,this.showVersion=s,this.version=c}walk(e){return gf(this,e)}},Object.defineProperty(P,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${mf()}`}}),P.setStaticOptions(P.defaultStaticOptions)}));function vf(e,t){if(Kf(e)>t)throw new ap({givenSize:Kf(e),maxSize:t})}function yf(e,t){if(typeof t==`number`&&t>0&&t>Kf(e)-1)throw new op({offset:t,position:`start`,size:Kf(e)})}function bf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Kf(e)!==n-t)throw new op({offset:n,position:`end`,size:Kf(e)})}function xf(e){if(e>=wf.zero&&e<=wf.nine)return e-wf.zero;if(e>=wf.A&&e<=wf.F)return e-(wf.A-10);if(e>=wf.a&&e<=wf.f)return e-(wf.a-10)}function Sf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new sp({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 Cf(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 wf,Tf=o((()=>{cp(),wf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function Ef(e,t){if(_p(e)>t)throw new Ap({givenSize:_p(e),maxSize:t})}function Df(e,t){if(typeof t==`number`&&t>0&&t>_p(e)-1)throw new jp({offset:t,position:`start`,size:_p(e)})}function Of(e,t,n){if(typeof t==`number`&&typeof n==`number`&&_p(e)!==n-t)throw new jp({offset:n,position:`end`,size:_p(e)})}function kf(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 Mp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function Af(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 jf=o((()=>{R()}));function Mf(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=>Mf(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)}:${Mf(r)}`),t},[]).join(`,`)}}`}function Nf(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Ff)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Pf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Ff:n,n)}var Ff,If=o((()=>{Ff=`#__bigint`}));function Lf(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 ip(e)}function Rf(...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 zf(e){return e instanceof Uint8Array?e:typeof e==`string`?Vf(e):Bf(e)}function Bf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Vf(e,t={}){let{size:n}=t,r=e;n&&(Ef(e,n),r=hp(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=xf(i.charCodeAt(t++)),r=xf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new P(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function Hf(e,t={}){let{size:n}=t,r=np.encode(e);return typeof n==`number`?(vf(r,n),Wf(r,n)):r}function Uf(e,t){return mc(e,t)}function Wf(e,t){return Sf(e,{dir:`right`,size:t})}function Gf(e){return crypto.getRandomValues(new Uint8Array(e))}function Kf(e){return e.length}function qf(e,t,n,r={}){let{strict:i}=r;yf(e,t);let a=e.slice(t,n);return i&&bf(a,t,n),a}function Jf(e,t={}){let{size:n}=t;return n!==void 0&&vf(e,n),yp(fp(e,t),t)}function Yf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(vf(r,n),r=Qf(r)),r.length>1||r[0]>1)throw new rp(r);return!!r[0]}function Xf(e,t={}){let{size:n}=t;return n!==void 0&&vf(e,n),xp(fp(e,t),t)}function Zf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(vf(r,n),r=$f(r)),tp.decode(r)}function Qf(e){return Cf(e,{dir:`left`})}function $f(e){return Cf(e,{dir:`right`})}function ep(e){try{return Lf(e),!0}catch{return!1}}var tp,np,rp,ip,ap,op,sp,cp=o((()=>{Mc(),_f(),R(),Tf(),jf(),If(),tp=new TextDecoder,np=new TextEncoder,rp=class extends P{constructor(e){super(`Bytes value \\`${e}\\` is not a valid boolean.`,{metaMessages:[\"The bytes array must contain a single byte of either a `0` or `1` value.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesBooleanError`})}},ip=class extends P{constructor(e){super(`Value \\`${typeof e==`object`?Pf(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`})}},ap=class extends P{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeOverflowError`})}},op=class extends P{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SliceOffsetOutOfBoundsError`})}},sp=class extends P{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeExceedsPaddingSizeError`})}}}));function lp(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new Dp(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new Op(e)}function F(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function up(e){return e instanceof Uint8Array?fp(e):Array.isArray(e)?fp(new Uint8Array(e)):e}function dp(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Ef(n,t.size),mp(n,t.size)):n}function fp(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Tp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Ef(r,t.size),hp(r,t.size)):r}function I(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Ep({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?mp(s,r):s}function pp(e,t={}){return fp(wp.encode(e),t)}function mp(e,t){return kf(e,{dir:`left`,size:t})}function hp(e,t){return kf(e,{dir:`right`,size:t})}function gp(e){return fp(Gf(e))}function L(e,t,n,r={}){let{strict:i}=r;Df(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&Of(a,t,n),a}function _p(e){return Math.ceil((e.length-2)/2)}function vp(e){return Af(e,{dir:`left`})}function yp(e,t={}){let{signed:n}=t;t.size&&Ef(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 bp(e,t={}){return Vf(e,t)}function xp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:yp(e,t))}function Sp(e,t={}){let{size:n}=t,r=Vf(e);return n&&(vf(r,n),r=$f(r)),new TextDecoder().decode(r)}function Cp(e,t={}){let{strict:n=!1}=t;try{return lp(e,{strict:n}),!0}catch{return!1}}var wp,Tp,Ep,Dp,Op,kp,Ap,jp,Mp,R=o((()=>{cp(),_f(),Tf(),jf(),If(),wp=new TextEncoder,Tp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Ep=class extends P{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \\`${i}\\` is not in safe${r?` ${r*8}-bit`:``}${n?` signed`:` unsigned`} integer range ${e?`(\\`${t}\\` to \\`${e}\\`)`:`(above \\`${t}\\`)`}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.IntegerOutOfRangeError`})}},Dp=class extends P{constructor(e){super(`Value \\`${typeof e==`object`?Pf(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`})}},Op=class extends P{constructor(e){super(`Value \\`${e}\\` is an invalid hex value.`,{metaMessages:['Hex values must start with `\"0x\"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexValueError`})}},kp=class extends P{constructor(e){super(`Hex value \\`\"${e}\"\\` is an odd length (${e.length-2} nibbles).`,{metaMessages:[`It must be an even length.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidLengthError`})}},Ap=class extends P{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeOverflowError`})}},jp=class extends P{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},Mp=class extends P{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeExceedsPaddingSizeError`})}}}));function Np(e){return{address:e.address,amount:I(e.amount),index:I(e.index),validatorIndex:I(e.validatorIndex)}}var Pp=o((()=>{R()}));function Fp(e){return{...typeof e.baseFeePerGas==`bigint`&&{baseFeePerGas:I(e.baseFeePerGas)},...typeof e.blobBaseFee==`bigint`&&{blobBaseFee:I(e.blobBaseFee)},...typeof e.feeRecipient==`string`&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit==`bigint`&&{gasLimit:I(e.gasLimit)},...typeof e.number==`bigint`&&{number:I(e.number)},...typeof e.prevRandao==`bigint`&&{prevRandao:I(e.prevRandao)},...typeof e.time==`bigint`&&{time:I(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Np)}}}var Ip=o((()=>{R(),Pp()})),Lp,Rp,zp,Bp,Vp,Hp,Up=o((()=>{Lp=[{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`}],Rp=[{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`}]}],zp=[{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`}],[...zp],[...zp],Bp=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Vp=[{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`}],Hp=[{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`}]}]})),Wp=o((()=>{})),Gp,Kp,qp,Jp,Yp=o((()=>{Gp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Kp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,qp=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,Jp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),Xp,Zp,Qp,$p,em,tm=o((()=>{k(),Xp=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`})}},Zp=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`})}},Qp=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`})}},$p=class extends O{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},em=class extends O{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function nm(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:rm});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new Kt({docsPath:rm});return Li([r,Ji(i.inputs,n)])}var rm,im=o((()=>{hn(),Ri(),sa(),rm=`/docs/contract/encodeDeployData`}));function am({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Xp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Xp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var om=o((()=>{tm()}));function sm(e,{docsPath:t,...n}){let r=(()=>{let t=Xu(e,n);return t instanceof Ju?e:t})();return new Ro(r,{docsPath:t,...n})}var cm=o((()=>{Wo(),Yu(),Zu()}));function lm(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var um=o((()=>{}));function dm({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=()=>fm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>fm.get(t)||[],l=e=>fm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=lm();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 fm,pm=o((()=>{um(),fm=new Map})),mm,hm,gm,_m=o((()=>{Qa(),k(),Lo(),mm=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=>` ${Io(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},hm=class extends O{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Io(t)}`,`Response: ${Za(e)}`],name:`OffchainLookupResponseMalformedError`})}},gm=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 vm(e){let{abi:t,data:n}=e,r=zi(n,0,4),i=t.find(e=>e.type===`function`&&r===ca(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?Ia(i.inputs,zi(n,4)):void 0}}var ym=o((()=>{hn(),Wi(),la(),Ja(),Lt()}));function bm(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=ua({abi:t,args:r,name:n});if(!e)throw new $t(n,{docsPath:xm});i=e}if(i.type!==`error`)throw new $t(void 0,{docsPath:xm});let a=Pt(i),o=ca(a),s=`0x`;if(r&&r.length>0){if(!i.inputs)throw new Qt(i.name,{docsPath:xm});s=Ji(i.inputs,r)}return Li([o,s])}var xm,Sm=o((()=>{hn(),Ri(),la(),sa(),Lt(),pa(),xm=`/docs/contract/encodeErrorResult`}));function Cm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=ua({abi:t,name:n});if(!e)throw new rn(n,{docsPath:wm});i=e}if(i.type!==`function`)throw new rn(void 0,{docsPath:wm});if(!i.outputs)throw new an(i.name,{docsPath:wm});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 Ji(i.outputs,a)}var wm,Tm=o((()=>{hn(),sa(),pa(),wm=`/docs/contract/encodeFunctionResult`}));async function Em(e){let{data:t,ccipRequest:n}=e,{args:[r]}=vm({abi:Rp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await Em({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=Dm(e)}})),Cm({abi:Rp,functionName:`query`,result:[i,a]})}function Dm(e){return e.name===`HttpRequestError`&&e.status?bm({abi:Rp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):bm({abi:[xa],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var Om=o((()=>{Up(),Ca(),ym(),Sm(),Tm()})),km=c({ccipRequest:()=>jm,offchainLookup:()=>Am,offchainLookupAbiItem:()=>Nm,offchainLookupSignature:()=>Mm});async function Am(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=Ya({data:r,abi:[Nm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:jm;try{if(!ef(a,s))throw new gm({sender:s,to:a});let{data:r}=await Fm(e,{blockNumber:t,blockTag:n,data:Fi([u,Ji([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await Em({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?No(i.signal):Po(e)?e:new mm({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function jm({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 No(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 Go({body:c,details:a?.error?Za(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!D(a)){i=new hm({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw No(t.signal);if(Po(e))throw e;i=new Go({body:c,details:e.message,url:o})}}throw i}var Mm,Nm,Pm=o((()=>{Km(),_m(),Yo(),Lo(),Xa(),sa(),tf(),Ri(),Rt(),Om(),Qa(),Mm=`0x556f1830`,Nm={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 Fm(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:T,...ee}=t,te=n?N(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?Vm({code:f,data:p}):re?Hm({data:p,factory:m,factoryData:h,to:C}):p;try{md(t);let n=kd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Fp(d):void 0,p=ud(T),m=e.chain?.formatters?.transactionRequest?.format,h=(m||rd)({...$u(ee,{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&&Im({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=zm(e,{blockNumber:o,deployless:t});if(!n||!Bm(p,n))return await Rm(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof $p)&&!(e instanceof Xp))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 No(S.signal);if(Po(n))throw n;let r=Um(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Pm(),km));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 Ho({factory:m}):sm(n,{...t,account:te,chain:e.chain})}}function Im({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 Lm(e){if(!e)return`default`;let t=Gm.get(e);if(t!==void 0)return t;let n=Wm++;return Gm.set(e,n),n}async function Rm(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?zm(e,{blockNumber:o,deployless:r}):u,h=kd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=dm({id:`${e.uid}.${g}.${Lm(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=va({abi:Lp,args:[n],functionName:`aggregate3`}),i={...m===null?{data:Vm({code:Jp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return lf({abi:Lp,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Uo({data:y});return y===`0x`?{data:void 0}:{data:y}}function zm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return am({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new $p}function Bm(e,t){return e?Object.keys(e).some(e=>ef(e,t)):!1}function Vm(e){let{code:t,data:n}=e;return nm({abi:jt([`constructor(bytes, bytes)`]),bytecode:Gp,args:[t,n]})}function Hm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return nm({abi:jt([`constructor(address, bytes, address, bytes)`]),bytecode:Kp,args:[i,t,n,r]})}function Um(e){if(!(e instanceof O))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Wm,Gm,Km=o((()=>{Nt(),Ip(),ma(),Up(),Wp(),Yp(),k(),tm(),Wo(),Lo(),df(),im(),ya(),tf(),Ad(),om(),cm(),ed(),sd(),pm(),dd(),hd(),Wm=0,Gm=new WeakMap}));df(),ya(),Km();async function qm(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=va({abi:n,args:i,functionName:a});try{let{data:t}=await E(e,Fm,`call`)({...o,data:s,to:r});return lf({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw Ds(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}ma(),df(),ya(),Km();async function Jm(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?N(s.account):e.account,l=va({abi:n,args:i,functionName:a});try{let{data:u}=await E(e,Fm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:lf({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 Ds(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}let Ym=new Map,Xm=new Map,Zm=0;function Qm(e,t,n){let r=++Zm,i=()=>Ym.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Ym.delete(e),Xm.delete(e);return}Ym.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Xm.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Ym.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`&&Xm.set(e,l),o}Lo();async function $m(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(No(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(No(t))};t?.addEventListener(`abort`,o,{once:!0})})}function eh(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await $m(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await $m(r),s())};s()})(),a}let th=new Map,nh=new Map;function rh(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,th),r=t(e,nh);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function ih(e,{cacheKey:t,cacheTime:n=1/0}){let r=rh(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 ah=e=>`blockNumber.${e}`;async function oh(e,{cacheTime:t=e.cacheTime}={}){let n=await ih(()=>e.request({method:`eth_blockNumber`}),{cacheKey:ah(e.uid),cacheTime:t});return BigInt(n)}k();var sh=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`})}},ch=class extends O{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};tm();function lh({chain:e,currentChainId:t}){if(!e)throw new Qp;if(t!==e.id)throw new Zp({chain:e,currentChainId:t})}async function uh(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ma(),k(),Ri(),ed(),sd(),Ei(),hd();let dh=new Ti(128);async function fh(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 sh({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?N(n):null,b;try{md(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Fu({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,Kd,`getChainId`)({}),r&&lh({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||rd)({...$u(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=dh.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=>(dh.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(dh.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,Zd,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:t,parameters:[...Jd,`sidecars`],type:g,value:_,...v,to:n}),x=i?.serializers?.transaction,S=await y.signTransaction(r,{serializer:x});return await E(e,uh,`sendRawTransaction`)({serializedTransaction:S})}throw y?.type===`smart`?new ch({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new ch({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof ch?e:(b&&y?.nonceManager?.reset(b),Gd(e,{...t,account:y,chain:t.chain||void 0}))}}ma(),ya();async function z(e,t){return z.internal(e,fh,`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 sh({docsPath:`/docs/contract/writeContract`});let u=a?N(a):null,d=va({abi:i,args:s,functionName:c});try{return await E(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw Ds(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(z||={}),k();var ph=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}};Lo();function mh(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(No(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await $m(n,{signal:i})}catch(e){o(e);return}return s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(No(i));return}if(Po(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s().catch(o)})}Rn(),nd();let hh={\"0x0\":`reverted`,\"0x1\":`success`};function gh(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=>nf(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Ln(e.transactionIndex):null,status:e.status?hh[e.status]:null,type:e.type?bd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let _h=td(`transactionReceipt`,gh);ma(),k(),Es(),ya(),Ri(),Rn(),M();let vh=j(0,{size:32});async function yh(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?N(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?va({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Fi([n,t.dataSuffix]):n,to:t.to,value:t.value?j(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:j(r.id),from:l?.address,id:s,version:c}]},{retryCount:0});return typeof t==`string`?{id:t}:t}catch(n){let s=n;if(i&&(s.name===`MethodNotFoundRpcError`||s.name===`MethodNotSupportedRpcError`||s.name===`UnknownRpcError`||s.details.toLowerCase().includes(`does not exist / is not available`)||s.details.toLowerCase().includes(`missing or invalid. request()`)||s.details.toLowerCase().includes(`did not match any variant of untagged enum`)||s.details.toLowerCase().includes(`account upgraded to unsupported contract`)||s.details.toLowerCase().includes(`eip-7702 not supported`)||s.details.toLowerCase().includes(`unsupported wc_ method`)||s.details.toLowerCase().includes(`feature toggled misconfigured`)||s.details.toLowerCase().includes(`jsonrpcengine: response has no error or result for request`))){if(u&&Object.values(u).some(e=>!e.optional)){let e=\"non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.\";throw new _s(new O(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new Cs(new O(e,{details:e}))}let t=[];for(let n of d){try{let i=await fh(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?A(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:Fi([...t.map(e=>e.status===`fulfilled`?e.value:vh),j(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Gd(n,{...t,account:l,chain:t.chain})}}Wi(),Pn(),Rn();async function bh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Nn(Ui(t,-64,-32)),r=Ui(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>vh.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:Ln(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?Ln(i):void 0,receipts:a?.map(e=>({...e,blockNumber:A(e.blockNumber),gasUsed:A(e.gasUsed),status:hh[e.status]}))??[],statusCode:l,status:c,version:o}}k(),um(),Qa();async function xh(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=Za([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=lm(),p,m=Qm(l,{resolve:d,reject:f},t=>{let s=eh(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await mh(async()=>{let t=await E(e,bh,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new ph(t);return t},{retryCount:a,delay:o});if(!i(s))return;r(()=>t.resolve(s))}catch(e){r(()=>t.reject(e))}},{interval:r,emitOnBegin:!0});return s});return p=s?setTimeout(()=>{m(),clearTimeout(p),f(new Sh({id:n}))},s):void 0,await u}var Sh=class extends O{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let Ch=256,wh;function Th(e=11){if(!wh||Ch+e>512){wh=``,Ch=0;for(let e=0;e<256;e++)wh+=(256+Math.random()*256|0).toString(16).substring(1)}return wh.substring(Ch,Ch+++e)}ma();function Eh(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?N(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:Th(),...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];Dh(i)&&Dh(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:y(r)})}}return Object.assign(v,{extend:y(v)})}function Dh(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Oh(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}Ad();async function kh(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=kd({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}pd(),wi(),k(),tm(),Yu(),Pi(),Bt(),Wi(),Rn();function Ah(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!ji(n))throw new Ci({address:n});if(t<0)throw new em({chainId:t})}Mh(e)}function jh(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new zd;for(let e of t){let t=zt(e),n=Ln(zi(e,0,1));if(t!==32)throw new Bd({hash:e,size:t});if(n!==1)throw new Vd({hash:e,version:n})}}Mh(e)}function Mh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new em({chainId:t});if(i&&!ji(i))throw new Ci({address:i});if(r&&r>fd)throw new Ru({maxFeePerGas:r});if(n&&r&&n>r)throw new qu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function Nh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new em({chainId:t});if(a&&!ji(a))throw new Ci({address:a});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>fd)throw new Ru({maxFeePerGas:r})}function Ph(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!ji(a))throw new Ci({address:a});if(t!==void 0&&t<=0)throw new em({chainId:t});if(n||i)throw new O(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>fd)throw new Ru({maxFeePerGas:r})}wi(),Mo(),Pi();function Fh(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let{address:r,storageKeys:i}=e[n];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new Eo({storageKey:i[e]});if(!ji(r,{strict:!1}))throw new Ci({address:r});t.push([r,i])}return t}Mo(),Ri(),Pn(),M();function Ih(e,t){let n=Wd(e);return n===`eip1559`?zh(e,t):n===`eip2930`?Bh(e,t):n===`eip4844`?Rh(e,t):n===`eip7702`?Lh(e,t):Vh(e,t)}function Lh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Ah(e);let f=Fh(u),p=Uh(n);return Li([`0x04`,ku([j(r),a?j(a):`0x`,l?j(l):`0x`,c?j(c):`0x`,i?j(i):`0x`,o??`0x`,s?j(s):`0x`,d??`0x`,f,p,...Hh(e,t)])])}function Rh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;jh(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=>Vn(e)),n=e.kzg,r=Md({blobs:t,kzg:n});f===void 0&&(f=Ld({commitments:r})),p===void 0&&(p=Ud({blobs:t,commitments:r,proofs:Nd({blobs:t,commitments:r,kzg:n})}))}let m=Fh(u),h=[j(n),i?j(i):`0x`,l?j(l):`0x`,c?j(c):`0x`,r?j(r):`0x`,a??`0x`,o?j(o):`0x`,d??`0x`,m,s?j(s):`0x`,f??[],...Hh(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 Li([`0x03`,ku(p?[h,g,_,v]:h)])}function zh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;Mh(e);let d=Fh(l);return Li([`0x02`,ku([j(n),i?j(i):`0x`,c?j(c):`0x`,s?j(s):`0x`,r?j(r):`0x`,a??`0x`,o?j(o):`0x`,u??`0x`,d,...Hh(e,t)])])}function Bh(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;Nh(e);let u=Fh(c);return Li([`0x01`,ku([j(n),a?j(a):`0x`,l?j(l):`0x`,r?j(r):`0x`,o??`0x`,s?j(s):`0x`,i??`0x`,u,...Hh(e,t)])])}function Vh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;Ph(e);let l=[a?j(a):`0x`,c?j(c):`0x`,r?j(r):`0x`,o??`0x`,s?j(s):`0x`,i??`0x`];if(t){let e=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(n>0)return BigInt(n*2)+BigInt(35n+t.v-27n);let e=27n+(t.v===27n?0n:1n);if(t.v!==e)throw new xo({v:t.v});return e})(),r=Nn(t.r),i=Nn(t.s);l=[...l,j(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,j(n),`0x`,`0x`]);return ku(l)}function Hh(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?j(1):`0x`:r===0n?`0x`:r===1n?j(1):r===27n?`0x`:j(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}M();function Uh(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?zn(e):`0x`,a,r?zn(r):`0x`,...Hh({},i)])}return t}Ai(),tf();async function Wh({address:e,authorization:t,signature:n}){return ef(Oi(e),await Fu({authorization:t,signature:n}))}Ei();let Gh=new Ti(8192);function Kh(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Gh.get(n))return Gh.get(n);let r=e().finally(()=>Gh.delete(n));return Gh.set(n,r),r}k(),Yo(),Es(),Lo(),Qa();function qh(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 cs(Error(`method not supported`),{method:u});if(c?.aborted)throw No(c);return Kh(()=>mh(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw No(c);if(Po(e))throw e;let t=e;switch(t.code){case $o.code:throw new $o(t);case es.code:throw new es(t);case ts.code:throw new ts(t,{method:n.method});case ns.code:throw new ns(t);case rs.code:throw new rs(t);case is.code:throw new is(t);case as.code:throw new as(t);case os.code:throw new os(t);case ss.code:throw new ss(t);case cs.code:throw new cs(t,{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);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 5e3:throw new ds(t);case ws.code:throw new ws(t);default:throw e instanceof O?e:new Ts(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Go){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>Jh(e)}),{enabled:i,id:i?Yh(`${l}.${Za(n)}`):void 0})}}function Jh(e){return Po(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===ls.code||e.code===rs.code||e.code===429:e instanceof Go&&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 Yh(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 Xh(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 Zh(){return{}}k(),Mn(),Aa(),$n(),M();let Qh=1024;function $h(e,t=`hex`){let n=Oa((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Dn(e);return Jn(e)}return e})(),{recursiveReadLimit:1/0}),r=eg(n,t);if(n.position<n.bytes.length)throw new An({count:n.bytes.length-n.position});return r}function eg(e,t=`hex`,n=0){if(n>=Qh)throw new On({limit:Qh});if(e.bytes.length===0)return t===`hex`?Vn(e.bytes):e.bytes;let r=e.readByte();if(r<128&&e.decrementPosition(1),r<192){let n=tg(e,r,128),i=e.readBytes(n);return t===`hex`?Vn(i):i}return ng(e,tg(e,r,192),t,n+1)}function tg(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 ng(e,t,n,r){let i=e.position,a=[];for(;e.position-i<t;)a.push(eg(e,n,r));if(e.position-i!==t)throw new kn({consumed:e.position-i,declared:t});return a}Rt(),Bt();function rg(e){return D(e)&&zt(e)===32}Lo();function ig(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&&Po(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function ag(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let og=ag();Yo(),Lo(),Qa();function sg(e,t={}){let{url:n,headers:r}=lg(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 ig(async({signal:e})=>{let t={...u,body:Za(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??og.take(),...e})):{jsonrpc:`2.0`,id:i.id??og.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 Jo({body:i,url:n}),timeout:l,signal:!0});c&&await c(e);let t,m=await cg(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 Go({body:i,details:Za(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?No(p):Po(e)||e instanceof Go||e instanceof Ko||e instanceof Jo?e:new Go({body:i,cause:e,url:n})}}}}async function cg(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 Ko({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new Ko({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 Ko({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function lg(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}}}Ri(),Bt(),M();function ug(e){let t=typeof e==`string`?Hn(e):typeof e.raw==`string`?e.raw:Vn(e.raw);return Fi([Hn(`\u0019Ethereum Signed Message:\n${zt(t)}`),t])}di();function dg(e,t){return ui(ug(e),t)}Qa(),k();var fg=class extends O{constructor({domain:e}){super(`Invalid domain \"${Za(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},pg=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`.\"]})}},mg=class extends O{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}},hg=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(),wi(),Pi(),Bt(),M(),qi(),Qa();function gg(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 Za({domain:o,message:s,primaryType:r,types:i})}function _g(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 hg({type:r});let c=r.match(Ki);if(c&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=c;j(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!ji(o))throw new Ci({address:o});let l=r.match(Gi);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&&(yg(r),a(u,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new fg({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`){if(i[r])a(i[r],n);else throw new pg({primaryType:r,types:i})}}function vg({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 yg(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new mg({type:e})}sa(),Ri(),M(),di();function bg(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:vg({domain:t}),...e.types};_g({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(xg({domain:t,types:i})),r!==`EIP712Domain`&&a.push(Sg({data:n,primaryType:r,types:i})),ui(Fi(a))}function xg({domain:e,types:t}){return Sg({data:e,primaryType:`EIP712Domain`,types:t})}function Sg({data:e,primaryType:t,types:n}){return ui(Cg({data:e,primaryType:t,types:n}))}function Cg({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[wg({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Dg({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return Ji(r,i)}function wg({primaryType:e,types:t}){return ui(zn(Tg({primaryType:e,types:t})))}function Tg({primaryType:e,types:t}){let n=``,r=Eg({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 Eg({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])Eg({primaryType:e.type,types:t},n);return n}function Dg({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},ui(Cg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},ui(r)];if(n===`string`)return[{type:`bytes32`},ui(zn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Dg({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},ui(Ji(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var Og=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@1.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 kg(e,t){return e.exec(t)?.groups}let Ag=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,jg=/^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)?$/,Mg=/^\\(.+?\\).*?$/,Ng=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function Pg(e){let t=e.type;if(Ng.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+=Pg(i),r<n-1&&(t+=`, `)}let r=kg(Ng,e.type);return t+=`)${r?.array||``}`,Pg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Fg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Pg(i),r!==n-1&&(t+=`, `)}return t}function Ig(e){return e.type===`function`?`function ${e.name}(${Fg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Fg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Fg(e.inputs)})`:e.type===`error`?`error ${e.name}(${Fg(e.inputs)})`:e.type===`constructor`?`constructor(${Fg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Lg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Rg(e){return Lg.test(e)}function zg(e){return kg(Lg,e)}let Bg=new Set([`memory`,`indexed`,`storage`,`calldata`]),Vg=new Set([`calldata`,`memory`,`storage`]);var Hg=class extends Og{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},Ug=class extends Og{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}},Wg=class extends Og{constructor({params:e}){super(`Failed to parse ABI parameters.`,{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:`/api/human#parseabiparameters-1`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiParametersError`})}},Gg=class extends Og{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Kg=class extends Og{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},qg=class extends Og{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},Jg=class extends Og{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},Yg=class extends Og{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}},Xg=class extends Og{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},Zg=class extends Og{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}},Qg=class extends Og{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}},$g=class extends Og{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}};function e_(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 t_=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}]]),n_=/^(?<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$_]*))?$/,r_=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,i_=/^u?int$/;function a_(e,t){let n=e_(e,t?.type,t?.structs);if(t_.has(n))return t_.get(n);let r=Mg.test(e),i=kg(r?r_:n_,e);if(!i)throw new Gg({param:e});if(i.name&&l_(i.name))throw new Kg({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=o_(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(a_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(i_.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!s_(c))throw new Ug({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new qg({param:e,type:t?.type,modifier:i.modifier});if(Vg.has(i.modifier)&&!u_(c,!!i.array))throw new Jg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return t_.set(n,u),u}function o_(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_(o,[...t,n.trim()]):o_(o,t,`${n}${i}`,r);case`(`:return o_(o,t,`${n}${i}`,r+1);case`)`:return o_(o,t,`${n}${i}`,r-1);default:return o_(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new $g({current:n,depth:r});return t.push(n.trim()),t}function s_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||Ag.test(e)||jg.test(e)}let c_=/^(?: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 l_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||Ag.test(e)||jg.test(e)||c_.test(e)}function u_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function d_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Rg(n))continue;let i=zg(n);if(!i)throw new Xg({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=a_(t,{type:`struct`});o.push(n)}if(!o.length)throw new Zg({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]=p_(a,t)}return r}let f_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function p_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Mg.test(i.type))r.push(i);else{let e=kg(f_,i.type);if(!e?.type)throw new Yg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new Qg({type:o});r.push({...i,type:`tuple${a??``}`,components:p_(t[o],t,new Set([...n,o]))})}else if(s_(o))r.push(i);else throw new Hg({type:o})}}return r}function m_(e){let t=[];if(typeof e==`string`){let n=o_(e),r=n.length;for(let e=0;e<r;e++)t.push(a_(n[e],{modifiers:Bg}))}else{let n=d_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Rg(r))continue;let a=o_(r),o=a.length;for(let e=0;e<o;e++)t.push(a_(a[e],{modifiers:Bg,structs:n}))}}if(t.length===0)throw new Wg({params:e});return t}let h_={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;$s(),li(),cp(),R();function g_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=ci(zf(e));return n===`Bytes`?r:fp(r)}function __(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Qs(Pd,zf(e),zf(t));return r===`Bytes`?i:fp(i)}function v_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Pd(zf(e));return n===`Bytes`?r:fp(r)}function y_(e){return Cp(e)&&_p(e)===32}cp(),_f(),R(),If();function b_(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 D_({prefix:r,cause:new k_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new D_({prefix:r,cause:new O_});return}throw new E_({publicKey:e})}function x_(e){let t=(()=>{if(Cp(e))return C_(e);if(ep(e))return S_(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 b_(t),t}function S_(e){return C_(fp(e))}function C_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new A_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(L(e,0,32)),y:BigInt(L(e,32,64))}:e.length===132?{prefix:Number(L(e,0,1)),x:BigInt(L(e,1,33)),y:BigInt(L(e,33,65))}:{prefix:Number(L(e,0,1)),x:BigInt(L(e,1,33))}}function w_(e,t={}){return Vf(T_(e,t))}function T_(e,t={}){b_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return F(a?I(n,{size:1}):`0x`,I(r,{size:32}),typeof i==`bigint`?I(i,{size:32}):`0x`)}var E_=class extends P{constructor({publicKey:e}){super(`Value \\`${Pf(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`})}},D_=class extends P{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},O_=class extends P{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},k_=class extends P{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},A_=class extends P{constructor({publicKey:e}){super(`Value \\`${e}\\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${_p(up(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};cp(),_f();let j_=/^0x[a-fA-F0-9]{40}$/;function M_(e,t={}){let{strict:n=!0}=t;if(!j_.test(e))throw new R_({address:e,cause:new z_});if(n){if(e.toLowerCase()===e)return;if(N_(e)!==e)throw new R_({address:e,cause:new B_})}}function N_(e){if(h_.has(e))return h_.get(e);M_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=g_(Hf(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 h_.set(e,i),i}function P_(e,t={}){let{checksum:n=!1}=t;return M_(e),n?N_(e):e}function F_(e,t={}){return P_(`0x${g_(`0x${T_(e).slice(4)}`).substring(26)}`,t)}function I_(e,t){return M_(e,{strict:!1}),M_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function L_(e,t={}){let{strict:n=!0}=t??{};try{return M_(e,{strict:n}),!0}catch{return!1}}var R_=class extends P{constructor({address:e,cause:t}){super(`Address \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidAddressError`})}},z_=class extends P{constructor(){super(`Address is not a 20 byte (40 hexadecimal character) value.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidInputError`})}},B_=class extends P{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let V_=/^(.*)\\[([0-9]*)\\]$/,H_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,U_=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n));let W_=2n**256n-1n;cp(),_f(),R();function G_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=lv(t.type);if(a){let[n,o]=a;return q_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return Z_(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return K_(e,{checksum:r});if(t.type===`bool`)return J_(e);if(t.type.startsWith(`bytes`))return Y_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return X_(e,t);if(t.type===`string`)return Q_(e,{staticPosition:i});throw new Ev(t.type)}function K_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?N_(e):e)(fp(qf(e.readBytes(32),-20))),32]}function q_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(i===null){let n=a+Xf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Xf(e.readBytes(32)),s=uv(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=G_(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(uv(t)){let n=a+Xf(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=G_(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]=G_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n),i===0&&(e.assertReadLimit(),e._touch())}return[s,o]}function J_(e){return[Yf(e.readBytes(32),{size:32}),32]}function Y_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Xf(e.readBytes(32));e.setPosition(n+t);let r=Xf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[fp(i),32]}return[fp(e.readBytes(Number.parseInt(i,10),32)),32]}function X_(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?Jf(i,{signed:n}):Xf(i,{signed:n}),32]}function Z_(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(uv(t)){let n=i+Xf(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=G_(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]=G_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function Q_(e,{staticPosition:t}){let n=t+Xf(e.readBytes(32));e.setPosition(n);let r=Xf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Zf(Qf(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function $_({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(ev({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function ev({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=lv(r.type);if(i){let[t,a]=i;return rv(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return cv(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return nv(n,{checksum:e});if(r.type===`bool`)return av(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=U_.exec(r.type)??[];return ov(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return iv(n,{type:r.type});if(r.type===`string`)return sv(n);throw new Ev(r.type)}function tv(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];t+=r?32:_p(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(I(t+i,{size:32})),r.push(s),i+=_p(s)):n.push(s)}return F(...n,...r)}function nv(e,t){let{checksum:n=!1}=t;return M_(e,{strict:n}),{dynamic:!1,encoded:mp(e.toLowerCase())}}function rv(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new Tv(e);if(!a&&e.length!==r)throw new Sv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=e.length===0&&uv(i),s=[];for(let t=0;t<e.length;t++){let r=ev({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=tv(s);if(a){let t=I(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?F(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:F(...s.map(({encoded:e})=>e))}}function iv(e,{type:t}){let[,n]=t.split(`bytes`),r=_p(e);if(!n){let t=e;return r%32!=0&&(t=hp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:F(mp(I(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new Cv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:hp(e)}}function av(e){if(typeof e!=`boolean`)throw new P(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:mp(dp(e))}}function ov(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 Ep({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:I(e,{size:32,signed:t})}}function sv(e){let t=pp(e),n=Math.ceil(_p(t)/32),r=[];for(let e=0;e<n;e++)r.push(hp(L(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:F(hp(I(_p(t),{size:32})),...r)}}function cv(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=ev({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?tv(a):F(...a.map(({encoded:e})=>e))}}function lv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function uv(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(uv);let n=lv(e.type);return!!(n&&uv({...e,type:n[1]}))}_f();let dv={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 hv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new mv({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new pv({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 pv({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 fv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(dv);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var pv=class extends P{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},mv=class extends P{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.PositionOutOfBoundsError`})}},hv=class extends P{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.RecursiveReadLimitExceededError`})}};cp(),_f(),R();function gv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Vf(t):t,o=fv(a);if(Kf(a)===0&&e.length>0)throw new xv;if(Kf(a)&&Kf(a)<32)throw new bv({data:typeof t==`string`?t:fp(t),parameters:e,size:Kf(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]=G_(o,n,{checksumAddress:i,staticPosition:0});s+=u,r===`Array`?c.push(l):c[n.name??t]=l}return c}function _v(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new wv({expectedLength:e.length,givenLength:t.length});let i=tv($_({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function vv(e,t){if(e.length!==t.length)throw new wv({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(vv.encode(i,a))}return F(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return M_(e),mp(e.toLowerCase(),r?32:0)}if(e===`string`)return pp(n);if(e===`bytes`)return n;if(e===`bool`)return mp(dp(n),r?32:1);let i=e.match(U_);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return I(n,{size:r?32:o,signed:t===`int`})}let a=e.match(H_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new Cv({expectedSize:Number.parseInt(t,10),value:n});return hp(n,r?32:0)}let o=e.match(V_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:F(...i)}throw new Ev(e)}e.encode=t})(vv||={});function yv(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?m_(e):e}var bv=class extends P{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Fg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},xv=class extends P{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},Sv=class extends P{constructor({expectedLength:e,givenLength:t,type:n}){super(`Array length mismatch for type \\`${n}\\`. Expected: \\`${e}\\`. Given: \\`${t}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ArrayLengthMismatchError`})}},Cv=class extends P{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${_p(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},wv=class extends P{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding parameters/values length mismatch.`,`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.LengthMismatchError`})}},Tv=class extends P{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},Ev=class extends P{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};cp(),_f(),R();function Dv(e){return Ov(e,`Hex`)}function Ov(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return kv(fv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new kp(e);return Vf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function kv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?fp(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=Av(e,n,128),i=e.readBytes(r);return t===`Hex`?fp(i):i}return jv(e,Av(e,n,192),t)}function Av(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new P(`Invalid RLP prefix`)}function jv(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(kv(e,n));return i}function Mv(e,t){let{as:n}=t,r=Pv(e),i=fv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?fp(i.bytes):i.bytes}function Nv(e,t={}){let{as:n=`Hex`}=t;return Mv(e,{as:n})}function Pv(e){return Array.isArray(e)?Fv(e.map(e=>Pv(e))):Iv(e)}function Fv(e){let t=e.reduce((e,t)=>e+t.length,0),n=Lv(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function Iv(e){let t=typeof e==`string`?Vf(e):e,n=Lv(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function Lv(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new P(`Length is too large.`)}_f(),R(),If();function Rv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new Qv({signature:e});if(e.r<0n||e.r>W_)throw new $v({value:e.r});if(e.s<0n||e.s>W_)throw new ey({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new ty({value:e.yParity})}function zv(e){return Bv(fp(e))}function Bv(e){if(e.length!==130&&e.length!==132)throw new Zv({signature:e});let t=BigInt(L(e,0,32)),n=BigInt(L(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return Yv(t)}catch{throw new ty({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function Vv(e){if(e.r!==void 0&&e.s!==void 0)return Hv(e)}function Hv(e){let t=typeof e==`string`?Bv(e):e instanceof Uint8Array?zv(e):typeof e.r==`string`?Wv(e):e.v?Uv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Rv(t),t}function Uv(e){return{r:e.r,s:e.s,yParity:Yv(e.v)}}function Wv(e){let t=(()=>{let t=e.v?Number(e.v):void 0,n=e.yParity?Number(e.yParity):void 0;if(typeof t==`number`&&typeof n!=`number`&&(n=Yv(t)),typeof n!=`number`)throw new ty({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Gv(e){let[t,n,r]=e;return Hv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Kv(e){Rv(e);let t=e.r,n=e.s;return F(I(t,{size:32}),I(n,{size:32}),typeof e.yParity==`number`?I(Xv(e.yParity),{size:1}):`0x`)}function qv(e){let{r:t,s:n,yParity:r}=e;return{r:I(t,{size:32}),s:I(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function Jv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:vp(I(t)),n===0n?`0x`:vp(I(n))]}function Yv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new ny({value:e})}function Xv(e){if(e===0)return 27;if(e===1)return 28;throw new ty({value:e})}var Zv=class extends P{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${_p(up(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Qv=class extends P{constructor({signature:e}){super(`Signature \\`${Pf(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},$v=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidRError`})}},ey=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSError`})}},ty=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidYParityError`})}},ny=class extends P{constructor({value:e}){super(`Value \\`${e}\\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidVError`})}};R();function ry(e,t={}){return typeof e.chainId==`string`?iy(e):{...e,...t.signature}}function iy(e){let{address:t,chainId:n,nonce:r}=e,i=Vv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function ay(e){return e.map(iy)}function oy(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:I(n),nonce:I(r),...qv(i)}}function sy(e){return e.map(oy)}Tu(),cp(),R();function cy(e){let{privateKey:t}=e;return x_(uu.ProjectivePoint.fromPrivateKey(up(t).slice(2)))}function ly(e){return F_(uy(e))}function uy(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return x_(new uu.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(up(t).substring(2)))}function dy(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=uu.sign(zf(r),zf(i),{extraEntropy:typeof t==`boolean`?t:up(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function fy(e){let{hash:t,payload:n}=e;return e.address?I_(e.address,ly({payload:n,signature:e.signature})):uu.verify(e.signature,zf(n),w_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}_f(),R();let py=yv(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function my(e){if(typeof e==`string`){if(L(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new _y(e)}else Rv(e.authorization)}function hy(e){my(e);let t=xp(L(e,-64,-32)),n=L(e,-t-64,-64),r=L(e,0,-t-64),[i,a,o]=gv(py,n);return{authorization:ry({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 gy(e){try{return my(e),!0}catch{return!1}}var _y=class extends P{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc8010.InvalidWrappedSignatureError`})}};Mo(),Wi(),Rn();function vy(e){let t=Ui(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`&&Ln(t)>=192)return`legacy`;throw new wo({serializedType:t})}wi(),Mo(),Pi(),Rt(),Cn(),Pn(),Rn();function yy(e){let t=vy(e);return t===`eip1559`?Sy(e):t===`eip2930`?Cy(e):t===`eip4844`?xy(e):t===`eip7702`?by(e):wy(e)}function by(e){let t=Ty(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new To({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,authorizationList:d,...t.length>9?{v:f,r:p,s:m}:{}},serializedTransaction:e,type:`eip7702`});let h={chainId:Ln(n),type:`eip7702`};return D(s)&&s!==`0x`&&(h.to=s),D(o)&&o!==`0x`&&(h.gas=A(o)),D(l)&&l!==`0x`&&(h.data=l),D(r)&&(h.nonce=r===`0x`?0:Ln(r)),D(c)&&c!==`0x`&&(h.value=A(c)),D(a)&&a!==`0x`&&(h.maxFeePerGas=A(a)),D(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=A(i)),u.length!==0&&u!==`0x`&&(h.accessList=Ey(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=Dy(d)),Ah(h),{...t.length===13?Oy(t):void 0,...h}}function xy(e){let t=Ty(e),n=t.length===4,r=n?t[0]:t,i=n?t.slice(1):[],[a,o,s,c,l,u,d,f,p,m,h,g,_,v]=r,[y,b,x]=i;if(r.length!==11&&r.length!==14)throw new To({attributes:{chainId:a,nonce:o,maxPriorityFeePerGas:s,maxFeePerGas:c,gas:l,to:u,value:d,data:f,accessList:p,...r.length>9?{v:g,r:_,s:v}:{}},serializedTransaction:e,type:`eip4844`});let S={blobVersionedHashes:h,chainId:Ln(a),to:u,type:`eip4844`};return D(l)&&l!==`0x`&&(S.gas=A(l)),D(f)&&f!==`0x`&&(S.data=f),D(o)&&(S.nonce=o===`0x`?0:Ln(o)),D(d)&&d!==`0x`&&(S.value=A(d)),D(m)&&m!==`0x`&&(S.maxFeePerBlobGas=A(m)),D(c)&&c!==`0x`&&(S.maxFeePerGas=A(c)),D(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=A(s)),p.length!==0&&p!==`0x`&&(S.accessList=Ey(p)),y&&b&&x&&(S.sidecars=Ud({blobs:y,commitments:b,proofs:x})),jh(S),{...r.length===14?Oy(r):void 0,...S}}function Sy(e){let t=Ty(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(t.length!==9&&t.length!==12)throw new To({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,...t.length>9?{v:d,r:f,s:p}:{}},serializedTransaction:e,type:`eip1559`});let m={chainId:Ln(n),type:`eip1559`};return D(s)&&s!==`0x`&&(m.to=s),D(o)&&o!==`0x`&&(m.gas=A(o)),D(l)&&l!==`0x`&&(m.data=l),D(r)&&(m.nonce=r===`0x`?0:Ln(r)),D(c)&&c!==`0x`&&(m.value=A(c)),D(a)&&a!==`0x`&&(m.maxFeePerGas=A(a)),D(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=A(i)),u.length!==0&&u!==`0x`&&(m.accessList=Ey(u)),Mh(m),{...t.length===12?Oy(t):void 0,...m}}function Cy(e){let t=Ty(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(t.length!==8&&t.length!==11)throw new To({attributes:{chainId:n,nonce:r,gasPrice:i,gas:a,to:o,value:s,data:c,accessList:l,...t.length>8?{v:u,r:d,s:f}:{}},serializedTransaction:e,type:`eip2930`});let p={chainId:Ln(n),type:`eip2930`};return D(o)&&o!==`0x`&&(p.to=o),D(a)&&a!==`0x`&&(p.gas=A(a)),D(c)&&c!==`0x`&&(p.data=c),D(r)&&(p.nonce=r===`0x`?0:Ln(r)),D(s)&&s!==`0x`&&(p.value=A(s)),D(i)&&i!==`0x`&&(p.gasPrice=A(i)),l.length!==0&&l!==`0x`&&(p.accessList=Ey(l)),Nh(p),{...t.length===11?Oy(t):void 0,...p}}function wy(e){let t=$h(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(t.length!==6&&t.length!==9)throw new To({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(D(a)&&a!==`0x`&&(d.to=a),D(i)&&i!==`0x`&&(d.gas=A(i)),D(s)&&s!==`0x`&&(d.data=s),D(n)&&(d.nonce=n===`0x`?0:Ln(n)),D(o)&&o!==`0x`&&(d.value=A(o)),D(r)&&r!==`0x`&&(d.gasPrice=A(r)),Ph(d),t.length===6)return d;let f=D(c)&&c!==`0x`?A(c):0n;if(u===`0x`&&l===`0x`)return f>0&&(d.chainId=Number(f)),d;let p=f,m=Number((p-35n)/2n);if(m>0)d.chainId=m;else if(p!==27n&&p!==28n)throw new xo({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function Ty(e){return $h(`0x${e.slice(4)}`,`hex`)}function Ey(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!ji(r,{strict:!1}))throw new Ci({address:r});t.push({address:r,storageKeys:i.map(e=>rg(e)?e:Nn(e))})}return t}function Dy(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:Ln(r),nonce:a===`0x`?0:Ln(a),...Oy([o,s,c])})}return t}function Oy(e){let t=e.slice(-3),n=t[0]===`0x`?0n:A(t[0]);if(n!==0n&&n!==1n)throw new So({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}}lo();function ky(e,t){return to(e,t)}lo();function Ay(e,t){return io(e,t)}Mo(),M();async function jy(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:j(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,j(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,j(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,j(s)]},{dedupe:!0})),!u)throw new Oo({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||xd)(u,`getTransaction`)}Mo();async function My(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new ko({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||gh)(n,`getTransactionReceipt`)}Up(),Yp(),hn(),k(),Wo(),df(),ya(),om(),pm(),Qa();async function Ny(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 am({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=va({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=Ds(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?Py(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,qm,`readContract`)({...h===null?{code:Jp}:{address:h},abi:Lp,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 Uo({data:r});let e=lf({abi:s,args:u,data:r,functionName:l});S.push(i?{result:e,status:`success`}:e)}catch(e){let t=Ds(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 Py(e,t){let{batchSize:n,call:r,multicallAddress:i,...a}=t,{wait:o=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{schedule:s}=dm({id:Za([`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,qm,`readContract`)({...i===null?{code:Jp}:{address:i},...a,abi:Lp,args:[t],functionName:`aggregate3`})}),[c]=await s(r);return c}_f();function Fy(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,`error`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new P(`Unable to normalize signature.`);return i}function Iy(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return L_(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,n)=>Iy(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=>Iy(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function Ly(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 Ly(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&L_(n[r],{strict:!1}))return o}}_f(),R();function Ry(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=Cp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?zy(e)===L(t,0,4):e.type===`event`&&Vy(e)===t:`name`in e&&e.name===t);if(o.length===0)throw new Uy({name:t});if(o.length===1)return{...o[0],...i?{hash:Vy(o[0])}:{}};let s;for(let e of o)if(`inputs`in e){if(!r||r.length===0){if(!e.inputs||e.inputs.length===0)return{...e,...i?{hash:Vy(e)}:{}};continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===r.length&&r.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?Iy(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=Ly(e.inputs,s.inputs,r);if(t)throw new Hy({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 Uy({name:t});return{...c,...i?{hash:Vy(c)}:{}}}function zy(...e){return L(Vy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return Ry(t,n)}return e[0]})()),0,4)}function By(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Ry(t,n)}return e[0]})();return Fy(typeof t==`string`?t:Ig(t))}function Vy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Ry(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:g_(pp(By(t)))}var Hy=class extends P{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Fy(Ig(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${Fy(Ig(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`})}},Uy=class extends P{constructor({name:e,data:t,type:n=`item`}){let r=e?` with name \"${e}\"`:t?` with data \"${t}\"`:``;super(`ABI ${n}${r} not found.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.NotFoundError`})}};function Wy(e){return zy(e)}_f(),R();function Gy(e){if(L(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Jy(e)}function Ky(e){let{data:t,signature:n,to:r}=e;return F(_v(yv(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function qy(e){try{return Gy(e),!0}catch{return!1}}var Jy=class extends P{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc6492.InvalidWrappedSignatureError`})}};Tu(),Rn(),$n();function Yy({r:e,s:t,to:n=`hex`,v:r,yParity:i}){let a=(()=>{if(i===0||i===1)return i;if(r&&(r===27n||r===28n||r>=35n))return+(r%2n==0n);throw Error(\"Invalid `v` or `yParity` value\")})(),o=`0x${new uu.Signature(A(e),A(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Jn(o)}Up(),Yp(),Wo(),im(),ya(),Ai(),tf(),Ri(),Rt(),Rn(),M(),Km();async function Xy(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?Yy(e):Vn(e)})();try{if(s===`eoa`)try{if(ef(Oi(n),await Ou({hash:i,signature:c})))return!0}catch{}return gy(c)?await Zy(e,{...t,multicallAddress:o,signature:c}):await Qy(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(ef(Oi(n),await Ou({hash:i,signature:c})))return!0}catch{}if(e instanceof eb)return!1;throw e}}async function Zy(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}=hy(t.signature);if(await kh(e,{address:n,blockHash:r,blockNumber:i,blockTag:a,requireCanonical:c})===Li([`0xef0100`,l.address]))return await $y(e,{...t,signature:d});let p={address:l.address,chainId:Number(l.chainId),nonce:Number(l.nonce),r:j(l.r,{size:32}),s:j(l.s,{size:32}),yParity:l.yParity};if(!await Wh({address:n,authorization:p}))throw new eb;let m=await E(e,qm,`readContract`)({...s?{address:s}:{code:Jp},authorizationList:[p],abi:Lp,blockHash:r,blockNumber:i,blockTag:`pending`,functionName:`aggregate3`,requireCanonical:c,args:[[...u?[{allowFailure:!0,target:f??n,callData:u}]:[],{allowFailure:!0,target:n,callData:va({abi:Bp,functionName:`isValidSignature`,args:[o,d]})}]]});if((m[m.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new eb}async function Qy(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||qy(o)?o:Ky({data:i,signature:o,to:r}))(),u=s?{to:s,data:va({abi:Vp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:nm({abi:Vp,args:[n,a,l],bytecode:qp}),...c},{data:d}=await E(e,Fm,`call`)(u).catch(e=>{throw e instanceof Ro?new eb:e});if(In(d??`0x0`))return!0;throw new eb}async function $y(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,requireCanonical:s,signature:c}=t;if((await E(e,qm,`readContract`)({address:n,abi:Bp,args:[o,c],blockHash:r,blockNumber:i,blockTag:a,functionName:`isValidSignature`,requireCanonical:s}).catch(e=>{throw e instanceof zo?new eb:e})).startsWith(`0x1626ba7e`))return!0;throw new eb}var eb=class extends Error{};Rn(),Qa();function tb(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?Qm(Za([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>eh(async()=>{try{let t=await E(e,oh,`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})):Qm(Za([`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=A(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}Mo(),um(),Qa();async function nb(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=Za([`waitForTransactionReceipt`,e.uid,i]),u=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,d,f,p,m=!1,h,g,{promise:_,resolve:v,reject:y}=lm(),b=c?setTimeout(()=>{g?.(),h?.(),y(new jo({hash:i}))},c):void 0;return h=Qm(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await E(e,My,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=E(e,tb,`watchBlockNumber`)({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:u,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 mh(async()=>{d=await E(e,jy,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await E(e,My,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof Oo||n instanceof ko){if(!d){m=!1;return}try{f=d,m=!0;let n=await mh(()=>E(e,Td,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof yd});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await E(e,My,`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))}}})}),_}function rb(e){let{scheme:t,statement:n,...r}=e.match(ib)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,...l}=e.match(ab)?.groups??{},u=e.split(`Resources:`)[1]?.split(`\n- `).slice(1);return{...r,...l,...i?{chainId:Number(i)}:{},...a?{expirationTime:new Date(a)}:{},...o?{issuedAt:new Date(o)}:{},...s?{notBefore:new Date(s)}:{},...c?{requestId:c}:{},...u?{resources:u}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}let ib=/^(?:(?<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)?/,ab=/(?: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>.+))?/;Pi(),tf(),ya();function ob(e,t){return{amount:e,decimals:t,formatted:ky(e,t)}}function sb(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return Ay(e.formatted,cb(n))}function cb(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function lb(e,t){return typeof e==`bigint`?t:e.decimals??t}function ub(e,t){let{decimals:n,token:r}=t,i=db(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(ji(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 db(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=pb(n,t);if(i)return fb(i,r);if(ji(t,{strict:!1}))for(let e of n){let n=fb(e,r);if(n&&ef(n.address,t))return n}}function fb(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 pb(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=fb(e,r);if(n&&ef(n.address,t))return n.decimals}}function hb(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 gb(e){return{...e,data:va(e),to:e.address}}Up();async function _b(e,t){return _b.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 gb(vb(e,t))}e.call=n;async function r(t,n){return $d(t,{...hb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Jm(t,{...hb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:Hp,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(_b||={});function vb(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=ub(e,{token:i});return{abi:Hp,address:a,args:[r,sb(n,o)],functionName:`approve`}}Mo();async function yb(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||gh)(i);if(a.status===`reverted`&&n)throw new Ao({receipt:a});return a}ma(),k(),Mo(),Ri(),ed(),sd(),Ei(),hd();let bb=new Ti(128);async function xb(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 sh({docsPath:`/docs/actions/wallet/sendTransactionSync`});let S=n?N(n):null,C;try{md(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Fu({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,Kd,`getChainId`)({}),r&&lh({currentChainId:t,chain:i}));let C=e.chain?.formatters?.transactionRequest?.format,w=(C||rd)({...$u(b,{format:C}),accessList:a,account:S,authorizationList:o,blobs:s,chainId:t,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:v,value:y},`sendTransaction`),T=bb.get(e.uid),ee=T?`wallet_sendTransaction`:`eth_sendTransaction`,te=await(async()=>{try{return await e.request({method:ee,params:[w]},{retryCount:0})}catch(t){if(T===!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=>(bb.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(bb.set(e.uid,!1),n):r});throw n}})(),ne=await E(e,nb,`waitForTransactionReceipt`)({checkReplacement:!1,hash:te,pollingInterval:g,timeout:x});if(_&&ne.status===`reverted`)throw new Ao({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,Zd,`prepareTransactionRequest`)({account:S,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Fi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:r,parameters:[...Jd,`sidecars`],type:v,value:y,...b,to:n}),x=i?.serializers?.transaction,w=await S.signTransaction(g,{serializer:x});return await E(e,yb,`sendRawTransactionSync`)({serializedTransaction:w,throwOnReceiptRevert:_,timeout:t.timeout})}throw S?.type===`smart`?new ch({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new ch({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:S?.type})}catch(e){throw e instanceof ch?e:(C&&!(e instanceof Ao)&&S?.nonceManager?.reset(C),Gd(e,{...t,account:S,chain:t.chain||void 0}))}}async function Sb(e,t){return z.internal(e,xb,`sendTransactionSync`,t)}async function Cb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=ub(e,{token:r}),o=lb(n,a),s=await _b.inner(Sb,e,{...t,throwOnReceiptRevert:i}),{args:c}=_b.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:ky(c.value,o)},receipt:s}}Up();async function wb(e,t){return wb.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 gb(Tb(e,t))}e.call=n;async function r(t,n){return $d(t,{...hb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Jm(t,{...hb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:Hp,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(wb||={});function Tb(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=ub(e,{token:a}),c=sb(n,s);return r?{abi:Hp,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:Hp,address:o,args:[i,c],functionName:`transfer`}}async function Eb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=ub(e,{token:r}),o=lb(n,a),s=await wb.inner(Sb,e,{...t,throwOnReceiptRevert:i}),{args:c}=wb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:ky(c.value,o)},receipt:s}}M();async function Db(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId:j(n),chainName:r,nativeCurrency:i,rpcUrls:a.default.http,blockExplorerUrls:o?Object.values(o).map(({url:e})=>e):void 0}]},{dedupe:!0,retryCount:0})}im();function Ob(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=nm({abi:n,args:r,bytecode:i});return fh(e,{...a,...a.authorizationList?{to:null}:{},data:o})}Ai();async function kb(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Di(e))}ma(),M();async function Ab(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?N(n):void 0,a=r?[i?.address,[j(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 jb(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}ma(),tf();async function Mb(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new sh({docsPath:`/docs/eip7702/prepareAuthorization`});let a=N(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:N(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,Kd,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await E(e,jd,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&ef(o.address,a.address))&&(s.nonce+=1)),s}Ai();async function Nb(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>Oi(e))}async function Pb(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}async function Fb(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await E(e,yh,`sendCalls`)(t);return await E(e,xh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function Ib(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}ma();async function Lb(e,t){let{account:n=e.account}=t;if(!n)throw new sh({docsPath:`/docs/eip7702/signAuthorization`});let r=N(n);if(!r.signAuthorization)throw new ch({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await Mb(e,t);return r.signAuthorization(i)}ma(),M();async function Rb(e,{account:t=e.account,message:n}){if(!t)throw new sh({docsPath:`/docs/actions/wallet/signMessage`});let r=N(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Hn(n):n.raw instanceof Uint8Array?zn(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}ma(),M(),sd(),hd();async function zb(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new sh({docsPath:`/docs/actions/wallet/signTransaction`});let a=N(n);md({account:a,...t});let o=await E(e,Kd,`getChainId`)({});r!==null&&lh({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||rd;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:j(o),from:a.address}]},{retryCount:0})}ma();async function Bb(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new sh({docsPath:`/docs/actions/wallet/signTypedData`});let o=N(n),s={EIP712Domain:vg({domain:r}),...t.types};if(_g({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=gg({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}M();async function Vb(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:j(t)}]},{retryCount:0})}async function Hb(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function Ub(e){return{addChain:t=>Db(e,t),deployContract:t=>Ob(e,t),fillTransaction:t=>qd(e,t),getAddresses:()=>kb(e),getCallsStatus:t=>bh(e,t),getCapabilities:t=>Ab(e,t),getChainId:()=>Kd(e),getPermissions:()=>jb(e),prepareAuthorization:t=>Mb(e,t),prepareTransactionRequest:t=>Zd(e,t),requestAddresses:()=>Nb(e),requestPermissions:t=>Pb(e,t),sendCalls:t=>yh(e,t),sendCallsSync:t=>Fb(e,t),sendRawTransaction:t=>uh(e,t),sendRawTransactionSync:t=>yb(e,t),sendTransaction:t=>fh(e,t),sendTransactionSync:t=>xb(e,t),showCallsStatus:t=>Ib(e,t),signAuthorization:t=>Lb(e,t),signMessage:t=>Rb(e,t),signTransaction:t=>zb(e,t),signTypedData:t=>Bb(e,t),switchChain:t=>Vb(e,t),waitForCallsStatus:t=>xh(e,t),watchAsset:t=>Hb(e,t),writeContract:t=>z(e,t),writeContractSync:t=>Sb(e,t),token:{approve:Oh(e,_b),approveSync:Oh(e,Cb),transfer:Oh(e,wb),transferSync:Oh(e,Eb)}}}function Wb(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return Eh({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(Ub)}function Gb({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=Th();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:qh(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Kb(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Gb({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}k();var qb=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`})}};Yo(),pm();let Jb=0,Yb=new WeakMap;function Xb(e){if(!e)return`default`;let t=Yb.get(e);if(t!==void 0)return t;let n=Jb++;return Yb.set(e,n),n}function Zb(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 qb;let x=sg(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return Gb({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}=dm({id:`${b}.${Xb(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 qo({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}_f(),R();function Qb(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&M_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>y_(e)?e:vp(e))})}return t}function $b(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(_p(r[e])!==32)throw new ex({storageKey:r[e]});n&&M_(n,{strict:!1}),t.push([n,r])}return t}var ex=class extends P{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${_p(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};cp();let tx=new TextEncoder,nx=new TextDecoder,rx=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),ix={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function ax(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]=rx[r>>18],i[t+1]=rx[r>>12&63],i[t+2]=rx[r>>6&63],i[t+3]=rx[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=nx.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function ox(e,t={}){return ax(Vf(e),t)}function sx(e,t={}){return ax(Hf(e),t)}function cx(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);tx.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(ix[r[e]]<<18)+(ix[r[e+1]]<<12)+(ix[r[e+2]]<<6)+ix[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 lx(e){return Zf(cx(e))}let ux={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},dx={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function fx(e,t={}){if(!e)return null;let n=Vv(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=ay(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=dx[e.type]??e.type),n&&(r.v=Xv(n.yParity)),r}cp(),_f(),R();function px(e,t={}){let{as:n=`Hex`}=t,r=Dx(e),i=fv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?fp(i.bytes):i.bytes}var mx=class extends P{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},hx=class extends P{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},gx=class extends P{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},_x=class extends P{constructor({tag:e}){super(`CBOR tagged data (tag ${e}) is not yet supported.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedTagError`})}},vx=class extends P{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},yx=class extends P{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},bx=class extends P{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},xx=class extends P{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},Sx=class extends P{constructor({number:e}){super(`Number exceeds maximum safe integer (${2**53-1}): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.NumberTooLargeError`})}},Cx=class extends P{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},wx=class extends P{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},Tx=class extends P{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},Ex=class extends P{constructor({size:e}){super(`Byte string length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ByteStringTooLargeError`})}};function Dx(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 Dx.number(e);if(typeof e==`bigint`)throw new bx;if(typeof e==`string`)return Dx.string(e);if(Array.isArray(e))return Dx.array(e);if(e instanceof Uint8Array)return Dx.byteString(e);if(e instanceof ArrayBuffer)return Dx.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return Dx.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return Dx.map(e);if(typeof e==`object`)return Dx.object(e);throw new xx({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 Sx({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 Sx({number:e.toString(10)})}e.number=t;function n(e){let t=Hf(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 Cx({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 wx({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 Ex({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 Tx({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 Tx({size:i})}e.map=o})(Dx||={});function Ox(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Ox.readUnsignedInteger(e,r);case 1:return Ox.readNegativeInteger(e,r);case 2:return Ox.readByteString(e,r);case 3:return Ox.readTextString(e,r);case 4:return Ox.readArray(e,r);case 5:return Ox.readMap(e,r);case 6:throw new _x({tag:r});case 7:return Ox.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 gx:new hx({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 vx({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 vx({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return Zf(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 yx({value:t});return}throw new hx({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}})(Ox||={}),_f();function kx(e){let t=w_(e),n=t.slice(1,33),r=t.slice(33,65);return px(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}Xs(),Ll(),rl();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Ax=Gc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),jx=Il({a:Ax.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:Ax,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},qs),Mx=Gc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));Il({a:Mx.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:Mx,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Ys);let Nx=Gc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));Il({a:Nx.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:Nx,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Js);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Px=jx,Fx=jx;cp(),R();function Ix(e){let{privateKey:t}=e;return x_(Fx.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):fp(t).slice(2)))}function Lx(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Fx.sign(r instanceof Uint8Array?r:Vf(r),i instanceof Uint8Array?i:Vf(i),{extraEntropy:typeof t==`boolean`?t:up(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Rx(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Fx.verify(i,n instanceof Uint8Array?n:Vf(n),T_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}var zx=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 Bx(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw Vx(r.error);return r.result}function Vx(e){let t=e;if(t instanceof Error&&!(`code`in t))return new $x({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===$x.code?new $x(t):n===Ux.code?new Ux(t):n===Qx.code?new Qx(t):n===Xx.code?new Xx(t):n===Jx.code?new Jx(t):n===Zx.code?new Zx(t):n===qx.code?new qx(t):n===eS.code?new eS(t):n===Wx.code?new Wx(t):n===Gx.code?new Gx(t):n===Kx.code?new Kx(t):n===Yx.code?new Yx(t):new $x({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Hx=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??``}},Ux=class e extends Hx{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(Ux,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Wx=class e extends Hx{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(Wx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Gx=class e extends Hx{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(Gx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var Kx=class e extends Hx{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(Kx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var qx=class e extends Hx{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(qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var Jx=class e extends Hx{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(Jx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var Yx=class e extends Hx{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(Yx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var Xx=class e extends Hx{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(Xx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var Zx=class e extends Hx{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(Zx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var Qx=class e extends Hx{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(Qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var $x=class e extends Hx{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($x,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var eS=class e extends Hx{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(eS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),_f();var tS=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}},nS=class extends tS{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(nS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var rS=class extends tS{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(rS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var iS=class extends tS{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(iS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var aS=class extends tS{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(aS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var oS=class extends tS{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(oS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var sS=class extends tS{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(sS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var cS=class extends tS{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(cS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var lS=class extends tS{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(lS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var uS=class extends tS{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(uS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var dS=class extends tS{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(dS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var fS=class extends tS{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(fS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var pS=class extends tS{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(pS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var mS=class extends tS{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(mS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function hS(){let e=new zx.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 gS(e,t={}){if(!e)throw new vS;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?Bx(n):n}catch(e){throw _S(e)}}}}function _S(e){let t=Vx(e);if(t instanceof $x){if(!t.data)return t;let{code:e}=t.data;if(e===aS.code)return new aS(t);if(e===oS.code)return new oS(t);if(e===nS.code)return new nS(t);if(e===rS.code)return new rS(t);if(e===iS.code)return new iS(t);if(e===sS.code)return new sS(t);if(e===pS.code)return new pS(t);if(e===mS.code)return new mS(t);if(e===fS.code)return new fS(t);if(e===dS.code)return new dS(t);if(e===uS.code)return new uS(t);if(e===lS.code)return new lS(t);if(e===cS.code)return new cS(t)}return t}var vS=class extends P{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function yS(e={}){let t=e.id??0;return{prepare(e){return bS({id:t++,...e})},get id(){return t}}}function bS(e){return{...e,jsonrpc:`2.0`}}function xS(){return null}R();function SS(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=sy(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=I(e.chainId)),e.data===void 0?e.input!==void 0&&(t.data=e.input,t.input=e.input):(t.data=e.data,t.input=e.data),e.from!==void 0&&(t.from=e.from),e.gas!==void 0&&(t.gas=I(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=I(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=I(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=I(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=I(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=I(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=I(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=ux[e.type]||e.type),e.value!==void 0&&(t.value=I(e.value)),t}_f();let CS={wei:0,gwei:9,szabo:12,finney:15,ether:18};function wS(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 TS(e,t=`wei`){return wS(e,CS.gwei-CS[t])}_f();var ES=class extends P{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${TS(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`})}},DS=class extends P{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID \"${e}\" is invalid.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},OS=class extends P{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},kS=class extends P{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${TS(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${TS(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function AS(e){let t=Px.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}R();function jS(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=F(v_(pp(r)),I(n,{size:1}),I(i,{size:4}));if(!t)return a;let o=fp(new Uint8Array(16)),s=fp(t.id);return F(a,o,I(t.id.length,{size:2}),s,kx(t.publicKey))}function MS(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:ox(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}cp(),_f(),R();function NS(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:cx(e),type:`public-key`})):[{id:cx(t),type:`public-key`}]}:{},challenge:Vf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function PS(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=jS({flag:i,rpId:o,signCount:s}),u=MS({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=v_(pp(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:F(l,d)}}async function FS(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:NS(n);try{let e=await t(r);if(!e)throw new IS;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=AS(o);return{id:s,metadata:{authenticatorData:fp(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new IS({cause:e})}}var IS=class extends P{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function LS(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Vf(s);if(u.length<37||a!==void 0&&!Uf(u.slice(0,32),v_(pp(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||fp(cx(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Rx({hash:!0,payload:Rf(u,v_(Hf(c),{as:`Bytes`})),publicKey:i,signature:o})}let RS=PS;async function zS(e){return FS(e)}function BS(e){return LS(e)}cp();async function VS(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=x_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function HS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,zf(t)),i=Bf(new Uint8Array(r)),a=Jf(qf(i,0,32)),o=Jf(qf(i,32,64));return o>Px.CURVE.n/2n&&(o=Px.CURVE.n-o),{r:a,s:o}}_f(),R();let US=2049,WS=`0x${`00`.repeat(32)}`;function GS(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&_p(t)!==32)throw new ZS({reason:`salt must be 32 bytes`});if(r.length===0)throw new ZS({reason:`owners cannot be empty`});if(r.length>255)throw new ZS({reason:`too many owners`});if(!Number.isInteger(Number(n)))throw new ZS({reason:`threshold must be an integer`});if(Number(n)<1)throw new ZS({reason:`threshold cannot be zero`});if(Number(n)>8)throw new ZS({reason:`threshold exceeds max threshold`});let i=0,a;for(let e of r){if(!L_(e.owner)||yp(e.owner)===0n)throw new ZS({reason:`owner cannot be zero`});if(!Number.isInteger(Number(e.weight)))throw new ZS({reason:`owner weight must be an integer`});if(Number(e.weight)<1)throw new ZS({reason:`owner weight cannot be zero`});let t=yp(e.owner);if(a!==void 0&&a>=t)throw new ZS({reason:`owners must be strictly ascending`});a=t,i+=Number(e.weight)}if(i>255)throw new ZS({reason:`total owner weight exceeds u8 max`});if(Number(n)>i)throw new ZS({reason:`threshold exceeds total owner weight`})}function KS(e){let t=[...e.owners].sort((e,t)=>yp(e.owner)<yp(t.owner)?-1:1),n={salt:e.salt?mp(e.salt,32):WS,threshold:e.threshold,owners:t};return GS(n),n}function qS(e){let[t,n,r]=e;return{salt:t&&t!==`0x`?mp(t,32):WS,threshold:n===`0x`?0:xp(n),owners:r.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:xp(n)}})}}function JS(e){GS(e);let t=P_(L(g_(F(pp(`tempo:multisig:account`),mp(e.salt??WS,32),I(e.threshold,{size:1}),I(e.owners.length,{size:1}),...e.owners.flatMap(e=>[e.owner,I(e.weight,{size:1})]))),12,32));if(yp(t)===0n)throw new ZS({reason:`derived account cannot be zero`});return t}function YS(e){let{payload:t}=e,n=`account`in e&&e.account?e.account:JS(e.genesisConfig);return g_(F(pp(`tempo:multisig:signature`),up(t),n))}function XS(e){GS(e);let t=e.owners.map(e=>[e.owner,I(e.weight)]);return[e.salt?mp(e.salt,32):WS,I(e.threshold),t]}var ZS=class extends P{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}};_f(),R(),If();let QS=`0x01`,$S=`0x02`,eC=`0x03`,tC=`0x04`,nC=`0x05`,rC=`0x7777777777777777777777777777777777777777777777777777777777777777`;function iC(e){let t=fC(e);if(t===`secp256k1`){Rv(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 vC({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 vC({envelope:e,missing:n,type:`webAuthn`});return}if(t===`keychain`){iC(e.inner);return}if(t===`multisig`){aC(e,1);return}}function aC(e,t){let n=[];if(e.account||n.push(`account`),Array.isArray(e.signatures)||n.push(`signatures`),n.length>0)throw new vC({envelope:e,missing:n,type:`multisig`});if(t>2)throw new bC({reason:`multisig nesting depth exceeds 2`});if(!L_(e.account))throw new bC({reason:`multisig account is invalid`});if(yp(e.account)===0n)throw new bC({reason:`multisig account cannot be zero`});if(e.signatures.length===0)throw new bC({reason:`multisig signatures cannot be empty`});if(e.signatures.length>8)throw new bC({reason:`multisig signatures exceed 8`});if(e.init&&(GS(e.init),!I_(JS(e.init),e.account)))throw new bC({reason:`multisig init does not derive account`});for(let n of e.signatures){let e=fC(n);if(e===`keychain`)throw new bC({reason:`keychain owner approvals are not allowed`});if(e===`multisig`){let e=n;if(e.init)throw new bC({reason:\"nested multisig owner approvals cannot carry `init`\"});aC(e,t+1)}else iC(n);if(_p(pC(n))>2049)throw new bC({reason:`multisig owner signature exceeds ${US} 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:F_(sC(e))}function sC(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return uy({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return sC({payload:t,signature:n.inner});case`multisig`:throw new _C({envelope:n})}}function cC(e){return lC(e,0)}function lC(e,t){let n=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?L(e,0,-_p(rC)):e;if(_p(n)===65){let e=Bv(n);return Rv(e),{signature:e,type:`secp256k1`}}let r=L(n,0,1),i=L(n,1),a=_p(i);if(r===QS){if(a!==129)throw new yC({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${a} bytes`,serialized:n});return{publicKey:{prefix:4,x:yp(L(i,64,96)),y:yp(L(i,96,128))},prehash:xp(L(i,128,129))!==0,signature:{r:yp(L(i,0,32)),s:yp(L(i,32,64))},type:`p256`}}if(r===$S){if(a<128)throw new yC({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${a} bytes`,serialized:n});let e=a-128,t=L(i,0,e),r,o;for(let n=37;n<e;n++){let e=Sp(L(t,n));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),r=L(t,0,n),o=e;break}catch{}}if(!r||!o)throw new yC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:n});return{publicKey:{prefix:4,x:yp(L(i,e+64,e+96)),y:yp(L(i,e+96,e+128))},metadata:{authenticatorData:r,clientDataJSON:o},signature:{r:yp(L(i,e,e+32)),s:yp(L(i,e+32,e+64))},type:`webAuthn`}}if(r===eC||r===tC)return{userAddress:L(i,0,20),inner:lC(L(i,20),t),type:`keychain`,version:r===tC?`v2`:`v1`};if(r===nC){let e=t+1;if(e>2)throw new yC({reason:`multisig nesting depth exceeds 2`,serialized:n});let r=Dv(i);if(!Array.isArray(r)||r.length!==2)throw new yC({reason:`invalid multisig wire shape: expected exactly two fields`,serialized:n});let[a,o]=r;if(!Array.isArray(o)||o.some(Array.isArray))throw new yC({reason:`invalid multisig signatures list`,serialized:n});if(o.length===0)throw new yC({reason:`multisig signatures cannot be empty`,serialized:n});if(o.length>8)throw new yC({reason:`multisig signatures exceed 8`,serialized:n});for(let e of o)if(_p(e)>2049)throw new yC({reason:`multisig owner signature exceeds ${US} bytes`,serialized:n});if(!Array.isArray(a)&&!L_(a))throw new yC({reason:`invalid multisig account`,serialized:n});if(Array.isArray(a)){let[e,t,r]=a;if(a.length!==3||Array.isArray(e)||_p(e)!==32||Array.isArray(t)||_p(t)>1||!Array.isArray(r)||r.some(e=>!Array.isArray(e)||e.length!==2||e.some(Array.isArray)||_p(e[1])>1))throw new yC({reason:`invalid multisig init config`,serialized:n})}let s=Array.isArray(a)?qS(a):void 0,c={type:`multisig`,account:s?JS(s):a,signatures:o.map(t=>lC(t,e)),...s?{init:s}:{}};return aC(c,e),c}throw new yC({reason:`Unknown signature type identifier: ${r}. Expected ${QS} (P256), ${$S} (WebAuthn), ${eC} (Keychain V1), ${tC} (Keychain V2), or ${nC} (Multisig)`,serialized:n})}function uC(e,t){if(typeof e==`string`)return cC(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=fC(e);if(n===`multisig`){let{genesisConfig:t,init:r,...i}=e,a=i.account?i.account:t?JS(t):i.account,o=r===!0?t:r||void 0;return{...i,account:a,signatures:i.signatures.map(e=>uC(e)),...o?{init:KS(o)}:{},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:F_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:F_(uy({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function dC(e){if(e.type===`secp256k1`)return{signature:Wv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:yp(e.pubKeyX),y:yp(e.pubKeyY)},signature:{r:yp(e.r),s:yp(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=_p(t),r,i;for(let e=37;e<n;e++){let n=Sp(L(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=L(t,0,e),i=n;break}catch{}}if(!r||!i)throw new yC({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:yp(e.pubKeyX),y:yp(e.pubKeyY)},signature:{r:yp(e.r),s:yp(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e){let t=e;return{type:`keychain`,userAddress:t.userAddress,inner:dC(t.signature),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(e.type===`multisig`||`signatures`in e&&(`account`in e||`init`in e)){let t=e,n=t.account!==void 0,r=t.init!==void 0;if(n===r)throw new bC({reason:\"RPC multisig must contain exactly one of `account` or `init`\"});let i=r?KS(t.init):void 0,a={type:`multisig`,account:i?JS(i):t.account,signatures:t.signatures.map(e=>dC(e)),...i?{init:i}:{}};return iC(a),a}throw new _C({envelope:e})}function fC(e){if(typeof e!=`object`||!e)throw new _C({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||`genesisConfig`in e||`init`in e)&&`signatures`in e)return`multisig`;throw new _C({envelope:e})}function pC(e,t={}){let n=fC(e);if(n===`secp256k1`)return F(Kv(e.signature),t.magic?rC:`0x`);if(n===`p256`){let n=e;return F(QS,I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),I(+!!n.prehash,{size:1}),t.magic?rC:`0x`)}if(n===`webAuthn`){let n=e,r=F(n.metadata.authenticatorData,pp(n.metadata.clientDataJSON));return F($S,r,I(n.signature.r,{size:32}),I(n.signature.s,{size:32}),I(n.publicKey.x,{size:32}),I(n.publicKey.y,{size:32}),t.magic?rC:`0x`)}if(n===`keychain`){let n=e;return F(n.version===`v1`?eC:tC,n.userAddress,pC(n.inner),t.magic?rC:`0x`)}if(n===`multisig`){let n=e;return iC(n),F(nC,Nv([n.init?XS(n.init):n.account,n.signatures.map(e=>pC(e))]),t.magic?rC:`0x`)}throw new _C({envelope:e})}function mC(e){let{payload:t,signatures:n}=e,r=YS(`genesisConfig`in e&&e.genesisConfig?{payload:t,genesisConfig:e.genesisConfig}:{payload:t,account:e.account});return n.map(e=>({key:yp(oC({payload:r,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function hC(e){let t=fC(e);if(t===`secp256k1`)return{...qv(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:I(t.publicKey.x,{size:32}),pubKeyY:I(t.publicKey.y,{size:32}),r:I(t.signature.r,{size:32}),s:I(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=F(t.metadata.authenticatorData,pp(t.metadata.clientDataJSON));return{pubKeyX:I(t.publicKey.x,{size:32}),pubKeyY:I(t.publicKey.y,{size:32}),r:I(t.signature.r,{size:32}),s:I(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return{type:`keychain`,userAddress:t.userAddress,signature:hC(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(t===`multisig`){let t=e;iC(t);let n=t.signatures.map(e=>hC(e));return t.init?{init:{...t.init,salt:t.init.salt??WS,threshold:Number(t.init.threshold),owners:t.init.owners.map(e=>({...e,weight:Number(e.weight)}))},signatures:n}:{account:t.account,signatures:n}}throw new _C({envelope:e})}function gC(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return F_(t.publicKey)})();if(!r)return!1;let i=uC(e);if(i.type===`secp256k1`)return r?fy({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return I_(F_(i.publicKey),r)?Rx({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return I_(F_(i.publicKey),r)?BS({challenge:up(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new xC(`Unable to verify signature envelope of type \"${i.type}\".`)}var _C=class extends P{constructor({envelope:e}){super(`Unable to coerce value (\\`${Pf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},vC=class extends P{constructor({envelope:e,missing:t,type:n}){super(`Signature envelope of type \"${n}\" is missing required properties: ${t.map(e=>`\\`${e}\\``).join(`, `)}.\\n\\nProvided: ${Pf(e)}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.MissingPropertiesError`})}},yC=class extends P{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},bC=class extends P{constructor({reason:e}){super(`Invalid native multisig owner approval: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidMultisigApprovalError`})}},xC=class extends P{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};_f(),R();function SC(e){return e.startsWith(`tempo`)?CC(e).address:e}function CC(e){if(!e.startsWith(`tempox`))throw new wC({address:e});let t=e.slice(6);return lp(t,{strict:!0}),{address:N_(t)}}var wC=class extends P{constructor({address:e}){super(`Tempo address \"${e}\" has an invalid prefix. Expected \"tempox\".`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};R();function TC(e,t={}){if(typeof e.chainId==`string`)return EC(e);let n={...e,address:SC(e.address)};return t.signature?{...n,signature:t.signature}:n}function EC(e){let{address:t,chainId:n,nonce:r}=e,i=dC(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function DC(e){return e.map(e=>EC(e))}function OC(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=cC(i)),TC(a)}function kC(e){let t=[];for(let n of e)t.push(OC(n));return t}function AC(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:I(n),nonce:I(r),signature:hC(i)}}function jC(e){return e.map(e=>AC(e))}function MC(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?pC(e.signature):void 0;return[n?I(n):`0x`,t,r?I(r):`0x`,...i?[i]:[]]}function NC(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(MC(n));return t}R();let PC=`0x20c0`;function FC(e){let t=SC(e);if(!t.toLowerCase().startsWith(PC))throw Error(`invalid tip20 address.`);return yp(L(t,6))}function IC(e){if(typeof e==`string`){let t=SC(e);return M_(t),t}let t=I(e,{size:18});return F(PC,t)}R();let LC=yv(`address, address, address, address, bytes32, address, bytes32, address, uint256`),RC=yv(`bytes32, bytes32, bytes32, uint256, address`),zC=yv(`bytes32, bytes32, uint96`),BC=g_(pp(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),VC=g_(pp(`TIP20 Channel Reserve`)),HC=g_(pp(`1`)),UC=`0x0000000000000000000000000000000000000000`,WC=`0x4d50500000000000000000000000000000000000`,GC=g_(pp(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function KC(e){let{authorizedSigner:t=UC,expiringNonceHash:n,operator:r=UC,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:XC(t),expiringNonceHash:n,operator:XC(r),payee:XC(i),payer:XC(a),salt:o,token:typeof s==`string`?XC(s):IC(s)}}function qC(e,t){let n=KC(e);return g_(_v(LC,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,WC,BigInt(t.chainId)]))}function JC(e){return g_(_v(RC,[BC,VC,HC,BigInt(e.chainId),WC]))}function YC(e){let t=g_(_v(zC,[GC,e.channelId,e.cumulativeAmount]));return g_(F(`0x1901`,JC({chainId:e.chainId}),t))}function XC(e){return P_(e)}R();function ZC(e,t={}){if(`keyId`in e)return QC(e);let n=e;n.witness!==void 0&&fw(n.witness),n.signature&&pw(n.signature);let r={...n,address:SC(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:SC(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:SC(e.address),selector:dw(e.selector),...e.recipients?{recipients:e.recipients.map(e=>SC(e))}:{}}))}:{}};if(t.signature){let e=uC(t.signature);return pw(e),{...r,signature:e}}return r}function QC(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,u=dC(e.signature);pw(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:uw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0,f=l!==void 0&&c?{account:l,isAdmin:!0}:{};return{address:r,chainId:n===`0x`?0n:yp(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&lw(e.period)>0?{period:lw(e.period)}:{}})),...d?{scopes:d}:{},signature:u,type:o,...s===void 0?{}:{witness:s},...f}}function $C(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`;default:throw Error(`Invalid key type: ${i}`)}})(),[c,l,u,d,f,p]=o,m=mw(c)?void 0:lw(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:cw(n),...r===void 0?{}:{period:lw(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,_=mw(d)?void 0:d;_!==void 0&&fw(_);let v=(()=>{if(!mw(f)){if(f!==`0x01`)throw new gw(f);return!0}})(),y=mw(p)?void 0:p,b=y!==void 0&&v?{account:y,isAdmin:!0}:{},x={address:a,chainId:r===`0x`?0n:yp(r),type:s,...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...b};if(n){let e=cC(n);pw(e),x.signature=e}return ZC(x)}function ew(e){return nw(e)}function tw(e){return $C(Dv(e))}function nw(e){let[t]=aw(e);return g_(Nv(t))}function rw(e){return Nv(aw(e))}function iw(e){let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;pw(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:dw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}})}return[...e.entries()].map(([e,t])=>({target:e,...t.length>0?{selectorRules:t}:{}}))})();return{chainId:r===0n?`0x`:I(r),expiry:typeof i==`number`?I(i):null,keyId:SC(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:I(t),...n?{period:sw(n)}:{}})),signature:hC(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function aw(e){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 pw(e.signature),pC(e.signature)})(),u=(()=>{switch(e.type){case`secp256k1`:return`0x`;case`p256`:return`0x01`;case`webAuthn`:return`0x02`;default:throw Error(`Invalid key type: ${e.type}`)}})(),d=a?.map(e=>{let t=[e.token,ow(e.limit)];return e.period&&e.period>0&&t.push(sw(e.period)),t}),f=(()=>{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([dw(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})(),p=o!==void 0||s||c!==void 0,m=[{value:i!=null&&i!==0?sw(i):void 0,placeholder:`0x`},{value:d,placeholder:p?`0x`:[]},{value:f,placeholder:`0x`},{value:o,placeholder:`0x`},{value:s?`0x01`:void 0,placeholder:`0x`},{value:c,placeholder:`0x`}],h=-1;for(let e=m.length-1;e>=0;e--)if(m[e].value!==void 0){h=e;break}let g=m.slice(0,h+1).map(({value:e,placeholder:t})=>e??t);return[[ow(n),u,t,...g],...l?[l]:[]]}function ow(e){return e===0n?`0x`:I(e)}function sw(e){return e===0?`0x`:I(e)}function cw(e){return e===`0x`?0n:BigInt(e)}function lw(e){return e===`0x`?0:xp(e)}function uw(e){return typeof e==`string`?e:Array.isArray(e)?fp(new Uint8Array(e)):e}function dw(e){if(e)return e.startsWith(`0x`)?e:zy(e)}function fw(e){if(_p(e)!==32)throw new hw(e)}function pw(e){if(e.type===`keychain`||e.type===`multisig`)throw new _w(e.type)}function mw(e){return e===void 0||e===`0x`}var hw=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${_p(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},gw=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`})}},_w=class extends Error{constructor(e){super(`Signature type \\`${e}\\` is invalid for key authorizations; expected \\`secp256k1\\`, \\`p256\\`, or \\`webAuthn\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidSignatureTypeError`})}};R();let vw={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function yw(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:g_(pp(vw[e]??e))}let bw={...ux,tempo:`0x76`},xw={...dx,\"0x76\":`tempo`};function Sw(e,t={}){if(!e)return null;let n=fx(e);return n.type=xw[e.type],e.aaAuthorizationList&&(n.authorizationList=DC(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=dC(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=QC(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=Wv(e.feePayerSignature),n.feePayerSignature.v=Xv(n.feePayerSignature.yParity)),n}R();function Cw(e){let t=SS({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=jC(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?SC(e.to):e.to,value:e.value?I(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?SC(e.to):void 0,value:e.value?I(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=IC(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=iw(e.keyAuthorization)),e.validBefore!==void 0&&(t.validBefore=I(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=I(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return gp(6);if(typeof e.nonceKey==`bigint`)return I(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=bw.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}_f(),R();let ww=`tempo`;function Tw(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new Nw;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new Pw({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&M_(e.to,{strict:!1});if(n<=0)throw new DS({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new ES({feeCap:r});if(i&&r&&i>r)throw new kS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function Ew(e){let t=Dv(L(e,1)),[n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]=t,_=Array.isArray(h)?h:void 0,v=_?g:h;if(t.length!==13&&t.length!==14&&t.length!==15)throw new OS({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:ww});let y={chainId:Number(n),type:ww};Cp(a)&&a!==`0x`&&(y.gas=BigInt(a)),Cp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),Cp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),Cp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),Cp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),Cp(u)&&u!==`0x`&&(y.validBefore=Number(u)),Cp(d)&&d!==`0x`&&(y.validAfter=Number(d)),Cp(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=Qb(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=kC(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||L_(p)?(y.feePayerSignature=null,L_(p)&&(y.from=p)):y.feePayerSignature=Gv(p)),_&&(y.keyAuthorization=$C(_));let b=v?cC(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=oC({payload:Aw(Dw(y)),signature:b,root:!0})}catch{}return Tw(y),y}function Dw(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?Ew(e):e;return i.from&&=SC(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:SC(e.to)}:{}})),Tw(i),{...i,...r?{signature:uC(r)}:{},...n?{feePayerSignature:Hv(n)}:{},type:`tempo`}}function Ow(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;Tw(e);let h=$b(n),g=t.signature||e.signature,_=NC(r),v=i.map(e=>[e.to?SC(e.to):`0x`,e.value?I(e.value):`0x`,e.data??`0x`]),y=!1,b=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&g){let t=uC(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return F_(t.publicKey);if(t.type===`secp256k1`)return ly({payload:Aw(Dw(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Jv(n):`0x`})(),x=[I(a),f?I(f):`0x`,d?I(d):`0x`,s?I(s):`0x`,v,h,u?I(u):`0x`,l?I(l):`0x`,typeof p==`number`?I(p):`0x`,typeof m==`number`?I(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?IC(o):`0x`,b,_,...c?[aw(c)]:[],...g?[pC(uC(g))]:[]];return F(t.format===`feePayer`?`0x78`:`0x76`,Nv(x))}function kw(e){return Ow({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function Aw(e,t={}){let n=jw(e,{presign:!0});return t.from?g_(F(`0x04`,n,SC(t.from))):n}function jw(e,t={}){return g_(t.presign?kw(e):Ow(e))}function Mw(e,t){let n=SC(t.sender);return g_(Ow({...e,signature:void 0},{sender:n,format:`feePayer`}))}var Nw=class extends P{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},Pw=class extends P{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};let Fw=[{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`}]}],Iw=[{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:[]}],Lw=[{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:[]}],Rw=[{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:[]}],zw=[{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:[]}],Bw=[{name:`createPair`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`base`}],outputs:[{type:`bytes32`,name:`key`}]},{name:`place`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`placeFlip`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`cancel`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`cancelStaleOrder`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`swapExactAmountIn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`},{type:`uint128`,name:`minAmountOut`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`swapExactAmountOut`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`},{type:`uint128`,name:`maxAmountIn`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`quoteSwapExactAmountIn`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`quoteSwapExactAmountOut`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`},{type:`address`,name:`token`}],outputs:[{type:`uint128`}]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`}],outputs:[]},{name:`getOrder`,type:`function`,stateMutability:`view`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`orderId`},{type:`address`,name:`maker`},{type:`bytes32`,name:`bookKey`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`remaining`},{type:`uint128`,name:`prev`},{type:`uint128`,name:`next`},{type:`bool`,name:`isFlip`},{type:`int16`,name:`flipTick`}]}]},{name:`getTickLevel`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`base`},{type:`int16`,name:`tick`},{type:`bool`,name:`isBid`}],outputs:[{type:`uint128`,name:`head`},{type:`uint128`,name:`tail`},{type:`uint128`,name:`totalLiquidity`}]},{name:`pairKey`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`tokenA`},{type:`address`,name:`tokenB`}],outputs:[{type:`bytes32`}]},{name:`nextOrderId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`books`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`pairKey`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`base`},{type:`address`,name:`quote`},{type:`int16`,name:`bestBidTick`},{type:`int16`,name:`bestAskTick`}]}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`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:[]}],B=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],Vw=[{name:`CLOSE_GRACE_PERIOD`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`VOUCHER_TYPEHASH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`open`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`uint96`,name:`deposit`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`}],outputs:[{type:`bytes32`,name:`channelId`}]},{name:`settle`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`topUp`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`additionalDeposit`}],outputs:[]},{name:`close`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`captureAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`requestClose`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`getChannel`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[{type:`tuple`,components:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`tuple`,name:`state`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]}]},{name:`getChannelState`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`}],outputs:[{type:`tuple`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`getChannelStatesBatch`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32[]`,name:`channelIds`}],outputs:[{type:`tuple[]`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`computeChannelId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}],outputs:[{type:`bytes32`}]},{name:`getVoucherDigest`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`},{type:`uint96`,name:`cumulativeAmount`}],outputs:[{type:`bytes32`}]},{name:`domainSeparator`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ChannelOpened`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`salt`},{type:`bytes32`,name:`expiringNonceHash`},{type:`uint96`,name:`deposit`}]},{name:`Settled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`deltaPaid`},{type:`uint96`,name:`newSettled`}]},{name:`TopUp`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`additionalDeposit`},{type:`uint96`,name:`newDeposit`}]},{name:`CloseRequested`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint256`,name:`closeGraceEnd`}]},{name:`ChannelClosed`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`settledToPayee`},{type:`uint96`,name:`refundedToPayer`}]},{name:`CloseRequestCancelled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0}]},{name:`ChannelAlreadyExists`,type:`error`,inputs:[]},{name:`ChannelNotFound`,type:`error`,inputs:[]},{name:`NotPayer`,type:`error`,inputs:[]},{name:`NotPayeeOrOperator`,type:`error`,inputs:[]},{name:`InvalidPayee`,type:`error`,inputs:[]},{name:`ZeroDeposit`,type:`error`,inputs:[]},{name:`ExpiringNonceHashNotSet`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`AmountExceedsDeposit`,type:`error`,inputs:[]},{name:`AmountNotIncreasing`,type:`error`,inputs:[]},{name:`CaptureAmountInvalid`,type:`error`,inputs:[]},{name:`CloseNotReady`,type:`error`,inputs:[]},{name:`DepositOverflow`,type:`error`,inputs:[]}],Hw=[{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`}]}],Uw=[{name:`policyIdCounter`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`policyExists`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`bool`}]},{name:`policyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint8`,name:`policyType`},{type:`address`,name:`admin`}]},{name:`isAuthorized`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedSender`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedMintRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`compoundPolicyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`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:`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:[]}],Ww=[{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:[]}],Gw=[{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:[]}],Kw=[{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`}]}],qw=[{type:`error`,name:`DelegateCallNotAllowed`,inputs:[]},{type:`error`,name:`InvalidMode`,inputs:[]},{type:`function`,name:`balanceOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint64`}]},{type:`function`,name:`modeOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint8`}]},{type:`function`,name:`budgetOf`,stateMutability:`view`,inputs:[{name:`account`,type:`address`}],outputs:[{type:`uint64`}]},{type:`function`,name:`setMode`,stateMutability:`nonpayable`,inputs:[{name:`newMode`,type:`uint8`}],outputs:[]},{type:`function`,name:`setBudget`,stateMutability:`nonpayable`,inputs:[{name:`creditBudget`,type:`uint64`}],outputs:[]}],Jw=[{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:[]}],Yw=[...Fw,...Iw,...Lw,...Rw,...zw,...Bw,...qw,...B,...Vw,...Hw,...Uw,...Ww,...Gw,...Kw,...Jw];R();function Xw(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.multisig!==void 0||e.nonceKey!==void 0||e.signature!==void 0||e.signatures!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:Wd(e)}function Zw(e){try{return Xw(e)===`tempo`}catch{return!1}}function Qw(e){let t=L(e,0,1);return t===`0x76`||t===`0x78`?eT(e):yy(e)}async function $w(e,t){if(!Zw(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 Ih(e,{r:I(n,{size:32}),s:I(r,{size:32}),yParity:i})}return Ih(e,t)}if(Xw(e)===`tempo`)return tT(e,t);throw Error(`Unsupported transaction type`)}function eT(e){let{feePayerSignature:t,nonce:n,...r}=Ew(e);return{...r,nonce:Number(n??0n),feePayerSignature:t&&{r:I(t.r,{size:32}),s:I(t.s,{size:32}),yParity:t.yParity}}}async function tT(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return uC({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,nonce:a,...o}=e,s=(()=>{let t=e.feePayerSignature;if(t)return{r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)};if(t===null||i)return null})(),c=e.feePayerSignature!==void 0&&e.feePayerSignature!==null,l=i===!0&&(!n||!s)||typeof i==`object`&&!n||!n&&c,u={...o,calls:o.calls?.length?o.calls:[{to:o.to||(!o.data||o.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:o.value,data:o.data}],chainId:Number(r),feePayerSignature:s,type:`tempo`,...a?{nonce:BigInt(a)}:{}},d={...u};l&&delete d.feeToken;let f=(()=>{if(n)return n;if(!e.multisig||!e.signatures)return;let t=mC({payload:Aw(Dw(d)),signatures:e.signatures.map(e=>uC(e)),genesisConfig:e.multisig});return uC({genesisConfig:e.multisig,signatures:t,...a||e.nonceKey?{}:{init:!0}})})();if(f&&typeof e.feePayer==`object`){let t=Dw(u,{signature:f}),n=Mw(t,{sender:e.from??oC({payload:Aw(t),root:!0,signature:f})});return Ow(t,{feePayerSignature:Hv(await e.feePayer.sign({hash:n}))})}return i===!0||!f&&c?f&&s?Ow(d,{signature:f}):f?Ow(d,{format:`feePayer`,sender:e.from,signature:f}):Ow(d,{feePayerSignature:null}):Ow(d,{feePayerSignature:void 0,signature:f})}R(),ma(),di();function nT(e){let{access:t}=e;return t?mT(e):pT(e)}function rT(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=Ix({privateKey:e});return nT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=RS({...t,challenge:n,rpId:i,origin:a});return pC({metadata:r,signature:Lx({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function iT(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Ix({privateKey:e});return nT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return pC({signature:Lx({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function aT(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=cy({privateKey:e});return nT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Kv(dy({payload:n,privateKey:e}))}})}function oT(e,t={}){let{id:n}=e,r=C_(e.publicKey);return nT({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await zS({...t,challenge:e,credentialId:n});return pC({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function sT(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return nT({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return pC({signature:await HS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function cT(e,t){let n=lT(t);return uT(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function lT(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return YC({chainId:t,channelId:typeof n==`string`?n:qC(n,{chainId:t}),cumulativeAmount:r})}function uT(e){return e.source===`accessKey`&&`accessKeyAddress`in e}async function dT(e,t){let{chainId:n,key:r,expiry:i,limits:a,scopes:o,witness:s,admin:c}=t,{accessKeyAddress:l,keyType:u}=hT(r),d=uT(e),f=d?{account:e.address}:{},p=c?{}:{expiry:i,limits:a,scopes:o},m=ew({address:l,chainId:n,type:u,witness:s,...c?{isAdmin:!0}:{},...f,...p});return ZC({address:l,chainId:n,signature:uC(d?await e.sign({hash:m,raw:!0}):await e.sign({hash:m})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...f,...p})}function fT(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??F_(e.publicKey),o=T_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?ui(F(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?pC(uC({userAddress:n,inner:uC(o),type:`keychain`,version:i})):o}return{address:N_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=uC(await s({hash:Pu({address:r,chainId:t,nonce:n})}));if(i.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+i.type+\"`.\");let{r:a,s:o,yParity:c}=i.signature;return{address:r,chainId:t,nonce:n,r:I(a,{size:32}),s:I(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:dg(t)})},async signTransaction(e,t){let{serializer:n=$w}=t??{},r=ui(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),i=e.multisig;return i?await s({hash:YS({payload:r,genesisConfig:i}),raw:!0}):await n(e,uC(await s({hash:r})))},async signTypedData(e){return await s({hash:bg(e)})},async signVoucher(e){let t=lT(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function pT(e){let t=fT(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}=hT(e),d=c?{}:{expiry:i,limits:a,scopes:o};return ZC({address:l,chainId:r,signature:uC(await t.sign({hash:ew({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function mT(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=N(t);return{...fT({...e,parentAddress:r}),accessKeyAddress:F_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function hT(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:F_(C_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let gT=`0xaAAAaaAA00000000000000000000000000000000`,_T=`0xfeec000000000000000000000000000000000000`,vT=`0xdec0000000000000000000000000000000000000`,yT=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function bT(e,t){return yT.indexOf(e)<yT.indexOf(t)}tf(),ya();function xT(e,t){let{decimals:n,token:r}=t;if(e&&typeof r==`string`){let t=CT(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=IC(r);return{address:i,decimals:n??(e?TT(e,i):void 0)}}function ST(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=CT(e,t);if(n)return n}let i=IC(t);for(let e of n){let t=wT(e,r);if(t&&ef(t.address,i))return t}}function CT(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 wT(e,r)}function wT(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 TT(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=wT(e,r);if(n&&ef(n.address,t))return n.decimals}}async function ET(e,t){let{address:n,decimals:r}=xT(e,t);return r===void 0?{address:n,decimals:await qm(e,{abi:B,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function DT(e){let{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,validAfter:d,validBefore:f}=e;return{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,validAfter:d,validBefore:f}}function OT(e){return e.length===2?e:[void 0,e[0]]}function V(e){return{...e,data:va(e),to:e.address}}ma();let kT={0:`secp256k1`,1:`p256`,2:`webAuthn`},AT={true:`limited`,false:`unlimited`};async function jT(e,t){return jT.inner(fh,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 dT(N(d),{chainId:BigInt(a),key:r,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]=sf({abi:Fw,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(jT||={});async function MT(e,t){return MT.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 V({address:gT,abi:Fw,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:Fw,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(MT||={});async function NT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=N(n),o=await qm(e,{...i,account:null,...NT.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:kT[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:AT[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:gT,abi:Fw,functionName:`getKey`,args:[t,BT(n)]})}e.call=t})(NT||={});async function PT(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=N(n),s=e.chain?.hardfork;if(s&&bT(s,`t3`))return{remaining:await qm(e,{...a,...PT.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await qm(e,{...a,...PT.callWithPeriod({account:o.address,accessKey:r,token:i})});return{remaining:c,periodEnd:l}}(function(e){function t(e){let{account:t,accessKey:n,token:r}=e;return V({address:gT,abi:Fw,functionName:`getRemainingLimit`,args:[t,BT(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return V({address:gT,abi:Fw,functionName:`getRemainingLimitWithPeriod`,args:[t,BT(n),r]})}e.callWithPeriod=n})(PT||={});async function FT(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=N(n);return qm(e,{...i,account:null,...FT.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return V({address:gT,abi:Fw,functionName:`isAdminKey`,args:[t,BT(n)]})}e.call=t})(FT||={});async function IT(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=N(n);return qm(e,{...i,account:null,...IT.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return V({address:gT,abi:Fw,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(IT||={});async function LT(e,t){return LT.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 V({address:gT,abi:Fw,functionName:`revokeKey`,args:[BT(t)]})}e.call=n;function r(e){let[t]=sf({abi:Fw,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(LT||={});async function RT(e,t){return RT.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 V({address:gT,abi:Fw,functionName:`updateSpendingLimit`,args:[BT(t),n,r]})}e.call=n;function r(e){let[t]=sf({abi:Fw,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(RT||={});async function zT(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return qm(e,{...o,...zT.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 V({address:`0x5165300000000000000000000000000000000000`,abi:zw,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(zT||={});function BT(e){return typeof e==`string`?e:e.accessKeyAddress}R(),ma();async function VT(e,t){return VT.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 V({address:vT,abi:Bw,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(VT||={});async function HT(e,t){return HT.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 V({address:vT,abi:Bw,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:Bw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(HT||={});async function UT(e,t){return UT.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 V({address:vT,abi:Bw,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:Bw,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(UT||={});async function WT(e,t){return WT.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 V({address:vT,abi:Bw,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=sf({abi:Bw,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(WT||={});async function GT(e,t){let{account:n=e.account,token:r,...i}=t,a=n?N(n).address:void 0;if(!a)throw Error(`account is required.`);return qm(e,{...i,...GT.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return V({address:vT,abi:Bw,args:[t,n],functionName:`balanceOf`})}e.call=t})(GT||={});async function KT(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return qm(e,{...a,...KT.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return V({address:vT,abi:Bw,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(KT||={});async function qT(e,t){let{orderId:n,...r}=t;return qm(e,{...r,...qT.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return V({address:vT,abi:Bw,args:[t],functionName:`getOrder`})}e.call=t})(qT||={});async function JT(e,t){let{base:n,quote:r,...i}=t;return qm(e,{...i,...JT.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e,r=tE(t,n);return V({address:vT,abi:Bw,args:[r],functionName:`books`})}e.call=t})(JT||={});async function YT(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await qm(e,{...a,...YT.call({base:n,tick:r,isBid:i})});return{head:o,tail:s,totalLiquidity:c}}(function(e){function t(e){let{base:t,tick:n,isBid:r}=e;return V({address:vT,abi:Bw,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(YT||={});async function XT(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return qm(e,{...a,...XT.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return V({address:vT,abi:Bw,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(XT||={});async function ZT(e,t){return ZT.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 V({address:vT,abi:Bw,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=sf({abi:Bw,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(ZT||={});async function QT(e,t){return QT.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 V({address:vT,abi:Bw,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=sf({abi:Bw,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})(QT||={});async function $T(e,t){return $T.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 V({address:vT,abi:Bw,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})($T||={});async function eE(e,t){return eE.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 V({address:vT,abi:Bw,functionName:`withdraw`,args:[t,n]})}e.call=n})(eE||={});function tE(e,t){return g_(F(e,t))}R(),ma(),sd();function nE(e){if(!Zw(e))return xd(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),{feePayerSignature:n,gasPrice:r,nonce:i,...a}=Sw(e);return{...a,accessList:a.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:n?{r:I(n.r,{size:32}),s:I(n.s,{size:32}),v:BigInt(n.v??27),yParity:n.yParity}:void 0,nonce:Number(i),typeHex:bw[a.type],type:a.type}}function rE(e){return gh(e)}function iE(e,t){let n=e,r=n.account?N(n.account):void 0;if(!Zw(n))return rd(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{multisig:i,multisigInit:a,multisigSignatureCount:o,signatures:s,...c}=n,l=Cw({...c,type:`tempo`});t===`estimateGas`&&(l.maxFeePerGas=void 0,l.maxPriorityFeePerGas=void 0),l.to=void 0,l.data=void 0,l.value=void 0;let[u,d]=(()=>{let e=r&&`keyType`in r?r.keyType:r?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,aE(n.keyData)]:[n.keyType,aE(n.keyData)]})(),f=r&&`accessKeyAddress`in r?r.accessKeyAddress:n.keyId;return r&&(l.from=r.address),{...l,...a?{multisigInit:a}:{},...o===void 0?{}:{multisigSignatureCount:o},...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?N(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function aE(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:I(t,{size:2})}let oE=new Map;async function sE(e){oE.set(e,(oE.get(e)??0)+1),await Promise.resolve();let t=(oE.get(e)??0)>1;return queueMicrotask(()=>{let t=oE.get(e)??0;t<=1?oE.delete(e):oE.set(e,t-1)}),t}R(),pd(),tf(),sd(),di();function cE(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(gp(8))%e)}let lE={blockTime:1e3,extendSchema:Zh(),formatters:{transaction:Sd({exclude:[`aaAuthorizationList`],format:nE}),transactionReceipt:_h({format:rE}),transactionRequest:od({format:iE})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;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=r.multisig??(r.account?.source===`multisig`?r.account.config:void 0);if(i){let e=KS(i);r.multisig=e,r.from=JS(e),r.multisigInit={salt:e.salt??WS,threshold:Number(e.threshold),owners:e.owners.map(e=>({owner:e.owner,weight:Number(e.weight)}))},r.multisigSignatureCount??=uE(e),r.account?.source!==`multisig`&&delete r.account}if(await(async()=>{if(r.nonceKey===`expiring`||r.nonceKey===fd)return!0;if(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 sE(t.toLowerCase()):!1})()?(r.nonceKey=fd,r.nonce=0,r.validAfter===void 0&&(r.validAfter=cE()),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,NT,`getMetadata`)({account:i,accessKey:a});ef(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:((e,t)=>$w(e,t))},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return cC(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?ui(F(`0x04`,r,n)):r,a=(()=>{try{return oC({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await NT(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:gC(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await kh(e,{address:n,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return gC(o,{address:n,payload:r})}}return await E(e,Xy,`verifyHash`)({...t,chain:null})}};function uE(e){let t=Number(e.threshold),n=e.owners.map(e=>Number(e.weight)).sort((e,t)=>t-e),r=0;for(let[e,i]of n.entries())if(r+=i,r>=t)return e+1;return n.length}let dE=Xh({...lE,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),fE=Xh({...lE,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0});R(),ma(),ya();async function pE(e,t){return pE.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]=OT(e),{amount:r,spender:i,token:a}=n,{address:o,decimals:s}=xT(t,{token:a});return V({address:o,abi:B,functionName:`approve`,args:[i,sb(r,s)]})}e.call=n;async function r(t,n){return $d(t,{...DT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Jm(t,{...DT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:B,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(pE||={});async function mE(e,t){return mE.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]=OT(e),{from:r,amount:i,token:a}=n,{address:o,decimals:s}=xT(t,{token:a});return V({address:o,abi:B,functionName:`burnBlocked`,args:[r,sb(i,s)]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(mE||={});async function hE(e,t){return hE.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]=OT(e),{amount:r,memo:i,token:a}=n,{address:o,decimals:s}=xT(t,{token:a}),c=sb(r,s),l=i?{functionName:`burnWithMemo`,args:[c,mp(i,32)]}:{functionName:`burn`,args:[c]};return V({address:o,abi:B,...l})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(hE||={});async function gE(e,t){return gE.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]=OT(e),{token:r,policyId:i}=n;return V({address:xT(t,{token:r}).address,abi:B,functionName:`changeTransferPolicyId`,args:[i]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(gE||={});async function _E(e,t){return _E.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?N(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]=OT(e),{name:r,symbol:i,currency:a,logoURI:o,quoteToken:s=`0x20c0000000000000000000000000000000000000`,admin:c,salt:l=gp(32)}=n;return V({address:`0x20fc000000000000000000000000000000000000`,abi:Hw,args:typeof o==`string`?[r,i,a,xT(t,{token:s}).address,c,l,o]:[r,i,a,xT(t,{token:s}).address,c,l],functionName:`createToken`})}e.call=n;function r(e){let[t]=sf({abi:Hw,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(_E||={});async function vE(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([qm(e,{...o,...vE.call(e,{account:n,spender:i,token:a})}),ET(e,{decimals:r,token:a})]);return ob(s,c)}(function(e){function t(...e){let[t,n]=OT(e);return V({address:xT(t,n).address,abi:B,functionName:`allowance`,args:[n.account,n.spender]})}e.call=t})(vE||={});async function yE(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new sh;let o=N(n).address,[s,{decimals:c}]=await Promise.all([qm(e,{...a,...yE.call(e,{account:o,token:i})}),ET(e,{decimals:r,token:i})]);return ob(s,c)}(function(e){function t(...e){let[t,n]=OT(e),r=n.account??t?.account;if(!r)throw new sh;let i=N(r).address;return V({address:xT(t,n).address,abi:B,functionName:`balanceOf`,args:[i]})}e.call=t})(yE||={});async function bE(e,t){let{token:n,...r}=t,{address:i}=xT(e,{token:n}),a=B,o=ST(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return FC(i)===FC(`0x20c0000000000000000000000000000000000000`)?xE(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:SE(r),symbol:SE(i),currency:SE(e),decimals:SE(t),logoURI:SE(n,``),totalSupply:SE(a),...s})):xE(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:SE(i),symbol:SE(c),currency:SE(e),decimals:SE(t),logoURI:SE(n,``),quoteToken:SE(r),totalSupply:SE(l),paused:SE(a),supplyCap:SE(o),transferPolicyId:SE(u),...s}))}async function xE(e,t){if(e.batch?.multicall===void 0)return Ny(e,{...t,allowFailure:!0,deployless:!0});let{contracts:n,...r}=t;return(await Promise.allSettled(n.map(t=>qm(e,{...r,...t})))).map(e=>e.status===`fulfilled`?{result:e.value,status:`success`}:{error:e.reason,status:`failure`})}function SE(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function CE(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([qm(e,{...i,...CE.call(e,{token:r})}),ET(e,{decimals:n,token:r})]);return ob(a,o)}(function(e){function t(...e){let[t,n]=OT(e);return V({address:xT(t,n).address,abi:B,args:[],functionName:`totalSupply`})}e.call=t})(CE||={});async function wE(e,t){return qm(e,{...t,...wE.call(e,t)})}(function(e){function t(...e){let[t,n]=OT(e),{role:r,token:i}=n;return V({address:xT(t,{token:i}).address,abi:B,functionName:`getRoleAdmin`,args:[yw(r)]})}e.call=t})(wE||={});async function TE(e,t){let{account:n=e.account}=t,r=n?N(n).address:void 0;if(!r)throw Error(`account is required.`);return qm(e,{...t,...TE.call(e,{...t,account:r})})}(function(e){function t(...e){let[t,n]=OT(e),{account:r,role:i,token:a}=n;return V({address:xT(t,{token:a}).address,abi:B,functionName:`hasRole`,args:[r,yw(i)]})}e.call=t})(TE||={});async function EE(e,t){return EE.inner(fh,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:va(i)}})})}e.inner=t;function n(...e){let[t,n]=OT(e),{token:r,to:i,role:a}=n,o=yw(a);return V({address:xT(t,{token:r}).address,abi:B,functionName:`grantRole`,args:[o,i]})}e.call=n;function r(e){let t=sf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(EE||={});async function DE(e,t){return DE.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]=OT(e),{to:r,amount:i,memo:a,token:o}=n,{address:s,decimals:c}=xT(t,{token:o}),l=sb(i,c),u=a?{functionName:`mintWithMemo`,args:[r,l,mp(a,32)]}:{functionName:`mint`,args:[r,l]};return V({address:s,abi:B,...u})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(DE||={});async function OE(e,t){return OE.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]=OT(e),{token:r}=n;return V({address:xT(t,{token:r}).address,abi:B,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(OE||={});async function kE(e,t){return kE.inner(fh,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:va(i)}})})}e.inner=t;function n(...e){let[t,n]=OT(e),{token:r,role:i}=n,a=yw(i);return V({address:xT(t,{token:r}).address,abi:B,functionName:`renounceRole`,args:[a]})}e.call=n;function r(e){let t=sf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(kE||={});async function AE(e,t){return AE.inner(fh,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:va(i)}})})}e.inner=t;function n(...e){let[t,n]=OT(e),{token:r,from:i,role:a}=n,o=yw(a);return V({address:xT(t,{token:r}).address,abi:B,functionName:`revokeRole`,args:[o,i]})}e.call=n;function r(e){let t=sf({abi:B,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(AE||={});async function jE(e,t){return jE.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]=OT(e),{token:r,supplyCap:i}=n;return V({address:xT(t,{token:r}).address,abi:B,functionName:`setSupplyCap`,args:[i]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(jE||={});async function ME(e,t){return ME.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]=OT(e),{token:r,role:i,adminRole:a}=n,o=yw(i),s=yw(a);return V({address:xT(t,{token:r}).address,abi:B,functionName:`setRoleAdmin`,args:[o,s]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(ME||={});async function NE(e,t){return NE.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]=OT(e),{from:r,memo:i,to:a,token:o}=n,{address:s,decimals:c}=xT(t,{token:o}),l=sb(n.amount,c),u=i&&r?{functionName:`transferFromWithMemo`,args:[r,a,l,mp(i,32)]}:i?{functionName:`transferWithMemo`,args:[a,l,mp(i,32)]}:r?{functionName:`transferFrom`,args:[r,a,l]}:{functionName:`transfer`,args:[a,l]};return V({address:s,abi:B,...u})}e.call=n;async function r(t,n){return $d(t,{...DT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Jm(t,{...DT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=sf({abi:B,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(NE||={});async function PE(e,t){return PE.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]=OT(e),{token:r}=n;return V({address:xT(t,{token:r}).address,abi:B,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(PE||={});async function FE(e,t){return FE.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]=OT(e),{token:r,quoteToken:i}=n;return V({address:xT(t,{token:r}).address,abi:B,functionName:`setNextQuoteToken`,args:[xT(t,{token:i}).address]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(FE||={});async function IE(e,t){return IE.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]=OT(e),{token:r}=n;return V({address:xT(t,{token:r}).address,abi:B,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=sf({abi:B,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(IE||={}),ma();async function LE(e,...t){let{account:n=e.account,...r}=t[0]??{};if(!n)throw Error(`account is required.`);let i=N(n),a=await qm(e,{...r,...LE.call({account:i.address})});return a===`0x0000000000000000000000000000000000000000`?null:{address:a,id:FC(a)}}(function(e){function t(e){let{account:t}=e;return V({address:_T,abi:Ww,args:[t],functionName:`userTokens`})}e.call=t})(LE||={});async function RE(e,t){return RE.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 V({address:_T,abi:Ww,functionName:`setUserToken`,args:[IC(t)]})}e.call=n;function r(e){let[t]=sf({abi:Ww,logs:e,eventName:`UserTokenSet`,strict:!0});if(!t)throw Error(\"`UserTokenSet` event not found.\");return t}e.extractEvent=r})(RE||={});async function zE(e,t){let{validator:n,...r}=t,i=await qm(e,{...r,...zE.call({validator:n})});return i===`0x0000000000000000000000000000000000000000`?null:{address:i,id:FC(i)}}(function(e){function t(e){let{validator:t}=e;return V({address:_T,abi:Ww,args:[t],functionName:`validatorTokens`})}e.call=t})(zE||={});async function BE(e,t){return BE.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 V({address:_T,abi:Ww,functionName:`setValidatorToken`,args:[IC(t)]})}e.call=n;function r(e){let[t]=sf({abi:Ww,logs:e,eventName:`ValidatorTokenSet`,strict:!0});if(!t)throw Error(\"`ValidatorTokenSet` event not found.\");return t}e.extractEvent=r})(BE||={});let VE=Xh({...lE,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}),HE=Xh({...lE,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}});function UE(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}})}function WE(e){return e.source}function GE(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Gb({key:GE.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(Qw(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:GE.type})}}Xa();let KE={AddressAlreadyHasValidator:`This address already has a validator.`,AddressNotReserved:`Address is not reserved.`,AddressReserved:`Address is reserved.`,AlreadyInitialized:`Already initialized.`,AmountExceedsDeposit:`Amount exceeds deposit.`,AmountNotIncreasing:`Amount is not increasing.`,BelowMinimumOrderSize:`Order size is below the minimum allowed ({0}).`,CallNotAllowed:`This call is not allowed.`,CannotChangeWithinBlock:`Cannot change within the same block.`,CaptureAmountInvalid:`Capture amount is invalid.`,ChannelAlreadyExists:`Channel already exists.`,ChannelNotFound:`Channel not found.`,CloseNotReady:`Channel is not ready to close.`,ContractPaused:`Contract is paused.`,DelegateCallNotAllowed:`Delegate calls are not allowed.`,DepositOverflow:`Deposit overflow.`,DivisionByZero:`Division by zero.`,EmptyV1ValidatorSet:`Validator set is empty.`,ExpiringNonceHashNotSet:`Expiring nonce hash is not set.`,ExpiringNonceReplay:`Expiring nonce has already been used.`,ExpiringNonceSetFull:`Expiring nonce set is full.`,ExpiryInPast:`Expiry is in the past.`,IdenticalAddresses:`Addresses must be different.`,IdenticalTokens:`Cannot swap a token for itself — input and output tokens must be different.`,IncompatiblePolicyType:`Incompatible policy type.`,IngressAlreadyExists:`Ingress \"{0}\" already exists.`,InsufficientAllowance:`Insufficient allowance.`,InsufficientBalance:`Insufficient balance. Required: {1}, available: {0}.`,InsufficientFeeTokenBalance:`Insufficient fee token balance.`,InsufficientLiquidity:`Not enough liquidity in the order book to fill this trade.`,InsufficientOutput:`The output amount is below the slippage minimum — try increasing slippage tolerance.`,InsufficientReserves:`Insufficient reserves.`,InvalidAmount:`Invalid amount.`,InvalidBaseToken:`This token is not a valid base token for the requested pair.`,InvalidCallScope:`Invalid call scope.`,InvalidClaimAddress:`Invalid claim address.`,InvalidCurrency:`Invalid currency.`,InvalidExpiringNonceExpiry:`Invalid expiring nonce expiry.`,InvalidFlipTick:`The flip-order price tick is invalid.`,InvalidFormat:`Invalid format.`,InvalidKeyAuthorizationWitness:`Invalid key authorization witness.`,InvalidKeyId:`Invalid key ID.`,InvalidLogoURI:`Invalid logo URI.`,InvalidMasterAddress:`Invalid master address.`,InvalidMigrationIndex:`Invalid migration index.`,InvalidMode:`Invalid mode.`,InvalidNonceKey:`Invalid nonce key.`,InvalidOwner:`Invalid owner.`,InvalidPayee:`Invalid payee.`,InvalidPayload:`Invalid payload.`,InvalidPolicyType:`Invalid policy type.`,InvalidPublicKey:`Invalid public key.`,InvalidQuoteToken:`Invalid quote token.`,InvalidReceipt:`Invalid receipt.`,InvalidReceivePolicyType:`Invalid receive policy type.`,InvalidRecipient:`Invalid recipient.`,InvalidRecoveryAuthority:`Invalid recovery authority.`,InvalidSignature:`Invalid signature.`,InvalidSignatureFormat:`Invalid signature format.`,InvalidSignatureType:`Invalid signature type.`,InvalidSpendingLimit:`Invalid spending limit.`,InvalidSupplyCap:`Invalid supply cap.`,InvalidSwapCalculation:`Invalid swap calculation.`,InvalidTick:`The price tick is invalid.`,InvalidToken:`This token is not supported on the exchange.`,InvalidTransferPolicyId:`Invalid transfer policy.`,InvalidValidatorAddress:`Invalid validator address.`,KeyAlreadyExists:`Key already exists.`,KeyAlreadyRevoked:`Key has already been revoked.`,KeyAuthorizationWitnessAlreadyBurned:`Key authorization witness has already been burned.`,KeyExpired:`Key has expired.`,KeyNotFound:`Key not found.`,LegacyAuthorizeKeySelectorChanged:`Legacy authorize key selector changed to {0}.`,LogoURITooLong:`Logo URI is too long.`,MasterIdCollision:`Master ID collision with {0}.`,MaxInputExceeded:`The required input exceeds the slippage maximum — try increasing slippage tolerance.`,MigrationNotComplete:`Migration is not complete.`,NoOptedInSupply:`No opted-in supply.`,NonceOverflow:`Nonce overflow.`,NotHostPort:`\"{1}\" is not a valid host:port for {0}.`,NotInitialized:`Not initialized.`,NotIp:`\"{0}\" is not a valid IP address.`,NotIpPort:`\"{1}\" is not a valid IP:port for {0}.`,NotPayeeOrOperator:`Not payee or operator.`,NotPayer:`Not payer.`,OrderDoesNotExist:`No order exists with the given ID.`,OrderNotStale:`This order is not yet eligible for stale-cleanup.`,PairAlreadyExists:`A trading pair for these tokens has already been created.`,PairDoesNotExist:`No trading pair exists for these tokens.`,PermitExpired:`Permit has expired.`,PolicyForbids:`Forbidden by policy.`,PolicyNotFound:`Policy not found.`,PolicyNotSimple:`Policy is not a simple policy.`,ProofOfWorkFailed:`Proof of work failed.`,ProtectedAddress:`Address is protected.`,ProtocolNonceNotSupported:`Protocol nonce is not supported.`,PublicKeyAlreadyExists:`Public key already exists.`,SignatureTypeMismatch:`Signature type mismatch. Expected {0}, got {1}.`,SpendingLimitExceeded:`Spending limit exceeded.`,SupplyCapExceeded:`Supply cap exceeded.`,TickOutOfBounds:`Price tick {0} is outside the allowed range.`,TokenAlreadyExists:`Token {0} already exists.`,Unauthorized:`Unauthorized.`,UnauthorizedCaller:`Unauthorized caller.`,UnauthorizedClaimer:`Unauthorized claimer.`,Uninitialized:`Uninitialized.`,ValidatorAlreadyDeactivated:`Validator is already deactivated.`,ValidatorAlreadyExists:`Validator already exists.`,ValidatorNotFound:`Validator not found.`,VirtualAddressNotAllowed:`Virtual address is not allowed.`,VirtualAddressUnregistered:`Virtual address is not registered.`,ZeroDeposit:`Deposit cannot be zero.`,ZeroPublicKey:`Public key cannot be zero.`};function qE(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function JE(e){let t=e.details??e.shortMessage??e.message,n=YE(e);if(n)try{let e=Ya({abi:Yw,data:n}),r=KE[e.errorName];return{...e,data:n,message:r?qE(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in KE?{errorName:`unknown`,message:KE[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function YE(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 YE(t.cause);if(t.error)return YE(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return YE(e)}return null}function XE(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 VS({extractable:t}),n=T_(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(!ZE(n.keyPair.privateKey))throw new QE(\"`webCryptoP256` key material did not survive storage.\");return sT(n.keyPair,r)}if(n.jwk)return sT({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new QE(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:C_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function ZE(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey||!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var QE=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function $E(e){return e instanceof QE||e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let eD={p256:XE()};var tD;function H(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,\"_zod\",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,\"name\",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,\"init\",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,\"name\",{value:e}),o}var nD=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},rD=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(tD=globalThis).__zod_globalConfig??(tD.__zod_globalConfig={});let iD=globalThis.__zod_globalConfig;function aD(e){return e&&Object.assign(iD,e),iD}function oD(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 sD(e,t){return typeof t==`bigint`?t.toString():t}function cD(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}}}}function lD(e){return e==null}function uD(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let dD=Symbol(`evaluating`);function fD(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==dD)return r===void 0&&(r=dD,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function pD(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function mD(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let hD=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function gD(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function _D(e){if(gD(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return gD(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}let vD=new Set([`string`,`number`,`symbol`]),yD=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function bD(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function xD(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function SD(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 CD(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function wD(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return xD(e,mD(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: \"${e}\"`);t[e]&&delete r[e]}return pD(this,`shape`,r),r},checks:[]}))}function TD(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 ED(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 DD(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function OD(e){return typeof e==`string`?e:e?.message}function kD(e,t,n){let r=e.message?e.message:OD(e.inst?._zod.def?.error?.(e))??OD(t?.error?.(e))??OD(n.customError?.(e))??OD(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function AD(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function jD(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let MD=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,\"_zod\",{value:e._zod,enumerable:!1}),Object.defineProperty(e,\"issues\",{value:t,enumerable:!1}),e.message=JSON.stringify(t,sD,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},ND=H(`$ZodError`,MD),PD=H(`$ZodError`,MD,{Parent:Error}),FD=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new nD;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>kD(e,a,aD())));throw hD(t,i?.callee),t}return o.value},ID=FD(PD),LD=(e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>kD(e,a,aD())));throw hD(t,i?.callee),t}return o.value})(PD),RD=(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 nD;return a.issues.length?{success:!1,error:new(e??ND)(a.issues.map(e=>kD(e,i,aD())))}:{success:!0,data:a.value}})(PD),zD=(e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>kD(e,i,aD())))}:{success:!0,data:a.value}})(PD),BD=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return FD(e)(t,n,i)})(PD),VD=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},HD=/^-?\\d+n?$/,UD=/^-?\\d+(?:\\.\\d+)?$/,WD=/^(?:true|false)$/i,GD=/^null$/i,KD=/^undefined$/i,qD=H(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),JD={number:`number`,bigint:`bigint`,object:`date`},YD=H(`$ZodCheckLessThan`,(e,t)=>{qD.init(e,t);let n=JD[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),XD=H(`$ZodCheckGreaterThan`,(e,t)=>{qD.init(e,t);let n=JD[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ZD=H(`$ZodCheckMaxLength`,(e,t)=>{var n;qD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!lD(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=AD(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),QD=H(`$ZodCheckMinLength`,(e,t)=>{var n;qD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!lD(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=AD(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),$D=H(`$ZodCheckStringFormat`,(e,t)=>{var n,r;qD.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),eO=H(`$ZodCheckRegex`,(e,t)=>{$D.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})}}),tO={major:4,minor:4,patch:3},nO=H(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=tO;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=TD(e),i;for(let a of t){if(a._zod.def.when){if(ED(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new nD;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=TD(e,t))});else{if(e.issues.length===t)continue;r||=TD(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(TD(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new nD;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new nD;return o.then(e=>t(e,r,a))}return t(o,r,a)}}fD(e,`~standard`,()=>({validate:t=>{try{let n=RD(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return zD(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),rO=H(`$ZodString`,(e,t)=>{nO.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??VD(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),iO=H(`$ZodNumber`,(e,t)=>{nO.init(e,t),e._zod.pattern=e._zod.bag.pattern??UD,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),aO=H(`$ZodBoolean`,(e,t)=>{nO.init(e,t),e._zod.pattern=WD,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}}),oO=H(`$ZodBigInt`,(e,t)=>{nO.init(e,t),e._zod.pattern=HD,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}}),sO=H(`$ZodUndefined`,(e,t)=>{nO.init(e,t),e._zod.pattern=KD,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}}),cO=H(`$ZodNull`,(e,t)=>{nO.init(e,t),e._zod.pattern=GD,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}}),lO=H(`$ZodUnknown`,(e,t)=>{nO.init(e,t),e._zod.parse=e=>e});function uO(e,t,n){e.issues.length&&t.issues.push(...DD(n,e.issues)),t.value[n]=e.value}let dO=H(`$ZodArray`,(e,t)=>{nO.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>uO(t,n,e))):uO(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function fO(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...DD(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function pO(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key \"${n}\": expected a Zod schema`);let n=CD(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function mO(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>fO(e,n,i,t,u,d))):fO(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}let hO=H(`$ZodObject`,(e,t)=>{if(nO.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,\"shape\",{get:()=>{let n={...e};return Object.defineProperty(t,\"shape\",{value:n}),n}})}let n=cD(()=>pO(t));fD(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=gD,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>fO(n,t,e,s,r,i))):fO(a,t,e,s,r,i)}return i?mO(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function gO(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=>!TD(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=>kD(e,r,aD())))}),t)}let _O=H(`$ZodUnion`,(e,t)=>{nO.init(e,t),fD(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),fD(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),fD(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),fD(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>uD(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=>gO(t,r,e,i)):gO(o,r,e,i)}}),vO=H(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,_O.init(e,t);let n=e._zod.parse;fD(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index \"${t.options.indexOf(n)}\"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=cD(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index \"${t.options.indexOf(r)}\"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value \"${String(t)}\"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!gD(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()),input:o,path:[t.discriminator],inst:e}),i)}}),yO=H(`$ZodTuple`,(e,t)=>{nO.init(e,t);let n=t.items;e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({input:a,inst:e,expected:`tuple`,code:`invalid_type`}),r;r.value=[];let o=[],s=bO(n,`optin`),c=bO(n,`optout`);if(!t.rest){if(a.length<s)return r.issues.push({code:`too_small`,minimum:s,inclusive:!0,input:a,inst:e,origin:`array`}),r;a.length>n.length&&r.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:a,inst:e,origin:`array`})}let l=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:a[e],issues:[]},i);t instanceof Promise?o.push(t.then(t=>{l[e]=t})):l[e]=t}if(t.rest){let e=n.length-1,s=a.slice(n.length);for(let n of s){e++;let a=t.rest._zod.run({value:n,issues:[]},i);a instanceof Promise?o.push(a.then(t=>xO(t,r,e))):xO(a,r,e)}}return o.length?Promise.all(o).then(()=>SO(l,r,n,a,c)):SO(l,r,n,a,c)}});function bO(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function xO(e,t,n){e.issues.length&&t.issues.push(...DD(n,e.issues)),t.value[n]=e.value}function SO(e,t,n,r,i){for(let a=0;a<n.length;a++){let n=e[a],o=a<r.length;if(n.issues.length){if(!o&&a>=i){t.value.length=a;break}t.issues.push(...DD(a,n.issues))}t.value[a]=n.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}let CO=H(`$ZodRecord`,(e,t)=>{nO.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!_D(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>kD(e,r,aD())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...DD(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...DD(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&UD.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>kD(e,r,aD())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...DD(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...DD(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),wO=H(`$ZodEnum`,(e,t)=>{nO.init(e,t);let n=oD(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>vD.has(typeof e)).map(e=>typeof e==`string`?bD(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),TO=H(`$ZodLiteral`,(e,t)=>{if(nO.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?bD(e):e?bD(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),EO=H(`$ZodTransform`,(e,t)=>{nO.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new rD(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new nD;return n.value=i,n.fallback=!0,n}});function DO(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let OO=H(`$ZodOptional`,(e,t)=>{nO.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,fD(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),fD(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${uD(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>DO(e,r)):DO(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),kO=H(`$ZodNullable`,(e,t)=>{nO.init(e,t),fD(e._zod,`optin`,()=>t.innerType._zod.optin),fD(e._zod,`optout`,()=>t.innerType._zod.optout),fD(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${uD(e.source)}|null)$`):void 0}),fD(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),AO=H(`$ZodPipe`,(e,t)=>{nO.init(e,t),fD(e._zod,`values`,()=>t.in._zod.values),fD(e._zod,`optin`,()=>t.in._zod.optin),fD(e._zod,`optout`,()=>t.out._zod.optout),fD(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>jO(e,t.in,n)):jO(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>jO(e,t.out,n)):jO(r,t.out,n)}});function jO(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}let MO=H(`$ZodCodec`,(e,t)=>{nO.init(e,t),fD(e._zod,`values`,()=>t.in._zod.values),fD(e._zod,`optin`,()=>t.in._zod.optin),fD(e._zod,`optout`,()=>t.out._zod.optout),fD(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if((n.direction||`forward`)===`forward`){let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>NO(e,t,n)):NO(r,t,n)}{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>NO(e,t,n)):NO(r,t,n)}}});function NO(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=>PO(e,r,t.out,n)):PO(e,r,t.out,n)}{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>PO(e,r,t.in,n)):PO(e,r,t.in,n)}}function PO(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let FO=H(`$ZodReadonly`,(e,t)=>{nO.init(e,t),fD(e._zod,`propValues`,()=>t.innerType._zod.propValues),fD(e._zod,`values`,()=>t.innerType._zod.values),fD(e._zod,`optin`,()=>t.innerType?._zod?.optin),fD(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(IO):IO(r)}});function IO(e){return e.value=Object.freeze(e.value),e}let LO=H(`$ZodTemplateLiteral`,(e,t)=>{nO.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){if(!e._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);let t=e._zod.pattern instanceof RegExp?e._zod.pattern.source:e._zod.pattern;if(!t)throw Error(`Invalid template literal part: ${e._zod.traits}`);let r=+!!t.startsWith(`^`),i=t.endsWith(`$`)?t.length-1:t.length;n.push(t.slice(r,i))}else if(e===null||yD.has(typeof e))n.push(bD(`${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)}),RO=H(`$ZodCustom`,(e,t)=>{qD.init(e,t),nO.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=>zO(t,n,r,e));zO(i,n,r,e)}});function zO(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(jD(e))}}function BO(e,t){return new e({type:`string`,...SD(t)})}function VO(e,t){return new e({type:`number`,checks:[],...SD(t)})}function HO(e,t){return new e({type:`boolean`,...SD(t)})}function UO(e,t){return new e({type:`bigint`,...SD(t)})}function WO(e,t){return new e({type:`undefined`,...SD(t)})}function GO(e,t){return new e({type:`null`,...SD(t)})}function KO(e){return new e({type:`unknown`})}function qO(e,t){return new YD({check:`less_than`,...SD(t),value:e,inclusive:!0})}function JO(e,t){return new XD({check:`greater_than`,...SD(t),value:e,inclusive:!0})}function YO(e,t){return new ZD({check:`max_length`,...SD(t),maximum:e})}function XO(e,t){return new QD({check:`min_length`,...SD(t),minimum:e})}function ZO(e,t){return new eO({check:`string_format`,format:`regex`,...SD(t),pattern:e})}function QO(e,t,n){let r=SD(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function $O(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...SD(n)})}let ek=H(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);nO.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>ID(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>RD(e,t,n),e.parseAsync=async(t,n)=>LD(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>zD(e,t,n),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]},{parent:!0}),e.with=e.check,e.clone=(t,n)=>xD(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),tk=H(`ZodMiniString`,(e,t)=>{rO.init(e,t),ek.init(e,t)});function U(e){return BO(tk,e)}let nk=H(`ZodMiniNumber`,(e,t)=>{iO.init(e,t),ek.init(e,t)});function rk(e){return VO(nk,e)}let ik=H(`ZodMiniBoolean`,(e,t)=>{aO.init(e,t),ek.init(e,t)});function ak(e){return HO(ik,e)}let ok=H(`ZodMiniBigInt`,(e,t)=>{oO.init(e,t),ek.init(e,t)});function sk(e){return UO(ok,e)}let ck=H(`ZodMiniUndefined`,(e,t)=>{sO.init(e,t),ek.init(e,t)});function lk(e){return WO(ck,e)}let uk=H(`ZodMiniNull`,(e,t)=>{cO.init(e,t),ek.init(e,t)});function dk(e){return GO(uk,e)}let fk=H(`ZodMiniUnknown`,(e,t)=>{lO.init(e,t),ek.init(e,t)});function pk(){return KO(fk)}let mk=H(`ZodMiniArray`,(e,t)=>{dO.init(e,t),ek.init(e,t)});function W(e,t){return new mk({type:`array`,element:e,...SD(t)})}let hk=H(`ZodMiniObject`,(e,t)=>{hO.init(e,t),ek.init(e,t),fD(e,`shape`,()=>t.shape)});function G(e,t){let n={type:`object`,shape:e??{},...SD(t)};return new hk(n)}function gk(e,t){return new hk({type:`object`,shape:e,catchall:pk(),...SD(t)})}function _k(e,t){return wD(e,t)}let vk=H(`ZodMiniUnion`,(e,t)=>{_O.init(e,t),ek.init(e,t)});function K(e,t){return new vk({type:`union`,options:e,...SD(t)})}let yk=H(`ZodMiniDiscriminatedUnion`,(e,t)=>{vO.init(e,t),ek.init(e,t)});function bk(e,t,n){return new yk({type:`union`,options:t,discriminator:e,...SD(n)})}let xk=H(`ZodMiniTuple`,(e,t)=>{yO.init(e,t),ek.init(e,t)});function Sk(e,t,n){let r=t instanceof nO;return new xk({type:`tuple`,items:e,rest:r?t:null,...SD(r?n:t)})}let Ck=H(`ZodMiniRecord`,(e,t)=>{CO.init(e,t),ek.init(e,t)});function wk(e,t,n){return!t||!t._zod?new Ck({type:`record`,keyType:U(),valueType:e,...SD(t)}):new Ck({type:`record`,keyType:e,valueType:t,...SD(n)})}let Tk=H(`ZodMiniEnum`,(e,t)=>{wO.init(e,t),ek.init(e,t),e.options=Object.values(t.entries)});function Ek(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Tk({type:`enum`,entries:n,...SD(t)})}let Dk=H(`ZodMiniLiteral`,(e,t)=>{TO.init(e,t),ek.init(e,t)});function q(e,t){return new Dk({type:`literal`,values:Array.isArray(e)?e:[e],...SD(t)})}let Ok=H(`ZodMiniTransform`,(e,t)=>{EO.init(e,t),ek.init(e,t)});function kk(e){return new Ok({type:`transform`,transform:e})}let Ak=H(`ZodMiniOptional`,(e,t)=>{OO.init(e,t),ek.init(e,t)});function J(e){return new Ak({type:`optional`,innerType:e})}let jk=H(`ZodMiniNullable`,(e,t)=>{kO.init(e,t),ek.init(e,t)});function Mk(e){return new jk({type:`nullable`,innerType:e})}let Nk=H(`ZodMiniPipe`,(e,t)=>{AO.init(e,t),ek.init(e,t)});function Pk(e,t){return new Nk({type:`pipe`,in:e,out:t})}let Fk=H(`ZodMiniCodec`,(e,t)=>{Nk.init(e,t),MO.init(e,t)});function Ik(e,t,n){return new Fk({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let Lk=H(`ZodMiniReadonly`,(e,t)=>{FO.init(e,t),ek.init(e,t)});function Y(e){return new Lk({type:`readonly`,innerType:e})}let Rk=H(`ZodMiniTemplateLiteral`,(e,t)=>{LO.init(e,t),ek.init(e,t)});function zk(e,t){return new Rk({type:`template_literal`,parts:e,...SD(t)})}let Bk=H(`ZodMiniCustom`,(e,t)=>{RO.init(e,t),ek.init(e,t)});function Vk(e,t){return QO(Bk,e??(()=>!0),t)}function Hk(e,t={}){return $O(Bk,e,t)}function Uk(e){return e}function Wk(e){return e}R();let X=()=>zk([`0x`,U().check(ZO(/^[0-9a-fA-F]{40}$/))],`Expected address`),Gk=()=>Ik(K([Z(),sk()]),sk(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:yp(e),encode:e=>I(e)}),Z=()=>zk([`0x`,U()],`Expected hex value`),Kk=()=>Ik(K([Z(),rk()]),rk(),{decode:e=>typeof e==`number`?e:e===`0x`?0:xp(e),encode:e=>I(e)});R();let qk=G({address:X(),blockHash:Z(),blockNumber:Gk(),data:Z(),logIndex:Kk(),removed:ak(),topics:Y(W(Z())),transactionHash:Z(),transactionIndex:Kk()}),Jk=G({blobGasPrice:J(Gk()),blobGasUsed:J(Gk()),blockHash:Z(),blockNumber:Gk(),contractAddress:Mk(X()),cumulativeGasUsed:Gk(),effectiveGasPrice:Gk(),feePayer:J(X()),feeToken:J(X()),from:X(),gasUsed:Gk(),logs:W(qk),logsBloom:Z(),root:J(Z()),status:Ik(Z(),Ek([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:Mk(X()),transactionHash:Z(),transactionIndex:Kk(),type:Z()}),Yk=Vk(),Xk=K([q(`secp256k1`),q(`p256`),q(`webAuthn`)]),Zk=Ik(G({allowedCalls:J(Y(W(G({target:X(),selectorRules:J(Y(W(G({selector:Z(),recipients:J(Y(W(X())))}))))})))),address:J(X()),chainId:Gk(),expiry:K([Kk(),dk(),lk()]),keyId:X(),keyType:Xk,limits:J(Y(W(G({token:X(),limit:Gk(),period:J(Kk())})))),signature:Yk}),Vk(),{decode(e){return QC({chainId:I(e.chainId),expiry:e.expiry==null?null:I(e.expiry),keyId:e.keyId,keyType:e.keyType,limits:e.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:I(e),...typeof t==`number`?{period:I(t)}:{}})),signature:e.signature,...e.allowedCalls?{allowedCalls:e.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}})},encode(e){let t=iw(e);return{chainId:t.chainId===`0x`?0n:yp(t.chainId),expiry:t.expiry==null?null:xp(t.expiry),keyId:t.keyId,keyType:t.keyType,limits:t.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:yp(e),...t?{period:xp(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}:{}}))}:{}}))}:{}}}}),Qk=G({data:J(Z()),to:J(X()),value:J(Gk())}),$k=G({accessList:J(W(G({address:X(),storageKeys:W(Z())}))),calls:J(Y(W(Qk))),chainId:J(Kk()),data:J(Z()),feePayer:J(K([ak(),U()])),feePayerSignature:J(wk(U(),pk())),feeToken:J(X()),from:J(X()),gas:J(Gk()),keyAuthorization:J(Zk),keyData:J(Z()),keyId:J(X()),keyType:J(Xk),maxFeePerGas:J(Gk()),maxPriorityFeePerGas:J(Gk()),nonce:J(Kk()),nonceKey:J(Gk()),to:J(X()),validAfter:J(Kk()),validBefore:J(Kk()),value:J(Gk())});var eA;(function(e){e.schema=Uk({method:q(`eth_accounts`),params:void 0,returns:Y(W(X()))})})(eA||={});var tA;(function(e){e.schema=Uk({method:q(`eth_chainId`),params:void 0,returns:Z()})})(tA||={});var nA;(function(e){e.schema=Uk({method:q(`eth_requestAccounts`),params:void 0,returns:Y(W(X()))})})(nA||={});var rA;(function(e){e.schema=Uk({method:q(`eth_sendTransaction`),params:Y(Sk([$k])),returns:Z()})})(rA||={});var iA;(function(e){let t=G({address:X(),decimals:rk(),direction:Ek([`incoming`,`outgoing`]),formatted:U(),name:U(),recipients:Y(W(X())),symbol:U(),value:Z()}),n=G({decimals:rk(),formatted:U(),name:U(),symbol:U(),token:X(),value:Z()});e.schema=Uk({method:q(`eth_fillTransaction`),params:Y(Sk([$k])),returns:G({capabilities:G({balanceDiffs:J(wk(X(),Y(W(t)))),error:J(G({abiItem:J(wk(U(),pk())),data:J(Z()),errorName:U(),message:U()})),fee:J(G({amount:Z(),decimals:rk(),formatted:U(),symbol:U()})),requireFunds:J(G({amount:Z(),decimals:rk(),formatted:U(),token:X(),symbol:U()})),autoSwap:J(G({maxIn:n,minOut:n,slippage:rk()})),sponsor:J(G({address:X(),name:J(U()),url:J(U())})),sponsored:ak()}),tx:wk(U(),pk())})})})(iA||={});var aA;(function(e){e.schema=Uk({method:q(`eth_signTransaction`),params:Y(Sk([$k])),returns:Z()})})(aA||={});var oA;(function(e){e.schema=Uk({method:q(`eth_sendTransactionSync`),params:Y(Sk([$k])),returns:Jk})})(oA||={});var sA;(function(e){e.schema=Uk({method:q(`eth_signTypedData_v4`),params:Y(Sk([X(),U()])),returns:Z()})})(sA||={});var cA;(function(e){e.schema=Uk({method:q(`personal_sign`),params:Y(Sk([Z(),X()])),returns:Z()})})(cA||={});let lA=J(G({feePayer:J(K([ak(),U()])),sync:J(ak())}));var uA;(function(e){e.schema=Uk({method:q(`wallet_sendCalls`),params:J(Y(Sk([G({atomicRequired:J(ak()),calls:Y(W(Qk)),capabilities:lA,chainId:J(Kk()),from:J(X()),version:J(U())})]))),returns:G({atomic:J(ak()),capabilities:lA,chainId:J(Kk()),id:U(),receipts:J(W(Jk)),status:J(rk()),version:J(U())})})})(uA||={});var dA;(function(e){e.schema=Uk({method:q(`wallet_getBalances`),params:J(Y(Sk([G({account:J(X()),chainId:J(Kk()),tokens:J(Y(W(X())))})]))),returns:Y(W(G({address:X(),balance:Gk(),decimals:rk(),display:U(),name:U(),symbol:U()})))})})(dA||={});var fA;(function(e){e.schema=Uk({method:q(`wallet_getCapabilities`),params:J(Y(K([Sk([X()]),Sk([X(),Y(W(Z()))])]))),returns:wk(Z(),G({accessKeys:J(G({status:K([q(`supported`),q(`unsupported`)])})),atomic:G({status:K([q(`supported`),q(`ready`),q(`unsupported`)])}),feePayer:J(G({status:K([q(`supported`),q(`unsupported`)])}))}))})})(fA||={});var pA;(function(e){e.showDeposit=J(K([ak(),G({amount:J(U()),displayName:J(U()),token:J(K([X(),U()]))})])),e.parameters=G({address:J(X()),chainId:J(Gk()),expiry:rk(),keyType:J(Xk),limits:J(Y(W(G({token:X(),limit:Gk(),period:J(rk())})))),publicKey:J(Z()),scopes:J(Y(W(G({address:X(),selector:J(K([Z(),U()])),recipients:J(Y(W(X())))})))),showDeposit:e.showDeposit}),e.returns=G({keyAuthorization:Zk,rootAddress:X()}),e.schema=Uk({method:q(`wallet_authorizeAccessKey`),params:Y(Sk([e.parameters])),returns:e.returns})})(pA||={});var mA;(function(e){e.parameters=G({address:J(X()),expiry:rk(),keyType:J(Xk),limits:Y(W(G({token:X(),limit:Gk(),period:J(rk())})).check(XO(1))),publicKey:J(Z()),scopes:Y(W(G({address:X(),selector:J(K([Z(),U()])),recipients:J(Y(W(X())))})).check(XO(1))),showDeposit:pA.showDeposit})})(mA||={});var hA;(function(e){e.schema=Uk({method:q(`wallet_revokeAccessKey`),params:Y(Sk([G({address:X(),accessKeyAddress:X()})])),returns:void 0})})(hA||={});var gA;(function(e){e.parameters=G({address:X(),accessKeyAddress:X(),chainId:J(Gk()),limits:Y(W(G({token:X(),limit:Gk()})).check(XO(1)))}),e.schema=Uk({method:q(`wallet_updateAccessKey`),params:Y(Sk([e.parameters])),returns:void 0})})(gA||={});var _A;(function(e){e.authorizeAccessKey=J(_k(pA.parameters,{showDeposit:!0})),e.showDeposit=J(K([ak(),G({amount:J(U()),displayName:J(U()),on:J(K([q(`login`),q(`register`)])),token:J(K([X(),U()]))})])),e.auth=J(K([U(),G({url:J(U()),challenge:J(U()),verify:J(U()),logout:J(U()),resources:J(Y(W(U()))),returnToken:J(ak())})])),e.personalSign=J(G({message:U()})),e.identity=J(G({email:J(K([ak(),U(),G({address:J(U()),domains:J(W(U())),nonce:J(U())})]))})),e.capabilities={request:J(K([G({digest:J(Z()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:q(`register`),name:J(U()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:J(U())}),G({digest:J(Z()),credentialId:J(U()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:J(q(`login`)),personalSign:e.personalSign,selectAccount:J(ak()),showDeposit:e.showDeposit})])),result:G({identity:J(G({email:J(Mk(U())),idToken:J(U())})),keyAuthorization:J(Zk),personalSign:J(G({message:U(),keyAuthorization:J(Z())})),signature:J(Z()),username:J(Mk(U())),auth:J(gk({token:J(U())}))})},e.schema=Uk({method:q(`wallet_connect`),params:J(Y(Sk([G({capabilities:e.capabilities.request,chainId:J(Kk()),version:J(U())})]))),returns:G({accounts:Y(W(G({address:X(),capabilities:e.capabilities.result})))})})})(_A||={});var vA;(function(e){let t=J(_k(mA.parameters,{showDeposit:!0})),n=_A.auth,r=_A.identity,i=_A.personalSign,a=_A.showDeposit;e.parameters=G({capabilities:J(K([G({digest:J(Z()),authorizeAccessKey:t,auth:n,identity:r,method:q(`register`),name:J(U()),personalSign:i,showDeposit:a,userId:J(U())}),G({digest:J(Z()),credentialId:J(U()),authorizeAccessKey:t,auth:n,identity:r,method:J(q(`login`)),personalSign:i,selectAccount:J(ak()),showDeposit:a})])),chainId:J(Kk()),version:J(U())})})(vA||={});var yA;(function(e){e.schema=Uk({method:q(`wallet_disconnect`),params:void 0,returns:void 0})})(yA||={});var bA;(function(e){e.schema=Uk({method:q(`wallet_getCallsStatus`),params:J(Y(Sk([U()]))),returns:G({atomic:ak(),chainId:Kk(),id:U(),receipts:J(W(Jk)),status:rk(),version:U()})})})(bA||={});var xA;(function(e){e.parameters=bk(`editable`,[G({amount:U(),chainId:J(Kk()),editable:J(q(!1)),feePayer:J(K([ak(),U()])),from:J(X()),memo:J(U()),to:X(),token:K([X(),U()])}),G({amount:J(U()),chainId:J(Kk()),editable:q(!0),feePayer:J(K([ak(),U()])),memo:J(U()),to:J(X()),token:J(K([X(),U()]))})]),e.schema=Uk({method:q(`wallet_transfer`),params:J(Y(Sk([e.parameters]))),returns:G({chainId:Kk(),receipt:Jk})})})(xA||={});let SA=G({amount:J(U()),pairToken:J(X()),slippage:J(rk().check(JO(0),qO(1))),token:J(X()),type:J(K([q(`buy`),q(`sell`)]))});var CA;(function(e){e.schema=Uk({method:q(`wallet_swap`),params:J(Y(Sk([SA]))),returns:G({receipt:Jk})})})(CA||={});var wA;(function(e){e.schema=Uk({method:q(`wallet_switchEthereumChain`),params:Y(Sk([G({chainId:Kk()})])),returns:void 0})})(wA||={});var TA;(function(e){e.schema=Uk({method:q(`wallet_deposit`),params:J(Y(Sk([G({address:J(X()),amount:J(U()),chainId:J(Kk()),displayName:J(U()),intent:J(K([q(`applePay`),q(`credits`),q(`crypto`),q(`faucet`),q(`referralCode`),q(`x`)])),token:J(K([X(),U()]))})]))),returns:J(G({receipts:J(Y(W(Jk)))}))})})(TA||={});var EA;(function(e){e.parameters=G({amount:J(U()),feePayer:J(K([ak(),U()])),token:J(X()),zoneId:J(Kk())}),e.schema=Uk({method:q(`wallet_depositZone`),params:J(Y(Sk([e.parameters]))),returns:G({receipt:Jk})})})(EA||={});var DA;(function(e){e.parameters=G({amount:J(U()),token:J(X()),zoneId:J(Kk())}),e.schema=Uk({method:q(`wallet_withdrawZone`),params:J(Y(Sk([e.parameters]))),returns:G({receipt:Jk})})})(DA||={}),mA.parameters,vA.parameters;let OA=Wk([eA.schema,tA.schema,iA.schema,nA.schema,rA.schema,oA.schema,aA.schema,sA.schema,cA.schema,pA.schema,_A.schema,TA.schema,EA.schema,yA.schema,dA.schema,bA.schema,fA.schema,hA.schema,gA.schema,xA.schema,uA.schema,CA.schema,wA.schema,DA.schema]),kA=xS();function AA(e){return e.params?G({method:e.method,params:e.params}):G({method:e.method})}let jA=bk(`method`,OA.map(AA));function MA(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 Q={acceptPayment:`Accept-Payment`,authorization:`Authorization`,paymentAuthorization:`Payment-Authorization`,paymentReceipt:`Payment-Receipt`,paymentSession:`Payment-Session`,paymentSessionSnapshot:`Payment-Session-Snapshot`,wwwAuthenticate:`WWW-Authenticate`},NA={payment:`Payment`},PA={evm:`evm`,stripe:`stripe`,tempo:`tempo`},FA={charge:`charge`,session:`session`,subscription:`subscription`},IA={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},LA={v1:`v1`,v2:`v2`};function RA(e,t){if(!(!e||typeof e!=`object`))return e[t]}var zA=class extends Error{details;status=402;hint;constructor(e,t={}){super(e),this.details=t.details}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}}}},BA=class extends zA{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 zA{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})}},VA=class extends zA{name=`PaymentExpiredError`;title=`Payment Expired`;type=`https://paymentauth.org/problems/payment-expired`;constructor(e={}){let{expires:t}=e;super(t?`Payment expired at ${t}.`:`Payment has expired.`)}};function HA(e,t){if(!e)throw new BA({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new BA({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new VA({expires:e})}If();function UA(e){let t=lx(e);return JSON.parse(t)}function WA(e){return sx(Mf(e),{pad:!1,url:!0})}function GA(){return U().check(ZO(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function KA(){return U().check(ZO(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function qA(e=`Invalid ISO 8601 datetime`){return Pk(K([KA(),Vk(e=>e instanceof Date)]),kk(JA)).check(Hk(e=>Number.isFinite(e.getTime()),e))}function JA(e){return e instanceof Date?e:new Date(e)}function YA(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function XA(){return U().check(ZO(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function ZA(){return U().check(ZO(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function QA(){return U().check(ZO(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}cp();let $A=G({description:J(U()),digest:J(U().check(ZO(/^sha-256=/,`Invalid digest format`))),expires:J(KA()),header:J(U().check(ZO(/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,`Invalid HTTP header name`))),id:U().check(XO(1)),intent:U(),method:U(),meta:J(wk(U(),U())),opaque:J(U()),realm:U(),request:wk(U(),pk())});function ej(e,t){let{description:n,digest:r,meta:i,method:a,header:o,intent:s,realm:c,request:l,secretKey:u}=e,d=hj(o)?void 0:o,f=e.expires?YA(e.expires):void 0,p=e.opaque??(i===void 0?void 0:WA(i)),m=u?gj({...e,expires:f,...i!==void 0&&{meta:i},opaque:p},{secretKey:u}):e.id;return $A.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 tj(e){let t=[nj(`id`,e.id),nj(`realm`,e.realm),nj(`method`,e.method),nj(`intent`,e.intent),nj(`request`,WA(e.request))];e.description!==void 0&&t.push(nj(`description`,e.description)),e.digest!==void 0&&t.push(nj(`digest`,e.digest)),e.expires!==void 0&&t.push(nj(`expires`,e.expires));let n=e.header;return n!==void 0&&!hj(n)&&t.push(nj(`header`,n)),e.opaque===void 0?e.meta!==void 0&&t.push(nj(`opaque`,WA(e.meta))):t.push(nj(`opaque`,e.opaque)),`${NA.payment} ${t.join(`, `)}`}function nj(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 rj(e,t){let n=ij(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=aj(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 ej({...a,request:UA(r),...i&&{opaque:i}},t)}function ij(e){let t=NA.payment,[n]=lj(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 aj(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]=oj(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function oj(e,t){if(e[t]===`\"`)return sj(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function sj(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 cj(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 lj(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(!cj(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 uj(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return dj(e.headers,t)}function dj(e,t){let n=e.get(Q.wwwAuthenticate);if(!n)throw Error(`Missing ${Q.wwwAuthenticate} header.`);return fj(n,t)}function fj(e,t){let n=lj(e,NA.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 rj(e.slice(r,a).replace(/,\\s*$/,``),t)})}function pj(e){let t=[e.realm,e.method,e.intent,WA(e.request),e.expires??``,e.digest??``],n=e.header;return n!==void 0&&!hj(n)&&t.push(n),t.push(e.opaque??(e.meta?WA(e.meta):``)),t.join(`|`)}function mj(e){return e.header??Q.authorization}function hj(e){return e?.toLowerCase()===Q.authorization.toLowerCase()}function gj(e,t){let n=pj(e);return ax(__(Hf(t.secretKey),Hf(n),{as:`Bytes`}),{url:!0,pad:!1})}let _j=Symbol.for(`mppx.x402.challenge`);function vj(e){return Object.defineProperty(e,_j,{value:!0}),e}function yj(e){return!!e?.[_j]}function bj(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=Tj(n)}return t}function xj(e,t){let n=bj(e),r=Mj(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[Tj(e)]??1,index:t}));return{definition:r,entries:i,header:Cj(i),keys:n}}function Sj(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)=>Aj(e,t))}function Cj(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${Ij(n)}`}).join(`, `)}function wj(e,t,n){let r=new Map;for(let e of t){let t=Tj(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(Tj(e));if(!i)return[];let a=Ej(e,n);return!a||a.q<=0?[]:i.filter(t=>t.canHandleChallenge?.({challenge:e})??!0).map(n=>({challenge:e,index:t,match:a,method:n}))}).sort((e,t)=>kj(e.challenge)-kj(t.challenge)||t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function Tj(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function Ej(e,t){let n;for(let r of t){if(!Dj(e,r))continue;let t={...r,specificity:Oj(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 Dj(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function Oj(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function kj(e){return+!!yj(e)}function Aj(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}`);Lj(r,`method`),Lj(i,`intent`);let a=1;for(let t of jj(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=Pj(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function jj(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function Mj(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>Tj(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]=Nj(t,`payment preference \"${e}\"`)}return a}function Nj(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return Fj(e,t)}function Pj(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 Fj(Number(e),t)}function Fj(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 Ij(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function Lj(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var Rj=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},zj=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function Bj(e){let t=e.match(RegExp(`^${NA.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new Rj;try{let e=lx(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=Vj(r);return{challenge:$A.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:UA(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new zj}}function Vj(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!Hj(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:WA(e)}}function Hj(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function Uj(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:WA(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:WA(r)},payload:e.payload,...e.source&&{source:e.source}},s=sx(JSON.stringify(o),{pad:!1,url:!0});return`${NA.payment} ${s}`}var Wj=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 Gj(e){}function Kj(e){if(typeof e==`function`)throw TypeError(\"`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?\");let{onEvent:t=Gj,onError:n=Gj,onRetry:r=Gj,onComment:i,maxBufferSize:a}=e,o=[],s=0,c=!0,l,u=``,d=0,f,p=!1;function m(e){if(p)throw Error(\"Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.\");if(c&&(c=!1,e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),o.length===0){let t=g(e);t!==``&&(o.push(t),s=t.length),h();return}if(e.indexOf(`\n`)===-1&&e.indexOf(`\\r`)===-1){o.push(e),s+=e.length,h();return}o.push(e);let t=o.join(``);o.length=0,s=0;let n=g(t);n!==``&&(o.push(n),s=n.length),h()}function h(){a!==void 0&&(s+u.length<=a||(p=!0,o.length=0,s=0,l=void 0,u=``,d=0,f=void 0,n(new Wj(`Buffered data exceeded max buffer size of ${a} characters`,{type:`max-buffer-size-exceeded`}))))}function g(e){let n=0;if(e.indexOf(`\\r`)===-1){let r=e.indexOf(`\n`,n);for(;r!==-1;){if(n===r){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0,n=r+1,r=e.indexOf(`\n`,n);continue}let i=e.charCodeAt(n);if(qj(e,n,i)){let i=e.charCodeAt(n+5)===32?n+6:n+5,a=e.slice(i,r);if(d===0&&e.charCodeAt(r+1)===10){t({id:l,event:f,data:a}),l=void 0,u=``,f=void 0,n=r+2,r=e.indexOf(`\n`,n);continue}u=d===0?a:`${u}\n${a}`,d++}else Jj(e,n,i)?f=e.slice(e.charCodeAt(n+6)===32?n+7:n+6,r)||void 0:_(e,n,r);n=r+1,r=e.indexOf(`\n`,n)}return e.slice(n)}for(;n<e.length;){let t=e.indexOf(`\\r`,n),r=e.indexOf(`\n`,n),i=-1;if(t!==-1&&r!==-1?i=t<r?t:r:t===-1?r!==-1&&(i=r):i=t===e.length-1?-1:t,i===-1)break;_(e,n,i),n=i+1,e.charCodeAt(n-1)===13&&e.charCodeAt(n)===10&&n++}return e.slice(n)}function _(e,t,n){if(t===n){y();return}let r=e.charCodeAt(t);if(qj(e,t,r)){let r=e.charCodeAt(t+5)===32?t+6:t+5,i=e.slice(r,n);u=d===0?i:`${u}\n${i}`,d++;return}if(Jj(e,t,r)){f=e.slice(e.charCodeAt(t+6)===32?t+7:t+6,n)||void 0;return}if(r===105&&e.charCodeAt(t+1)===100&&e.charCodeAt(t+2)===58){let r=e.slice(e.charCodeAt(t+3)===32?t+4:t+3,n);r.includes(`\\0`)||(l=r);return}if(r===58){if(i){let r=e.slice(t,n);i(r.slice(e.charCodeAt(t+1)===32?2:1))}return}let a=e.slice(t,n),o=a.indexOf(`:`);if(o===-1){v(a,``,a);return}let s=a.slice(0,o),c=a.charCodeAt(o+1)===32?2:1;v(s,a.slice(o+c),a)}function v(e,t,i){switch(e){case`event`:f=t||void 0;break;case`data`:u=d===0?t:`${u}\n${t}`,d++;break;case`id`:t.includes(`\\0`)||(l=t);break;case`retry`:/^\\d+$/.test(t)?r(parseInt(t,10)):n(new Wj(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new Wj(`Unknown field \"${e.length>20?`${e.slice(0,20)}\\u2026`:e}\"`,{type:`unknown-field`,field:e,value:t,line:i}))}}function y(){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0}function b(e={}){if(e.consume&&o.length>0){let e=o.join(``);_(e,0,e.length)}c=!0,l=void 0,u=``,d=0,f=void 0,o.length=0,s=0,p=!1}return{feed:m,reset:b}}function qj(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 Jj(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}let Yj=[`exact`],Xj=`PAYMENT-REQUIRED`,Zj=`PAYMENT-SIGNATURE`,Qj=U().check(XO(1)),$j=rk().check(Hk(e=>e>0,`Must be positive`)),eM=U().check(ZO(/^\\d+$/,`Invalid atomic amount`)),tM=XA(),nM=U().check(ZO(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),rM=G({description:J(U()),iconUrl:J(U()),mimeType:J(U()),serviceName:J(U()),tags:J(W(U())),url:Qj}),iM=G({amount:eM,asset:Qj,extra:J(wk(U(),pk())),maxTimeoutSeconds:$j,network:nM,payTo:Qj,scheme:Ek(Yj)}),aM=wk(U(),G({info:wk(U(),pk()),schema:wk(U(),pk())})),oM=G({accepts:W(iM).check(XO(1)),error:J(U()),extensions:J(aM),resource:rM,x402Version:q(2)}),sM=K([G({authorization:G({from:tM,nonce:ZA(),to:tM,validAfter:eM,validBefore:eM,value:eM}),signature:QA()}),G({permit2Authorization:G({deadline:eM,from:tM,nonce:eM,permitted:G({amount:eM,token:tM}),spender:tM,witness:G({to:tM,validAfter:eM})}),signature:QA()})]),cM=G({accepted:iM,extensions:J(aM),payload:sM,resource:J(rM),x402Version:q(2)}),lM=G({amount:J(eM),errorMessage:J(U()),errorReason:J(U()),extensions:J(aM),extra:J(wk(U(),pk())),network:Qj,payer:J(U()),success:ak(),transaction:U()}),uM=[Q.authorization,Xj,`PAYMENT-RESPONSE`,Zj];function dM(e,t,n){let r=new Headers(e.headers);for(let e of uM)e===Q.authorization&&!r.get(e)?.startsWith(`Payment `)||r.delete(e);return r.set(t,n),{...e,headers:r}}function fM(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 pM=new WeakMap;function mM(e){let t=fM(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 hM(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 gM(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=$A.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 _M(e){if(e)return`error`in e?e.error?.code!==-32042&&e.error?.code!==-32043?void 0:gM(e.error.data):gM(e.result?._meta?.[`org.paymentauth/payment-required`])}function vM(e,t){return!e||e.id!==t?[]:_M(e)?.challenges??[]}async function yM(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=Kj({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=hM(JSON.parse(e.data))}catch{}}});try{for(;;){if(r)return i;let{done:e,value:o}=await t.read();if(e)return a.feed(n.decode()),a.reset({consume:!0}),i;a.feed(n.decode(o,{stream:!0}))}}finally{t.cancel().catch(()=>{})}}function bM(e){let t=pM.get(e);if(t)return t;let n=(async()=>{let t=e.headers.get(`content-type`)?.toLowerCase()??``;if(t.includes(`application/json`))return e.clone().json().then(hM).catch(()=>void 0);if(t.includes(`text/event-stream`))return yM(e)})();return pM.set(e,n),n}function xM(){return{getChallenges(e,t){let n=mM(t);return e.status===402||n===void 0?[]:bM(e).then(e=>vM(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=Bj(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function SM(){return{getChallenges(e){return e.status!==402||!e.headers.has(Q.wwwAuthenticate)?[]:uj(e)},setCredential(e,t,n){return dM(e,n?.challenge?mj(n.challenge):Q.authorization,t)}}}function CM(e){return{encode(t){return sx(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(lx(t)))}catch{throw new wM}}}}var wM=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let TM=CM(oM),EM=CM(cM),DM=CM(lM);TM.encode,TM.decode;function OM(e){try{let t=JSON.parse(lx(e));return kM(t)}catch{throw new wM}}EM.encode,EM.decode,DM.encode,DM.decode;let kM=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new wM;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new wM;let n=rM.parse(t.resource),r=t.extensions===void 0?void 0:aM.safeParse(t.extensions).data;return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}};function AM(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(Xj);if(!t)return[];let n=OM(t);if(e.url&&n.resource.url!==e.url)throw Error(`x402 payment-required resource does not match response URL.`);return n.accepts.flatMap((e,t)=>{let r=iM.safeParse(e);if(!r.success)return[];let i=r.data;return vj(ej({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 dM(e,Zj,t)}}}function jM(e){return e}function MM(){let e=[SM(),AM(),xM()],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 jM({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 NM=new WeakMap;function PM(e,t){return NM.set(e,t),e}function FM(e){return NM.has(e)}function IM(e,t){return Promise.resolve(NM.get(e)?.(t))}let LM=new WeakMap,RM=new WeakMap;function zM(e,t){return LM.set(e,t),e}function BM(e){LM.delete(e)}function VM(e,t,n){LM.has(e)&&RM.set(t,n)}function HM(e){return RM.get(e)}function UM(e,t){return Promise.resolve(LM.get(e)?.(t)??t.response)}let WM=Symbol.for(`mppx.fetch.wrapper`),GM,KM=new WeakMap;async function qM(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 JM(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=MM()}=e,l=e.eventDispatcher??ZM(),u=t??xj(a),d=vN(r),f=async(e,t,r)=>{let p=_N(e,t?.headers),m=p.has(Q.acceptPayment),h=CN(p,u),g=hN(e,t,p),_=mN(e,t,p,h.header,m,n),v=await d(yN(_.input),_.init),y=gN(_.init,await g);if(!await c.isPaymentRequired(v,y))return v;let b=t?.context,{context:x,orderChallenges:S,...C}=y??{},w,T,ee,te;try{for(let n=0;n<i;n++){T=await c.getChallenges(v,y);let i=(await wN(wj(T,a,h.entries),S??s))[0];if(!i){if(await qM(te,{challenges:T,response:v,status:`rejected`}),n>0)return v;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 u=i.challenge;w=u,ee=i.method,w.expires&&HA(w.expires,w.id);let p=kN(v,_.input,_.input),m=te,g=tj(u),x=m?.method===i.method&&m?.key===g,ne=!1;if(m){let e=await qM(m,{challenges:T,response:v,status:x?`pending`:`rejected`});ne=x&&!e}te=ne?m:void 0;let re=nN(async e=>{if(e===void 0&&ne&&m)return m.promise;ne&&m&&(await qM(m,{status:`rejected`}),te=void 0);let t=e??b;if(!FM(i.method))return SN(u,i.method,t);let n={prepare:()=>IM(i.method,{challenge:u,context:t,fetch:d,input:p})},r=n.prepare().then(()=>SN(u,i.method,t,n));return te={attempt:n,key:e===void 0?g:void 0,method:i.method,promise:r},r}),ie=await l.emit(`challenge.received`,rN({challenge:u,challenges:T,createCredential:re,init:t,input:e,method:i.method,response:v}))??(o?await o(w,{createCredential:re}):void 0)??await re(),ae=te;ae&&await ae.promise.catch(()=>void 0)!==ie&&(await qM(ae,{status:`rejected`}),te=void 0),xN(ie),await l.emit(`credential.created`,iN({challenge:u,credential:ie,init:t,input:e,method:i.method,response:v})),v=await d(p,c.setCredential({...C,headers:_.headers},ie,{challenge:u}));let oe=await c.isPaymentRequired(v,y);if(oe||(await qM(ae,{response:v,status:v.ok?`accepted`:`rejected`}),te=void 0),v.ok&&QM(l,`payment.response`)&&await l.emit(`payment.response`,aN({challenge:u,credential:ie,init:t,input:e,method:i.method,response:v})),!oe)return v.ok?UM(i.method,{challenge:u,credential:ie,fetch:d,headers:_.headers,input:p,...r?{refetch:()=>f(yN(_.input),t,!1)}:{},response:v,signal:bN(e,t)}):v}T=void 0;try{T=await c.getChallenges(v,y)}catch{}return await qM(te,{challenges:T,response:v,status:`rejected`}),v}catch(n){throw await qM(te,{challenges:T,response:v,status:`rejected`}),await l.emit(`payment.failed`,oN({challenge:w,challenges:T,error:n,init:t,input:e,method:ee,response:v})),n}},p=(e,t)=>f(e,t,!0);return p[WM]=d,p}function YM(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);GM||=globalThis.fetch,globalThis.fetch=JM({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(DN()?`same-origin`:`always`),fetch:globalThis.fetch})}function XM(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 ZM(){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 $M(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await tN(e[`*`],t,n),r}case`credential.created`:await eN(e[`credential.created`],n),await tN(e[`*`],t,n);return;case`payment.failed`:await eN(e[`payment.failed`],n),await tN(e[`*`],t,n);return;case`payment.response`:await eN(e[`payment.response`],n),await tN(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 KM.set(t,t=>e[t].size>0||e[`*`].size>0),t}function QM(e,t){return KM.get(e)?.(t)??!0}async function $M(e,t){try{return await e(t)}catch{return}}async function eN(e,t){for(let n of e)try{await n(t)}catch{}}async function tN(e,t,n){await eN(e,Object.freeze({name:t,payload:n}))}function nN(e){let t;return n=>(t??=e(n),t)}function rN(e){return Object.freeze({challenge:dN(e.challenge),challenges:e.challenges.map(e=>dN(e)),createCredential:e.createCredential,init:sN(e.init),input:cN(e.input),method:lN(e.method),response:uN(e.response)})}function iN(e){return Object.freeze({challenge:dN(e.challenge),credential:e.credential,init:sN(e.init),input:cN(e.input),method:lN(e.method),...e.response===void 0?{}:{response:uN(e.response)}})}function aN(e){return Object.freeze({challenge:dN(e.challenge),credential:e.credential,init:sN(e.init),input:cN(e.input),method:lN(e.method),response:uN(e.response)})}function oN(e){return Object.freeze({...e.challenge?{challenge:dN(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>dN(e))}:{},error:e.error,init:sN(e.init),input:cN(e.input),...e.method?{method:lN(e.method)}:{},...e.response===void 0?{}:{response:uN(e.response)}})}function sN(e){if(e)return pN({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function cN(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function lN(e){return pN(Object.assign({},e))}function uN(e){return e instanceof Response?e.clone():dN(e)}function dN(e){try{return fN(structuredClone(e))}catch{return pN(e)}}function fN(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))fN(t);return e}function pN(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function mN(e,t,n,r,i,a){let o=!!r&&!i&&TN(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(Q.acceptPayment,r),t?(t.headers=s,{headers:s,init:t,input:e}):{headers:s,init:o?{headers:s}:void 0,input:e}}function hN(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 gN(e,t){return t===void 0?e:{...e,body:t}}function _N(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function vN(e){let t=e;for(;t[WM];)t=t[WM];return t}function yN(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function bN(e,t){return t?.signal??(e instanceof Request?e.signal:void 0)}function xN(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 SN(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&&VM(t,a,r),t.createCredential(a)}function CN(e,t){let n=e.get(Q.acceptPayment);if(!n)return t;try{return{...t,entries:Sj(n),header:n}}catch{return t}}async function wN(e,t){return t?t(e):e}function TN(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=ON(e);return t===`same-origin`?!DN()||n.origin===globalThis.location.origin:t.origins.some(e=>EN(n,e))}function EN(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 DN(){return globalThis.location!==void 0}function ON(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,DN()?globalThis.location.href:void 0)}function kN(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=ON(n);if(r.origin!==i.origin)throw Error(`Refusing to send payment credential across redirect from ${i.origin} to ${r.origin}`);return e.url}function AN(e){return e}function jN(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function MN(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 N(r)}}function NN(e){return Object.fromEntries(Object.entries(e.headers??{}).filter(([e])=>e.toLowerCase()!==`content-type`))}let PN={[dE.id]:dE,[fE.id]:fE};function FN(e,t={}){return Zb(e.url,{fetchOptions:{headers:NN(e)},...t})}function IN(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=GE(Kb({request:t=>e(t)},{retryCount:0}),FN(r,{retryCount:i.transport.retryCount}))({account:i.account,chain:i.chain,pollingInterval:i.pollingInterval,retryCount:0}),n=Gb({...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,...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?GE(Zb(a),FN(r)):Zb(a);return Eh({chain:PN[n]??{...t,id:n},transport:o})}}let LN={mainnet:4217,testnet:42431},RN={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`},zN={[LN.mainnet]:RN.usdc,[LN.testnet]:RN.pathUsd},BN={[LN.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[LN.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},VN={[LN.mainnet]:`https://rpc.tempo.xyz`,[LN.testnet]:`https://rpc.moderato.tempo.xyz`},HN=[`push`,`pull`],UN=G({amount:GA(),memo:J(ZA()),recipient:Pk(U(),kk(e=>e))}),WN=(1n<<64n)-1n,GN={dev_second:1n,day:86400n,week:604800n},KN=Pk(XA(),kk(e=>e.toLowerCase())),qN=G({accessKeyAddress:KN,keyType:Ek([`p256`,`secp256k1`,`webAuthn`])}),JN=G({accessKey:J(qN),chainId:J(rk())}),YN=qA(`subscriptionExpires must be a valid date`).check(Hk(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),XN=Ek([`dev_second`,`day`,`week`]),ZN=Pk(K([U(),sk(),Vk(e=>typeof e==`number`&&Number.isSafeInteger(e))]),kk(e=>e.toString())).check(ZO(/^[1-9]\\d*$/,`Invalid periodCount`),Hk(e=>{try{return BigInt(e)<=WN}catch{return!1}},`periodCount exceeds uint64`));function QN(e){return Hk(e=>{let{amount:t,decimals:n}=e;return Ay(t,n)>0n},e)}function $N(e){let{periodCount:t,periodUnit:n}=e;try{let e=GN[n];return e!==void 0&&BigInt(t)*e<=WN}catch{return!1}}let eP=AN({name:`tempo`,intent:`charge`,schema:{credential:{payload:bk(`type`,[G({hash:ZA(),type:q(`hash`)}),G({signature:QA(),type:q(`transaction`)}),G({signature:QA(),type:q(`proof`)})])},request:Pk(G({amount:GA(),chainId:J(rk()),currency:U(),decimals:rk(),description:J(U()),externalId:J(U()),feePayer:J(Pk(K([ak(),Vk()]),kk(e=>typeof e==`object`||e))),memo:J(ZA()),recipient:J(U()),splits:J(W(UN).check(XO(1),YO(10))),supportedModes:J(W(Ek(HN)).check(XO(1)))}).check(Hk(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=Ay(e,t),i=n.reduce((e,n)=>e+Ay(n.amount,t),0n);return n.every(e=>Ay(e.amount,t)>0n)&&i<r},`Invalid splits`)),kk(({amount:e,chainId:t,decimals:n,feePayer:r,memo:i,splits:a,supportedModes:o,...s})=>({...s,amount:Ay(e,n).toString(),...t!==void 0||r!==void 0||i!==void 0||a!==void 0||o!==void 0?{methodDetails:{...t!==void 0&&{chainId:t},...r!==void 0&&{feePayer:r},...i!==void 0&&{memo:i},...a!==void 0&&{splits:a.map(e=>({...e,amount:Ay(e.amount,n).toString()}))},...o!==void 0&&{supportedModes:o}}}:{}})))}}),tP=AN({name:`tempo`,intent:`session`,schema:{credential:{payload:bk(`action`,[G({action:q(`open`),authorizedSigner:J(U()),channelId:ZA(),cumulativeAmount:GA(),descriptor:J(Vk()),signature:QA(),transaction:QA(),type:q(`transaction`)}),G({action:q(`topUp`),additionalDeposit:GA(),channelId:ZA(),descriptor:J(Vk()),transaction:QA(),type:q(`transaction`)}),G({action:q(`voucher`),channelId:ZA(),cumulativeAmount:GA(),descriptor:J(Vk()),signature:QA()}),G({action:q(`close`),channelId:ZA(),cumulativeAmount:GA(),descriptor:J(Vk()),signature:QA()})])},request:Pk(G({amount:GA(),chainId:J(rk()),channelId:J(ZA()),currency:U(),decimals:rk(),escrowContract:J(U()),feePayer:J(Pk(K([ak(),Vk()]),kk(e=>typeof e==`object`||e))),feeToken:J(XA()),minVoucherDelta:J(GA()),operator:J(XA()),recipient:J(U()),sessionProtocol:J(Ek([LA.v2,LA.v1])),sessionSnapshot:J(Vk()),suggestedDeposit:J(GA()),unitType:U()}).check(Hk(({amount:e,decimals:t})=>Ay(e,t)>0n,`Session amount must be greater than 0`)),kk(({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:Ay(e,r).toString(),...d?{suggestedDeposit:Ay(d,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...s!==void 0&&{minVoucherDelta:Ay(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&&{[IA.sessionProtocol]:l},...u!==void 0&&{[IA.sessionSnapshot]:u}}})))}}),nP=AN({name:`tempo`,intent:`subscription`,schema:{credential:{payload:G({signature:QA(),type:q(`keyAuthorization`)})},request:Pk(G({amount:GA(),accessKey:J(qN),chainId:J(rk()),currency:KN,decimals:rk(),description:J(U()),externalId:J(U()),methodDetails:J(JN),periodCount:ZN,periodUnit:XN,recipient:KN,subscriptionExpires:YN}).check(QN(`Subscription amount must be greater than 0`),Hk($N,`Subscription period exceeds uint64`)),kk(({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:Ay(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});Pi(),tf();let rP=(1n<<64n)-1n,iP={dev_second:1n,day:86400n,week:604800n};function aP(e){return e instanceof Date?e:new Date(e)}function oP(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 sP(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=iP[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>rP)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 cP(e){let{challengeExpires:t,request:n}=e;sP(n);let r=oP(aP(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 lP(e){return[{address:xP(e.currency,`currency`),selector:`0x95777d59`,recipients:[xP(e.recipient,`recipient`)]}]}async function uP(e){let{accessKey:t,account:n,chainId:r,request:i}=e;if(typeof n.sign!=`function`)return;let a=fP({accessKey:t,chainId:r,request:i}),o=await n.sign({hash:ew(a)}),s=uC(o);if(s.type===`keychain`||s.type===`multisig`)throw new $({reason:`keyAuthorization must use a primitive signature`});return ZC(a,{signature:o})}function dP(e){let{accessKey:t,chainId:n,payload:r,request:i}=e;if(r.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let a=pP(r.signature),o=mP(a);return hP({accessKey:t,authorization:a,chainId:n}),gP(a,i),vP(_P(a),i),yP(a.scopes,i),{authorization:a,source:{address:bP(a,o),chainId:n}}}function fP(e){let{accessKey:t,chainId:n,request:r}=e;return ZC({address:xP(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(n),expiry:oP(aP(r.subscriptionExpires)),limits:[{token:xP(r.currency,`currency`),limit:BigInt(r.amount),period:sP(r)}],scopes:lP(r),type:t.keyType})}function pP(e){try{return tw(e)}catch(e){throw e instanceof _w?new $({reason:`keyAuthorization must use a primitive signature`}):new $({reason:`invalid keyAuthorization payload`})}}function mP(e){let t=e.signature;if(!t)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function hP(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!ef(n.address,xP(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function gP(e,t){if(cP({request:t}),e.expiry!==oP(aP(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function _P(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function vP(e,t){if(!ef(e.token,xP(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==sP(t))throw new $({reason:`keyAuthorization period mismatch`})}function yP(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=xP(t.currency,`currency`),r=xP(t.recipient,`recipient`),i=new Set;for(let t of e){if(!ef(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=SP(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||!ef(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function bP(e,t){let n=ew(e);try{let e=oC({payload:n,signature:t});if(!gC(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 xP(e,t){if(!ji(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function SP(e){return typeof e==`string`?e.toLowerCase():``}R(),tf();let CP=G({accessKey:J(Vk()),account:J(Vk())});function wP(e={}){let t=IN({chain:dE,getClient:e.getClient,rpcUrl:VN}),n=MN({account:e.account});return jN(nP,{context:CP,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??LN.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.\");EP(r.request),await e.validateRequest?.(r.request);let l=await TP(o,{accessKey:c,account:s,chainId:a,request:r.request});if(!ef(dP({accessKey:c,chainId:a,payload:{signature:rw(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return Uj({challenge:r,payload:{signature:rw(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function TP(e,t){let{accessKey:n,account:r,chainId:i,request:a}=t;return await uP({accessKey:n,account:r,chainId:i,request:a})||QC((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:oP(aP(a.subscriptionExpires)),keyType:n.keyType,limits:[{token:a.currency,limit:I(BigInt(a.amount)),period:sP(a)}],scopes:lP(a)}]})).keyAuthorization)}function EP(e){sP(e),oP(aP(e.subscriptionExpires))}cp(),R();let DP=L(g_(Hf(`mpp`),{as:`Hex`}),0,4);function OP(e){return bp(L(g_(Hf(e),{as:`Hex`}),0,10))}function kP(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(bp(DP),0),i[4]=1,i.set(OP(t),5),n&&i.set(OP(n),15),i.set(AP(r),25),fp(i)}function AP(e){return bp(L(g_(Hf(e),{as:`Hex`}),0,7))}function jP(e,t){return SC(e).toLowerCase()===SC(t).toLowerCase()}let MP=[RN.pathUsd,RN.usdc];async function NP(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!jP(e,i)),c=await Promise.allSettled([qm(e,yE.call(e,{account:n,token:i})),...s.map(t=>qm(e,yE.call(e,{account:n,token:t})))]),l=c[0];if(!(l.status===`fulfilled`&&l.value>=r)){for(let t=0;t<s.length;t++){let n=c[t+1];if(n.status!==`fulfilled`)continue;let a=n.value;if(a<=0n)continue;let l=s[t];try{let t=await KT(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let n=t+t*BigInt(Math.round(o*100))/10000n;return[pE.call(e,{amount:n,spender:vT,token:l}),VT.call({tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:n})]}}catch{}}throw new FP({currency:i})}}function PP(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>jP(e,t)))]:t,slippage:e.slippage??1}:!1}var FP=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function IP(e){let t=BigInt(e.amount),n=e.methodDetails?.splits??[],r=n.reduce((e,t)=>e+BigInt(t.amount),0n);if(r>=t)throw Error(`Invalid charge request: split total must be less than total amount.`);let i=t-r;if(i<=0n)throw Error(`Invalid charge request: primary transfer amount must be positive.`);return[{amount:i.toString(),memo:e.methodDetails?.memo,recipient:e.recipient},...n.map(e=>({amount:e.amount,memo:e.memo,recipient:e.recipient}))]}function LP(e,t,n){t&&(n&&!n.some(e=>jP(e,t))||e.some(e=>jP(e,t))||e.push(t))}async function RP(e,t,n){try{return(await yE(e,{account:t,token:n})).amount>0n}catch{return!1}}function zP(e){let t=e.chain?.feeToken;if(t)return IC(t);let n=e.chain?.id;return n?zN[n]:void 0}function BP(e){let t=[];return LP(t,RN.pathUsd),LP(t,zN[e]),t}async function VP(e){let{account:t,allowedTokens:n,candidateTokens:r,client:i,prioritizeCandidates:a}=e,o=[];if(a)for(let e of r??[])LP(o,e,n);if(LP(o,await LE(i,{account:t}).then(e=>e?.address).catch(()=>void 0),n),LP(o,zP(i),n),!a)for(let e of r??[])LP(o,e,n);for(let e of o)if(await RP(i,t,e))return e;return o[0]}let HP={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function UP(e){return{name:`MPP`,version:`3`,chainId:e}}function WP(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function GP(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:UP(n),types:HP,primaryType:`Proof`,message:WP({account:t,challengeId:r,realm:i})}}function KP(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let qP=UE({addresses:{4217:`0x20c000000000000000000000f37de3740ADec032`,42431:`0x20c000000000000000000000f37de3740ADec032`},currency:`USD`,decimals:6,name:`MACH`,symbol:`MACH`});tf();let JP=G({account:J(Vk()),autoSwap:J(Vk()),mode:J(Ek(HN))});function YP(e={}){let{clientId:t}=e,n=IN({chain:dE,getClient:e.getClient,rpcUrl:VN}),r=MN({account:e.account});return jN(eP,{context:JP,async createCredential({challenge:i,context:a}){let o=i.request.methodDetails?.chainId;if(e.expectedChainId!==void 0&&o!==void 0&&o!==e.expectedChainId)throw Error(`Chain ID mismatch: expected ${e.expectedChainId}, got ${o}.`);let s=o??e.expectedChainId,c=await n({chainId:s}),l=s??c.chain?.id;if(l===void 0)throw Error(\"No `chainId` provided. Pass a chain ID in the challenge or client.\");let{request:u}=i,{amount:d,methodDetails:f}=u,p=f?.supportedModes??[`pull`,`push`],m=r(c,a);if(BigInt(d)===0n)return Uj({challenge:i,payload:{signature:await Bb(c,{account:m,...GP({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:KP({address:m.address,chainId:l})});let h=u.currency;if(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase())),n=f?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}let g=f?.memo?f.memo:kP({challengeId:i.id,clientId:t,serverId:i.realm}),_=IP({amount:d,methodDetails:{...f,memo:g},recipient:u.recipient}).map(e=>NE.call(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),v=PP(a?.autoSwap??e.autoSwap,MP),y=await e.resolveAccount?.({account:m,chainId:l,operation:{kind:`executeCalls`,...v?{}:{calls:_}}})??m,b=(()=>{let t=a?.mode??e.mode;if(t){if(!p.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=y.type===`json-rpc`?`push`:`pull`;return p.includes(n)?n:p[0]})(),x=[...(v?await NP(c,{account:y.address,amountOut:BigInt(d),tokenOut:h,tokenIn:v.tokenIn,slippage:v.slippage}):void 0)??[],..._],S=qP.addresses[l],C=BP(l),w=S&&ef(h,S)?await VP({account:y.address,allowedTokens:C,candidateTokens:C,client:c,prioritizeCandidates:!0}):void 0,T=(()=>{let e=Math.floor(Date.now()/1e3)+25;if(!i.expires)return e;let t=Math.floor(new Date(i.expires).getTime()/1e3);return Math.min(e,t)})();if(b===`push`){let{receipts:e}=y.type===`local`?{receipts:[await xb(c,{account:y,calls:x,...w?{feeToken:w}:{},nonceKey:`expiring`,validBefore:T})]}:await Fb(c,{account:y,...w?{capabilities:{feeToken:w}}:{},calls:x,experimental_fallback:x.length===1,forceAtomic:x.length>1}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return Uj({challenge:i,payload:{hash:t,type:`hash`},source:KP({address:y.address,chainId:l})})}let ee=await Zd(c,{account:y,calls:x,...w?{feeToken:w}:{},nonceKey:`expiring`,validBefore:T});if(ee.gas=(ee.gas??0n)+5000n,f?.feePayer){let e=ee;delete e.feePayerSignature,delete e.feeToken,e.feePayer=!0}return Uj({challenge:i,payload:{signature:await zb(c,ee),type:`transaction`},source:KP({address:y.address,chainId:l})})}})}function XP(e){return`accessKeyAddress`in e}function ZP(e){return XP(e)?e.accessKeyAddress:e.address}function QP(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let $P={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function eF(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function tF(e,t,n){return bg({domain:QP(e,t),types:$P,primaryType:`Voucher`,message:eF(n)})}async function nF(e,t,n,r,i){return Bb(e,{account:t,domain:QP(r,i),types:$P,primaryType:`Voucher`,message:eF(n)})}function rF(e){let t=uC(e);if(t.type===`keychain`){if(t.inner.type!==`secp256k1`)throw Error(`Session vouchers only unwrap secp256k1 keychain signatures; pass a direct voucherSigner for other key types.`);return Kv(t.inner.signature)}return pC(t)}function iF(e){return e.type!==`keychain`&&e.type===`secp256k1`}function aF(e){if(!iF(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function oF(e,t,n,r,i,a){let o=a??t,s=ZP(o),c=tF(r,i,n),l=rF(XP(o)?await o.sign({hash:c,raw:!0}):await nF(e,o,n,r,i)),u=uC(l);if(aF(u),!gC(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function sF(e){return g_(_v(yv([`address payer`,`address payee`,`address token`,`bytes32 salt`,`address authorizedSigner`,`address escrowContract`,`uint256 chainId`]),[e.payer,e.payee,e.token,e.salt,e.authorizedSigner,e.escrowContract,BigInt(e.chainId)]))}let cF=[{type:`function`,name:`CLOSE_GRACE_PERIOD`,inputs:[],outputs:[{name:``,type:`uint64`,internalType:`uint64`}],stateMutability:`view`},{type:`function`,name:`VOUCHER_TYPEHASH`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`channels`,inputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}],stateMutability:`view`},{type:`function`,name:`close`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`},{name:`signature`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`computeChannelId`,inputs:[{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`authorizedSigner`,type:`address`,internalType:`address`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`domainSeparator`,inputs:[],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`eip712Domain`,inputs:[],outputs:[{name:`fields`,type:`bytes1`,internalType:`bytes1`},{name:`name`,type:`string`,internalType:`string`},{name:`version`,type:`string`,internalType:`string`},{name:`chainId`,type:`uint256`,internalType:`uint256`},{name:`verifyingContract`,type:`address`,internalType:`address`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`extensions`,type:`uint256[]`,internalType:`uint256[]`}],stateMutability:`view`},{type:`function`,name:`getChannel`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:``,type:`tuple`,internalType:`struct TempoStreamChannel.Channel`,components:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`getChannelsBatch`,inputs:[{name:`channelIds`,type:`bytes32[]`,internalType:`bytes32[]`}],outputs:[{name:`channelStates`,type:`tuple[]`,internalType:`struct TempoStreamChannel.Channel[]`,components:[{name:`finalized`,type:`bool`,internalType:`bool`},{name:`closeRequestedAt`,type:`uint64`,internalType:`uint64`},{name:`payer`,type:`address`,internalType:`address`},{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`authorizedSigner`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`settled`,type:`uint128`,internalType:`uint128`}]}],stateMutability:`view`},{type:`function`,name:`getVoucherDigest`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`open`,inputs:[{name:`payee`,type:`address`,internalType:`address`},{name:`token`,type:`address`,internalType:`address`},{name:`deposit`,type:`uint128`,internalType:`uint128`},{name:`salt`,type:`bytes32`,internalType:`bytes32`},{name:`authorizedSigner`,type:`address`,internalType:`address`}],outputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`requestClose`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`settle`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`cumulativeAmount`,type:`uint128`,internalType:`uint128`},{name:`signature`,type:`bytes`,internalType:`bytes`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`topUp`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`},{name:`additionalDeposit`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdraw`,inputs:[{name:`channelId`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`ChannelClosed`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`settledToPayee`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`refundedToPayer`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`ChannelExpired`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`ChannelOpened`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`token`,type:`address`,indexed:!1,internalType:`address`},{name:`authorizedSigner`,type:`address`,indexed:!1,internalType:`address`},{name:`salt`,type:`bytes32`,indexed:!1,internalType:`bytes32`},{name:`deposit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`CloseRequestCancelled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`CloseRequested`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`closeGraceEnd`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Settled`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`cumulativeAmount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`deltaPaid`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newSettled`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`TopUp`,inputs:[{name:`channelId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`payer`,type:`address`,indexed:!0,internalType:`address`},{name:`payee`,type:`address`,indexed:!0,internalType:`address`},{name:`additionalDeposit`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newDeposit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`error`,name:`AmountExceedsDeposit`,inputs:[]},{type:`error`,name:`AmountNotIncreasing`,inputs:[]},{type:`error`,name:`ChannelAlreadyExists`,inputs:[]},{type:`error`,name:`ChannelFinalized`,inputs:[]},{type:`error`,name:`ChannelNotFound`,inputs:[]},{type:`error`,name:`CloseNotReady`,inputs:[]},{type:`error`,name:`DepositOverflow`,inputs:[]},{type:`error`,name:`InvalidPayee`,inputs:[]},{type:`error`,name:`InvalidSignature`,inputs:[]},{type:`error`,name:`NotPayee`,inputs:[]},{type:`error`,name:`NotPayer`,inputs:[]},{type:`error`,name:`TransferFailed`,inputs:[]}];pa(),la();async function lF(e,t,n){return qm(e,{address:t,abi:cF,functionName:`getChannel`,args:[n]})}ua({abi:cF,name:`open`}),ua({abi:cF,name:`topUp`}),R(),ya();function uF(e,t){return t??e}function dF(e,t,n,r=!1){let i=e.request.methodDetails?.escrowContract,a=n??BN[t];if(!a&&!(r&&i))throw Error(\"No trusted `escrowContract` available. Provide it in client parameters or use a supported chain.\");if(i&&a&&i.toLowerCase()!==a.toLowerCase()&&(!r||n!==void 0))throw Error(`Tempo session escrow ${i} does not match client escrow ${a}.`);return i&&(!a||i.toLowerCase()!==a.toLowerCase())?i:a}function fF(e,t,n,r){return Uj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function pF(e,t,n,r,i,a,o){let s=uF(t,o),c=await oF(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function mF(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=uF(t,n.voucherSigner),d=ZP(u),f=gp(32),p=sF({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=va({abi:B,functionName:`approve`,args:[r,o]}),h=va({abi:cF,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Zd(e,{account:t,calls:[{to:a,data:m},{to:r,data:h}],feeToken:a,nonceKey:`expiring`,validBefore:g});_.gas=(_.gas??0n)+5000n,l&&(_.feePayer=!0);let v=await zb(e,_),y=await oF(e,t,{channelId:p,cumulativeAmount:s},r,c,u);return{entry:{authorizedSigner:d,channelId:p,salt:f,cumulativeAmount:s,escrowContract:r,chainId:c,opened:!0},payload:{action:`open`,type:`transaction`,channelId:p,transaction:v,authorizedSigner:d,cumulativeAmount:s.toString(),signature:y}}}async function hF(e,t,n,r){try{let i=await lF(e,t,n);if(i.deposit>0n&&!i.finalized)return{authorizedSigner:BigInt(i.authorizedSigner)===0n?i.payer:i.authorizedSigner,channelId:n,salt:`0x`,cumulativeAmount:i.settled,escrowContract:t,chainId:r,opened:!0}}catch{}}let gF=G({account:J(Vk()),action:J(Ek([`open`,`topUp`,`voucher`,`close`])),channelId:J(U()),cumulativeAmount:J(GA()),cumulativeAmountRaw:J(U()),transaction:J(U()),additionalDeposit:J(GA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function _F(e={}){let{allowCustomEscrow:t=!1,decimals:n=6}=e,r=IN({chain:dE,getClient:e.getClient,rpcUrl:VN}),i=MN({account:e.account}),a=e.maxDeposit===void 0?void 0:Ay(e.maxDeposit,n),o=new Map,s=new Map,c=new Map;function l(t){e.onChannelUpdate?.(t)}function u(e,t,n){return`${e.toLowerCase()}:${t.toLowerCase()}:${n.toLowerCase()}`}function d(n,r,i){if(i){let e=o.get(i);if(e)return dF(n,r,e)}return dF(n,r,e.escrowContract,t)}async function f(t,i,f){let p=t.request.methodDetails,m=p?.chainId??0,h=await r({chainId:m}),g=d(t,m),_=t.request.recipient,v=t.request.currency,y=BigInt(t.request.amount),b=t.request.suggestedDeposit,x=b?BigInt(b):void 0,S=(()=>{if(f?.depositRaw)return BigInt(f.depositRaw);if(e.deposit!==void 0)return Ay(e.deposit,n);if(x!==void 0&&a!==void 0)return x<a?x:a;if(a!==void 0)return a;if(x!==void 0)return x;throw Error(\"No deposit amount available. Set `deposit`, `maxDeposit`, or ensure the server challenge includes `suggestedDeposit`.\")})(),C=e.voucherSigner??i,w=u(_,v,g),T=s.get(w);if(!T){let e=f?.channelId??p?.channelId;if(e){let t=await hF(h,g,e,m);if(t){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?Ay(f.cumulativeAmount,n):void 0;e!==void 0&&(t.cumulativeAmount=e),s.set(w,t),c.set(t.channelId,w),o.set(t.channelId,g),T=t,l(T)}else if(f?.channelId)throw Error(`Channel ${f.channelId} cannot be reused (closed or not found on-chain).`)}}T?.opened&&T.authorizedSigner.toLowerCase()!==ZP(C).toLowerCase()&&(T=void 0);let ee;if(T?.opened)T.cumulativeAmount+=y,ee=await pF(h,i,T.channelId,T.cumulativeAmount,g,m,C),l(T);else{let e=await mF(h,i,{voucherSigner:C,escrowContract:g,payee:_,currency:v,deposit:S,initialAmount:y,chainId:m,feePayer:p?.feePayer});s.set(w,e.entry),c.set(e.entry.channelId,w),o.set(e.entry.channelId,g),ee=e.payload,l(e.entry)}return fF(t,ee,m,i)}async function p(t,i,a){let u=t.request.methodDetails?.chainId??0,f=await r({chainId:u}),p=a.action,{channelId:m,transaction:h}=a,g=e.voucherSigner??i,_=m,v=a.cumulativeAmountRaw?BigInt(a.cumulativeAmountRaw):a.cumulativeAmount?Ay(a.cumulativeAmount,n):void 0,y=a.additionalDepositRaw?BigInt(a.additionalDepositRaw):a.additionalDeposit?Ay(a.additionalDeposit,n):void 0,b=d(t,u,_);o.set(_,b);let x;switch(p){case`open`:{if(!h)throw Error(`transaction required for open action`);if(v===void 0)throw Error(`cumulativeAmount required for open action`);let e=await oF(f,i,{channelId:_,cumulativeAmount:v},b,u,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:ZP(g),cumulativeAmount:v.toString(),signature:e};break}case`topUp`:if(!h)throw Error(`transaction required for topUp action`);if(y===void 0)throw Error(`additionalDeposit required for topUp action`);x={action:`topUp`,type:`transaction`,channelId:_,transaction:h,additionalDeposit:y.toString()};break;case`voucher`:{if(v===void 0)throw Error(`cumulativeAmount required for voucher action`);x=await pF(f,i,_,v,b,u,g);let e=c.get(_);if(e){let t=s.get(e);t&&(t.cumulativeAmount=t.cumulativeAmount>v?t.cumulativeAmount:v,l(t))}break}case`close`:{if(v===void 0)throw Error(`cumulativeAmount required for close action`);let e=await oF(f,i,{channelId:_,cumulativeAmount:v},b,u,g);x={action:`close`,channelId:_,cumulativeAmount:v.toString(),signature:e};let t=c.get(_);if(t){let e=s.get(t);e&&(e.opened=!1,e.cumulativeAmount=e.cumulativeAmount>v?e.cumulativeAmount:v,l(e))}break}}return fF(t,x,u,i)}return jN(tP,{canHandleChallenge({challenge:e}){let t=RA(e.request.methodDetails,IA.sessionProtocol);return t===void 0||t===LA.v1},context:gF,async createCredential({challenge:t,context:n}){let o=t.request.methodDetails?.chainId??0,s=await r({chainId:o}),c=i(s,n);if(!n?.action&&(e.deposit!==void 0||a!==void 0))return f(t,c,n);if(n?.action)return p(t,c,n);throw Error(\"No `action` in context and no `deposit` or `maxDeposit` configured. Either provide context with action/channelId/cumulativeAmount, or configure `deposit`/`maxDeposit` for auto-management.\")}})}let vF=(1n<<96n)-1n;function yF(e){return e>=0n&&e<=vF}function bF(e){if(!/^\\d{1,29}$/.test(e))return;let t=BigInt(e);return yF(t)?t:void 0}function xF(e){return SF(e),e}function SF(e){if(!yF(e))throw Error(`Value ${e} is outside uint96 bounds.`)}let CF=new Set([`open`,`topUp`,`voucher`,`close`]);function wF(e){return typeof e==`object`&&!!e}function TF(e){return typeof e==`string`&&CF.has(e)}function EF(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.channelId!=`string`||t.action!==void 0&&!TF(t.action))}function DF(e,t=`No session credential context available.`){if(!EF(e))throw Error(t);return e}function OF(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function kF(e){return wF(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function AF(e){return wF(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 jF(e){let t=lx(e),n=JSON.parse(t);if(!AF(n))throw Error(`Invalid session receipt.`);return n}function MF(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function NF(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=PF(r);return kF(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=PF(r);return AF(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function PF(e){try{return JSON.parse(e)}catch{return null}}function FF(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function IF(){return JSON.stringify({mpp:`payment-close-request`})}function LF(e){let t=RF(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`&&AF(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`&&kF(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&AF(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function RF(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let zF=`0x4d50500000000000000000000000000000000000`,BF={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function VF(e){let t=e.allowCustomEscrow??!1,n=e.fetch??globalThis.fetch,r=e.webSocket??globalThis.WebSocket,i=e.maxDeposit===void 0?null:Ay(e.maxDeposit,e.decimals??6),a=null,o=null,s=null,c=0n,l=0n,u=null,d=null,f=null,p=null,m=null,h=null,g=null,_=0n,v=0n,y=_F({account:e.account,allowCustomEscrow:t,voucherSigner:e.voucherSigner,getClient:e.client?()=>e.client:e.getClient,escrowContract:e.escrowContract,decimals:e.decimals,maxDeposit:e.maxDeposit,onChannelUpdate(e){e.channelId!==a?.channelId&&(c=0n,l=0n),a=e}}),b=JM({fetch:n,methods:[y],onChallenge:async(e,t)=>{o=e},orderChallenges:e.orderChallenges});function x(e){if(!e||e.channelId!==a?.channelId)return;S(e);let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);c=c>t?c:t,l=l>n?l:n}function S(e){if(!a||e.channelId!==a.channelId)return;let t=BigInt(e.acceptedCumulative),n=BigInt(e.spent);if(n>t)throw Error(`receipt spent exceeds accepted cumulative voucher amount`);if(t>a.cumulativeAmount)throw Error(`receipt accepted cumulative exceeds local voucher state`);if(n>a.cumulativeAmount)throw Error(`receipt spent exceeds local voucher state`);ie(t),ie(n)}function C(e=()=>!0){if(g)throw Error(`receipt wait already in progress`);return new Promise((t,n)=>{g={predicate:e,resolve:t,reject:n}})}function w(){if(p)return Promise.resolve(p);if(m)throw Error(`close-ready wait already in progress`);return new Promise((e,t)=>{m={resolve:e,reject:t}})}function T(e){if(!g||!g.predicate(e))return;let t=g;g=null,t.resolve(e)}function ee(e){if(p=e,!m)return;let t=m;m=null,t.resolve(e)}function te(e){if(!g)return;let t=g;g=null,t.reject(e)}function ne(e){if(!m)return;let t=m;m=null,t.reject(e)}function re(e,t){if(p&&p.challengeId===e.id&&p.channelId===t)return p.spent;let n=a?.channelId===t?a.cumulativeAmount:0n;if(v>0n){let e=_*v,t=l>e?l:e;return(t>n?n:t).toString()}return(l>c?l:c).toString()}function ie(e){if(i!==null&&!(e<=i))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${i}`)}function ae(e){let t=e.headers.get(Q.paymentReceipt),n=t?jF(t):null;return x(n),Object.assign(e,{receipt:n,challenge:o,channelId:a?.channelId??null,cumulative:a?.cumulativeAmount??0n})}async function oe(e,t){return s=e,ae(await b(e,t))}function se(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`&&i.once===!0,value:n}),e===`message`&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},o=(e,n)=>{let r=t.get(e);if(r)for(let e of r)e.value===n&&r.delete(e)},s=(e,a)=>{if(e===`close`){if(n)return;n=!0,i=BF.CLOSED,r=null}if(e===`open`&&(i=BF.OPEN),e===`message`&&r){r.push(a);return}let o=`on${e}`,s=c[o];typeof s==`function`&&s(a);let l=t.get(e);if(l)for(let e of Array.from(l))typeof e.value==`function`?e.value(a):e.value.handleEvent(a),e.once&&l.delete(e)},c={addEventListener:a,close(t,n){e.close(t,n)},get bufferedAmount(){return e.bufferedAmount},get extensions(){return e.extensions},on(e,t){a(e,t)},onclose:null,onerror:null,_onmessage:null,get onmessage(){return c._onmessage},set onmessage(e){if(c._onmessage=e,e&&r){let e=r;r=null;for(let t of e)s(`message`,t)}},onopen:null,off(e,t){o(e,t)},get protocol(){return e.protocol},get readyState(){return i},removeEventListener:o,send(t){e.send(t)},get url(){return e.url}};return{emit:s,socket:c}}return{get channelId(){return a?.channelId},get cumulative(){return a?.cumulativeAmount??0n},get opened(){return a?.opened??!1},async open(e){if(a?.opened)return;if(!o)throw Error(`No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().`);let t=e?.deposit,r=await y.createCredential({challenge:o,context:{...t!==void 0&&{depositRaw:t.toString()}}});if(!s)throw Error(`No URL available — call fetch() or sse() before open().`);let i=await n(s,{method:`POST`,headers:{[Q.authorization]:r}});if(!i.ok){let e=await i.text().catch(()=>``),t=i.headers.get(Q.wwwAuthenticate)??``;throw Error(`Open request failed with status ${i.status}${e?`: ${e}`:``}${t?` [${Q.wwwAuthenticate}: ${t}]`:``}`)}},fetch:oe,async sse(e,t){let{onReceipt:r,signal:i,...s}=t??{},c=await oe(e,{...s,headers:{...XM(s.headers),Accept:`text/event-stream`},...i?{signal:i}:{}}),l=o;if(!c.body)throw Error(`Response has no body.`);let u=c.body.getReader(),d=new TextDecoder;async function*f(){let t=``;try{for(;!i?.aborted;){let{done:i,value:o}=await u.read();if(i)break;t+=d.decode(o,{stream:!0});let s=t.split(`\n\n`);t=s.pop();for(let t of s){if(!t.trim())continue;let i=NF(t);if(i)switch(i.type){case`message`:yield i.data;break;case`payment-need-voucher`:{if(!a||!l)break;let t=BigInt(i.data.requiredCumulative);ie(t),a.cumulativeAmount=a.cumulativeAmount>t?a.cumulativeAmount:t;let r=await y.createCredential({challenge:l,context:{action:`voucher`,channelId:a.channelId,cumulativeAmountRaw:a.cumulativeAmount.toString()}}),o=await n(e,{method:`POST`,headers:{Accept:`text/event-stream`,[Q.authorization]:r}});if(!o.ok)throw Error(`Voucher POST failed with status ${o.status}`);break}case`payment-receipt`:x(i.data),r?.(i.data)}}}}finally{u.releaseLock()}}return f()},async ws(t,i){if(!r)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let{onReceipt:c,protocols:l,signal:m}=i??{},g=new URL(t.toString()),b=new URL(g.toString());b.protocol===`ws:`&&(b.protocol=`http:`),b.protocol===`wss:`&&(b.protocol=`https:`),s=b.toString();let S=await n(b,m?{signal:m}:void 0);if(S.status!==402)throw Error(`Expected a 402 payment challenge from ${b}, received ${S.status} instead.`);let w=(await HF(wj(uj(S),[y],xj([y]).entries),i?.orderChallenges??e.orderChallenges))[0]?.challenge;if(!w)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.`);o=w;let re=await y.createCredential({challenge:w,context:{}});p=null,u=w,_=0n,v=BigInt(w.request.amount);let ae=Bj(re);d=ae.payload.channelId;let oe=new r(g,l);f=oe;let ce=se(oe),le=e=>{te(Error(e)),ne(Error(e)),(oe.readyState===BF.CONNECTING||oe.readyState===BF.OPEN)&&oe.close(3008,e)},ue=e=>e.challengeId===w.id&&e.channelId===d,de=new Promise((e,t)=>{let n=()=>{oe.removeEventListener(`error`,r),ce.emit(`open`,{type:`open`}),e()},r=()=>{oe.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${g} failed to open.`))};oe.addEventListener(`open`,n,{once:!0}),oe.addEventListener(`error`,r,{once:!0})});return oe.addEventListener(`close`,e=>{f===oe&&(f=null),u===w&&(u=null),d===ae.payload.channelId&&(d=null),h=null,te(Error(`WebSocket closed before the payment flow completed.`)),ne(Error(`WebSocket closed before the payment flow completed.`)),ce.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),oe.addEventListener(`error`,()=>{ce.emit(`error`,{type:`error`})}),oe.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=LF(t);if(!n){ce.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:_+=1n,ce.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!ue(n.data)){le(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(a?.cumulativeAmount??0n)){le(`received payment-close-ready beyond local voucher state`);break}x(n.data),c?.(n.data),ee(n.data),ce.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:te(Error(n.message)),ne(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==d){le(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{ie(e)}catch(e){le(e instanceof Error?e.message:`requested voucher amount exceeds local maxDeposit`);break}let t=(a?.cumulativeAmount??0n)>e?a?.cumulativeAmount??0n:e;a?.channelId===d&&(a.cumulativeAmount=t);let r=await y.createCredential({challenge:w,context:{action:`voucher`,channelId:d,cumulativeAmountRaw:t.toString()}});oe.send(FF(r));break}case`payment-receipt`:if(!ue(n.data)){le(`received mismatched payment-receipt frame`);break}if(h!==null&&n.data.txHash&&(n.data.acceptedCumulative!==h||n.data.spent!==h)){le(`received mismatched payment-close receipt frame`);break}x(n.data),c?.(n.data),T(n.data)}}),m&&m.addEventListener(`abort`,()=>{te(Error(`WebSocket payment flow aborted.`)),ne(Error(`WebSocket payment flow aborted.`)),oe.close()},{once:!0}),await de,oe.send(FF(re)),await C(),ce.socket},async close(){let e=u??o,t=d??a?.channelId;if(!a?.opened)return;if(!e)throw Error(`Cannot close session: no challenge available. This usually means close() was called on a SessionManager instance that was recreated after the session was opened. Use the same SessionManager instance that opened the session, or make a request first to receive a fresh 402 challenge.`);if(!t)throw Error(`Cannot close session: no channel ID available. The session may not have been fully opened.`);if(f?.readyState===BF.OPEN){let n=p??await(async()=>(f.send(IF()),w()))(),r=BigInt(n.spent);if(r>(a.cumulativeAmount>l?a.cumulativeAmount:l))throw Error(`close-ready spent exceeds local voucher state`);let i=await y.createCredential({challenge:e,context:{action:`close`,channelId:t,cumulativeAmountRaw:r.toString()}}),o=r.toString();h=o;try{let n=C(n=>!!n.txHash&&n.challengeId===e.id&&n.channelId===t&&n.acceptedCumulative===o&&n.spent===o);f.send(FF(i));let r=await n;return f.close(),p=null,r}finally{h=null}}let r=await y.createCredential({challenge:e,context:{action:`close`,channelId:t,cumulativeAmountRaw:(()=>{let n=BigInt(re(e,t));if(n>a.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return ie(n),n.toString()})()}});if(!s)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 i=await n(s,{method:`POST`,headers:{[Q.authorization]:r}});if(!i.ok){let e=await i.text().catch(()=>``),t=(()=>{if(!e)return``;if(!i.headers.get(`Content-Type`)?.includes(`application/problem+json`))return e;try{return JSON.parse(e).detail??e}catch{return e}})(),n=i.headers.get(Q.wwwAuthenticate)??``;throw Error(`Close request failed with status ${i.status}${t?`: ${t}`:``}${n?` [${Q.wwwAuthenticate}: ${n}]`:``}`)}let c=i.headers.get(Q.paymentReceipt);return c?jF(c):void 0}}}async function HF(e,t){let n=t;return n?n(e):e}R();function UF(e){return BigInt(e.authorizedSigner)===0n?e.payer:e.authorizedSigner}function WF(e){return g_(_v(yv([`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 GF(e){return kw(e)}function KF(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function qF(e,t){return g_(F(GF(e),t.sender))}let JF=[{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`}],YF=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],XF={name:`descriptor`,type:`tuple`,components:JF},ZF=[{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:[XF,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[XF,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[XF,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[XF],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[XF],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[XF],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:JF},{name:`state`,type:`tuple`,components:YF}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:YF}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:YF}]},{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 QF(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let $F={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function eI(e,t){return YC({chainId:e,channelId:t.channelId,cumulativeAmount:t.cumulativeAmount})}function tI(e,t,n){return e.toLowerCase()===`0x4d50500000000000000000000000000000000000`?eI(t,n):bg({domain:QF(e,t),types:$F,primaryType:`Voucher`,message:{channelId:n.channelId,cumulativeAmount:n.cumulativeAmount}})}function nI(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function rI(e,t){return cT(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function iI(e,t,n,r,i){let a=uC(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await rI(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return Bb(e,{account:t,domain:QF(r,i),types:$F,primaryType:`Voucher`,message:n})})());if(!nI(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return pC(a)}function aI(e,t,n,r){try{let i=uC(n.signature);if(!nI(i.type)||pC(i).toLowerCase()!==n.signature.toLowerCase())return!1;let a=tI(e,t,n),o=oC({payload:a,signature:i});return gC(i,{address:o,payload:a})&&jP(o,r)}catch{return!1}}R(),ya(),Pi();function oI(e){return typeof e==`object`&&!!e}function sI(e){return typeof e==`string`&&ji(e,{strict:!1})?e:void 0}function cI(e){return sI(e.accessKeyAddress)}function lI(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(gp(8))%e)}function uI(e){return cI(e)??e.address}async function dI(e,t){let{account:n,calls:r,feePayer:i,feeToken:a,validAfter:o}=t;return Zd(e,{account:n,calls:r,nonceKey:`expiring`,...i?{feePayer:!0}:{},feeToken:a,...o===void 0?{}:{validAfter:o}})}async function fI(e,t){return await zb(e,t)}function pI(e,t,n=!1){let r=e.request.methodDetails,i=oI(r)?sI(r.escrowContract)??sI(r.escrow):void 0,a=t??`0x4d50500000000000000000000000000000000000`;if(i&&!hI(i,a)&&(!n||t!==void 0))throw Error(`Tempo session escrow ${i} does not match client escrow ${a}.`);return i&&!hI(i,a)?i:a}function mI(e,t,n,r){return Uj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function hI(e,t){return e.toLowerCase()===t.toLowerCase()}async function gI(e,t,n,r,i,a=zF){let o=WF({...n,chainId:i,escrow:a}),s=xF(r),c=await iI(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function _I(e,t,n,r,i,a=zF){let o=await gI(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function vI(e,t,n){let r=uI(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=gp(32),s=xF(n.deposit),c=xF(n.initialAmount),l=va({abi:ZF,functionName:`open`,args:[n.payee,a,n.token,s,o,r]}),u=await fI(e,await dI(e,{account:t,calls:[...n.prefixCalls??[],{to:i,data:l}],feePayer:n.feePayer,feeToken:n.feeToken??n.token})),d=Qw(u),f={authorizedSigner:r,expiringNonceHash:qF(KF({...n.feePayer?{feePayer:!0}:{},transaction:d}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},p=WF({...f,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:p,transaction:u,signature:await iI(e,t,{channelId:p,cumulativeAmount:c},i,n.chainId),descriptor:f,cumulativeAmount:c.toString(),authorizedSigner:f.authorizedSigner}}async function yI(e,t,n,r,i,a,o=zF,s=[],c=n.token){let l=WF({...n,chainId:i,escrow:o}),u=xF(r);return{action:`topUp`,type:`transaction`,channelId:l,transaction:await fI(e,await dI(e,{account:t,calls:[...s,{to:o,data:va({abi:ZF,functionName:`topUp`,args:[n,u]})}],feePayer:a,feeToken:c,validAfter:lI()})),descriptor:n,additionalDeposit:u.toString()}}function bI(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function xI(e){return bI({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function SI(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(xI(t),t)},delete(t){e.delete(t)}}}let CI=2n**96n-1n;function wI(e){if(e<0n||e>CI)throw new $({reason:`amount exceeds uint96 range`})}async function TI(e,t,n=zF,r){return EI(await qm(e,{address:n,abi:ZF,functionName:`getChannelState`,args:[t],...r===void 0?{}:{blockNumber:r}}))}function EI(e){return wI(e.settled),wI(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Pi();let DI=Vk(e=>typeof e==`string`&&ji(e,{strict:!1})),OI=Vk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),kI=CM(G({acceptedCumulative:U(),chainId:rk(),channelId:OI,closeRequestedAt:J(U()),deposit:U(),descriptor:G({authorizedSigner:DI,expiringNonceHash:OI,operator:DI,payee:DI,payer:DI,salt:OI,token:DI}),escrow:DI,highestVoucher:J(G({channelId:OI,cumulativeAmount:U(),signature:Vk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]+$/.test(e))})),requiredCumulative:U(),settled:U(),spent:U(),units:J(rk())}));function AI(e){return kI.encode(e)}function jI(e){return kI.decode(e)}let MI={status:`idle`};function NI(e){return{status:`active`,...e}}function PI(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?zI(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?zI(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:LI(e.challengeId,t.snapshot),effects:[]}:zI(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?zI(e,t):{state:ZI({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:RI(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:zI(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?zI(e,t):{state:eL(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?II({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):zI(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:zI(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?zI(e,t):{state:RI(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}]}:zI(e,t);case`settled`:return e.status===`settling`?{state:RI(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:zI(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:zI(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:zI(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?zI(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`?zI(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function FI(e,t){let n=PI(e.state,t);return e.state=n.state,n}function II(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 LI(e,t){return NI({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function RI(e,t,n,r){return NI({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function zI(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function BI(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function VI(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`);BI({cumulativeAmount:i,maxVoucherCumulative:n}),BI({cumulativeAmount:a,maxVoucherCumulative:n})}function HI(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;VI({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function UI(e,t){return typeof e==`bigint`?e:Ay(e,t)}function WI(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(KI(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 GI(e){let{deposit:t,maxDeposit:n,requiredCumulative:r,suggestedDeposit:i,topUpAmount:a}=e;if(r<=t)return 0n;BI({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 KI(e,t){BI({cumulativeAmount:e,maxVoucherCumulative:t??null})}function qI(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 JI(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function YI(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(!yF(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>JI({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function XI(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:i=0n,receipt:a}=e,o=bF(r),s=bF(a.spent);return o===void 0||s===void 0||!yF(i)?!1:!!a.txHash&&a.challengeId===t&&a.channelId===n&&a.acceptedCumulative===r&&s>=i&&s<=o}function ZI(e){return NI({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 QI(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:MI}}function $I(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=HI({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&FI(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function eL(e,t){return NI({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function tL(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=bF(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 nL(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 PI(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function rL(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 iL(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 aL(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(IF()),e.waitForCloseReady()))(),a=BigInt(i.spent);YI({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=>XI({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,minimumSpent:a,receipt:e}));t.send(FF(o));let c=await i;return t.close(),n.closeReadyReceipt=null,c}finally{n.expectedCloseAmount=null}}Pi();function oL(e){return`cumulativeAmount`in e}function sL(e){if(oL(e))return BigInt(e.cumulativeAmount)}async function cL(e,t){t.opened?await e.store.set(t):await e.store.delete(xI(t)),e.notifyUpdate(t)}async function lL(e,t,n){let r=sL(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 cL(e,i))}let uL=Vk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),dL=G({account:J(Vk()),autoSwap:J(Vk()),action:J(Ek([`open`,`topUp`,`voucher`,`close`])),channelId:J(Vk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:J(GA()),cumulativeAmountRaw:J(U()),transaction:J(uL),descriptor:J(Vk()),additionalDeposit:J(GA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function fL(e){return e?.action!==void 0}function pL(e){return fL(e)&&e.descriptor!==void 0}function mL(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 Ay(i,t)}function hL(e,t,n,r){let i=mL(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function gL(e){return typeof e==`object`&&!!e}function _L(e){return typeof e==`string`&&ji(e,{strict:!1})?e:void 0}function vL(e){let t=e.request.methodDetails;return gL(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:_L(t.escrowContract),escrow:_L(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,feeToken:_L(t.feeToken),operator:_L(t.operator),sessionSnapshot:RA(t,IA.sessionSnapshot)}:{}}function yL(e,t){if(typeof e==`string`&&ji(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function bL(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function xL(e){return typeof e==`string`?e:void 0}async function SL(e){let{allowCustomEscrow:t,challenge:n,escrowOverride:r,getClient:i}=e,a=vL(n),o=await i({chainId:a.chainId}),s=a.chainId??o.chain?.id;if(!s)throw Error(`No chainId configured for TIP-1034 session challenge.`);let c=pI(n,r,t),l=yL(n.request.recipient,`recipient`),u=yL(n.request.currency,`currency`);return{amount:bL(n.request.amount),challenge:n,chainId:s,client:o,escrow:c,feePayer:a.feePayer,feeToken:a.feeToken,key:bI({payee:l,token:u,escrow:c,chainId:s}),operator:a.operator,payee:l,snapshot:a.sessionSnapshot,suggestedDepositRaw:xL(n.request.suggestedDeposit),token:u}}async function CL(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=TI}=e,o=WF({...r,chainId:i.chainId,escrow:i.escrow});wL({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 wL(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(!hI(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!hI(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!hI(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!hI(UF(r),t))throw Error(`context descriptor authorizedSigner does not match account`)}function TL(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function EL(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=mL(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}async function DL(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(!aI(i.escrow,i.chainId,{channelId:a.channelId,cumulativeAmount:s,signature:a.signature},UF(i.descriptor)))throw Error(`session snapshot highest voucher signature is invalid`);let f=await CL({channelId:i.channelId,client:n,descriptor:i.descriptor,expected:{chainId:i.chainId,escrow:i.escrow,payee:i.descriptor.payee,payer:t.address,authorizedSigner:uI(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 OL(e,t){return hI(e.address,t.payer)?hI(uI(e),UF(t)):!1}function kL(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(fL(r)){if(!pL(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=TL({context:r,snapshot:o.snapshot});return!n&&s&&OL(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&OL(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 AL(e,t,n=!1){switch(e.type){case`open`:return ML(e,t,n);case`recover`:return NL(e,t);case`voucher`:return PL(e,t);case`manual`:return FL(e,t,n)}}async function jL(e,t){if(e)return await NP(t.client,{account:t.account,amountOut:t.amountOut,tokenOut:t.tokenOut,tokenIn:e.tokenIn,slippage:e.slippage})}async function ML(e,t,n){let{account:r,resolved:i}=e,a=WI({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:i.amount,suggestedDepositRaw:i.suggestedDepositRaw}),o=await vI(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 jL(n,{account:r.address,amountOut:a,client:i.client,tokenOut:i.token}),token:i.token});return await cL(t,{channelId:o.channelId,cumulativeAmount:i.amount,deposit:a,descriptor:o.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0}),o}async function NL(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await CL({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:uI(n),token:o.token}}),l=EL({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`);KI(l,a);let u=await gI(o.client,n,s,l,o.chainId,o.escrow);return await cL(t,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function PL(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;KI(a,e.maxDeposit);let o=await gI(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await cL(t,r),o}async function FL(e,t,n){let{account:r,context:i,decimals:a,resolved:o}=e,{descriptor:s}=i,c=WF({...s,chainId:o.chainId,escrow:o.escrow});wL({channelId:i.channelId,descriptor:s,expectedChannelId:c,payee:o.payee,payer:r.address,authorizedSigner:uI(r),token:o.token});let l=await IL({account:r,channelId:c,context:i,decimals:a,descriptor:s,resolved:o},n);return await lL(t,o.key,l),l}async function IL(e,t){switch(e.context.action){case`open`:return LL(e);case`topUp`:return RL(e,t);case`voucher`:return zL(e);case`close`:return BL(e)}}async function LL(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=hL(r,i,`cumulativeAmount`,`open`),c=await gI(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 RL(e,t){let{account:n,channelId:r,context:i,decimals:a,descriptor:o,resolved:s}=e,c=hL(i,a,`additionalDeposit`,`topUp`);return i.transaction?{action:`topUp`,type:`transaction`,channelId:r,transaction:i.transaction,descriptor:o,additionalDeposit:c.toString()}:yI(s.client,n,o,c,s.chainId,s.feePayer,s.escrow,await jL(t,{account:n.address,amountOut:c,client:s.client,tokenOut:s.token}),s.feeToken)}function zL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return gI(a.client,t,i,hL(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function BL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return _I(a.client,t,i,hL(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}R();let VL={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function HL(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=VL.CLOSED,r=null}if(a.type===`open`&&(i=VL.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 UL(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function WL(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=UI(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 GL(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:eL(s,u)}:i?{channel:u,state:ZI({challengeId:i,entry:u,spent:c.toString(),units:a.status===`active`?a.units:0})}:{channel:u}}async function KL(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=UL(e.event);e.assertVoucherWithinLocalLimit(t.requiredCumulative),await e.topUpIfNeeded({challenge:e.challenge,input:e.input,channelId:e.expectedChannelId,deposit:t.deposit,requiredCumulative:t.requiredCumulative});let n=e.getChannel();if(!n||n.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`missing-channel`};let r=n.cumulativeAmount>t.requiredCumulative?n.cumulativeAmount:xF(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function qL(e){return e.method===PA.tempo&&e.intent===FA.session}function JL(e){return qL(e)&&RA(e.request.methodDetails,IA.sessionProtocol)===LA.v2}function YL(e){return RA(e.request.methodDetails,IA.sessionSnapshot)}function XL(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...XM(r),...XM(t?.headers),[Q.authorization]:n}}}function ZL(e){try{let t=typeof location>`u`?void 0:location.href,n=e instanceof Request?new URL(e.url):e instanceof URL?new URL(e):new URL(String(e),t);return n.hash=``,n}catch{return e}}function QL(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function $L(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}}async function eR(e){let{channel:t,channelId:n}=e;if(!t?.descriptor||t.channelId!==n)throw Error(`Cannot top up session: no local channel descriptor available.`);let r=await tR({challenge:e.challenge,context:{action:`topUp`,channelId:n,descriptor:t.descriptor,additionalDepositRaw:e.additionalDeposit.toString()},createSessionCredential:e.createSessionCredential,fetch:e.fetch,input:e.input});if(!r.ok)throw Error(`Top-up POST failed with status ${r.status}`);let i=r.headers.get(Q.paymentReceipt);return i?jF(i):void 0}async function tR(e){let t=async t=>e.fetch(ZL(e.input),{method:`POST`,headers:{[Q.authorization]:await e.createSessionCredential(t,e.context)}}),n=await t(e.challenge);if(n.status!==402)return n;let r=uj(n).find(JL);return r?t(r):n}async function nR(e){let t=rR({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,channelId:i.channelId,deposit:BigInt(i.deposit),requiredCumulative:a});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,XL(e.input,e.init,t))}catch(e){throw await l(),e}return!u.ok&&!u.headers.get(Q.paymentReceipt)&&await l(),u}function rR(e){let t=uj(e.response).find(JL);if(!t)return;let n=YL(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function iR(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=async(r,i=!1)=>{t=r,n=(i?e.resolveSignedCloseAmount?.(r):void 0)??e.signedCloseAmount;let a=await e.createSessionCredential(r,{action:`close`,channelId:e.target.channelId,descriptor:e.target.channel.descriptor,cumulativeAmountRaw:n});return e.fetch(e.lastUrl,{method:`POST`,headers:{[Q.authorization]:a}})},i=await r(e.target.challenge);if(i.status===402){let t=uj(i).find(JL);t&&(e.setChallenge?.(t),i=await r(t,!0))}if(!i.ok){let e=await $L(i),t=i.headers.get(Q.wwwAuthenticate)??``;throw Error(`Close request failed with status ${i.status}${e?`: ${e}`:``}${t?` [${Q.wwwAuthenticate}: ${t}]`:``}`)}let a=i.headers.get(Q.paymentReceipt);if(!a)return;let o=jF(a);if(!o.txHash||!Cp(o.txHash,{strict:!0})||_p(o.txHash)!==32||!XI({challengeId:t.id,channelId:e.target.channelId,expectedCloseAmount:n,minimumSpent:e.getMinimumSpent?.()??0n,receipt:o}))throw Error(`Session close response included a mismatched payment receipt.`);return o}async function aR(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...XM(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);return!MF(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o)),oR(e,s,{onReceipt:r,signal:i},n)}function oR(e,t,n,r){if(!MF(t))throw Error(`SSE response is not an event stream.`);if(!t.body)throw Error(`Response has no body.`);let i=r.getChallenge();return sR({onNeedVoucher:t=>fR({challenge:i,driver:r,input:e},t),onReceipt(e){r.acceptReceipt(e),n?.onReceipt?.(e)},response:t,signal:n?.signal})}async function*sR(e){for await(let t of cR(e))t.data!==void 0&&(yield t.data)}async function*cR(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=lR(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=NF(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);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 lR(e,t){for(let n=0;n<e.length;n++){let r=uR(e,n,t);if(!r)continue;let i=uR(e,n+r,t);if(i)return{index:n,length:r+i};n+=r-1}}function uR(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 dR(e){let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.addEventListener(`abort`,n,{once:!0}),e.signal?.aborted&&n();let r=cR({...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 fR(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await KL({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:e.challenge,event:t,expectedChannelId:n.channelId,getChannel:e.driver.getChannel,input:e.input,topUpIfNeeded:e.driver.topUpIfNeeded});if(r.status!==`ready`)return;let i=await tR({challenge:e.challenge,context:r.context,createSessionCredential:e.driver.createSessionCredential,fetch:e.driver.fetch,input:e.input});if(!i.ok)throw Error(`Voucher POST failed with status ${i.status}`)}async function pR(e){let t=new URL(e.input.toString()),n=QL(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=uj(r).find(JL);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 mR(e){let t=await pR(e);return{...t,credential:await e.createSessionCredential(t.challenge,{})}}function hR(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:Bj(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:OF(t)}}function gR(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function _R(e){if(!gR(e))return`received mismatched payment-close-ready frame`;let t=bF(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 vR(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!gR(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!XI({challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:BigInt(r),receipt:i}))return`received mismatched payment-close receipt frame`}async function yR(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=hR({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=HL(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===VL.CONNECTING||o.readyState===VL.OPEN)&&o.close(3008,t)};return o.addEventListener(`close`,t=>{s.socket=null,s.expectedCloseAmount=null,e.rejectReceipt(Error(`WebSocket closed before the payment flow completed.`)),e.rejectCloseReady(Error(`WebSocket closed before the payment flow completed.`)),c.emit(`close`,{code:t.code??1e3,reason:t.reason??``,type:`close`,wasClean:!0})}),o.addEventListener(`error`,()=>{c.emit(`error`,{type:`error`})}),o.addEventListener(`message`,async t=>{let n=typeof t.data==`string`?t.data:void 0;n&&await xR({driver:e,failSocketFlow:l,managedEmit:c.emit,message:n,rawSocket:o,socketState:s})}),r?.signal?.addEventListener(`abort`,()=>{e.rejectReceipt(Error(`WebSocket payment flow aborted.`)),e.rejectCloseReady(Error(`WebSocket payment flow aborted.`)),o.close()},{once:!0}),await bR(o,c.emit,a),o.send(FF(n)),await e.waitForReceipt(),c.socket}function bR(e,t,n){return new Promise((r,i)=>{let a=()=>{e.removeEventListener(`error`,o),t(`open`,{type:`open`}),r()},o=()=>{e.removeEventListener(`open`,a),i(Error(`WebSocket connection to ${n} failed to open.`))};e.addEventListener(`open`,a,{once:!0}),e.addEventListener(`error`,o,{once:!0})})}async function xR(e){let t=LF(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`:SR(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 CR(e,t.data);return;case`payment-receipt`:wR(e,t.data);return}}function SR(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=_R({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 CR(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 KL({assertVoucherWithinLocalLimit:e.driver.assertVoucherWithinLocalLimit,challenge:n,event:t,expectedChannelId:e.socketState.channelId,getChannel:e.driver.getChannel,input:e.driver.httpUrl,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(FF(i))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function wR(e,t){let n=vR({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)}let TR=new WeakMap;async function ER(e,t){let n=TR.get(e)??new Map;TR.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 DR(e,t){try{return t?.channelId.toLowerCase()===e.channelId.toLowerCase()&&BigInt(t.acceptedCumulative)===e.cumulativeAmount}catch{return!1}}function OR(e,t,n){try{let r=e.response?.headers.get(Q.paymentReceipt);if(r){let e=jF(r);if(e.challengeId===t.id&&DR(n,e))return!0}}catch{}return e.challenges?.some(e=>JL(e)?DR(n,YL(e)):!1)??!1}function kR(e={}){let{account:t,allowCustomEscrow:n=!1,autoSwap:r,channelStore:i,decimals:a=6,escrow:o,getClient:s,maxDeposit:c,topUpAmount:l,onChannelUpdate:u,resolveAccount:d}=e,f=IN({chain:dE,getClient:s,rpcUrl:VN}),p=MN({account:t}),m=c===void 0?void 0:Ay(c,a),h=l===void 0?void 0:Ay(l,a),g=i??SI(),_={store:g,notifyUpdate:e=>u?.(e)},v=async(e,t,n)=>{let r=p(e.client,t),i=t?.action?t.descriptor:n?.descriptor??TL({context:t,snapshot:e.snapshot})?.descriptor;return await d?.({account:r,chainId:e.chainId,operation:{kind:`authorizePaymentChannel`,...i?{authority:UF(i)}:{}}})??r},y=async(e,t,n)=>kL({account:await v(e,t,n),entry:n,context:t,decimals:a,maxDeposit:m,resolved:e}),b=jN(tP,{canHandleChallenge:({challenge:e})=>JL(e),context:dL,async createCredential(e){let{challenge:t,context:i}=e,a=await SL({allowCustomEscrow:n,challenge:t,escrowOverride:o,getClient:f}),s=HM(e),c=()=>{};try{let e=!fL(i)&&i?.descriptor===void 0;e&&(c=await ER(g,a.key),s&&(await g.get(a.key))?.opened&&await s.prepare());let n=await g.get(a.key),o=await y(a,i,n);if(!e&&s&&o.type===`open`){c=await ER(g,a.key);let e=await g.get(a.key);e?.channelId!==n?.channelId&&(n=e,n?.opened&&(await s.prepare(),n=await g.get(a.key)),o=await y(a,i,n))}let l,u=s&&o.type===`open`?{store:{get:e=>g.get(e),async set(e){l=e},delete:e=>g.delete(e)},notifyUpdate(){}}:_,d=await mI(t,await AL(o,u,PP(i?.autoSwap??r,MP)),a.chainId,o.account);if(s&&l){let e=l;s.settle=async n=>{let r=n.status===`accepted`||OR(n,t,e);if(!r&&n.status===`pending`)return!1;try{if(r){let t=await g.get(a.key);(!t?.opened||t.channelId.toLowerCase()!==e.channelId.toLowerCase())&&(await g.set(e),_.notifyUpdate(e))}return!0}finally{c()}}}else c();return d}catch(e){throw c(),e}}}),x=async({challenge:e,channel:t,deposit:n,fetch:r,input:i,requiredCumulative:a})=>{let o=t.deposit>n?t.deposit:n,s=GI({deposit:o,maxDeposit:m,requiredCumulative:a,suggestedDeposit:e.request.suggestedDeposit===void 0?void 0:BigInt(e.request.suggestedDeposit),topUpAmount:h});s>0n&&await eR({additionalDeposit:s,challenge:e,channel:t,channelId:t.channelId,createSessionCredential:(e,t)=>b.createCredential({challenge:e,context:t}),fetch:r,input:i});let c=o+s;if(c===t.deposit)return;let l=await g.get(xI(t)),u=l?.channelId.toLowerCase()===t.channelId.toLowerCase()?l:t,d={...u,deposit:u.deposit>c?u.deposit:c};await g.set(d),_.notifyUpdate(d)};return PM(b,async({challenge:e,context:t,fetch:r,input:i})=>{if(!JL(e))return;let a=t===void 0?void 0:dL.parse(t);if(fL(a))return;let s=await SL({allowCustomEscrow:n,challenge:e,escrowOverride:o,getClient:f}),c=await g.get(s.key);if(!c?.opened)return;let l=s.snapshot?.channelId.toLowerCase()===c.channelId.toLowerCase()?s.snapshot:void 0,u=c.cumulativeAmount+OF(e),d=l?BigInt(l.requiredCumulative):u,p=d>u?d:u,m=l?BigInt(l.deposit):c.deposit,h=m>c.deposit?m:c.deposit;p<=h&&h===c.deposit||!OL(await v(s,a,c),c.descriptor)||await x({challenge:e,channel:c,deposit:h,fetch:r,input:i,requiredCumulative:p})}),zM(b,async({challenge:e,credential:t,fetch:r,headers:i,input:a,refetch:s,response:c,signal:l})=>{if(!JL(e))return c;if(!MF(c))return DF(Bj(t).payload).action===`open`&&i.get(`accept`)?.toLowerCase().includes(`text/event-stream`)?await s?.()??c:c;let u=(await SL({allowCustomEscrow:n,challenge:e,escrowOverride:o,getClient:f})).key,d=await g.get(u),p={assertVoucherWithinLocalLimit:e=>KI(e,m),createSessionCredential:(e,t)=>b.createCredential({challenge:e,context:t}),fetch:r,getChannel:()=>d??null,async topUpIfNeeded({deposit:t,requiredCumulative:n}){d&&await x({challenge:e,channel:d,deposit:d.deposit>t?d.deposit:t,fetch:r,input:a,requiredCumulative:n})}};return dR({onNeedVoucher:t=>fR({challenge:e,driver:p,input:a},t),onReceipt(){},response:c,signal:l})})}let AR=new WeakMap;function jR(e,t){AR.set(e,t)}function MR(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 NR(e){let t=MR(`close-ready`),n=MR(`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 PR(e){return e.method===PA.tempo&&e.intent===FA.charge}function FR(e){if(!PR(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function IR(e,t,n){if(!n)return t;let r={...XM(e instanceof Request?e.headers:void 0),...XM(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===Q.paymentSession.toLowerCase())?t:{...t,headers:{...r,[Q.paymentSession]:n}}}function LR(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:Ay(e.maxDeposit,t),topUpAmount:e.topUpAmount===void 0?null:Ay(e.topUpAmount,t),WebSocket:n}}function RR(e){let t=e.allowCustomEscrow??!1,n=LR(e),r=IN({chain:dE,getClient:e.client?()=>e.client:e.getClient,rpcUrl:VN}),i=MN({account:e.account}),a=QI(),o=NR({getSocketSession:()=>a.socketSession}),s=e.channelStore??SI(),c=new Set,l;async function u(e){let t=await s.get(e);if(t?.opened&&!c.has(t.channelId))return t}let d={async get(e){let t=await u(e);return t&&l&&(l.seenExisting.add(e),!l.committed&&!l.created.has(e)&&(l.resumed??=t)),t},async set(e){let t=xI(e);e.opened&&c.delete(e.channelId),l?.trackCreates&&!l.seenExisting.has(t)&&l.created.set(t,e),await s.set(e)},delete:e=>s.delete(e)};async function f(e){let t=xI(e);c.add(e.channelId),l?.seenExisting.delete(t),l?.resumed===e&&(l.resumed=void 0),await Promise.resolve(s.delete(t)).catch(()=>void 0)}async function p(){let e=l;if(e?.created.size){for(let[t,n]of e.created)c.add(n.channelId),await Promise.resolve(s.delete(t)).catch(()=>void 0);e.created.clear(),await ce(e.committed??e.previous)}}function m(e){let t=RA(e.request.methodDetails,IA.sessionSnapshot);if(typeof t?.channelId!=`string`)return!1;let n=l;if(!n?.created.size||!a.channel)return!1;for(let[e,r]of n.created)if(r.channelId.toLowerCase()===t.channelId.toLowerCase()&&a.channel.channelId.toLowerCase()===t.channelId.toLowerCase())return n.created.delete(e),n.committed=rL({channel:a.channel,spent:a.spent,state:a.state}),!0;return!1}function h(e){return FI(a,e)}function g(){let e=a.state.status===`active`?a.state:l?.committed?.state??l?.previous.state;return e?.status===`active`?e.units:0}function _(e){let t=l,n=t?.committed?.channel?.entry??t?.resumed;!t||n?.channelId.toLowerCase()!==e.channelId.toLowerCase()||e.deposit<=n.deposit||(t.resumed=void 0,t.committed=rL({channel:a.channel,spent:a.spent,state:a.state}))}let v=kR({account:e.account,allowCustomEscrow:t,autoSwap:e.autoSwap,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount,escrow:e.escrow,decimals:n.decimals,maxDeposit:e.maxDeposit,topUpAmount:e.topUpAmount,channelStore:d,onChannelUpdate(e){e.channelId!==a.channel?.channelId&&(a.spent=0n),a.channel=e,a.lastChallenge&&h({type:`activated`,challengeId:a.lastChallenge.id,entry:e,spent:a.spent.toString(),units:g()}),_(e)}});BM(v);let y=YP({account:e.account,getClient:e.client?()=>e.client:e.getClient}),b=JM({fetch:n.fetch,methods:[v],onChallenge:async(e,t)=>{if(!qL(e))return;let n=l,r=n&&n.challengesReceived>0&&e.id===a.lastChallenge?.id,i=r&&tj(e)===tj(a.lastChallenge);n&&n.challengesReceived++,!i&&(m(e)||(n?.created.size?await p():r&&await ce(n.committed??n.previous)),a.lastChallenge=e,h({type:`challengeReceived`,challengeId:e.id}))}});function x(e,t){return v.createCredential({challenge:e,context:t})}function S(e){$I({maxVoucherCumulative:n.maxVoucherCumulative,receipt:e,runtime:a})}function C(e=a.state.status===`active`?a.state.units:0){!a.channel||!a.lastChallenge||a.state.status!==`active`&&a.state.status!==`withdrawable`&&a.state.status!==`closeRequested`&&h({type:`activated`,challengeId:a.lastChallenge.id,entry:a.channel,spent:a.spent.toString(),units:e})}async function w(t){let n=t.headers.get(Q.paymentSessionSnapshot);if(!n)return;let o=jI(n),s=await r({chainId:o.chainId}),c=i(s),{entry:l,spent:u}=await DL({account:await e.resolveAccount?.({account:c,chainId:o.chainId,operation:{authority:UF(o.descriptor),kind:`authorizePaymentChannel`}})??c,client:s,snapshot:o});return ie(l.cumulativeAmount),await Promise.resolve(d.set(l)).catch(()=>void 0),a.channel=l,a.spent=u,l}async function T(t,r){if(!e.bootstrap||a.channel?.opened)return;let i=t instanceof Request?t.headers:void 0,{body:o,method:s,...c}=r??{},l=t instanceof Request?t.url:t,u={...c,method:`HEAD`,headers:{...XM(i),...XM(r?.headers),[Q.acceptPayment]:`${PA.tempo}/${FA.charge}`}};try{let e=await n.fetch(l,u);if(e.status!==402)return await w(e);let t=uj(e).find(PR);if(!t||!FR(t))return;let r=await y.createCredential({challenge:t,context:{}}),i=await n.fetch(l,{...u,headers:{...XM(u.headers),[Q.authorization]:r}});return i.ok?await w(i):void 0}catch{return}}function ee(e,t){let n=a.socketSession;return tL({challengeId:e.id,channelId:t,closeReadyReceipt:n?.closeReadyReceipt,cumulativeAmount:a.channel?.channelId===t?a.channel.cumulativeAmount:0n,deliveredChunks:n?.deliveredChunks,socketChallengeId:n?.challenge.id,socketChannelId:n?.channelId,spent:a.spent,tickCost:n?.tickCost})}function te(e,t){let n=YL(t);if(!n)return;if(WF({...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 ne(e,t){let n=te(e.channel,t);if(!n)return;let{acceptedCumulative:r,spent:i}=n;if(a.spent>r)throw Error(`close snapshot accepted cumulative is below locally confirmed spend`);return i>a.spent&&(a.spent=i),n}function re(e,t=e.challenge,n=!1){let r=(n?ne(e,t):te(e.channel,t))?.acceptedCumulative??ee(t,e.channelId);if(r>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return ie(r),r.toString()}function ie(e){BI({cumulativeAmount:e,maxVoucherCumulative:n.maxVoucherCumulative})}async function ae(e){let{knownDeposit:t,...r}=e,i=await eR({...r,channel:a.channel,createSessionCredential:x,fetch:n.fetch});S(i);let o=GL({additionalDeposit:e.additionalDeposit,channel:a.channel,channelId:e.channelId,challengeId:a.lastChallenge?.id,currentState:a.state,knownDeposit:t,receipt:i,spent:a.spent});return o?.channel&&a.lastChallenge&&(await d.set(o.channel),h({type:`activated`,challengeId:a.lastChallenge.id,entry:o.channel,spent:a.spent.toString(),units:g()}),_(o.channel)),i}async function oe(e){let t=a.channel?.channelId===e.channelId?a.channel.deposit:0n,r=t>e.deposit?t:e.deposit,i=GI({deposit:r,maxDeposit:n.maxVoucherCumulative,requiredCumulative:e.requiredCumulative,suggestedDeposit:e.challenge.request.suggestedDeposit===void 0?void 0:BigInt(e.challenge.request.suggestedDeposit),topUpAmount:n.topUpAmount});i!==0n&&await ae({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:i,knownDeposit:r})}async function se(e,t){let n=nL({channel:a.channel,channelId:e,challengeId:a.lastChallenge?.id,cumulativeAmount:t,spent:a.spent,state:a.state});n&&a.channel&&(h({type:`activated`,challengeId:n.challengeId,entry:a.channel,spent:n.spent,units:n.units}),await s.set(a.channel))}async function ce(e){let t=iL(e,a.channel);a.channel=t.channel,a.spent=t.spent,a.state=t.state,a.channel?.opened&&await s.set(a.channel)}function le(e){let t=e.headers.get(Q.paymentReceipt),n=t?jF(t):null;return S(n),Object.assign(e,{receipt:n,challenge:a.lastChallenge,channelId:a.channel?.channelId??null,cumulative:a.channel?.cumulativeAmount??0n})}async function ue(e,t){if(l)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);a.lastUrl=e;let r=rL({channel:a.channel,spent:a.spent,state:a.state}),i={challengesReceived:0,committed:void 0,created:new Map,previous:r,seenExisting:new Set,resumed:void 0,trackCreates:!1};l=i;try{await T(e,t),i.trackCreates=!0;let o=IR(e,t,a.channel?.opened?a.channel.channelId:void 0),s=!r.channel?.opened;async function c(){let n=i.resumed;return!s||!n?!1:(s=!1,await f(n),o=IR(e,t,void 0),!0)}for(;;){let t;try{t=await b(e,o)}catch(e){if(i.created.size?await p():await ce(i.committed??r),await c())continue;throw e}let s=le(t),l=!1;if(s.status===402){let t=await nR({input:e,init:o,response:s,createSessionCredential:x,fetch:n.fetch,getChannel:()=>a.channel,restoreCumulative:se,setChallenge(e){a.lastChallenge=e},topUpIfNeeded:oe});t&&(l=!0,s=le(t))}if(!l&&!s.ok&&!s.receipt){if(i.created.size?await p():await ce(i.committed??r),await c())continue;return s}return s}}finally{l=void 0}}async function de(e){let t=await iR({createSessionCredential:x,fetch:n.fetch,getMinimumSpent:()=>a.spent,lastUrl:a.lastUrl,resolveSignedCloseAmount:t=>re(e,t,!0),signedCloseAmount:re(e),setChallenge(e){a.lastChallenge=e},target:e});return t&&(C(),h({type:`closeStarted`}),h({type:`closed`,receipt:t})),t}let fe={createSessionCredential:x,doFetch:ue,fetch:n.fetch,getChannel:()=>a.channel,getChallenge:()=>a.lastChallenge,assertVoucherWithinLocalLimit:ie,acceptReceipt(e){S(e)},topUpIfNeeded:oe},pe={get channelId(){return a.channel?.channelId},get cumulative(){return a.channel?.cumulativeAmount??0n},get opened(){return a.channel?.opened??!1},get state(){return a.state},fetch:ue,async topUp(e){let t=WL({amount:e,assertVoucherWithinLocalLimit:ie,channel:a.channel,decimals:n.decimals,lastChallenge:a.lastChallenge,lastUrl:a.lastUrl});return ae({additionalDeposit:t.additionalDeposit,challenge:t.challenge,channelId:t.channelId,input:t.input})},async sse(e,t){return aR(e,t,fe)},async ws(e,t){if(!n.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let r=QL(e),i=t?.signal?{signal:t.signal}:void 0;await T(r,i);let s=a.channel?.opened?a.channel.channelId:void 0,{challenge:c,credential:l,httpUrl:u,wsUrl:d}=await mR({async createSessionCredential(e,t){return a.lastChallenge=e,await IM(v,{challenge:e,context:t,fetch:n.fetch,input:r}),x(e,t)},fetch:n.fetch,input:e,onProbeUrl(e){a.lastUrl=e.toString()},probeInit:IR(r,i,s),signal:t?.signal});return a.lastChallenge=c,yR({challenge:c,credential:l,httpUrl:u,WebSocket:n.WebSocket,wsUrl:d,options:t,createSessionCredential:x,getChannel:()=>a.channel,setSocketSession(e){a.socketSession=e},async refreshChallenge(){let e=await pR({fetch:n.fetch,input:u,probeInit:IR(u,i,a.channel?.opened?a.channel.channelId:void 0),signal:t?.signal});return a.lastChallenge=e.challenge,e.challenge},assertVoucherWithinLocalLimit:ie,acceptReceipt:S,rejectCloseReady:o.rejectCloseReady,rejectReceipt:o.rejectReceipt,settleCloseReady:o.settleCloseReady,settleReceipt:o.settleReceipt,topUpIfNeeded:oe,waitForReceipt:o.waitForReceipt})},async close(){let e=a.socketSession,t=qI({channel:a.channel,currentSocket:e,lastChallenge:a.lastChallenge});if(!t)return;let n=e?.socket;if(e&&n?.readyState===VL.OPEN){let r=await aL({activeSocket:n,createSessionCredential:x,currentSocket:e,spent:a.spent,target:t,waitForCloseReady:o.waitForCloseReady,waitForReceipt:o.waitForReceipt});return C(),h({type:`closeStarted`}),h({type:`closed`,receipt:r}),r}return de(t)}};return jR(pe,{consumeSseResponse(e,t,n){return oR(e,t,n,fe)},rehydrate({channel:e,challenge:t,input:n,spent:r}){if(!e.opened)throw Error(`Cannot restore a closed session channel.`);if(!qL(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.`);ie(e.cumulativeAmount);let i=te(e,t),o=i&&i.spent>r?i.spent:r;a.lastUrl=n,a.lastChallenge=t,a.channel=e,a.spent=o,h({type:`challengeReceived`,challengeId:t.id}),h({type:`activated`,challengeId:t.id,entry:e,spent:o.toString(),units:0})}}),pe}(function(e){e.serializeSnapshot=AI,e.deserializeSnapshot=jI})(RR||={});let zR=Object.assign(kR,{manager:RR}),BR=Object.assign(VF,{method:_F});function VR(e={}){return[YP(e),zR(e)]}(function(e){e.charge=YP,e.common=VR,e.session=zR,e.sessionLegacy=BR,e.subscription=wP})(VR||={});function HR(){let e=new Uint8Array(64);return crypto.getRandomValues(e),Object.freeze({created:Math.floor(Date.now()/1e3),nonce:ax(e,{pad:!1,url:!0})})}function UR(...e){return{protocol:`composed`,async sign(t,n=HR()){for(let r of e)t=await r.sign(t,n);return t}}}function WR(e,t){return async(n,r)=>e(await t.sign(new Request(n,r)))}function GR(e){let{attestation:t,maxPaymentRetries:n,onChallenge:r,orderChallenges:i,polyfill:a=!0,acceptPaymentPolicy:o=a&&globalThis.location!==void 0?`same-origin`:`always`,transport:s=MM()}=e,c=e.fetch??globalThis.fetch,l=t?KR(c,t):c,u=e.methods.flat(),d=xj(u,e.paymentPreferences),f=ZM(),p=r,m={acceptPayment:d,acceptPaymentPolicy:o,...(e.fetch||t)&&{fetch:l},eventDispatcher:f,...n!==void 0&&{maxPaymentRetries:n},...p&&{onChallenge:p},...i&&{orderChallenges:i},methods:u,transport:s},h=JM(m);a&&YM(m);function g(e){return f.on(`challenge.received`,e)}function _(e){return f.on(`credential.created`,e)}function v(e){return f.on(`payment.failed`,e)}function y(e){return f.on(`payment.response`,e)}async function b(e,t){let n=QR(e),r=await s.getChallenges(e,t?.request),a=Object.freeze(r.map(e=>$R(e))),o=nz(d.entries,t?.acceptPayment),c,l;try{let e=(await rz(wj(r,u,o),t?.orderChallenges??i))[0];if(!e)throw Error(`No method found for challenges: ${r.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${u.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let d=e.challenge;c=a[e.index],l=e.method,c.expires&&HA(c.expires,c.id);let p=c,m=l,h=qR(async e=>{try{p.expires&&HA(p.expires,p.id);let t=qR(t=>iz(p,m,t??e)),i=await f.emit(`challenge.received`,JR({challenge:p,challenges:r,createCredential:t,method:m,response:n}))??await t();return xN(i),await f.emit(`credential.created`,YR({challenge:p,credential:i,method:m,response:n})),i}catch(e){throw await f.emit(`payment.failed`,XR({challenge:p,challenges:r,error:e,method:m,response:n})),e}});return Object.freeze({challenge:p,challenges:a,createCredential:h,method:ZR(m),setCredential(e,t){return xN(t),s.setCredential(e,t,{challenge:d})}})}catch(e){throw await f.emit(`payment.failed`,XR({challenge:c,challenges:r,error:e,method:l,response:n})),e}}return{fetch:h,rawFetch:c,methods:u,transport:s,on:f.on,onChallengeReceived:g,onCredentialCreated:_,onPaymentFailed:v,onPaymentResponse:y,preparePayment:b,async createCredential(e,t,n){return(await b(e,n)).createCredential(t)}}}function KR(e,t){let n=Object.values(t);if(n.length===0)throw TypeError(`Mppx client attestation must configure at least one signer.`);return WR(e,UR(...n))}function qR(e){let t;return n=>(t??=e(n),t)}function JR(e){return Object.freeze({challenge:$R(e.challenge),challenges:e.challenges.map(e=>$R(e)),createCredential:e.createCredential,method:ZR(e.method),response:QR(e.response)})}function YR(e){return Object.freeze({challenge:$R(e.challenge),credential:e.credential,method:ZR(e.method),response:QR(e.response)})}function XR(e){return Object.freeze({...e.challenge?{challenge:$R(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>$R(e))}:{},error:e.error,...e.method?{method:ZR(e.method)}:{},response:QR(e.response)})}function ZR(e){return tz(Object.assign({},e))}function QR(e){if(e instanceof Response)try{return e.clone()}catch{return new Response(null,{headers:e.headers,status:e.status,statusText:e.statusText})}return $R(e)}function $R(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 ez(t)}catch{return tz(e)}}function ez(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))ez(t);return e}function tz(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function nz(e,t){return t?typeof t==`string`?Sj(t):t:e}async function rz(e,t){return t?t(e):e}async function iz(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})}k();let az={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},oz=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function sz(e){return{add:t=>gz({...t,store:e}),authorize:t=>lz({...t,store:e}),clear:()=>bz({store:e}),get:t=>mz({...t,store:e}),prepareAuthorization:t=>cz({...t,keystores:e.keystores}),getStatus:t=>fz({...t,store:e}),list:t=>Iz({...t,store:e}),remove:t=>yz({...t,store:e}),select:t=>pz({...t,store:e}),updateAuthorization:t=>vz({...t,store:e})}}async function cz(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:ZC({address:(()=>{switch(e){case`secp256k1`:return aT(s);case`p256`:return iT(s);case`webAuthn`:throw new Qx({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:ZC({address:t??F_(x_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??eD,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new Qx({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=ZC({address:F_(C_(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 lz(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await cz({...r,chainId:r.chainId??n,keystores:i.keystores}),o=ew(a.keyAuthorization),s=await t.sign({hash:o}),c=ZC(a.keyAuthorization,{signature:uC(s)});return gz({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),iw(c)}async function uz(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=Iz({account:t,chainId:r,store:a});for(let e of s)if(!Pz(e.expiry,o)&&wz(e,i)&&!(n&&!Sz(e,{calls:n}))&&await Nz(e,a))return!0;return!1}function dz(e){return Cz(e.parameters.scopes,{calls:e.calls})}async function fz(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=Iz({account:n,accessKey:t,chainId:i,store:o}).find(e=>Sz(e,{calls:r}));if(c){if(Pz(c.expiry,s))return az.expired;if(c.keyAuthorization){let e=await Fz(a,{accessKey:c.address,account:n,now:s});return e===az.published&&_z({accessKey:c.address,account:n,chainId:i,store:o}),e===az.published?az.published:az.pending}return await Fz(a,{accessKey:c.address,account:n,now:s})}return t?await Fz(a,{accessKey:t,account:n,now:s}):az.missing}async function pz(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=Iz({account:t,chainId:r,store:i});for(let e of o){if(!Sz(e,{calls:n}))continue;if(Pz(e.expiry,a)){await yz({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await Nz(e,i);if(t)return t}}async function mz(e){let{accessKey:t,account:n,calls:r,chainId:i}=e,{store:a}=e,o=e.now??Date.now()/1e3,s=Iz({account:n,accessKey:t,chainId:i,store:a})[0];if(s&&!(`calls`in e&&!Sz(s,{calls:r}))){if(Pz(s.expiry,o)){await yz({accessKey:s.address,account:s.access,chainId:s.chainId,store:a});return}return await Nz(s,a)}}function hz(e){return WE({source:{get(t){return Iz({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){_z({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){vz({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function gz(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=>!Rz(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function _z(e){let{store:t,...n}=e;Lz({...n,patch:{keyAuthorization:void 0},store:t})}function vz(e){let{authorization:t,store:n,...r}=e;Lz({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function yz(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!Rz(e,n))}))}function bz(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function xz(e){return e instanceof O&&e.walk(e=>{let t=e.data?.errorName;return!!t&&oz.has(t)})?!0:e instanceof Error&&oz.has(JE(e).errorName)}function Sz(e,t){return Cz(e.scopes,t)}function Cz(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(!jz(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return!e.recipients||e.recipients.length===0;let a=Oz(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 L_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function wz(e,t){return!(!Tz(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!Az(e.limits,t.reuse?.minLimits))}function Tz(e,t){return!t||!e||t.every(t=>e.some(e=>Ez(e,t)))}function Ez(e,t){return!jz(e)||!jz(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!Dz(e.selector,t.selector)?!1:kz(e.recipients,t.recipients)}function Dz(e,t){if(!e)return!0;if(!t)return!1;let n=Oz(e),r=Oz(t);return!!n&&n===r}function Oz(e){try{return(e.startsWith(`0x`)&&e.length===10?e:Wy(e)).toLowerCase()}catch{return}}function kz(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function Az(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 jz(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!L_(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=>!L_(e))))}let Mz=new WeakMap;async function Nz(e,t){let n=hz(t);if(`keyPair`in e&&e.keyPair)return sT(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return aT(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return iT(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=Mz.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),Mz.set(e,i));try{return await i}catch(n){Mz.delete(e),$E(n)&&yz({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function Pz(e,t){return typeof e==`number`&&e<t}async function Fz(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await NT(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?az.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?az.expired:az.published}catch(e){if(xz(e))return az.missing;throw e}}function Iz(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>Rz(e,n))}function Lz(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!Rz(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 Rz(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 zz(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 Bz(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 rS({message:`Account \"${t}\" not found.`}):new aS({message:`No active account.`});return Vz(s,{signable:n})}function Vz(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 rS({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return aT(e.privateKey);case`p256`:return iT(e.privateKey);case`webCrypto`:return sT(e.keyPair);case`webAuthn`:return oT(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return rT(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new rS({message:`Unknown key type.`})}}let Hz=new Map;function Uz(e,t){let n=Kz(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>Jz(e,t),onResponse:t=>Yz(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 Xz(e),()=>{n.attachments.delete(r),qz(e)}}function Wz(e,t){let n=Kz(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}),Xz(e)})}function Gz(e){return new URL(e).host}function Kz(e){let t=Gz(e),n=Hz.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:yS(),requestQueue:[],synced:!1};return Hz.set(t,r),r}function qz(e){let t=Kz(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function Jz(e,t){if(t.length===0)return;let n=Kz(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 nS);Xz(e,{force:!0})}}function Yz(e,t){let n=Kz(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(_S(t.error)):r.resolve(t.result),Xz(e,{force:!0}))}function Xz(e,t={}){let n=Kz(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,qz(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:[Zz(a)]}))}function Zz(e){return{request:e.request,status:e.status}}R();function Qz(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=Uz(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=gS({async request(e){return e.method===`eth_chainId`?I(r.getState().chainId):Wz(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:kA});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:[BD(xA.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[BD(EA.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[BD(DA.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:Kb(s)}}}})}let $z=new Map,eB=new WeakMap;function tB(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return iB(r);if(r?.url)return iB(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 $z;let e=eB.get(d);return e||(e=new Map,eB.set(d,e)),e})(),p=f.get(u);if(!p){let t=n.find(e=>e.id===l)??n[0],r=o?.[l]??Zb(),a=i?nB(i,r,e===void 0?void 0:t.id):r;p=Eh({chain:t,transport:s?aB(a,s,c):a,pollingInterval:1e3}),f.set(u,p)}return p}function nB(e,t,n){return r=>{let i=t(r);return{...i,async request({method:t,params:r}){if(n!==void 0&&!rB(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 rB(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 iB(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function aB(e,t,n){return r=>{let i=e(r),a=Zb(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=Qw(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 oB=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function sB(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 cB({account:o,address:t,chainId:r,client:i,store:a})}function cB(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{let n=await Zd(i,{account:t,...e,parameters:[],type:`tempo`});return await uB(i,n)}catch(e){throw dB(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{let o=await Zd(i,{account:t,...e,type:`tempo`});return lB({account:t,address:n,chainId:r,client:i,request:o,store:a})}catch(e){throw dB(e,{account:t,address:n,chainId:r,store:a}),e}}}}function lB(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 dB(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 dB(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 dB(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function uB(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 dB(e,t){fB(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function fB(e){if(!(e instanceof Error))return!1;let t=JE(e);if(oB.has(t.errorName))return!0;let n=pB(e);return[...oB].some(e=>n.includes(e))}function pB(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:``,pB(r)].join(`\n`)}tf();function mB(e){if(typeof e==`string`&&L_(e))return e}function hB(e,t){return ef(e,t)}function gB(e){return ef(e,`0x0000000000000000000000000000000000000000`)}function _B(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(_B.cache.get(n))return _B.cache.get(n);let r=e().finally(()=>_B.cache.delete(n));return _B.cache.set(n,r),r}_B.cache=new Map;function vB(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function yB(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=vB(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 bB;function xB(){return bB||=yB(`keyval-store`,`keyval`),bB}function SB(e,t=xB()){return t(`readonly`,t=>vB(t.get(e)))}function CB(e,t,n=xB()){return n(`readwrite`,n=>(n.put(t,e),vB(n.transaction)))}function wB(e,t=xB()){return t(`readwrite`,t=>(t.delete(e),vB(t.transaction)))}let TB=Symbol.for(`accounts.storage.supportsStructuredClone`);function EB(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 DB(e)?OB(r):r}function DB(e){return e[TB]===!0}function OB(e){return Object.assign(e,{[TB]:!0})}function kB(e={}){let t=typeof indexedDB<`u`?yB(`tempo`,`store`):void 0;return OB(EB({async getItem(e){let n=await SB(e,t);return n===null?null:n},async setItem(e,n){await CB(e,n,t)},async removeItem(e){await wB(e,t)}},e))}function AB(e={}){let t=new Map;return OB(EB({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let jB=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 MB(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 NB=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return NB(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return NB(t)(e)}}}},PB=(e,t)=>(n,r,i)=>{let a={storage:MB(()=>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 NB(u.getItem.bind(u))(a.name).then(e=>{if(e){if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state]}return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},FB=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},IB=(e=>e?FB(e):FB),LB=Symbol.for(`accounts.storage.supportsStructuredClone`);function RB(e){let{chainId:t,keystores:n=eD,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?kB({key:`tempo`}):AB({key:`tempo`})}=e,s=IB(jB(PB(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>BB(e,t,{schema:a}),name:`store`,partialize:e=>zB(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:GB(o)}),storage:o,version:0}))),c=s;return c.accessKeys=sz({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function zB(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=>UB(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function BB(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(HB):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>RD(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:VB(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function VB(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 HB(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function UB(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&WB(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function WB(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function GB(e){return e[LB]===!0}async function KB(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let qB=new Map;async function JB(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=qB.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 qB.set(r,a),a.then(e=>{e.length===0&&qB.delete(r)}),a}async function YB(e){let{symbol:t,...n}=e,r=await JB(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function XB(e,t){let n=RD(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new iS({message:`Unsupported method \"${t?.method}\".`}):new tS(-32602,`Invalid params: ${ZB(n.error.issues)}`)}return{...t,_decoded:n.data}}function ZB(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?ZB([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}R(),If();let QB=new Set;function $B(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function eV(e={}){let{adapter:t=Qz(),chains:n=[dE,fE,VE],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?kB():AB()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,Zb(`${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=RB({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={})=>Bz({...e,store:f}),m;function h(e={}){let{chainId:t,feePayer:r}=e;return tB(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??eD);let y=hS();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`,I(e))),f.subscribe(e=>e.accounts.length>0,e=>{e?y.emit(`connect`,{chainId:I(f.getState().chainId)}):y.emit(`disconnect`,new aS)});function b(){if(f.getState().accounts.length===0)throw new aS({message:`No accounts connected.`})}function x(){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 S(e){throw new iS({message:`\\`${e}\\` not supported by adapter.`})}async function C(e={}){return g.getAccount||S(`getAccount`),await g.getAccount(e)}function w(e){let t=h({chainId:e.chainId,feePayer:e.feePayer});return Wb({account:e.account,chain:t.chain,transport:e.transport??Kb({request:t.request})})}function T(e,t){return t.type===`json-rpc`&&e!==void 0?{feePayer:e}:e?{feePayer:!0}:{}}async function ee(e){let{feePayer:t,...n}=e,r=await C({address:e.from}),i=w({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 Zd(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function te(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 sB({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 ee(e);return r.account.type===`json-rpc`?await zb(t,n):await r.account.signTransaction(n)}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 sB({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 C({address:e.from});return await fh(w({account:r.account,chainId:e.chainId,feePayer:t===!0?void 0:t,transport:r.transport}),{...n,...T(t,r.account)})}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 sB({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 C({address:e.from}),i=w({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:[BD($k,a)]});let o=await xb(i,{account:r.account,...a});return BD(Jk,o)}async function ie(e){let t=await C({address:e.address}),n=w({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:dg({raw:e.data})})}async function ae(e){let t=JSON.parse(e.data),n=await C({address:e.address}),r=w({account:n.account,transport:n.transport});return n.account.type===`json-rpc`?await r.signTypedData({account:n.account,...t}):await n.account.sign({hash:bg(t)})}async function oe(e){let t=await C(),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 se(e,Number(n)),i=await w({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[BD(pA.parameters,r.parameters)]});return await le({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function se(e,t){let n=e.chainId??t??h().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await cz({...e,chainId:n});return{parameters:ce(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!v&&!$B())return{parameters:e};let{key:r,keyAuthorization:i}=await cz({...e,chainId:n,keystores:l});if(!r)throw new $x({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...ce(e,i),publicKey:r.publicKey}}}function ce(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function le(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:QC(r),...o})}async function ue(e){let t=await C({address:e.address}),n=w({account:t.account,transport:t.transport});if(t.account.type===`json-rpc`)await n.request({method:`wallet_revokeAccessKey`,params:[e]});else try{await LT(h(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!xz(e))throw e}f.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:f.getState().chainId})}async function de(e){let t=await C({address:e.address}),n=Number(e.chainId??h().chain.id);if(t.account.type===`json-rpc`){await w({account:t.account,chainId:n,transport:t.transport}).request({method:`wallet_updateAccessKey`,params:[BD(gA.parameters,e)]});return}let r=e.limits.map(t=>RT.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await xb(h({chainId:n}),{account:t.account,calls:r})}async function fe(e,t){if(_.signTransaction)return await _.signTransaction(e,t);if(g.getAccount)return await te(e);S(`signTransaction`)}async function pe(e,t){if(_.sendTransaction)return await _.sendTransaction(e,t);if(g.getAccount)return await ne(e);S(`sendTransaction`)}async function me(e,t){if(_.sendTransactionSync)return await _.sendTransactionSync(e,t);if(g.getAccount)return await re(e);S(`sendTransactionSync`)}async function he(e,t){if(_.signPersonalMessage)return await _.signPersonalMessage(e,t);if(g.getAccount)return await ie(e);S(`signPersonalMessage`)}async function ge(e,t){if(_.signTypedData)return await _.signTypedData(e,t);if(g.getAccount)return await ae(e);S(`signTypedData`)}async function _e(e,t){if(_.authorizeAccessKey)return await _.authorizeAccessKey(e,t);if(g.getAccount)return await oe(e);S(`authorizeAccessKey`)}async function ve(e,t){if(_.revokeAccessKey)return await _.revokeAccessKey(e,t);if(g.getAccount)return await ue(e);S(`revokeAccessKey`)}async function ye(e,t){if(_.updateAccessKey)return await _.updateAccessKey(e,t);if(g.getAccount)return await de(e);S(`updateAccessKey`)}function be(e){if(!g.persistAccounts)return e;let t=[...e];for(let e of f.getState().accounts)t.some(t=>hB(t.address,e.address))||t.push(e);return t}function xe(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 Se(e){let{reuse:t,...n}=e;return n}function Ce(){return typeof c==`function`?c():c}async function we(e){let t=Ce();if(!t)return;let n=Te(e.capabilities);if(!(n&&await uz({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:f}})))return Se(t)}function Te(e){let t=f.getState();if(t.accounts.length!==0&&!(e&&`selectAccount`in e&&e.selectAccount))return e&&`credentialId`in e&&e.credentialId?t.accounts.find(t=>`credential`in t&&t.credential?.id===e.credentialId)?.address: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 Ee(e){let t=Ce();if(!t||await f.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!dz({parameters:t,calls:e.calls}))return;let n=Se(t);await _e(n,{method:`wallet_authorizeAccessKey`,params:[BD(pA.parameters,n)]})}function De(e){let{accounts:t}=f.getState();if(t.length===0)throw new aS({message:`No accounts connected.`});if(!t.some(t=>hB(t.address,e)))throw new rS({message:`Account \"${e}\" not found.`})}async function Oe(e,t={}){let n=mB(e.account.address);if(!n)return;if(De(n),t.accessKey){let r=e.operation.kind===`authorizePaymentChannel`?mB(e.operation.authority):void 0;if(r&&!hB(r,t.accessKey))throw new rS({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 rS({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 rS({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=mB(e.operation.authority);if(!r)return await f.accessKeys.select({account:n,chainId:e.chainId});if(!(gB(r)||hB(r,n)))return await f.accessKeys.get({account:n,accessKey:r,chainId:e.chainId})}function ke(e={}){let t=(()=>{if(!e.accessKey)return;let t=mB(e.accessKey);if(!t)throw new Qx({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 lS({message:`Chain ${e} not configured.`});let t=Ae.getClient({chainId:e}),r=f.getState().accounts[f.getState().activeAccount];if(!r)throw new aS({message:`No active account.`});return Object.assign(Object.create(Object.getPrototypeOf(t)),t,{account:{address:r.address,type:`json-rpc`}})},resolveAccount:e=>Oe(e,{accessKey:t})}}let Ae=Object.assign(gS({...y,async request({method:t,params:r}){return await KB(f),_B(async()=>{let i;try{i=XB(jA,{method:t,params:r})}catch(e){if(!(e instanceof iS))throw e;return await tB(void 0,{chains:n,store:f,transports:u}).request({method:t,params:r})}return await(async()=>{switch(i.method){case`eth_accounts`:return x();case`eth_chainId`:return I(f.getState().chainId);case`eth_requestAccounts`:{let e=x();if(e.length>0)return e;let{accounts:t}=await _.loadAccounts(void 0,{method:`wallet_connect`,params:void 0});return f.setState({accounts:be(t),activeAccount:0}),t.map(e=>e.address)}case`eth_sendTransaction`:{b();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 Ee({address:c,...a?{calls:a}:{},chainId:s}),await pe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=xe(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??zz(a.accounts.find(e=>hB(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 sB({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`:{b();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 fe({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_sendTransactionSync`:{b();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 Ee({address:c,...a?{calls:a}:{},chainId:s}),await me({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:xe(e.feePayer)},i)}case`eth_signTypedData_v4`:{b();let[e,t]=i._decoded.params;return await ge({address:e,data:t},i)}case`personal_sign`:{b();let[e,t]=i._decoded.params;return await he({address:t,data:e},i)}case`wallet_sendCalls`:try{b();let{calls:e=[],capabilities:t,chainId:n,from:r}=i._decoded.params?.[0]??{},a=t?.sync,o=xe(t?.feePayer??(d?!0:void 0)),s=f.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await Ee({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o?{feePayer:o}:{}};if(!a){let e=F(await pe(l,{method:`eth_sendTransaction`,params:[BD($k,l)]}),mp(I(f.getState().chainId),32),nV);return{capabilities:{sync:a},id:e}}let u=await me(l,{method:`eth_sendTransactionSync`,params:[BD($k,l)]}),p=u.transactionHash,m=I(f.getState().chainId),h=F(p,mp(m,32),nV);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 rV(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 aS({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new Qx({message:\"`tokens` is required.\"});let s=tB(e?.chainId,{chains:n,store:f,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([yE(s,{account:a,token:e}),bE(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:I(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(nV.slice(2)))throw Error(\"`id` not supported\");lp(e);let t=L(e,0,32),r=I(Number(L(e,32,64))),a=await tB(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=>hB(e.address,t)))throw new rS({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(I(e.id))):n,o={};for(let e of a)o[I(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...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 we({capabilities:n,chainId:t??f.getState().chainId}),a=n?.auth??e.auth,o=a?sV(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new Qx({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new Qx({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=t??f.getState().chainId??0,c=r?await se(r,t):void 0;(o||c)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...c?{authorizeAccessKey:BD(_A.authorizeAccessKey,c.parameters)}:{}}}]});let l=o&&!g.forwardsAuth?await fV(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??gp(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:be(d),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let x=d[0]?.address;await le({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?pV(l.message):void 0);return await mV(e.identity.issuer,{audience:r,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&&dV(o,{chainId:s,message:w});let T=o&&C&&w&&y&&x?await hV(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||T||!C)?{signature:y}:{},...b===void 0?{}:{username:b},...T??p?{auth:T??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=sV(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 _e(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{b();let[e]=i._decoded.params;await ve({...e},i);return}case`wallet_updateAccessKey`:{b();let[e]=i._decoded.params;await ye({...e},i);return}case`wallet_deposit`:if(!_.deposit)throw new iS({message:\"`deposit` not supported by adapter.\"});return await _.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{b();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!_.transfer)throw new iS({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:xe(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=xe(n),d=h({chainId:l,feePayer:typeof u==`string`?u:void 0}),{address:p,decimals:m}=await(async()=>{if(L_(s)){let e=await bE(d,{token:s});return{address:s,decimals:e.decimals}}let e=await YB({chainId:d.chain.id,symbol:s});if(!e)throw new tS(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),g=Ay(t,m),v=c.accounts[c.activeAccount]?.address,y=r&&v&&r.toLowerCase()!==v.toLowerCase()?r:void 0,x={calls:[NE.call({amount:g,...y?{from:y}:{},memo:a?pp(a):void 0,to:o,token:p})],chainId:l,from:v,...u===void 0?{}:{feePayer:u}},S=await me(x,{method:`eth_sendTransactionSync`,params:[BD($k,x)]});return{chainId:I(l),receipt:S}}case`wallet_swap`:if(b(),!_.swap)throw new iS({message:\"`swap` not supported by adapter.\"});return await _.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(b(),!_.depositZone)throw new iS({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:xe(e.feePayer)}};return await _.depositZone(t,i)}case`wallet_withdrawZone`:if(b(),!_.withdrawZone)throw new iS({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 lS({message:`Chain ${e} not configured.`});await _.switchChain?.({chainId:e}),f.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:Pf({method:t,params:r})})}},{schema:kA}),{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:Ae.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return tB(t,{chains:n,feePayer:r,provider:m,store:f,transports:u})},getMppxParameters:ke,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,``)}`;QB.has(e)||(QB.add(e),MA({info:{icon:t.icon??tV,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:Ae}))}let je=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(je){let{mode:e=`push`,polyfill:t,...n}=je,r=t??iV(),i=Ae.getMppxParameters(),a={...n,...i,mode:e};GR({methods:[VR(a),VR.subscription(i)],polyfill:r})}return m=Ae,Ae}let tV=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,nV=g_(pp(`TEMPO_5792`));function rV(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 iV(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function aV(){return typeof document<`u`&&typeof document.cookie==`string`}function oV(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 Qx({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 sV(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:oV(e,`challenge`)}:{},...r?{verify:oV(e,`verify`)}:{},...i?{logout:oV(e,`logout`)}:{},...typeof e==`object`&&e.resources!==void 0?{resources:e.resources}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return cV(a),a}function cV(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 Qx({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new Qx({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let lV=' 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 uV(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function dV(e,t){let{chainId:n,message:r}=t,i=t.url??(typeof e==`object`?e.challenge:oV(e,`challenge`)),a=typeof e==`object`?e.resources:void 0,o=rb(r),s=new URL(i);if(o.version!==`1`)throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a non-SIWE-v1 message.`});if(!o.nonce)throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` response is missing a \\`nonce\\`.`});if(o.domain!==s.host)throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message bound to \\`${o.domain}\\` (expected \\`${s.host}\\`).${lV}`});if(o.uri!==s.origin)throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message with \\`uri\\` \\`${o.uri}\\` (expected \\`${s.origin}\\`).${lV}`});if(o.chainId!==n)throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message bound to chainId \\`${o.chainId}\\` (expected \\`${n}\\`).`});if(a!==void 0&&!uV(o.resources??[],a))throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` did not echo the requested SIWE resources.`})}async function fV(e,t){let n=typeof e==`object`?e.challenge:oV(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 Qx({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));if(!a.message)throw new Qx({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});return dV(e,{chainId:t,message:a.message,url:n}),{message:a.message}}function pV(e){return e.match(/^Nonce: (.+)$/m)?.[1]}async function mV(e,t){let n=await fetch(`${e.replace(/\\/+$/,``)}/token`,{body:JSON.stringify({audience:t.audience,...t.nonce?{nonce:t.nonce}:{},subject:t.subject}),headers:{\"content-type\":`application/json`},method:`POST`});if(!n.ok)throw Error(`Identity issuer \\`${e}\\` returned ${n.status}.`);let{idToken:r}=await n.json();return{email:JSON.parse(atob(r.split(`.`)[1].replace(/-/g,`+`).replace(/_/g,`/`))).email??null,idToken:r}}async function hV(e,t){let n=typeof e==`object`?e.verify:oV(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!aV(),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 $x({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 gV={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},_V={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},vV={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var yV=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let bV={accent:new yV(`accent`),background:new yV(`background`),border:new yV(`border`),foreground:new yV(`foreground`),muted:new yV(`muted`),negative:new yV(`negative`),positive:new yV(`positive`),surface:new yV(`surface`),fontFamily:new yV(`font-family`),fontSizeBase:new yV(`font-size-base`),radius:new yV(`radius`),spacingUnit:new yV(`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: ${bV.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 xV(e,t=`Authorization`){let n=new URL(location.href);n.searchParams.set(_V.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()}If();function SV(e){let t=document.getElementById(gV.data),n=Nf(t.textContent),r=t.getAttribute(vV.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(vV.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(vV.challengeId),o=a?(i.removeAttribute(vV.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(gV.error)?.remove();return}let t=document.getElementById(gV.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=gV.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:e=>xV(e,o.challenge.header),vars:bV}}let CV=SV(`tempo`),wV=String.raw,TV=document.createElement(`style`);TV.textContent=wV`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${CV.vars.spacingUnit} * 8);\n }\n button {\n background: ${CV.vars.accent};\n border-radius: ${CV.vars.radius};\n color: ${CV.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${CV.vars.spacingUnit} * 4) calc(${CV.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`,CV.root.append(TV);let EV=eV({testnet:CV.challenge.request.methodDetails?.chainId===fE.id||CV.challenge.request.methodDetails?.chainId===HE.id}),DV=document.createElement(`button`);DV.innerHTML=`${CV.text.pay===`Pay`?`Continue with`:CV.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>`,DV.onclick=async()=>{try{CV.error(),DV.disabled=!0;let e=await(async()=>{let e=await EV.request({method:`eth_accounts`});return e.length>0?e.at(0):(await EV.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await VR({account:e,getClient:e=>{let t=e.chainId??CV.challenge.request.methodDetails?.chainId;return Eh({chain:[...EV?.chains??[],fE,HE].find(e=>e.id===t),transport:Kb(EV)})}})[0].createCredential({challenge:CV.challenge,context:{}});await CV.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;CV.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{DV.disabled=!1}},CV.root.appendChild(DV)})();</script>";
|
|
3
3
|
//# sourceMappingURL=html.gen.js.map
|