mppx 0.11.0 → 0.12.0

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +22 -1
  3. package/dist/cli/agent.d.ts +3 -0
  4. package/dist/cli/agent.js +20 -0
  5. package/dist/cli/cli.d.ts +1 -1
  6. package/dist/cli/cli.js +135 -135
  7. package/dist/cli/plugins/index.js +12 -12
  8. package/dist/cli/validate/payment.js +29 -12
  9. package/dist/evm/server/Methods.d.ts +164 -3
  10. package/dist/evm/server/Methods.js +50 -2
  11. package/dist/internal/version.d.ts +2 -2
  12. package/dist/internal/version.js +1 -1
  13. package/dist/server/Mppx.d.ts +5 -1
  14. package/dist/server/Mppx.js +120 -49
  15. package/dist/server/internal/html/compose.main.gen.d.ts +1 -1
  16. package/dist/server/internal/html/serviceWorker.gen.d.ts +1 -1
  17. package/dist/stripe/server/Methods.js +2 -4
  18. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  19. package/dist/tempo/internal/currencies.d.ts +19 -0
  20. package/dist/tempo/internal/currencies.js +41 -0
  21. package/dist/tempo/internal/defaults.d.ts +5 -3
  22. package/dist/tempo/internal/defaults.js +6 -2
  23. package/dist/tempo/internal/fee-payer.d.ts +5 -4
  24. package/dist/tempo/internal/fee-payer.js +7 -5
  25. package/dist/tempo/server/Charge.d.ts +12 -1
  26. package/dist/tempo/server/Charge.js +34 -32
  27. package/dist/tempo/server/Methods.d.ts +5003 -40
  28. package/dist/tempo/server/Methods.js +104 -13
  29. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  30. package/dist/tempo/server/internal/html.gen.js +1 -1
  31. package/dist/tempo/session/server/ChannelStore.d.ts +2 -0
  32. package/dist/tempo/session/server/ChannelStore.js +12 -3
  33. package/dist/tempo/session/server/CredentialVerification.d.ts +2 -0
  34. package/dist/tempo/session/server/CredentialVerification.js +22 -13
  35. package/dist/tempo/session/server/RequestState.d.ts +6 -0
  36. package/dist/tempo/session/server/RequestState.js +11 -4
  37. package/dist/tempo/session/server/Session.js +8 -1
  38. package/dist/tempo/session/server/Settlement.d.ts +2 -0
  39. package/dist/tempo/session/server/Settlement.js +13 -8
  40. package/dist/tempo/subscription/KeyAuthorization.d.ts +70 -8
  41. package/package.json +3 -3
@@ -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 E(){return typeof window>`u`?ne():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=te()(e),ee.instance.syncTheme(e.theme),ee.instance;ee?.instance.destroy();let n={fallback:te()(e),store:e.store},r=!1,i=ie(),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),re(t,n.store)}),t.on(`sync`,({valid:e})=>{e===!1&&n.store.disconnect()}),t.on(`switch-mode`,()=>{se(),ne(),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 E=!1,ne=()=>{E&&(E=!1,o.removeEventListener(`cancel`,C),o.removeEventListener(`click`,C),o.style.pointerEvents=`none`,S?.focus(),S=null,document.body.style.overflow=b)},D=()=>{E||(E=!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`)},ae=!1,oe=()=>{ae||(ae=!0,document.activeElement instanceof HTMLElement&&(S=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},se=()=>{if(ae){ae=!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`)}},ce={close(){n.fallback.close(),r=!1,se(),ne()},destroy(){ee?.instance===ce&&(ee=void 0),n.fallback.close(),r=!1,ne(),se(),n.fallback.destroy(),y.destroy(),o.remove(),w.disconnect()},open(){r||(r=!0,oe(),D())},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:ce,refs:n},ce})}function te(e={}){if(typeof window>`u`)return ne();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=ie(),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 ne(){return C({name:`noop`},()=>({open(){},close(){},destroy(){},async syncRequests(){},syncTheme(){}}))}function re(e,t){let{accounts:n}=t.getState();n.length!==0&&e.send(`sync`,{addresses:n.map(e=>e.address)})}function ie(){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 D,ae=o((()=>{D=`1.2.3`})),oe,se=o((()=>{ae(),oe=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@${D}`].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 ce(e,t){return e.exec(t)?.groups}var le,ue,de,fe=o((()=>{le=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,ue=/^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)?$/,de=/^\\(.+?\\).*?$/}));function pe(e){let t=e.type;if(me.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+=pe(i),r<n-1&&(t+=`, `)}let r=ce(me,e.type);return t+=`)${r?.array||``}`,pe({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var me,he=o((()=>{fe(),me=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function ge(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=pe(i),r!==n-1&&(t+=`, `)}return t}var _e=o((()=>{he()}));function ve(e){return e.type===`function`?`function ${e.name}(${ge(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${ge(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${ge(e.inputs)})`:e.type===`error`?`error ${e.name}(${ge(e.inputs)})`:e.type===`constructor`?`constructor(${ge(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var ye=o((()=>{_e()}));function be(e){return Ne.test(e)}function xe(e){return ce(Ne,e)}function Se(e){return Pe.test(e)}function Ce(e){return ce(Pe,e)}function we(e){return Fe.test(e)}function Te(e){return ce(Fe,e)}function Ee(e){return Ie.test(e)}function De(e){return ce(Ie,e)}function Oe(e){return Le.test(e)}function ke(e){return ce(Le,e)}function Ae(e){return Re.test(e)}function je(e){return ce(Re,e)}function Me(e){return ze.test(e)}var Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He=o((()=>{fe(),Ne=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Pe=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Fe=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,Ie=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Le=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,Re=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,ze=/^receive\\(\\) external payable$/,Be=new Set([`indexed`]),Ve=new Set([`calldata`,`memory`,`storage`])})),Ue,We,Ge=o((()=>{se(),Ue=class extends oe{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`})}},We=class extends oe{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`})}}})),Ke,qe,Je,Ye,Xe,Ze=o((()=>{se(),Ke=class extends oe{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},qe=class extends oe{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`})}},Je=class extends oe{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`})}},Ye=class extends oe{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`})}},Xe=class extends oe{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`})}}})),Qe,$e,et,tt=o((()=>{se(),Qe=class extends oe{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},$e=class extends oe{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},et=class extends oe{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`})}}})),nt,rt=o((()=>{se(),nt=class extends oe{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`})}}})),it,at=o((()=>{se(),it=class extends oe{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 ot(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 st,ct=o((()=>{st=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 lt(e,t={}){if(we(e))return ut(e,t);if(Se(e))return dt(e,t);if(be(e))return ft(e,t);if(Oe(e))return pt(e,t);if(Ae(e))return mt(e);if(Me(e))return{type:`receive`,stateMutability:`payable`};throw new $e({signature:e})}function ut(e,t={}){let n=Te(e);if(!n)throw new Qe({signature:e,type:`function`});let r=gt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(ht(r[e],{modifiers:Ve,structs:t,type:`function`}));let o=[];if(n.returns){let e=gt(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(ht(e[n],{modifiers:Ve,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function dt(e,t={}){let n=Ce(e);if(!n)throw new Qe({signature:e,type:`event`});let r=gt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(ht(r[e],{modifiers:Be,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function ft(e,t={}){let n=xe(e);if(!n)throw new Qe({signature:e,type:`error`});let r=gt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(ht(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function pt(e,t={}){let n=ke(e);if(!n)throw new Qe({signature:e,type:`constructor`});let r=gt(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(ht(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function mt(e){let t=je(e);if(!t)throw new Qe({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function ht(e,t){let n=ot(e,t?.type,t?.structs);if(st.has(n))return st.get(n);let r=de.test(e),i=ce(r?xt:bt,e);if(!i)throw new Ke({param:e});if(i.name&&vt(i.name))throw new qe({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=gt(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(ht(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(St.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!_t(c))throw new We({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Je({param:e,type:t?.type,modifier:i.modifier});if(Ve.has(i.modifier)&&!yt(c,!!i.array))throw new Ye({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return st.set(n,u),u}function gt(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?gt(o,[...t,n.trim()]):gt(o,t,`${n}${i}`,r);case`(`:return gt(o,t,`${n}${i}`,r+1);case`)`:return gt(o,t,`${n}${i}`,r-1);default:return gt(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new it({current:n,depth:r});return t.push(n.trim()),t}function _t(e){return e===`address`||e===`bool`||e===`function`||e===`string`||le.test(e)||ue.test(e)}function vt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||le.test(e)||ue.test(e)||Ct.test(e)}function yt(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var bt,xt,St,Ct,wt=o((()=>{fe(),Ge(),Ze(),tt(),at(),ct(),He(),bt=/^(?<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$_]*))?$/,xt=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,St=/^u?int$/,Ct=/^(?: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 Tt(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Ee(n))continue;let i=De(n);if(!i)throw new Qe({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=ht(t,{type:`struct`});o.push(n)}if(!o.length)throw new et({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]=Et(a,t)}return r}function Et(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(de.test(i.type))r.push(i);else{let e=ce(Dt,i.type);if(!e?.type)throw new Xe({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new nt({type:o});r.push({...i,type:`tuple${a??``}`,components:Et(t[o],t,new Set([...n,o]))})}else if(_t(o))r.push(i);else throw new Ue({type:o})}}return r}var Dt,Ot=o((()=>{fe(),Ge(),Ze(),tt(),rt(),He(),wt(),Dt=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function kt(e){let t=Tt(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];Ee(r)||n.push(lt(r,t))}return n}var At=o((()=>{He(),Ot(),wt()})),jt=o((()=>{se(),ye(),he(),_e(),At(),Ge(),He(),Ot(),wt(),Ze(),tt(),at(),rt()}));function O(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 Mt(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new fn(e.type);return`${e.name}(${Nt(e.inputs,{includeName:t})})`}function Nt(e,{includeName:t=!1}={}){return e?e.map(e=>Pt(e,{includeName:t})).join(t?`, `:`,`):``}function Pt(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${Nt(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var Ft=o((()=>{pn()}));function k(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var It=o((()=>{}));function Lt(e){return k(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Rt=o((()=>{It()})),zt,Bt=o((()=>{zt=`2.55.13`}));function Vt(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Vt(e.cause,t):t?null:e}var Ht,A,j=o((()=>{Bt(),Ht={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${zt}`},A=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=Ht.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Ht.version?[`Version: ${Ht.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=zt}walk(e){return Vt(this,e)}}})),Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn=o((()=>{Ft(),Rt(),j(),Ut=class extends A{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`})}},Wt=class extends A{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`})}},Gt=class extends A{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${Nt(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}},Kt=class extends A{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},qt=class extends A{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`})}},Jt=class extends A{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Lt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},Yt=class extends A{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},Xt=class extends A{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`})}},Zt=class extends A{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`})}},Qt=class extends A{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}},$t=class extends A{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},en=class extends A{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`})}},tn=class extends A{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`})}},nn=class extends A{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`})}},rn=class extends A{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`})}},an=class extends A{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Mt(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Mt(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},on=class extends A{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},sn=class extends A{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: (${Nt(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}},cn=class extends A{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Mt(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},ln=class extends A{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`})}},un=class extends A{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`})}},dn=class extends A{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},fn=class extends A{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),mn,hn,gn,_n=o((()=>{j(),mn=class extends A{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},hn=class extends A{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},gn=class extends A{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 vn(e,{dir:t,size:n=32}={}){return typeof e==`string`?yn(e,{dir:t,size:n}):bn(e,{dir:t,size:n})}function yn(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new hn({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function bn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new hn({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 xn=o((()=>{_n()})),Sn,Cn,wn,Tn,En,Dn,On,kn,An=o((()=>{j(),Sn=class extends A{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`})}},Cn=class extends A{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`})}},wn=class extends A{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},Tn=class extends A{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},En=class extends A{constructor({limit:e}){super(`RLP depth limit of \\`${e}\\` exceeded.`,{name:`RlpDepthLimitExceededError`})}},Dn=class extends A{constructor({consumed:e,declared:t}){super(`RLP list items consumed \\`${e}\\` bytes but the list declared a length of \\`${t}\\`.`,{name:`RlpListBoundaryExceededError`})}},On=class extends A{constructor({count:e}){super(`RLP payload encodes a single item, but \\`${e}\\` trailing ${e===1?`byte remains`:`bytes remain`}.`,{name:`RlpTrailingBytesError`})}},kn=class extends A{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function jn(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 Mn=o((()=>{}));function Nn(e,{size:t}){if(Lt(e)>t)throw new kn({givenSize:Lt(e),maxSize:t})}function Pn(e,t={}){let{signed:n}=t;t.size&&Nn(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 Fn(e,t={}){let n=e;if(t.size&&(Nn(n,{size:t.size}),n=jn(n)),jn(n)===`0x00`)return!1;if(jn(n)===`0x01`)return!0;throw new wn(n)}function In(e,t={}){let n=Pn(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new Sn({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var Ln=o((()=>{An(),Rt(),Mn()}));function Rn(e,t={}){return typeof e==`number`||typeof e==`bigint`?M(e,t):typeof e==`string`?Vn(e,t):typeof e==`boolean`?zn(e,t):Bn(e,t)}function zn(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Nn(n,{size:t.size}),vn(n,{size:t.size})):n}function Bn(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Hn[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Nn(r,{size:t.size}),vn(r,{dir:`right`,size:t.size})):r}function M(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 Sn({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?vn(s,{size:r}):s}function Vn(e,t={}){return Bn(Un.encode(e),t)}var Hn,Un,N=o((()=>{An(),xn(),Ln(),Hn=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Un=new TextEncoder}));function Wn(e,t={}){return typeof e==`number`||typeof e==`bigint`?Jn(e,t):typeof e==`boolean`?Gn(e,t):k(e)?qn(e,t):Yn(e,t)}function Gn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(Nn(n,{size:t.size}),vn(n,{size:t.size})):n}function Kn(e){if(e>=Zn.zero&&e<=Zn.nine)return e-Zn.zero;if(e>=Zn.A&&e<=Zn.F)return e-(Zn.A-10);if(e>=Zn.a&&e<=Zn.f)return e-(Zn.a-10)}function qn(e,t={}){let n=e;t.size&&(Nn(n,{size:t.size}),n=vn(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=Kn(r.charCodeAt(t++)),i=Kn(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new A(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function Jn(e,t){return qn(M(e,t))}function Yn(e,t={}){let n=Xn.encode(e);return typeof t.size==`number`?(Nn(n,{size:t.size}),vn(n,{dir:`right`,size:t.size})):n}var Xn,Zn,Qn=o((()=>{j(),It(),xn(),Ln(),N(),Xn=new TextEncoder,Zn={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function $n(e,t=!1){return t?{h:Number(e&nr),l:Number(e>>rr&nr)}:{h:Number(e>>rr&nr)|0,l:Number(e&nr)|0}}function er(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}=$n(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function tr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br=o((()=>{nr=BigInt(2**32-1),rr=BigInt(32),ir=(e,t,n)=>e>>>n,ar=(e,t,n)=>e<<32-n|t>>>n,or=(e,t,n)=>e>>>n|t<<32-n,sr=(e,t,n)=>e<<32-n|t>>>n,cr=(e,t,n)=>e<<64-n|t>>>n-32,lr=(e,t,n)=>e>>>n-32|t<<64-n,ur=(e,t,n)=>e<<n|t>>>32-n,dr=(e,t,n)=>t<<n|e>>>32-n,fr=(e,t,n)=>t<<n-32|e>>>64-n,pr=(e,t,n)=>e<<n-32|t>>>64-n,mr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),hr=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,gr=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),_r=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,vr=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),yr=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),xr,Sr=o((()=>{xr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Cr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function wr(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Tr(e,...t){if(!Cr(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 Er(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);wr(e.outputLen),wr(e.blockLen)}function Dr(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 Or(e,t){Tr(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function kr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Ar(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function jr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Mr(e,t){return e<<32-t|e>>>t}function Nr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Pr(e){for(let t=0;t<e.length;t++)e[t]=Nr(e[t]);return e}function Fr(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Ir(e){return typeof e==`string`&&(e=Fr(e)),Tr(e),e}function Lr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Tr(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 Rr(e){let t=t=>e().update(Ir(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function zr(e=32){if(xr&&typeof xr.getRandomValues==`function`)return xr.getRandomValues(new Uint8Array(e));if(xr&&typeof xr.randomBytes==`function`)return Uint8Array.from(xr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Br,Vr,Hr,Ur=o((()=>{Sr(),Br=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Vr=Br?e=>e:Pr,Hr=class{}}));function Wr(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=ri(a,o,1)^n[r],c=ii(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=Qr[n],a=ri(t,i,r),o=ii(t,i,r),s=Zr[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]^=ti[r],e[1]^=ni[r]}Ar(n)}var Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci=o((()=>{br(),Ur(),Gr=BigInt(0),Kr=BigInt(1),qr=BigInt(2),Jr=BigInt(7),Yr=BigInt(256),Xr=BigInt(113),Zr=[],Qr=[],$r=[];for(let e=0,t=Kr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Zr.push(2*(5*r+n)),Qr.push((e+1)*(e+2)/2%64);let i=Gr;for(let e=0;e<7;e++)t=(t<<Kr^(t>>Jr)*Xr)%Yr,t&qr&&(i^=Kr<<(Kr<<BigInt(e))-Kr);$r.push(i)}ei=er($r,!0),ti=ei[0],ni=ei[1],ri=(e,t,n)=>n>32?fr(e,t,n):ur(e,t,n),ii=(e,t,n)=>n>32?pr(e,t,n):dr(e,t,n),ai=class e extends Hr{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,wr(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=kr(this.state)}clone(){return this._cloneInto()}keccak(){Vr(this.state32),Wr(this.state32,this.rounds),Vr(this.state32),this.posOut=0,this.pos=0}update(e){Dr(this),e=Ir(e),Tr(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){Dr(this,!1),Tr(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 wr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Or(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,Ar(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}},oi=(e,t,n)=>Rr(()=>new ai(t,e,n)),si=oi(1,136,32)}));function li(e,t){let n=t||`hex`,r=si(k(e,{strict:!1})?Wn(e):e);return n===`bytes`?r:Rn(r)}var ui=o((()=>{ci(),It(),Qn(),N()}));function di(e){return fi(e)}var fi,pi=o((()=>{Qn(),ui(),fi=e=>li(Wn(e))}));function mi(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 A(`Unable to normalize signature.`);return i}var hi=o((()=>{j()})),gi,_i=o((()=>{jt(),hi(),gi=e=>mi(typeof e==`string`?e:ve(e))}));function vi(e){return di(gi(e))}var yi=o((()=>{pi(),_i()})),bi,xi=o((()=>{yi(),bi=vi})),Si,Ci=o((()=>{j(),Si=class extends A{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`})}}})),wi,Ti=o((()=>{wi=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 Ei(e,t){if(Oi.has(`${e}.${t}`))return Oi.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=li(Yn(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 Oi.set(`${e}.${t}`,a),a}function Di(e,t){if(!Ai(e,{strict:!1}))throw new Si({address:e});return Ei(e,t)}var Oi,ki=o((()=>{Ci(),Qn(),ui(),Ti(),Ni(),Oi=new wi(8192)}));function Ai(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Mi.has(r))return Mi.get(r);let i=ji.test(e)?e.toLowerCase()===e||!n||Ei(e)===e:!1;return Mi.set(r,i),i}var ji,Mi,Ni=o((()=>{Ti(),ki(),ji=/^0x[a-fA-F0-9]{40}$/,Mi=new wi(8192)}));function Pi(e){return typeof e[0]==`string`?Ii(e):Fi(e)}function Fi(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 Ii(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var Li=o((()=>{}));function Ri(e,t,n,{strict:r}={}){return k(e,{strict:!1})?Hi(e,t,n,{strict:r}):Vi(e,t,n,{strict:r})}function zi(e,t){if(typeof t==`number`&&t>0&&t>Lt(e)-1)throw new mn({offset:t,position:`start`,size:Lt(e)})}function Bi(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Lt(e)!==n-t)throw new mn({offset:n,position:`end`,size:Lt(e)})}function Vi(e,t,n,{strict:r}={}){zi(e,t);let i=e.slice(t,n);return r&&Bi(i,t,n),i}function Hi(e,t,n,{strict:r}={}){zi(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Bi(i,t,n),i}var Ui=o((()=>{_n(),It(),Rt()})),Wi,Gi,Ki=o((()=>{Wi=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Gi=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/}));function qi(e,t){if(e.length!==t.length)throw new Yt({expectedLength:e.length,givenLength:t.length});return Xi(Ji({params:e,values:t}))}function Ji({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(Yi({param:e[r],value:t[r]}));return n}function Yi({param:e,value:t}){let n=ia(e.type);if(n){let[r,i]=n;return Qi(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return ra(t,{param:e});if(e.type===`address`)return Zi(t);if(e.type===`bool`)return ea(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=Gi.exec(e.type)??[];return ta(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return $i(t,{param:e});if(e.type===`string`)return na(t);throw new ln(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function Xi(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];t+=r?32:Lt(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(M(t+i,{size:32})),r.push(s),i+=Lt(s)):n.push(s)}return Ii([...n,...r])}function Zi(e){if(!Ai(e))throw new Si({address:e});return{dynamic:!1,encoded:yn(e.toLowerCase())}}function Qi(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new dn(e);if(!r&&e.length!==t)throw new qt({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=e.length===0&&aa(n),a=[];for(let t=0;t<e.length;t++){let r=Yi({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=Xi(a);if(r)return{dynamic:!0,encoded:Ii([M(a.length,{size:32}),e])};if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Ii(a.map(({encoded:e})=>e))}}function $i(e,{param:t}){let[,n]=t.type.split(`bytes`),r=Lt(e);if(!n){let t=e;return r%32!=0&&(t=yn(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Ii([yn(M(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new Jt({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:yn(e,{dir:`right`})}}function ea(e){if(typeof e!=`boolean`)throw new A(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:yn(zn(e))}}function ta(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 Sn({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:M(e,{size:32,signed:t})}}function na(e){let t=Vn(e),n=Math.ceil(Lt(t)/32),r=[];for(let e=0;e<n;e++)r.push(yn(Ri(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Ii([yn(M(Lt(t),{size:32})),...r])}}function ra(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=Yi({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Xi(r):Ii(r.map(({encoded:e})=>e))}}function ia(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function aa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components.some(aa);let n=ia(t);return n?aa({...e,type:n[1]}):!1}var oa=o((()=>{pn(),Ci(),j(),An(),Ni(),Li(),xn(),Rt(),Ui(),N(),Ki()})),sa,ca=o((()=>{Ui(),yi(),sa=e=>Ri(vi(e),0,4)}));function la(e){let{abi:t,args:n=[],name:r}=e,i=k(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?sa(e)===r:e.type===`event`&&bi(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?ua(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=da(e.inputs,o.inputs,n);if(t)throw new an({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function ua(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Ai(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`&&ua(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=>ua(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function da(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 da(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`))&&Ai(n[r],{strict:!1}))return o}}var fa=o((()=>{pn(),It(),Ni(),xi(),ca()}));function P(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var pa=o((()=>{}));function ma(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=la({abi:t,args:n,name:r});if(!e)throw new tn(r,{docsPath:ha});i=e}if(i.type!==`function`)throw new tn(void 0,{docsPath:ha});return{abi:[i],functionName:sa(Mt(i))}}var ha,ga=o((()=>{pn(),ca(),Ft(),fa(),ha=`/docs/contract/encodeFunctionData`}));function _a(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:ma(e),i=n[0];return Ii([r,(`inputs`in i&&i.inputs?qi(i.inputs,t??[]):void 0)??`0x`])}var va=o((()=>{Li(),oa(),ga()})),ya,ba,xa,Sa=o((()=>{ya={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.`},ba={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},xa={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),Ca,wa,Ta,Ea=o((()=>{j(),Ca=class extends A{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},wa=class extends A{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Ta=class extends A{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function Da(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Oa);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Oa,ka=o((()=>{Ea(),Oa={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 Ta({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new wa({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Ca({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 Ca({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 Aa(e,t={}){return t.size!==void 0&&Nn(e,{size:t.size}),Pn(Bn(e),t)}function ja(e,t={}){let n=e;if(t.size!==void 0&&(Nn(n,{size:t.size}),n=jn(n)),n.length>1||n[0]>1)throw new Cn(n);return!!n[0]}function Ma(e,t={}){return t.size!==void 0&&Nn(e,{size:t.size}),In(Bn(e),t)}function Na(e,t={}){let n=e;return t.size!==void 0&&(Nn(n,{size:t.size}),n=jn(n,{dir:`right`})),new TextDecoder().decode(n)}var Pa=o((()=>{An(),Mn(),Ln(),N()}));function Fa(e,t){let n=typeof t==`string`?qn(t):t,r=Da(n);if(Lt(n)===0&&e.length>0)throw new Kt;if(Lt(t)&&Lt(t)<32)throw new Gt({data:typeof t==`string`?t:Bn(t),params:e,size:Lt(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]=Ia(r,o,{staticPosition:0});i+=c,a.push(s)}return a}function Ia(e,t,{staticPosition:n}){let r=ia(t.type);if(r){let[i,a]=r;return Ra(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Ha(e,t,{staticPosition:n});if(t.type===`address`)return La(e);if(t.type===`bool`)return za(e);if(t.type.startsWith(`bytes`))return Ba(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Va(e,t);if(t.type===`string`)return Ua(e,{staticPosition:n});throw new un(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function La(e){return[Ei(Bn(Vi(e.readBytes(32),-20))),32]}function Ra(e,t,{length:n,staticPosition:r}){if(n===null){let n=r+Ma(e.readBytes(Ka)),i=n+Ga;e.setPosition(n);let a=Ma(e.readBytes(Ga)),o=Wa(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=Ia(e,t,{staticPosition:i});s+=a,c.push(r),a===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(r+32),[c,32]}if(Wa(t)){let i=r+Ma(e.readBytes(Ka)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=Ia(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]=Ia(e,t,{staticPosition:r+i});i+=o,a.push(n),o===0&&(e.assertReadLimit(),e._touch())}return[a,i]}function za(e){return[ja(e.readBytes(32),{size:32}),32]}function Ba(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Ma(e.readBytes(32));e.setPosition(n+t);let r=Ma(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[Bn(i),32]}return[Bn(e.readBytes(Number.parseInt(i,10),32)),32]}function Va(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?Aa(i,{signed:n}):Ma(i,{signed:n}),32]}function Ha(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Wa(t)){let o=n+Ma(e.readBytes(Ka));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=Ia(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]=Ia(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Ua(e,{staticPosition:t}){let n=t+Ma(e.readBytes(32));e.setPosition(n);let r=Ma(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Na(e.readBytes(r,32));return e.setPosition(t+32),[i,32]}function Wa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Wa);let n=ia(e.type);return!!(n&&Wa({...e,type:n[1]}))}var Ga,Ka,qa=o((()=>{pn(),ki(),ka(),Rt(),Ui(),Pa(),Qn(),N(),oa(),Ga=32,Ka=32}));function Ja(e){let{abi:t,data:n,cause:r}=e,i=Ri(n,0,4);if(i===`0x`)throw new Kt({cause:r});let a=[...t||[],ba,xa].find(e=>e.type===`error`&&i===sa(Mt(e)));if(!a)throw new Qt(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?Fa(a.inputs,Ri(n,4)):void 0,errorName:a.name}}var Ya=o((()=>{Sa(),pn(),Ui(),ca(),qa(),Ft()})),Xa,Za=o((()=>{Xa=(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 Qa({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`?Xa(t[n]):t[n]}`).join(`, `)})`}var $a=o((()=>{Za()}));function eo(e,t=0){if(!Number.isInteger(t)||t<0)throw new so({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 to(e,t=`wei`){return eo(e,ao.ether-ao[t])}function no(e,t=`wei`){return eo(e,ao.gwei-ao[t])}function ro(e,t=0){if(!Number.isInteger(t)||t<0)throw new so({decimals:t});if(!/^-?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)$/.test(e))throw new oo({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=io(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 io(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 ao,oo,so,co=o((()=>{ao={wei:0,gwei:9,szabo:12,finney:15,ether:18},oo=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`})}},so=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 lo(e,t=`wei`){return to(e,t)}var uo=o((()=>{co()}));function fo(e,t=`wei`){return no(e,t)}var po=o((()=>{co()}));function mo(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function ho(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+=mo(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=mo(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var go,_o,vo=o((()=>{j(),go=class extends A{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},_o=class extends A{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function yo(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 bo,xo,So,Co,wo,To,Eo,Do,Oo,ko,Ao,jo=o((()=>{uo(),po(),j(),bo=class extends A{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},xo=class extends A{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},So=class extends A{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,yo(e),`}`,``,`To infer the type, either provide:`,\"- a `type` to the Transaction, or\",\"- an EIP-1559 Transaction with `maxFeePerGas`, or\",\"- an EIP-2930 Transaction with `gasPrice` & `accessList`, or\",\"- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or\",\"- an EIP-7702 Transaction with `authorizationList`, or\",\"- a Legacy Transaction with `gasPrice`\"],name:`InvalidSerializableTransactionError`})}},Co=class extends A{constructor({serializedType:e}){super(`Serialized transaction type \"${e}\" is invalid.`,{name:`InvalidSerializedTransactionType`}),Object.defineProperty(this,\"serializedType\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedType=e}},wo=class extends A{constructor({attributes:e,serializedTransaction:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean),name:`InvalidSerializedTransactionError`}),Object.defineProperty(this,\"serializedTransaction\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"type\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.serializedTransaction=t,this.type=n}},To=class extends A{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},Eo=class extends A{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=yo({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${lo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${fo(o)} gwei`,maxFeePerGas:s!==void 0&&`${fo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${fo(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}},Do=class extends A{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`})}},Oo=class extends A{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`})}},ko=class extends A{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}},Ao=class extends A{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}}));function Mo(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 No(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Po,Fo,Io=o((()=>{Po=e=>e,Fo=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Lo,Ro,zo,Bo,Vo,Ho,Uo=o((()=>{pa(),Sa(),Ya(),Ft(),$a(),fa(),uo(),po(),pn(),j(),vo(),jo(),Io(),Lo=class extends A{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=yo({from:(t?P(t):void 0)?.address,to:u,value:d!==void 0&&`${lo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${fo(o)} gwei`,maxFeePerGas:s!==void 0&&`${fo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${fo(c)} gwei`,nonce:l});f&&(p+=`\\n${ho(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}},Ro=class extends A{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=la({abi:t,args:n,name:a}),c=s?Qa({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Mt(s,{includeName:!0}):void 0,u=yo({address:r&&Po(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}},zo=class extends A{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=Ja({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=ya[e]}else{let e=n?Mt(n,{includeName:!0}):void 0,t=n&&a?Qa({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 Qt&&(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}},Bo=class extends A{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})}},Vo=class extends A{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`})}},Ho=class extends A{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}}})),Wo,Go,Ko,qo,Jo=o((()=>{Za(),j(),Io(),Wo=class extends A{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: ${Fo(a)}`,e&&`Request body: ${Xa(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}},Go=class extends A{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}},Ko=class extends A{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Fo(n)}`,`Request body: ${Xa(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}},qo=class extends A{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Fo(t)}`,`Request body: ${Xa(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),Yo,Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts=o((()=>{j(),Jo(),Yo=-1,Xo=class extends A{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 Ko?e.code:t??Yo}},Zo=class extends Xo{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},Qo=class e extends Xo{constructor(t){super(t,{code:e.code,name:`ParseRpcError`,shortMessage:`Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.`})}},Object.defineProperty(Qo,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),$o=class e extends Xo{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty($o,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),es=class e extends Xo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),ts=class e extends Xo{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(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),ns=class e extends Xo{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),rs=class e extends Xo{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(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),is=class e extends Xo{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(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),as=class e extends Xo{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),os=class e extends Xo{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),ss=class e extends Xo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),cs=class e extends Xo{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),ls=class e extends Xo{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),us=class e extends Zo{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),ds=class e extends Zo{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(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),fs=class e extends Zo{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),ps=class e extends Zo{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),ms=class e extends Zo{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),hs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),gs=class e extends Zo{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(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),_s=class e extends Zo{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),vs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),ys=class e extends Zo{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),bs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),xs=class e extends Zo{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(xs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Ss=class e extends Zo{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(Ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),Cs=class e extends Zo{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(Cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),ws=class extends Xo{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));pn(),j(),Uo(),Jo(),Ts();function Es(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Ho?e:e instanceof A?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s,p=e instanceof Kt?new Bo({functionName:a,cause:e}):[3,ns.code].includes(c)&&(l||u||d||f)||c===rs.code&&u===`execution reverted`&&l?new zo({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Ko?u:f??d,cause:e}):e;return new Ro(p,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}ki(),ui();function Ds(e){return Ei(`0x${li(`0x${e.substring(4)}`).substring(26)}`)}function Os(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 ks(e,t,n){return e&t^~e&n}function As(e,t,n){return e&t^e&n^t&n}var js,Ms,Ns,Ps,Fs=o((()=>{Ur(),js=class extends Hr{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=jr(this.buffer)}update(e){Dr(this),e=Ir(e),Tr(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=jr(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){Dr(this),Or(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Ar(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;Os(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=jr(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()}},Ms=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ns=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Ps=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),Is,Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys=o((()=>{Fs(),br(),Ur(),Is=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]),Ls=new Uint32Array(64),Rs=class extends js{constructor(e=32){super(64,e,8,!1),this.A=Ms[0]|0,this.B=Ms[1]|0,this.C=Ms[2]|0,this.D=Ms[3]|0,this.E=Ms[4]|0,this.F=Ms[5]|0,this.G=Ms[6]|0,this.H=Ms[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)Ls[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Ls[e-15],n=Ls[e-2],r=Mr(t,7)^Mr(t,18)^t>>>3,i=Mr(n,17)^Mr(n,19)^n>>>10;Ls[e]=i+Ls[e-7]+r+Ls[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=Mr(o,6)^Mr(o,11)^Mr(o,25),u=l+t+ks(o,s,c)+Is[e]+Ls[e]|0,d=(Mr(n,2)^Mr(n,13)^Mr(n,22))+As(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(){Ar(Ls)}destroy(){this.set(0,0,0,0,0,0,0,0),Ar(this.buffer)}},zs=er(`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))),Bs=zs[0],Vs=zs[1],Hs=new Uint32Array(80),Us=new Uint32Array(80),Ws=class extends js{constructor(e=64){super(128,e,16,!1),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}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)Hs[n]=e.getUint32(t),Us[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Hs[e-15]|0,n=Us[e-15]|0,r=or(t,n,1)^or(t,n,8)^ir(t,n,7),i=sr(t,n,1)^sr(t,n,8)^ar(t,n,7),a=Hs[e-2]|0,o=Us[e-2]|0,s=or(a,o,19)^cr(a,o,61)^ir(a,o,6),c=sr(a,o,19)^lr(a,o,61)^ar(a,o,6),l=gr(i,c,Us[e-7],Us[e-16]),u=_r(l,r,s,Hs[e-7],Hs[e-16]);Hs[e]=u|0,Us[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=or(u,d,14)^or(u,d,18)^cr(u,d,41),v=sr(u,d,14)^sr(u,d,18)^lr(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=vr(_,v,b,Vs[e],Us[e]),S=yr(x,g,t,y,Bs[e],Hs[e]),C=x|0,w=or(n,r,28)^cr(n,r,34)^cr(n,r,39),T=sr(n,r,28)^lr(n,r,34)^lr(n,r,39),ee=n&i^n&o^i&o,E=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}=tr(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 te=mr(C,T,E);n=hr(te,S,w,ee),r=te|0}({h:n,l:r}=tr(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=tr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=tr(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=tr(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=tr(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=tr(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=tr(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=tr(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(){Ar(Hs,Us)}destroy(){Ar(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Gs=class extends Ws{constructor(){super(48),this.Ah=Ns[0]|0,this.Al=Ns[1]|0,this.Bh=Ns[2]|0,this.Bl=Ns[3]|0,this.Ch=Ns[4]|0,this.Cl=Ns[5]|0,this.Dh=Ns[6]|0,this.Dl=Ns[7]|0,this.Eh=Ns[8]|0,this.El=Ns[9]|0,this.Fh=Ns[10]|0,this.Fl=Ns[11]|0,this.Gh=Ns[12]|0,this.Gl=Ns[13]|0,this.Hh=Ns[14]|0,this.Hl=Ns[15]|0}},Ks=Rr(()=>new Rs),qs=Rr(()=>new Ws),Js=Rr(()=>new Gs)})),Xs,Zs,Qs=o((()=>{Ur(),Xs=class extends Hr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Er(e);let n=Ir(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),Ar(i)}update(e){return Dr(this),this.iHash.update(e),this}digestInto(e){Dr(this),Tr(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()}},Zs=(e,t,n)=>new Xs(e,t).update(n).digest(),Zs.create=(e,t)=>new Xs(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction $s(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function ec(e){if(!$s(e))throw Error(`Uint8Array expected`)}function tc(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function nc(e){let t=e.toString(16);return t.length&1?`0`+t:t}function rc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?xc:BigInt(`0x`+e)}function ic(e){if(ec(e),Cc)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=wc[e[n]];return t}function ac(e){if(e>=Tc._0&&e<=Tc._9)return e-Tc._0;if(e>=Tc.A&&e<=Tc.F)return e-(Tc.A-10);if(e>=Tc.a&&e<=Tc.f)return e-(Tc.a-10)}function oc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(Cc)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=ac(e.charCodeAt(i)),a=ac(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 sc(e){return rc(ic(e))}function cc(e){return ec(e),rc(ic(Uint8Array.from(e).reverse()))}function lc(e,t){return oc(e.toString(16).padStart(t*2,`0`))}function uc(e,t){return lc(e,t).reverse()}function dc(e,t,n){let r;if(typeof t==`string`)try{r=oc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if($s(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 fc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];ec(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 pc(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 mc(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function hc(e,t,n){return Ec(e)&&Ec(t)&&Ec(n)&&t<=e&&e<n}function gc(e,t,n,r){if(!hc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function _c(e){let t;for(t=0;e>xc;e>>=Sc,t+=1);return t}function vc(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=Oc(e),i=Oc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=Oc(0))=>{i=s(kc([0]),e),r=s(),e.length!==0&&(i=s(kc([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 fc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function yc(e,t,n={}){let r=(t,n,r)=>{let i=Ac[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 bc(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 xc,Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc=o((()=>{xc=BigInt(0),Sc=BigInt(1),Cc=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,wc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Tc={_0:48,_9:57,A:65,F:70,a:97,f:102},Ec=e=>typeof e==`bigint`&&xc<=e,Dc=e=>(Sc<<BigInt(e))-Sc,Oc=e=>new Uint8Array(e),kc=e=>Uint8Array.from(e),Ac={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`||$s(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 Mc(e,t){let n=e%t;return n>=Jc?n:t+n}function Nc(e,t,n){let r=e;for(;t-->Jc;)r*=r,r%=n;return r}function Pc(e,t){if(e===Jc)throw Error(`invert: expected non-zero number`);if(t<=Jc)throw Error(`invert: expected positive modulus, got `+t);let n=Mc(e,t),r=t,i=Jc,a=Yc,o=Yc,s=Jc;for(;n!==Jc;){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!==Yc)throw Error(`invert: does not exist`);return Mc(i,t)}function Fc(e,t){let n=(e.ORDER+Yc)/Qc,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function Ic(e,t){let n=(e.ORDER-$c)/el,r=e.mul(t,Xc),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,Xc),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 Lc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Yc,n=0;for(;t%Xc===Jc;)t/=Xc,n++;let r=Xc,i=Wc(e);for(;Hc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Fc;let a=i.pow(r,t),o=(t+Yc)/Xc;return function(e,r){if(e.is0(r))return r;if(Hc(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=Yc<<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 Rc(e){return e%Qc===Zc?Fc:e%el===$c?Ic:Lc(e)}function zc(e){return yc(e,tl.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Bc(e,t,n){if(n<Jc)throw Error(`invalid exponent, negatives unsupported`);if(n===Jc)return e.ONE;if(n===Yc)return t;let r=e.ONE,i=t;for(;n>Jc;)n&Yc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Yc;return r}function Vc(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 Hc(e,t){let n=(e.ORDER-Yc)/Xc,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 Uc(e,t){t!==void 0&&wr(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Wc(e,t,n=!1,r={}){if(e<=Jc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Uc(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:Dc(i),ZERO:Jc,ONE:Yc,create:t=>Mc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Jc<=t&&t<e},is0:e=>e===Jc,isOdd:e=>(e&Yc)===Yc,neg:t=>Mc(-t,e),eql:(e,t)=>e===t,sqr:t=>Mc(t*t,e),add:(t,n)=>Mc(t+n,e),sub:(t,n)=>Mc(t-n,e),mul:(t,n)=>Mc(t*n,e),pow:(e,t)=>Bc(s,e,t),div:(t,n)=>Mc(t*Pc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Pc(t,e),sqrt:r.sqrt||(t=>(o||=Rc(e),o(s,t))),toBytes:e=>n?uc(e,a):lc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?cc(e):sc(e)},invertBatch:e=>Vc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Gc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Kc(e){let t=Gc(e);return t+Math.ceil(t/2)}function qc(e,t,n=!1){let r=e.length,i=Gc(t),a=Kc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Mc(n?cc(e):sc(e),t-Yc)+Yc;return n?uc(o,i):lc(o,i)}var Jc,Yc,Xc,Zc,Qc,$c,el,tl,nl=o((()=>{Ur(),jc(),Jc=BigInt(0),Yc=BigInt(1),Xc=BigInt(2),Zc=BigInt(3),Qc=BigInt(4),$c=BigInt(5),el=BigInt(8),tl=[`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 rl(e,t){let n=t.negate();return e?n:t}function il(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function al(e,t){il(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Dc(e),maxNumber:i,shiftBy:BigInt(e)}}function ol(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+=ml);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 sl(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 cl(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 ll(e){return gl.get(e)||1}function ul(e,t){return{constTimeNegate:rl,hasPrecomputes(e){return ll(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>pl;)n&ml&&(r=r.add(i)),i=i.double(),n>>=ml;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=al(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=al(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=ol(i,e,s);i=t,c?o=o.add(rl(u,r[d])):a=a.add(rl(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=al(n,t);for(let e=0;e<o.windows&&i!==pl;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=ol(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=hl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&hl.set(t,n(r))),r},wNAFCached(e,t,n){let r=ll(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=ll(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){il(n,t),gl.set(e,n),hl.delete(e)}}}function dl(e,t,n,r){sl(n,e),cl(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=_c(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Dc(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 fl(e){return zc(e.Fp),yc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Uc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var pl,ml,hl,gl,_l=o((()=>{nl(),jc(),pl=BigInt(0),ml=BigInt(1),hl=new WeakMap,gl=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction vl(e){e.lowS!==void 0&&tc(`lowS`,e.lowS),e.prehash!==void 0&&tc(`prehash`,e.prehash)}function yl(e){let t=fl(e);yc(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 bl(e,t){return ic(lc(e,t))}function xl(e){let t=yl(e),{Fp:n}=t,r=Wc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return fc(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,jl),Ml),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 hc(e,kl,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if($s(e)&&(e=ic(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:sc(dc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Mc(o,a)),gc(`private key`,o,kl,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=bc((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=bc(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=Vc(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(dc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return dl(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,jl),{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,jl),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;gc(`scalar`,e,Ol,i);let a=h.ZERO;if(e===Ol)return a;if(this.is0()||e===kl)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>Ol||l>Ol;)s&kl&&(u=u.add(f)),l&kl&&(d=d.add(f)),f=f.double(),s>>=kl,l>>=kl;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;gc(`scalar`,e,kl,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===Ol||t===kl||!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===kl)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===kl?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return tc(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return tc(`isCompressed`,e),ic(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=ul(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function Sl(e){let t=fl(e);return yc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function Cl(e){let t=Sl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Mc(e,r)}function l(e){return Pc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=xl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=fc;return tc(`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=sc(i);if(!hc(e,kl,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&kl)===kl;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>>kl}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>sc(e.slice(t,n));class _{constructor(e,t,n){gc(`r`,e,kl,r),gc(`s`,t,kl,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=dc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Dl.toSig(dc(`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(dc(`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+bl(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 oc(this.toDERHex())}toDERHex(){return Dl.hexFromSig(this)}toCompactRawBytes(){return oc(this.toCompactHex())}toCompactHex(){let e=i;return bl(this.r,e)+bl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Kc(t.n);return qc(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=dc(`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=sc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=Dc(a);function T(e){return gc(`num < 2^`+a,e,Ol,w),lc(e,i)}function ee(e,r,i=E){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=dc(`msgHash`,e),vl(i),f&&(e=dc(`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(dc(`extraEntropy`,e))}let x=fc(...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===Ol)return;let a=c(n*c(w+i*y));if(a===Ol)return;let o=(r.x===i?0:2)|Number(r.y&kl),d=a;return s&&m(a)&&(d=h(a),o^=1),new _(i,d,o)}return{seed:x,k2sig:ee}}let E={lowS:t.lowS,prehash:!1},te={lowS:t.lowS,prehash:!1};function ne(e,n,r=E){let{seed:i,k2sig:a}=ee(e,n,r),o=t;return vc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function re(e,n,r,i=te){let a=e;n=dc(`msgHash`,n),r=dc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(vl(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`||$s(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 Dl.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:ne,verify:re,ProjectivePoint:u,Signature:_,utils:v}}function wl(e,t){let n=e.ORDER,r=Ol;for(let e=n-kl;e%Al===Ol;e/=Al)r+=kl;let i=r,a=Al<<i-kl-kl,o=a*Al,s=(n-kl)/o,c=(s-kl)/Al,l=o-kl,u=a,d=e.pow(t,s),f=e.pow(t,(s+kl)/Al),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>kl;t--){let n=t-Al;n=Al<<n-kl;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%Ml===jl){let n=(e.ORDER-jl)/Ml,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 Tl(e,t){if(zc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=wl(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=Vc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var El,Dl,Ol,kl,Al,jl,Ml,Nl=o((()=>{_l(),nl(),jc(),El=class extends Error{constructor(e=``){super(e)}},Dl={Err:El,_tlv:{encode:(e,t)=>{let{Err:n}=Dl;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=nc(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?nc(i.length/2|128):``;return nc(e)+a+i+t},decode(e,t){let{Err:n}=Dl,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}=Dl;if(e<Ol)throw new t(`integer: negative integers are not allowed`);let n=nc(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}=Dl;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 sc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Dl,i=dc(`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}=Dl,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},Ol=BigInt(0),kl=BigInt(1),Al=BigInt(2),jl=BigInt(3),Ml=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Pl(e){return{hash:e,hmac:(t,...n)=>Zs(e,t,Lr(...n)),randomBytes:zr}}function Fl(e,t){let n=t=>Cl({...e,...Pl(t)});return{...n(t),create:n}}var Il=o((()=>{Qs(),Ur(),Nl()}));function Ll(e,t){if(zl(e),zl(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 Rl(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 zl(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Bl(e,t,n,r){ec(e),ec(t),zl(n),t.length>255&&(t=r(fc(mc(`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=fc(t,Ll(t.length,1)),c=Ll(0,a),l=Ll(n,2),u=Array(o),d=r(fc(c,e,l,Ll(0,1),s));u[0]=r(fc(d,Ll(1,1),s));for(let e=1;e<=o;e++){let t=[Rl(d,u[e-1]),Ll(e+1,1),s];u[e]=r(fc(...t))}return fc(...u).slice(0,n)}function Vl(e,t,n,r,i){if(ec(e),ec(t),zl(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(mc(`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(Ll(n,2)).update(t).update(Ll(t.length,1)).digest()}function Hl(e,t,n){yc(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;ec(e),zl(t);let l=typeof c==`string`?mc(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Bl(e,l,f,o);else if(s===`xof`)p=Vl(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]=Mc(Gl(o),r)}m[e]=t}return m}function Ul(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]=Vc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function Wl(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=Hl(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(Hl(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 Gl,Kl=o((()=>{nl(),jc(),Gl=sc})),ql=c({encodeToCurve:()=>Cu,hashToCurve:()=>Su,schnorr:()=>vu,secp256k1:()=>lu,secp256k1_hasher:()=>xu});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Jl(e){let t=nu,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=Nc(Nc(Nc(u,n,t)*u%t,n,t)*u%t,ou,t)*l%t,f=Nc(d,i,t)*d%t,p=Nc(f,a,t)*f%t,m=Nc(p,s,t)*p%t,h=Nc(Nc(Nc(Nc(Nc(Nc(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,ou,t);if(!cu.eql(cu.sqr(h),e))throw Error(`Cannot find square root`);return h}function Yl(e,...t){let n=uu[e];if(n===void 0){let t=Ks(Uint8Array.from(e,e=>e.charCodeAt(0)));n=fc(t,t),uu[e]=n}return Ks(fc(n,...t))}function Xl(e){let t=lu.utils.normPrivateKeyToScalar(e),n=hu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:mu(-t),bytes:du(n)}}function Zl(e){gc(`x`,e,au,nu);let t=pu(e*e),n=Jl(pu(t*e+BigInt(7)));n%ou!==iu&&(n=pu(-n));let r=new hu(e,n,au);return r.assertValidity(),r}function Ql(...e){return mu(_u(Yl(`BIP0340/challenge`,...e)))}function $l(e){return Xl(e).bytes}function eu(e,t,n=zr(32)){let r=dc(`message`,e),{bytes:i,scalar:a}=Xl(t),o=dc(`auxRand`,n,32),s=Yl(`BIP0340/nonce`,fu(a^_u(Yl(`BIP0340/aux`,o))),i,r),c=mu(_u(s));if(c===iu)throw Error(`sign failed: k is zero`);let{bytes:l,scalar:u}=Xl(c),d=Ql(l,i,r),f=new Uint8Array(64);if(f.set(l,0),f.set(fu(mu(u+d*a)),32),!tu(f,r,i))throw Error(`sign: Invalid signature produced`);return f}function tu(e,t,n){let r=dc(`signature`,e,64),i=dc(`message`,t),a=dc(`publicKey`,n,32);try{let e=Zl(_u(a)),t=_u(r.subarray(0,32));if(!hc(t,au,nu))return!1;let n=_u(r.subarray(32,64));if(!hc(n,au,ru))return!1;let o=Ql(fu(t),du(e),i),s=gu(e,n,mu(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch{return!1}}var nu,ru,iu,au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su,Cu,wu=o((()=>{Ys(),Ur(),Il(),Kl(),nl(),jc(),Nl(),nu=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),ru=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),iu=BigInt(0),au=BigInt(1),ou=BigInt(2),su=(e,t)=>(e+t/ou)/t,cu=Wc(nu,void 0,void 0,{sqrt:Jl}),lu=Fl({a:iu,b:BigInt(7),Fp:cu,n:ru,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=ru,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-au*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=su(a*e,t),c=su(-r*e,t),l=Mc(e-s*n-c*i,t),u=Mc(-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}}}},Ks),uu={},du=e=>e.toRawBytes(!0).slice(1),fu=e=>lc(e,32),pu=e=>Mc(e,nu),mu=e=>Mc(e,ru),hu=lu.ProjectivePoint,gu=(e,t,n)=>hu.BASE.multiplyAndAddUnsafe(e,t,n),_u=sc,vu={getPublicKey:$l,sign:eu,verify:tu,utils:{randomPrivateKey:lu.utils.randomPrivateKey,lift_x:Zl,pointToBytes:du,numberToBytesBE:lc,bytesToNumberBE:sc,taggedHash:Yl,mod:Mc}},yu=Ul(cu,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),bu=Tl(cu,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:cu.create(BigInt(`-11`))}),xu=Wl(lu.ProjectivePoint,e=>{let{x:t,y:n}=bu(cu.create(e[0]));return yu(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:cu.ORDER,m:1,k:128,expand:`xmd`,hash:Ks}),Su=xu.hashToCurve,Cu=xu.encodeToCurve}));It(),Rt(),Ln(),N();async function Tu({hash:e,signature:t}){let n=k(e)?e:Rn(e),{secp256k1:r}=await Promise.resolve().then(()=>(wu(),ql));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=Eu(Number(a??i));return new r.Signature(Pn(e),Pn(n)).addRecoveryBit(o)}let e=k(t)?t:Rn(t);if(Lt(e)!==65)throw Error(`invalid signature length`);let n=Eu(In(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function Eu(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 Du({hash:e,signature:t}){return Ds(await Tu({hash:e,signature:t}))}j(),ka(),Qn(),N();function Ou(e,t=`hex`){let n=ku(e),r=Da(new Uint8Array(n.length));return n.encode(r),t===`hex`?Bn(r.bytes):r.bytes}function ku(e){return Array.isArray(e)?Au(e.map(e=>ku(e))):ju(e)}function Au(e){let t=e.reduce((e,t)=>e+t.length,0),n=Mu(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 ju(e){let t=typeof e==`string`?qn(e):e,n=Mu(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 Mu(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 A(`Length is too large.`)}Li(),Qn(),N(),ui();function Nu(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=li(Ii([`0x05`,Ou([t?M(t):`0x`,i,n?M(n):`0x`])]));return r===`bytes`?qn(a):a}async function Pu(e){let{authorization:t,signature:n}=e;return Du({hash:Nu(t),signature:n??t})}uo(),po(),j(),jo();var Fu=class extends A{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=yo({from:t?.address,to:u,value:d!==void 0&&`${lo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${fo(o)} gwei`,maxFeePerGas:s!==void 0&&`${fo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${fo(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}},Iu,Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju=o((()=>{po(),j(),Iu=class extends A{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(Iu,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Iu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Lu=class extends A{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${fo(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(Lu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),Ru=class extends A{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${fo(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(Ru,\"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/}),zu=class extends A{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(zu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Bu=class extends A{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(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Vu=class extends A{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(Vu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Hu=class extends A{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(Hu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Uu=class extends A{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(Uu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),Wu=class extends A{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(Wu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Gu=class extends A{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Gu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),Ku=class extends A{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${fo(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${fo(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(Ku,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),qu=class extends A{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function Yu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof A?e.walk(e=>e?.code===Iu.code):e;return r instanceof A?new Iu({cause:e,message:r.details}):Iu.nodeMessage.test(n)?new Iu({cause:e,message:e.details}):Lu.nodeMessage.test(n)?new Lu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Ru.nodeMessage.test(n)?new Ru({cause:e,maxFeePerGas:t?.maxFeePerGas}):zu.nodeMessage.test(n)?new zu({cause:e,nonce:t?.nonce}):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}):Uu.nodeMessage.test(n)?new Uu({cause:e,gas:t?.gas}):Wu.nodeMessage.test(n)?new Wu({cause:e,gas:t?.gas}):Gu.nodeMessage.test(n)?new Gu({cause:e}):Ku.nodeMessage.test(n)?new Ku({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new qu({cause:e})}var Xu=o((()=>{j(),Ju()}));Ju(),Xu();function Zu(e,{docsPath:t,...n}){return new Fu((()=>{let t=Yu(e,n);return t instanceof qu?e:t})(),{docsPath:t,...n})}function Qu(e,{format:t}){if(!t)return{};let n={};function r(t){let i=Object.keys(t);for(let a of i)a in e&&(n[a]=e[a]),t[a]&&typeof t[a]==`object`&&!Array.isArray(t[a])&&r(t[a])}return r(t(e||{})),n}var $u=o((()=>{}));function ed(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 td=o((()=>{}));function nd(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=rd(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=>Bn(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=M(e.gas)),e.gasPrice!==void 0&&(n.gasPrice=M(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(n.maxFeePerBlobGas=M(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(n.maxFeePerGas=M(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(n.maxPriorityFeePerGas=M(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(n.nonce=M(e.nonce)),e.to!==void 0&&(n.to=e.to),e.type!==void 0&&(n.type=id[e.type]),e.value!==void 0&&(n.value=M(e.value)),n}function rd(e){return e.map(e=>({address:e.address,r:e.r?M(BigInt(e.r)):e.r,s:e.s?M(BigInt(e.s)):e.s,chainId:M(e.chainId),nonce:M(e.nonce),...e.yParity===void 0?{}:{yParity:M(e.yParity)},...e.v!==void 0&&e.yParity===void 0?{v:M(e.v)}:{}}))}var id,ad,od=o((()=>{N(),td(),id={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},ad=ed(`transactionRequest`,nd)}));function sd(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new gn({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new gn({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function cd(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=M(t)),n!==void 0&&(o.nonce=M(n)),r!==void 0&&(o.state=sd(r)),i!==void 0){if(o.state)throw new _o;o.stateDiff=sd(i)}return o}function ld(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Ai(n,{strict:!1}))throw new Si({address:n});if(t[n])throw new go({address:n});t[n]=cd(r)}return t}var ud=o((()=>{Ci(),_n(),vo(),Ni(),N()})),dd,fd=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)),dd=2n**256n-1n}));function pd(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?P(t):void 0;if(a&&!Ai(a.address))throw new Si({address:a.address});if(i&&!Ai(i))throw new Si({address:i});if(n&&n>dd)throw new Lu({maxFeePerGas:n});if(r&&n&&r>n)throw new Ku({maxFeePerGas:n,maxPriorityFeePerGas:r})}var md=o((()=>{pa(),fd(),Ci(),Ju(),Ni()}));po(),j();var hd=class extends A{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},gd=class extends A{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},_d=class extends A{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${fo(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};j();var vd=class extends A{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`})}};Ln(),td();let yd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function bd(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?In(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?In(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?yd[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=Sd(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 xd=ed(`transaction`,bd);function Sd(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 Cd(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:bd(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}}N();async function wd(e,{blockHash:t,blockNumber:n,blockTag:r=e.experimental_blockTag??`latest`,includeTransactions:i}={}){let a=i??!1,o=n===void 0?void 0:M(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 vd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||Cd)(s,`getBlock`)}async function Td(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}Ln();async function Ed(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 O(e,wd,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?Pn(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):O(e,wd,`getBlock`)({}),O(e,Td,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new gd;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Dd(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 hd;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.round(o*s))/BigInt(s),l=n||await O(e,wd,`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 gd;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await Ed(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 O(e,Td,`getGasPrice`)({}))}}function Od(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new A(\"`requireCanonical` can only be provided when `blockHash` is set.\");return t?i?{blockHash:t,requireCanonical:i}:{blockHash:t}:typeof n==`bigint`?M(n):r??`latest`}var kd=o((()=>{j(),N()}));kd(),Ln();async function Ad(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Od({blockHash:n,blockNumber:r,blockTag:i,requireCanonical:a});return In(await e.request({method:`eth_getTransactionCount`,params:[t,o]},{dedupe:typeof r==`bigint`||n!==void 0}))}Qn(),N();function jd(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>qn(e)):e.blobs,i=[];for(let e of r)i.push(Uint8Array.from(t.blobToKzgCommitment(e)));return n===`bytes`?i:i.map(e=>Bn(e))}Qn(),N();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=>qn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>qn(e)):e.commitments,a=[];for(let e=0;e<r.length;e++){let n=r[e],o=i[e];a.push(Uint8Array.from(t.computeBlobKzgProof(n,o)))}return n===`bytes`?a:a.map(e=>Bn(e))}Ys();let Nd=Ks;It(),Qn(),N();function Pd(e,t){let n=t||`hex`,r=Nd(k(e,{strict:!1})?Wn(e):e);return n===`bytes`?r:Rn(r)}N();function Fd(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Pd(t,`bytes`);return i.set([n],0),r===`bytes`?i:Bn(i)}function Id(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Fd({commitment:e,to:r,version:n}));return i}j();var Ld=class extends A{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Rd=class extends A{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},zd=class extends A{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Bd=class extends A{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};ka(),Rt(),Qn(),N();function Vd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?qn(e.data):e.data,r=Lt(n);if(!r)throw new Rd;if(r>761855)throw new Ld({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=Da(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=>Bn(e.bytes))}function Hd(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Vd({data:t,to:r}),a=e.commitments??jd({blobs:i,kzg:n,to:r}),o=e.proofs??Md({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}jo();function Ud(e){if(e.type)return e.type;if(e.authorizationList!==void 0)return`eip7702`;if(e.blobs!==void 0||e.blobVersionedHashes!==void 0||e.maxFeePerBlobGas!==void 0||e.sidecars!==void 0)return`eip4844`;if(e.maxFeePerGas!==void 0||e.maxPriorityFeePerGas!==void 0)return`eip1559`;if(e.gasPrice!==void 0)return e.accessList===void 0?`legacy`:`eip2930`;throw new So({transaction:e})}Ju(),jo(),Xu();function Wd(e,{docsPath:t,...n}){let r=(()=>{let t=Yu(e,n);return t instanceof qu?e:t})();return new Eo(r,{docsPath:t,...n})}Ln();async function Gd(e){return In(await e.request({method:`eth_chainId`},{dedupe:!0}))}pa(),$u(),od(),md();async function Kd(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=P(n),r=a?a.id:await O(e,Gd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();pd(t);let x=a?.formatters?.transactionRequest?.format,S=(x||nd)({...Qu(y,{format:x}),account:n?P(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||bd)(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 O(e,wd,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(i<1)throw new hd;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 Wd(n,{...t,chain:e.chain})}}pa(),Ti(),md();let qd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Jd=new Map,Yd=new wi(128);async function Xd(e,t){let n=t;n.account??=e.account,n.parameters??=qd;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 O(e,Gd,`getChainId`)({}),c):n.chainId)}let u=r&&P(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?P(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)||!(Yd.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 O(e,Kd,`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 Yd.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`)})&&Yd.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 O(e,wd,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await O(e,Ad,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=jd({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=Id({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Hd({blobs:p,commitments:e,proofs:Md({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=Ud(n)}catch{let t=Jd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Jd.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 Dd(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new _d({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new gd;if(n.gasPrice===void 0){let{gasPrice:t}=await Dd(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}}return o.includes(`gas`)&&m===void 0&&(n.gas=await O(e,Zd,`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`})),pd(n),delete n.parameters,n}pa(),j(),N(),$u(),od(),ud(),md();async function Zd(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?P(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 Pu({authorization:t.authorizationList[0]}).catch(()=>{throw new A(\"`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 Xd(e,{...t,parameters:a,to:n}):t;if(p&&t.gas!==p)return p;let S=(typeof u==`bigint`?M(u):void 0)||d,C=ld(b);pd(t);let w=e.chain?.formatters?.transactionRequest?.format,T=(w||nd)({...Qu(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 Zu(n,{...t,account:i,chain:e.chain})}}pa(),va();async function Qd(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=_a({abi:n,args:i,functionName:a});try{return await O(e,Zd,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw Es(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?P(s.account):void 0)?.address})}}function $d(e,t){if(!Ai(e,{strict:!1}))throw new Si({address:e});if(!Ai(t,{strict:!1}))throw new Si({address:t});return e.toLowerCase()===t.toLowerCase()}var ef=o((()=>{Ci(),Ni()}));function tf(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}:{}}}pn(),Ea(),Rt(),xi(),qa(),Ft();let nf=`/docs/contract/decodeEventLog`;function rf(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new $t({docsPath:nf});let c=t.find(e=>e.type===`event`&&o===bi(Mt(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new en(o,{docsPath:nf});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 cn({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=af({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=Fa(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 Gt||e instanceof wa?new sn({abiItem:c,data:n,params:g,size:Lt(n)}):e}else if(a)throw new sn({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function af({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(Fa([e],t)||[])[0]}ef(),Qn(),ui(),xi();function of(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:bi(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?tf(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=rf({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=rf({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)||!sf({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function sf(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`?$d(t,n):e.type===`string`||e.type===`bytes`?li(Wn(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 cf(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=la({abi:t,args:n,name:r});if(!e)throw new tn(r,{docsPath:lf});a=e}if(a.type!==`function`)throw new tn(void 0,{docsPath:lf});if(!a.outputs)throw new nn(a.name,{docsPath:lf});let o=Fa(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var lf,uf=o((()=>{pn(),qa(),fa(),lf=`/docs/contract/decodeFunctionResult`})),df,ff=o((()=>{df=`0.1.1`}));function pf(){return df}var mf=o((()=>{ff()}));function hf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?hf(e.cause,t):t?null:e}var F,gf=o((()=>{mf(),F=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 hf(this,e)}},Object.defineProperty(F,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${pf()}`}}),F.setStaticOptions(F.defaultStaticOptions)}));function _f(e,t){if(Gf(e)>t)throw new ip({givenSize:Gf(e),maxSize:t})}function vf(e,t){if(typeof t==`number`&&t>0&&t>Gf(e)-1)throw new ap({offset:t,position:`start`,size:Gf(e)})}function yf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Gf(e)!==n-t)throw new ap({offset:n,position:`end`,size:Gf(e)})}function bf(e){if(e>=Cf.zero&&e<=Cf.nine)return e-Cf.zero;if(e>=Cf.A&&e<=Cf.F)return e-(Cf.A-10);if(e>=Cf.a&&e<=Cf.f)return e-(Cf.a-10)}function xf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new op({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 Sf(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 Cf,wf=o((()=>{sp(),Cf={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function Tf(e,t){if(gp(e)>t)throw new kp({givenSize:gp(e),maxSize:t})}function Ef(e,t){if(typeof t==`number`&&t>0&&t>gp(e)-1)throw new Ap({offset:t,position:`start`,size:gp(e)})}function Df(e,t,n){if(typeof t==`number`&&typeof n==`number`&&gp(e)!==n-t)throw new Ap({offset:n,position:`end`,size:gp(e)})}function Of(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 kf(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 Af=o((()=>{z()}));function jf(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=>jf(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)}:${jf(r)}`),t},[]).join(`,`)}}`}function Mf(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Pf)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function Nf(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Pf:n,n)}var Pf,Ff=o((()=>{Pf=`#__bigint`}));function If(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 rp(e)}function Lf(...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 Rf(e){return e instanceof Uint8Array?e:typeof e==`string`?Bf(e):zf(e)}function zf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Bf(e,t={}){let{size:n}=t,r=e;n&&(Tf(e,n),r=mp(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=bf(i.charCodeAt(t++)),r=bf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new F(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function Vf(e,t={}){let{size:n}=t,r=tp.encode(e);return typeof n==`number`?(_f(r,n),Uf(r,n)):r}function Hf(e,t){return pc(e,t)}function Uf(e,t){return xf(e,{dir:`right`,size:t})}function Wf(e){return crypto.getRandomValues(new Uint8Array(e))}function Gf(e){return e.length}function Kf(e,t,n,r={}){let{strict:i}=r;vf(e,t);let a=e.slice(t,n);return i&&yf(a,t,n),a}function qf(e,t={}){let{size:n}=t;return n!==void 0&&_f(e,n),vp(dp(e,t),t)}function Jf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(_f(r,n),r=Zf(r)),r.length>1||r[0]>1)throw new np(r);return!!r[0]}function Yf(e,t={}){let{size:n}=t;return n!==void 0&&_f(e,n),bp(dp(e,t),t)}function Xf(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(_f(r,n),r=Qf(r)),ep.decode(r)}function Zf(e){return Sf(e,{dir:`left`})}function Qf(e){return Sf(e,{dir:`right`})}function $f(e){try{return If(e),!0}catch{return!1}}var ep,tp,np,rp,ip,ap,op,sp=o((()=>{jc(),gf(),z(),wf(),Af(),Ff(),ep=new TextDecoder,tp=new TextEncoder,np=class extends F{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`})}},rp=class extends F{constructor(e){super(`Value \\`${typeof e==`object`?Nf(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`})}},ip=class extends F{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`})}},ap=class extends F{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`})}},op=class extends F{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 cp(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 I(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function lp(e){return e instanceof Uint8Array?dp(e):Array.isArray(e)?dp(new Uint8Array(e)):e}function up(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Tf(n,t.size),pp(n,t.size)):n}function dp(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`?(Tf(r,t.size),mp(r,t.size)):r}function L(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new 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?pp(s,r):s}function fp(e,t={}){return dp(Cp.encode(e),t)}function pp(e,t){return Of(e,{dir:`left`,size:t})}function mp(e,t){return Of(e,{dir:`right`,size:t})}function hp(e){return dp(Wf(e))}function R(e,t,n,r={}){let{strict:i}=r;Ef(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&Df(a,t,n),a}function gp(e){return Math.ceil((e.length-2)/2)}function _p(e){return kf(e,{dir:`left`})}function vp(e,t={}){let{signed:n}=t;t.size&&Tf(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 Bf(e,t)}function bp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:vp(e,t))}function xp(e,t={}){let{size:n}=t,r=Bf(e);return n&&(_f(r,n),r=Qf(r)),new TextDecoder().decode(r)}function Sp(e,t={}){let{strict:n=!1}=t;try{return cp(e,{strict:n}),!0}catch{return!1}}var Cp,wp,Tp,Ep,Dp,Op,kp,Ap,jp,z=o((()=>{sp(),gf(),wf(),Af(),Ff(),Cp=new TextEncoder,wp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Tp=class extends F{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 F{constructor(e){super(`Value \\`${typeof e==`object`?Nf(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 F{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 F{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 F{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 F{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 F{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:L(e.amount),index:L(e.index),validatorIndex:L(e.validatorIndex)}}var Np=o((()=>{z()}));function Pp(e){return{...typeof e.baseFeePerGas==`bigint`&&{baseFeePerGas:L(e.baseFeePerGas)},...typeof e.blobBaseFee==`bigint`&&{blobBaseFee:L(e.blobBaseFee)},...typeof e.feeRecipient==`string`&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit==`bigint`&&{gasLimit:L(e.gasLimit)},...typeof e.number==`bigint`&&{number:L(e.number)},...typeof e.prevRandao==`bigint`&&{prevRandao:L(e.prevRandao)},...typeof e.time==`bigint`&&{time:L(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(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((()=>{j(),Yp=class extends A{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 A{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 A{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 A{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},$p=class extends A{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 Ut({docsPath:nm});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new Wt({docsPath:nm});return Ii([r,qi(i.inputs,n)])}var nm,rm=o((()=>{pn(),Li(),oa(),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=Yu(e,n);return t instanceof qu?e:t})();return new Lo(r,{docsPath:t,...n})}var sm=o((()=>{Uo(),Ju(),Xu()}));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((()=>{Za(),j(),Io(),pm=class extends A{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=>` ${Fo(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},mm=class extends A{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Fo(t)}`,`Response: ${Xa(e)}`],name:`OffchainLookupResponseMalformedError`})}},hm=class extends A{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=Ri(n,0,4),i=t.find(e=>e.type===`function`&&r===sa(Mt(e)));if(!i)throw new rn(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?Fa(i.inputs,Ri(n,4)):void 0}}var vm=o((()=>{pn(),Ui(),ca(),qa(),Ft()}));function ym(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=la({abi:t,args:r,name:n});if(!e)throw new Zt(n,{docsPath:bm});i=e}if(i.type!==`error`)throw new Zt(void 0,{docsPath:bm});let a=Mt(i),o=sa(a),s=`0x`;if(r&&r.length>0){if(!i.inputs)throw new Xt(i.name,{docsPath:bm});s=qi(i.inputs,r)}return Ii([o,s])}var bm,xm=o((()=>{pn(),Li(),ca(),oa(),Ft(),fa(),bm=`/docs/contract/encodeErrorResult`}));function Sm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=la({abi:t,name:n});if(!e)throw new tn(n,{docsPath:Cm});i=e}if(i.type!==`function`)throw new tn(void 0,{docsPath:Cm});if(!i.outputs)throw new nn(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 dn(r)})();return qi(i.outputs,a)}var Cm,wm=o((()=>{pn(),oa(),fa(),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:[ba],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var Dm=o((()=>{Hp(),Sa(),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}=Ja({data:r,abi:[Mm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:Am;try{if(!$d(a,s))throw new hm({sender:s,to:a});let{data:r}=await Pm(e,{blockNumber:t,blockTag:n,data:Pi([u,qi([{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?Mo(i.signal):No(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 Mo(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 Wo({body:c,details:a?.error?Xa(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!k(a)){i=new mm({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw Mo(t.signal);if(No(e))throw e;i=new Wo({body:c,details:e.message,url:o})}}throw i}var jm,Mm,Nm=o((()=>{Gm(),gm(),Jo(),Io(),Ya(),oa(),ef(),Li(),It(),Dm(),Za(),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,E=n?P(n):void 0;if(f&&(m||h))throw new A(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&C)throw new A(\"Cannot provide both `code` & `to` as parameters.\");let te=f&&p,ne=m&&h&&C&&p,re=te||ne,ie=te?Bm({code:f,data:p}):ne?Vm({data:p,factory:m,factoryData:h,to:C}):p;try{pd(t);let n=Od({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Pp(d):void 0,p=ld(T),m=e.chain?.formatters?.transactionRequest?.format,h=(m||nd)({...Qu(ee,{format:m}),accessList:l,account:E,authorizationList:r,blobs:u,data:ie,gas:g,gasPrice:_,maxFeePerBlobGas:v,maxFeePerGas:y,maxPriorityFeePerGas:b,nonce:x,to:re?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 te=(()=>{let e=[h,n];return p&&f?[...e,p,f]:p?[...e,p]:f?[...e,{},f]:e})(),ne=await e.request({method:`eth_call`,params:te},S);return ne===`0x`?{data:void 0}:{data:ne}}catch(n){if(S?.signal?.aborted)throw Mo(S.signal);if(No(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 re&&r?.slice(0,10)===`0x101bb98d`?new Vo({factory:m}):om(n,{...t,account:E,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=Od({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=_a({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 cf({abi:Ip,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Ho({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=>$d(e,t)):!1}function Bm(e){let{code:t,data:n}=e;return tm({abi:kt([`constructor(bytes, bytes)`]),bytecode:Wp,args:[t,n]})}function Vm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return tm({abi:kt([`constructor(address, bytes, address, bytes)`]),bytecode:Gp,args:[i,t,n,r]})}function Hm(e){if(!(e instanceof A))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Um,Wm,Gm=o((()=>{jt(),Fp(),pa(),Hp(),Up(),Jp(),j(),em(),Uo(),Io(),uf(),rm(),va(),ef(),kd(),am(),sm(),$u(),od(),fm(),ud(),md(),Um=0,Wm=new WeakMap}));uf(),va(),Gm();async function Km(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=_a({abi:n,args:i,functionName:a});try{let{data:t}=await O(e,Pm,`call`)({...o,data:s,to:r});return cf({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw Es(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}pa(),uf(),va(),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?P(s.account):e.account,l=_a({abi:n,args:i,functionName:a});try{let{data:u}=await O(e,Pm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:cf({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 Es(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}Io();async function Qm(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Mo(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(Mo(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)}j();var oh=class extends A{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 A{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})}pa(),j(),Li(),$u(),od(),Ti(),md();let uh=new wi(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?P(n):null,b;try{pd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Pu({authorization:o[0]}).catch(()=>{throw new A(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await O(e,Gd,`getChainId`)({}),r&&ch({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||nd)({...Qu(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Pi([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 O(e,Xd,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Pi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:t,parameters:[...qd,`sidecars`],type:g,value:_,...v,to:n}),x=i?.serializers?.transaction,S=await y.signTransaction(r,{serializer:x});return await O(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),Wd(e,{...t,account:y,chain:t.chain||void 0}))}}pa(),va();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?P(a):null,d=_a({abi:i,args:s,functionName:c});try{return await O(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw Es(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(fh||={}),j();var ph=class extends A{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}};Io();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(Mo(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(Mo(i));return}if(No(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s().catch(o)})}Ln(),td();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=>tf(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?In(e.transactionIndex):null,status:e.status?hh[e.status]:null,type:e.type?yd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let _h=ed(`transactionReceipt`,gh);pa(),j(),Ts(),va(),Li(),Ln(),N();let vh=M(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?P(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?_a({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Pi([n,t.dataSuffix]):n,to:t.to,value:t.value?M(t.value):void 0}});try{let t=await e.request({method:`wallet_sendCalls`,params:[{atomicRequired:o,calls:d,capabilities:u,chainId:M(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 gs(new A(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new Ss(new A(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?Pn(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:Pi([...t.map(e=>e.status===`fulfilled`?e.value:vh),M(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw Wd(n,{...t,account:l,chain:t.chain})}}Ui(),Mn(),Ln();async function bh(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=jn(Hi(t,-64,-32)),r=Hi(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:In(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?In(i):void 0,receipts:a?.map(e=>({...e,blockNumber:Pn(e.blockNumber),gasUsed:Pn(e.gasUsed),status:hh[e.status]}))??[],statusCode:l,status:c,version:o}}j(),lm(),Za();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=Xa([`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 O(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 A{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)}pa();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?P(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}kd();async function kh(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=Od({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}fd(),Ci(),j(),em(),Ju(),Ni(),Rt(),Ui(),Ln();function Ah(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Ai(n))throw new Si({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 Rd;for(let e of t){let t=Lt(e),n=In(Ri(e,0,1));if(t!==32)throw new zd({hash:e,size:t});if(n!==1)throw new Bd({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&&!Ai(i))throw new Si({address:i});if(r&&r>dd)throw new Lu({maxFeePerGas:r});if(n&&r&&n>r)throw new Ku({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&&!Ai(a))throw new Si({address:a});if(n||i)throw new A(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>dd)throw new Lu({maxFeePerGas:r})}function Ph(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Ai(a))throw new Si({address:a});if(t!==void 0&&t<=0)throw new $p({chainId:t});if(n||i)throw new A(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>dd)throw new Lu({maxFeePerGas:r})}Ci(),jo(),Ni();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 To({storageKey:i[e]});if(!Ai(r,{strict:!1}))throw new Si({address:r});t.push([r,i])}return t}jo(),Li(),Mn(),N();function Ih(e,t){let n=Ud(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 Ii([`0x04`,Ou([M(r),a?M(a):`0x`,l?M(l):`0x`,c?M(c):`0x`,i?M(i):`0x`,o??`0x`,s?M(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=>Bn(e)),n=e.kzg,r=jd({blobs:t,kzg:n});f===void 0&&(f=Id({commitments:r})),p===void 0&&(p=Hd({blobs:t,commitments:r,proofs:Md({blobs:t,commitments:r,kzg:n})}))}let m=Fh(u),h=[M(n),i?M(i):`0x`,l?M(l):`0x`,c?M(c):`0x`,r?M(r):`0x`,a??`0x`,o?M(o):`0x`,d??`0x`,m,s?M(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 Ii([`0x03`,Ou(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 Ii([`0x02`,Ou([M(n),i?M(i):`0x`,c?M(c):`0x`,s?M(s):`0x`,r?M(r):`0x`,a??`0x`,o?M(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 Ii([`0x01`,Ou([M(n),a?M(a):`0x`,l?M(l):`0x`,r?M(r):`0x`,o??`0x`,s?M(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?M(a):`0x`,c?M(c):`0x`,r?M(r):`0x`,o??`0x`,s?M(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 bo({v:t.v});return e})(),r=jn(t.r),i=jn(t.s);l=[...l,M(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,M(n),`0x`,`0x`]);return Ou(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=jn(n.r),o=jn(n.s);return[typeof i==`number`?i?M(1):`0x`:r===0n?`0x`:r===1n?M(1):r===27n?`0x`:M(1),a===`0x00`?`0x`:a,o===`0x00`?`0x`:o]}N();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?Rn(e):`0x`,a,r?Rn(r):`0x`,...Hh({},i)])}return t}ki(),ef();async function Wh({address:e,authorization:t,signature:n}){return $d(Di(e),await Pu({authorization:t,signature:n}))}Ti();let Gh=new wi(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}j(),Jo(),Ts(),Io(),Za();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 ss(Error(`method not supported`),{method:u});if(c?.aborted)throw Mo(c);return Kh(()=>mh(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Mo(c);if(No(e))throw e;let t=e;switch(t.code){case Qo.code:throw new Qo(t);case $o.code:throw new $o(t);case es.code:throw new es(t,{method:n.method});case ts.code:throw new ts(t);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,{method:n.method});case cs.code:throw new cs(t);case ls.code:throw new ls(t);case us.code:throw new us(t);case ds.code:throw new ds(t);case fs.code:throw new fs(t);case ps.code:throw new ps(t);case ms.code:throw new ms(t);case hs.code:throw new hs(t);case gs.code:throw new gs(t);case _s.code:throw new _s(t);case vs.code:throw new vs(t);case 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 5e3:throw new us(t);case Cs.code:throw new Cs(t);default:throw e instanceof A?e:new ws(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof Wo){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}.${Xa(n)}`):void 0})}}function Jh(e){return No(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===cs.code||e.code===ns.code||e.code===429:e instanceof Wo&&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{}}j(),An(),ka(),Qn(),N();let Qh=1024;function $h(e,t=`hex`){let n=Da((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new Tn(e);return qn(e)}return e})(),{recursiveReadLimit:1/0}),r=eg(n,t);if(n.position<n.bytes.length)throw new On({count:n.bytes.length-n.position});return r}function eg(e,t=`hex`,n=0){if(n>=Qh)throw new En({limit:Qh});if(e.bytes.length===0)return t===`hex`?Bn(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`?Bn(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 A(`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 Dn({consumed:e.position-i,declared:t});return a}It(),Rt();function rg(e){return k(e)&&Lt(e)===32}Io();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&&No(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();Jo(),Io(),Za();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:Xa(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 qo({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 Wo({body:i,details:Xa(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?Mo(p):No(e)||e instanceof Wo||e instanceof Go||e instanceof qo?e:new Wo({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 Go({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new Go({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 Go({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}}}Li(),Rt(),N();function ug(e){let t=typeof e==`string`?Vn(e):typeof e.raw==`string`?e.raw:Bn(e.raw);return Pi([Vn(`\u0019Ethereum Signed Message:\n${Lt(t)}`),t])}ui();function dg(e,t){return li(ug(e),t)}Za(),j();var fg=class extends A{constructor({domain:e}){super(`Invalid domain \"${Xa(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},pg=class extends A{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 A{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}},hg=class extends A{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`})}};pn(),Ci(),Ni(),Rt(),N(),Ki(),Za();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 Xa({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(Gi);if(c&&(typeof o==`number`||typeof o==`bigint`)){let[e,t,n]=c;M(o,{signed:t===`int`,size:Number.parseInt(n,10)/8})}if(r===`address`&&typeof o==`string`&&!Ai(o))throw new Si({address:o});let l=r.match(Wi);if(l){let[e,t]=l;if(t&&Lt(o)!==Number.parseInt(t,10))throw new on({expectedSize:Number.parseInt(t,10),givenSize:Lt(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})}oa(),Li(),N(),ui();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})),li(Pi(a))}function xg({domain:e,types:t}){return Sg({data:e,primaryType:`EIP712Domain`,types:t})}function Sg({data:e,primaryType:t,types:n}){return li(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 qi(r,i)}function wg({primaryType:e,types:t}){return li(Rn(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`},li(Cg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},li(r)];if(n===`string`)return[{type:`bytes32`},li(Rn(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`},li(qi(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var Og=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@1.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;Qs(),ci(),sp(),z();function g_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=si(Rf(e));return n===`Bytes`?r:dp(r)}function __(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=Zs(Nd,Rf(e),Rf(t));return r===`Bytes`?i:dp(i)}function v_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Nd(Rf(e));return n===`Bytes`?r:dp(r)}function y_(e){return Sp(e)&&gp(e)===32}sp(),gf(),z(),Ff();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($f(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_(dp(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(R(e,0,32)),y:BigInt(R(e,32,64))}:e.length===132?{prefix:Number(R(e,0,1)),x:BigInt(R(e,1,33)),y:BigInt(R(e,33,65))}:{prefix:Number(R(e,0,1)),x:BigInt(R(e,1,33))}}function w_(e,t={}){return Bf(T_(e,t))}function T_(e,t={}){b_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return I(a?L(n,{size:1}):`0x`,L(r,{size:32}),typeof i==`bigint`?L(i,{size:32}):`0x`)}var E_=class extends F{constructor({publicKey:e}){super(`Value \\`${Nf(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 F{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 F{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 F{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 F{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 ${gp(lp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};sp(),gf();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_(Vf(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 F{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 F{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 F{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;sp(),gf(),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)(dp(Kf(e.readBytes(32),-20))),32]}function q_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(i===null){let n=a+Yf(e.readBytes(32)),i=n+32;e.setPosition(n);let o=Yf(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+Yf(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[Jf(e.readBytes(32),{size:32}),32]}function Y_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Yf(e.readBytes(32));e.setPosition(n+t);let r=Yf(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[dp(i),32]}return[dp(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?qf(i,{signed:n}):Yf(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+Yf(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+Yf(e.readBytes(32));e.setPosition(n);let r=Yf(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Xf(Zf(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:gp(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(L(t+i,{size:32})),r.push(s),i+=gp(s)):n.push(s)}return I(...n,...r)}function nv(e,t){let{checksum:n=!1}=t;return M_(e,{strict:n}),{dynamic:!1,encoded:pp(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=L(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?I(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:I(...s.map(({encoded:e})=>e))}}function iv(e,{type:t}){let[,n]=t.split(`bytes`),r=gp(e);if(!n){let t=e;return r%32!=0&&(t=mp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:I(pp(L(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new Cv({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:mp(e)}}function av(e){if(typeof e!=`boolean`)throw new F(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:pp(up(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:L(e,{size:32,signed:t})}}function sv(e){let t=fp(e),n=Math.ceil(gp(t)/32),r=[];for(let e=0;e<n;e++)r.push(mp(R(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:I(mp(L(gp(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):I(...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]}))}gf();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 F{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 F{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 F{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`})}};sp(),gf(),z();function gv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Bf(t):t,o=fv(a);if(Gf(a)===0&&e.length>0)throw new xv;if(Gf(a)&&Gf(a)<32)throw new bv({data:typeof t==`string`?t:dp(t),parameters:e,size:Gf(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 I(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return M_(e),pp(e.toLowerCase(),r?32:0)}if(e===`string`)return fp(n);if(e===`bytes`)return n;if(e===`bool`)return pp(up(n),r?32:1);let i=e.match(U_);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return L(n,{size:r?32:o,signed:t===`int`})}let a=e.match(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 mp(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`:I(...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 F{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 F{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 F{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 F{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${gp(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},wv=class extends F{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 F{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 F{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};sp(),gf(),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 Bf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function kv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?dp(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`?dp(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 F(`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`?dp(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`?Bf(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 F(`Length is too large.`)}gf(),z(),Ff();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(dp(e))}function Bv(e){if(e.length!==130&&e.length!==132)throw new Zv({signature:e});let t=BigInt(R(e,0,32)),n=BigInt(R(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return 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 I(L(t,{size:32}),L(n,{size:32}),typeof e.yParity==`number`?L(Xv(e.yParity),{size:1}):`0x`)}function qv(e){let{r:t,s:n,yParity:r}=e;return{r:L(t,{size:32}),s:L(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function Jv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:_p(L(t)),n===0n?`0x`:_p(L(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 F{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${gp(lp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},Qv=class extends F{constructor({signature:e}){super(`Signature \\`${Nf(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 F{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 F{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 F{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 F{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:L(n),nonce:L(r),...qv(i)}}function sy(e){return e.map(oy)}wu(),sp(),z();function cy(e){let{privateKey:t}=e;return x_(lu.ProjectivePoint.fromPrivateKey(lp(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 lu.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(lp(t).substring(2)))}function dy(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=lu.sign(Rf(r),Rf(i),{extraEntropy:typeof t==`boolean`?t:lp(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})):lu.verify(e.signature,Rf(n),w_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}gf(),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(R(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new _y(e)}else Rv(e.authorization)}function hy(e){my(e);let t=bp(R(e,-64,-32)),n=R(e,-t-64,-64),r=R(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 F{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`})}};jo(),Ui(),Ln();function vy(e){let t=Hi(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`&&In(t)>=192)return`legacy`;throw new Co({serializedType:t})}Ci(),jo(),Ni(),It(),xn(),Mn(),Ln();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 wo({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,authorizationList:d,...t.length>9?{v:f,r:p,s:m}:{}},serializedTransaction:e,type:`eip7702`});let h={chainId:In(n),type:`eip7702`};return k(s)&&s!==`0x`&&(h.to=s),k(o)&&o!==`0x`&&(h.gas=Pn(o)),k(l)&&l!==`0x`&&(h.data=l),k(r)&&(h.nonce=r===`0x`?0:In(r)),k(c)&&c!==`0x`&&(h.value=Pn(c)),k(a)&&a!==`0x`&&(h.maxFeePerGas=Pn(a)),k(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=Pn(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 wo({attributes:{chainId:a,nonce:o,maxPriorityFeePerGas:s,maxFeePerGas:c,gas:l,to:u,value:d,data:f,accessList:p,...r.length>9?{v:g,r:_,s:v}:{}},serializedTransaction:e,type:`eip4844`});let S={blobVersionedHashes:h,chainId:In(a),to:u,type:`eip4844`};return k(l)&&l!==`0x`&&(S.gas=Pn(l)),k(f)&&f!==`0x`&&(S.data=f),k(o)&&(S.nonce=o===`0x`?0:In(o)),k(d)&&d!==`0x`&&(S.value=Pn(d)),k(m)&&m!==`0x`&&(S.maxFeePerBlobGas=Pn(m)),k(c)&&c!==`0x`&&(S.maxFeePerGas=Pn(c)),k(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=Pn(s)),p.length!==0&&p!==`0x`&&(S.accessList=Ey(p)),y&&b&&x&&(S.sidecars=Hd({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 wo({attributes:{chainId:n,nonce:r,maxPriorityFeePerGas:i,maxFeePerGas:a,gas:o,to:s,value:c,data:l,accessList:u,...t.length>9?{v:d,r:f,s:p}:{}},serializedTransaction:e,type:`eip1559`});let m={chainId:In(n),type:`eip1559`};return k(s)&&s!==`0x`&&(m.to=s),k(o)&&o!==`0x`&&(m.gas=Pn(o)),k(l)&&l!==`0x`&&(m.data=l),k(r)&&(m.nonce=r===`0x`?0:In(r)),k(c)&&c!==`0x`&&(m.value=Pn(c)),k(a)&&a!==`0x`&&(m.maxFeePerGas=Pn(a)),k(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=Pn(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 wo({attributes:{chainId:n,nonce:r,gasPrice:i,gas:a,to:o,value:s,data:c,accessList:l,...t.length>8?{v:u,r:d,s:f}:{}},serializedTransaction:e,type:`eip2930`});let p={chainId:In(n),type:`eip2930`};return k(o)&&o!==`0x`&&(p.to=o),k(a)&&a!==`0x`&&(p.gas=Pn(a)),k(c)&&c!==`0x`&&(p.data=c),k(r)&&(p.nonce=r===`0x`?0:In(r)),k(s)&&s!==`0x`&&(p.value=Pn(s)),k(i)&&i!==`0x`&&(p.gasPrice=Pn(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 wo({attributes:{nonce:n,gasPrice:r,gas:i,to:a,value:o,data:s,...t.length>6?{v:c,r:l,s:u}:{}},serializedTransaction:e,type:`legacy`});let d={type:`legacy`};if(k(a)&&a!==`0x`&&(d.to=a),k(i)&&i!==`0x`&&(d.gas=Pn(i)),k(s)&&s!==`0x`&&(d.data=s),k(n)&&(d.nonce=n===`0x`?0:In(n)),k(o)&&o!==`0x`&&(d.value=Pn(o)),k(r)&&r!==`0x`&&(d.gasPrice=Pn(r)),Ph(d),t.length===6)return d;let f=k(c)&&c!==`0x`?Pn(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 bo({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(!Ai(r,{strict:!1}))throw new Si({address:r});t.push({address:r,storageKeys:i.map(e=>rg(e)?e:jn(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:In(r),nonce:a===`0x`?0:In(a),...Oy([o,s,c])})}return t}function Oy(e){let t=e.slice(-3),n=t[0]===`0x`?0n:Pn(t[0]);if(n!==0n&&n!==1n)throw new xo({yParity:n});let r=n===0n?27n:28n;return{r:yn(t[1],{size:32}),s:yn(t[2],{size:32}),v:r,yParity:r===27n?0:1}}co();function ky(e,t){return eo(e,t)}co();function Ay(e,t){return ro(e,t)}jo(),N();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:M(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,M(a)]},{dedupe:!0}):(l||c)&&typeof a==`number`?u=await e.request({method:`eth_getTransactionByBlockNumberAndIndex`,params:[l||c,M(a)]},{dedupe:!!l}):o&&typeof s==`number`&&(u=await e.request({method:`eth_getTransactionBySenderAndNonce`,params:[o,M(s)]},{dedupe:!0})),!u)throw new Do({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||bd)(u,`getTransaction`)}jo();async function My(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new Oo({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||gh)(n,`getTransactionReceipt`)}Hp(),Jp(),pn(),j(),Uo(),uf(),va(),am(),fm(),Za();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=_a({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=Es(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]):O(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 Kt;if(!a)throw new Ho({data:r});let e=cf({abi:s,args:u,data:r,functionName:l});S.push(i?{result:e,status:`success`}:e)}catch(e){let t=Es(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 A(`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:Xa([`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=>O(e,Km,`readContract`)({...i===null?{code:qp}:{address:i},...a,abi:Ip,args:[t],functionName:`aggregate3`})}),[c]=await s(r);return c}gf();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 F(`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}}gf(),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)===R(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 R(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_(fp(By(t)))}var Hy=class extends F{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 F{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)}gf(),z();function Gy(e){if(R(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Jy(e)}function Ky(e){let{data:t,signature:n,to:r}=e;return I(_v(yv(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function qy(e){try{return Gy(e),!0}catch{return!1}}var Jy=class extends F{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`})}};wu(),Ln(),Qn();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 lu.Signature(Pn(e),Pn(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:qn(o)}Hp(),Jp(),Uo(),rm(),va(),ki(),ef(),Li(),It(),Ln(),N(),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 k(e)?e:typeof e==`object`&&`r`in e&&`s`in e?Yy(e):Bn(e)})();try{if(s===`eoa`)try{if($d(Di(n),await Du({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($d(Di(n),await Du({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})===Ii([`0xef0100`,l.address]))return await $y(e,{...t,signature:d});let p={address:l.address,chainId:Number(l.chainId),nonce:Number(l.nonce),r:M(l.r,{size:32}),s:M(l.s,{size:32}),yParity:l.yParity};if(!await Wh({address:n,authorization:p}))throw new eb;let m=await O(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:_a({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:_a({abi:Bp,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:tm({abi:Bp,args:[n,a,l],bytecode:Kp}),...c},{data:d}=await O(e,Pm,`call`)(u).catch(e=>{throw e instanceof Lo?new eb:e});if(Fn(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 O(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 Ro?new eb:e})).startsWith(`0x1626ba7e`))return!0;throw new eb}var eb=class extends Error{};Ln(),Za();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(Xa([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>$m(async()=>{try{let t=await O(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(Xa([`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=Pn(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}jo(),lm(),Za();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=Xa([`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 Ao({hash:i}))},c):void 0;return h=Zm(l,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await O(e,My,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=O(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 O(e,jy,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await O(e,My,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof Do||n instanceof Oo){if(!d){m=!1;return}try{f=d,m=!0;let n=await mh(()=>O(e,wd,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof vd});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await O(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>.+))?/;Ni(),ef(),va();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(Ai(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(Ai(t,{strict:!1}))for(let e of n){let n=fb(e,r);if(n&&$d(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&&$d(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:_a(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 Qd(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]=of({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`}}jo();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 ko({receipt:a});return a}pa(),j(),jo(),Li(),$u(),od(),Ti(),md();let bb=new wi(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?P(n):null,C;try{pd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Pu({authorization:o[0]}).catch(()=>{throw new A(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(S?.type===`json-rpc`||S===null){let t;i!==null&&(t=await O(e,Gd,`getChainId`)({}),r&&ch({currentChainId:t,chain:i}));let C=e.chain?.formatters?.transactionRequest?.format,w=(C||nd)({...Qu(b,{format:C}),accessList:a,account:S,authorizationList:o,blobs:s,chainId:t,data:l?Pi([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`,E=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}})(),te=await O(e,nb,`waitForTransactionReceipt`)({checkReplacement:!1,hash:E,pollingInterval:g,timeout:x});if(_&&te.status===`reverted`)throw new ko({receipt:te});return te}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 O(e,Xd,`prepareTransactionRequest`)({account:S,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Pi([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:r,parameters:[...qd,`sidecars`],type:v,value:y,...b,to:n}),x=i?.serializers?.transaction,w=await S.signTransaction(g,{serializer:x});return await O(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 ko)&&S?.nonceManager?.reset(C),Wd(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 Qd(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]=of({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}}N();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:M(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})}ki();async function kb(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Ei(e))}pa(),N();async function Ab(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?P(n):void 0,a=r?[i?.address,[M(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})}pa(),ef();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=P(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:P(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await O(e,Gd,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await O(e,Ad,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&$d(o.address,a.address))&&(s.nonce+=1)),s}ki();async function Nb(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>Di(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 O(e,yh,`sendCalls`)(t);return await O(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]})}pa();async function Lb(e,t){let{account:n=e.account}=t;if(!n)throw new oh({docsPath:`/docs/eip7702/signAuthorization`});let r=P(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)}pa(),N();async function Rb(e,{account:t=e.account,message:n}){if(!t)throw new oh({docsPath:`/docs/actions/wallet/signMessage`});let r=P(t);if(r.signMessage)return r.signMessage({message:n});let i=typeof n==`string`?Vn(n):n.raw instanceof Uint8Array?Rn(n.raw):n.raw;return e.request({method:`personal_sign`,params:[i,r.address]},{retryCount:0})}pa(),N(),od(),md();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=P(n);pd({account:a,...t});let o=await O(e,Gd,`getChainId`)({});r!==null&&ch({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||nd;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:M(o),from:a.address}]},{retryCount:0})}pa();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=P(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})}N();async function Vb(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:M(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=>Kd(e,t),getAddresses:()=>kb(e),getCallsStatus:t=>bh(e,t),getCapabilities:t=>Ab(e,t),getChainId:()=>Gd(e),getPermissions:()=>jb(e),prepareAuthorization:t=>Mb(e,t),prepareTransactionRequest:t=>Xd(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`})}j();var qb=class extends A{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};Jo(),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 Ko({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}gf(),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:_p(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(gp(r[e])!==32)throw new ex({storageKey:r[e]});n&&M_(n,{strict:!1}),t.push([n,r])}return t}var ex=class extends F{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${gp(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};sp();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(Bf(e),t)}function sx(e,t={}){return ax(Vf(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 Xf(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}sp(),gf(),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`?dp(i.bytes):i.bytes}var mx=class extends F{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 F{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 F{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 F{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 F{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 F{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 F{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 F{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},Sx=class extends F{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 F{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 F{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 F{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 F{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=Vf(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 Xf(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||={}),gf();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]]))}Ys(),Il(),nl();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Ax=Wc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),jx=Fl({a:Ax.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:Ax,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Ks),Mx=Wc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));Fl({a:Mx.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:Mx,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Js);let Nx=Wc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));Fl({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]},qs);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Px=jx,Fx=jx;sp(),z();function Ix(e){let{privateKey:t}=e;return x_(Fx.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):dp(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:Bf(r),i instanceof Uint8Array?i:Bf(i),{extraEntropy:typeof t==`boolean`?t:lp(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:Bf(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}),gf();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 F{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=L(e.chainId)),e.data===void 0?e.input!==void 0&&(t.data=e.input,t.input=e.input):(t.data=e.data,t.input=e.data),e.from!==void 0&&(t.from=e.from),e.gas!==void 0&&(t.gas=L(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=L(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=L(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=L(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=L(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=L(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=L(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=ux[e.type]||e.type),e.value!==void 0&&(t.value=L(e.value)),t}gf();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])}gf();var ES=class extends F{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 F{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 F{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 F{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=I(v_(fp(r)),L(n,{size:1}),L(i,{size:4}));if(!t)return a;let o=dp(new Uint8Array(16)),s=dp(t.id);return I(a,o,L(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})}sp(),gf(),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:Bf(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_(fp(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:I(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:dp(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 F{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=Bf(s);if(u.length<37||a!==void 0&&!Hf(u.slice(0,32),v_(fp(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||dp(cx(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Rx({hash:!0,payload:Lf(u,v_(Vf(c),{as:`Bytes`})),publicKey:i,signature:o})}let RS=PS;async function zS(e){return FS(e)}function BS(e){return LS(e)}sp();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,Rf(t)),i=zf(new Uint8Array(r)),a=qf(Kf(i,0,32)),o=qf(Kf(i,32,64));return o>Px.CURVE.n/2n&&(o=Px.CURVE.n-o),{r:a,s:o}}gf(),z();let US=2049,WS=`0x${`00`.repeat(32)}`;function GS(e){let{salt:t,threshold:n,owners:r}=e;if(t!==void 0&&gp(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)||vp(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=vp(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)=>vp(e.owner)<vp(t.owner)?-1:1),n={salt:e.salt?pp(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`?pp(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_(R(g_(I(fp(`tempo:multisig:account`),pp(e.salt??WS,32),L(e.threshold,{size:1}),L(e.owners.length,{size:1}),...e.owners.flatMap(e=>[e.owner,L(e.weight,{size:1})]))),12,32));if(vp(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_(I(fp(`tempo:multisig:signature`),lp(t),n))}function XS(e){GS(e);let t=e.owners.map(e=>[e.owner,L(e.weight)]);return[e.salt?pp(e.salt,32):WS,L(e.threshold),t]}var ZS=class extends F{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}};gf(),z(),Ff();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(vp(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(gp(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`)?R(e,0,-gp(rC)):e;if(gp(n)===65){let e=Bv(n);return Rv(e),{signature:e,type:`secp256k1`}}let r=R(n,0,1),i=R(n,1),a=gp(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:vp(R(i,64,96)),y:vp(R(i,96,128))},prehash:bp(R(i,128,129))!==0,signature:{r:vp(R(i,0,32)),s:vp(R(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=R(i,0,e),r,o;for(let n=37;n<e;n++){let e=xp(R(t,n));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),r=R(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:vp(R(i,e+64,e+96)),y:vp(R(i,e+96,e+128))},metadata:{authenticatorData:r,clientDataJSON:o},signature:{r:vp(R(i,e,e+32)),s:vp(R(i,e+32,e+64))},type:`webAuthn`}}if(r===eC||r===tC)return{userAddress:R(i,0,20),inner:lC(R(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(gp(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)||gp(e)!==32||Array.isArray(t)||gp(t)>1||!Array.isArray(r)||r.some(e=>!Array.isArray(e)||e.length!==2||e.some(Array.isArray)||gp(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:vp(e.pubKeyX),y:vp(e.pubKeyY)},signature:{r:vp(e.r),s:vp(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=gp(t),r,i;for(let e=37;e<n;e++){let n=xp(R(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=R(t,0,e),i=n;break}catch{}}if(!r||!i)throw new 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:vp(e.pubKeyX),y:vp(e.pubKeyY)},signature:{r:vp(e.r),s:vp(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 I(Kv(e.signature),t.magic?rC:`0x`);if(n===`p256`){let n=e;return I(QS,L(n.signature.r,{size:32}),L(n.signature.s,{size:32}),L(n.publicKey.x,{size:32}),L(n.publicKey.y,{size:32}),L(+!!n.prehash,{size:1}),t.magic?rC:`0x`)}if(n===`webAuthn`){let n=e,r=I(n.metadata.authenticatorData,fp(n.metadata.clientDataJSON));return I($S,r,L(n.signature.r,{size:32}),L(n.signature.s,{size:32}),L(n.publicKey.x,{size:32}),L(n.publicKey.y,{size:32}),t.magic?rC:`0x`)}if(n===`keychain`){let n=e;return I(n.version===`v1`?eC:tC,n.userAddress,pC(n.inner),t.magic?rC:`0x`)}if(n===`multisig`){let n=e;return iC(n),I(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:vp(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:L(t.publicKey.x,{size:32}),pubKeyY:L(t.publicKey.y,{size:32}),r:L(t.signature.r,{size:32}),s:L(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=I(t.metadata.authenticatorData,fp(t.metadata.clientDataJSON));return{pubKeyX:L(t.publicKey.x,{size:32}),pubKeyY:L(t.publicKey.y,{size:32}),r:L(t.signature.r,{size:32}),s:L(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return{type:`keychain`,userAddress:t.userAddress,signature: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:lp(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 F{constructor({envelope:e}){super(`Unable to coerce value (\\`${Nf(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},vC=class extends F{constructor({envelope:e,missing:t,type:n}){super(`Signature envelope of type \"${n}\" is missing required properties: ${t.map(e=>`\\`${e}\\``).join(`, `)}.\\n\\nProvided: ${Nf(e)}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.MissingPropertiesError`})}},yC=class extends F{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 F{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 F{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};gf(),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 cp(t,{strict:!0}),{address:N_(t)}}var wC=class extends F{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:L(n),nonce:L(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?L(n):`0x`,t,r?L(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 vp(R(t,6))}function IC(e){if(typeof e==`string`){let t=SC(e);return M_(t),t}let t=L(e,{size:18});return I(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_(fp(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),VC=g_(fp(`TIP20 Channel Reserve`)),HC=g_(fp(`1`)),UC=`0x0000000000000000000000000000000000000000`,WC=`0x4d50500000000000000000000000000000000000`,GC=g_(fp(`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_(I(`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:vp(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:vp(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`:L(r),expiry:typeof i==`number`?L(i):null,keyId:SC(t),keyType:o,limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:L(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`:L(e)}function sw(e){return e===0?`0x`:L(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)?dp(new Uint8Array(e)):e}function dw(e){if(e)return e.startsWith(`0x`)?e:zy(e)}function fw(e){if(gp(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 ${gp(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_(fp(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?L(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?L(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=L(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=L(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return hp(6);if(typeof e.nonceKey==`bigint`)return L(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=bw.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}gf(),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(R(e,1)),[n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]=t,_=Array.isArray(h)?h:void 0,v=_?g:h;if(t.length!==13&&t.length!==14&&t.length!==15)throw new 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?L(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=[L(a),f?L(f):`0x`,d?L(d):`0x`,s?L(s):`0x`,v,h,u?L(u):`0x`,l?L(l):`0x`,typeof p==`number`?L(p):`0x`,typeof m==`number`?L(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?IC(o):`0x`,b,_,...c?[aw(c)]:[],...g?[pC(uC(g))]:[]];return I(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_(I(`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 F{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},Pw=class extends F{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:Ud(e)}function Zw(e){try{return Xw(e)===`tempo`}catch{return!1}}function Qw(e){let t=R(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:L(n,{size:32}),s:L(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:L(t.r,{size:32}),s:L(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(),pa(),ui();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`?li(I(`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:Nu({address:r,chainId:t,nonce:n})}));if(i.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+i.type+\"`.\");let{r:a,s:o,yParity:c}=i.signature;return{address:r,chainId:t,nonce:n,r:L(a,{size:32}),s:L(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:dg(t)})},async signTransaction(e,t){let{serializer:n=$w}=t??{},r=li(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}=P(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)}ef(),va();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&&$d(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&&$d(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 Km(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:_a(e),to:e.address}}pa();let kT={0:`secp256k1`,1:`p256`,2:`webAuthn`},AT={true:`limited`,false:`unlimited`};async function jT(e,t){return jT.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(P(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]=of({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(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]=of({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=P(n),o=await Km(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=P(n),s=e.chain?.hardfork;if(s&&bT(s,`t3`))return{remaining:await Km(e,{...a,...PT.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await Km(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=P(n);return Km(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=P(n);return Km(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(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:[BT(t)]})}e.call=n;function r(e){let[t]=of({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(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:[BT(t),n,r]})}e.call=n;function r(e){let[t]=of({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 Km(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}z(),pa();async function VT(e,t){return VT.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:vT,abi:Bw,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(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:vT,abi:Bw,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=of({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{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]=of({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(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:vT,abi:Bw,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=of({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?P(n).address:void 0;if(!a)throw Error(`account is required.`);return Km(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 Km(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 Km(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 Km(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 Km(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 Km(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(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:vT,abi:Bw,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=of({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(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:vT,abi:Bw,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=of({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(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:vT,abi:Bw,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})($T||={});async function eE(e,t){return eE.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:vT,abi:Bw,functionName:`withdraw`,args:[t,n]})}e.call=n})(eE||={});function tE(e,t){return g_(I(e,t))}z(),pa(),od();function nE(e){if(!Zw(e))return bd(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:L(n.r,{size:32}),s:L(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?P(n.account):void 0;if(!Zw(n))return nd(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`?P(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:L(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}z(),fd(),ef(),od(),ui();function cE(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(hp(8))%e)}let lE={blockTime:1e3,extendSchema:Zh(),formatters:{transaction:xd({exclude:[`aaAuthorizationList`],format:nE}),transactionReceipt:_h({format:rE}),transactionRequest:ad({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===dd)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=dd,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 O(t,NT,`getMetadata`)({account:i,accessKey:a});$d(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`?li(I(`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 O(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});z(),pa(),va();async function pE(e,t){return pE.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]=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 Qd(t,{...DT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{...DT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=of({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(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]=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]=of({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(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]=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,pp(i,32)]}:{functionName:`burn`,args:[c]};return V({address:o,abi:B,...l})}e.call=n;function r(e){let[t]=of({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(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]=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]=of({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(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?P(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=hp(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]=of({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([Km(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 oh;let o=P(n).address,[s,{decimals:c}]=await Promise.all([Km(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 oh;let i=P(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=>Km(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([Km(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 Km(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?P(n).address:void 0;if(!r)throw Error(`account is required.`);return Km(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(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:_a(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=of({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(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]=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,pp(a,32)]}:{functionName:`mint`,args:[r,l]};return V({address:s,abi:B,...u})}e.call=n;function r(e){let[t]=of({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(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]=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]=of({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(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:_a(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=of({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(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:_a(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=of({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(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]=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]=of({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(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]=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]=of({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(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]=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,pp(i,32)]}:i?{functionName:`transferWithMemo`,args:[a,l,pp(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 Qd(t,{...DT(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return qm(t,{...DT(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=of({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(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]=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]=of({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(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]=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]=of({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(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]=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]=of({abi:B,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(IE||={}),pa();async function LE(e,...t){let{account:n=e.account,...r}=t[0]??{};if(!n)throw Error(`account is required.`);let i=P(n),a=await Km(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(fh,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]=of({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 Km(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(fh,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]=of({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){return e.source}function WE(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Gb({key:WE.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:WE.type})}}Ya();let GE={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 KE(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function qE(e){let t=e.details??e.shortMessage??e.message,n=JE(e);if(n)try{let e=Ja({abi:Yw,data:n}),r=GE[e.errorName];return{...e,data:n,message:r?KE(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in GE?{errorName:`unknown`,message:GE[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function JE(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 JE(t.cause);if(t.error)return JE(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return JE(e)}return null}function YE(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(!XE(n.keyPair.privateKey))throw new ZE(\"`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 ZE(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:C_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function XE(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey||!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var ZE=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 ZE||e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let $E={p256:YE()};var eD;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 tD=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},nD=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(eD=globalThis).__zod_globalConfig??(eD.__zod_globalConfig={});let rD=globalThis.__zod_globalConfig;function iD(e){return e&&Object.assign(rD,e),rD}function aD(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 oD(e,t){return typeof t==`bigint`?t.toString():t}function sD(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}}}}function cD(e){return e==null}function lD(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let uD=Symbol(`evaluating`);function dD(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==uD)return r===void 0&&(r=uD,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function fD(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function pD(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let mD=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function hD(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function gD(e){if(hD(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return hD(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}let _D=new Set([`string`,`number`,`symbol`]),vD=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function yD(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function bD(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function xD(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 SD(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function CD(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 bD(e,pD(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 fD(this,`shape`,r),r},checks:[]}))}function wD(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 TD(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 ED(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function DD(e){return typeof e==`string`?e:e?.message}function OD(e,t,n){let r=e.message?e.message:DD(e.inst?._zod.def?.error?.(e))??DD(t?.error?.(e))??DD(n.customError?.(e))??DD(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 kD(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function AD(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let jD=(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,oD,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},MD=H(`$ZodError`,jD),ND=H(`$ZodError`,jD,{Parent:Error}),PD=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 tD;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>OD(e,a,iD())));throw mD(t,i?.callee),t}return o.value},FD=PD(ND),ID=(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=>OD(e,a,iD())));throw mD(t,i?.callee),t}return o.value})(ND),LD=(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 tD;return a.issues.length?{success:!1,error:new(e??MD)(a.issues.map(e=>OD(e,i,iD())))}:{success:!0,data:a.value}})(ND),RD=(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=>OD(e,i,iD())))}:{success:!0,data:a.value}})(ND),zD=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return PD(e)(t,n,i)})(ND),BD=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},VD=/^-?\\d+n?$/,HD=/^-?\\d+(?:\\.\\d+)?$/,UD=/^(?:true|false)$/i,WD=/^null$/i,GD=/^undefined$/i,KD=H(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),qD={number:`number`,bigint:`bigint`,object:`date`},JD=H(`$ZodCheckLessThan`,(e,t)=>{KD.init(e,t);let n=qD[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})}}),YD=H(`$ZodCheckGreaterThan`,(e,t)=>{KD.init(e,t);let n=qD[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})}}),XD=H(`$ZodCheckMaxLength`,(e,t)=>{var n;KD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!cD(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=kD(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),ZD=H(`$ZodCheckMinLength`,(e,t)=>{var n;KD.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!cD(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=kD(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;KD.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=()=>{})}),$D=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})}}),eO={major:4,minor:4,patch:3},tO=H(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=eO;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=wD(e),i;for(let a of t){if(a._zod.def.when){if(TD(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 tD;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=wD(e,t))});else{if(e.issues.length===t)continue;r||=wD(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(wD(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new tD;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 tD;return o.then(e=>t(e,r,a))}return t(o,r,a)}}dD(e,`~standard`,()=>({validate:t=>{try{let n=LD(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return RD(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),nO=H(`$ZodString`,(e,t)=>{tO.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??BD(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}}),rO=H(`$ZodNumber`,(e,t)=>{tO.init(e,t),e._zod.pattern=e._zod.bag.pattern??HD,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}}),iO=H(`$ZodBoolean`,(e,t)=>{tO.init(e,t),e._zod.pattern=UD,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}}),aO=H(`$ZodBigInt`,(e,t)=>{tO.init(e,t),e._zod.pattern=VD,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}}),oO=H(`$ZodUndefined`,(e,t)=>{tO.init(e,t),e._zod.pattern=GD,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}}),sO=H(`$ZodNull`,(e,t)=>{tO.init(e,t),e._zod.pattern=WD,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}}),cO=H(`$ZodUnknown`,(e,t)=>{tO.init(e,t),e._zod.parse=e=>e}),lO=H(`$ZodNever`,(e,t)=>{tO.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function uO(e,t,n){e.issues.length&&t.issues.push(...ED(n,e.issues)),t.value[n]=e.value}let dO=H(`$ZodArray`,(e,t)=>{tO.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(...ED(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=SD(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(tO.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=sD(()=>pO(t));dD(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=hD,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=>!wD(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=>OD(e,r,iD())))}),t)}let _O=H(`$ZodUnion`,(e,t)=>{tO.init(e,t),dD(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),dD(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),dD(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),dD(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=>lD(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;dD(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=sD(()=>{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(!hD(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)=>{tO.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(...ED(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(...ED(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)=>{tO.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!gD(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=>OD(e,r,iD())),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(...ED(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...ED(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`&&HD.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=>OD(e,r,iD())),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(...ED(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...ED(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),wO=H(`$ZodEnum`,(e,t)=>{tO.init(e,t);let n=aD(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>_D.has(typeof e)).map(e=>typeof e==`string`?yD(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(tO.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`?yD(e):e?yD(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)=>{tO.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new nD(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 tD;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)=>{tO.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,dD(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),dD(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${lD(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)=>{tO.init(e,t),dD(e._zod,`optin`,()=>t.innerType._zod.optin),dD(e._zod,`optout`,()=>t.innerType._zod.optout),dD(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${lD(e.source)}|null)$`):void 0}),dD(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)=>{tO.init(e,t),dD(e._zod,`values`,()=>t.in._zod.values),dD(e._zod,`optin`,()=>t.in._zod.optin),dD(e._zod,`optout`,()=>t.out._zod.optout),dD(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)=>{tO.init(e,t),dD(e._zod,`values`,()=>t.in._zod.values),dD(e._zod,`optin`,()=>t.in._zod.optin),dD(e._zod,`optout`,()=>t.out._zod.optout),dD(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)=>{tO.init(e,t),dD(e._zod,`propValues`,()=>t.innerType._zod.propValues),dD(e._zod,`values`,()=>t.innerType._zod.values),dD(e._zod,`optin`,()=>t.innerType?._zod?.optin),dD(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)=>{tO.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||vD.has(typeof e))n.push(yD(`${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)=>{KD.init(e,t),tO.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(AD(e))}}function BO(e,t){return new e({type:`string`,...xD(t)})}function VO(e,t){return new e({type:`number`,checks:[],...xD(t)})}function HO(e,t){return new e({type:`boolean`,...xD(t)})}function UO(e,t){return new e({type:`bigint`,...xD(t)})}function WO(e,t){return new e({type:`undefined`,...xD(t)})}function GO(e,t){return new e({type:`null`,...xD(t)})}function KO(e){return new e({type:`unknown`})}function qO(e,t){return new e({type:`never`,...xD(t)})}function JO(e,t){return new JD({check:`less_than`,...xD(t),value:e,inclusive:!0})}function YO(e,t){return new YD({check:`greater_than`,...xD(t),value:e,inclusive:!0})}function XO(e,t){return new XD({check:`max_length`,...xD(t),maximum:e})}function ZO(e,t){return new ZD({check:`min_length`,...xD(t),minimum:e})}function QO(e,t){return new $D({check:`string_format`,format:`regex`,...xD(t),pattern:e})}function $O(e,t,n){let r=xD(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function ek(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...xD(n)})}let tk=H(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);tO.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>FD(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>LD(e,t,n),e.parseAsync=async(t,n)=>ID(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>RD(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)=>bD(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),nk=H(`ZodMiniString`,(e,t)=>{nO.init(e,t),tk.init(e,t)});function U(e){return BO(nk,e)}let rk=H(`ZodMiniNumber`,(e,t)=>{rO.init(e,t),tk.init(e,t)});function ik(e){return VO(rk,e)}let ak=H(`ZodMiniBoolean`,(e,t)=>{iO.init(e,t),tk.init(e,t)});function ok(e){return HO(ak,e)}let sk=H(`ZodMiniBigInt`,(e,t)=>{aO.init(e,t),tk.init(e,t)});function ck(e){return UO(sk,e)}let lk=H(`ZodMiniUndefined`,(e,t)=>{oO.init(e,t),tk.init(e,t)});function uk(e){return WO(lk,e)}let dk=H(`ZodMiniNull`,(e,t)=>{sO.init(e,t),tk.init(e,t)});function fk(e){return GO(dk,e)}let pk=H(`ZodMiniUnknown`,(e,t)=>{cO.init(e,t),tk.init(e,t)});function mk(){return KO(pk)}let hk=H(`ZodMiniNever`,(e,t)=>{lO.init(e,t),tk.init(e,t)});function gk(e){return qO(hk,e)}let _k=H(`ZodMiniArray`,(e,t)=>{dO.init(e,t),tk.init(e,t)});function W(e,t){return new _k({type:`array`,element:e,...xD(t)})}let vk=H(`ZodMiniObject`,(e,t)=>{hO.init(e,t),tk.init(e,t),dD(e,`shape`,()=>t.shape)});function G(e,t){let n={type:`object`,shape:e??{},...xD(t)};return new vk(n)}function yk(e,t){return new vk({type:`object`,shape:e,catchall:mk(),...xD(t)})}function bk(e,t){return CD(e,t)}let xk=H(`ZodMiniUnion`,(e,t)=>{_O.init(e,t),tk.init(e,t)});function K(e,t){return new xk({type:`union`,options:e,...xD(t)})}let Sk=H(`ZodMiniDiscriminatedUnion`,(e,t)=>{vO.init(e,t),tk.init(e,t)});function Ck(e,t,n){return new Sk({type:`union`,options:t,discriminator:e,...xD(n)})}let wk=H(`ZodMiniTuple`,(e,t)=>{yO.init(e,t),tk.init(e,t)});function Tk(e,t,n){let r=t instanceof tO;return new wk({type:`tuple`,items:e,rest:r?t:null,...xD(r?n:t)})}let Ek=H(`ZodMiniRecord`,(e,t)=>{CO.init(e,t),tk.init(e,t)});function Dk(e,t,n){return!t||!t._zod?new Ek({type:`record`,keyType:U(),valueType:e,...xD(t)}):new Ek({type:`record`,keyType:e,valueType:t,...xD(n)})}let Ok=H(`ZodMiniEnum`,(e,t)=>{wO.init(e,t),tk.init(e,t),e.options=Object.values(t.entries)});function kk(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Ok({type:`enum`,entries:n,...xD(t)})}let Ak=H(`ZodMiniLiteral`,(e,t)=>{TO.init(e,t),tk.init(e,t)});function q(e,t){return new Ak({type:`literal`,values:Array.isArray(e)?e:[e],...xD(t)})}let jk=H(`ZodMiniTransform`,(e,t)=>{EO.init(e,t),tk.init(e,t)});function Mk(e){return new jk({type:`transform`,transform:e})}let Nk=H(`ZodMiniOptional`,(e,t)=>{OO.init(e,t),tk.init(e,t)});function J(e){return new Nk({type:`optional`,innerType:e})}let Pk=H(`ZodMiniNullable`,(e,t)=>{kO.init(e,t),tk.init(e,t)});function Fk(e){return new Pk({type:`nullable`,innerType:e})}let Ik=H(`ZodMiniPipe`,(e,t)=>{AO.init(e,t),tk.init(e,t)});function Lk(e,t){return new Ik({type:`pipe`,in:e,out:t})}let Rk=H(`ZodMiniCodec`,(e,t)=>{Ik.init(e,t),MO.init(e,t)});function zk(e,t,n){return new Rk({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let Bk=H(`ZodMiniReadonly`,(e,t)=>{FO.init(e,t),tk.init(e,t)});function Y(e){return new Bk({type:`readonly`,innerType:e})}let Vk=H(`ZodMiniTemplateLiteral`,(e,t)=>{LO.init(e,t),tk.init(e,t)});function Hk(e,t){return new Vk({type:`template_literal`,parts:e,...xD(t)})}let Uk=H(`ZodMiniCustom`,(e,t)=>{RO.init(e,t),tk.init(e,t)});function Wk(e,t){return $O(Uk,e??(()=>!0),t)}function Gk(e,t={}){return ek(Uk,e,t)}function Kk(e){return e}function qk(e){return e}z();let X=()=>Hk([`0x`,U().check(QO(/^[0-9a-fA-F]{40}$/))],`Expected address`),Jk=()=>zk(K([Z(),ck()]),ck(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:vp(e),encode:e=>L(e)}),Z=()=>Hk([`0x`,U()],`Expected hex value`),Yk=()=>zk(K([Z(),ik()]),ik(),{decode:e=>typeof e==`number`?e:e===`0x`?0:bp(e),encode:e=>L(e)});z();let Xk=G({address:X(),blockHash:Z(),blockNumber:Jk(),data:Z(),logIndex:Yk(),removed:ok(),topics:Y(W(Z())),transactionHash:Z(),transactionIndex:Yk()}),Zk=G({blobGasPrice:J(Jk()),blobGasUsed:J(Jk()),blockHash:Z(),blockNumber:Jk(),contractAddress:Fk(X()),cumulativeGasUsed:Jk(),effectiveGasPrice:Jk(),feePayer:J(X()),feeToken:J(X()),from:X(),gasUsed:Jk(),logs:W(Xk),logsBloom:Z(),root:J(Z()),status:zk(Z(),kk([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:Fk(X()),transactionHash:Z(),transactionIndex:Yk(),type:Z()}),Qk=Wk(),$k=K([q(`secp256k1`),q(`p256`),q(`webAuthn`)]),eA=zk(G({allowedCalls:J(Y(W(G({target:X(),selectorRules:J(Y(W(G({selector:Z(),recipients:J(Y(W(X())))}))))})))),address:J(X()),chainId:Jk(),expiry:K([Yk(),fk(),uk()]),keyId:X(),keyType:$k,limits:J(Y(W(G({token:X(),limit:Jk(),period:J(Yk())})))),signature:Qk}),Wk(),{decode(e){return QC({chainId:L(e.chainId),expiry:e.expiry==null?null:L(e.expiry),keyId:e.keyId,keyType:e.keyType,limits:e.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:L(e),...typeof t==`number`?{period:L(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:vp(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:vp(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}:{}}))}:{}}))}:{}}}}),tA=G({data:J(Z()),to:J(X()),value:J(Jk())}),nA=G({accessList:J(W(G({address:X(),storageKeys:W(Z())}))),calls:J(Y(W(tA))),chainId:J(Yk()),data:J(Z()),feePayer:J(K([ok(),U()])),feePayerSignature:J(Dk(U(),mk())),feeToken:J(X()),from:J(X()),gas:J(Jk()),keyAuthorization:J(eA),keyData:J(Z()),keyId:J(X()),keyType:J($k),maxFeePerGas:J(Jk()),maxPriorityFeePerGas:J(Jk()),nonce:J(Yk()),nonceKey:J(Jk()),to:J(X()),validAfter:J(Yk()),validBefore:J(Yk()),value:J(Jk())});var rA;(function(e){e.schema=Kk({method:q(`eth_accounts`),params:void 0,returns:Y(W(X()))})})(rA||={});var iA;(function(e){e.schema=Kk({method:q(`eth_chainId`),params:void 0,returns:Z()})})(iA||={});var aA;(function(e){e.schema=Kk({method:q(`eth_requestAccounts`),params:void 0,returns:Y(W(X()))})})(aA||={});var oA;(function(e){e.schema=Kk({method:q(`eth_sendTransaction`),params:Y(Tk([nA])),returns:Z()})})(oA||={});var sA;(function(e){let t=G({address:X(),decimals:ik(),direction:kk([`incoming`,`outgoing`]),formatted:U(),name:U(),recipients:Y(W(X())),symbol:U(),value:Z()}),n=G({decimals:ik(),formatted:U(),name:U(),symbol:U(),token:X(),value:Z()});e.schema=Kk({method:q(`eth_fillTransaction`),params:Y(Tk([nA])),returns:G({capabilities:G({balanceDiffs:J(Dk(X(),Y(W(t)))),error:J(G({abiItem:J(Dk(U(),mk())),data:J(Z()),errorName:U(),message:U()})),fee:J(G({amount:Z(),decimals:ik(),formatted:U(),symbol:U()})),requireFunds:J(G({amount:Z(),decimals:ik(),formatted:U(),token:X(),symbol:U()})),autoSwap:J(G({maxIn:n,minOut:n,slippage:ik()})),sponsor:J(G({address:X(),name:J(U()),url:J(U())})),sponsored:ok()}),tx:Dk(U(),mk())})})})(sA||={});var cA;(function(e){e.schema=Kk({method:q(`eth_signTransaction`),params:Y(Tk([nA])),returns:Z()})})(cA||={});var lA;(function(e){e.schema=Kk({method:q(`eth_sendTransactionSync`),params:Y(Tk([nA])),returns:Zk})})(lA||={});var uA;(function(e){e.schema=Kk({method:q(`eth_signTypedData_v4`),params:Y(Tk([X(),U()])),returns:Z()})})(uA||={});var dA;(function(e){e.schema=Kk({method:q(`personal_sign`),params:Y(Tk([Z(),X()])),returns:Z()})})(dA||={});let fA=J(G({feePayer:J(K([ok(),U()])),sync:J(ok())}));var pA;(function(e){e.schema=Kk({method:q(`wallet_sendCalls`),params:J(Y(Tk([G({atomicRequired:J(ok()),calls:Y(W(tA)),capabilities:fA,chainId:J(Yk()),from:J(X()),version:J(U())})]))),returns:G({atomic:J(ok()),capabilities:fA,chainId:J(Yk()),id:U(),receipts:J(W(Zk)),status:J(ik()),version:J(U())})})})(pA||={});var mA;(function(e){e.schema=Kk({method:q(`wallet_getBalances`),params:J(Y(Tk([G({account:J(X()),chainId:J(Yk()),tokens:J(Y(W(X())))})]))),returns:Y(W(G({address:X(),balance:Jk(),decimals:ik(),display:U(),name:U(),symbol:U()})))})})(mA||={});var hA;(function(e){e.schema=Kk({method:q(`wallet_getCapabilities`),params:J(Y(K([Tk([X()]),Tk([X(),Y(W(Z()))])]))),returns:Dk(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`)])}))}))})})(hA||={});var gA;(function(e){e.showDeposit=J(K([ok(),G({amount:J(U()),displayName:J(U()),token:J(K([X(),U()]))})])),e.parameters=G({address:J(X()),chainId:J(Jk()),expiry:ik(),keyType:J($k),limits:J(Y(W(G({token:X(),limit:Jk(),period:J(ik())})))),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:eA,rootAddress:X()}),e.schema=Kk({method:q(`wallet_authorizeAccessKey`),params:Y(Tk([e.parameters])),returns:e.returns})})(gA||={});var _A;(function(e){e.parameters=G({address:J(X()),expiry:ik(),keyType:J($k),limits:Y(W(G({token:X(),limit:Jk(),period:J(ik())})).check(ZO(1))),publicKey:J(Z()),scopes:Y(W(G({address:X(),selector:J(K([Z(),U()])),recipients:J(Y(W(X())))})).check(ZO(1))),showDeposit:gA.showDeposit})})(_A||={});var vA;(function(e){e.schema=Kk({method:q(`wallet_revokeAccessKey`),params:Y(Tk([G({address:X(),accessKeyAddress:X()})])),returns:void 0})})(vA||={});var yA;(function(e){e.parameters=G({address:X(),accessKeyAddress:X(),chainId:J(Jk()),limits:Y(W(G({token:X(),limit:Jk()})).check(ZO(1)))}),e.schema=Kk({method:q(`wallet_updateAccessKey`),params:Y(Tk([e.parameters])),returns:void 0})})(yA||={});var bA;(function(e){e.authorizeAccessKey=J(bk(gA.parameters,{showDeposit:!0})),e.showDeposit=J(K([ok(),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(ok())})])),e.personalSign=J(G({message:U()})),e.identity=J(G({email:J(K([ok(),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(ok()),showDeposit:e.showDeposit})])),result:G({identity:J(G({email:J(Fk(U())),idToken:J(U())})),keyAuthorization:J(eA),personalSign:J(G({message:U(),keyAuthorization:J(Z())})),signature:J(Z()),username:J(Fk(U())),auth:J(yk({token:J(U())}))})},e.schema=Kk({method:q(`wallet_connect`),params:J(Y(Tk([G({capabilities:e.capabilities.request,chainId:J(Yk()),version:J(U())})]))),returns:G({accounts:Y(W(G({address:X(),capabilities:e.capabilities.result})))})})})(bA||={});var xA;(function(e){let t=J(bk(_A.parameters,{showDeposit:!0})),n=bA.auth,r=bA.identity,i=bA.personalSign,a=bA.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(ok()),showDeposit:a})])),chainId:J(Yk()),version:J(U())})})(xA||={});var SA;(function(e){e.schema=Kk({method:q(`wallet_disconnect`),params:void 0,returns:void 0})})(SA||={});var CA;(function(e){e.schema=Kk({method:q(`wallet_getCallsStatus`),params:J(Y(Tk([U()]))),returns:G({atomic:ok(),chainId:Yk(),id:U(),receipts:J(W(Zk)),status:ik(),version:U()})})})(CA||={});var wA;(function(e){e.parameters=Ck(`editable`,[G({amount:U(),chainId:J(Yk()),editable:J(q(!1)),feePayer:J(K([ok(),U()])),from:J(X()),memo:J(U()),to:X(),token:K([X(),U()])}),G({amount:J(U()),chainId:J(Yk()),editable:q(!0),feePayer:J(K([ok(),U()])),memo:J(U()),to:J(X()),token:J(K([X(),U()]))})]),e.schema=Kk({method:q(`wallet_transfer`),params:J(Y(Tk([e.parameters]))),returns:G({chainId:Yk(),receipt:Zk})})})(wA||={});let TA=G({amount:J(U()),pairToken:J(X()),slippage:J(ik().check(YO(0),JO(1))),token:J(X()),type:J(K([q(`buy`),q(`sell`)]))});var EA;(function(e){e.schema=Kk({method:q(`wallet_swap`),params:J(Y(Tk([TA]))),returns:G({receipt:Zk})})})(EA||={});var DA;(function(e){e.schema=Kk({method:q(`wallet_switchEthereumChain`),params:Y(Tk([G({chainId:Yk()})])),returns:void 0})})(DA||={});var OA;(function(e){e.schema=Kk({method:q(`wallet_deposit`),params:J(Y(Tk([G({address:J(X()),amount:J(U()),chainId:J(Yk()),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(Zk)))}))})})(OA||={});var kA;(function(e){e.parameters=G({amount:J(U()),feePayer:J(K([ok(),U()])),token:J(X()),zoneId:J(Yk())}),e.schema=Kk({method:q(`wallet_depositZone`),params:J(Y(Tk([e.parameters]))),returns:G({receipt:Zk})})})(kA||={});var AA;(function(e){e.parameters=G({amount:J(U()),token:J(X()),zoneId:J(Yk())}),e.schema=Kk({method:q(`wallet_withdrawZone`),params:J(Y(Tk([e.parameters]))),returns:G({receipt:Zk})})})(AA||={}),_A.parameters,xA.parameters;let jA=qk([rA.schema,iA.schema,sA.schema,aA.schema,oA.schema,lA.schema,cA.schema,uA.schema,dA.schema,gA.schema,bA.schema,OA.schema,kA.schema,SA.schema,mA.schema,CA.schema,hA.schema,vA.schema,yA.schema,wA.schema,pA.schema,EA.schema,DA.schema,AA.schema]),MA=xS();function NA(e){return e.params?G({method:e.method,params:e.params}):G({method:e.method})}let PA=Ck(`method`,jA.map(NA));function FA(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`},IA={payment:`Payment`},LA={evm:`evm`,stripe:`stripe`,tempo:`tempo`},RA={charge:`charge`,session:`session`,subscription:`subscription`},zA={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},BA={v1:`v1`,v2:`v2`};function VA(e,t){if(!(!e||typeof e!=`object`))return e[t]}var HA=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}}}},UA=class extends HA{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 HA{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})}},WA=class extends HA{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 GA(e,t){if(!e)throw new UA({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new UA({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new WA({expires:e})}Ff();function KA(e){let t=lx(e);return JSON.parse(t)}function qA(e){return sx(jf(e),{pad:!1,url:!0})}function JA(){return U().check(QO(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function YA(){return U().check(QO(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function XA(e=`Invalid ISO 8601 datetime`){return Lk(K([YA(),Wk(e=>e instanceof Date)]),Mk(ZA)).check(Gk(e=>Number.isFinite(e.getTime()),e))}function ZA(e){return e instanceof Date?e:new Date(e)}function QA(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function $A(){return U().check(QO(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function ej(){return U().check(QO(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function tj(){return U().check(QO(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}sp();let nj=G({description:J(U()),digest:J(U().check(QO(/^sha-256=/,`Invalid digest format`))),expires:J(YA()),header:J(U().check(QO(/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,`Invalid HTTP header name`))),id:U().check(ZO(1)),intent:U(),method:U(),meta:J(Dk(U(),U())),opaque:J(U()),realm:U(),request:Dk(U(),mk())});function rj(e,t){let{description:n,digest:r,meta:i,method:a,header:o,intent:s,realm:c,request:l,secretKey:u}=e,d=vj(o)?void 0:o,f=e.expires?QA(e.expires):void 0,p=e.opaque??(i===void 0?void 0:qA(i)),m=u?yj({...e,expires:f,...i!==void 0&&{meta:i},opaque:p},{secretKey:u}):e.id;return nj.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 ij(e){let t=[aj(`id`,e.id),aj(`realm`,e.realm),aj(`method`,e.method),aj(`intent`,e.intent),aj(`request`,qA(e.request))];e.description!==void 0&&t.push(aj(`description`,e.description)),e.digest!==void 0&&t.push(aj(`digest`,e.digest)),e.expires!==void 0&&t.push(aj(`expires`,e.expires));let n=e.header;return n!==void 0&&!vj(n)&&t.push(aj(`header`,n)),e.opaque===void 0?e.meta!==void 0&&t.push(aj(`opaque`,qA(e.meta))):t.push(aj(`opaque`,e.opaque)),`${IA.payment} ${t.join(`, `)}`}function aj(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 oj(e,t){let n=sj(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=cj(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 rj({...a,request:KA(r),...i&&{opaque:i}},t)}function sj(e){let t=IA.payment,[n]=fj(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 cj(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]=lj(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function lj(e,t){if(e[t]===`\"`)return uj(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function uj(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 dj(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 fj(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(!dj(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 pj(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return mj(e.headers,t)}function mj(e,t){let n=e.get(Q.wwwAuthenticate);if(!n)throw Error(`Missing ${Q.wwwAuthenticate} header.`);return hj(n,t)}function hj(e,t){let n=fj(e,IA.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 oj(e.slice(r,a).replace(/,\\s*$/,``),t)})}function gj(e){let t=[e.realm,e.method,e.intent,qA(e.request),e.expires??``,e.digest??``],n=e.header;return n!==void 0&&!vj(n)&&t.push(n),t.push(e.opaque??(e.meta?qA(e.meta):``)),t.join(`|`)}function _j(e){return e.header??Q.authorization}function vj(e){return e?.toLowerCase()===Q.authorization.toLowerCase()}function yj(e,t){let n=gj(e);return ax(__(Vf(t.secretKey),Vf(n),{as:`Bytes`}),{url:!0,pad:!1})}let bj=Symbol.for(`mppx.x402.challenge`);function xj(e){return Object.defineProperty(e,bj,{value:!0}),e}function Sj(e){return!!e?.[bj]}function Cj(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=Oj(n)}return t}function wj(e,t){let n=Cj(e),r=Fj(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[Oj(e)]??1,index:t}));return{definition:r,entries:i,header:Ej(i),keys:n}}function Tj(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)=>Nj(e,t))}function Ej(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${zj(n)}`}).join(`, `)}function Dj(e,t,n){let r=new Map;for(let e of t){let t=Oj(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(Oj(e));if(!i)return[];let a=kj(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)=>Mj(e.challenge)-Mj(t.challenge)||t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function Oj(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function kj(e,t){let n;for(let r of t){if(!Aj(e,r))continue;let t={...r,specificity:jj(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 Aj(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function jj(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function Mj(e){return+!!Sj(e)}function Nj(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}`);Bj(r,`method`),Bj(i,`intent`);let a=1;for(let t of Pj(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=Lj(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function Pj(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function Fj(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>Oj(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]=Ij(t,`payment preference \"${e}\"`)}return a}function Ij(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return Rj(e,t)}function Lj(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 Rj(Number(e),t)}function Rj(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 zj(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function Bj(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var Vj=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},Hj=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function Uj(e){let t=e.match(RegExp(`^${IA.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new Vj;try{let e=lx(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=Wj(r);return{challenge:nj.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:KA(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new Hj}}function Wj(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!Gj(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:qA(e)}}function Gj(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function Kj(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:qA(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:qA(r)},payload:e.payload,...e.source&&{source:e.source}},s=sx(JSON.stringify(o),{pad:!1,url:!0});return`${IA.payment} ${s}`}var qj=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 Jj(e){}function Yj(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=Jj,onError:n=Jj,onRetry:r=Jj,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 qj(`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(Xj(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 Zj(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(Xj(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(Zj(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 qj(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new qj(`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 Xj(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 Zj(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 Qj=[`exact`],$j=`PAYMENT-REQUIRED`,eM=`PAYMENT-SIGNATURE`,tM=U().check(ZO(1)),nM=ik().check(Gk(e=>e>0,`Must be positive`)),rM=U().check(QO(/^\\d+$/,`Invalid atomic amount`)),iM=$A(),aM=U().check(QO(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),oM=G({description:J(U()),iconUrl:J(U()),mimeType:J(U()),serviceName:J(U()),tags:J(W(U())),url:tM}),sM=G({amount:rM,asset:tM,extra:J(Dk(U(),mk())),maxTimeoutSeconds:nM,network:aM,payTo:tM,scheme:kk(Qj)}),cM=Dk(U(),G({info:Dk(U(),mk()),schema:Dk(U(),mk())})),lM=G({accepts:W(sM).check(ZO(1)),error:J(U()),extensions:J(cM),resource:oM,x402Version:q(2)}),uM=K([G({authorization:G({from:iM,nonce:ej(),to:iM,validAfter:rM,validBefore:rM,value:rM}),signature:tj()}),G({permit2Authorization:G({deadline:rM,from:iM,nonce:rM,permitted:G({amount:rM,token:iM}),spender:iM,witness:G({to:iM,validAfter:rM})}),signature:tj()})]),dM=G({accepted:sM,extensions:J(cM),payload:uM,resource:J(oM),x402Version:q(2)}),fM=G({amount:J(rM),errorMessage:J(U()),errorReason:J(U()),extensions:J(cM),extra:J(Dk(U(),mk())),network:tM,payer:J(U()),success:ok(),transaction:U()}),pM=[Q.authorization,$j,`PAYMENT-RESPONSE`,eM];function mM(e,t,n){let r=new Headers(e.headers);for(let e of pM)e===Q.authorization&&!r.get(e)?.startsWith(`Payment `)||r.delete(e);return r.set(t,n),{...e,headers:r}}function hM(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 gM=new WeakMap;function _M(e){let t=hM(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 vM(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 yM(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=nj.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 bM(e){if(e)return`error`in e?e.error?.code!==-32042&&e.error?.code!==-32043?void 0:yM(e.error.data):yM(e.result?._meta?.[`org.paymentauth/payment-required`])}function xM(e,t){return!e||e.id!==t?[]:bM(e)?.challenges??[]}async function SM(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=Yj({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=vM(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 CM(e){let t=gM.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(vM).catch(()=>void 0);if(t.includes(`text/event-stream`))return SM(e)})();return gM.set(e,n),n}function wM(){return{getChallenges(e,t){let n=_M(t);return e.status===402||n===void 0?[]:CM(e).then(e=>xM(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=Uj(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function TM(){return{getChallenges(e){return e.status!==402||!e.headers.has(Q.wwwAuthenticate)?[]:pj(e)},setCredential(e,t,n){return mM(e,n?.challenge?_j(n.challenge):Q.authorization,t)}}}function EM(e){return{encode(t){return sx(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(lx(t)))}catch{throw new DM}}}}var DM=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let OM=EM(lM),kM=EM(dM),AM=EM(fM);OM.encode,OM.decode;function jM(e){try{let t=JSON.parse(lx(e));return MM(t)}catch{throw new DM}}kM.encode,kM.decode,AM.encode,AM.decode;let MM=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new DM;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new DM;let n=oM.parse(t.resource),r=t.extensions===void 0?void 0:cM.safeParse(t.extensions).data;return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}};function NM(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get($j);if(!t)return[];let n=jM(t);return n.accepts.flatMap((e,t)=>{let r=sM.safeParse(e);if(!r.success)return[];let i=r.data;return xj(rj({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 mM(e,eM,t)}}}function PM(e){return e}function FM(){let e=[TM(),NM(),wM()],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 PM({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 IM=new WeakMap;function LM(e,t){return IM.set(e,t),e}function RM(e){return IM.has(e)}function zM(e,t){return Promise.resolve(IM.get(e)?.(t))}let BM=new WeakMap,VM=new WeakMap;function HM(e,t){return BM.set(e,t),e}function UM(e){BM.delete(e)}function WM(e,t,n){BM.has(e)&&VM.set(t,n)}function GM(e){return VM.get(e)}function KM(e,t){return Promise.resolve(BM.get(e)?.(t)??t.response)}let qM=Symbol.for(`mppx.fetch.wrapper`),JM,YM=new WeakMap;async function XM(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 ZM(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=FM()}=e,l=e.eventDispatcher??eN(),u=t??wj(a),d=xN(r),f=async(e,t,r)=>{let p=bN(e,t?.headers),m=p.has(Q.acceptPayment),h=EN(p,u),g=vN(e,t,p),_=_N(e,t,p,h.header,m,n),v=await d(SN(_.input),_.init),y=yN(_.init,await g);if(!await c.isPaymentRequired(v,y))return v;let b=t?.context,{context:x,orderChallenges:S,...C}=y??{},w,T,ee,E;try{for(let n=0;n<i;n++){T=await c.getChallenges(v,y);let i=(await DN(Dj(T,a,h.entries),S??s))[0];if(!i){if(await XM(E,{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&&GA(w.expires,w.id);let p=MN(v,_.input,_.input),m=E,g=ij(u),x=m?.method===i.method&&m?.key===g,te=!1;if(m){let e=await XM(m,{challenges:T,response:v,status:x?`pending`:`rejected`});te=x&&!e}E=te?m:void 0;let ne=aN(async e=>{if(e===void 0&&te&&m)return m.promise;te&&m&&(await XM(m,{status:`rejected`}),E=void 0);let t=e??b;if(!RM(i.method))return TN(u,i.method,t);let n={prepare:()=>zM(i.method,{challenge:u,context:t,fetch:d,input:p})},r=n.prepare().then(()=>TN(u,i.method,t,n));return E={attempt:n,key:e===void 0?g:void 0,method:i.method,promise:r},r}),re=await l.emit(`challenge.received`,oN({challenge:u,challenges:T,createCredential:ne,init:t,input:e,method:i.method,response:v}))??(o?await o(w,{createCredential:ne}):void 0)??await ne(),ie=E;ie&&await ie.promise.catch(()=>void 0)!==re&&(await XM(ie,{status:`rejected`}),E=void 0),wN(re),await l.emit(`credential.created`,sN({challenge:u,credential:re,init:t,input:e,method:i.method,response:v})),v=await d(p,c.setCredential({...C,headers:_.headers},re,{challenge:u}));let D=await c.isPaymentRequired(v,y);if(D||(await XM(ie,{response:v,status:v.ok?`accepted`:`rejected`}),E=void 0),v.ok&&tN(l,`payment.response`)&&await l.emit(`payment.response`,cN({challenge:u,credential:re,init:t,input:e,method:i.method,response:v})),!D)return v.ok?KM(i.method,{challenge:u,credential:re,fetch:d,headers:_.headers,input:p,...r?{refetch:()=>f(SN(_.input),t,!1)}:{},response:v,signal:CN(e,t)}):v}T=void 0;try{T=await c.getChallenges(v,y)}catch{}return await XM(E,{challenges:T,response:v,status:`rejected`}),v}catch(n){throw await XM(E,{challenges:T,response:v,status:`rejected`}),await l.emit(`payment.failed`,lN({challenge:w,challenges:T,error:n,init:t,input:e,method:ee,response:v})),n}},p=(e,t)=>f(e,t,!0);return p[qM]=d,p}function QM(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);JM||=globalThis.fetch,globalThis.fetch=ZM({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(AN()?`same-origin`:`always`),fetch:globalThis.fetch})}function $M(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 eN(){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 nN(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await iN(e[`*`],t,n),r}case`credential.created`:await rN(e[`credential.created`],n),await iN(e[`*`],t,n);return;case`payment.failed`:await rN(e[`payment.failed`],n),await iN(e[`*`],t,n);return;case`payment.response`:await rN(e[`payment.response`],n),await iN(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 YM.set(t,t=>e[t].size>0||e[`*`].size>0),t}function tN(e,t){return YM.get(e)?.(t)??!0}async function nN(e,t){try{return await e(t)}catch{return}}async function rN(e,t){for(let n of e)try{await n(t)}catch{}}async function iN(e,t,n){await rN(e,Object.freeze({name:t,payload:n}))}function aN(e){let t;return n=>(t??=e(n),t)}function oN(e){return Object.freeze({challenge:mN(e.challenge),challenges:e.challenges.map(e=>mN(e)),createCredential:e.createCredential,init:uN(e.init),input:dN(e.input),method:fN(e.method),response:pN(e.response)})}function sN(e){return Object.freeze({challenge:mN(e.challenge),credential:e.credential,init:uN(e.init),input:dN(e.input),method:fN(e.method),...e.response===void 0?{}:{response:pN(e.response)}})}function cN(e){return Object.freeze({challenge:mN(e.challenge),credential:e.credential,init:uN(e.init),input:dN(e.input),method:fN(e.method),response:pN(e.response)})}function lN(e){return Object.freeze({...e.challenge?{challenge:mN(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>mN(e))}:{},error:e.error,init:uN(e.init),input:dN(e.input),...e.method?{method:fN(e.method)}:{},...e.response===void 0?{}:{response:pN(e.response)}})}function uN(e){if(e)return gN({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function dN(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function fN(e){return gN(Object.assign({},e))}function pN(e){return e instanceof Response?e.clone():mN(e)}function mN(e){try{return hN(structuredClone(e))}catch{return gN(e)}}function hN(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))hN(t);return e}function gN(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function _N(e,t,n,r,i,a){let o=!!r&&!i&&ON(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 vN(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 yN(e,t){return t===void 0?e:{...e,body:t}}function bN(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function xN(e){let t=e;for(;t[qM];)t=t[qM];return t}function SN(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function CN(e,t){return t?.signal??(e instanceof Request?e.signal:void 0)}function wN(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 TN(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&&WM(t,a,r),t.createCredential(a)}function EN(e,t){let n=e.get(Q.acceptPayment);if(!n)return t;try{return{...t,entries:Tj(n),header:n}}catch{return t}}async function DN(e,t){return t?t(e):e}function ON(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=jN(e);return t===`same-origin`?!AN()||n.origin===globalThis.location.origin:t.origins.some(e=>kN(n,e))}function kN(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 AN(){return globalThis.location!==void 0}function jN(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,AN()?globalThis.location.href:void 0)}function MN(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=jN(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 NN(e){return e}function PN(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function FN(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 P(r)}}function IN(e){return Object.fromEntries(Object.entries(e.headers??{}).filter(([e])=>e.toLowerCase()!==`content-type`))}let LN={[dE.id]:dE,[fE.id]:fE};function RN(e,t={}){return Zb(e.url,{fetchFn:e.fetch,fetchOptions:{headers:IN(e)},...t})}function zN(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=WE(Kb({request:t=>e(t)},{retryCount:0}),RN(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,...e.chainId===void 0?{}:{id:e.chainId},...a.chain,formatters:a.chain?.formatters??t.formatters,prepareTransactionRequest:a.chain?.prepareTransactionRequest??t.prepareTransactionRequest,serializers:a.chain?.serializers?.transaction?a.chain.serializers:t.serializers}})}:({chainId:e})=>{if(!i)throw Error(\"No `rpcUrl` provided.\");let n=e||Number(Object.keys(i)[0]),a=i[n];if(!a)throw Error(`No \\`rpcUrl\\` configured for \\`chainId\\` (${n}).`);let o=r?WE(Zb(a),RN(r)):Zb(a);return Eh({chain:LN[n]??{...t,id:n},transport:o})}}function BN(e,t){if(t!==void 0&&e.chain?.id!==void 0&&e.chain.id!==t)throw Error(`Chain ID mismatch: expected ${t}, got ${e.chain.id}.`)}function VN(e,t){if(e!==void 0&&(t===void 0||!e.includes(t)))throw Error(`Chain ID not allowed: ${t??`unknown`}.`)}let HN={mainnet:4217,testnet:42431},UN={usdc:`0x20C000000000000000000000b9537d11c60E8b50`,pathUsd:`0x20c0000000000000000000000000000000000000`},WN={[HN.mainnet]:UN.usdc,[HN.testnet]:UN.pathUsd},GN=Object.freeze({[HN.mainnet]:Object.freeze({swap:`0xF72E5107c32C655ffA7539a3C8e97B7C3cE16A3F`,token:`0x20c000000000000000000000f37de3740ADec032`}),[HN.testnet]:Object.freeze({swap:`0xd05f8EdFBB54Da0d765C9fE9b2B3f7d2E3a8C466`,token:`0x20c000000000000000000000f37de3740ADec032`})}),KN={[HN.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[HN.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},qN={[HN.mainnet]:`https://rpc.tempo.xyz`,[HN.testnet]:`https://rpc.moderato.tempo.xyz`},JN=[`push`,`pull`],YN=G({amount:JA(),memo:J(ej()),recipient:Lk(U(),Mk(e=>e))}),XN=(1n<<64n)-1n,ZN={dev_second:1n,day:86400n,week:604800n},QN=Lk($A(),Mk(e=>e.toLowerCase())),$N=G({accessKeyAddress:QN,keyType:kk([`p256`,`secp256k1`,`webAuthn`])}),eP=G({accessKey:J($N),chainId:J(ik())}),tP=XA(`subscriptionExpires must be a valid date`).check(Gk(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),nP=kk([`dev_second`,`day`,`week`]),rP=Lk(K([U(),ck(),Wk(e=>typeof e==`number`&&Number.isSafeInteger(e))]),Mk(e=>e.toString())).check(QO(/^[1-9]\\d*$/,`Invalid periodCount`),Gk(e=>{try{return BigInt(e)<=XN}catch{return!1}},`periodCount exceeds uint64`));function iP(e){return Gk(e=>{let{amount:t,decimals:n}=e;return Ay(t,n)>0n},e)}function aP(e){let{periodCount:t,periodUnit:n}=e;try{let e=ZN[n];return e!==void 0&&BigInt(t)*e<=XN}catch{return!1}}let oP=NN({name:`tempo`,intent:`charge`,schema:{credential:{payload:Ck(`type`,[G({hash:ej(),type:q(`hash`)}),G({signature:tj(),type:q(`transaction`)}),G({signature:tj(),type:q(`proof`)})])},request:Lk(G({machineTokenEnabled:J(ok()),amount:JA(),chainId:J(ik()),currency:U(),decimals:ik(),description:J(U()),externalId:J(U()),feePayer:J(Lk(K([ok(),Wk()]),Mk(e=>typeof e==`object`||e))),memo:J(gk()),recipient:J(U()),splits:J(W(YN).check(ZO(1),XO(10))),supportedModes:J(W(kk(JN)).check(ZO(1)))}).check(Gk(({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`)),Mk(({machineTokenEnabled:e,amount:t,chainId:n,decimals:r,feePayer:i,memo:a,splits:o,supportedModes:s,...c})=>({...c,amount:Ay(t,r).toString(),...e!==void 0||n!==void 0||i!==void 0||o!==void 0||s!==void 0?{methodDetails:{...e!==void 0&&{machineTokenEnabled:e},...n!==void 0&&{chainId:n},...i!==void 0&&{feePayer:i},...o!==void 0&&{splits:o.map(e=>({...e,amount:Ay(e.amount,r).toString()}))},...s!==void 0&&{supportedModes:s}}}:{}})))}}),sP=NN({name:`tempo`,intent:`session`,schema:{credential:{payload:Ck(`action`,[G({action:q(`open`),authorizedSigner:J(U()),channelId:ej(),cumulativeAmount:JA(),descriptor:J(Wk()),signature:tj(),transaction:tj(),type:q(`transaction`)}),G({action:q(`topUp`),additionalDeposit:JA(),channelId:ej(),descriptor:J(Wk()),transaction:tj(),type:q(`transaction`)}),G({action:q(`voucher`),channelId:ej(),cumulativeAmount:JA(),descriptor:J(Wk()),signature:tj()}),G({action:q(`close`),channelId:ej(),cumulativeAmount:JA(),descriptor:J(Wk()),signature:tj()})])},request:Lk(G({amount:JA(),chainId:J(ik()),channelId:J(ej()),currency:U(),decimals:ik(),escrowContract:J(U()),feePayer:J(Lk(K([ok(),Wk()]),Mk(e=>typeof e==`object`||e))),feeToken:J($A()),minVoucherDelta:J(JA()),operator:J($A()),recipient:J(U()),sessionProtocol:J(kk([BA.v2,BA.v1])),sessionSnapshot:J(Wk()),suggestedDeposit:J(JA()),unitType:U()}).check(Gk(({amount:e,decimals:t})=>Ay(e,t)>0n,`Session amount must be greater than 0`)),Mk(({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&&{[zA.sessionProtocol]:l},...u!==void 0&&{[zA.sessionSnapshot]:u}}})))}}),cP=NN({name:`tempo`,intent:`subscription`,schema:{credential:{payload:G({signature:tj(),type:q(`keyAuthorization`)})},request:Lk(G({amount:JA(),accessKey:J($N),chainId:J(ik()),currency:QN,decimals:ik(),description:J(U()),externalId:J(U()),methodDetails:J(eP),periodCount:rP,periodUnit:nP,recipient:QN,subscriptionExpires:tP}).check(iP(`Subscription amount must be greater than 0`),Gk(aP,`Subscription period exceeds uint64`)),Mk(({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}:{}}}))}});z(),Ni(),ef();let lP=(1n<<64n)-1n,uP={dev_second:1n,day:86400n,week:604800n};function dP(e){return e instanceof Date?e:new Date(e)}function fP(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 pP(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=uP[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>lP)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 mP(e){let{challengeExpires:t,request:n}=e;pP(n);let r=fP(dP(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 hP(e){return[{address:OP(e.currency,`currency`),selector:`0x95777d59`,recipients:[OP(e.recipient,`recipient`)]}]}function gP(e){try{let t=dp(cx(e));if(gp(t)!==32)throw Error(`invalid challenge id size`);return t}catch{throw new $({reason:`challenge id must encode 32 bytes`})}}async function _P(e){let{accessKey:t,account:n,challengeId:r,chainId:i,request:a}=e;if(typeof n.sign!=`function`)return;let o=yP({accessKey:t,challengeId:r,chainId:i,request:a}),s=await n.sign({hash:ew(o)}),c=uC(s);if(c.type===`keychain`||c.type===`multisig`)throw new $({reason:`keyAuthorization must use a primitive signature`});return ZC(o,{signature:s})}function vP(e){let{accessKey:t,challengeId:n,chainId:r,payload:i,request:a}=e;if(i.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let o=bP(i.signature),s=xP(o);if(SP({accessKey:t,authorization:o,chainId:r}),o.witness?.toLowerCase()!==gP(n))throw new $({reason:`keyAuthorization challenge mismatch`});return CP(o,a),TP(wP(o),a),EP(o.scopes,a),{authorization:o,source:{address:DP(o,s),chainId:r}}}function yP(e){let{accessKey:t,challengeId:n,chainId:r,request:i}=e;return ZC({address:OP(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(r),expiry:fP(dP(i.subscriptionExpires)),limits:[{token:OP(i.currency,`currency`),limit:BigInt(i.amount),period:pP(i)}],scopes:hP(i),type:t.keyType,witness:gP(n)})}function bP(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 xP(e){let t=e.signature;if(!t)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function SP(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!$d(n.address,OP(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function CP(e,t){if(mP({request:t}),e.expiry!==fP(dP(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function wP(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function TP(e,t){if(!$d(e.token,OP(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==pP(t))throw new $({reason:`keyAuthorization period mismatch`})}function EP(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=OP(t.currency,`currency`),r=OP(t.recipient,`recipient`),i=new Set;for(let t of e){if(!$d(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=kP(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||!$d(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function DP(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 OP(e,t){if(!Ai(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function kP(e){return typeof e==`string`?e.toLowerCase():``}z(),ef();let AP=G({accessKey:J(Wk()),account:J(Wk())});function jP(e={}){let t=zN({chain:dE,getClient:e.getClient,rpcUrl:qN}),n=FN({account:e.account});return PN(cP,{context:AP,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??HN.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.\");NP(r.request),await e.validateRequest?.(r.request);let l=await MP(o,{accessKey:c,account:s,challengeId:r.id,chainId:a,request:r.request});if(!$d(vP({accessKey:c,challengeId:r.id,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 Kj({challenge:r,payload:{signature:rw(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function MP(e,t){let{accessKey:n,account:r,challengeId:i,chainId:a,request:o}=t;return await _P({accessKey:n,account:r,challengeId:i,chainId:a,request:o})||QC((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:fP(dP(o.subscriptionExpires)),keyType:n.keyType,limits:[{token:o.currency,limit:L(BigInt(o.amount)),period:pP(o)}],scopes:hP(o),witness:gP(i)}]})).keyAuthorization)}function NP(e){pP(e),fP(dP(e.subscriptionExpires))}sp(),z();let PP=R(g_(Vf(`mpp`),{as:`Hex`}),0,4);function FP(e){return yp(R(g_(Vf(e),{as:`Hex`}),0,10))}function IP(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(yp(PP),0),i[4]=1,i.set(FP(t),5),n&&i.set(FP(n),15),i.set(LP(r),25),dp(i)}function LP(e){return yp(R(g_(Vf(e),{as:`Hex`}),0,7))}function RP(e,t){return SC(e).toLowerCase()===SC(t).toLowerCase()}let zP=[UN.pathUsd,UN.usdc];async function BP(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!RP(e,i)),c=await Promise.allSettled([Km(e,yE.call(e,{account:n,token:i})),...s.map(t=>Km(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 HP({currency:i})}}function VP(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>RP(e,t)))]:t,slippage:e.slippage??1}:!1}var HP=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function UP(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 WP(e,t,n){t&&(n&&!n.some(e=>RP(e,t))||e.some(e=>RP(e,t))||e.push(t))}async function GP(e,t,n){try{return(await yE(e,{account:t,token:n})).amount>0n}catch{return!1}}function KP(e){let t=e.chain?.feeToken;if(t)return IC(t);let n=e.chain?.id;return n?WN[n]:void 0}function qP(e){let t=[];return WP(t,UN.pathUsd),WP(t,WN[e]),t}async function JP(e){let{account:t,allowedTokens:n,candidateTokens:r,client:i,prioritizeCandidates:a}=e,o=[];if(a)for(let e of r??[])WP(o,e,n);if(WP(o,await LE(i,{account:t}).then(e=>e?.address).catch(()=>void 0),n),WP(o,KP(i),n),!a)for(let e of r??[])WP(o,e,n);for(let e of o)if(await GP(i,t,e))return e;return o[0]}va(),Ni(),ef(),At(),Gm();let YP=kt([`function swapTo(address inputToken,uint256 amount,address targetToken,address recipient,bytes32 memo)`]);function XP(e){if(e!==void 0)return GN[e]}function ZP(e){let t=XP(e.chainId);return!!t&&Ai(e.currency,{strict:!1})&&$d(e.currency,t.token)}function QP(e){let t=XP(e.chainId),n=e.transfers.length===1?e.transfers[0]:void 0;if(!t||!n?.memo)return;let r=BigInt(n.amount),i=n.memo;return{calls:[{data:_a({abi:B,functionName:`approve`,args:[t.swap,r]}),to:t.token},{data:_a({abi:YP,functionName:`swapTo`,args:[t.token,r,e.currency,n.recipient,i]}),to:t.swap}],settlementSender:t.swap,transfers:[{amount:r,memo:i,recipient:n.recipient}]}}async function $P(e,t){let n=QP(t);if(n)try{return await Km(e,yE.call(e,{account:t.account,token:n.calls[0].to}))<n.transfers[0].amount?void 0:(await Pm(e,{account:t.account,calls:n.calls}),n)}catch{return}}let eF={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function tF(e){return{name:`MPP`,version:`3`,chainId:e}}function nF(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function rF(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:tF(n),types:eF,primaryType:`Proof`,message:nF({account:t,challengeId:r,realm:i})}}function iF(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let aF=G({account:J(Wk()),autoSwap:J(Wk()),mode:J(kk(JN))});function oF(e={}){let{clientId:t}=e,n=zN({chain:dE,getClient:e.getClient,rpcUrl:qN}),r=FN({account:e.account});return PN(oP,{context:aF,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}.`);(o!==void 0||e.allowedChainIds?.length===0)&&VN(e.allowedChainIds,o);let s=o??e.expectedChainId??(e.allowedChainIds?.length===1?e.allowedChainIds[0]:void 0),c=await n({chainId:s});BN(c,s);let l=s??c.chain?.id;if(VN(e.allowedChainIds,l),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(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase()));if(!u.recipient||!t.has(u.recipient.toLowerCase()))throw Error(`Unexpected primary recipient: ${u.recipient}`);let n=f?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}if(BigInt(d)===0n)return Kj({challenge:i,payload:{signature:await Bb(c,{account:m,...rF({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:iF({address:m.address,chainId:l})});let h=u.currency,g=ZP({chainId:l,currency:h}),_=IP({challengeId:i.id,clientId:t,serverId:i.realm}),v=UP({amount:d,methodDetails:{...f,memo:_},recipient:u.recipient}),y=v.map(e=>NE.call(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),b=VP(a?.autoSwap??e.autoSwap,zP),x=f?.machineTokenEnabled===!0,S=async t=>await e.resolveAccount?.({account:m,chainId:l,operation:{kind:`executeCalls`,...t?{calls:t}:{}}})??m,C=x?QP({chainId:l,currency:h,transfers:v}):void 0,w=m,T;if(C){let e=await(async()=>{try{return await S(C.calls)}catch{return}})();e&&(T=await $P(c,{account:e.address,chainId:l,currency:h,transfers:v}),T&&(w=e))}let ee;T||(w=await S(b?void 0:y),ee=b?await BP(c,{account:w.address,amountOut:BigInt(d),tokenOut:h,tokenIn:b.tokenIn,slippage:b.slippage}):void 0);let E=T?.calls??[...ee??[],...y],te=qP(l),ne=T||g?await JP({account:w.address,allowedTokens:te,candidateTokens:te,client:c,prioritizeCandidates:!0}):void 0,re=(()=>{let t=a?.mode??e.mode;if(t){if(!p.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=w.type===`json-rpc`?`push`:`pull`;return p.includes(n)?n:p[0]})(),ie=(()=>{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(re===`push`){let{receipts:e}=w.type===`local`?{receipts:[await xb(c,{account:w,calls:E,...ne?{feeToken:ne}:{},nonceKey:`expiring`,validBefore:ie})]}:await Fb(c,{account:w,...ne?{capabilities:{feeToken:ne}}:{},calls:E,experimental_fallback:E.length===1,forceAtomic:E.length>1}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return Kj({challenge:i,payload:{hash:t,type:`hash`},source:iF({address:w.address,chainId:l})})}let D=await Xd(c,{account:w,calls:E,...ne?{feeToken:ne}:{},nonceKey:`expiring`,validBefore:ie});if(D.gas=(D.gas??0n)+5000n,f?.feePayer){let e=D;delete e.feePayerSignature,delete e.feeToken,e.feePayer=!0}return Kj({challenge:i,payload:{signature:await zb(c,D),type:`transaction`},source:iF({address:w.address,chainId:l})})}})}function sF(e){return`accessKeyAddress`in e}function cF(e){return sF(e)?e.accessKeyAddress:e.address}function lF(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let uF={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function dF(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function fF(e,t,n){return bg({domain:lF(e,t),types:uF,primaryType:`Voucher`,message:dF(n)})}async function pF(e,t,n,r,i){return Bb(e,{account:t,domain:lF(r,i),types:uF,primaryType:`Voucher`,message:dF(n)})}function mF(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 hF(e){return e.type!==`keychain`&&e.type===`secp256k1`}function gF(e){if(!hF(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function _F(e,t,n,r,i,a){let o=a??t,s=cF(o),c=fF(r,i,n),l=mF(sF(o)?await o.sign({hash:c,raw:!0}):await pF(e,o,n,r,i)),u=uC(l);if(gF(u),!gC(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function vF(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 yF=[{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:[]}];fa(),ca();async function bF(e,t,n){return Km(e,{address:t,abi:yF,functionName:`getChannel`,args:[n]})}la({abi:yF,name:`open`}),la({abi:yF,name:`topUp`}),z(),va();function xF(e,t){return t??e}function SF(e,t,n,r=!1){let i=e.request.methodDetails?.escrowContract,a=n??KN[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 CF(e,t,n,r){return Kj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function wF(e,t,n,r,i,a,o){let s=xF(t,o),c=await _F(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=xF(t,n.voucherSigner),d=cF(u),f=hp(32),p=vF({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=_a({abi:B,functionName:`approve`,args:[r,o]}),h=_a({abi:yF,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await Xd(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 _F(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 EF(e,t,n,r){try{let i=await bF(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 DF=G({account:J(Wk()),action:J(kk([`open`,`topUp`,`voucher`,`close`])),channelId:J(U()),cumulativeAmount:J(JA()),cumulativeAmountRaw:J(U()),transaction:J(U()),additionalDeposit:J(JA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function OF(e={}){let{allowCustomEscrow:t=!1,decimals:n=6}=e,r=zN({chain:dE,getClient:e.getClient,rpcUrl:qN}),i=FN({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 SF(n,r,e)}return SF(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 EF(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()!==cF(C).toLowerCase()&&(T=void 0);let ee;if(T?.opened)T.cumulativeAmount+=y,ee=await wF(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 CF(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 _F(f,i,{channelId:_,cumulativeAmount:v},b,u,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:cF(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 wF(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 _F(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 CF(t,x,u,i)}return PN(sP,{canHandleChallenge({challenge:e}){let t=VA(e.request.methodDetails,zA.sessionProtocol);return t===void 0||t===BA.v1},context:DF,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 kF=(1n<<96n)-1n;function AF(e){return e>=0n&&e<=kF}function jF(e){if(!/^\\d{1,29}$/.test(e))return;let t=BigInt(e);return AF(t)?t:void 0}function MF(e){return NF(e),e}function NF(e){if(!AF(e))throw Error(`Value ${e} is outside uint96 bounds.`)}let PF=new Set([`open`,`topUp`,`voucher`,`close`]);function FF(e){return typeof e==`object`&&!!e}function IF(e){return typeof e==`string`&&PF.has(e)}function LF(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.channelId!=`string`||t.action!==void 0&&!IF(t.action))}function RF(e,t=`No session credential context available.`){if(!LF(e))throw Error(t);return e}function zF(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function BF(e){return FF(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function VF(e){return FF(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 HF(e){let t=lx(e),n=JSON.parse(t);if(!VF(n))throw Error(`Invalid session receipt.`);return n}function UF(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function WF(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=GF(r);return BF(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=GF(r);return VF(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function GF(e){try{return JSON.parse(e)}catch{return null}}function KF(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function qF(){return JSON.stringify({mpp:`payment-close-request`})}function JF(e){let t=YF(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`&&VF(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`&&BF(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&VF(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function YF(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let XF=`0x4d50500000000000000000000000000000000000`,ZF={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function QF(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=OF({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=ZM({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`);re(t),re(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 E(e){if(!g)return;let t=g;g=null,t.reject(e)}function te(e){if(!m)return;let t=m;m=null,t.reject(e)}function ne(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 re(e){if(i!==null&&!(e<=i))throw Error(`requested voucher amount ${e} exceeds local maxDeposit ${i}`)}function ie(e){let t=e.headers.get(Q.paymentReceipt),n=t?HF(t):null;return x(n),Object.assign(e,{receipt:n,challenge:o,channelId:a?.channelId??null,cumulative:a?.cumulativeAmount??0n})}async function D(e,t){return s=e,ie(await b(e,t))}function ae(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`&&i.once===!0,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=ZF.CLOSED,r=null}if(e===`open`&&(i=ZF.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:D,async sse(e,t){let{onReceipt:r,signal:i,...s}=t??{},c=await D(e,{...s,headers:{...$M(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=WF(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);re(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 $F(Dj(pj(S),[y],wj([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 ne=await y.createCredential({challenge:w,context:{}});p=null,u=w,_=0n,v=BigInt(w.request.amount);let ie=Uj(ne);d=ie.payload.channelId;let D=new r(g,l);f=D;let oe=ae(D),se=e=>{E(Error(e)),te(Error(e)),(D.readyState===ZF.CONNECTING||D.readyState===ZF.OPEN)&&D.close(3008,e)},ce=e=>e.challengeId===w.id&&e.channelId===d,le=new Promise((e,t)=>{let n=()=>{D.removeEventListener(`error`,r),oe.emit(`open`,{type:`open`}),e()},r=()=>{D.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${g} failed to open.`))};D.addEventListener(`open`,n,{once:!0}),D.addEventListener(`error`,r,{once:!0})});return D.addEventListener(`close`,e=>{f===D&&(f=null),u===w&&(u=null),d===ie.payload.channelId&&(d=null),h=null,E(Error(`WebSocket closed before the payment flow completed.`)),te(Error(`WebSocket closed before the payment flow completed.`)),oe.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),D.addEventListener(`error`,()=>{oe.emit(`error`,{type:`error`})}),D.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=JF(t);if(!n){oe.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:_+=1n,oe.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!ce(n.data)){se(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(a?.cumulativeAmount??0n)){se(`received payment-close-ready beyond local voucher state`);break}x(n.data),c?.(n.data),ee(n.data),oe.emit(`close`,{code:1e3,reason:`stream complete`,type:`close`});break;case`payment-error`:E(Error(n.message)),te(Error(n.message));break;case`payment-need-voucher`:{if(n.data.channelId!==d){se(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{re(e)}catch(e){se(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()}});D.send(KF(r));break}case`payment-receipt`:if(!ce(n.data)){se(`received mismatched payment-receipt frame`);break}if(h!==null&&n.data.txHash&&(n.data.acceptedCumulative!==h||n.data.spent!==h)){se(`received mismatched payment-close receipt frame`);break}x(n.data),c?.(n.data),T(n.data)}}),m&&m.addEventListener(`abort`,()=>{E(Error(`WebSocket payment flow aborted.`)),te(Error(`WebSocket payment flow aborted.`)),D.close()},{once:!0}),await le,D.send(KF(ne)),await C(),oe.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===ZF.OPEN){let n=p??await(async()=>(f.send(qF()),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(KF(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(ne(e,t));if(n>a.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return re(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?HF(c):void 0}}}async function $F(e,t){let n=t;return n?n(e):e}z();function eI(e){return BigInt(e.authorizedSigner)===0n?e.payer:e.authorizedSigner}function tI(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 nI(e){return kw(e)}function rI(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function iI(e,t){return g_(I(nI(e),t.sender))}let aI=[{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`}],oI=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],sI={name:`descriptor`,type:`tuple`,components:aI},cI=[{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:[sI,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[sI,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[sI,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[sI],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[sI],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[sI],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:aI},{name:`state`,type:`tuple`,components:oI}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:oI}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:oI}]},{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 lI(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let uI={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function dI(e,t){return YC({chainId:e,channelId:t.channelId,cumulativeAmount:t.cumulativeAmount})}function fI(e,t,n){return e.toLowerCase()===`0x4d50500000000000000000000000000000000000`?dI(t,n):bg({domain:lI(e,t),types:uI,primaryType:`Voucher`,message:{channelId:n.channelId,cumulativeAmount:n.cumulativeAmount}})}function pI(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function mI(e,t){return cT(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function hI(e,t,n,r,i){let a=uC(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await mI(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return Bb(e,{account:t,domain:lI(r,i),types:uI,primaryType:`Voucher`,message:n})})());if(!pI(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return pC(a)}function gI(e,t,n,r){try{let i=uC(n.signature);if(!pI(i.type)||pC(i).toLowerCase()!==n.signature.toLowerCase())return!1;let a=fI(e,t,n),o=oC({payload:a,signature:i});return gC(i,{address:o,payload:a})&&RP(o,r)}catch{return!1}}z(),va(),Ni();function _I(e){return typeof e==`object`&&!!e}function vI(e){return typeof e==`string`&&Ai(e,{strict:!1})?e:void 0}function yI(e){return vI(e.accessKeyAddress)}function bI(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(hp(8))%e)}function xI(e){return yI(e)??e.address}async function SI(e,t){let{account:n,calls:r,feePayer:i,feeToken:a,validAfter:o}=t;return Xd(e,{account:n,calls:r,nonceKey:`expiring`,...i?{feePayer:!0}:{},feeToken:a,...o===void 0?{}:{validAfter:o}})}async function CI(e,t){return await zb(e,t)}function wI(e,t,n=!1){let r=e.request.methodDetails,i=_I(r)?vI(r.escrowContract)??vI(r.escrow):void 0,a=t??`0x4d50500000000000000000000000000000000000`;if(i&&!EI(i,a)&&(!n||t!==void 0))throw Error(`Tempo session escrow ${i} does not match client escrow ${a}.`);return i&&!EI(i,a)?i:a}function TI(e,t,n,r){return Kj({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function EI(e,t){return e.toLowerCase()===t.toLowerCase()}async function DI(e,t,n,r,i,a=XF){let o=tI({...n,chainId:i,escrow:a}),s=MF(r),c=await hI(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function OI(e,t,n,r,i,a=XF){let o=await DI(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function kI(e,t,n){let r=xI(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=hp(32),s=MF(n.deposit),c=MF(n.initialAmount),l=_a({abi:cI,functionName:`open`,args:[n.payee,a,n.token,s,o,r]}),u=await CI(e,await SI(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:iI(rI({...n.feePayer?{feePayer:!0}:{},transaction:d}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},p=tI({...f,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:p,transaction:u,signature:await hI(e,t,{channelId:p,cumulativeAmount:c},i,n.chainId),descriptor:f,cumulativeAmount:c.toString(),authorizedSigner:f.authorizedSigner}}async function AI(e,t,n,r,i,a,o=XF,s=[],c=n.token){let l=tI({...n,chainId:i,escrow:o}),u=MF(r);return{action:`topUp`,type:`transaction`,channelId:l,transaction:await CI(e,await SI(e,{account:t,calls:[...s,{to:o,data:_a({abi:cI,functionName:`topUp`,args:[n,u]})}],feePayer:a,feeToken:c,validAfter:bI()})),descriptor:n,additionalDeposit:u.toString()}}function jI(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function MI(e){return jI({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function NI(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(MI(t),t)},delete(t){e.delete(t)}}}let PI=2n**96n-1n;function FI(e){if(e<0n||e>PI)throw new $({reason:`amount exceeds uint96 range`})}async function II(e,t,n=XF,r){return LI(await Km(e,{address:n,abi:cI,functionName:`getChannelState`,args:[t],...r===void 0?{}:{blockNumber:r}}))}function LI(e){return FI(e.settled),FI(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Ni();let RI=Wk(e=>typeof e==`string`&&Ai(e,{strict:!1})),zI=Wk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),BI=EM(G({acceptedCumulative:U(),chainId:ik(),channelId:zI,closeRequestedAt:J(U()),deposit:U(),descriptor:G({authorizedSigner:RI,expiringNonceHash:zI,operator:RI,payee:RI,payer:RI,salt:zI,token:RI}),escrow:RI,highestVoucher:J(G({channelId:zI,cumulativeAmount:U(),signature:Wk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]+$/.test(e))})),requiredCumulative:U(),settled:U(),spent:U(),units:J(ik())}));function VI(e){return BI.encode(e)}function HI(e){return BI.decode(e)}let UI={status:`idle`};function WI(e){return{status:`active`,...e}}function GI(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?XI(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?XI(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:JI(e.challengeId,t.snapshot),effects:[]}:XI(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?XI(e,t):{state:cL({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:YI(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:XI(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?XI(e,t):{state:dL(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?qI({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):XI(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:XI(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?XI(e,t):{state:YI(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}]}:XI(e,t);case`settled`:return e.status===`settling`?{state:YI(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:XI(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:XI(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:XI(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?XI(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`?XI(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function KI(e,t){let n=GI(e.state,t);return e.state=n.state,n}function qI(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 JI(e,t){return WI({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function YI(e,t,n,r){return WI({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function XI(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function ZI(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function QI(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`);ZI({cumulativeAmount:i,maxVoucherCumulative:n}),ZI({cumulativeAmount:a,maxVoucherCumulative:n})}function $I(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;QI({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function eL(e,t){return typeof e==`bigint`?e:Ay(e,t)}function tL(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(rL(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 nL(e){let{deposit:t,maxDeposit:n,requiredCumulative:r,suggestedDeposit:i,topUpAmount:a}=e;if(r<=t)return 0n;ZI({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 rL(e,t){ZI({cumulativeAmount:e,maxVoucherCumulative:t??null})}function iL(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 aL(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function oL(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(!AF(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>aL({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function sL(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:i=0n,receipt:a}=e,o=jF(r),s=jF(a.spent);return o===void 0||s===void 0||!AF(i)?!1:!!a.txHash&&a.challengeId===t&&a.channelId===n&&a.acceptedCumulative===r&&s>=i&&s<=o}function cL(e){return WI({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 lL(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:UI}}function uL(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=$I({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&KI(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function dL(e,t){return WI({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function fL(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=jF(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 pL(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 GI(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function mL(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 hL(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 gL(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(qF()),e.waitForCloseReady()))(),a=BigInt(i.spent);oL({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=>sL({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,minimumSpent:a,receipt:e}));t.send(KF(o));let c=await i;return t.close(),n.closeReadyReceipt=null,c}finally{n.expectedCloseAmount=null}}Ni();function _L(e){return`cumulativeAmount`in e}function vL(e){if(_L(e))return BigInt(e.cumulativeAmount)}async function yL(e,t){t.opened?await e.store.set(t):await e.store.delete(MI(t)),e.notifyUpdate(t)}async function bL(e,t,n){let r=vL(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 yL(e,i))}let xL=Wk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),SL=G({account:J(Wk()),autoSwap:J(Wk()),action:J(kk([`open`,`topUp`,`voucher`,`close`])),channelId:J(Wk(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:J(JA()),cumulativeAmountRaw:J(U()),transaction:J(xL),descriptor:J(Wk()),additionalDeposit:J(JA()),additionalDepositRaw:J(U()),depositRaw:J(U())});function CL(e){return e?.action!==void 0}function wL(e){return CL(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 EL(e,t,n,r){let i=TL(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function DL(e){return typeof e==`object`&&!!e}function OL(e){return typeof e==`string`&&Ai(e,{strict:!1})?e:void 0}function kL(e){let t=e.request.methodDetails;return DL(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:OL(t.escrowContract),escrow:OL(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,feeToken:OL(t.feeToken),operator:OL(t.operator),sessionSnapshot:VA(t,zA.sessionSnapshot)}:{}}function AL(e,t){if(typeof e==`string`&&Ai(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function jL(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function ML(e){return typeof e==`string`?e:void 0}async function NL(e){let{allowCustomEscrow:t,challenge:n,escrowOverride:r,allowedChainIds:i,getClient:a}=e,o=kL(n);(o.chainId!==void 0||i?.length===0)&&VN(i,o.chainId);let s=o.chainId??(i?.length===1?i[0]:void 0),c=await a({chainId:s});BN(c,s);let l=s??c.chain?.id;if(VN(i,l),!l)throw Error(`No chainId configured for TIP-1034 session challenge.`);let u=wI(n,r,t),d=AL(n.request.recipient,`recipient`),f=AL(n.request.currency,`currency`);return{amount:jL(n.request.amount),challenge:n,chainId:l,client:c,escrow:u,feePayer:o.feePayer,feeToken:o.feeToken,key:jI({payee:d,token:f,escrow:u,chainId:l}),operator:o.operator,payee:d,snapshot:o.sessionSnapshot,suggestedDepositRaw:ML(n.request.suggestedDeposit),token:f}}async function PL(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=II}=e,o=tI({...r,chainId:i.chainId,escrow:i.escrow});FL({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 FL(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(!EI(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!EI(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!EI(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!EI(eI(r),t))throw Error(`context descriptor authorizedSigner does not match account`)}function IL(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function LL(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 RL(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(!gI(i.escrow,i.chainId,{channelId:a.channelId,cumulativeAmount:s,signature:a.signature},eI(i.descriptor)))throw Error(`session snapshot highest voucher signature is invalid`);let f=await PL({channelId:i.channelId,client:n,descriptor:i.descriptor,expected:{chainId:i.chainId,escrow:i.escrow,payee:i.descriptor.payee,payer:t.address,authorizedSigner:xI(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 zL(e,t){return EI(e.address,t.payer)?EI(xI(e),eI(t)):!1}function BL(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(CL(r)){if(!wL(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=IL({context:r,snapshot:o.snapshot});return!n&&s&&zL(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&zL(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 VL(e,t,n=!1){switch(e.type){case`open`:return UL(e,t,n);case`recover`:return WL(e,t);case`voucher`:return GL(e,t);case`manual`:return KL(e,t,n)}}async function HL(e,t){if(e)return await BP(t.client,{account:t.account,amountOut:t.amountOut,tokenOut:t.tokenOut,tokenIn:e.tokenIn,slippage:e.slippage})}async function UL(e,t,n){let{account:r,resolved:i}=e,a=tL({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:i.amount,suggestedDepositRaw:i.suggestedDepositRaw}),o=await kI(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 HL(n,{account:r.address,amountOut:a,client:i.client,tokenOut:i.token}),token:i.token});return await yL(t,{channelId:o.channelId,cumulativeAmount:i.amount,deposit:a,descriptor:o.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0}),o}async function WL(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await PL({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:xI(n),token:o.token}}),l=LL({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`);rL(l,a);let u=await DI(o.client,n,s,l,o.chainId,o.escrow);return await yL(t,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function GL(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;rL(a,e.maxDeposit);let o=await DI(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await yL(t,r),o}async function KL(e,t,n){let{account:r,context:i,decimals:a,resolved:o}=e,{descriptor:s}=i,c=tI({...s,chainId:o.chainId,escrow:o.escrow});FL({channelId:i.channelId,descriptor:s,expectedChannelId:c,payee:o.payee,payer:r.address,authorizedSigner:xI(r),token:o.token});let l=await qL({account:r,channelId:c,context:i,decimals:a,descriptor:s,resolved:o},n);return await bL(t,o.key,l),l}async function qL(e,t){switch(e.context.action){case`open`:return JL(e);case`topUp`:return YL(e,t);case`voucher`:return XL(e);case`close`:return ZL(e)}}async function JL(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=EL(r,i,`cumulativeAmount`,`open`),c=await DI(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 YL(e,t){let{account:n,channelId:r,context:i,decimals:a,descriptor:o,resolved:s}=e,c=EL(i,a,`additionalDeposit`,`topUp`);return i.transaction?{action:`topUp`,type:`transaction`,channelId:r,transaction:i.transaction,descriptor:o,additionalDeposit:c.toString()}:AI(s.client,n,o,c,s.chainId,s.feePayer,s.escrow,await HL(t,{account:n.address,amountOut:c,client:s.client,tokenOut:s.token}),s.feeToken)}function XL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return DI(a.client,t,i,EL(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function ZL(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return OI(a.client,t,i,EL(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}z();let QL={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function $L(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=QL.CLOSED,r=null}if(a.type===`open`&&(i=QL.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 eR(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function tR(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=eL(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 nR(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:dL(s,u)}:i?{channel:u,state:cL({challengeId:i,entry:u,spent:c.toString(),units:a.status===`active`?a.units:0})}:{channel:u}}async function rR(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=eR(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:MF(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function iR(e){return e.method===LA.tempo&&e.intent===RA.session}function aR(e){return iR(e)&&VA(e.request.methodDetails,zA.sessionProtocol)===BA.v2}function oR(e){return VA(e.request.methodDetails,zA.sessionSnapshot)}function sR(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...$M(r),...$M(t?.headers),[Q.authorization]:n}}}function cR(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 lR(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function uR(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 dR(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 fR({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?HF(i):void 0}async function fR(e){let t=async t=>e.fetch(cR(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=pj(n).find(aR);return r?t(r):n}async function pR(e){let t=mR({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,sR(e.input,e.init,t))}catch(e){throw await l(),e}return!u.ok&&!u.headers.get(Q.paymentReceipt)&&await l(),u}function mR(e){let t=pj(e.response).find(aR);if(!t)return;let n=oR(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function hR(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=pj(i).find(aR);t&&(e.setChallenge?.(t),i=await r(t,!0))}if(!i.ok){let e=await uR(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=HF(a);if(!o.txHash||!Sp(o.txHash,{strict:!0})||gp(o.txHash)!==32||!sL({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 gR(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...$M(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);return!UF(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o)),_R(e,s,{onReceipt:r,signal:i},n)}function _R(e,t,n,r){if(!UF(t))throw Error(`SSE response is not an event stream.`);if(!t.body)throw Error(`Response has no body.`);let i=r.getChallenge();return vR({onNeedVoucher:t=>CR({challenge:i,driver:r,input:e},t),onReceipt(e){r.acceptReceipt(e),n?.onReceipt?.(e)},response:t,signal:n?.signal})}async function*vR(e){for await(let t of yR(e))t.data!==void 0&&(yield t.data)}async function*yR(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=bR(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=WF(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 bR(e,t){for(let n=0;n<e.length;n++){let r=xR(e,n,t);if(!r)continue;let i=xR(e,n+r,t);if(i)return{index:n,length:r+i};n+=r-1}}function xR(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 SR(e){let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.addEventListener(`abort`,n,{once:!0}),e.signal?.aborted&&n();let r=yR({...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 CR(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await rR({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 fR({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 wR(e){let t=new URL(e.input.toString()),n=lR(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=pj(r).find(aR);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 wR(e);return{...t,credential:await e.createSessionCredential(t.challenge,{})}}function ER(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:Uj(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:zF(t)}}function DR(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function OR(e){if(!DR(e))return`received mismatched payment-close-ready frame`;let t=jF(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 kR(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!DR(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!sL({challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:BigInt(r),receipt:i}))return`received mismatched payment-close receipt frame`}async function AR(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=ER({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=$L(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===QL.CONNECTING||o.readyState===QL.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 MR({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 jR(o,c.emit,a),o.send(KF(n)),await e.waitForReceipt(),c.socket}function jR(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 MR(e){let t=JF(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`:NR(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 PR(e,t.data);return;case`payment-receipt`:FR(e,t.data);return}}function NR(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=OR({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 PR(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 rR({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(KF(i))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function FR(e,t){let n=kR({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 IR=new WeakMap;async function LR(e,t){let n=IR.get(e)??new Map;IR.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 RR(e,t){try{return t?.channelId.toLowerCase()===e.channelId.toLowerCase()&&BigInt(t.acceptedCumulative)===e.cumulativeAmount}catch{return!1}}function zR(e,t,n){try{let r=e.response?.headers.get(Q.paymentReceipt);if(r){let e=HF(r);if(e.challengeId===t.id&&RR(n,e))return!0}}catch{}return e.challenges?.some(e=>aR(e)?RR(n,oR(e)):!1)??!1}function BR(e={}){let{account:t,allowCustomEscrow:n=!1,autoSwap:r,channelStore:i,decimals:a=6,escrow:o,allowedChainIds:s,getClient:c,maxDeposit:l,topUpAmount:u,onChannelUpdate:d,resolveAccount:f}=e,p=zN({chain:dE,getClient:c,rpcUrl:qN}),m=FN({account:t}),h=l===void 0?void 0:Ay(l,a),g=u===void 0?void 0:Ay(u,a),_=i??NI(),v={store:_,notifyUpdate:e=>d?.(e)},y=async(e,t,n)=>{let r=m(e.client,t),i=t?.action?t.descriptor:n?.descriptor??IL({context:t,snapshot:e.snapshot})?.descriptor;return await f?.({account:r,chainId:e.chainId,operation:{kind:`authorizePaymentChannel`,...i?{authority:eI(i)}:{}}})??r},b=async(e,t,n)=>BL({account:await y(e,t,n),entry:n,context:t,decimals:a,maxDeposit:h,resolved:e}),x=PN(sP,{canHandleChallenge:({challenge:e})=>aR(e),context:SL,async createCredential(e){let{challenge:t,context:i}=e,a=await NL({allowCustomEscrow:n,challenge:t,escrowOverride:o,allowedChainIds:s,getClient:p}),c=GM(e),l=()=>{};try{let e=!CL(i)&&i?.descriptor===void 0;e&&(l=await LR(_,a.key),c&&(await _.get(a.key))?.opened&&await c.prepare());let n=await _.get(a.key),o=await b(a,i,n);if(!e&&c&&o.type===`open`){l=await LR(_,a.key);let e=await _.get(a.key);e?.channelId!==n?.channelId&&(n=e,n?.opened&&(await c.prepare(),n=await _.get(a.key)),o=await b(a,i,n))}let s,u=c&&o.type===`open`?{store:{get:e=>_.get(e),async set(e){s=e},delete:e=>_.delete(e)},notifyUpdate(){}}:v,d=await TI(t,await VL(o,u,VP(i?.autoSwap??r,zP)),a.chainId,o.account);if(c&&s){let e=s;c.settle=async n=>{let r=n.status===`accepted`||zR(n,t,e);if(!r&&n.status===`pending`)return!1;try{if(r){let t=await _.get(a.key);(!t?.opened||t.channelId.toLowerCase()!==e.channelId.toLowerCase())&&(await _.set(e),v.notifyUpdate(e))}return!0}finally{l()}}}else l();return d}catch(e){throw l(),e}}}),S=async({challenge:e,channel:t,deposit:n,fetch:r,input:i,requiredCumulative:a})=>{let o=t.deposit>n?t.deposit:n,s=nL({deposit:o,maxDeposit:h,requiredCumulative:a,suggestedDeposit:e.request.suggestedDeposit===void 0?void 0:BigInt(e.request.suggestedDeposit),topUpAmount:g});s>0n&&await dR({additionalDeposit:s,challenge:e,channel:t,channelId:t.channelId,createSessionCredential:(e,t)=>x.createCredential({challenge:e,context:t}),fetch:r,input:i});let c=o+s;if(c===t.deposit)return;let l=await _.get(MI(t)),u=l?.channelId.toLowerCase()===t.channelId.toLowerCase()?l:t,d={...u,deposit:u.deposit>c?u.deposit:c};await _.set(d),v.notifyUpdate(d)};return LM(x,async({challenge:e,context:t,fetch:r,input:i})=>{if(!aR(e))return;let a=t===void 0?void 0:SL.parse(t);if(CL(a))return;let c=await NL({allowCustomEscrow:n,challenge:e,escrowOverride:o,allowedChainIds:s,getClient:p}),l=await _.get(c.key);if(!l?.opened)return;let u=c.snapshot?.channelId.toLowerCase()===l.channelId.toLowerCase()?c.snapshot:void 0,d=l.cumulativeAmount+zF(e),f=u?BigInt(u.requiredCumulative):d,m=f>d?f:d,h=u?BigInt(u.deposit):l.deposit,g=h>l.deposit?h:l.deposit;m<=g&&g===l.deposit||!zL(await y(c,a,l),l.descriptor)||await S({challenge:e,channel:l,deposit:g,fetch:r,input:i,requiredCumulative:m})}),HM(x,async({challenge:e,credential:t,fetch:r,headers:i,input:a,refetch:c,response:l,signal:u})=>{if(!aR(e))return l;if(!UF(l))return RF(Uj(t).payload).action===`open`&&i.get(`accept`)?.toLowerCase().includes(`text/event-stream`)?await c?.()??l:l;let d=(await NL({allowCustomEscrow:n,challenge:e,escrowOverride:o,allowedChainIds:s,getClient:p})).key,f=await _.get(d),m={assertVoucherWithinLocalLimit:e=>rL(e,h),createSessionCredential:(e,t)=>x.createCredential({challenge:e,context:t}),fetch:r,getChannel:()=>f??null,async topUpIfNeeded({deposit:t,requiredCumulative:n}){f&&await S({challenge:e,channel:f,deposit:f.deposit>t?f.deposit:t,fetch:r,input:a,requiredCumulative:n})}};return SR({onNeedVoucher:t=>CR({challenge:e,driver:m,input:a},t),onReceipt(){},response:l,signal:u})})}let VR=new WeakMap;function HR(e,t){VR.set(e,t)}function UR(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 WR(e){let t=UR(`close-ready`),n=UR(`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 GR(e){return e.method===LA.tempo&&e.intent===RA.charge}function KR(e){if(!GR(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function qR(e,t,n){if(!n)return t;let r={...$M(e instanceof Request?e.headers:void 0),...$M(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===Q.paymentSession.toLowerCase())?t:{...t,headers:{...r,[Q.paymentSession]:n}}}function JR(e,t){return e===void 0?t:{...SL.parse(e),...t}}function YR(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 XR(e){let t=e.client?.chain?.id;(t!==void 0||e.allowedChainIds?.length===0)&&VN(e.allowedChainIds,t);let n=e.allowCustomEscrow??!1,r=YR(e),i=zN({chain:dE,getClient:e.client?()=>e.client:e.getClient,rpcUrl:qN}),a=FN({account:e.account}),o=lL(),s=e.credentialContext===void 0?void 0:JR(e.credentialContext,{}),c=WR({getSocketSession:()=>o.socketSession}),l=e.channelStore??NI(),u=new Set,d;async function f(e){let t=await l.get(e);if(t?.opened&&!u.has(t.channelId))return t}let p={async get(e){let t=await f(e);return t&&d&&(d.seenExisting.add(e),!d.committed&&!d.created.has(e)&&(d.resumed??=t)),t},async set(e){let t=MI(e);e.opened&&u.delete(e.channelId),d?.trackCreates&&!d.seenExisting.has(t)&&d.created.set(t,e),await l.set(e)},delete:e=>l.delete(e)};async function m(e){let t=MI(e);u.add(e.channelId),d?.seenExisting.delete(t),d?.resumed===e&&(d.resumed=void 0),await Promise.resolve(l.delete(t)).catch(()=>void 0)}async function h(){let e=d;if(e?.created.size){for(let[t,n]of e.created)u.add(n.channelId),await Promise.resolve(l.delete(t)).catch(()=>void 0);e.created.clear(),await ce(e.committed??e.previous)}}function g(e){let t=VA(e.request.methodDetails,zA.sessionSnapshot);if(typeof t?.channelId!=`string`)return!1;let n=d;if(!n?.created.size||!o.channel)return!1;for(let[e,r]of n.created)if(r.channelId.toLowerCase()===t.channelId.toLowerCase()&&o.channel.channelId.toLowerCase()===t.channelId.toLowerCase())return n.created.delete(e),n.committed=mL({channel:o.channel,spent:o.spent,state:o.state}),!0;return!1}function _(e){return KI(o,e)}function v(){let e=o.state.status===`active`?o.state:d?.committed?.state??d?.previous.state;return e?.status===`active`?e.units:0}function y(e){let t=d,n=t?.committed?.channel?.entry??t?.resumed;!t||n?.channelId.toLowerCase()!==e.channelId.toLowerCase()||e.deposit<=n.deposit||(t.resumed=void 0,t.committed=mL({channel:o.channel,spent:o.spent,state:o.state}))}let b=BR({account:e.account,allowCustomEscrow:n,autoSwap:e.autoSwap,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount,escrow:e.escrow,allowedChainIds:e.allowedChainIds,decimals:r.decimals,maxDeposit:e.maxDeposit,topUpAmount:e.topUpAmount,channelStore:p,onChannelUpdate(e){e.channelId!==o.channel?.channelId&&(o.spent=0n),o.channel=e,o.lastChallenge&&_({type:`activated`,challengeId:o.lastChallenge.id,entry:e,spent:o.spent.toString(),units:v()}),y(e)}});UM(b);let x=oF({allowedChainIds:e.allowedChainIds,account:e.account,getClient:e.client?()=>e.client:e.getClient}),S=ZM({fetch:r.fetch,methods:[b],onChallenge:async(e,t)=>{if(!iR(e))return;let n=d,r=n&&n.challengesReceived>0&&e.id===o.lastChallenge?.id,i=r&&ij(e)===ij(o.lastChallenge);n&&n.challengesReceived++,!i&&(g(e)||(n?.created.size?await h():r&&await ce(n.committed??n.previous)),o.lastChallenge=e,_({type:`challengeReceived`,challengeId:e.id}))}});function C(e,t){return b.createCredential({challenge:e,context:JR(s,t)})}function w(e){uL({maxVoucherCumulative:r.maxVoucherCumulative,receipt:e,runtime:o})}function T(e=o.state.status===`active`?o.state.units:0){!o.channel||!o.lastChallenge||o.state.status!==`active`&&o.state.status!==`withdrawable`&&o.state.status!==`closeRequested`&&_({type:`activated`,challengeId:o.lastChallenge.id,entry:o.channel,spent:o.spent.toString(),units:e})}async function ee(t){let n=t.headers.get(Q.paymentSessionSnapshot);if(!n)return;let r=HI(n);VN(e.allowedChainIds,r.chainId);let s=await i({chainId:r.chainId});BN(s,r.chainId);let c=a(s),{entry:l,spent:u}=await RL({account:await e.resolveAccount?.({account:c,chainId:r.chainId,operation:{authority:eI(r.descriptor),kind:`authorizePaymentChannel`}})??c,client:s,snapshot:r});return D(l.cumulativeAmount),await Promise.resolve(p.set(l)).catch(()=>void 0),o.channel=l,o.spent=u,l}async function E(t,n){if(!e.bootstrap||o.channel?.opened)return;let i=t instanceof Request?t.headers:void 0,{body:a,method:s,...c}=n??{},l=t instanceof Request?t.url:t,u={...c,method:`HEAD`,headers:{...$M(i),...$M(n?.headers),[Q.acceptPayment]:`${LA.tempo}/${RA.charge}`}};try{let e=await r.fetch(l,u);if(e.status!==402)return await ee(e);let t=pj(e).find(GR);if(!t||!KR(t))return;let n=await x.createCredential({challenge:t,context:{}}),i=await r.fetch(l,{...u,headers:{...$M(u.headers),[Q.authorization]:n}});return i.ok?await ee(i):void 0}catch{return}}function te(e,t){let n=o.socketSession;return fL({challengeId:e.id,channelId:t,closeReadyReceipt:n?.closeReadyReceipt,cumulativeAmount:o.channel?.channelId===t?o.channel.cumulativeAmount:0n,deliveredChunks:n?.deliveredChunks,socketChallengeId:n?.challenge.id,socketChannelId:n?.channelId,spent:o.spent,tickCost:n?.tickCost})}function ne(e,t){let n=oR(t);if(!n)return;if(tI({...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 re(e,t){let n=ne(e.channel,t);if(!n)return;let{acceptedCumulative:r,spent:i}=n;if(o.spent>r)throw Error(`close snapshot accepted cumulative is below locally confirmed spend`);return i>o.spent&&(o.spent=i),n}function ie(e,t=e.challenge,n=!1){let r=(n?re(e,t):ne(e.channel,t))?.acceptedCumulative??te(t,e.channelId);if(r>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return D(r),r.toString()}function D(e){ZI({cumulativeAmount:e,maxVoucherCumulative:r.maxVoucherCumulative})}async function ae(e){let{knownDeposit:t,...n}=e,i=await dR({...n,channel:o.channel,createSessionCredential:C,fetch:r.fetch});w(i);let a=nR({additionalDeposit:e.additionalDeposit,channel:o.channel,channelId:e.channelId,challengeId:o.lastChallenge?.id,currentState:o.state,knownDeposit:t,receipt:i,spent:o.spent});return a?.channel&&o.lastChallenge&&(await p.set(a.channel),_({type:`activated`,challengeId:o.lastChallenge.id,entry:a.channel,spent:o.spent.toString(),units:v()}),y(a.channel)),i}async function oe(e){let t=o.channel?.channelId===e.channelId?o.channel.deposit:0n,n=t>e.deposit?t:e.deposit,i=nL({deposit:n,maxDeposit:r.maxVoucherCumulative,requiredCumulative:e.requiredCumulative,suggestedDeposit:e.challenge.request.suggestedDeposit===void 0?void 0:BigInt(e.challenge.request.suggestedDeposit),topUpAmount:r.topUpAmount});i!==0n&&await ae({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:i,knownDeposit:n})}async function se(e,t){let n=pL({channel:o.channel,channelId:e,challengeId:o.lastChallenge?.id,cumulativeAmount:t,spent:o.spent,state:o.state});n&&o.channel&&(_({type:`activated`,challengeId:n.challengeId,entry:o.channel,spent:n.spent,units:n.units}),await l.set(o.channel))}async function ce(e){let t=hL(e,o.channel);o.channel=t.channel,o.spent=t.spent,o.state=t.state,o.channel?.opened&&await l.set(o.channel)}function le(e){let t=e.headers.get(Q.paymentReceipt),n=t?HF(t):null;return w(n),Object.assign(e,{receipt:n,challenge:o.lastChallenge,channelId:o.channel?.channelId??null,cumulative:o.channel?.cumulativeAmount??0n})}async function ue(e,t){if(d)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);o.lastUrl=e;let n=mL({channel:o.channel,spent:o.spent,state:o.state}),i={challengesReceived:0,committed:void 0,created:new Map,previous:n,seenExisting:new Set,resumed:void 0,trackCreates:!1};d=i;try{await E(e,t),i.trackCreates=!0;let a=qR(e,t,o.channel?.opened?o.channel.channelId:void 0);s&&(a={...a,context:s});let c=!n.channel?.opened;async function l(){let n=i.resumed;return!c||!n?!1:(c=!1,await m(n),a=qR(e,t,void 0),!0)}for(;;){let t;try{t=await S(e,a)}catch(e){if(i.created.size?await h():await ce(i.committed??n),await l())continue;throw e}let s=le(t),c=!1;if(s.status===402){let t=await pR({input:e,init:a,response:s,createSessionCredential:C,fetch:r.fetch,getChannel:()=>o.channel,restoreCumulative:se,setChallenge(e){o.lastChallenge=e},topUpIfNeeded:oe});t&&(c=!0,s=le(t))}if(!c&&!s.ok&&!s.receipt){if(i.created.size?await h():await ce(i.committed??n),await l())continue;return s}return s}}finally{d=void 0}}async function de(e){let t=await hR({createSessionCredential:C,fetch:r.fetch,getMinimumSpent:()=>o.spent,lastUrl:o.lastUrl,resolveSignedCloseAmount:t=>ie(e,t,!0),signedCloseAmount:ie(e),setChallenge(e){o.lastChallenge=e},target:e});return t&&(T(),_({type:`closeStarted`}),_({type:`closed`,receipt:t})),t}let fe={createSessionCredential:C,doFetch:ue,fetch:r.fetch,getChannel:()=>o.channel,getChallenge:()=>o.lastChallenge,assertVoucherWithinLocalLimit:D,acceptReceipt(e){w(e)},topUpIfNeeded:oe},pe={get channelId(){return o.channel?.channelId},get cumulative(){return o.channel?.cumulativeAmount??0n},get opened(){return o.channel?.opened??!1},get state(){return o.state},fetch:ue,async topUp(e){let t=tR({amount:e,assertVoucherWithinLocalLimit:D,channel:o.channel,decimals:r.decimals,lastChallenge:o.lastChallenge,lastUrl:o.lastUrl});return ae({additionalDeposit:t.additionalDeposit,challenge:t.challenge,channelId:t.channelId,input:t.input})},async sse(e,t){return gR(e,t,fe)},async ws(e,t){if(!r.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let n=lR(e),i=t?.signal?{signal:t.signal}:void 0;await E(n,i);let a=o.channel?.opened?o.channel.channelId:void 0,{challenge:s,credential:l,httpUrl:u,wsUrl:d}=await TR({async createSessionCredential(e,t){return o.lastChallenge=e,await zM(b,{challenge:e,context:t,fetch:r.fetch,input:n}),C(e,t)},fetch:r.fetch,input:e,onProbeUrl(e){o.lastUrl=e.toString()},probeInit:qR(n,i,a),signal:t?.signal});return o.lastChallenge=s,AR({challenge:s,credential:l,httpUrl:u,WebSocket:r.WebSocket,wsUrl:d,options:t,createSessionCredential:C,getChannel:()=>o.channel,setSocketSession(e){o.socketSession=e},async refreshChallenge(){let e=await wR({fetch:r.fetch,input:u,probeInit:qR(u,i,o.channel?.opened?o.channel.channelId:void 0),signal:t?.signal});return o.lastChallenge=e.challenge,e.challenge},assertVoucherWithinLocalLimit:D,acceptReceipt:w,rejectCloseReady:c.rejectCloseReady,rejectReceipt:c.rejectReceipt,settleCloseReady:c.settleCloseReady,settleReceipt:c.settleReceipt,topUpIfNeeded:oe,waitForReceipt:c.waitForReceipt})},async close(){let e=o.socketSession,t=iL({channel:o.channel,currentSocket:e,lastChallenge:o.lastChallenge});if(!t)return;let n=e?.socket;if(e&&n?.readyState===QL.OPEN){let r=await gL({activeSocket:n,createSessionCredential:C,currentSocket:e,spent:o.spent,target:t,waitForCloseReady:c.waitForCloseReady,waitForReceipt:c.waitForReceipt});return T(),_({type:`closeStarted`}),_({type:`closed`,receipt:r}),r}return de(t)}};return HR(pe,{consumeSseResponse(e,t,n){return _R(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(!iR(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.`);D(e.cumulativeAmount);let i=ne(e,t),a=i&&i.spent>r?i.spent:r;o.lastUrl=n,o.lastChallenge=t,o.channel=e,o.spent=a,_({type:`challengeReceived`,challengeId:t.id}),_({type:`activated`,challengeId:t.id,entry:e,spent:a.toString(),units:0})}}),pe}(function(e){e.serializeSnapshot=VI,e.deserializeSnapshot=HI})(XR||={});let ZR=Object.assign(BR,{manager:XR}),QR=Object.assign(QF,{method:OF});function $R(e={}){return[oF(e),ZR(e)]}(function(e){e.charge=oF,e.common=$R,e.session=ZR,e.sessionLegacy=QR,e.subscription=jP})($R||={});function ez(){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 tz(...e){return{protocol:`composed`,async sign(t,n=ez()){for(let r of e)t=await r.sign(t,n);return t}}}function nz(e,t){return async(n,r)=>e(await t.sign(new Request(n,r)))}let rz=new WeakMap;function iz(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=FM()}=e,c=xN(e.fetch??globalThis.fetch),l=t?az(t):void 0,u=l?nz(c,l):c,d=e.methods.flat(),f=wj(d,e.paymentPreferences),p=eN(),m=r,h={acceptPayment:f,acceptPaymentPolicy:o,...(e.fetch||t)&&{fetch:u},eventDispatcher:p,...n!==void 0&&{maxPaymentRetries:n},...m&&{onChallenge:m},...i&&{orderChallenges:i},methods:d,transport:s},g=ZM(h);a&&QM(h);function _(e){return p.on(`challenge.received`,e)}function v(e){return p.on(`credential.created`,e)}function y(e){return p.on(`payment.failed`,e)}function b(e){return p.on(`payment.response`,e)}async function x(e,t){let n=yz(e),r=await s.getChallenges(e,t?.request),a=Object.freeze(r.map(e=>bz(e))),o=Cz(f.entries,t?.acceptPayment),c,l;try{let e=(await wz(Dj(r,d,o),t?.orderChallenges??i))[0];if(!e)throw Error(`No method found for challenges: ${r.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${d.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let u=e.challenge;c=a[e.index],l=e.method,c.expires&&GA(c.expires,c.id);let f=c,m=l,h=mz(async e=>{try{f.expires&&GA(f.expires,f.id);let t=mz(t=>Tz(f,m,t??e)),i=await p.emit(`challenge.received`,hz({challenge:f,challenges:r,createCredential:t,method:m,response:n}))??await t();return wN(i),await p.emit(`credential.created`,gz({challenge:f,credential:i,method:m,response:n})),i}catch(e){throw await p.emit(`payment.failed`,_z({challenge:f,challenges:r,error:e,method:m,response:n})),e}}),g=Object.freeze({challenge:f,challenges:a,createCredential:h,method:vz(m),setCredential(e,t){return wN(t),s.setCredential(e,t,{challenge:u})}});return rz.set(g,m),g}catch(e){throw await p.emit(`payment.failed`,_z({challenge:c,challenges:r,error:e,method:l,response:n})),e}}async function S(e,t,n){let{maxRedirects:r=20,requirePayment:i=!1,...a}=n??{},d=await lz({acceptPayment:f.header,acceptPaymentPolicy:o,fetch:c,init:t,input:e,maxRedirects:r,signer:l}),p=uz(d.replayRequest,d.body);if(!await s.isPaymentRequired(d.response,p)){if(i)throw Error(`Response does not require payment.`);return Object.freeze({payment:void 0,request:d.request,response:d.response,redirects:d.redirects})}let m=await x(d.response,{...a,request:p}),h=rz.get(m)??m.method,g=mz(async e=>(RM(h)&&await zM(h,{challenge:m.challenge,context:e,fetch:u,input:d.replayRequest}),m.createCredential(e))),_=Object.freeze({...m,createCredential:g,async pay(e){let t=await g(e),n=m.setCredential(uz(d.replayRequest,d.body),t);return u(d.replayRequest.url,{...n,redirect:`manual`})}});return Object.freeze({payment:_,request:d.request,response:d.response,redirects:d.redirects})}return{fetch:g,rawFetch:c,methods:d,transport:s,on:p.on,onChallengeReceived:_,onCredentialCreated:v,onPaymentFailed:y,onPaymentResponse:b,preparePayment:x,prepareRequest:S,async createCredential(e,t,n){return(await x(e,n)).createCredential(t)}}}function az(e){let t=Object.values(e);if(t.length===0)throw TypeError(`Mppx client attestation must configure at least one signer.`);return tz(...t)}let oz=new Set([301,302,303,307,308]),sz=[`content-encoding`,`content-language`,`content-length`,`content-location`,`content-type`,`transfer-encoding`],cz=[`authorization`,`cookie`,`cookie2`,`host`,`payment-authorization`,`payment-signature`,`proxy-authorization`,`x-payment`];async function lz(e){let{acceptPayment:t,acceptPaymentPolicy:n,fetch:r,init:i,input:a,maxRedirects:o,signer:s}=e;if(!Number.isInteger(o)||o<0)throw TypeError(`maxRedirects must be a non-negative integer.`);let c=new Request(a,{...i,redirect:`manual`}),l=c.headers.has(Q.acceptPayment),u=await dz(c,i?.body),d=[];for(;;){c=fz(c,t,l,n);let e=s?await s.sign(c.clone()):c.clone(),i=await r(e);if(i.type===`opaqueredirect`||i.status===0)throw Error(`prepareRequest requires a runtime that exposes manual redirect responses.`);if(!oz.has(i.status))return{body:u,replayRequest:c,request:e,response:i,redirects:Object.freeze(d)};let a=i.headers.get(`location`);if(!a)return{body:u,replayRequest:c,request:e,response:i,redirects:Object.freeze(d)};if(d.length>=o)throw await i.body?.cancel(),Error(`Payment request exceeded ${o} redirects.`);let f=new URL(c.url),p=new URL(a,f);if(f.protocol===`https:`&&p.protocol!==`https:`)throw await i.body?.cancel(),Error(`Payment request refused HTTPS downgrade redirect to ${p.href}`);let m=new Headers(c.headers),h=c.method;if((i.status===301||i.status===302)&&h===`POST`||i.status===303&&h!==`GET`&&h!==`HEAD`){h=`GET`,u=void 0;for(let e of sz)m.delete(e)}if(f.origin!==p.origin)for(let e of[...m.keys()]){let t=m.get(e)??``;(cz.includes(e)||t.startsWith(`Payment `))&&m.delete(e)}d.push(Object.freeze({from:f.href,status:i.status,to:p.href})),await i.body?.cancel(),c=new Request(p,pz(c,m,h,u))}}function uz(e,t){return pz(e,new Headers(e.headers),e.method,t)}async function dz(e,t){if(typeof t==`string`)return t;if(!e.body)return;let n=e.headers.get(`accept`)?.toLowerCase()??``;return e.headers.has(`mcp-method`)||n.includes(`application/json`)&&n.includes(`text/event-stream`)?e.clone().text():e.clone().arrayBuffer()}function fz(e,t,n,r){if(n)return e;let i=new Headers(e.headers);return i.delete(Q.acceptPayment),t&&ON(e,r)&&i.set(Q.acceptPayment,t),new Request(e,{headers:i})}function pz(e,t,n,r){return{...r?{body:r}:{},cache:e.cache,credentials:e.credentials,headers:t,integrity:e.integrity,keepalive:e.keepalive,method:n,mode:e.mode,redirect:`manual`,referrer:e.referrer,referrerPolicy:e.referrerPolicy,signal:e.signal}}function mz(e){let t;return n=>(t??=e(n),t)}function hz(e){return Object.freeze({challenge:bz(e.challenge),challenges:e.challenges.map(e=>bz(e)),createCredential:e.createCredential,method:vz(e.method),response:yz(e.response)})}function gz(e){return Object.freeze({challenge:bz(e.challenge),credential:e.credential,method:vz(e.method),response:yz(e.response)})}function _z(e){return Object.freeze({...e.challenge?{challenge:bz(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>bz(e))}:{},error:e.error,...e.method?{method:vz(e.method)}:{},response:yz(e.response)})}function vz(e){return Sz(Object.assign({},e))}function yz(e){if(e instanceof Response)try{return e.clone()}catch{return new Response(null,{headers:e.headers,status:e.status,statusText:e.statusText})}return bz(e)}function bz(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 xz(t)}catch{return Sz(e)}}function xz(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))xz(t);return e}function Sz(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function Cz(e,t){return t?typeof t==`string`?Tj(t):t:e}async function wz(e,t){return t?t(e):e}async function Tz(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})}j();let Ez={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},Dz=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function Oz(e){return{add:t=>Lz({...t,store:e}),authorize:t=>Az({...t,store:e}),clear:()=>Vz({store:e}),get:t=>Fz({...t,store:e}),prepareAuthorization:t=>kz({...t,keystores:e.keystores}),getStatus:t=>Nz({...t,store:e}),list:t=>rB({...t,store:e}),remove:t=>Bz({...t,store:e}),select:t=>Pz({...t,store:e}),updateAuthorization:t=>zz({...t,store:e})}}async function kz(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??$E,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 Az(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await kz({...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 Lz({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 jz(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=rB({account:t,chainId:r,store:a});for(let e of s)if(!tB(e.expiry,o)&&Gz(e,i)&&!(n&&!Uz(e,{calls:n}))&&await eB(e,a))return!0;return!1}function Mz(e){return Wz(e.parameters.scopes,{calls:e.calls})}async function Nz(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=rB({account:n,accessKey:t,chainId:i,store:o}).find(e=>Uz(e,{calls:r}));if(c){if(tB(c.expiry,s))return Ez.expired;if(c.keyAuthorization){let e=await nB(a,{accessKey:c.address,account:n,now:s});return e===Ez.published&&Rz({accessKey:c.address,account:n,chainId:i,store:o}),e===Ez.published?Ez.published:Ez.pending}return await nB(a,{accessKey:c.address,account:n,now:s})}return t?await nB(a,{accessKey:t,account:n,now:s}):Ez.missing}async function Pz(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=rB({account:t,chainId:r,store:i});for(let e of o){if(!Uz(e,{calls:n}))continue;if(tB(e.expiry,a)){await Bz({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await eB(e,i);if(t)return t}}async function Fz(e){let{accessKey:t,account:n,calls:r,chainId:i}=e,{store:a}=e,o=e.now??Date.now()/1e3,s=rB({account:n,accessKey:t,chainId:i,store:a})[0];if(s&&!(`calls`in e&&!Uz(s,{calls:r}))){if(tB(s.expiry,o)){await Bz({accessKey:s.address,account:s.access,chainId:s.chainId,store:a});return}return await eB(s,a)}}function Iz(e){return UE({source:{get(t){return rB({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){Rz({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){zz({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function Lz(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=>!aB(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function Rz(e){let{store:t,...n}=e;iB({...n,patch:{keyAuthorization:void 0},store:t})}function zz(e){let{authorization:t,store:n,...r}=e;iB({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function Bz(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!aB(e,n))}))}function Vz(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function Hz(e){return e instanceof A&&e.walk(e=>{let t=e.data?.errorName;return!!t&&Dz.has(t)})?!0:e instanceof Error&&Dz.has(qE(e).errorName)}function Uz(e,t){return Wz(e.scopes,t)}function Wz(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(!Qz(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return!e.recipients||e.recipients.length===0;let a=Yz(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 Gz(e,t){return!(!Kz(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!Zz(e.limits,t.reuse?.minLimits))}function Kz(e,t){return!t||!e||t.every(t=>e.some(e=>qz(e,t)))}function qz(e,t){return!Qz(e)||!Qz(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!Jz(e.selector,t.selector)?!1:Xz(e.recipients,t.recipients)}function Jz(e,t){if(!e)return!0;if(!t)return!1;let n=Yz(e),r=Yz(t);return!!n&&n===r}function Yz(e){try{return(e.startsWith(`0x`)&&e.length===10?e:Wy(e)).toLowerCase()}catch{return}}function Xz(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function Zz(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 Qz(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 $z=new WeakMap;async function eB(e,t){let n=Iz(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=$z.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),$z.set(e,i));try{return await i}catch(n){$z.delete(e),QE(n)&&Bz({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function tB(e,t){return typeof e==`number`&&e<t}async function nB(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?Ez.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?Ez.expired:Ez.published}catch(e){if(Hz(e))return Ez.missing;throw e}}function rB(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>aB(e,n))}function iB(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!aB(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 aB(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 oB(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 sB(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 cB(s,{signable:n})}function cB(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 lB=new Map;function uB(e,t){let n=pB(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>hB(e,t),onResponse:t=>gB(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 _B(e),()=>{n.attachments.delete(r),mB(e)}}function dB(e,t){let n=pB(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}),_B(e)})}function fB(e){return new URL(e).host}function pB(e){let t=fB(e),n=lB.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:yS(),requestQueue:[],synced:!1};return lB.set(t,r),r}function mB(e){let t=pB(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function hB(e,t){if(t.length===0)return;let n=pB(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);_B(e,{force:!0})}}function gB(e,t){let n=pB(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),_B(e,{force:!0}))}function _B(e,t={}){let n=pB(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,mB(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:[vB(a)]}))}function vB(e){return{request:e.request,status:e.status}}z();function yB(e={}){let{dialog:t=w()?te():E(),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=uB(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`?L(r.getState().chainId):dB(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:MA});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:[zD(wA.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[zD(kA.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[zD(AA.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 bB=new Map,xB=new WeakMap;function SB(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return TB(r);if(r?.url)return TB(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 bB;let e=xB.get(d);return e||(e=new Map,xB.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?CB(i,r,e===void 0?void 0:t.id):r;p=Eh({chain:t,transport:s?EB(a,s,c):a,pollingInterval:1e3}),f.set(u,p)}return p}function CB(e,t,n){return r=>{let i=t(r);return{...i,async request({method:t,params:r}){if(n!==void 0&&!wB(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 wB(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 TB(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function EB(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 DB=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function OB(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 kB({account:o,address:t,chainId:r,client:i,store:a})}function kB(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{let n=await Xd(i,{account:t,...e,parameters:[],type:`tempo`});return await jB(i,n)}catch(e){throw MB(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{let o=await Xd(i,{account:t,...e,type:`tempo`});return AB({account:t,address:n,chainId:r,client:i,request:o,store:a})}catch(e){throw MB(e,{account:t,address:n,chainId:r,store:a}),e}}}}function AB(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 MB(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 MB(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 MB(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function jB(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 MB(e,t){NB(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function NB(e){if(!(e instanceof Error))return!1;let t=qE(e);if(DB.has(t.errorName))return!0;let n=PB(e);return[...DB].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`)}ef();function FB(e){if(typeof e==`string`&&L_(e))return e}function IB(e,t){return $d(e,t)}function LB(e){return $d(e,`0x0000000000000000000000000000000000000000`)}function RB(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(RB.cache.get(n))return RB.cache.get(n);let r=e().finally(()=>RB.cache.delete(n));return RB.cache.set(n,r),r}RB.cache=new Map;function zB(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function BB(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=zB(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 VB;function HB(){return VB||=BB(`keyval-store`,`keyval`),VB}function UB(e,t=HB()){return t(`readonly`,t=>zB(t.get(e)))}function WB(e,t,n=HB()){return n(`readwrite`,n=>(n.put(t,e),zB(n.transaction)))}function GB(e,t=HB()){return t(`readwrite`,t=>(t.delete(e),zB(t.transaction)))}let KB=Symbol.for(`accounts.storage.supportsStructuredClone`);function qB(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 JB(e)?YB(r):r}function JB(e){return e[KB]===!0}function YB(e){return Object.assign(e,{[KB]:!0})}function XB(e={}){let t=typeof indexedDB<`u`?BB(`tempo`,`store`):void 0;return YB(qB({async getItem(e){let n=await UB(e,t);return n===null?null:n},async setItem(e,n){await WB(e,n,t)},async removeItem(e){await GB(e,t)}},e))}function ZB(e={}){let t=new Map;return YB(qB({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let QB=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 $B(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 eV=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return eV(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return eV(t)(e)}}}},tV=(e,t)=>(n,r,i)=>{let a={storage:$B(()=>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 eV(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},nV=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},rV=(e=>e?nV(e):nV),iV=Symbol.for(`accounts.storage.supportsStructuredClone`);function aV(e){let{chainId:t,keystores:n=$E,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?XB({key:`tempo`}):ZB({key:`tempo`})}=e,s=rV(QB(tV(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>sV(e,t,{schema:a}),name:`store`,partialize:e=>oV(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:fV(o)}),storage:o,version:0}))),c=s;return c.accessKeys=Oz({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function oV(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=>uV(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function sV(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(lV):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>LD(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:cV(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function cV(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 lV(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function uV(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&dV(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function dV(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function fV(e){return e[iV]===!0}async function pV(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let mV=new Map;async function hV(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=mV.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 mV.set(r,a),a.then(e=>{e.length===0&&mV.delete(r)}),a}async function gV(e){let{symbol:t,...n}=e,r=await hV(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function _V(e,t){let n=LD(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: ${vV(n.error.issues)}`)}return{...t,_decoded:n.data}}function vV(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?vV([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}z(),Ff();let yV=new Set;function bV(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function xV(e={}){let{adapter:t=yB(),chains:n=[dE,fE,VE],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?XB():ZB()}=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=aV({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={})=>sB({...e,store:f}),m;function h(e={}){let{chainId:t,feePayer:r}=e;return SB(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??$E);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`,L(e))),f.subscribe(e=>e.accounts.length>0,e=>{e?y.emit(`connect`,{chainId:L(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 Xd(i,{account:r.account,...a,type:`tempo`}),selected:r}}async function E(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 OB({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 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 OB({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 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 OB({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:[zD(nA,a)]});let o=await xb(i,{account:r.account,...a});return zD(Zk,o)}async function re(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 ie(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 D(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 ae(e,Number(n)),i=await w({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[zD(gA.parameters,r.parameters)]});return await se({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function ae(e,t){let n=e.chainId??t??h().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await kz({...e,chainId:n});return{parameters:oe(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!v&&!bV())return{parameters:e};let{key:r,keyAuthorization:i}=await kz({...e,chainId:n,keystores:l});if(!r)throw new $x({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...oe(e,i),publicKey:r.publicKey}}}function oe(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function se(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 ce(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(!Hz(e))throw e}f.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:f.getState().chainId})}async function le(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:[zD(yA.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 ue(e,t){if(_.signTransaction)return await _.signTransaction(e,t);if(g.getAccount)return await E(e);S(`signTransaction`)}async function de(e,t){if(_.sendTransaction)return await _.sendTransaction(e,t);if(g.getAccount)return await te(e);S(`sendTransaction`)}async function fe(e,t){if(_.sendTransactionSync)return await _.sendTransactionSync(e,t);if(g.getAccount)return await ne(e);S(`sendTransactionSync`)}async function pe(e,t){if(_.signPersonalMessage)return await _.signPersonalMessage(e,t);if(g.getAccount)return await re(e);S(`signPersonalMessage`)}async function me(e,t){if(_.signTypedData)return await _.signTypedData(e,t);if(g.getAccount)return await ie(e);S(`signTypedData`)}async function he(e,t){if(_.authorizeAccessKey)return await _.authorizeAccessKey(e,t);if(g.getAccount)return await D(e);S(`authorizeAccessKey`)}async function ge(e,t){if(_.revokeAccessKey)return await _.revokeAccessKey(e,t);if(g.getAccount)return await ce(e);S(`revokeAccessKey`)}async function _e(e,t){if(_.updateAccessKey)return await _.updateAccessKey(e,t);if(g.getAccount)return await le(e);S(`updateAccessKey`)}function ve(e){if(!g.persistAccounts)return e;let t=[...e];for(let e of f.getState().accounts)t.some(t=>IB(t.address,e.address))||t.push(e);return t}function ye(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 be(e){let{reuse:t,...n}=e;return n}function xe(){return typeof c==`function`?c():c}async function Se(e){let t=xe();if(!t)return;let n=Ce(e.capabilities);if(!(n&&await jz({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:f}})))return be(t)}function Ce(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 we(e){let t=xe();if(!t||await f.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!Mz({parameters:t,calls:e.calls}))return;let n=be(t);await he(n,{method:`wallet_authorizeAccessKey`,params:[zD(gA.parameters,n)]})}function Te(e){let{accounts:t}=f.getState();if(t.length===0)throw new aS({message:`No accounts connected.`});if(!t.some(t=>IB(t.address,e)))throw new rS({message:`Account \"${e}\" not found.`})}async function Ee(e,t={}){let n=FB(e.account.address);if(!n)return;if(Te(n),t.accessKey){let r=e.operation.kind===`authorizePaymentChannel`?FB(e.operation.authority):void 0;if(r&&!IB(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=FB(e.operation.authority);if(!r)return await f.accessKeys.select({account:n,chainId:e.chainId});if(!(LB(r)||IB(r,n)))return await f.accessKeys.get({account:n,accessKey:r,chainId:e.chainId})}function De(e={}){let t=(()=>{if(!e.accessKey)return;let t=FB(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=Oe.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=>Ee(e,{accessKey:t})}}let Oe=Object.assign(gS({...y,async request({method:t,params:r}){return await pV(f),RB(async()=>{let i;try{i=_V(PA,{method:t,params:r})}catch(e){if(!(e instanceof iS))throw e;return await SB(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 L(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:ve(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 we({address:c,...a?{calls:a}:{},chainId:s}),await de({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:ye(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=ye(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??oB(a.accounts.find(e=>IB(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 OB({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 ue({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:ye(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 we({address:c,...a?{calls:a}:{},chainId:s}),await fe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:ye(e.feePayer)},i)}case`eth_signTypedData_v4`:{b();let[e,t]=i._decoded.params;return await me({address:e,data:t},i)}case`personal_sign`:{b();let[e,t]=i._decoded.params;return await pe({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=ye(t?.feePayer??(d?!0:void 0)),s=f.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await we({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o?{feePayer:o}:{}};if(!a){let e=I(await de(l,{method:`eth_sendTransaction`,params:[zD(nA,l)]}),pp(L(f.getState().chainId),32),CV);return{capabilities:{sync:a},id:e}}let u=await fe(l,{method:`eth_sendTransactionSync`,params:[zD(nA,l)]}),p=u.transactionHash,m=L(f.getState().chainId),h=I(p,pp(m,32),CV);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 wV(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=SB(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:L(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(CV.slice(2)))throw Error(\"`id` not supported\");cp(e);let t=R(e,0,32),r=L(Number(R(e,32,64))),a=await SB(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=>IB(e.address,t)))throw new rS({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(L(e.id))):n,o={};for(let e of a)o[L(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...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 Se({capabilities:n,chainId:t??f.getState().chainId}),a=n?.auth??e.auth,o=a?OV(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 ae(r,t):void 0;(o||c)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...c?{authorizeAccessKey:zD(bA.authorizeAccessKey,c.parameters)}:{}}}]});let l=o&&!g.forwardsAuth?await NV(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??hp(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:ve(d),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let x=d[0]?.address;await se({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 FV(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&&MV(o,{chainId:s,message:w});let T=o&&C&&w&&y&&x?await IV(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=OV(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 he(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{b();let[e]=i._decoded.params;await ge({...e},i);return}case`wallet_updateAccessKey`:{b();let[e]=i._decoded.params;await _e({...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:ye(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=ye(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 gV({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?fp(a):void 0,to:o,token:p})],chainId:l,from:v,...u===void 0?{}:{feePayer:u}},S=await fe(x,{method:`eth_sendTransactionSync`,params:[zD(nA,x)]});return{chainId:L(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:ye(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:Nf({method:t,params:r})})}},{schema:MA}),{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:Oe.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return SB(t,{chains:n,feePayer:r,provider:m,store:f,transports:u})},getMppxParameters:De,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,``)}`;yV.has(e)||(yV.add(e),FA({info:{icon:t.icon??SV,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:Oe}))}let ke=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(ke){let{mode:e=`push`,polyfill:t,...n}=ke,r=t??TV(),i=Oe.getMppxParameters(),a={...n,...i,mode:e};iz({methods:[$R(a),$R.subscription(i)],polyfill:r})}return m=Oe,Oe}let SV=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,CV=g_(fp(`TEMPO_5792`));function wV(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 TV(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function EV(){return typeof document<`u`&&typeof document.cookie==`string`}function DV(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 OV(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:DV(e,`challenge`)}:{},...r?{verify:DV(e,`verify`)}:{},...i?{logout:DV(e,`logout`)}:{},...typeof e==`object`&&e.resources!==void 0?{resources:e.resources}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return kV(a),a}function kV(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 AV=' 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 jV(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function MV(e,t){let{chainId:n,message:r}=t,i=t.url??(typeof e==`object`?e.challenge:DV(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}\\`).${AV}`});if(o.uri!==s.origin)throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message with \\`uri\\` \\`${o.uri}\\` (expected \\`${s.origin}\\`).${AV}`});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&&!jV(o.resources??[],a))throw new Qx({message:`Server Authentication challenge endpoint \\`${i}\\` did not echo the requested SIWE resources.`})}async function NV(e,t){let n=typeof e==`object`?e.challenge:DV(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 MV(e,{chainId:t,message:a.message,url:n}),{message:a.message}}function PV(e){return e.match(/^Nonce: (.+)$/m)?.[1]}async function FV(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 IV(e,t){let n=typeof e==`object`?e.verify:DV(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!EV(),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 LV={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},RV={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},zV={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var BV=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let VV={accent:new BV(`accent`),background:new BV(`background`),border:new BV(`border`),foreground:new BV(`foreground`),muted:new BV(`muted`),negative:new BV(`negative`),positive:new BV(`positive`),surface:new BV(`surface`),fontFamily:new BV(`font-family`),fontSizeBase:new BV(`font-size-base`),radius:new BV(`radius`),spacingUnit:new BV(`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: ${VV.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 HV(e,t=`Authorization`){let n=new URL(location.href);n.searchParams.set(RV.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()}Ff();function UV(e){let t=document.getElementById(LV.data),n=Mf(t.textContent),r=t.getAttribute(zV.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(zV.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(zV.challengeId),o=a?(i.removeAttribute(zV.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(LV.error)?.remove();return}let t=document.getElementById(LV.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=LV.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:e=>HV(e,o.challenge.header),vars:VV}}let WV=UV(`tempo`),GV=String.raw,KV=document.createElement(`style`);KV.textContent=GV`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${WV.vars.spacingUnit} * 8);\n }\n button {\n background: ${WV.vars.accent};\n border-radius: ${WV.vars.radius};\n color: ${WV.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${WV.vars.spacingUnit} * 4) calc(${WV.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`,WV.root.append(KV);let qV=xV({testnet:WV.challenge.request.methodDetails?.chainId===fE.id||WV.challenge.request.methodDetails?.chainId===HE.id}),JV=document.createElement(`button`);JV.innerHTML=`${WV.text.pay===`Pay`?`Continue with`:WV.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>`,JV.onclick=async()=>{try{WV.error(),JV.disabled=!0;let e=await(async()=>{let e=await qV.request({method:`eth_accounts`});return e.length>0?e.at(0):(await qV.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await $R({account:e,getClient:e=>{let t=e.chainId??WV.challenge.request.methodDetails?.chainId;return Eh({chain:[...qV?.chains??[],fE,HE].find(e=>e.id===t),transport:Kb(qV)})}})[0].createCredential({challenge:WV.challenge,context:{}});await WV.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;WV.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{JV.disabled=!1}},WV.root.appendChild(JV)})();</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`,()=>{ce(),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)},E=()=>{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`)},oe=!1,se=()=>{oe||(oe=!0,document.activeElement instanceof HTMLElement&&(S=document.activeElement),o.removeAttribute(`hidden`),o.removeAttribute(`aria-closed`),o.showModal())},ce=()=>{if(oe){oe=!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`)}},le={close(){n.fallback.close(),r=!1,ce(),re()},destroy(){ee?.instance===le&&(ee=void 0),n.fallback.close(),r=!1,re(),ce(),n.fallback.destroy(),y.destroy(),o.remove(),w.disconnect()},open(){r||(r=!0,se(),E())},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:le,refs:n},le})}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 E,oe=o((()=>{E=`1.2.3`})),se,ce=o((()=>{oe(),se=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@${E}`].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 le(e,t){return e.exec(t)?.groups}var ue,de,fe,pe=o((()=>{ue=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,de=/^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)?$/,fe=/^\\(.+?\\).*?$/}));function me(e){let t=e.type;if(he.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+=me(i),r<n-1&&(t+=`, `)}let r=le(he,e.type);return t+=`)${r?.array||``}`,me({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}var he,ge=o((()=>{pe(),he=/^tuple(?<array>(\\[(\\d*)\\])*)$/}));function _e(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=me(i),r!==n-1&&(t+=`, `)}return t}var ve=o((()=>{ge()}));function ye(e){return e.type===`function`?`function ${e.name}(${_e(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${_e(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${_e(e.inputs)})`:e.type===`error`?`error ${e.name}(${_e(e.inputs)})`:e.type===`constructor`?`constructor(${_e(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}var be=o((()=>{ve()}));function xe(e){return Pe.test(e)}function Se(e){return le(Pe,e)}function Ce(e){return Fe.test(e)}function we(e){return le(Fe,e)}function Te(e){return Ie.test(e)}function Ee(e){return le(Ie,e)}function De(e){return Le.test(e)}function Oe(e){return le(Le,e)}function ke(e){return Re.test(e)}function Ae(e){return le(Re,e)}function je(e){return ze.test(e)}function Me(e){return le(ze,e)}function Ne(e){return Be.test(e)}var Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue=o((()=>{pe(),Pe=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Fe=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)$/,Ie=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?<parameters>.*?)\\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?<returns>.*?)\\))?$/,Le=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/,Re=/^constructor\\((?<parameters>.*?)\\)(?:\\s(?<stateMutability>payable{1}))?$/,ze=/^fallback\\(\\) external(?:\\s(?<stateMutability>payable{1}))?$/,Be=/^receive\\(\\) external payable$/,Ve=new Set([`indexed`]),He=new Set([`calldata`,`memory`,`storage`])})),We,Ge,Ke=o((()=>{ce(),We=class extends se{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`})}},Ge=class extends se{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`})}}})),qe,Je,Ye,Xe,Ze,Qe=o((()=>{ce(),qe=class extends se{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Je=class extends se{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`})}},Ye=class extends se{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`})}},Xe=class extends se{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`})}},Ze=class extends se{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`})}}})),$e,et,tt,nt=o((()=>{ce(),$e=class extends se{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},et=class extends se{constructor({signature:e}){super(`Unknown signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSignatureError`})}},tt=class extends se{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`})}}})),rt,it=o((()=>{ce(),rt=class extends se{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`})}}})),at,ot=o((()=>{ce(),at=class extends se{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 st(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 ct,lt=o((()=>{ct=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 ut(e,t={}){if(Te(e))return dt(e,t);if(Ce(e))return ft(e,t);if(xe(e))return pt(e,t);if(ke(e))return mt(e,t);if(je(e))return ht(e);if(Ne(e))return{type:`receive`,stateMutability:`payable`};throw new et({signature:e})}function dt(e,t={}){let n=Ee(e);if(!n)throw new $e({signature:e,type:`function`});let r=_t(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(gt(r[e],{modifiers:He,structs:t,type:`function`}));let o=[];if(n.returns){let e=_t(n.returns),r=e.length;for(let n=0;n<r;n++)o.push(gt(e[n],{modifiers:He,structs:t,type:`function`}))}return{name:n.name,type:`function`,stateMutability:n.stateMutability??`nonpayable`,inputs:i,outputs:o}}function ft(e,t={}){let n=we(e);if(!n)throw new $e({signature:e,type:`event`});let r=_t(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(gt(r[e],{modifiers:Ve,structs:t,type:`event`}));return{name:n.name,type:`event`,inputs:i}}function pt(e,t={}){let n=Se(e);if(!n)throw new $e({signature:e,type:`error`});let r=_t(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(gt(r[e],{structs:t,type:`error`}));return{name:n.name,type:`error`,inputs:i}}function mt(e,t={}){let n=Ae(e);if(!n)throw new $e({signature:e,type:`constructor`});let r=_t(n.parameters),i=[],a=r.length;for(let e=0;e<a;e++)i.push(gt(r[e],{structs:t,type:`constructor`}));return{type:`constructor`,stateMutability:n.stateMutability??`nonpayable`,inputs:i}}function ht(e){let t=Me(e);if(!t)throw new $e({signature:e,type:`fallback`});return{type:`fallback`,stateMutability:t.stateMutability??`nonpayable`}}function gt(e,t){let n=st(e,t?.type,t?.structs);if(ct.has(n))return ct.get(n);let r=fe.test(e),i=le(r?St:xt,e);if(!i)throw new qe({param:e});if(i.name&&yt(i.name))throw new Je({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=_t(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(gt(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(Ct.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!vt(c))throw new Ge({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Ye({param:e,type:t?.type,modifier:i.modifier});if(He.has(i.modifier)&&!bt(c,!!i.array))throw new Xe({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return ct.set(n,u),u}function _t(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?_t(o,[...t,n.trim()]):_t(o,t,`${n}${i}`,r);case`(`:return _t(o,t,`${n}${i}`,r+1);case`)`:return _t(o,t,`${n}${i}`,r-1);default:return _t(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new at({current:n,depth:r});return t.push(n.trim()),t}function vt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||ue.test(e)||de.test(e)}function yt(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||ue.test(e)||de.test(e)||wt.test(e)}function bt(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}var xt,St,Ct,wt,Tt=o((()=>{pe(),Ke(),Qe(),nt(),ot(),lt(),Ue(),xt=/^(?<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$_]*))?$/,St=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,Ct=/^u?int$/,wt=/^(?: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 Et(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!De(n))continue;let i=Oe(n);if(!i)throw new $e({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=gt(t,{type:`struct`});o.push(n)}if(!o.length)throw new tt({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]=Dt(a,t)}return r}function Dt(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(fe.test(i.type))r.push(i);else{let e=le(Ot,i.type);if(!e?.type)throw new Ze({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new rt({type:o});r.push({...i,type:`tuple${a??``}`,components:Dt(t[o],t,new Set([...n,o]))})}else if(vt(o))r.push(i);else throw new We({type:o})}}return r}var Ot,kt=o((()=>{pe(),Ke(),Qe(),nt(),it(),Ue(),Tt(),Ot=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/}));function At(e){let t=Et(e),n=[],r=e.length;for(let i=0;i<r;i++){let r=e[i];De(r)||n.push(ut(r,t))}return n}var jt=o((()=>{Ue(),kt(),Tt()})),Mt=o((()=>{ce(),be(),ge(),ve(),jt(),Ke(),Ue(),kt(),Tt(),Qe(),nt(),ot(),it()}));function D(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 Nt(e,{includeName:t=!1}={}){if(e.type!==`function`&&e.type!==`event`&&e.type!==`error`)throw new pn(e.type);return`${e.name}(${Pt(e.inputs,{includeName:t})})`}function Pt(e,{includeName:t=!1}={}){return e?e.map(e=>Ft(e,{includeName:t})).join(t?`, `:`,`):``}function Ft(e,{includeName:t}){return e.type.startsWith(`tuple`)?`(${Pt(e.components,{includeName:t})})${e.type.slice(5)}`:e.type+(t&&e.name?` ${e.name}`:``)}var It=o((()=>{mn()}));function O(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}var Lt=o((()=>{}));function Rt(e){return O(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var zt=o((()=>{Lt()})),Bt,Vt=o((()=>{Bt=`2.57.1`}));function Ht(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Ht(e.cause,t):t?null:e}var Ut,k,A=o((()=>{Vt(),Ut={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Bt}`},k=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=Ut.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Ut.version?[`Version: ${Ut.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=Bt}walk(e){return Ht(this,e)}}})),Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn=o((()=>{It(),zt(),A(),Wt=class extends k{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`})}},Gt=class extends k{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`})}},Kt=class extends k{constructor({data:e,params:t,size:n}){super([`Data size of ${n} bytes is too small for given parameters.`].join(`\n`),{metaMessages:[`Params: (${Pt(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}},qt=class extends k{constructor({cause:e}={}){super(`Cannot decode zero data (\"0x\") with ABI parameters.`,{name:`AbiDecodingZeroDataError`,cause:e})}},Jt=class extends k{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`})}},Yt=class extends k{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${Rt(t)}) does not match expected size (bytes${e}).`,{name:`AbiEncodingBytesSizeMismatchError`})}},Xt=class extends k{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding params/values length mismatch.`,`Expected length (params): ${e}`,`Given length (values): ${t}`].join(`\n`),{name:`AbiEncodingLengthMismatchError`})}},Zt=class extends k{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`})}},Qt=class extends k{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`})}},$t=class extends k{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}},en=class extends k{constructor({docsPath:e}){super(`Cannot extract event signature from empty topics.`,{docsPath:e,name:`AbiEventSignatureEmptyTopicsError`})}},tn=class extends k{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`})}},nn=class extends k{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`})}},rn=class extends k{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`})}},an=class extends k{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`})}},on=class extends k{constructor(e,t){super(`Found ambiguous types in overloaded ABI items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Nt(e.abiItem)}\\`, and`,`\\`${t.type}\\` in \\`${Nt(t.abiItem)}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`],name:`AbiItemAmbiguityError`})}},sn=class extends k{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:`BytesSizeMismatchError`})}},cn=class extends k{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: (${Pt(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}},ln=class extends k{constructor({abiItem:e,param:t}){super([`Expected a topic for indexed event parameter${t.name?` \"${t.name}\"`:``} on event \"${Nt(e,{includeName:!0})}\".`].join(`\n`),{name:`DecodeLogTopicsMismatch`}),Object.defineProperty(this,\"abiItem\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=e}},un=class extends k{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`})}},dn=class extends k{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`})}},fn=class extends k{constructor(e){super([`Value \"${e}\" is not a valid array.`].join(`\n`),{name:`InvalidArrayError`})}},pn=class extends k{constructor(e){super([`\"${e}\" is not a valid definition type.`,`Valid types: \"function\", \"event\", \"error\"`].join(`\n`),{name:`InvalidDefinitionTypeError`})}}})),hn,gn,_n,vn=o((()=>{A(),hn=class extends k{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \"${e}\" is out-of-bounds (size: ${n}).`,{name:`SliceOffsetOutOfBoundsError`})}},gn=class extends k{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}},_n=class extends k{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 yn(e,{dir:t,size:n=32}={}){return typeof e==`string`?bn(e,{dir:t,size:n}):xn(e,{dir:t,size:n})}function bn(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new gn({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function xn(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new gn({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 Sn=o((()=>{vn()})),Cn,wn,Tn,En,Dn,On,kn,An,jn=o((()=>{A(),Cn=class extends k{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`})}},wn=class extends k{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`})}},Tn=class extends k{constructor(e){super(`Hex value \"${e}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`,{name:`InvalidHexBooleanError`})}},En=class extends k{constructor(e){super(`Hex value \"${e}\" is an odd length (${e.length}). It must be an even length.`,{name:`InvalidHexValueError`})}},Dn=class extends k{constructor({limit:e}){super(`RLP depth limit of \\`${e}\\` exceeded.`,{name:`RlpDepthLimitExceededError`})}},On=class extends k{constructor({consumed:e,declared:t}){super(`RLP list items consumed \\`${e}\\` bytes but the list declared a length of \\`${t}\\`.`,{name:`RlpListBoundaryExceededError`})}},kn=class extends k{constructor({count:e}){super(`RLP payload encodes a single item, but \\`${e}\\` trailing ${e===1?`byte remains`:`bytes remain`}.`,{name:`RlpTrailingBytesError`})}},An=class extends k{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}}}));function Mn(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 Nn=o((()=>{}));function Pn(e,{size:t}){if(Rt(e)>t)throw new An({givenSize:Rt(e),maxSize:t})}function Fn(e,t={}){let{signed:n}=t;t.size&&Pn(e,{size:t.size});let r=BigInt(e);if(!n)return r;let i=Math.ceil((e.length-2)/2);return r<=(1n<<BigInt(i)*8n-1n)-1n?r:r-BigInt(`0x${`f`.padStart(i*2,`f`)}`)-1n}function In(e,t={}){let n=e;if(t.size&&(Pn(n,{size:t.size}),n=Mn(n)),Mn(n)===`0x00`)return!1;if(Mn(n)===`0x01`)return!0;throw new Tn(n)}function Ln(e,t={}){let n=Fn(e,t),r=Number(n);if(!Number.isSafeInteger(r))throw new Cn({max:`${2**53-1}`,min:`${-(2**53-1)}`,signed:t.signed,size:t.size,value:`${n}n`});return r}var Rn=o((()=>{jn(),zt(),Nn()}));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`?(Pn(n,{size:t.size}),yn(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`?(Pn(r,{size:t.size}),yn(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 Cn({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?yn(s,{size:r}):s}function Hn(e,t={}){return Vn(Wn.encode(e),t)}var Un,Wn,Gn=o((()=>{jn(),Sn(),Rn(),Un=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Wn=new TextEncoder}));function Kn(e,t={}){return typeof e==`number`||typeof e==`bigint`?Xn(e,t):typeof e==`boolean`?qn(e,t):O(e)?Yn(e,t):Zn(e,t)}function qn(e,t={}){let n=new Uint8Array(1);return n[0]=Number(e),typeof t.size==`number`?(Pn(n,{size:t.size}),yn(n,{size:t.size})):n}function Jn(e){if(e>=$n.zero&&e<=$n.nine)return e-$n.zero;if(e>=$n.A&&e<=$n.F)return e-($n.A-10);if(e>=$n.a&&e<=$n.f)return e-($n.a-10)}function Yn(e,t={}){let n=e;t.size&&(Pn(n,{size:t.size}),n=yn(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=Jn(r.charCodeAt(t++)),i=Jn(r.charCodeAt(t++));if(n===void 0||i===void 0)throw new k(`Invalid byte sequence (\"${r[t-2]}${r[t-1]}\" in \"${r}\").`);a[e]=n*16+i}return a}function Xn(e,t){return Yn(j(e,t))}function Zn(e,t={}){let n=Qn.encode(e);return typeof t.size==`number`?(Pn(n,{size:t.size}),yn(n,{dir:`right`,size:t.size})):n}var Qn,$n,er=o((()=>{A(),Lt(),Sn(),Rn(),Gn(),Qn=new TextEncoder,$n={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function tr(e,t=!1){return t?{h:Number(e&ir),l:Number(e>>ar&ir)}:{h:Number(e>>ar&ir)|0,l:Number(e&ir)|0}}function nr(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}=tr(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}function rr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr=o((()=>{ir=BigInt(2**32-1),ar=BigInt(32),or=(e,t,n)=>e>>>n,sr=(e,t,n)=>e<<32-n|t>>>n,cr=(e,t,n)=>e>>>n|t<<32-n,lr=(e,t,n)=>e<<32-n|t>>>n,ur=(e,t,n)=>e<<64-n|t>>>n-32,dr=(e,t,n)=>e>>>n-32|t<<64-n,fr=(e,t,n)=>e<<n|t>>>32-n,pr=(e,t,n)=>t<<n|e>>>32-n,mr=(e,t,n)=>t<<n-32|e>>>64-n,hr=(e,t,n)=>e<<n-32|t>>>64-n,gr=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),_r=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,vr=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),yr=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,br=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),xr=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0})),Cr,wr=o((()=>{Cr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0}));\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Tr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Er(e){if(!Number.isSafeInteger(e)||e<0)throw Error(`positive integer expected, got `+e)}function Dr(e,...t){if(!Tr(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 Or(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash should be wrapped by utils.createHasher`);Er(e.outputLen),Er(e.blockLen)}function kr(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 Ar(e,t){Dr(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}function jr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Mr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Nr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Pr(e,t){return e<<32-t|e>>>t}function Fr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Ir(e){for(let t=0;t<e.length;t++)e[t]=Fr(e[t]);return e}function Lr(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function Rr(e){return typeof e==`string`&&(e=Lr(e)),Dr(e),e}function zr(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Dr(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 Br(e){let t=t=>e().update(Rr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function Vr(e=32){if(Cr&&typeof Cr.getRandomValues==`function`)return Cr.getRandomValues(new Uint8Array(e));if(Cr&&typeof Cr.randomBytes==`function`)return Uint8Array.from(Cr.randomBytes(e));throw Error(`crypto.getRandomValues must be defined`)}var Hr,Ur,Wr,Gr=o((()=>{wr(),Hr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,Ur=Hr?e=>e:Ir,Wr=class{}}));function Kr(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=ai(a,o,1)^n[r],c=oi(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=ei[n],a=ai(t,i,r),o=oi(t,i,r),s=$r[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]^=ri[r],e[1]^=ii[r]}Mr(n)}var qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui=o((()=>{Sr(),Gr(),qr=BigInt(0),Jr=BigInt(1),Yr=BigInt(2),Xr=BigInt(7),Zr=BigInt(256),Qr=BigInt(113),$r=[],ei=[],ti=[];for(let e=0,t=Jr,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],$r.push(2*(5*r+n)),ei.push((e+1)*(e+2)/2%64);let i=qr;for(let e=0;e<7;e++)t=(t<<Jr^(t>>Xr)*Qr)%Zr,t&Yr&&(i^=Jr<<(Jr<<BigInt(e))-Jr);ti.push(i)}ni=nr(ti,!0),ri=ni[0],ii=ni[1],ai=(e,t,n)=>n>32?mr(e,t,n):fr(e,t,n),oi=(e,t,n)=>n>32?hr(e,t,n):pr(e,t,n),si=class e extends Wr{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,Er(n),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=jr(this.state)}clone(){return this._cloneInto()}keccak(){Ur(this.state32),Kr(this.state32,this.rounds),Ur(this.state32),this.posOut=0,this.pos=0}update(e){kr(this),e=Rr(e),Dr(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){kr(this,!1),Dr(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 Er(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Ar(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,Mr(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}},ci=(e,t,n)=>Br(()=>new si(t,e,n)),li=ci(1,136,32)}));function di(e,t){let n=t||`hex`,r=li(O(e,{strict:!1})?Kn(e):e);return n===`bytes`?r:zn(r)}var fi=o((()=>{ui(),Lt(),er(),Gn()}));function pi(e){return mi(e)}var mi,hi=o((()=>{er(),fi(),mi=e=>di(Kn(e))}));function gi(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 k(`Unable to normalize signature.`);return i}var _i=o((()=>{A()})),vi,yi=o((()=>{Mt(),_i(),vi=e=>gi(typeof e==`string`?e:ye(e))}));function bi(e){return pi(vi(e))}var xi=o((()=>{hi(),yi()})),Si,Ci=o((()=>{xi(),Si=bi})),wi,Ti=o((()=>{A(),wi=class extends k{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`})}}})),Ei,Di=o((()=>{Ei=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 Oi(e,t){if(Ai.has(`${e}.${t}`))return Ai.get(`${e}.${t}`);let n=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),r=di(Zn(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 Ai.set(`${e}.${t}`,a),a}function ki(e,t){if(!Mi(e,{strict:!1}))throw new wi({address:e});return Oi(e,t)}var Ai,ji=o((()=>{Ti(),er(),fi(),Di(),Fi(),Ai=new Ei(8192)}));function Mi(e,t){let{strict:n=!0}=t??{},r=`${e}.${n}`;if(Pi.has(r))return Pi.get(r);let i=Ni.test(e)?e.toLowerCase()===e||!n||Oi(e)===e:!1;return Pi.set(r,i),i}var Ni,Pi,Fi=o((()=>{Di(),ji(),Ni=/^0x[a-fA-F0-9]{40}$/,Pi=new Ei(8192)}));function Ii(e){return typeof e[0]==`string`?Ri(e):Li(e)}function Li(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 Ri(e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}var zi=o((()=>{}));function Bi(e,t,n,{strict:r}={}){return O(e,{strict:!1})?Wi(e,t,n,{strict:r}):Ui(e,t,n,{strict:r})}function Vi(e,t){if(typeof t==`number`&&t>0&&t>Rt(e)-1)throw new hn({offset:t,position:`start`,size:Rt(e)})}function Hi(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Rt(e)!==n-t)throw new hn({offset:n,position:`end`,size:Rt(e)})}function Ui(e,t,n,{strict:r}={}){Vi(e,t);let i=e.slice(t,n);return r&&Hi(i,t,n),i}function Wi(e,t,n,{strict:r}={}){Vi(e,t);let i=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return r&&Hi(i,t,n),i}var Gi=o((()=>{vn(),Lt(),zt()})),Ki,qi,Ji=o((()=>{Ki=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,qi=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/}));function Yi(e,t){if(e.length!==t.length)throw new Xt({expectedLength:e.length,givenLength:t.length});return Qi(Xi({params:e,values:t}))}function Xi({params:e,values:t}){let n=[];for(let r=0;r<e.length;r++)n.push(Zi({param:e[r],value:t[r]}));return n}function Zi({param:e,value:t}){let n=oa(e.type);if(n){let[r,i]=n;return ea(t,{length:r,param:{...e,type:i}})}if(e.type===`tuple`)return aa(t,{param:e});if(e.type===`address`)return $i(t);if(e.type===`bool`)return na(t);if(e.type.startsWith(`uint`)||e.type.startsWith(`int`)){let n=e.type.startsWith(`int`),[,,r=`256`]=qi.exec(e.type)??[];return ra(t,{signed:n,size:Number(r)})}if(e.type.startsWith(`bytes`))return ta(t,{param:e});if(e.type===`string`)return ia(t);throw new un(e.type,{docsPath:`/docs/contract/encodeAbiParameters`})}function Qi(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];t+=r?32:Rt(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+=Rt(s)):n.push(s)}return Ri([...n,...r])}function $i(e){if(!Mi(e))throw new wi({address:e});return{dynamic:!1,encoded:bn(e.toLowerCase())}}function ea(e,{length:t,param:n}){let r=t===null;if(!Array.isArray(e))throw new fn(e);if(!r&&e.length!==t)throw new Jt({expectedLength:t,givenLength:e.length,type:`${n.type}[${t}]`});let i=e.length===0&&sa(n),a=[];for(let t=0;t<e.length;t++){let r=Zi({param:n,value:e[t]});r.dynamic&&(i=!0),a.push(r)}if(r||i){let e=Qi(a);if(r)return{dynamic:!0,encoded:Ri([j(a.length,{size:32}),e])};if(i)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:Ri(a.map(({encoded:e})=>e))}}function ta(e,{param:t}){let[,n]=t.type.split(`bytes`),r=Rt(e);if(!n){let t=e;return r%32!=0&&(t=bn(t,{dir:`right`,size:Math.ceil((e.length-2)/2/32)*32})),{dynamic:!0,encoded:Ri([bn(j(r,{size:32})),t])}}if(r!==Number.parseInt(n,10))throw new Yt({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:bn(e,{dir:`right`})}}function na(e){if(typeof e!=`boolean`)throw new k(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:bn(Bn(e))}}function ra(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 Cn({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 ia(e){let t=Hn(e),n=Math.ceil(Rt(t)/32),r=[];for(let e=0;e<n;e++)r.push(bn(Bi(t,e*32,(e+1)*32),{dir:`right`}));return{dynamic:!0,encoded:Ri([bn(j(Rt(t),{size:32})),...r])}}function aa(e,{param:t}){let n=!1,r=[];for(let i=0;i<t.components.length;i++){let a=t.components[i],o=Zi({param:a,value:e[Array.isArray(e)?i:a.name]});r.push(o),o.dynamic&&(n=!0)}return{dynamic:n,encoded:n?Qi(r):Ri(r.map(({encoded:e})=>e))}}function oa(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function sa(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components.some(sa);let n=oa(t);return n?sa({...e,type:n[1]}):!1}var ca=o((()=>{mn(),Ti(),A(),jn(),Fi(),zi(),Sn(),zt(),Gi(),Gn(),Ji()})),la,ua=o((()=>{Gi(),xi(),la=e=>Bi(bi(e),0,4)}));function da(e){let{abi:t,args:n=[],name:r}=e,i=O(r,{strict:!1}),a=t.filter(e=>i?e.type===`function`?la(e)===r:e.type===`event`&&Si(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?fa(t,r):!1})){if(o&&`inputs`in o&&o.inputs){let t=pa(e.inputs,o.inputs,n);if(t)throw new on({abiItem:e,type:t[0]},{abiItem:o,type:t[1]})}o=e}}return o||a[0]}function fa(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return Mi(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`&&fa(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=>fa(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function pa(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 pa(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`))&&Mi(n[r],{strict:!1}))return o}}var ma=o((()=>{mn(),Lt(),Fi(),Ci(),ua()}));function M(e){return typeof e==`string`?{address:e,type:`json-rpc`}:e}var ha=o((()=>{}));function ga(e){let{abi:t,args:n,functionName:r}=e,i=t[0];if(r){let e=da({abi:t,args:n,name:r});if(!e)throw new nn(r,{docsPath:_a});i=e}if(i.type!==`function`)throw new nn(void 0,{docsPath:_a});return{abi:[i],functionName:la(Nt(i))}}var _a,va=o((()=>{mn(),ua(),It(),ma(),_a=`/docs/contract/encodeFunctionData`}));function ya(e){let{args:t}=e,{abi:n,functionName:r}=e.abi.length===1&&e.functionName?.startsWith(`0x`)?e:ga(e),i=n[0];return Ri([r,(`inputs`in i&&i.inputs?Yi(i.inputs,t??[]):void 0)??`0x`])}var ba=o((()=>{zi(),ca(),va()})),xa,Sa,Ca,wa=o((()=>{xa={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.`},Sa={inputs:[{name:`message`,type:`string`}],name:`Error`,type:`error`},Ca={inputs:[{name:`reason`,type:`uint256`}],name:`Panic`,type:`error`}})),Ta,Ea,Da,Oa=o((()=>{A(),Ta=class extends k{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`,{name:`NegativeOffsetError`})}},Ea=class extends k{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`,{name:`PositionOutOfBoundsError`})}},Da=class extends k{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`,{name:`RecursiveReadLimitExceededError`})}}}));function ka(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(Aa);return n.bytes=e,n.dataView=new DataView(e.buffer??e,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var Aa,ja=o((()=>{Oa(),Aa={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 Da({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new Ea({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new Ta({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 Ta({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 Ma(e,t={}){return t.size!==void 0&&Pn(e,{size:t.size}),Fn(Vn(e),t)}function Na(e,t={}){let n=e;if(t.size!==void 0&&(Pn(n,{size:t.size}),n=Mn(n)),n.length>1||n[0]>1)throw new wn(n);return!!n[0]}function Pa(e,t={}){return t.size!==void 0&&Pn(e,{size:t.size}),Ln(Vn(e),t)}function Fa(e,t={}){let n=e;return t.size!==void 0&&(Pn(n,{size:t.size}),n=Mn(n,{dir:`right`})),new TextDecoder().decode(n)}var Ia=o((()=>{jn(),Nn(),Rn(),Gn()}));function La(e,t){let n=typeof t==`string`?Yn(t):t,r=ka(n);if(Rt(n)===0&&e.length>0)throw new qt;if(Rt(t)&&Rt(t)<32)throw new Kt({data:typeof t==`string`?t:Vn(t),params:e,size:Rt(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]=Ra(r,o,{staticPosition:0});i+=c,a.push(s)}return a}function Ra(e,t,{staticPosition:n}){let r=oa(t.type);if(r){let[i,a]=r;return Ba(e,{...t,type:a},{length:i,staticPosition:n})}if(t.type===`tuple`)return Wa(e,t,{staticPosition:n});if(t.type===`address`)return za(e);if(t.type===`bool`)return Va(e);if(t.type.startsWith(`bytes`))return Ha(e,t,{staticPosition:n});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return Ua(e,t);if(t.type===`string`)return Ga(e,{staticPosition:n});throw new dn(t.type,{docsPath:`/docs/contract/decodeAbiParameters`})}function za(e){return[Oi(Vn(Ui(e.readBytes(32),-20))),32]}function Ba(e,t,{length:n,staticPosition:r}){if(n===null){let n=r+Pa(e.readBytes(Ja)),i=n+qa;e.setPosition(n);let a=Pa(e.readBytes(qa)),o=Ka(t),s=0,c=[];for(let n=0;n<a;++n){e.setPosition(i+(o?n*32:s));let[r,a]=Ra(e,t,{staticPosition:i});s+=a,c.push(r),a===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(r+32),[c,32]}if(Ka(t)){let i=r+Pa(e.readBytes(Ja)),a=[];for(let r=0;r<n;++r){e.setPosition(i+r*32);let[n]=Ra(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]=Ra(e,t,{staticPosition:r+i});i+=o,a.push(n),o===0&&(e.assertReadLimit(),e._touch())}return[a,i]}function Va(e){return[Na(e.readBytes(32),{size:32}),32]}function Ha(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=Pa(e.readBytes(32));e.setPosition(n+t);let r=Pa(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 Ua(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?Ma(i,{signed:n}):Pa(i,{signed:n}),32]}function Wa(e,t,{staticPosition:n}){let r=t.components.length===0||t.components.some(({name:e})=>!e),i=r?[]:{},a=0;if(Ka(t)){let o=n+Pa(e.readBytes(Ja));for(let n=0;n<t.components.length;++n){let s=t.components[n];e.setPosition(o+a);let[c,l]=Ra(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]=Ra(e,s,{staticPosition:n});i[r?o:s?.name]=c,a+=l}return[i,a]}function Ga(e,{staticPosition:t}){let n=t+Pa(e.readBytes(32));e.setPosition(n);let r=Pa(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=Fa(e.readBytes(r,32));return e.setPosition(t+32),[i,32]}function Ka(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(Ka);let n=oa(e.type);return!!(n&&Ka({...e,type:n[1]}))}var qa,Ja,Ya=o((()=>{mn(),ji(),ja(),zt(),Gi(),Ia(),er(),Gn(),ca(),qa=32,Ja=32}));function Xa(e){let{abi:t,data:n,cause:r}=e,i=Bi(n,0,4);if(i===`0x`)throw new qt({cause:r});let a=[...t||[],Sa,Ca].find(e=>e.type===`error`&&i===la(Nt(e)));if(!a)throw new $t(i,{docsPath:`/docs/contract/decodeErrorResult`,cause:r});return{abiItem:a,args:`inputs`in a&&a.inputs&&a.inputs.length>0?La(a.inputs,Bi(n,4)):void 0,errorName:a.name}}var Za=o((()=>{wa(),mn(),Gi(),ua(),Ya(),It()})),Qa,$a=o((()=>{Qa=(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 eo({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`?Qa(t[n]):t[n]}`).join(`, `)})`}var to=o((()=>{$a()}));function no(e,t=0){if(!Number.isInteger(t)||t<0)throw new lo({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 ro(e,t=`wei`){return no(e,so.ether-so[t])}function io(e,t=`wei`){return no(e,so.gwei-so[t])}function ao(e,t=0){if(!Number.isInteger(t)||t<0)throw new lo({decimals:t});if(!/^-?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)$/.test(e))throw new co({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=oo(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 oo(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 so,co,lo,uo=o((()=>{so={wei:0,gwei:9,szabo:12,finney:15,ether:18},co=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`})}},lo=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 fo(e,t=`wei`){return ro(e,t)}var po=o((()=>{uo()}));function mo(e,t=`wei`){return io(e,t)}var ho=o((()=>{uo()}));function go(e){return e.reduce((e,{slot:t,value:n})=>`${e} ${t}: ${n}\\n`,``)}function _o(e){return e.reduce((e,{address:t,...n})=>{let r=`${e} ${t}:\\n`;return n.nonce&&(r+=` nonce: ${n.nonce}\\n`),n.balance&&(r+=` balance: ${n.balance}\\n`),n.code&&(r+=` code: ${n.code}\\n`),n.state&&(r+=` state:\n`,r+=go(n.state)),n.stateDiff&&(r+=` stateDiff:\n`,r+=go(n.stateDiff)),r},` State Override:\n`).slice(0,-1)}var vo,yo,bo=o((()=>{A(),vo=class extends k{constructor({address:e}){super(`State for account \"${e}\" is set multiple times.`,{name:`AccountStateConflictError`})}},yo=class extends k{constructor(){super(`state and stateDiff are set on the same account.`,{name:`StateAssignmentConflictError`})}}}));function xo(e){let t=Object.entries(e).map(([e,t])=>t===void 0||t===!1?null:[e,t]).filter(Boolean),n=t.reduce((e,[t])=>Math.max(e,t.length),0);return t.map(([e,t])=>` ${`${e}:`.padEnd(n+1)} ${t}`).join(`\n`)}var So,Co,wo,To,Eo,Do,Oo,ko,Ao,jo,Mo,No,Po=o((()=>{po(),ho(),A(),So=class extends k{constructor({filledNonce:e,requestedNonce:t}){super(`The filled transaction nonce does not match the requested nonce.`,{metaMessages:[`Requested Nonce: ${t}`,`Filled Nonce: ${e}`],name:`FeePayerNonceMismatchError`})}},Co=class extends k{constructor({v:e}){super(`Invalid \\`v\\` value \"${e}\". Expected 27 or 28.`,{name:`InvalidLegacyVError`})}},wo=class extends k{constructor({yParity:e}){super(`Invalid \\`yParity\\` value \"${e}\". Expected 0 or 1.`,{name:`InvalidYParityError`})}},To=class extends k{constructor({transaction:e}){super(`Cannot infer a transaction type from provided transaction.`,{metaMessages:[`Provided Transaction:`,`{`,xo(e),`}`,``,`To infer the type, either provide:`,\"- a `type` to the Transaction, or\",\"- an EIP-1559 Transaction with `maxFeePerGas`, or\",\"- an EIP-2930 Transaction with `gasPrice` & `accessList`, or\",\"- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or\",\"- an EIP-7702 Transaction with `authorizationList`, or\",\"- a Legacy Transaction with `gasPrice`\"],name:`InvalidSerializableTransactionError`})}},Eo=class extends k{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}},Do=class extends k{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}},Oo=class extends k{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`,{name:`InvalidStorageKeySizeError`})}},ko=class extends k{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=xo({chain:r&&`${r?.name} (id: ${r?.id})`,from:t?.address,to:u,value:d!==void 0&&`${fo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${mo(o)} gwei`,maxFeePerGas:s!==void 0&&`${mo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${mo(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Request Arguments:`,f].filter(Boolean),name:`TransactionExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Ao=class extends k{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`})}},jo=class extends k{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`})}},Mo=class extends k{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}},No=class extends k{constructor({hash:e}){super(`Timed out while waiting for transaction with hash \"${e}\" to be confirmed.`,{name:`WaitForTransactionReceiptTimeoutError`})}}}));function Fo(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 Io(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}var Lo,Ro,zo=o((()=>{Lo=e=>e,Ro=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}}})),Bo,Vo,Ho,Uo,Wo,Go,Ko=o((()=>{ha(),wa(),Za(),It(),to(),ma(),po(),ho(),mn(),A(),bo(),Po(),zo(),Bo=class extends k{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d,stateOverride:f}){let p=xo({from:(t?M(t):void 0)?.address,to:u,value:d!==void 0&&`${fo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${mo(o)} gwei`,maxFeePerGas:s!==void 0&&`${mo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${mo(c)} gwei`,nonce:l});f&&(p+=`\\n${_o(f)}`),super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Raw Call Arguments:`,p].filter(Boolean),name:`CallExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},Vo=class extends k{constructor(e,{abi:t,args:n,contractAddress:r,docsPath:i,functionName:a,sender:o}){let s=da({abi:t,args:n,name:a}),c=s?eo({abiItem:s,args:n,includeFunctionName:!1,includeName:!1}):void 0,l=s?Nt(s,{includeName:!0}):void 0,u=xo({address:r&&Lo(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}},Ho=class extends k{constructor({abi:e,data:t,functionName:n,message:r,cause:i}){let a,o,s,c;if(t&&t!==`0x`)try{o=Xa({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=xa[e]}else{let e=n?Nt(n,{includeName:!0}):void 0,t=n&&a?eo({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 $t&&(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}},Uo=class extends k{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})}},Wo=class extends k{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`})}},Go=class extends k{constructor({data:e,message:t}){super(t||``,{name:`RawContractError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=e}}})),qo,Jo,Yo,Xo,Zo=o((()=>{$a(),A(),zo(),qo=class extends k{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: ${Ro(a)}`,e&&`Request body: ${Qa(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}},Jo=class extends k{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}},Yo=class extends k{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${Ro(n)}`,`Request body: ${Qa(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}},Xo=class extends k{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${Ro(t)}`,`Request body: ${Qa(e)}`],name:`TimeoutError`}),Object.defineProperty(this,\"url\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}}})),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,Ds,Os=o((()=>{A(),Zo(),Qo=-1,$o=class extends k{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 Yo?e.code:t??Qo}},es=class extends $o{constructor(e,t){super(e,t),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},ts=class e extends $o{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(ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),ns=class e extends $o{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}},Object.defineProperty(ns,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),rs=class e extends $o{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` \"${n}\"`:``} does not exist / is not available.`})}},Object.defineProperty(rs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),is=class e extends $o{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(is,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),as=class e extends $o{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}},Object.defineProperty(as,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),os=class e extends $o{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(os,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),ss=class e extends $o{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(ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),cs=class e extends $o{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}},Object.defineProperty(cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),ls=class e extends $o{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}},Object.defineProperty(ls,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),us=class e extends $o{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` \"${n}\"`:``} is not supported.`})}},Object.defineProperty(us,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),ds=class e extends $o{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}},Object.defineProperty(ds,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),fs=class e extends $o{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}},Object.defineProperty(fs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),ps=class e extends es{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}},Object.defineProperty(ps,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),ms=class e extends es{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(ms,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),hs=class e extends es{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` \" ${n}\"`:``}.`})}},Object.defineProperty(hs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),gs=class e extends es{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}},Object.defineProperty(gs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),_s=class e extends es{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}},Object.defineProperty(_s,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),vs=class e extends es{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}},Object.defineProperty(vs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),ys=class e extends es{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(ys,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),bs=class e extends es{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}},Object.defineProperty(bs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),xs=class e extends es{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}},Object.defineProperty(xs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),Ss=class e extends es{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}},Object.defineProperty(Ss,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),Cs=class e extends es{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}},Object.defineProperty(Cs,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),ws=class e extends es{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(ws,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Ts=class e extends es{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}},Object.defineProperty(Ts,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),Es=class e extends es{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}},Object.defineProperty(Es,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:7e3}),Ds=class extends $o{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}}}));mn(),A(),Ko(),Zo(),Os();function ks(e,{abi:t,address:n,args:r,docsPath:i,functionName:a,sender:o}){let s=e instanceof Go?e:e instanceof k?e.walk(e=>`data`in e)||e.walk():{},{code:c,data:l,details:u,message:d,shortMessage:f}=s,p=e instanceof qt?new Uo({functionName:a,cause:e}):[3,as.code].includes(c)&&(l||u||d||f)||c===os.code&&u===`execution reverted`&&l?new Ho({abi:t,data:typeof l==`object`?l.data:l,functionName:a,message:s instanceof Yo?u:f??d,cause:e}):e;return new Vo(p,{abi:t,args:r,contractAddress:n,docsPath:i,functionName:a,sender:o})}ji(),fi();function As(e){return Oi(`0x${di(`0x${e.substring(4)}`).substring(26)}`)}function js(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 Ms(e,t,n){return e&t^~e&n}function Ns(e,t,n){return e&t^e&n^t&n}var Ps,Fs,Is,Ls,Rs=o((()=>{Gr(),Ps=class extends Wr{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=Nr(this.buffer)}update(e){kr(this),e=Rr(e),Dr(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=Nr(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){kr(this),Ar(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Mr(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;js(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=Nr(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()}},Fs=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Is=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Ls=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])})),zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys,Xs,Zs,Qs=o((()=>{Rs(),Sr(),Gr(),zs=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]),Bs=new Uint32Array(64),Vs=class extends Ps{constructor(e=32){super(64,e,8,!1),this.A=Fs[0]|0,this.B=Fs[1]|0,this.C=Fs[2]|0,this.D=Fs[3]|0,this.E=Fs[4]|0,this.F=Fs[5]|0,this.G=Fs[6]|0,this.H=Fs[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)Bs[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Bs[e-15],n=Bs[e-2],r=Pr(t,7)^Pr(t,18)^t>>>3,i=Pr(n,17)^Pr(n,19)^n>>>10;Bs[e]=i+Bs[e-7]+r+Bs[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=Pr(o,6)^Pr(o,11)^Pr(o,25),u=l+t+Ms(o,s,c)+zs[e]+Bs[e]|0,d=(Pr(n,2)^Pr(n,13)^Pr(n,22))+Ns(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(){Mr(Bs)}destroy(){this.set(0,0,0,0,0,0,0,0),Mr(this.buffer)}},Hs=nr(`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))),Us=Hs[0],Ws=Hs[1],Gs=new Uint32Array(80),Ks=new Uint32Array(80),qs=class extends Ps{constructor(e=64){super(128,e,16,!1),this.Ah=Ls[0]|0,this.Al=Ls[1]|0,this.Bh=Ls[2]|0,this.Bl=Ls[3]|0,this.Ch=Ls[4]|0,this.Cl=Ls[5]|0,this.Dh=Ls[6]|0,this.Dl=Ls[7]|0,this.Eh=Ls[8]|0,this.El=Ls[9]|0,this.Fh=Ls[10]|0,this.Fl=Ls[11]|0,this.Gh=Ls[12]|0,this.Gl=Ls[13]|0,this.Hh=Ls[14]|0,this.Hl=Ls[15]|0}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)Gs[n]=e.getUint32(t),Ks[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Gs[e-15]|0,n=Ks[e-15]|0,r=cr(t,n,1)^cr(t,n,8)^or(t,n,7),i=lr(t,n,1)^lr(t,n,8)^sr(t,n,7),a=Gs[e-2]|0,o=Ks[e-2]|0,s=cr(a,o,19)^ur(a,o,61)^or(a,o,6),c=lr(a,o,19)^dr(a,o,61)^sr(a,o,6),l=vr(i,c,Ks[e-7],Ks[e-16]),u=yr(l,r,s,Gs[e-7],Gs[e-16]);Gs[e]=u|0,Ks[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=cr(u,d,14)^cr(u,d,18)^ur(u,d,41),v=lr(u,d,14)^lr(u,d,18)^dr(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=br(_,v,b,Ws[e],Ks[e]),S=xr(x,g,t,y,Us[e],Gs[e]),C=x|0,w=cr(n,r,28)^ur(n,r,34)^ur(n,r,39),T=lr(n,r,28)^dr(n,r,34)^dr(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}=rr(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=gr(C,T,te);n=_r(ne,S,w,ee),r=ne|0}({h:n,l:r}=rr(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=rr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=rr(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=rr(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=rr(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=rr(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=rr(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=rr(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(){Mr(Gs,Ks)}destroy(){Mr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Js=class extends qs{constructor(){super(48),this.Ah=Is[0]|0,this.Al=Is[1]|0,this.Bh=Is[2]|0,this.Bl=Is[3]|0,this.Ch=Is[4]|0,this.Cl=Is[5]|0,this.Dh=Is[6]|0,this.Dl=Is[7]|0,this.Eh=Is[8]|0,this.El=Is[9]|0,this.Fh=Is[10]|0,this.Fl=Is[11]|0,this.Gh=Is[12]|0,this.Gl=Is[13]|0,this.Hh=Is[14]|0,this.Hl=Is[15]|0}},Ys=Br(()=>new Vs),Xs=Br(()=>new qs),Zs=Br(()=>new Js)})),$s,ec,tc=o((()=>{Gr(),$s=class extends Wr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Or(e);let n=Rr(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),Mr(i)}update(e){return kr(this),this.iHash.update(e),this}digestInto(e){kr(this),Dr(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()}},ec=(e,t,n)=>new $s(e,t).update(n).digest(),ec.create=(e,t)=>new $s(e,t)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction nc(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function rc(e){if(!nc(e))throw Error(`Uint8Array expected`)}function ic(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}function ac(e){let t=e.toString(16);return t.length&1?`0`+t:t}function oc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?wc:BigInt(`0x`+e)}function sc(e){if(rc(e),Ec)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Dc[e[n]];return t}function cc(e){if(e>=Oc._0&&e<=Oc._9)return e-Oc._0;if(e>=Oc.A&&e<=Oc.F)return e-(Oc.A-10);if(e>=Oc.a&&e<=Oc.f)return e-(Oc.a-10)}function lc(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(Ec)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=cc(e.charCodeAt(i)),a=cc(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 uc(e){return oc(sc(e))}function dc(e){return rc(e),oc(sc(Uint8Array.from(e).reverse()))}function fc(e,t){return lc(e.toString(16).padStart(t*2,`0`))}function pc(e,t){return fc(e,t).reverse()}function mc(e,t,n){let r;if(typeof t==`string`)try{r=lc(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(nc(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 hc(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];rc(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 gc(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 _c(e){if(typeof e!=`string`)throw Error(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function vc(e,t,n){return kc(e)&&kc(t)&&kc(n)&&t<=e&&e<n}function yc(e,t,n,r){if(!vc(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function bc(e){let t;for(t=0;e>wc;e>>=Tc,t+=1);return t}function xc(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=jc(e),i=jc(e),a=0,o=()=>{r.fill(1),i.fill(0),a=0},s=(...e)=>n(i,r,...e),c=(e=jc(0))=>{i=s(Mc([0]),e),r=s(),e.length!==0&&(i=s(Mc([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 hc(...n)};return(e,t)=>{o(),c(e);let n;for(;!(n=t(l()));)c();return o(),n}}function Sc(e,t,n={}){let r=(t,n,r)=>{let i=Nc[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 Cc(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 wc,Tc,Ec,Dc,Oc,kc,Ac,jc,Mc,Nc,Pc=o((()=>{wc=BigInt(0),Tc=BigInt(1),Ec=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Dc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Oc={_0:48,_9:57,A:65,F:70,a:97,f:102},kc=e=>typeof e==`bigint`&&wc<=e,Ac=e=>(Tc<<BigInt(e))-Tc,jc=e=>new Uint8Array(e),Mc=e=>Uint8Array.from(e),Nc={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`||nc(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 Fc(e,t){let n=e%t;return n>=Zc?n:t+n}function Ic(e,t,n){let r=e;for(;t-->Zc;)r*=r,r%=n;return r}function Lc(e,t){if(e===Zc)throw Error(`invert: expected non-zero number`);if(t<=Zc)throw Error(`invert: expected positive modulus, got `+t);let n=Fc(e,t),r=t,i=Zc,a=Qc,o=Qc,s=Zc;for(;n!==Zc;){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!==Qc)throw Error(`invert: does not exist`);return Fc(i,t)}function Rc(e,t){let n=(e.ORDER+Qc)/tl,r=e.pow(t,n);if(!e.eql(e.sqr(r),t))throw Error(`Cannot find square root`);return r}function zc(e,t){let n=(e.ORDER-nl)/rl,r=e.mul(t,$c),i=e.pow(r,n),a=e.mul(t,i),o=e.mul(e.mul(a,$c),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 Bc(e){if(e<BigInt(3))throw Error(`sqrt is not defined for small field`);let t=e-Qc,n=0;for(;t%$c===Zc;)t/=$c,n++;let r=$c,i=qc(e);for(;Gc(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Rc;let a=i.pow(r,t),o=(t+Qc)/$c;return function(e,r){if(e.is0(r))return r;if(Gc(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=Qc<<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 Vc(e){return e%tl===el?Rc:e%rl===nl?zc:Bc(e)}function Hc(e){return Sc(e,il.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function Uc(e,t,n){if(n<Zc)throw Error(`invalid exponent, negatives unsupported`);if(n===Zc)return e.ONE;if(n===Qc)return t;let r=e.ONE,i=t;for(;n>Zc;)n&Qc&&(r=e.mul(r,i)),i=e.sqr(i),n>>=Qc;return r}function Wc(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 Gc(e,t){let n=(e.ORDER-Qc)/$c,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 Kc(e,t){t!==void 0&&Er(t);let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function qc(e,t,n=!1,r={}){if(e<=Zc)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=Kc(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:Ac(i),ZERO:Zc,ONE:Qc,create:t=>Fc(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return Zc<=t&&t<e},is0:e=>e===Zc,isOdd:e=>(e&Qc)===Qc,neg:t=>Fc(-t,e),eql:(e,t)=>e===t,sqr:t=>Fc(t*t,e),add:(t,n)=>Fc(t+n,e),sub:(t,n)=>Fc(t-n,e),mul:(t,n)=>Fc(t*n,e),pow:(e,t)=>Uc(s,e,t),div:(t,n)=>Fc(t*Lc(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Lc(t,e),sqrt:r.sqrt||(t=>(o||=Vc(e),o(s,t))),toBytes:e=>n?pc(e,a):fc(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?dc(e):uc(e)},invertBatch:e=>Wc(s,e),cmov:(e,t,n)=>n?t:e});return Object.freeze(s)}function Jc(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);let t=e.toString(2).length;return Math.ceil(t/8)}function Yc(e){let t=Jc(e);return t+Math.ceil(t/2)}function Xc(e,t,n=!1){let r=e.length,i=Jc(t),a=Yc(t);if(r<16||r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=Fc(n?dc(e):uc(e),t-Qc)+Qc;return n?pc(o,i):fc(o,i)}var Zc,Qc,$c,el,tl,nl,rl,il,al=o((()=>{Gr(),Pc(),Zc=BigInt(0),Qc=BigInt(1),$c=BigInt(2),el=BigInt(3),tl=BigInt(4),nl=BigInt(5),rl=BigInt(8),il=[`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 ol(e,t){let n=t.negate();return e?n:t}function sl(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function cl(e,t){sl(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:Ac(e),maxNumber:i,shiftBy:BigInt(e)}}function ll(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+=_l);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 ul(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 dl(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 fl(e){return yl.get(e)||1}function pl(e,t){return{constTimeNegate:ol,hasPrecomputes(e){return fl(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>gl;)n&_l&&(r=r.add(i)),i=i.double(),n>>=_l;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=cl(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=cl(n,t);for(let e=0;e<s.windows;e++){let{nextN:t,offset:n,isZero:c,isNeg:l,isNegF:u,offsetF:d}=ll(i,e,s);i=t,c?o=o.add(ol(u,r[d])):a=a.add(ol(l,r[n]))}return{p:a,f:o}},wNAFUnsafe(n,r,i,a=e.ZERO){let o=cl(n,t);for(let e=0;e<o.windows&&i!==gl;e++){let{nextN:t,offset:n,isZero:s,isNeg:c}=ll(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=vl.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&vl.set(t,n(r))),r},wNAFCached(e,t,n){let r=fl(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=fl(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){sl(n,t),yl.set(e,n),vl.delete(e)}}}function ml(e,t,n,r){ul(n,e),dl(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=bc(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=Ac(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 hl(e){return Hc(e.Fp),Sc(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...Kc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var gl,_l,vl,yl,bl=o((()=>{al(),Pc(),gl=BigInt(0),_l=BigInt(1),vl=new WeakMap,yl=new WeakMap}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction xl(e){e.lowS!==void 0&&ic(`lowS`,e.lowS),e.prehash!==void 0&&ic(`prehash`,e.prehash)}function Sl(e){let t=hl(e);Sc(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 Cl(e,t){return sc(fc(e,t))}function wl(e){let t=Sl(e),{Fp:n}=t,r=qc(t.n,t.nBitLength),i=t.toBytes||((e,t,r)=>{let i=t.toAffine();return hc(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,Pl),Fl),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 vc(e,Ml,t.n)}function d(e){let{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:a}=t;if(n&&typeof e!=`bigint`){if(nc(e)&&(e=sc(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:uc(mc(`private key`,e,r))}catch{throw Error(`invalid private key, expected hex or `+r+` bytes, got `+typeof e)}return i&&(o=Fc(o,a)),yc(`private key`,o,Ml,a),o}function f(e){if(!(e instanceof h))throw Error(`ProjectivePoint expected`)}let p=Cc((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=Cc(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=Wc(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(mc(`pointHex`,e)));return t.assertValidity(),t}static fromPrivateKey(e){return h.BASE.multiply(d(e))}static msm(e,t){return ml(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,Pl),{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,Pl),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;yc(`scalar`,e,jl,i);let a=h.ZERO;if(e===jl)return a;if(this.is0()||e===Ml)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>jl||l>jl;)s&Ml&&(u=u.add(f)),l&Ml&&(d=d.add(f)),f=f.double(),s>>=Ml,l>>=Ml;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;yc(`scalar`,e,Ml,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===jl||t===Ml||!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===Ml)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===Ml?this:n?n(h,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return ic(`isCompressed`,e),this.assertValidity(),i(h,this,e)}toHex(e=!0){return ic(`isCompressed`,e),sc(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=pl(h,g?Math.ceil(_/2):_);return{CURVE:t,ProjectivePoint:h,normPrivateKeyToScalar:d,weierstrassEquation:o,isWithinCurveOrder:u}}function Tl(e){let t=hl(e);return Sc(t,{hash:`hash`,hmac:`function`,randomBytes:`function`},{bits2int:`function`,bits2int_modN:`function`,lowS:`boolean`}),Object.freeze({lowS:!0,...t})}function El(e){let t=Tl(e),{Fp:n,n:r,nByteLength:i,nBitLength:a}=t,o=n.BYTES+1,s=2*n.BYTES+1;function c(e){return Fc(e,r)}function l(e){return Lc(e,r)}let{ProjectivePoint:u,normPrivateKeyToScalar:d,weierstrassEquation:f,isWithinCurveOrder:p}=wl({...t,toBytes(e,t,r){let i=t.toAffine(),a=n.toBytes(i.x),o=hc;return ic(`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=uc(i);if(!vc(e,Ml,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&Ml)===Ml;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>>Ml}function h(e){return m(e)?c(-e):e}let g=(e,t,n)=>uc(e.slice(t,n));class _{constructor(e,t,n){yc(`r`,e,Ml,r),yc(`s`,t,Ml,r),this.r=e,this.s=t,n!=null&&(this.recovery=n),Object.freeze(this)}static fromCompact(e){let t=i;return e=mc(`compactSignature`,e,t*2),new _(g(e,0,t),g(e,t,2*t))}static fromDER(e){let{r:t,s:n}=Al.toSig(mc(`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(mc(`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+Cl(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 lc(this.toDERHex())}toDERHex(){return Al.hexFromSig(this)}toCompactRawBytes(){return lc(this.toCompactHex())}toCompactHex(){let e=i;return Cl(this.r,e)+Cl(this.s,e)}}let v={isValidPrivateKey(e){try{return d(e),!0}catch{return!1}},normPrivateKeyToScalar:d,randomPrivateKey:()=>{let e=Yc(t.n);return Xc(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=mc(`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=uc(e),n=e.length*8-a;return n>0?t>>BigInt(n):t},C=t.bits2int_modN||function(e){return c(S(e))},w=Ac(a);function T(e){return yc(`num < 2^`+a,e,jl,w),fc(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=mc(`msgHash`,e),xl(i),f&&(e=mc(`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(mc(`extraEntropy`,e))}let x=hc(...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===jl)return;let a=c(n*c(w+i*y));if(a===jl)return;let o=(r.x===i?0:2)|Number(r.y&Ml),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 xc(o.hash.outputLen,o.nByteLength,o.hmac)(i,a)}u.BASE._setWindowSize(8);function ie(e,n,r,i=ne){let a=e;n=mc(`msgHash`,n),r=mc(`publicKey`,r);let{lowS:o,prehash:s,format:d}=i;if(xl(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`||nc(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 Al.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 Dl(e,t){let n=e.ORDER,r=jl;for(let e=n-Ml;e%Nl===jl;e/=Nl)r+=Ml;let i=r,a=Nl<<i-Ml-Ml,o=a*Nl,s=(n-Ml)/o,c=(s-Ml)/Nl,l=o-Ml,u=a,d=e.pow(t,s),f=e.pow(t,(s+Ml)/Nl),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>Ml;t--){let n=t-Nl;n=Nl<<n-Ml;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%Fl===Pl){let n=(e.ORDER-Pl)/Fl,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 Ol(e,t){if(Hc(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw Error(`mapToCurveSimpleSWU: invalid opts`);let n=Dl(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=Wc(e,[s],!0)[0];return u=e.mul(u,h),{x:u,y:d}}}var kl,Al,jl,Ml,Nl,Pl,Fl,Il=o((()=>{bl(),al(),Pc(),kl=class extends Error{constructor(e=``){super(e)}},Al={Err:kl,_tlv:{encode:(e,t)=>{let{Err:n}=Al;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=ac(r);if(i.length/2&128)throw new n(`tlv.encode: long form length too big`);let a=r>127?ac(i.length/2|128):``;return ac(e)+a+i+t},decode(e,t){let{Err:n}=Al,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}=Al;if(e<jl)throw new t(`integer: negative integers are not allowed`);let n=ac(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}=Al;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 uc(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=Al,i=mc(`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}=Al,r=t.encode(2,n.encode(e.r))+t.encode(2,n.encode(e.s));return t.encode(48,r)}},jl=BigInt(0),Ml=BigInt(1),Nl=BigInt(2),Pl=BigInt(3),Fl=BigInt(4)}));\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Ll(e){return{hash:e,hmac:(t,...n)=>ec(e,t,zr(...n)),randomBytes:Vr}}function Rl(e,t){let n=t=>El({...e,...Ll(t)});return{...n(t),create:n}}var zl=o((()=>{tc(),Gr(),Il()}));function Bl(e,t){if(Hl(e),Hl(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 Vl(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 Hl(e){if(!Number.isSafeInteger(e))throw Error(`number expected`)}function Ul(e,t,n,r){rc(e),rc(t),Hl(n),t.length>255&&(t=r(hc(_c(`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=hc(t,Bl(t.length,1)),c=Bl(0,a),l=Bl(n,2),u=Array(o),d=r(hc(c,e,l,Bl(0,1),s));u[0]=r(hc(d,Bl(1,1),s));for(let e=1;e<=o;e++){let t=[Vl(d,u[e-1]),Bl(e+1,1),s];u[e]=r(hc(...t))}return hc(...u).slice(0,n)}function Wl(e,t,n,r,i){if(rc(e),rc(t),Hl(n),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(_c(`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(Bl(n,2)).update(t).update(Bl(t.length,1)).digest()}function Gl(e,t,n){Sc(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;rc(e),Hl(t);let l=typeof c==`string`?_c(c):c,u=r.toString(2).length,d=Math.ceil((u+i)/8),f=t*a*d,p;if(s===`xmd`)p=Ul(e,l,f,o);else if(s===`xof`)p=Wl(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]=Fc(Jl(o),r)}m[e]=t}return m}function Kl(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]=Wc(e,[a,s],!0);return t=e.mul(i,c),r=e.mul(r,e.mul(o,l)),{x:t,y:r}}}function ql(e,t,n){if(typeof t!=`function`)throw Error(`mapToCurve() must be defined`);function r(n){return e.fromAffine(t(n))}function i(t){let n=t.clearCofactor();return n.equals(e.ZERO)?e.ZERO:(n.assertValidity(),n)}return{defaults:n,hashToCurve(e,t){let a=Gl(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(Gl(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 Jl,Yl=o((()=>{al(),Pc(),Jl=uc})),Xl=c({encodeToCurve:()=>Eu,hashToCurve:()=>Tu,schnorr:()=>xu,secp256k1:()=>fu,secp256k1_hasher:()=>wu});\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction Zl(e){let t=au,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=Ic(Ic(Ic(u,n,t)*u%t,n,t)*u%t,lu,t)*l%t,f=Ic(d,i,t)*d%t,p=Ic(f,a,t)*f%t,m=Ic(p,s,t)*p%t,h=Ic(Ic(Ic(Ic(Ic(Ic(m,c,t)*m%t,s,t)*p%t,n,t)*u%t,o,t)*f%t,r,t)*l%t,lu,t);if(!du.eql(du.sqr(h),e))throw Error(`Cannot find square root`);return h}function Ql(e,...t){let n=pu[e];if(n===void 0){let t=Ys(Uint8Array.from(e,e=>e.charCodeAt(0)));n=hc(t,t),pu[e]=n}return Ys(hc(n,...t))}function $l(e){let t=fu.utils.normPrivateKeyToScalar(e),n=vu.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:_u(-t),bytes:mu(n)}}function eu(e){yc(`x`,e,cu,au);let t=gu(e*e),n=Zl(gu(t*e+BigInt(7)));n%lu!==su&&(n=gu(-n));let r=new vu(e,n,cu);return r.assertValidity(),r}function tu(...e){return _u(bu(Ql(`BIP0340/challenge`,...e)))}function nu(e){return $l(e).bytes}function ru(e,t,n=Vr(32)){let r=mc(`message`,e),{bytes:i,scalar:a}=$l(t),o=mc(`auxRand`,n,32),s=Ql(`BIP0340/nonce`,hu(a^bu(Ql(`BIP0340/aux`,o))),i,r),c=_u(bu(s));if(c===su)throw Error(`sign failed: k is zero`);let{bytes:l,scalar:u}=$l(c),d=tu(l,i,r),f=new Uint8Array(64);if(f.set(l,0),f.set(hu(_u(u+d*a)),32),!iu(f,r,i))throw Error(`sign: Invalid signature produced`);return f}function iu(e,t,n){let r=mc(`signature`,e,64),i=mc(`message`,t),a=mc(`publicKey`,n,32);try{let e=eu(bu(a)),t=bu(r.subarray(0,32));if(!vc(t,cu,au))return!1;let n=bu(r.subarray(32,64));if(!vc(n,cu,ou))return!1;let o=tu(hu(t),mu(e),i),s=yu(e,n,_u(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch{return!1}}var au,ou,su,cu,lu,uu,du,fu,pu,mu,hu,gu,_u,vu,yu,bu,xu,Su,Cu,wu,Tu,Eu,Du=o((()=>{Qs(),Gr(),zl(),Yl(),al(),Pc(),Il(),au=BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f`),ou=BigInt(`0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141`),su=BigInt(0),cu=BigInt(1),lu=BigInt(2),uu=(e,t)=>(e+t/lu)/t,du=qc(au,void 0,void 0,{sqrt:Zl}),fu=Rl({a:su,b:BigInt(7),Fp:du,n:ou,Gx:BigInt(`55066263022277343669578718895168534326250603453777594175500187360389116729240`),Gy:BigInt(`32670510020758816978083085130507043184471273380659243275938904335757337482424`),h:BigInt(1),lowS:!0,endo:{beta:BigInt(`0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`),splitScalar:e=>{let t=ou,n=BigInt(`0x3086d221a7d46bcde86c90e49284eb15`),r=-cu*BigInt(`0xe4437ed6010e88286f547fa90abfe4c3`),i=BigInt(`0x114ca50f7a8e2f3f657c1108d9d44cfd8`),a=n,o=BigInt(`0x100000000000000000000000000000000`),s=uu(a*e,t),c=uu(-r*e,t),l=Fc(e-s*n-c*i,t),u=Fc(-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}}}},Ys),pu={},mu=e=>e.toRawBytes(!0).slice(1),hu=e=>fc(e,32),gu=e=>Fc(e,au),_u=e=>Fc(e,ou),vu=fu.ProjectivePoint,yu=(e,t,n)=>vu.BASE.multiplyAndAddUnsafe(e,t,n),bu=uc,xu={getPublicKey:nu,sign:ru,verify:iu,utils:{randomPrivateKey:fu.utils.randomPrivateKey,lift_x:eu,pointToBytes:mu,numberToBytesBE:fc,bytesToNumberBE:uc,taggedHash:Ql,mod:Fc}},Su=Kl(du,[[`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7`,`0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581`,`0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262`,`0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c`],[`0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b`,`0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14`,`0x0000000000000000000000000000000000000000000000000000000000000001`],[`0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c`,`0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3`,`0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931`,`0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84`],[`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b`,`0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573`,`0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f`,`0x0000000000000000000000000000000000000000000000000000000000000001`]].map(e=>e.map(e=>BigInt(e)))),Cu=Ol(du,{A:BigInt(`0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533`),B:BigInt(`1771`),Z:du.create(BigInt(`-11`))}),wu=ql(fu.ProjectivePoint,e=>{let{x:t,y:n}=Cu(du.create(e[0]));return Su(t,n)},{DST:`secp256k1_XMD:SHA-256_SSWU_RO_`,encodeDST:`secp256k1_XMD:SHA-256_SSWU_NU_`,p:du.ORDER,m:1,k:128,expand:`xmd`,hash:Ys}),Tu=wu.hashToCurve,Eu=wu.encodeToCurve}));Lt(),zt(),Rn(),Gn();async function Ou({hash:e,signature:t}){let n=O(e)?e:zn(e),{secp256k1:r}=await Promise.resolve().then(()=>(Du(),Xl));return`0x${(()=>{if(typeof t==`object`&&`r`in t&&`s`in t){let{r:e,s:n,v:i,yParity:a}=t,o=ku(Number(a??i));return new r.Signature(Fn(e),Fn(n)).addRecoveryBit(o)}let e=O(t)?t:zn(t);if(Rt(e)!==65)throw Error(`invalid signature length`);let n=ku(Ln(`0x${e.slice(130)}`));return r.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(n)})().recoverPublicKey(n.substring(2)).toHex(!1)}`}function ku(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 Au({hash:e,signature:t}){return As(await Ou({hash:e,signature:t}))}A(),ja(),er(),Gn();function ju(e,t=`hex`){let n=Mu(e),r=ka(new Uint8Array(n.length));return n.encode(r),t===`hex`?Vn(r.bytes):r.bytes}function Mu(e){return Array.isArray(e)?Nu(e.map(e=>Mu(e))):Pu(e)}function Nu(e){let t=e.reduce((e,t)=>e+t.length,0),n=Fu(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 Pu(e){let t=typeof e==`string`?Yn(e):e,n=Fu(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 Fu(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 k(`Length is too large.`)}zi(),er(),Gn(),fi();function Iu(e){let{chainId:t,nonce:n,to:r}=e,i=e.contractAddress??e.address,a=di(Ri([`0x05`,ju([t?j(t):`0x`,i,n?j(n):`0x`])]));return r===`bytes`?Yn(a):a}async function Lu(e){let{authorization:t,signature:n}=e;return Au({hash:Iu(t),signature:n??t})}po(),ho(),A(),Po();var Ru=class extends k{constructor(e,{account:t,docsPath:n,chain:r,data:i,gas:a,gasPrice:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,to:u,value:d}){let f=xo({from:t?.address,to:u,value:d!==void 0&&`${fo(d)} ${r?.nativeCurrency?.symbol||`ETH`}`,data:i,gas:a,gasPrice:o!==void 0&&`${mo(o)} gwei`,maxFeePerGas:s!==void 0&&`${mo(s)} gwei`,maxPriorityFeePerGas:c!==void 0&&`${mo(c)} gwei`,nonce:l});super(e.shortMessage,{cause:e,docsPath:n,metaMessages:[...e.metaMessages?[...e.metaMessages,` `]:[],`Estimate Gas Arguments:`,f].filter(Boolean),name:`EstimateGasExecutionError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=e}},zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu,Xu,Zu=o((()=>{ho(),A(),zu=class extends k{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(zu,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(zu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Bu=class extends k{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${mo(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},Object.defineProperty(Bu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/}),Vu=class extends k{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\\`maxFeePerGas\\`${t?` = ${mo(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},Object.defineProperty(Vu,\"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/}),Hu=class extends k{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(Hu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Uu=class extends k{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(Uu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/}),Wu=class extends k{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}exceeds the maximum allowed nonce.`,{cause:e,name:`NonceMaxValueError`})}},Object.defineProperty(Wu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/}),Gu=class extends k{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(Gu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds|exceeds transaction sender account balance/}),Ku=class extends k{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(Ku,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/}),qu=class extends k{constructor({cause:e,gas:t}={}){super(`The amount of gas ${t?`(${t}) `:``}provided for the transaction is too low.`,{cause:e,name:`IntrinsicGasTooLowError`})}},Object.defineProperty(qu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/}),Ju=class extends k{constructor({cause:e}){super(`The transaction type is not supported for this chain.`,{cause:e,name:`TransactionTypeNotSupportedError`})}},Object.defineProperty(Ju,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/}),Yu=class extends k{constructor({cause:e,maxPriorityFeePerGas:t,maxFeePerGas:n}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${t?` = ${mo(t)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${n?` = ${mo(n)} gwei`:``}).`].join(`\n`),{cause:e,name:`TipAboveFeeCapError`})}},Object.defineProperty(Yu,\"nodeMessage\",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/}),Xu=class extends k{constructor({cause:e}){super(`An error occurred while executing: ${e?.shortMessage}`,{cause:e,name:`UnknownNodeError`})}}}));function Qu(e,t){let n=(e.details||``).toLowerCase(),r=e instanceof k?e.walk(e=>e?.code===zu.code):e;return r instanceof k?new zu({cause:e,message:r.details}):zu.nodeMessage.test(n)?new zu({cause:e,message:e.details}):Bu.nodeMessage.test(n)?new Bu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Vu.nodeMessage.test(n)?new Vu({cause:e,maxFeePerGas:t?.maxFeePerGas}):Hu.nodeMessage.test(n)?new Hu({cause:e,nonce:t?.nonce}):Uu.nodeMessage.test(n)?new Uu({cause:e,nonce:t?.nonce}):Wu.nodeMessage.test(n)?new Wu({cause:e,nonce:t?.nonce}):Gu.nodeMessage.test(n)?new Gu({cause:e}):Ku.nodeMessage.test(n)?new Ku({cause:e,gas:t?.gas}):qu.nodeMessage.test(n)?new qu({cause:e,gas:t?.gas}):Ju.nodeMessage.test(n)?new Ju({cause:e}):Yu.nodeMessage.test(n)?new Yu({cause:e,maxFeePerGas:t?.maxFeePerGas,maxPriorityFeePerGas:t?.maxPriorityFeePerGas}):new Xu({cause:e})}var $u=o((()=>{A(),Zu()}));Zu(),$u();function ed(e,{docsPath:t,...n}){return new Ru((()=>{let t=Qu(e,n);return t instanceof Xu?e:t})(),{docsPath:t,...n})}function td(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 nd=o((()=>{}));function rd(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 id=o((()=>{}));function ad(e,t){let n={};return e.authorizationList!==void 0&&(n.authorizationList=od(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=sd[e.type]),e.value!==void 0&&(n.value=j(e.value)),n}function od(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 sd,cd,ld=o((()=>{Gn(),id(),sd={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},cd=rd(`transactionRequest`,ad)}));function ud(e){if(!(!e||e.length===0))return e.reduce((e,{slot:t,value:n})=>{if(t.length!==66)throw new _n({size:t.length,targetSize:66,type:`hex`});if(n.length!==66)throw new _n({size:n.length,targetSize:66,type:`hex`});return e[t]=n,e},{})}function dd(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=ud(r)),i!==void 0){if(o.state)throw new yo;o.stateDiff=ud(i)}return o}function fd(e){if(!e)return;let t={};for(let{address:n,...r}of e){if(!Mi(n,{strict:!1}))throw new wi({address:n});if(t[n])throw new vo({address:n});t[n]=dd(r)}return t}var pd=o((()=>{Ti(),vn(),bo(),Fi(),Gn()})),md,hd=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)),md=2n**256n-1n}));function gd(e){let{account:t,maxFeePerGas:n,maxPriorityFeePerGas:r,to:i}=e,a=t?M(t):void 0;if(a&&!Mi(a.address))throw new wi({address:a.address});if(i&&!Mi(i))throw new wi({address:i});if(n&&n>md)throw new Bu({maxFeePerGas:n});if(r&&n&&r>n)throw new Yu({maxFeePerGas:n,maxPriorityFeePerGas:r})}var _d=o((()=>{ha(),hd(),Ti(),Zu(),Fi()}));ho(),A();var vd=class extends k{constructor(){super(\"`baseFeeMultiplier` must be greater than 1.\",{name:`BaseFeeScalarError`})}},yd=class extends k{constructor(){super(`Chain does not support EIP-1559 fees.`,{name:`Eip1559FeesNotSupportedError`})}},bd=class extends k{constructor({maxPriorityFeePerGas:e}){super(`\\`maxFeePerGas\\` cannot be less than the \\`maxPriorityFeePerGas\\` (${mo(e)} gwei).`,{name:`MaxFeePerGasTooLowError`})}};A();var xd=class extends k{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(),id();let Sd={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function Cd(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?Sd[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=Td(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 wd=rd(`transaction`,Cd);function Td(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 Ed(e,t){let n=(e.transactions??[]).map(e=>typeof e==`string`?e:Cd(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}}Gn();async function Dd(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 xd({blockHash:t,blockNumber:n});return(e.chain?.formatters?.block?.format||Ed)(s,`getBlock`)}async function Od(e){let t=await e.request({method:`eth_gasPrice`});return BigInt(t)}Rn();async function kd(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 D(e,Dd,`getBlock`)({}),client:e,request:i});if(r===null)throw Error();return r}return t===void 0?Fn(await e.request({method:`eth_maxPriorityFeePerGas`})):t}catch{let[t,r]=await Promise.all([n?Promise.resolve(n):D(e,Dd,`getBlock`)({}),D(e,Od,`getGasPrice`)({})]);if(typeof t.baseFeePerGas!=`bigint`)throw new yd;let i=r-t.baseFeePerGas;return i<0n?0n:i}}async function Ad(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 vd;let s=10**(o.toString().split(`.`)[1]?.length??0),c=e=>e*BigInt(Math.round(o*s))/BigInt(s),l=n||await D(e,Dd,`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 yd;let t=typeof i?.maxPriorityFeePerGas==`bigint`?i.maxPriorityFeePerGas:await kd(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 D(e,Od,`getGasPrice`)({}))}}function jd(e){let{blockHash:t,blockNumber:n,blockTag:r,requireCanonical:i}=e;if(i!==void 0&&!t)throw new k(\"`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 Md=o((()=>{A(),Gn()}));Md(),Rn();async function Nd(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=jd({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}))}er(),Gn();function Pd(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=>Yn(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))}er(),Gn();function Fd(e){let{kzg:t}=e,n=e.to??(typeof e.blobs[0]==`string`?`hex`:`bytes`),r=typeof e.blobs[0]==`string`?e.blobs.map(e=>Yn(e)):e.blobs,i=typeof e.commitments[0]==`string`?e.commitments.map(e=>Yn(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))}Qs();let Id=Ys;Lt(),er(),Gn();function Ld(e,t){let n=t||`hex`,r=Id(O(e,{strict:!1})?Kn(e):e);return n===`bytes`?r:zn(r)}Gn();function Rd(e){let{commitment:t,version:n=1}=e,r=e.to??(typeof t==`string`?`hex`:`bytes`),i=Ld(t,`bytes`);return i.set([n],0),r===`bytes`?i:Vn(i)}function zd(e){let{commitments:t,version:n}=e,r=e.to??(typeof t[0]==`string`?`hex`:`bytes`),i=[];for(let e of t)i.push(Rd({commitment:e,to:r,version:n}));return i}A();var Bd=class extends k{constructor({maxSize:e,size:t}){super(`Blob size is too large.`,{metaMessages:[`Max: ${e} bytes`,`Given: ${t} bytes`],name:`BlobSizeTooLargeError`})}},Vd=class extends k{constructor(){super(`Blob data must not be empty.`,{name:`EmptyBlobError`})}},Hd=class extends k{constructor({hash:e,size:t}){super(`Versioned hash \"${e}\" size is invalid.`,{metaMessages:[`Expected: 32`,`Received: ${t}`],name:`InvalidVersionedHashSizeError`})}},Ud=class extends k{constructor({hash:e,version:t}){super(`Versioned hash \"${e}\" version is invalid.`,{metaMessages:[`Expected: 1`,`Received: ${t}`],name:`InvalidVersionedHashVersionError`})}};ja(),zt(),er(),Gn();function Wd(e){let t=e.to??(typeof e.data==`string`?`hex`:`bytes`),n=typeof e.data==`string`?Yn(e.data):e.data,r=Rt(n);if(!r)throw new Vd;if(r>761855)throw new Bd({maxSize:761855,size:r});let i=[],a=!0,o=0;for(;a;){let e=ka(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 Gd(e){let{data:t,kzg:n,to:r}=e,i=e.blobs??Wd({data:t,to:r}),a=e.commitments??Pd({blobs:i,kzg:n,to:r}),o=e.proofs??Fd({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}Po();function Kd(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 To({transaction:e})}Zu(),Po(),$u();function qd(e,{docsPath:t,...n}){let r=(()=>{let t=Qu(e,n);return t instanceof Xu?e:t})();return new ko(r,{docsPath:t,...n})}Rn();async function Jd(e){return Ln(await e.request({method:`eth_chainId`},{dedupe:!0}))}ha(),Po(),nd(),ld(),_d();async function Yd(e,t){let{account:n=e.account,accessList:r,authorizationList:i,chain:a=e.chain,blobVersionedHashes:o,blobs:s,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:m,nonceManager:h,to:g,type:_,value:v,...y}=t,b=await(async()=>{if(!n||!h||m!==void 0)return m;let t=M(n),r=a?a.id:await D(e,Jd,`getChainId`)({});return await h.consume({address:t.address,chainId:r,client:e})})();gd(t);let x=a?.formatters?.transactionRequest?.format,S=(x||ad)({...td(y,{format:x}),account:n?M(n):void 0,accessList:r,authorizationList:i,blobs:s,blobVersionedHashes:o,data:c,gas:l,gasPrice:u,maxFeePerBlobGas:d,maxFeePerGas:f,maxPriorityFeePerGas:p,nonce:b,to:g,type:_,value:v},`fillTransaction`);try{let n=await e.request({method:`eth_fillTransaction`,params:[S]}),r=(a?.formatters?.transaction?.format||Cd)(n.tx);delete r.blockHash,delete r.blockNumber,delete r.r,delete r.s,delete r.transactionIndex,delete r.v,delete r.yParity,r.data=r.input;let i=r.feePayerSignature!==void 0&&r.feePayerSignature!==null;if(i&&b!==void 0&&r.nonce!==b)throw new So({filledNonce:r.nonce,requestedNonce:b});if(!i){r.gas&&=t.gas??r.gas,r.gasPrice&&=t.gasPrice??r.gasPrice,r.maxFeePerBlobGas&&=t.maxFeePerBlobGas??r.maxFeePerBlobGas,r.maxFeePerGas&&=t.maxFeePerGas??r.maxFeePerGas,r.maxPriorityFeePerGas&&=t.maxPriorityFeePerGas??r.maxPriorityFeePerGas,r.nonce!==void 0&&(r.nonce=t.nonce??r.nonce);let n=await(async()=>{if(typeof a?.fees?.baseFeeMultiplier==`function`){let n=await D(e,Dd,`getBlock`)({});return a.fees.baseFeeMultiplier({block:n,client:e,request:t})}return a?.fees?.baseFeeMultiplier??1.2})();if(n<1)throw new vd;let i=10**(n.toString().split(`.`)[1]?.length??0),o=e=>e*BigInt(Math.round(n*i))/BigInt(i);r.maxFeePerGas&&!t.maxFeePerGas&&(r.maxFeePerGas=o(r.maxFeePerGas)),r.gasPrice&&!t.gasPrice&&(r.gasPrice=o(r.gasPrice))}return{raw:n.raw,transaction:{from:S.from,...r},...n.capabilities?{capabilities:n.capabilities}:{}}}catch(n){throw qd(n,{...t,chain:e.chain})}}ha(),Po(),Di(),_d();let Xd=[`blobVersionedHashes`,`chainId`,`fees`,`gas`,`nonce`,`type`],Zd=new Map,Qd=new Ei(128);async function $d(e,t){let n=t;n.account??=e.account,n.parameters??=Xd;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 D(e,Jd,`getChainId`)({}),c):n.chainId)}let u=r&&M(r),d=n.nonce;if(s?.fn&&s.runAt?.includes(`beforeFillTransaction`)){n=await s.fn({...n,chain:i},{client:e,phase:`beforeFillTransaction`}),d??=n.nonce;let t=n.account??n.from;u=t?M(t):void 0}if(o.includes(`nonce`)&&d===void 0&&u&&a){let t=await l();d=await a.consume({address:u.address,chainId:t,client:e})}let f=!((o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&n.kzg&&n.blobs)&&(o.length>0&&`feePayer`in n&&n.feePayer&&!(`feePayerSignature`in n&&n.feePayerSignature)||!(Qd.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 D(e,Yd,`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 Qd.set(e.uid,!0),{...n,...i?{from:i}:{},...d&&!n.type?{type:d}:{},...r===void 0?{}:{chainId:r},...a===void 0?{}:{gas:a},...o===void 0?{}:{gasPrice:o},...s===void 0?{}:{nonce:s},...c!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerBlobGas:c}:{},...l!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxFeePerGas:l}:{},...u!==void 0&&n.type!==`legacy`&&n.type!==`eip2930`?{maxPriorityFeePerGas:u}:{},...`nonceKey`in f&&f.nonceKey!==void 0?{nonceKey:f.nonceKey}:{},...`keyAuthorization`in f&&f.keyAuthorization!==void 0&&f.keyAuthorization!==null&&!(`keyAuthorization`in n)?{keyAuthorization:f.keyAuthorization}:{},...`feePayerSignature`in f&&f.feePayerSignature!==void 0&&f.feePayerSignature!==null?{feePayerSignature:f.feePayerSignature}:{},...h?{feeToken:p}:{},...t.capabilities?{_capabilities:t.capabilities}:{}}}).catch(t=>{let r=t;if(r.name!==`TransactionExecutionError`)return n;if(r.walk?.(e=>e instanceof So)||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`)})&&Qd.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 D(e,Dd,`getBlock`)({blockTag:`latest`}),_)}if(o.includes(`nonce`)&&d===void 0&&u&&!a&&(n.nonce=await D(e,Nd,`getTransactionCount`)({address:u.address,blockTag:`pending`})),(o.includes(`blobVersionedHashes`)||o.includes(`sidecars`))&&p&&h){let e=Pd({blobs:p,kzg:h});if(o.includes(`blobVersionedHashes`)){let t=zd({commitments:e,to:`hex`});n.blobVersionedHashes=t}if(o.includes(`sidecars`)){let t=Gd({blobs:p,commitments:e,proofs:Fd({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=Kd(n)}catch{let t=Zd.get(e.uid);t===void 0&&(t=typeof(await v())?.baseFeePerGas==`bigint`,Zd.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 Ad(e,{block:await v(),chain:i,request:n});if(n.maxPriorityFeePerGas===void 0&&n.maxFeePerGas&&n.maxFeePerGas<r)throw new bd({maxPriorityFeePerGas:r});n.maxPriorityFeePerGas=r,n.maxFeePerGas=t}}else{if(n.maxFeePerGas!==void 0||n.maxPriorityFeePerGas!==void 0)throw new yd;if(n.gasPrice===void 0){let{gasPrice:t}=await Ad(e,{block:await v(),chain:i,request:n,type:`legacy`});n.gasPrice=t}}}return o.includes(`gas`)&&m===void 0&&(n.gas=await D(e,ef,`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`})),gd(n),delete n.parameters,n}ha(),A(),Gn(),nd(),ld(),pd(),_d();async function ef(e,t){let{account:n=e.account,prepare:r=!0}=t,i=n?M(n):void 0,a=(()=>{if(Array.isArray(r))return r;if(i?.type!==`local`)return[`blobVersionedHashes`]})();try{let n=await(async()=>{if(t.to)return t.to;if(t.authorizationList&&t.authorizationList.length>0)return await Lu({authorization:t.authorizationList[0]}).catch(()=>{throw new k(\"`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 $d(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=fd(b);gd(t);let w=e.chain?.formatters?.transactionRequest?.format,T=(w||ad)({...td(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 ed(n,{...t,account:i,chain:e.chain})}}ha(),ba();async function tf(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=ya({abi:n,args:i,functionName:a});try{return await D(e,ef,`estimateGas`)({data:`${c}${o?o.replace(`0x`,``):``}`,to:r,...s})}catch(e){throw ks(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/estimateContractGas`,functionName:a,sender:(s.account?M(s.account):void 0)?.address})}}function nf(e,t){if(!Mi(e,{strict:!1}))throw new wi({address:e});if(!Mi(t,{strict:!1}))throw new wi({address:t});return e.toLowerCase()===t.toLowerCase()}var rf=o((()=>{Ti(),Fi()}));function af(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}:{}}}mn(),Oa(),zt(),Ci(),Ya(),It();let of=`/docs/contract/decodeEventLog`;function sf(e){let{abi:t,data:n,strict:r,topics:i}=e,a=r??!0,[o,...s]=i;if(!o)throw new en({docsPath:of});let c=t.find(e=>e.type===`event`&&o===Si(Nt(e)));if(!(c&&`name`in c)||c.type!==`event`)throw new tn(o,{docsPath:of});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 ln({abiItem:c,param:t});m.push([t,n]);continue}f[d?n:t.name||n]=cf({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=La(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 Kt||e instanceof Ea?new cn({abiItem:c,data:n,params:g,size:Rt(n)}):e}else if(a)throw new cn({abiItem:c,data:`0x`,params:g,size:0})}return{eventName:l,args:Object.values(f).length>0?f:void 0}}function cf({param:e,value:t}){return e.type===`string`||e.type===`bytes`||e.type===`tuple`||e.type.match(/^(.*)\\[(\\d+)?\\]$/)?t:(La([e],t)||[])[0]}rf(),er(),fi(),Ci();function lf(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:Si(e)}));return r.map(e=>{let t=typeof e.blockNumber==`string`?af(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=sf({...t,abi:[e.abi],strict:!0}),c=e;break}catch{}if(!s&&!i){c=r[0];try{s=sf({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)||!uf({args:s.args,inputs:c.abi.inputs,matchArgs:n})?null:{...s,...t}}).filter(Boolean)}function uf(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`?nf(t,n):e.type===`string`||e.type===`bytes`?di(Kn(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 df(e){let{abi:t,args:n,functionName:r,data:i}=e,a=t[0];if(r){let e=da({abi:t,args:n,name:r});if(!e)throw new nn(r,{docsPath:ff});a=e}if(a.type!==`function`)throw new nn(void 0,{docsPath:ff});if(!a.outputs)throw new rn(a.name,{docsPath:ff});let o=La(a.outputs,i);if(o&&o.length>1)return o;if(o&&o.length===1)return o[0]}var ff,pf=o((()=>{mn(),Ya(),ma(),ff=`/docs/contract/decodeFunctionResult`})),mf,hf=o((()=>{mf=`0.1.1`}));function gf(){return mf}var _f=o((()=>{hf()}));function vf(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause?vf(e.cause,t):t?null:e}var N,yf=o((()=>{_f(),N=class e extends Error{static setStaticOptions(t){e.prototype.docsOrigin=t.docsOrigin,e.prototype.showVersion=t.showVersion,e.prototype.version=t.version}constructor(t,n={}){let r=(()=>{if(n.cause instanceof e){if(n.cause.details)return n.cause.details;if(n.cause.shortMessage)return n.cause.shortMessage}return n.cause&&`details`in n.cause&&typeof n.cause.details==`string`?n.cause.details:n.cause?.message?n.cause.message:n.details})(),i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=n.docsOrigin??e.prototype.docsOrigin,o=`${a}${i??``}`,s=!!(n.version??e.prototype.showVersion),c=n.version??e.prototype.version,l=[t||`An error occurred.`,...n.metaMessages?[``,...n.metaMessages]:[],...r||i||s?[``,r?`Details: ${r}`:void 0,i?`See: ${o}`:void 0,s?`Version: ${c}`:void 0]:[]].filter(e=>typeof e==`string`).join(`\n`);super(l,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docs\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsOrigin\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"showVersion\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"version\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.cause=n.cause,this.details=r,this.docs=o,this.docsOrigin=a,this.docsPath=i,this.shortMessage=t,this.showVersion=s,this.version=c}walk(e){return vf(this,e)}},Object.defineProperty(N,\"defaultStaticOptions\",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:`https://oxlib.sh`,showVersion:!1,version:`ox@${gf()}`}}),N.setStaticOptions(N.defaultStaticOptions)}));function bf(e,t){if(Yf(e)>t)throw new cp({givenSize:Yf(e),maxSize:t})}function xf(e,t){if(typeof t==`number`&&t>0&&t>Yf(e)-1)throw new lp({offset:t,position:`start`,size:Yf(e)})}function Sf(e,t,n){if(typeof t==`number`&&typeof n==`number`&&Yf(e)!==n-t)throw new lp({offset:n,position:`end`,size:Yf(e)})}function Cf(e){if(e>=Ef.zero&&e<=Ef.nine)return e-Ef.zero;if(e>=Ef.A&&e<=Ef.F)return e-(Ef.A-10);if(e>=Ef.a&&e<=Ef.f)return e-(Ef.a-10)}function wf(e,t={}){let{dir:n,size:r=32}=t;if(r===0)return e;if(e.length>r)throw new up({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 Tf(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 Ef,Df=o((()=>{dp(),Ef={zero:48,nine:57,A:65,F:70,a:97,f:102}}));function Of(e,t){if(L(e)>t)throw new Mp({givenSize:L(e),maxSize:t})}function kf(e,t){if(typeof t==`number`&&t>0&&t>L(e)-1)throw new Np({offset:t,position:`start`,size:L(e)})}function Af(e,t,n){if(typeof t==`number`&&typeof n==`number`&&L(e)!==n-t)throw new Np({offset:n,position:`end`,size:L(e)})}function jf(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 Pp({size:Math.ceil(i.length/2),targetSize:r,type:`Hex`});return`0x${i[n===`right`?`padEnd`:`padStart`](r*2,`0`)}`}function Mf(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 Nf=o((()=>{z()}));function Pf(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=>Pf(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)}:${Pf(r)}`),t},[]).join(`,`)}}`}function Ff(e,t){return JSON.parse(e,(e,n)=>{let r=n;return typeof r==`string`&&r.endsWith(Lf)?BigInt(r.slice(0,-9)):typeof t==`function`?t(e,r):r})}function If(e,t,n){return JSON.stringify(e,(e,n)=>typeof t==`function`?t(e,n):typeof n==`bigint`?n.toString()+Lf:n,n)}var Lf,Rf=o((()=>{Lf=`#__bigint`}));function zf(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 sp(e)}function Bf(...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 Vf(e){return e instanceof Uint8Array?e:typeof e==`string`?Uf(e):Hf(e)}function Hf(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Uf(e,t={}){let{size:n}=t,r=e;n&&(Of(e,n),r=yp(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=Cf(i.charCodeAt(t++)),r=Cf(i.charCodeAt(t++));if(n===void 0||r===void 0)throw new N(`Invalid byte sequence (\"${i[t-2]}${i[t-1]}\" in \"${i}\").`);o[e]=n<<4|r}return o}function Wf(e,t={}){let{size:n}=t,r=ap.encode(e);return typeof n==`number`?(bf(r,n),qf(r,n)):r}function Gf(e,t){return gc(e,t)}function Kf(e,t){return wf(e,{dir:`left`,size:t})}function qf(e,t){return wf(e,{dir:`right`,size:t})}function Jf(e){return crypto.getRandomValues(new Uint8Array(e))}function Yf(e){return e.length}function Xf(e,t,n,r={}){let{strict:i}=r;xf(e,t);let a=e.slice(t,n);return i&&Sf(a,t,n),a}function Zf(e,t={}){let{size:n}=t;return n!==void 0&&bf(e,n),R(hp(e,t),t)}function Qf(e,t={}){let{size:n}=t,r=e;if(n!==void 0&&(bf(r,n),r=tp(r)),r.length>1||r[0]>1)throw new op(r);return!!r[0]}function $f(e,t={}){let{size:n}=t;return n!==void 0&&bf(e,n),Cp(hp(e,t),t)}function ep(e,t={}){let{size:n}=t,r=e;return n!==void 0&&(bf(r,n),r=np(r)),ip.decode(r)}function tp(e){return Tf(e,{dir:`left`})}function np(e){return Tf(e,{dir:`right`})}function rp(e){try{return zf(e),!0}catch{return!1}}var ip,ap,op,sp,cp,lp,up,dp=o((()=>{Pc(),yf(),z(),Df(),Nf(),Rf(),ip=new TextDecoder,ap=new TextEncoder,op=class extends N{constructor(e){super(`Bytes value \\`${e}\\` is not a valid boolean.`,{metaMessages:[\"The bytes array must contain a single byte of either a `0` or `1` value.\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.InvalidBytesBooleanError`})}},sp=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?If(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`})}},cp=class extends N{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeOverflowError`})}},lp=class extends N{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SliceOffsetOutOfBoundsError`})}},up=class extends N{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Bytes.SizeExceedsPaddingSizeError`})}}}));function fp(e,t={}){let{strict:n=!1}=t;if(!e||typeof e!=`string`)throw new kp(e);if(n&&!/^0x[0-9a-fA-F]*$/.test(e)||!e.startsWith(`0x`))throw new Ap(e)}function P(...e){return`0x${e.reduce((e,t)=>e+t.replace(`0x`,``),``)}`}function pp(e){return e instanceof Uint8Array?hp(e):Array.isArray(e)?hp(new Uint8Array(e)):e}function mp(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Of(n,t.size),vp(n,t.size)):n}function hp(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Dp[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Of(r,t.size),yp(r,t.size)):r}function F(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Op({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?vp(s,r):s}function gp(e,t={}){return hp(Ep.encode(e),t)}function _p(e,t){return gc(Uf(e),Uf(t))}function vp(e,t){return jf(e,{dir:`left`,size:t})}function yp(e,t){return jf(e,{dir:`right`,size:t})}function bp(e){return hp(Jf(e))}function I(e,t,n,r={}){let{strict:i}=r;kf(e,t);let a=`0x${e.replace(`0x`,``).slice((t??0)*2,(n??e.length)*2)}`;return i&&Af(a,t,n),a}function L(e){return Math.ceil((e.length-2)/2)}function xp(e){return Mf(e,{dir:`left`})}function R(e,t={}){let{signed:n}=t;t.size&&Of(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 Sp(e,t={}){return Uf(e,t)}function Cp(e,t={}){let{signed:n,size:r}=t;return Number(!n&&!r?e:R(e,t))}function wp(e,t={}){let{size:n}=t,r=Uf(e);return n&&(bf(r,n),r=np(r)),new TextDecoder().decode(r)}function Tp(e,t={}){let{strict:n=!1}=t;try{return fp(e,{strict:n}),!0}catch{return!1}}var Ep,Dp,Op,kp,Ap,jp,Mp,Np,Pp,z=o((()=>{Pc(),dp(),yf(),Df(),Nf(),Rf(),Ep=new TextEncoder,Dp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Op=class extends N{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number \\`${i}\\` is not in safe${r?` ${r*8}-bit`:``}${n?` signed`:` unsigned`} integer range ${e?`(\\`${t}\\` to \\`${e}\\`)`:`(above \\`${t}\\`)`}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.IntegerOutOfRangeError`})}},kp=class extends N{constructor(e){super(`Value \\`${typeof e==`object`?If(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`})}},Ap=class extends N{constructor(e){super(`Value \\`${e}\\` is an invalid hex value.`,{metaMessages:['Hex values must start with `\"0x\"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidHexValueError`})}},jp=class extends N{constructor(e){super(`Hex value \\`\"${e}\"\\` is an odd length (${e.length-2} nibbles).`,{metaMessages:[`It must be an even length.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.InvalidLengthError`})}},Mp=class extends N{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \\`${t}\\` bytes. Given size: \\`${e}\\` bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeOverflowError`})}},Np=class extends N{constructor({offset:e,position:t,size:n}){super(`Slice ${t===`start`?`starting`:`ending`} at offset \\`${e}\\` is out-of-bounds (size: \\`${n}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SliceOffsetOutOfBoundsError`})}},Pp=class extends N{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (\\`${e}\\`) exceeds padding size (\\`${t}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Hex.SizeExceedsPaddingSizeError`})}}}));function Fp(e){return{address:e.address,amount:F(e.amount),index:F(e.index),validatorIndex:F(e.validatorIndex)}}var Ip=o((()=>{z()}));function Lp(e){return{...typeof e.baseFeePerGas==`bigint`&&{baseFeePerGas:F(e.baseFeePerGas)},...typeof e.blobBaseFee==`bigint`&&{blobBaseFee:F(e.blobBaseFee)},...typeof e.feeRecipient==`string`&&{feeRecipient:e.feeRecipient},...typeof e.gasLimit==`bigint`&&{gasLimit:F(e.gasLimit)},...typeof e.number==`bigint`&&{number:F(e.number)},...typeof e.prevRandao==`bigint`&&{prevRandao:F(e.prevRandao)},...typeof e.time==`bigint`&&{time:F(e.time)},...e.withdrawals&&{withdrawals:e.withdrawals.map(Fp)}}}var Rp=o((()=>{z(),Ip()})),zp,Bp,Vp,Hp,Up,Wp,Gp=o((()=>{zp=[{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`}],Bp=[{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`}]}],Vp=[{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`}],[...Vp],[...Vp],Hp=[{name:`isValidSignature`,type:`function`,stateMutability:`view`,inputs:[{name:`hash`,type:`bytes32`},{name:`signature`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}]}],Up=[{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`}],Wp=[{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`}]}]})),Kp=o((()=>{})),qp,Jp,Yp,Xp,Zp=o((()=>{qp=`0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe`,Jp=`0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe`,Yp=`0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572`,Xp=`0x608060405234801561001057600080fd5b506115b9806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e14610325578063bce38bd714610350578063c3077fa914610380578063ee82ac5e146103b2576100f3565b80634d2301cc1461026257806372425d9d1461029f57806382ad56cb146102ca57806386d516e8146102fa576100f3565b80633408e470116100c65780633408e470146101af578063399542e9146101da5780633e64a6961461020c57806342cbb15c14610237576100f3565b80630f28c97d146100f8578063174dea7114610123578063252dba421461015357806327e86d6e14610184575b600080fd5b34801561010457600080fd5b5061010d6103ef565b60405161011a9190610c0a565b60405180910390f35b61013d60048036038101906101389190610c94565b6103f7565b60405161014a9190610e94565b60405180910390f35b61016d60048036038101906101689190610f0c565b610615565b60405161017b92919061101b565b60405180910390f35b34801561019057600080fd5b506101996107ab565b6040516101a69190611064565b60405180910390f35b3480156101bb57600080fd5b506101c46107b7565b6040516101d19190610c0a565b60405180910390f35b6101f460048036038101906101ef91906110ab565b6107bf565b6040516102039392919061110b565b60405180910390f35b34801561021857600080fd5b506102216107e1565b60405161022e9190610c0a565b60405180910390f35b34801561024357600080fd5b5061024c6107e9565b6040516102599190610c0a565b60405180910390f35b34801561026e57600080fd5b50610289600480360381019061028491906111a7565b6107f1565b6040516102969190610c0a565b60405180910390f35b3480156102ab57600080fd5b506102b4610812565b6040516102c19190610c0a565b60405180910390f35b6102e460048036038101906102df919061122a565b61081a565b6040516102f19190610e94565b60405180910390f35b34801561030657600080fd5b5061030f6109e4565b60405161031c9190610c0a565b60405180910390f35b34801561033157600080fd5b5061033a6109ec565b6040516103479190611286565b60405180910390f35b61036a600480360381019061036591906110ab565b6109f4565b6040516103779190610e94565b60405180910390f35b61039a60048036038101906103959190610f0c565b610ba6565b6040516103a99392919061110b565b60405180910390f35b3480156103be57600080fd5b506103d960048036038101906103d491906112cd565b610bca565b6040516103e69190611064565b60405180910390f35b600042905090565b60606000808484905090508067ffffffffffffffff81111561041c5761041b6112fa565b5b60405190808252806020026020018201604052801561045557816020015b610442610bd5565b81526020019060019003908161043a5790505b5092503660005b828110156105c957600085828151811061047957610478611329565b5b6020026020010151905087878381811061049657610495611329565b5b90506020028101906104a89190611367565b925060008360400135905080860195508360000160208101906104cb91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16818580606001906104f2919061138f565b604051610500929190611431565b60006040518083038185875af1925050503d806000811461053d576040519150601f19603f3d011682016040523d82523d6000602084013e610542565b606091505b5083600001846020018290528215151515815250505081516020850135176105bc577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b826001019250505061045c565b5082341461060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610603906114a7565b60405180910390fd5b50505092915050565b6000606043915060008484905090508067ffffffffffffffff81111561063e5761063d6112fa565b5b60405190808252806020026020018201604052801561067157816020015b606081526020019060019003908161065c5790505b5091503660005b828110156107a157600087878381811061069557610694611329565b5b90506020028101906106a791906114c7565b92508260000160208101906106bc91906111a7565b73ffffffffffffffffffffffffffffffffffffffff168380602001906106e2919061138f565b6040516106f0929190611431565b6000604051808303816000865af19150503d806000811461072d576040519150601f19603f3d011682016040523d82523d6000602084013e610732565b606091505b5086848151811061074657610745611329565b5b60200260200101819052819250505080610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c9061153b565b60405180910390fd5b81600101915050610678565b5050509250929050565b60006001430340905090565b600046905090565b6000806060439250434091506107d68686866109f4565b905093509350939050565b600048905090565b600043905090565b60008173ffffffffffffffffffffffffffffffffffffffff16319050919050565b600044905090565b606060008383905090508067ffffffffffffffff81111561083e5761083d6112fa565b5b60405190808252806020026020018201604052801561087757816020015b610864610bd5565b81526020019060019003908161085c5790505b5091503660005b828110156109db57600084828151811061089b5761089a611329565b5b602002602001015190508686838181106108b8576108b7611329565b5b90506020028101906108ca919061155b565b92508260000160208101906108df91906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060400190610905919061138f565b604051610913929190611431565b6000604051808303816000865af19150503d8060008114610950576040519150601f19603f3d011682016040523d82523d6000602084013e610955565b606091505b5082600001836020018290528215151515815250505080516020840135176109cf577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8160010191505061087e565b50505092915050565b600045905090565b600041905090565b606060008383905090508067ffffffffffffffff811115610a1857610a176112fa565b5b604051908082528060200260200182016040528015610a5157816020015b610a3e610bd5565b815260200190600190039081610a365790505b5091503660005b82811015610b9c576000848281518110610a7557610a74611329565b5b60200260200101519050868683818110610a9257610a91611329565b5b9050602002810190610aa491906114c7565b9250826000016020810190610ab991906111a7565b73ffffffffffffffffffffffffffffffffffffffff16838060200190610adf919061138f565b604051610aed929190611431565b6000604051808303816000865af19150503d8060008114610b2a576040519150601f19603f3d011682016040523d82523d6000602084013e610b2f565b606091505b508260000183602001829052821515151581525050508715610b90578060000151610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b869061153b565b60405180910390fd5b5b81600101915050610a58565b5050509392505050565b6000806060610bb7600186866107bf565b8093508194508295505050509250925092565b600081409050919050565b6040518060400160405280600015158152602001606081525090565b6000819050919050565b610c0481610bf1565b82525050565b6000602082019050610c1f6000830184610bfb565b92915050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f840112610c5457610c53610c2f565b5b8235905067ffffffffffffffff811115610c7157610c70610c34565b5b602083019150836020820283011115610c8d57610c8c610c39565b5b9250929050565b60008060208385031215610cab57610caa610c25565b5b600083013567ffffffffffffffff811115610cc957610cc8610c2a565b5b610cd585828601610c3e565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60008115159050919050565b610d2281610d0d565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610d62578082015181840152602081019050610d47565b83811115610d71576000848401525b50505050565b6000601f19601f8301169050919050565b6000610d9382610d28565b610d9d8185610d33565b9350610dad818560208601610d44565b610db681610d77565b840191505092915050565b6000604083016000830151610dd96000860182610d19565b5060208301518482036020860152610df18282610d88565b9150508091505092915050565b6000610e0a8383610dc1565b905092915050565b6000602082019050919050565b6000610e2a82610ce1565b610e348185610cec565b935083602082028501610e4685610cfd565b8060005b85811015610e825784840389528151610e638582610dfe565b9450610e6e83610e12565b925060208a01995050600181019050610e4a565b50829750879550505050505092915050565b60006020820190508181036000830152610eae8184610e1f565b905092915050565b60008083601f840112610ecc57610ecb610c2f565b5b8235905067ffffffffffffffff811115610ee957610ee8610c34565b5b602083019150836020820283011115610f0557610f04610c39565b5b9250929050565b60008060208385031215610f2357610f22610c25565b5b600083013567ffffffffffffffff811115610f4157610f40610c2a565b5b610f4d85828601610eb6565b92509250509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000610f918383610d88565b905092915050565b6000602082019050919050565b6000610fb182610f59565b610fbb8185610f64565b935083602082028501610fcd85610f75565b8060005b858110156110095784840389528151610fea8582610f85565b9450610ff583610f99565b925060208a01995050600181019050610fd1565b50829750879550505050505092915050565b60006040820190506110306000830185610bfb565b81810360208301526110428184610fa6565b90509392505050565b6000819050919050565b61105e8161104b565b82525050565b60006020820190506110796000830184611055565b92915050565b61108881610d0d565b811461109357600080fd5b50565b6000813590506110a58161107f565b92915050565b6000806000604084860312156110c4576110c3610c25565b5b60006110d286828701611096565b935050602084013567ffffffffffffffff8111156110f3576110f2610c2a565b5b6110ff86828701610eb6565b92509250509250925092565b60006060820190506111206000830186610bfb565b61112d6020830185611055565b818103604083015261113f8184610e1f565b9050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061117482611149565b9050919050565b61118481611169565b811461118f57600080fd5b50565b6000813590506111a18161117b565b92915050565b6000602082840312156111bd576111bc610c25565b5b60006111cb84828501611192565b91505092915050565b60008083601f8401126111ea576111e9610c2f565b5b8235905067ffffffffffffffff81111561120757611206610c34565b5b60208301915083602082028301111561122357611222610c39565b5b9250929050565b6000806020838503121561124157611240610c25565b5b600083013567ffffffffffffffff81111561125f5761125e610c2a565b5b61126b858286016111d4565b92509250509250929050565b61128081611169565b82525050565b600060208201905061129b6000830184611277565b92915050565b6112aa81610bf1565b81146112b557600080fd5b50565b6000813590506112c7816112a1565b92915050565b6000602082840312156112e3576112e2610c25565b5b60006112f1848285016112b8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008235600160800383360303811261138357611382611358565b5b80830191505092915050565b600080833560016020038436030381126113ac576113ab611358565b5b80840192508235915067ffffffffffffffff8211156113ce576113cd61135d565b5b6020830192506001820236038313156113ea576113e9611362565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061141883856113f2565b93506114258385846113fd565b82840190509392505050565b600061143e82848661140c565b91508190509392505050565b600082825260208201905092915050565b7f4d756c746963616c6c333a2076616c7565206d69736d61746368000000000000600082015250565b6000611491601a8361144a565b915061149c8261145b565b602082019050919050565b600060208201905081810360008301526114c081611484565b9050919050565b6000823560016040038336030381126114e3576114e2611358565b5b80830191505092915050565b7f4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000600082015250565b600061152560178361144a565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b60008235600160600383360303811261157757611576611358565b5b8083019150509291505056fea264697066735822122020c1bc9aacf8e4a6507193432a895a8e77094f45a1395583f07b24e860ef06cd64736f6c634300080c0033`})),Qp,$p,em,tm,nm,rm=o((()=>{A(),Qp=class extends k{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`})}},$p=class extends k{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`})}},em=class extends k{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`})}},tm=class extends k{constructor(){super(`No chain was provided to the Client.`,{name:`ClientChainNotConfiguredError`})}},nm=class extends k{constructor({chainId:e}){super(typeof e==`number`?`Chain ID \"${e}\" is invalid.`:`Chain ID is invalid.`,{name:`InvalidChainIdError`})}}}));function im(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 Wt({docsPath:am});if(!(`inputs`in i)||!i.inputs||i.inputs.length===0)throw new Gt({docsPath:am});return Ri([r,Yi(i.inputs,n)])}var am,om=o((()=>{mn(),zi(),ca(),am=`/docs/contract/encodeDeployData`}));function sm({blockNumber:e,chain:t,contract:n}){let r=t?.contracts?.[n];if(!r)throw new Qp({chain:t,contract:{name:n}});if(e&&r.blockCreated&&r.blockCreated>e)throw new Qp({blockNumber:e,chain:t,contract:{name:n,blockCreated:r.blockCreated}});return r.address}var cm=o((()=>{rm()}));function lm(e,{docsPath:t,...n}){let r=(()=>{let t=Qu(e,n);return t instanceof Xu?e:t})();return new Bo(r,{docsPath:t,...n})}var um=o((()=>{Ko(),Zu(),$u()}));function dm(){let e=()=>void 0,t=()=>void 0;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var fm=o((()=>{}));function pm({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=()=>mm.delete(t),s=()=>c().map(({args:e})=>e),c=()=>mm.get(t)||[],l=e=>mm.set(t,[...c(),e]);return{flush:o,async schedule(e){let{promise:t,resolve:i,reject:o}=dm();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 mm,hm=o((()=>{fm(),mm=new Map})),gm,_m,vm,ym=o((()=>{$a(),A(),zo(),gm=class extends k{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=>` ${Ro(e)}`)],` Sender: ${i}`,` Data: ${n}`,` Callback selector: ${e}`,` Extra data: ${r}`].flat(),name:`OffchainLookupError`})}},_m=class extends k{constructor({result:e,url:t}){super(`Offchain gateway response is malformed. Response data must be a hex value.`,{metaMessages:[`Gateway URL: ${Ro(t)}`,`Response: ${Qa(e)}`],name:`OffchainLookupResponseMalformedError`})}},vm=class extends k{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 bm(e){let{abi:t,data:n}=e,r=Bi(n,0,4),i=t.find(e=>e.type===`function`&&r===la(Nt(e)));if(!i)throw new an(r,{docsPath:`/docs/contract/decodeFunctionData`});return{functionName:i.name,args:`inputs`in i&&i.inputs&&i.inputs.length>0?La(i.inputs,Bi(n,4)):void 0}}var xm=o((()=>{mn(),Gi(),ua(),Ya(),It()}));function Sm(e){let{abi:t,errorName:n,args:r}=e,i=t[0];if(n){let e=da({abi:t,args:r,name:n});if(!e)throw new Qt(n,{docsPath:Cm});i=e}if(i.type!==`error`)throw new Qt(void 0,{docsPath:Cm});let a=Nt(i),o=la(a),s=`0x`;if(r&&r.length>0){if(!i.inputs)throw new Zt(i.name,{docsPath:Cm});s=Yi(i.inputs,r)}return Ri([o,s])}var Cm,wm=o((()=>{mn(),zi(),ua(),ca(),It(),ma(),Cm=`/docs/contract/encodeErrorResult`}));function Tm(e){let{abi:t,functionName:n,result:r}=e,i=t[0];if(n){let e=da({abi:t,name:n});if(!e)throw new nn(n,{docsPath:Em});i=e}if(i.type!==`function`)throw new nn(void 0,{docsPath:Em});if(!i.outputs)throw new rn(i.name,{docsPath:Em});let a=(()=>{if(i.outputs.length===0)return[];if(i.outputs.length===1)return[r];if(Array.isArray(r))return r;throw new fn(r)})();return Yi(i.outputs,a)}var Em,Dm=o((()=>{mn(),ca(),ma(),Em=`/docs/contract/encodeFunctionResult`}));async function Om(e){let{data:t,ccipRequest:n}=e,{args:[r]}=bm({abi:Bp,data:t}),i=[],a=[];return await Promise.all(r.map(async(e,t)=>{try{a[t]=e.urls.includes(`x-batch-gateway:true`)?await Om({data:e.data,ccipRequest:n}):await n(e),i[t]=!1}catch(e){i[t]=!0,a[t]=km(e)}})),Tm({abi:Bp,functionName:`query`,result:[i,a]})}function km(e){return e.name===`HttpRequestError`&&e.status?Sm({abi:Bp,errorName:`HttpError`,args:[e.status,e.shortMessage]}):Sm({abi:[Sa],errorName:`Error`,args:[`shortMessage`in e?e.shortMessage:e.message]})}var Am=o((()=>{Gp(),wa(),xm(),wm(),Dm()})),jm=c({ccipRequest:()=>Nm,offchainLookup:()=>Mm,offchainLookupAbiItem:()=>Fm,offchainLookupSignature:()=>Pm});async function Mm(e,{blockNumber:t,blockTag:n,data:r,requestOptions:i,to:a}){let{args:o}=Xa({data:r,abi:[Fm]}),[s,c,l,u,d]=o,{ccipRead:f}=e,p=f&&typeof f?.request==`function`?f.request:Nm;try{if(!nf(a,s))throw new vm({sender:s,to:a});let{data:r}=await Lm(e,{blockNumber:t,blockTag:n,data:Ii([u,Yi([{type:`bytes`},{type:`bytes`}],[c.includes(`x-batch-gateway:true`)?await Om({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?Fo(i.signal):Io(e)?e:new gm({callbackSelector:u,cause:e,data:r,extraData:d,sender:s,urls:c})}}async function Nm({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 Fo(t.signal);let o=r[a],s=o.includes(`{data}`)?`GET`:`POST`,c=s===`POST`?{data:e,sender:n}:void 0,l=s===`POST`?{\"Content-Type\":`application/json`}:{};try{let r=await fetch(o.replace(`{sender}`,n.toLowerCase()).replace(`{data}`,e),{body:JSON.stringify(c),headers:l,method:s,...t?.signal?{signal:t.signal}:{}}),a;if(a=r.headers.get(`Content-Type`)?.startsWith(`application/json`)?(await r.json()).data:await r.text(),!r.ok){i=new qo({body:c,details:a?.error?Qa(a.error):r.statusText,headers:r.headers,status:r.status,url:o});continue}if(!O(a)){i=new _m({result:a,url:o});continue}return a}catch(e){if(t?.signal?.aborted)throw Fo(t.signal);if(Io(e))throw e;i=new qo({body:c,details:e.message,url:o})}}throw i}var Pm,Fm,Im=o((()=>{Jm(),ym(),Zo(),zo(),Za(),ca(),rf(),zi(),Lt(),Am(),$a(),Pm=`0x556f1830`,Fm={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 Lm(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?M(n):void 0;if(f&&(m||h))throw new k(\"Cannot provide both `code` & `factory`/`factoryData` as parameters.\");if(f&&C)throw new k(\"Cannot provide both `code` & `to` as parameters.\");let ne=f&&p,re=m&&h&&C&&p,ie=ne||re,ae=ne?Um({code:f,data:p}):re?Wm({data:p,factory:m,factoryData:h,to:C}):p;try{gd(t);let n=jd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),f=d?Lp(d):void 0,p=fd(T),m=e.chain?.formatters?.transactionRequest?.format,h=(m||ad)({...td(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&&Rm({request:h})&&!f&&a===void 0)try{let{deployless:t=!1}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},n=Vm(e,{blockNumber:o,deployless:t});if(!n||!Hm(p,n))return await Bm(e,{...h,blockHash:a,blockNumber:o,blockTag:s,multicallAddress:n,requestOptions:S,requireCanonical:c,rpcStateOverride:p})}catch(e){if(!(e instanceof tm)&&!(e instanceof Qp))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 Fo(S.signal);if(Io(n))throw n;let r=Gm(n),{offchainLookup:i,offchainLookupSignature:a}=await Promise.resolve().then(()=>(Im(),jm));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 Wo({factory:m}):lm(n,{...t,account:te,chain:e.chain})}}function Rm({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 zm(e){if(!e)return`default`;let t=qm.get(e);if(t!==void 0)return t;let n=Km++;return qm.set(e,n),n}async function Bm(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?Vm(e,{blockNumber:o,deployless:r}):u,h=jd({blockHash:a,blockNumber:o,blockTag:s,requireCanonical:c}),g=typeof h==`string`?h:JSON.stringify(h),_=f?`.${JSON.stringify(f)}`:``,{schedule:v}=pm({id:`${e.uid}.${g}.${zm(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=ya({abi:zp,args:[n],functionName:`aggregate3`}),i={...m===null?{data:Um({code:Xp,data:r})}:{to:m,data:r}},a=await e.request({method:`eth_call`,params:f?[i,h,f]:[i,h]},d);return df({abi:zp,args:[n],functionName:`aggregate3`,data:a||`0x`})}}),[{returnData:y,success:b}]=await v({data:l,to:p});if(!b)throw new Go({data:y});return y===`0x`?{data:void 0}:{data:y}}function Vm(e,t){let{blockNumber:n,deployless:r}=t;if(r)return null;if(e.chain)return sm({blockNumber:n,chain:e.chain,contract:`multicall3`});throw new tm}function Hm(e,t){return e?Object.keys(e).some(e=>nf(e,t)):!1}function Um(e){let{code:t,data:n}=e;return im({abi:At([`constructor(bytes, bytes)`]),bytecode:qp,args:[t,n]})}function Wm(e){let{data:t,factory:n,factoryData:r,to:i}=e;return im({abi:At([`constructor(address, bytes, address, bytes)`]),bytecode:Jp,args:[i,t,n,r]})}function Gm(e){if(!(e instanceof k))return;let t=e.walk();return typeof t?.data==`object`?t.data?.data:t.data}var Km,qm,Jm=o((()=>{Mt(),Rp(),ha(),Gp(),Kp(),Zp(),A(),rm(),Ko(),zo(),pf(),om(),ba(),rf(),Md(),cm(),um(),nd(),ld(),hm(),pd(),_d(),Km=0,qm=new WeakMap}));pf(),ba(),Jm();async function Ym(e,t){let{abi:n,address:r,args:i,functionName:a,...o}=t,s=ya({abi:n,args:i,functionName:a});try{let{data:t}=await D(e,Lm,`call`)({...o,data:s,to:r});return df({abi:n,args:i,functionName:a,data:t||`0x`})}catch(e){throw ks(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/readContract`,functionName:a})}}ha(),pf(),ba(),Jm();async function Xm(e,t){let{abi:n,address:r,args:i,functionName:a,dataSuffix:o=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,...s}=t,c=s.account?M(s.account):e.account,l=ya({abi:n,args:i,functionName:a});try{let{data:u}=await D(e,Lm,`call`)({batch:!1,data:`${l}${o?o.replace(`0x`,``):``}`,to:r,...s,account:c});return{result:df({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 ks(e,{abi:n,address:r,args:i,docsPath:`/docs/contract/simulateContract`,functionName:a,sender:c?.address})}}let Zm=new Map,Qm=new Map,$m=0;function eh(e,t,n){let r=++$m,i=()=>Zm.get(e)||[],a=()=>{let t=i().filter(e=>e.id!==r);if(t.length===0){Zm.delete(e),Qm.delete(e);return}Zm.set(e,t)},o=()=>{let t=i();if(!t.some(e=>e.id===r))return;let n=Qm.get(e);if(t.length===1&&n){let e=n();e instanceof Promise&&e.catch(()=>{})}a()},s=i();if(Zm.set(e,[...s,{id:r,fns:t}]),s&&s.length>0)return o;let c={};for(let e in t)c[e]=((...t)=>{let n=i();if(n.length!==0)for(let r of n)r.fns[e]?.(...t)});let l=n(c);return typeof l==`function`&&Qm.set(e,l),o}zo();async function th(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(Fo(t));return}let i=()=>t?.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(Fo(t))};t?.addEventListener(`abort`,o,{once:!0})})}function nh(e,{emitOnBegin:t,initialWaitTime:n,interval:r}){let i=!0,a=()=>i=!1;return(async()=>{let o;t&&(o=await e({unpoll:a})),await th(await n?.(o)??r);let s=async()=>{i&&(await e({unpoll:a}),await th(r),s())};s()})(),a}let rh=new Map,ih=new Map;function ah(e){let t=(e,t)=>({clear:()=>t.delete(e),get:()=>t.get(e),set:n=>t.set(e,n)}),n=t(e,rh),r=t(e,ih);return{clear:()=>{n.clear(),r.clear()},promise:n,response:r}}async function oh(e,{cacheKey:t,cacheTime:n=1/0}){let r=ah(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 sh=e=>`blockNumber.${e}`;async function ch(e,{cacheTime:t=e.cacheTime}={}){let n=await oh(()=>e.request({method:`eth_blockNumber`}),{cacheKey:sh(e.uid),cacheTime:t});return BigInt(n)}A();var lh=class extends k{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`})}},uh=class extends k{constructor({docsPath:e,metaMessages:t,type:n}){super(`Account type \"${n}\" is not supported.`,{docsPath:e,metaMessages:t,name:`AccountTypeNotSupportedError`})}};rm();function dh({chain:e,currentChainId:t}){if(!e)throw new em;if(t!==e.id)throw new $p({chain:e,currentChainId:t})}async function fh(e,{serializedTransaction:t}){return e.request({method:`eth_sendRawTransaction`,params:[t]},{retryCount:0})}ha(),A(),zi(),nd(),ld(),Di(),_d();let ph=new Ei(128);async function mh(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 lh({docsPath:`/docs/actions/wallet/sendTransaction`});let y=n?M(n):null,b;try{gd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Lu({authorization:o[0]}).catch(()=>{throw new k(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(y?.type===`json-rpc`||y===null){let t;i!==null&&(t=await D(e,Jd,`getChainId`)({}),r&&dh({currentChainId:t,chain:i}));let b=e.chain?.formatters?.transactionRequest?.format,x=(b||ad)({...td(v,{format:b}),accessList:a,account:y,authorizationList:o,blobs:s,chainId:t,data:l?Ii([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:g,value:_},`sendTransaction`),S=ph.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=>(ph.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(ph.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 D(e,$d,`prepareTransactionRequest`)({account:y,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Ii([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:t,parameters:[...Xd,`sidecars`],type:g,value:_,...v,to:n}),x=i?.serializers?.transaction,S=await y.signTransaction(r,{serializer:x}),C=(i??e.chain)?.serializers?.transactionEnvelope,w=C?await C({serializedTransaction:S,transaction:r}):S;return await D(e,fh,`sendRawTransaction`)({serializedTransaction:w})}throw y?.type===`smart`?new uh({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new uh({docsPath:`/docs/actions/wallet/sendTransaction`,type:y?.type})}catch(e){throw e instanceof uh?e:(b&&y?.nonceManager?.reset(b),qd(e,{...t,account:y,chain:t.chain||void 0}))}}ha(),ba();async function hh(e,t){return hh.internal(e,mh,`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 lh({docsPath:`/docs/contract/writeContract`});let u=a?M(a):null,d=ya({abi:i,args:s,functionName:c});try{return await D(e,t,n)({data:d,to:o,account:u,...l})}catch(e){throw ks(e,{abi:i,address:o,args:s,docsPath:`/docs/contract/writeContract`,functionName:c,sender:u?.address})}}e.internal=t})(hh||={}),A();var gh=class extends k{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}};zo();function _h(e,{delay:t=100,retryCount:n=2,shouldRetry:r=()=>!0,signal:i}={}){return new Promise((a,o)=>{let s=async({count:c=0}={})=>{if(i?.aborted){o(Fo(i));return}let l=async({error:e})=>{let n=typeof t==`function`?t({count:c,error:e}):t;if(n)try{await th(n,{signal:i})}catch(e){o(e);return}return s({count:c+1})};try{a(await e())}catch(e){if(i?.aborted){o(Fo(i));return}if(Io(e)){o(e);return}if(c<n&&await r({count:c,error:e}))return l({error:e});o(e)}};s().catch(o)})}Rn(),id();let vh={\"0x0\":`reverted`,\"0x1\":`success`};function yh(e,t){let n={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(e=>af(e)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Ln(e.transactionIndex):null,status:e.status?vh[e.status]:null,type:e.type?Sd[e.type]||e.type:null};return e.blobGasPrice&&(n.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(n.blobGasUsed=BigInt(e.blobGasUsed)),n}let bh=rd(`transactionReceipt`,yh);ha(),A(),Os(),ba(),zi(),Rn(),Gn();let xh=j(0,{size:32});async function Sh(e,t){let{account:n=e.account,chain:r=e.chain,experimental_fallback:i,experimental_fallbackDelay:a=32,forceAtomic:o=!1,id:s,version:c=`2.0.0`}=t,l=n?M(n):null,u=t.capabilities;e.dataSuffix&&!t.capabilities?.dataSuffix&&(u=typeof e.dataSuffix==`string`?{...t.capabilities,dataSuffix:{value:e.dataSuffix,optional:!0}}:{...t.capabilities,dataSuffix:{value:e.dataSuffix.value,...e.dataSuffix.required?{}:{optional:!0}}});let d=t.calls.map(e=>{let t=e,n=t.abi?ya({abi:t.abi,functionName:t.functionName,args:t.args}):t.data;return{data:t.dataSuffix&&n?Ii([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 ys(new k(e,{details:e}))}if(o&&d.length>1){let e=\"`forceAtomic` is not supported on fallback to `eth_sendTransaction`.\";throw new Ts(new k(e,{details:e}))}let t=[];for(let n of d){try{let i=await mh(e,{account:l,chain:r,data:n.data,to:n.to,value:n.value?Fn(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:Ii([...t.map(e=>e.status===`fulfilled`?e.value:xh),j(r.id,{size:32}),`0x5792579257925792579257925792579257925792579257925792579257925792`])}}throw qd(n,{...t,account:l,chain:t.chain})}}Gi(),Nn(),Rn();async function Ch(e,t){async function n(t){if(t.endsWith(`5792579257925792579257925792579257925792579257925792579257925792`)){let n=Mn(Wi(t,-64,-32)),r=Wi(t,0,-64).slice(2).match(/.{1,64}/g),i=await Promise.all(r.map(t=>xh.slice(2)===t?void 0:e.request({method:`eth_getTransactionReceipt`,params:[`0x${t}`]},{dedupe:!0}))),a=i.some(e=>e===null)?100:i.every(e=>e?.status===`0x1`)?200:i.every(e=>e?.status===`0x0`)?500:600;return{atomic:!1,chainId: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:Fn(e.blockNumber),gasUsed:Fn(e.gasUsed),status:vh[e.status]}))??[],statusCode:l,status:c,version:o}}A(),fm(),$a();async function wh(e,t){let{id:n,pollingInterval:r=e.pollingInterval,status:i=({statusCode:e})=>e===200||e>=300,retryCount:a=4,retryDelay:o=({count:e})=>~~(1<<e)*200,timeout:s=6e4,throwOnFailure:c=!1}=t,l=Qa([`waitForCallsStatus`,e.uid,n]),{promise:u,resolve:d,reject:f}=dm(),p,m=eh(l,{resolve:d,reject:f},t=>{let s=nh(async()=>{let r=e=>{clearTimeout(p),s(),e(),m()};try{let s=await _h(async()=>{let t=await D(e,Ch,`getCallsStatus`)({id:n});if(c&&t.status===`failure`)throw new gh(t);return t},{retryCount:a,delay:o});if(!i(s))return;r(()=>t.resolve(s))}catch(e){r(()=>t.reject(e))}},{interval:r,emitOnBegin:!0});return s});return p=s?setTimeout(()=>{m(),clearTimeout(p),f(new Th({id:n}))},s):void 0,await u}var Th=class extends k{constructor({id:e}){super(`Timed out while waiting for call bundle with id \"${e}\" to be confirmed.`,{name:`WaitForCallsStatusTimeoutError`})}};let Eh=256,Dh;function Oh(e=11){if(!Dh||Eh+e>512){Dh=``,Eh=0;for(let e=0;e<256;e++)Dh+=(256+Math.random()*256|0).toString(16).substring(1)}return Dh.substring(Eh,Eh+++e)}ha();function kh(e){let{batch:t,chain:n,ccipRead:r,dataSuffix:i,key:a=`base`,name:o=`Base Client`,tokens:s,type:c=`base`}=e,l=e.experimental_blockTag??(typeof n?.experimental_preconfirmationTime==`number`?`pending`:void 0),u=n?.blockTime??12e3,d=Math.min(Math.max(Math.floor(u/2),500),4e3),f=e.pollingInterval??d,p=e.cacheTime??f,m=e.account?M(e.account):void 0,{config:h,request:g,value:_}=e.transport({account:m,chain:n,pollingInterval:f}),v={account:m,batch:t,cacheTime:p,ccipRead:r,chain:n,dataSuffix:i,key:a,name:o,pollingInterval:f,request:g,tokens:s,transport:{...h,..._},type:c,uid:Oh(),...l?{experimental_blockTag:l}:{}};function y(e){return t=>{let n=t(e);for(let e in v)delete n[e];let r={...e,...n};for(let t in n){let i=e[t],a=n[t];Ah(i)&&Ah(a)&&(r[t]={...i,...a})}return Object.assign(r,{extend:y(r)})}}return Object.assign(v,{extend:y(v)})}function Ah(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function jh(e,t){let n=(n={})=>t(e,n);for(let r of[`call`,`calls`,`callWithPeriod`,`estimateGas`,`prepare`,`prepareRecipient`,`predict`,`simulate`])if(Object.hasOwn(t,r)){let i=t[r];n[r]=(t={})=>i.length===1?i(t):i(e,t)}for(let e of[`extractEvent`,`extractEvents`])Object.hasOwn(t,e)&&(n[e]=t[e]);return n}Md();async function Mh(e,{address:t,blockHash:n,blockNumber:r,blockTag:i=`latest`,requireCanonical:a}){let o=jd({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}hd(),Ti(),A(),rm(),Zu(),Fi(),zt(),Gi(),Rn();function Nh(e){let{authorizationList:t}=e;if(t)for(let e of t){let{chainId:t}=e,n=e.address;if(!Mi(n))throw new wi({address:n});if(t<0)throw new nm({chainId:t})}Fh(e)}function Ph(e){let{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Vd;for(let e of t){let t=Rt(e),n=Ln(Bi(e,0,1));if(t!==32)throw new Hd({hash:e,size:t});if(n!==1)throw new Ud({hash:e,version:n})}}Fh(e)}function Fh(e){let{chainId:t,maxPriorityFeePerGas:n,maxFeePerGas:r,to:i}=e;if(t<=0)throw new nm({chainId:t});if(i&&!Mi(i))throw new wi({address:i});if(r&&r>md)throw new Bu({maxFeePerGas:r});if(n&&r&&n>r)throw new Yu({maxFeePerGas:r,maxPriorityFeePerGas:n})}function Ih(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(t<=0)throw new nm({chainId:t});if(a&&!Mi(a))throw new wi({address:a});if(n||i)throw new k(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.\");if(r&&r>md)throw new Bu({maxFeePerGas:r})}function Lh(e){let{chainId:t,maxPriorityFeePerGas:n,gasPrice:r,maxFeePerGas:i,to:a}=e;if(a&&!Mi(a))throw new wi({address:a});if(t!==void 0&&t<=0)throw new nm({chainId:t});if(n||i)throw new k(\"`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.\");if(r&&r>md)throw new Bu({maxFeePerGas:r})}Ti(),Po(),Fi();function Rh(e){if(!e||e.length===0)return[];let t=[];for(let n=0;n<e.length;n++){let{address:r,storageKeys:i}=e[n];for(let e=0;e<i.length;e++)if(i[e].length-2!=64)throw new Oo({storageKey:i[e]});if(!Mi(r,{strict:!1}))throw new wi({address:r});t.push([r,i])}return t}Po(),zi(),Nn(),Gn();function zh(e,t){let n=Kd(e);return n===`eip1559`?Hh(e,t):n===`eip2930`?Uh(e,t):n===`eip4844`?Vh(e,t):n===`eip7702`?Bh(e,t):Wh(e,t)}function Bh(e,t){let{authorizationList:n,chainId:r,gas:i,nonce:a,to:o,value:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Nh(e);let f=Rh(u),p=Kh(n);return Ri([`0x04`,ju([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,...Gh(e,t)])])}function Vh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerBlobGas:s,maxFeePerGas:c,maxPriorityFeePerGas:l,accessList:u,data:d}=e;Ph(e);let f=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(f===void 0||p===void 0)){let t=typeof e.blobs[0]==`string`?e.blobs:e.blobs.map(e=>Vn(e)),n=e.kzg,r=Pd({blobs:t,kzg:n});f===void 0&&(f=zd({commitments:r})),p===void 0&&(p=Gd({blobs:t,commitments:r,proofs:Fd({blobs:t,commitments:r,kzg:n})}))}let m=Rh(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??[],...Gh(e,t)],g=[],_=[],v=[];if(p)for(let e=0;e<p.length;e++){let{blob:t,commitment:n,proof:r}=p[e];g.push(t),_.push(n),v.push(r)}return Ri([`0x03`,ju(p?[h,g,_,v]:h)])}function Hh(e,t){let{chainId:n,gas:r,nonce:i,to:a,value:o,maxFeePerGas:s,maxPriorityFeePerGas:c,accessList:l,data:u}=e;Fh(e);let d=Rh(l);return Ri([`0x02`,ju([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,...Gh(e,t)])])}function Uh(e,t){let{chainId:n,gas:r,data:i,nonce:a,to:o,value:s,accessList:c,gasPrice:l}=e;Ih(e);let u=Rh(c);return Ri([`0x01`,ju([j(n),a?j(a):`0x`,l?j(l):`0x`,r?j(r):`0x`,o??`0x`,s?j(s):`0x`,i??`0x`,u,...Gh(e,t)])])}function Wh(e,t){let{chainId:n=0,gas:r,data:i,nonce:a,to:o,value:s,gasPrice:c}=e;Lh(e);let l=[a?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 Co({v:t.v});return e})(),r=Mn(t.r),i=Mn(t.s);l=[...l,j(e),r===`0x00`?`0x`:r,i===`0x00`?`0x`:i]}else n>0&&(l=[...l,j(n),`0x`,`0x`]);return ju(l)}function Gh(e,t){let n=t??e,{v:r,yParity:i}=n;if(n.r===void 0||n.s===void 0||r===void 0&&i===void 0)return[];let a=Mn(n.r),o=Mn(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]}Gn();function Kh(e){if(!e||e.length===0)return[];let t=[];for(let n of e){let{chainId:e,nonce:r,...i}=n,a=n.address;t.push([e?zn(e):`0x`,a,r?zn(r):`0x`,...Gh({},i)])}return t}ji(),rf();async function qh({address:e,authorization:t,signature:n}){return nf(ki(e),await Lu({authorization:t,signature:n}))}Di();let Jh=new Ei(8192);function Yh(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(Jh.get(n))return Jh.get(n);let r=e().finally(()=>Jh.delete(n));return Jh.set(n,r),r}A(),Zo(),Os(),zo(),$a();function Xh(e,t={}){return async(n,r={})=>{let{dedupe:i=!1,methods:a,retryDelay:o=150,retryCount:s=3,signal:c,uid:l}={...t,...r},{method:u}=n;if(a?.exclude?.includes(u)||a?.include&&!a.include.includes(u))throw new us(Error(`method not supported`),{method:u});if(c?.aborted)throw Fo(c);return Yh(()=>_h(async()=>{try{return await e(n,c?{signal:c}:void 0)}catch(e){if(c?.aborted)throw Fo(c);if(Io(e))throw e;let t=e;switch(t.code){case ts.code:throw new ts(t);case ns.code:throw new ns(t);case rs.code:throw new rs(t,{method:n.method});case is.code:throw new is(t);case as.code:throw new as(t);case os.code:throw new os(t);case ss.code:throw new ss(t);case cs.code:throw new cs(t);case ls.code:throw new ls(t);case us.code:throw new us(t,{method:n.method});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 ws.code:throw new ws(t);case Ts.code:throw new Ts(t);case 5e3:throw new ps(t);case Es.code:throw new Es(t);default:throw e instanceof k?e:new Ds(t)}}},{delay:({count:e,error:t})=>{if(t&&t instanceof qo){let e=t?.headers?.get(`Retry-After`);if(e?.match(/\\d/))return Number.parseInt(e,10)*1e3}return~~(1<<e)*o},retryCount:s,signal:c,shouldRetry:({error:e})=>Zh(e)}),{enabled:i,id:i?Qh(`${l}.${Qa(n)}`):void 0})}}function Zh(e){return Io(e)?!1:`code`in e&&typeof e.code==`number`?e.code===-1||e.code===ds.code||e.code===as.code||e.code===429||e.code===-32007:e instanceof qo&&e.status?e.status===403||e.status===408||e.status===413||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504:!0}function Qh(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677)}return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>16,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>16,3266489909),(4294967296*(2097151&r)+(n>>>0)).toString(36)}function $h(e){let t={formatters:void 0,fees:void 0,serializers:void 0,...e};function n(e){return t=>{let r=typeof t==`function`?t(e):t,i={...e,...r};return Object.assign(i,{extend:n(i)})}}return Object.assign(t,{extend:n(t)})}function eg(){return{}}A(),jn(),ja(),er(),Gn();let tg=1024;function ng(e,t=`hex`){let n=ka((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new En(e);return Yn(e)}return e})(),{recursiveReadLimit:1/0}),r=rg(n,t);if(n.position<n.bytes.length)throw new kn({count:n.bytes.length-n.position});return r}function rg(e,t=`hex`,n=0){if(n>=tg)throw new Dn({limit:tg});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=ig(e,r,128),i=e.readBytes(n);return t===`hex`?Vn(i):i}return ag(e,ig(e,r,192),t,n+1)}function ig(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new k(`Invalid RLP prefix`)}function ag(e,t,n,r){let i=e.position,a=[];for(;e.position-i<t;)a.push(rg(e,n,r));if(e.position-i!==t)throw new On({consumed:e.position-i,declared:t});return a}Lt();function og(e){return O(e)&&e.length===66}zo();function sg(e,{errorInstance:t=Error(`timed out`),timeout:n,signal:r}){return new Promise((i,a)=>{(async()=>{let o,s=new AbortController;try{n>0&&(o=setTimeout(()=>{r?s.abort():a(t)},n)),i(await e({signal:s?.signal||null}))}catch(e){if(s?.signal.aborted&&Io(e)){a(t);return}a(e)}finally{clearTimeout(o)}})()})}function cg(){return{current:0,take(){return this.current++},reset(){this.current=0}}}let lg=cg();Zo(),zo(),$a();function ug(e,t={}){let{url:n,headers:r}=fg(e);return{async request(e){let{body:i,fetchFn:a=t.fetchFn??fetch,maxResponseBodySize:o=t.maxResponseBodySize??10485760,onRequest:s=t.onRequest,onResponse:c=t.onResponse,timeout:l=t.timeout??1e4}=e,u={...t.fetchOptions??{},...e.fetchOptions??{}},{headers:d,method:f,signal:p}=u;try{let e=await sg(async({signal:e})=>{let t={...u,body:Qa(Array.isArray(i)?i.map(e=>({jsonrpc:`2.0`,id:e.id??lg.take(),...e})):{jsonrpc:`2.0`,id:i.id??lg.take(),...i}),headers:{...r,\"Content-Type\":`application/json`,...d},method:f||`POST`,signal:p||(l>0?e:null)},o=new Request(n,t),c=await s?.(o,t)??{...t,url:n};return await a(c.url??n,c)},{errorInstance:new Xo({body:i,url:n}),timeout:l,signal:!0});c&&await c(e);let t,m=await dg(e,{maxResponseBodySize:o});if(e.headers.get(`Content-Type`)?.startsWith(`application/json`))t=JSON.parse(m);else{t=m;try{t=JSON.parse(t||`{}`)}catch(n){if(e.ok)throw n;t={error:t}}}if(!e.ok){if(typeof t.error?.code==`number`&&typeof t.error?.message==`string`)return t;throw new qo({body:i,details:Qa(t.error)||e.statusText,headers:e.headers,status:e.status,url:n})}return t}catch(e){throw p?.aborted?Fo(p):Io(e)||e instanceof qo||e instanceof Jo||e instanceof Xo?e:new qo({body:i,cause:e,url:n})}}}}async function dg(e,{maxResponseBodySize:t}){if(t===!1)return e.text();let n=e.headers.get(`Content-Length`);if(n){let e=Number(n);if(e>t)throw new Jo({maxSize:t,size:e})}if(!e.body){let n=await e.text(),r=new TextEncoder().encode(n).length;if(r>t)throw new Jo({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 Jo({maxSize:t,size:o});a+=i.decode(n,{stream:!0})}return a+=i.decode(),a}finally{r.releaseLock()}}function fg(e){try{let t=new URL(e),n=(()=>{if(t.username){let e=`${decodeURIComponent(t.username)}:${decodeURIComponent(t.password)}`;return t.username=``,t.password=``,{url:t.toString(),headers:{Authorization:`Basic ${btoa(e)}`}}}})();return{url:t.toString(),...n}}catch{return{url:e}}}zi(),zt(),Gn();function pg(e){let t=typeof e==`string`?Hn(e):typeof e.raw==`string`?e.raw:Vn(e.raw);return Ii([Hn(`\u0019Ethereum Signed Message:\n${Rt(t)}`),t])}fi();function mg(e,t){return di(pg(e),t)}$a(),A();var hg=class extends k{constructor({domain:e}){super(`Invalid domain \"${Qa(e)}\".`,{metaMessages:[`Must be a valid EIP-712 domain.`]})}},gg=class extends k{constructor({primaryType:e,types:t}){super(`Invalid primary type \\`${e}\\` must be one of \\`${JSON.stringify(Object.keys(t))}\\`.`,{docsPath:`/api/glossary/Errors#typeddatainvalidprimarytypeerror`,metaMessages:[\"Check that the primary type is a key in `types`.\"]})}},_g=class extends k{constructor({type:e}){super(`Struct type \"${e}\" is invalid.`,{metaMessages:[`Struct type must not be a Solidity type.`],name:`InvalidStructTypeError`})}},vg=class extends k{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`})}};mn(),Ti(),Fi(),zt(),Gn(),Ji(),$a();function yg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{let n={...t};for(let t of e){let{name:e,type:r}=t;r===`address`&&(n[e]=n[e].toLowerCase())}return n},o=!i.EIP712Domain||!t?{}:a(i.EIP712Domain,t),s=(()=>{if(r!==`EIP712Domain`)return a(i[r],n)})();return Qa({domain:o,message:s,primaryType:r,types:i})}function bg(e){let{domain:t,message:n,primaryType:r,types:i}=e,a=(e,t)=>{for(let n of e){let{name:e,type:r}=n,o=t[e],s=r.replace(/(\\[[0-9]*\\])+$/,``);if(s===`int`||s===`uint`)throw new vg({type:r});let c=r.match(qi);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`&&!Mi(o))throw new wi({address:o});let l=r.match(Ki);if(l){let[e,t]=l;if(t&&Rt(o)!==Number.parseInt(t,10))throw new sn({expectedSize:Number.parseInt(t,10),givenSize:Rt(o)})}let u=i[r];u&&(Sg(r),a(u,o))}};if(i.EIP712Domain&&t){if(typeof t!=`object`)throw new hg({domain:t});a(i.EIP712Domain,t)}if(r!==`EIP712Domain`){if(i[r])a(i[r],n);else throw new gg({primaryType:r,types:i})}}function xg({domain:e}){return[typeof e?.name==`string`&&{name:`name`,type:`string`},e?.version&&{name:`version`,type:`string`},(typeof e?.chainId==`number`||typeof e?.chainId==`bigint`)&&{name:`chainId`,type:`uint256`},e?.verifyingContract&&{name:`verifyingContract`,type:`address`},e?.salt&&{name:`salt`,type:`bytes32`}].filter(Boolean)}function Sg(e){if(e===`address`||e===`bool`||e===`string`||e.startsWith(`bytes`)||e.startsWith(`uint`)||e.startsWith(`int`))throw new _g({type:e})}ca(),zi(),Gn(),fi();function Cg(e){let{domain:t={},message:n,primaryType:r}=e,i={EIP712Domain:xg({domain:t}),...e.types};bg({domain:t,message:n,primaryType:r,types:i});let a=[`0x1901`];return t&&a.push(wg({domain:t,types:i})),r!==`EIP712Domain`&&a.push(Tg({data:n,primaryType:r,types:i})),di(Ii(a))}function wg({domain:e,types:t}){return Tg({data:e,primaryType:`EIP712Domain`,types:t})}function Tg({data:e,primaryType:t,types:n}){return di(Eg({data:e,primaryType:t,types:n}))}function Eg({data:e,primaryType:t,types:n}){let r=[{type:`bytes32`}],i=[Dg({primaryType:t,types:n})];for(let a of n[t]){let[t,o]=Ag({types:n,name:a.name,type:a.type,value:e[a.name]});r.push(t),i.push(o)}return Yi(r,i)}function Dg({primaryType:e,types:t}){return di(zn(Og({primaryType:e,types:t})))}function Og({primaryType:e,types:t}){let n=``,r=kg({primaryType:e,types:t});r.delete(e);let i=[e,...Array.from(r).sort()];for(let e of i)n+=`${e}(${t[e].map(({name:e,type:t})=>`${t} ${e}`).join(`,`)})`;return n}function kg({primaryType:e,types:t},n=new Set){let r=e.match(/^\\w*/u)?.[0];if(n.has(r)||t[r]===void 0)return n;n.add(r);for(let e of t[r])kg({primaryType:e.type,types:t},n);return n}function Ag({types:e,name:t,type:n,value:r}){if(e[n]!==void 0)return[{type:`bytes32`},di(Eg({data:r,primaryType:n,types:e}))];if(n===`bytes`)return[{type:`bytes32`},di(r)];if(n===`string`)return[{type:`bytes32`},di(zn(r))];if(n.lastIndexOf(`]`)===n.length-1){let i=n.slice(0,n.lastIndexOf(`[`)),a=r.map(n=>Ag({name:t,type:i,types:e,value:n}));return[{type:`bytes32`},di(Yi(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:n},r]}var jg=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...i?[`Docs: https://abitype.dev${i}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@1.3.0`].join(`\n`);super(a),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"docsPath\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"metaMessages\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"shortMessage\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiTypeError`}),n.cause&&(this.cause=n.cause),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.shortMessage=t}};function Mg(e,t){return e.exec(t)?.groups}let Ng=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Pg=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,Fg=/^\\(.+?\\).*?$/,Ig=/^tuple(?<array>(\\[(\\d*)\\])*)$/;function Lg(e){let t=e.type;if(Ig.test(e.type)&&`components`in e){t=`(`;let n=e.components.length;for(let r=0;r<n;r++){let i=e.components[r];t+=Lg(i),r<n-1&&(t+=`, `)}let r=Mg(Ig,e.type);return t+=`)${r?.array||``}`,Lg({...e,type:t})}return`indexed`in e&&e.indexed&&(t=`${t} indexed`),e.name?`${t} ${e.name}`:t}function Rg(e){let t=``,n=e.length;for(let r=0;r<n;r++){let i=e[r];t+=Lg(i),r!==n-1&&(t+=`, `)}return t}function zg(e){return e.type===`function`?`function ${e.name}(${Rg(e.inputs)})${e.stateMutability&&e.stateMutability!==`nonpayable`?` ${e.stateMutability}`:``}${e.outputs?.length?` returns (${Rg(e.outputs)})`:``}`:e.type===`event`?`event ${e.name}(${Rg(e.inputs)})`:e.type===`error`?`error ${e.name}(${Rg(e.inputs)})`:e.type===`constructor`?`constructor(${Rg(e.inputs)})${e.stateMutability===`payable`?` payable`:``}`:e.type===`fallback`?`fallback() external${e.stateMutability===`payable`?` payable`:``}`:`receive() external payable`}let Bg=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?<properties>.*?)\\}$/;function Vg(e){return Bg.test(e)}function Hg(e){return Mg(Bg,e)}let Ug=new Set([`memory`,`indexed`,`storage`,`calldata`]),Wg=new Set([`calldata`,`memory`,`storage`]);var Gg=class extends jg{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownTypeError`})}},Kg=class extends jg{constructor({type:e}){super(`Unknown type.`,{metaMessages:[`Type \"${e}\" is not a valid ABI type.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`UnknownSolidityTypeError`})}},qg=class extends jg{constructor({params:e}){super(`Failed to parse ABI parameters.`,{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:`/api/human#parseabiparameters-1`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiParametersError`})}},Jg=class extends jg{constructor({param:e}){super(`Invalid ABI parameter.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParameterError`})}},Yg=class extends jg{constructor({param:e,name:t}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`\"${t}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SolidityProtectedKeywordError`})}},Xg=class extends jg{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidModifierError`})}},Zg=class extends jg{constructor({param:e,type:t,modifier:n}){super(`Invalid ABI parameter.`,{details:e,metaMessages:[`Modifier \"${n}\" not allowed${t?` in \"${t}\" type`:``}.`,`Data location can only be specified for array, struct, or mapping types, but \"${n}\" was given.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidFunctionModifierError`})}},Qg=class extends jg{constructor({abiParameter:e}){super(`Invalid ABI parameter.`,{details:JSON.stringify(e,null,2),metaMessages:[`ABI parameter type is invalid.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidAbiTypeParameterError`})}},$g=class extends jg{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidSignatureError`})}},e_=class extends jg{constructor({signature:e}){super(`Invalid struct signature.`,{details:e,metaMessages:[`No properties exist.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidStructSignatureError`})}},t_=class extends jg{constructor({type:e}){super(`Circular reference detected.`,{metaMessages:[`Struct \"${e}\" is a circular reference.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`CircularReferenceError`})}},n_=class extends jg{constructor({current:e,depth:t}){super(`Unbalanced parentheses.`,{metaMessages:[`\"${e.trim()}\" has too many ${t>0?`opening`:`closing`} parentheses.`],details:`Depth \"${t}\"`}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`InvalidParenthesisError`})}};function r_(e,t,n){let r=``;if(n)for(let e of Object.entries(n)){if(!e)continue;let t=``;for(let n of e[1])t+=`[${n.type}${n.name?`:${n.name}`:``}]`;r+=`(${e[0]}{${t}})`}return t?`${t}:${e}${r}`:`${e}${r}`}let i_=new Map([[`address`,{type:`address`}],[`bool`,{type:`bool`}],[`bytes`,{type:`bytes`}],[`bytes32`,{type:`bytes32`}],[`int`,{type:`int256`}],[`int256`,{type:`int256`}],[`string`,{type:`string`}],[`uint`,{type:`uint256`}],[`uint8`,{type:`uint8`}],[`uint16`,{type:`uint16`}],[`uint24`,{type:`uint24`}],[`uint32`,{type:`uint32`}],[`uint64`,{type:`uint64`}],[`uint96`,{type:`uint96`}],[`uint112`,{type:`uint112`}],[`uint160`,{type:`uint160`}],[`uint192`,{type:`uint192`}],[`uint256`,{type:`uint256`}],[`address owner`,{type:`address`,name:`owner`}],[`address to`,{type:`address`,name:`to`}],[`bool approved`,{type:`bool`,name:`approved`}],[`bytes _data`,{type:`bytes`,name:`_data`}],[`bytes data`,{type:`bytes`,name:`data`}],[`bytes signature`,{type:`bytes`,name:`signature`}],[`bytes32 hash`,{type:`bytes32`,name:`hash`}],[`bytes32 r`,{type:`bytes32`,name:`r`}],[`bytes32 root`,{type:`bytes32`,name:`root`}],[`bytes32 s`,{type:`bytes32`,name:`s`}],[`string name`,{type:`string`,name:`name`}],[`string symbol`,{type:`string`,name:`symbol`}],[`string tokenURI`,{type:`string`,name:`tokenURI`}],[`uint tokenId`,{type:`uint256`,name:`tokenId`}],[`uint8 v`,{type:`uint8`,name:`v`}],[`uint256 balance`,{type:`uint256`,name:`balance`}],[`uint256 tokenId`,{type:`uint256`,name:`tokenId`}],[`uint256 value`,{type:`uint256`,name:`value`}],[`event:address indexed from`,{type:`address`,name:`from`,indexed:!0}],[`event:address indexed to`,{type:`address`,name:`to`,indexed:!0}],[`event:uint indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}],[`event:uint256 indexed tokenId`,{type:`uint256`,name:`tokenId`,indexed:!0}]]),a_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\spayable)?)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,o_=/^\\((?<type>.+?)\\)(?<array>(?:\\[\\d*?\\])+?)?(?:\\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,s_=/^u?int$/;function c_(e,t){let n=r_(e,t?.type,t?.structs);if(i_.has(n))return i_.get(n);let r=Fg.test(e),i=Mg(r?o_:a_,e);if(!i)throw new Jg({param:e});if(i.name&&f_(i.name))throw new Yg({param:e,name:i.name});let a=i.name?{name:i.name}:{},o=i.modifier===`indexed`?{indexed:!0}:{},s=t?.structs??{},c,l={};if(r){c=`tuple`;let e=l_(i.type),t=[],n=e.length;for(let r=0;r<n;r++)t.push(c_(e[r],{structs:s}));l={components:t}}else if(i.type in s)c=`tuple`,l={components:s[i.type]};else if(s_.test(i.type))c=`${i.type}256`;else if(i.type===`address payable`)c=`address`;else if(c=i.type,t?.type!==`struct`&&!u_(c))throw new Kg({type:c});if(i.modifier){if(!t?.modifiers?.has?.(i.modifier))throw new Xg({param:e,type:t?.type,modifier:i.modifier});if(Wg.has(i.modifier)&&!p_(c,!!i.array))throw new Zg({param:e,type:t?.type,modifier:i.modifier})}let u={type:`${c}${i.array??``}`,...a,...o,...l};return i_.set(n,u),u}function l_(e,t=[],n=``,r=0){let i=e.trim().length;for(let a=0;a<i;a++){let i=e[a],o=e.slice(a+1);switch(i){case`,`:return r===0?l_(o,[...t,n.trim()]):l_(o,t,`${n}${i}`,r);case`(`:return l_(o,t,`${n}${i}`,r+1);case`)`:return l_(o,t,`${n}${i}`,r-1);default:return l_(o,t,`${n}${i}`,r)}}if(n===``)return t;if(r!==0)throw new n_({current:n,depth:r});return t.push(n.trim()),t}function u_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||Ng.test(e)||Pg.test(e)}let d_=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function f_(e){return e===`address`||e===`bool`||e===`function`||e===`string`||e===`tuple`||Ng.test(e)||Pg.test(e)||d_.test(e)}function p_(e,t){return t||e===`bytes`||e===`string`||e===`tuple`}function m_(e){let t={},n=e.length;for(let r=0;r<n;r++){let n=e[r];if(!Vg(n))continue;let i=Hg(n);if(!i)throw new $g({signature:n,type:`struct`});let a=i.properties.split(`;`),o=[],s=a.length;for(let e=0;e<s;e++){let t=a[e].trim();if(!t)continue;let n=c_(t,{type:`struct`});o.push(n)}if(!o.length)throw new e_({signature:n});t[i.name]=o}let r={},i=Object.entries(t),a=i.length;for(let e=0;e<a;e++){let[n,a]=i[e];r[n]=g_(a,t)}return r}let h_=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\\[\\d*?\\])+?)?$/;function g_(e=[],t={},n=new Set){let r=[],i=e.length;for(let a=0;a<i;a++){let i=e[a];if(Fg.test(i.type))r.push(i);else{let e=Mg(h_,i.type);if(!e?.type)throw new Qg({abiParameter:i});let{array:a,type:o}=e;if(o in t){if(n.has(o))throw new t_({type:o});r.push({...i,type:`tuple${a??``}`,components:g_(t[o],t,new Set([...n,o]))})}else if(u_(o))r.push(i);else throw new Gg({type:o})}}return r}function __(e){let t=[];if(typeof e==`string`){let n=l_(e),r=n.length;for(let e=0;e<r;e++)t.push(c_(n[e],{modifiers:Ug}))}else{let n=m_(e),r=e.length;for(let i=0;i<r;i++){let r=e[i];if(Vg(r))continue;let a=l_(r),o=a.length;for(let e=0;e<o;e++)t.push(c_(a[e],{modifiers:Ug,structs:n}))}}if(t.length===0)throw new qg({params:e});return t}let v_={checksum:new class extends Map{constructor(e){super(),Object.defineProperty(this,\"maxSize\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}(8192)}.checksum;tc(),ui(),dp(),z();function y_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=li(Vf(e));return n===`Bytes`?r:hp(r)}function b_(e,t,n={}){let{as:r=typeof t==`string`?`Hex`:`Bytes`}=n,i=ec(Id,Vf(e),Vf(t));return r===`Bytes`?i:hp(i)}function x_(e,t={}){let{as:n=typeof e==`string`?`Hex`:`Bytes`}=t,r=Id(Vf(e));return n===`Bytes`?r:hp(r)}function S_(e){return e.length===66&&Tp(e,{strict:!0})}dp(),yf(),z(),Rf();function C_(e,t={}){let{compressed:n}=t,{prefix:r,x:i,y:a}=e;if(n===!1||typeof i==`bigint`&&typeof a==`bigint`){if(r!==4)throw new A_({prefix:r,cause:new M_});return}if(n===!0||typeof i==`bigint`&&a===void 0){if(r!==3&&r!==2)throw new A_({prefix:r,cause:new j_});return}throw new k_({publicKey:e})}function w_(e){let t=(()=>{if(Tp(e))return E_(e);if(rp(e))return T_(e);let{prefix:t,x:n,y:r}=e;return typeof n==`bigint`&&typeof r==`bigint`?{prefix:t??4,x:n,y:r}:{prefix:t,x:n}})();return C_(t),t}function T_(e){return E_(hp(e))}function E_(e){if(e.length!==132&&e.length!==130&&e.length!==68)throw new N_({publicKey:e});return e.length===130?{prefix:4,x:BigInt(I(e,0,32)),y:BigInt(I(e,32,64))}:e.length===132?{prefix:Number(I(e,0,1)),x:BigInt(I(e,1,33)),y:BigInt(I(e,33,65))}:{prefix:Number(I(e,0,1)),x:BigInt(I(e,1,33))}}function D_(e,t={}){return Uf(O_(e,t))}function O_(e,t={}){C_(e);let{prefix:n,x:r,y:i}=e,{includePrefix:a=!0}=t;return P(a?F(n,{size:1}):`0x`,F(r,{size:32}),typeof i==`bigint`?F(i,{size:32}):`0x`)}var k_=class extends N{constructor({publicKey:e}){super(`Value \\`${If(e)}\\` is not a valid public key.`,{metaMessages:[`Public key must contain:`,\"- an `x` and `prefix` value (compressed)\",\"- an `x`, `y`, and `prefix` value (uncompressed)\"]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidError`})}},A_=class extends N{constructor({prefix:e,cause:t}){super(`Prefix \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidPrefixError`})}},j_=class extends N{constructor(){super(`Prefix must be 2 or 3 for compressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidCompressedPrefixError`})}},M_=class extends N{constructor(){super(`Prefix must be 4 for uncompressed public keys.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidUncompressedPrefixError`})}},N_=class extends N{constructor({publicKey:e}){super(`Value \\`${e}\\` is an invalid public key size.`,{metaMessages:[`Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).`,`Received ${L(pp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`PublicKey.InvalidSerializedSizeError`})}};dp(),yf();let P_=/^0x[a-fA-F0-9]{40}$/;function F_(e,t={}){let{strict:n=!0}=t;if(!P_.test(e))throw new V_({address:e,cause:new H_});if(n){if(e.toLowerCase()===e)return;if(I_(e)!==e)throw new V_({address:e,cause:new U_})}}function I_(e){if(v_.has(e))return v_.get(e);F_(e,{strict:!1});let t=e.substring(2).toLowerCase(),n=y_(Wf(t),{as:`Bytes`}),r=t.split(``);for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&r[e]&&(r[e]=r[e].toUpperCase()),(n[e>>1]&15)>=8&&r[e+1]&&(r[e+1]=r[e+1].toUpperCase());let i=`0x${r.join(``)}`;return v_.set(e,i),i}function L_(e,t={}){let{checksum:n=!1}=t;return F_(e),n?I_(e):e}function R_(e,t={}){return L_(`0x${y_(`0x${O_(e).slice(4)}`).substring(26)}`,t)}function z_(e,t){return F_(e,{strict:!1}),F_(t,{strict:!1}),e.toLowerCase()===t.toLowerCase()}function B_(e,t={}){let{strict:n=!0}=t??{};try{return F_(e,{strict:n}),!0}catch{return!1}}var V_=class extends N{constructor({address:e,cause:t}){super(`Address \"${e}\" is invalid.`,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidAddressError`})}},H_=class extends N{constructor(){super(`Address is not a 20 byte (40 hexadecimal character) value.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidInputError`})}},U_=class extends N{constructor(){super(`Address does not match its checksum counterpart.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Address.InvalidChecksumError`})}};let W_=/^(.*)\\[([0-9]*)\\]$/,G_=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,K_=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;2n**(8n-1n)-1n,2n**(16n-1n)-1n,2n**(24n-1n)-1n,2n**(32n-1n)-1n,2n**(40n-1n)-1n,2n**(48n-1n)-1n,2n**(56n-1n)-1n,2n**(64n-1n)-1n,2n**(72n-1n)-1n,2n**(80n-1n)-1n,2n**(88n-1n)-1n,2n**(96n-1n)-1n,2n**(104n-1n)-1n,2n**(112n-1n)-1n,2n**(120n-1n)-1n,2n**(128n-1n)-1n,2n**(136n-1n)-1n,2n**(144n-1n)-1n,2n**(152n-1n)-1n,2n**(160n-1n)-1n,2n**(168n-1n)-1n,2n**(176n-1n)-1n,2n**(184n-1n)-1n,2n**(192n-1n)-1n,2n**(200n-1n)-1n,2n**(208n-1n)-1n,2n**(216n-1n)-1n,2n**(224n-1n)-1n,2n**(232n-1n)-1n,2n**(240n-1n)-1n,2n**(248n-1n)-1n,2n**(256n-1n)-1n,-(2n**(8n-1n)),-(2n**(16n-1n)),-(2n**(24n-1n)),-(2n**(32n-1n)),-(2n**(40n-1n)),-(2n**(48n-1n)),-(2n**(56n-1n)),-(2n**(64n-1n)),-(2n**(72n-1n)),-(2n**(80n-1n)),-(2n**(88n-1n)),-(2n**(96n-1n)),-(2n**(104n-1n)),-(2n**(112n-1n)),-(2n**(120n-1n)),-(2n**(128n-1n)),-(2n**(136n-1n)),-(2n**(144n-1n)),-(2n**(152n-1n)),-(2n**(160n-1n)),-(2n**(168n-1n)),-(2n**(176n-1n)),-(2n**(184n-1n)),-(2n**(192n-1n)),-(2n**(200n-1n)),-(2n**(208n-1n)),-(2n**(216n-1n)),-(2n**(224n-1n)),-(2n**(232n-1n)),-(2n**(240n-1n)),-(2n**(248n-1n)),-(2n**(256n-1n));let q_=2n**256n-1n;dp(),yf(),z();function J_(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=fv(t.type);if(a){let[n,o]=a;return X_(e,{...t,type:o},{checksumAddress:r,length:n,staticPosition:i})}if(t.type===`tuple`)return ev(e,t,{checksumAddress:r,staticPosition:i});if(t.type===`address`)return Y_(e,{checksum:r});if(t.type===`bool`)return Z_(e);if(t.type.startsWith(`bytes`))return Q_(e,t,{staticPosition:i});if(t.type.startsWith(`uint`)||t.type.startsWith(`int`))return $_(e,t);if(t.type===`string`)return tv(e,{staticPosition:i});throw new kv(t.type)}function Y_(e,t={}){let{checksum:n=!1}=t;return[(e=>n?I_(e):e)(hp(Xf(e.readBytes(32),-20))),32]}function X_(e,t,n){let{checksumAddress:r,length:i,staticPosition:a}=n;if(i===null){let n=a+$f(e.readBytes(32)),i=n+32;e.setPosition(n);let o=$f(e.readBytes(32)),s=pv(t),c=0,l=[];for(let n=0;n<o;++n){e.setPosition(i+(s?n*32:c));let[a,o]=J_(e,t,{checksumAddress:r,staticPosition:i});c+=o,l.push(a),o===0&&(e.assertReadLimit(),e._touch())}return e.setPosition(a+32),[l,32]}if(pv(t)){let n=a+$f(e.readBytes(32)),o=[];for(let a=0;a<i;++a){e.setPosition(n+a*32);let[i]=J_(e,t,{checksumAddress:r,staticPosition:n});o.push(i)}return e.setPosition(a+32),[o,32]}let o=0,s=[];for(let n=0;n<i;++n){let[n,i]=J_(e,t,{checksumAddress:r,staticPosition:a+o});o+=i,s.push(n),i===0&&(e.assertReadLimit(),e._touch())}return[s,o]}function Z_(e){return[Qf(e.readBytes(32),{size:32}),32]}function Q_(e,t,{staticPosition:n}){let[r,i]=t.type.split(`bytes`);if(!i){let t=$f(e.readBytes(32));e.setPosition(n+t);let r=$f(e.readBytes(32));if(r===0)return e.setPosition(n+32),[`0x`,32];let i=e.readBytes(r);return e.setPosition(n+32),[hp(i),32]}return[hp(e.readBytes(Number.parseInt(i,10),32)),32]}function $_(e,t){let n=t.type.startsWith(`int`),r=Number.parseInt(t.type.split(`int`)[1]||`256`,10),i=e.readBytes(32);return[r>48?Zf(i,{signed:n}):$f(i,{signed:n}),32]}function ev(e,t,n){let{checksumAddress:r,staticPosition:i}=n,a=t.components.length===0||t.components.some(({name:e})=>!e),o=a?[]:{},s=0;if(pv(t)){let n=i+$f(e.readBytes(32));for(let i=0;i<t.components.length;++i){let c=t.components[i];e.setPosition(n+s);let[l,u]=J_(e,c,{checksumAddress:r,staticPosition:n});s+=u,o[a?i:c?.name]=l}return e.setPosition(i+32),[o,32]}for(let n=0;n<t.components.length;++n){let c=t.components[n],[l,u]=J_(e,c,{checksumAddress:r,staticPosition:i});o[a?n:c?.name]=l,s+=u}return[o,s]}function tv(e,{staticPosition:t}){let n=t+$f(e.readBytes(32));e.setPosition(n);let r=$f(e.readBytes(32));if(r===0)return e.setPosition(t+32),[``,32];let i=ep(tp(e.readBytes(r,32)));return e.setPosition(t+32),[i,32]}function nv({checksumAddress:e,parameters:t,values:n}){let r=[];for(let i=0;i<t.length;i++)r.push(rv({checksumAddress:e,parameter:t[i],value:n[i]}));return r}function rv({checksumAddress:e=!1,parameter:t,value:n}){let r=t,i=fv(r.type);if(i){let[t,a]=i;return ov(n,{checksumAddress:e,length:t,parameter:{...r,type:a}})}if(r.type===`tuple`)return dv(n,{checksumAddress:e,parameter:r});if(r.type===`address`)return av(n,{checksum:e});if(r.type===`bool`)return cv(n);if(r.type.startsWith(`uint`)||r.type.startsWith(`int`)){let e=r.type.startsWith(`int`),[,,t=`256`]=K_.exec(r.type)??[];return lv(n,{signed:e,size:Number(t)})}if(r.type.startsWith(`bytes`))return sv(n,{type:r.type});if(r.type===`string`)return uv(n);throw new kv(r.type)}function iv(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:r,encoded:i}=e[n];t+=r?32:L(i)}let n=[],r=[],i=0;for(let a=0;a<e.length;a++){let{dynamic:o,encoded:s}=e[a];o?(n.push(F(t+i,{size:32})),r.push(s),i+=L(s)):n.push(s)}return P(...n,...r)}function av(e,t){let{checksum:n=!1}=t;return F_(e,{strict:n}),{dynamic:!1,encoded:vp(e.toLowerCase())}}function ov(e,t){let{checksumAddress:n,length:r,parameter:i}=t,a=r===null;if(!Array.isArray(e))throw new Ov(e);if(!a&&e.length!==r)throw new Tv({expectedLength:r,givenLength:e.length,type:`${i.type}[${r}]`});let o=e.length===0&&pv(i),s=[];for(let t=0;t<e.length;t++){let r=rv({checksumAddress:n,parameter:i,value:e[t]});r.dynamic&&(o=!0),s.push(r)}if(a||o){let e=iv(s);if(a){let t=F(s.length,{size:32});return{dynamic:!0,encoded:s.length>0?P(t,e):t}}if(o)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:P(...s.map(({encoded:e})=>e))}}function sv(e,{type:t}){let[,n]=t.split(`bytes`),r=L(e);if(!n){let t=e;return r%32!=0&&(t=yp(t,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:P(vp(F(r,{size:32})),t)}}if(r!==Number.parseInt(n,10))throw new Ev({expectedSize:Number.parseInt(n,10),value:e});return{dynamic:!1,encoded:yp(e)}}function cv(e){if(typeof e!=`boolean`)throw new N(`Invalid boolean value: \"${e}\" (type: ${typeof e}). Expected: \\`true\\` or \\`false\\`.`);return{dynamic:!1,encoded:vp(mp(e))}}function lv(e,{signed:t,size:n}){if(typeof n==`number`){let r=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-r-1n:0n;if(e>r||e<i)throw new Op({max:r.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:F(e,{size:32,signed:t})}}function uv(e){let t=gp(e),n=Math.ceil(L(t)/32),r=[];for(let e=0;e<n;e++)r.push(yp(I(t,e*32,(e+1)*32)));return{dynamic:!0,encoded:P(yp(F(L(t),{size:32})),...r)}}function dv(e,t){let{checksumAddress:n,parameter:r}=t,i=!1,a=[];for(let t=0;t<r.components.length;t++){let o=r.components[t],s=rv({checksumAddress:n,parameter:o,value:e[Array.isArray(e)?t:o.name]});a.push(s),s.dynamic&&(i=!0)}return{dynamic:i,encoded:i?iv(a):P(...a.map(({encoded:e})=>e))}}function fv(e){let t=e.match(/^(.*)\\[(\\d+)?\\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function pv(e){let{type:t}=e;if(t===`string`||t===`bytes`||t.endsWith(`[]`))return!0;if(t===`tuple`)return e.components?.some(pv);let n=fv(e.type);return!!(n&&pv({...e,type:n[1]}))}yf();let mv={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:1/0,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new vv({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new _v({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new gv({offset:e});let t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new gv({offset:e});let t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){let n=t??this.position;return this.assertPosition(n+e-1),this.bytes.subarray(n,n+e)},inspectUint8(e){let t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){let t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){let t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){let t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();let e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();let n=this.inspectBytes(e);return this.position+=t??e,n},readUint8(){this.assertReadLimit(),this._touch();let e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();let e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();let e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();let e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){let t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===1/0)return;let e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function hv(e,{recursiveReadLimit:t=8192}={}){let n=Object.create(mv);return n.bytes=e,n.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),n.positionReadCount=new Map,n.recursiveReadLimit=t,n}var gv=class extends N{constructor({offset:e}){super(`Offset \\`${e}\\` cannot be negative.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.NegativeOffsetError`})}},_v=class extends N{constructor({length:e,position:t}){super(`Position \\`${t}\\` is out of bounds (\\`0 < position < ${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.PositionOutOfBoundsError`})}},vv=class extends N{constructor({count:e,limit:t}){super(`Recursive read limit of \\`${t}\\` exceeded (recursive read count: \\`${e}\\`).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cursor.RecursiveReadLimitExceededError`})}};dp(),yf(),z();function yv(e,t,n={}){let{as:r=`Array`,checksumAddress:i=!1}=n,a=typeof t==`string`?Uf(t):t,o=hv(a);if(Yf(a)===0&&e.length>0)throw new wv;if(Yf(a)&&Yf(a)<32)throw new Cv({data:typeof t==`string`?t:hp(t),parameters:e,size:Yf(a)});let s=0,c=r===`Array`?[]:{};for(let t=0;t<e.length;++t){let n=e[t];s<a.length&&o.setPosition(s);let[l,u]=J_(o,n,{checksumAddress:i,staticPosition:0});s+=u,r===`Array`?c.push(l):c[n.name??t]=l}return c}function bv(e,t,n){let{checksumAddress:r=!1}=n??{};if(e.length!==t.length)throw new Dv({expectedLength:e.length,givenLength:t.length});let i=iv(nv({checksumAddress:r,parameters:e,values:t}));return i.length===0?`0x`:i}function xv(e,t){if(e.length!==t.length)throw new Dv({expectedLength:e.length,givenLength:t.length});let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r];n.push(xv.encode(i,a))}return P(...n)}(function(e){function t(e,n,r=!1){if(e===`address`){let e=n;return F_(e),vp(e.toLowerCase(),r?32:0)}if(e===`string`)return gp(n);if(e===`bytes`)return n;if(e===`bool`)return vp(mp(n),r?32:1);let i=e.match(K_);if(i){let[e,t,a=`256`]=i,o=Number.parseInt(a,10)/8;return F(n,{size:r?32:o,signed:t===`int`})}let a=e.match(G_);if(a){let[e,t]=a;if(Number.parseInt(t,10)!==(n.length-2)/2)throw new Ev({expectedSize:Number.parseInt(t,10),value:n});return yp(n,r?32:0)}let o=e.match(W_);if(o&&Array.isArray(n)){let[e,r]=o,i=[];for(let e=0;e<n.length;e++)i.push(t(r,n[e],!0));return i.length===0?`0x`:P(...i)}throw new kv(e)}e.encode=t})(xv||={});function Sv(e){return Array.isArray(e)&&typeof e[0]==`string`||typeof e==`string`?__(e):e}var Cv=class extends N{constructor({data:e,parameters:t,size:n}){super(`Data size of ${n} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Rg(t)})`,`Data: ${e} (${n} bytes)`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.DataSizeTooSmallError`})}},wv=class extends N{constructor(){super(`Cannot decode zero data (\"0x\") with ABI parameters.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ZeroDataError`})}},Tv=class extends N{constructor({expectedLength:e,givenLength:t,type:n}){super(`Array length mismatch for type \\`${n}\\`. Expected: \\`${e}\\`. Given: \\`${t}\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.ArrayLengthMismatchError`})}},Ev=class extends N{constructor({expectedSize:e,value:t}){super(`Size of bytes \"${t}\" (bytes${L(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.BytesSizeMismatchError`})}},Dv=class extends N{constructor({expectedLength:e,givenLength:t}){super([`ABI encoding parameters/values length mismatch.`,`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.LengthMismatchError`})}},Ov=class extends N{constructor(e){super(`Value \\`${e}\\` is not a valid array.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidArrayError`})}},kv=class extends N{constructor(e){super(`Type \\`${e}\\` is not a valid ABI Type.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiParameters.InvalidTypeError`})}};dp(),yf(),z();function Av(e){return jv(e,`Hex`)}function jv(e,t){let n=t??(typeof e==`string`?`Hex`:`Bytes`);return Mv(hv((()=>{if(typeof e==`string`){if(e.length>3&&e.length%2!=0)throw new jp(e);return Uf(e)}return e})(),{recursiveReadLimit:1/0}),n)}function Mv(e,t=`Hex`){if(e.bytes.length===0)return t===`Hex`?hp(e.bytes):e.bytes;let n=e.readByte();if(n<128&&e.decrementPosition(1),n<192){let r=Nv(e,n,128),i=e.readBytes(r);return t===`Hex`?hp(i):i}return Pv(e,Nv(e,n,192),t)}function Nv(e,t,n){if(n===128&&t<128)return 1;if(t<=n+55)return t-n;if(t===n+55+1)return e.readUint8();if(t===n+55+2)return e.readUint16();if(t===n+55+3)return e.readUint24();if(t===n+55+4)return e.readUint32();throw new N(`Invalid RLP prefix`)}function Pv(e,t,n){let r=e.position,i=[];for(;e.position-r<t;)i.push(Mv(e,n));return i}function Fv(e,t){let{as:n}=t,r=Lv(e),i=hv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?hp(i.bytes):i.bytes}function Iv(e,t={}){let{as:n=`Hex`}=t;return Fv(e,{as:n})}function Lv(e){return Array.isArray(e)?Rv(e.map(e=>Lv(e))):zv(e)}function Rv(e){let t=e.reduce((e,t)=>e+t.length,0),n=Bv(t);return{length:t<=55?1+t:1+n+t,encode(r){t<=55?r.pushByte(192+t):(r.pushByte(247+n),n===1?r.pushUint8(t):n===2?r.pushUint16(t):n===3?r.pushUint24(t):r.pushUint32(t));for(let{encode:t}of e)t(r)}}}function zv(e){let t=typeof e==`string`?Uf(e):e,n=Bv(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+n+t.length,encode(e){t.length===1&&t[0]<128?e.pushBytes(t):t.length<=55?(e.pushByte(128+t.length),e.pushBytes(t)):(e.pushByte(183+n),n===1?e.pushUint8(t.length):n===2?e.pushUint16(t.length):n===3?e.pushUint24(t.length):e.pushUint32(t.length),e.pushBytes(t))}}}function Bv(e){if(e<=255)return 1;if(e<=65535)return 2;if(e<=16777215)return 3;if(e<=4294967295)return 4;throw new N(`Length is too large.`)}yf(),z(),Rf();function Vv(e,t={}){let{recovered:n}=t;if(e.r===void 0||e.s===void 0||n&&e.yParity===void 0)throw new ty({signature:e});if(e.r<0n||e.r>q_)throw new ny({value:e.r});if(e.s<0n||e.s>q_)throw new ry({value:e.s});if(typeof e.yParity==`number`&&e.yParity!==0&&e.yParity!==1)throw new iy({value:e.yParity})}function Hv(e){return Uv(hp(e))}function Uv(e){if(e.length!==130&&e.length!==132)throw new ey({signature:e});let t=BigInt(I(e,0,32)),n=BigInt(I(e,32,64)),r=(()=>{let t=Number(`0x${e.slice(130)}`);if(!Number.isNaN(t))try{return Qv(t)}catch{throw new iy({value:t})}})();return r===void 0?{r:t,s:n}:{r:t,s:n,yParity:r}}function Wv(e){if(e.r!==void 0&&e.s!==void 0)return Gv(e)}function Gv(e){let t=typeof e==`string`?Uv(e):e instanceof Uint8Array?Hv(e):typeof e.r==`string`?qv(e):e.v?Kv(e):{r:e.r,s:e.s,...e.yParity===void 0?{}:{yParity:e.yParity}};return Vv(t),t}function Kv(e){return{r:e.r,s:e.s,yParity:Qv(e.v)}}function qv(e){let t=(()=>{let t=e.v?Number(e.v):void 0,n=e.yParity?Number(e.yParity):void 0;if(typeof t==`number`&&typeof n!=`number`&&(n=Qv(t)),typeof n!=`number`)throw new iy({value:e.yParity});return n})();return{r:BigInt(e.r),s:BigInt(e.s),yParity:t}}function Jv(e){let[t,n,r]=e;return Gv({r:n===`0x`?0n:BigInt(n),s:r===`0x`?0n:BigInt(r),yParity:t===`0x`?0:Number(t)})}function Yv(e){Vv(e);let t=e.r,n=e.s;return P(F(t,{size:32}),F(n,{size:32}),typeof e.yParity==`number`?F($v(e.yParity),{size:1}):`0x`)}function Xv(e){let{r:t,s:n,yParity:r}=e;return{r:F(t,{size:32}),s:F(n,{size:32}),yParity:r===0?`0x0`:`0x1`}}function Zv(e){let{r:t,s:n,yParity:r}=e;return[r?`0x01`:`0x`,t===0n?`0x`:xp(F(t)),n===0n?`0x`:xp(F(n))]}function Qv(e){if(e===0||e===27)return 0;if(e===1||e===28)return 1;if(e>=35)return+(e%2==0);throw new ay({value:e})}function $v(e){if(e===0)return 27;if(e===1)return 28;throw new iy({value:e})}var ey=class extends N{constructor({signature:e}){super(`Value \\`${e}\\` is an invalid signature size.`,{metaMessages:[`Expected: 64 bytes or 65 bytes.`,`Received ${L(pp(e))} bytes.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSerializedSizeError`})}},ty=class extends N{constructor({signature:e}){super(`Signature \\`${If(e)}\\` is missing either an \\`r\\`, \\`s\\`, or \\`yParity\\` property.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.MissingPropertiesError`})}},ny=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidRError`})}},ry=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidSError`})}},iy=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidYParityError`})}},ay=class extends N{constructor({value:e}){super(`Value \\`${e}\\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Signature.InvalidVError`})}};z();function oy(e,t={}){return typeof e.chainId==`string`?sy(e):{...e,...t.signature}}function sy(e){let{address:t,chainId:n,nonce:r}=e,i=Wv(e);return{address:t,chainId:Number(n),nonce:BigInt(r),...i}}function cy(e){return e.map(sy)}function ly(e){let{address:t,chainId:n,nonce:r,...i}=e;return{address:t,chainId:F(n),nonce:F(r),...Xv(i)}}function uy(e){return e.map(ly)}Du(),dp(),yf(),z();function dy(e){let{privateKey:t}=e;return w_(fu.ProjectivePoint.fromPrivateKey(pp(t).slice(2)))}function fy(e){return R_(py(e))}function py(e){let{payload:t,signature:n}=e,{r,s:i,yParity:a}=n;return w_(new fu.Signature(BigInt(r),BigInt(i)).addRecoveryBit(a).recoverPublicKey(pp(t).substring(2)))}function my(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=fu.sign(Vf(r),Vf(i),{extraEntropy:typeof t==`boolean`?t:pp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function hy(e){let{hash:t,payload:n}=e;return e.address?z_(e.address,fy({payload:n,signature:e.signature})):fu.verify(e.signature,Vf(n),D_(e.publicKey),...t?[{prehash:!0,lowS:!0}]:[])}Wf(`ox.secp256k1.fromSeed.v1`),yf(),z();let gy=Sv(`(uint256 chainId, address delegation, uint256 nonce, uint8 yParity, uint256 r, uint256 s), address to, bytes data`);function _y(e){if(typeof e==`string`){if(I(e,-32)!==`0x8010801080108010801080108010801080108010801080108010801080108010`)throw new by(e)}else Vv(e.authorization)}function vy(e){_y(e);let t=Cp(I(e,-64,-32)),n=I(e,-t-64,-64),r=I(e,0,-t-64),[i,a,o]=yv(gy,n);return{authorization:oy({address:i.delegation,chainId:Number(i.chainId),nonce:i.nonce,yParity:i.yParity,r:i.r,s:i.s}),signature:r,...o&&o!==`0x`?{data:o,to:a}:{}}}function yy(e){try{return _y(e),!0}catch{return!1}}var by=class extends N{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-8010 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc8010.InvalidWrappedSignatureError`})}};Po(),Gi(),Rn();function xy(e){let t=Wi(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 Eo({serializedType:t})}Ti(),Po(),Fi(),Lt(),Sn(),Nn(),Rn();function Sy(e){let t=xy(e);return t===`eip1559`?Ty(e):t===`eip2930`?Ey(e):t===`eip4844`?wy(e):t===`eip7702`?Cy(e):Dy(e)}function Cy(e){let t=Oy(e),[n,r,i,a,o,s,c,l,u,d,f,p,m]=t;if(t.length!==10&&t.length!==13)throw new Do({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 O(s)&&s!==`0x`&&(h.to=s),O(o)&&o!==`0x`&&(h.gas=Fn(o)),O(l)&&l!==`0x`&&(h.data=l),O(r)&&(h.nonce=r===`0x`?0:Ln(r)),O(c)&&c!==`0x`&&(h.value=Fn(c)),O(a)&&a!==`0x`&&(h.maxFeePerGas=Fn(a)),O(i)&&i!==`0x`&&(h.maxPriorityFeePerGas=Fn(i)),u.length!==0&&u!==`0x`&&(h.accessList=ky(u)),d.length!==0&&d!==`0x`&&(h.authorizationList=Ay(d)),Nh(h),{...t.length===13?jy(t):void 0,...h}}function wy(e){let t=Oy(e),n=t.length===4,r=n?t[0]:t,i=n?t.slice(1):[],[a,o,s,c,l,u,d,f,p,m,h,g,_,v]=r,[y,b,x]=i;if(r.length!==11&&r.length!==14)throw new Do({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 O(l)&&l!==`0x`&&(S.gas=Fn(l)),O(f)&&f!==`0x`&&(S.data=f),O(o)&&(S.nonce=o===`0x`?0:Ln(o)),O(d)&&d!==`0x`&&(S.value=Fn(d)),O(m)&&m!==`0x`&&(S.maxFeePerBlobGas=Fn(m)),O(c)&&c!==`0x`&&(S.maxFeePerGas=Fn(c)),O(s)&&s!==`0x`&&(S.maxPriorityFeePerGas=Fn(s)),p.length!==0&&p!==`0x`&&(S.accessList=ky(p)),y&&b&&x&&(S.sidecars=Gd({blobs:y,commitments:b,proofs:x})),Ph(S),{...r.length===14?jy(r):void 0,...S}}function Ty(e){let t=Oy(e),[n,r,i,a,o,s,c,l,u,d,f,p]=t;if(t.length!==9&&t.length!==12)throw new Do({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 O(s)&&s!==`0x`&&(m.to=s),O(o)&&o!==`0x`&&(m.gas=Fn(o)),O(l)&&l!==`0x`&&(m.data=l),O(r)&&(m.nonce=r===`0x`?0:Ln(r)),O(c)&&c!==`0x`&&(m.value=Fn(c)),O(a)&&a!==`0x`&&(m.maxFeePerGas=Fn(a)),O(i)&&i!==`0x`&&(m.maxPriorityFeePerGas=Fn(i)),u.length!==0&&u!==`0x`&&(m.accessList=ky(u)),Fh(m),{...t.length===12?jy(t):void 0,...m}}function Ey(e){let t=Oy(e),[n,r,i,a,o,s,c,l,u,d,f]=t;if(t.length!==8&&t.length!==11)throw new Do({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 O(o)&&o!==`0x`&&(p.to=o),O(a)&&a!==`0x`&&(p.gas=Fn(a)),O(c)&&c!==`0x`&&(p.data=c),O(r)&&(p.nonce=r===`0x`?0:Ln(r)),O(s)&&s!==`0x`&&(p.value=Fn(s)),O(i)&&i!==`0x`&&(p.gasPrice=Fn(i)),l.length!==0&&l!==`0x`&&(p.accessList=ky(l)),Ih(p),{...t.length===11?jy(t):void 0,...p}}function Dy(e){let t=ng(e,`hex`),[n,r,i,a,o,s,c,l,u]=t;if(t.length!==6&&t.length!==9)throw new Do({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(O(a)&&a!==`0x`&&(d.to=a),O(i)&&i!==`0x`&&(d.gas=Fn(i)),O(s)&&s!==`0x`&&(d.data=s),O(n)&&(d.nonce=n===`0x`?0:Ln(n)),O(o)&&o!==`0x`&&(d.value=Fn(o)),O(r)&&r!==`0x`&&(d.gasPrice=Fn(r)),Lh(d),t.length===6)return d;let f=O(c)&&c!==`0x`?Fn(c):0n;if(u===`0x`&&l===`0x`)return f>0&&(d.chainId=Number(f)),d;let p=f,m=Number((p-35n)/2n);if(m>0)d.chainId=m;else if(p!==27n&&p!==28n)throw new Co({v:p});return d.v=p,d.s=u,d.r=l,d.yParity=+(p%2n==0n),d}function Oy(e){return ng(`0x${e.slice(4)}`,`hex`)}function ky(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];if(!Mi(r,{strict:!1}))throw new wi({address:r});t.push({address:r,storageKeys:i.map(e=>og(e)?e:Mn(e))})}return t}function Ay(e){let t=[];for(let n=0;n<e.length;n++){let[r,i,a,o,s,c]=e[n];t.push({address:i,chainId:r===`0x`?0:Ln(r),nonce:a===`0x`?0:Ln(a),...jy([o,s,c])})}return t}function jy(e){let t=e.slice(-3),n=t[0]===`0x`?0n:Fn(t[0]);if(n!==0n&&n!==1n)throw new wo({yParity:n});let r=n===0n?27n:28n;return{r:bn(t[1],{size:32}),s:bn(t[2],{size:32}),v:r,yParity:r===27n?0:1}}uo();function My(e,t){return no(e,t)}uo();function Ny(e,t){return ao(e,t)}Po(),Gn();async function Py(e,{blockHash:t,blockNumber:n,blockTag:r,hash:i,index:a,sender:o,nonce:s}){let c=r||`latest`,l=n===void 0?void 0: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 Ao({blockHash:t,blockNumber:n,blockTag:c,hash:i,index:a});return(e.chain?.formatters?.transaction?.format||Cd)(u,`getTransaction`)}Po();async function Fy(e,{hash:t}){let n=await e.request({method:`eth_getTransactionReceipt`,params:[t]},{dedupe:!0});if(!n)throw new jo({hash:t});return(e.chain?.formatters?.transactionReceipt?.format||yh)(n,`getTransactionReceipt`)}Gp(),Zp(),mn(),A(),Ko(),pf(),ba(),cm(),hm(),$a();async function Iy(e,t){let{account:n,authorizationList:r,allowFailure:i=!0,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,requireCanonical:l,stateOverride:u}=t,d=t.contracts,f=typeof e.batch?.multicall==`object`?e.batch.multicall:{},p=t.batchSize??f.batchSize??1024,m=t.deployless??f.deployless??!1,h=(()=>{if(t.multicallAddress)return t.multicallAddress;if(m)return null;if(e.chain)return sm({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=ya({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=ks(e,{abi:t,address:r,args:a,docsPath:`/docs/contract/multicall`,functionName:o,sender:n});if(!i)throw s;g[_]=[...g[_],{allowFailure:!0,callData:`0x`,target:r}]}}let y=!!e.batch?.multicall,b=y?g.flatMap(e=>e.map(e=>[e])):g,x=await Promise.allSettled(b.map(t=>y?Ly(e,{account:n,authorizationList:r,batchSize:p,blockHash:a,blockNumber:o,blockOverrides:s,blockTag:c,call:t[0],multicallAddress:h,requireCanonical:l,stateOverride:u}).then(e=>[e]):D(e,Ym,`readContract`)({...h===null?{code:Xp}:{address:h},abi:zp,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 qt;if(!a)throw new Go({data:r});let e=df({abi:s,args:u,data:r,functionName:l});S.push(i?{result:e,status:`success`}:e)}catch(e){let t=ks(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 k(`multicall results mismatch`);return S}async function Ly(e,t){let{batchSize:n,call:r,multicallAddress:i,...a}=t,{wait:o=0}=typeof e.batch?.multicall==`object`?e.batch.multicall:{},{schedule:s}=pm({id:Qa([`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=>D(e,Ym,`readContract`)({...i===null?{code:Xp}:{address:i},...a,abi:zp,args:[t],functionName:`aggregate3`})}),[c]=await s(r);return c}yf();function Ry(e){let t=!0,n=``,r=0,i=``,a=!1;for(let o=0;o<e.length;o++){let s=e[o];if([`(`,`)`,`,`].includes(s)&&(t=!0),s===`(`&&r++,s===`)`&&r--,t){if(r===0){if(s===` `&&[`event`,`function`,`error`,``].includes(i))i=``;else if(i+=s,s===`)`){a=!0;break}continue}if(s===` `){e[o-1]!==`,`&&n!==`,`&&n!==`,(`&&(n=``,t=!1);continue}i+=s,n+=s}}if(!a)throw new N(`Unable to normalize signature.`);return i}function zy(e,t){let n=typeof e,r=t.type;switch(r){case`address`:return B_(e,{strict:!1});case`bool`:return n===`boolean`;case`function`:return n===`string`;case`string`:return n===`string`;default:return r===`tuple`&&`components`in t?Object.values(t.components).every((t,n)=>zy(Object.values(e)[n],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?n===`number`||n===`bigint`:/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?n===`string`||e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(r)?Array.isArray(e)&&e.every(e=>zy(e,{...t,type:r.replace(/(\\[[0-9]{0,}\\])$/,``)})):!1}}function By(e,t,n){for(let r in e){let i=e[r],a=t[r];if(i.type===`tuple`&&a.type===`tuple`&&`components`in i&&`components`in a)return By(i.components,a.components,n[r]);let o=[i.type,a.type];if(o.includes(`address`)&&o.includes(`bytes20`)||(o.includes(`address`)&&o.includes(`string`)||o.includes(`address`)&&o.includes(`bytes`))&&B_(n[r],{strict:!1}))return o}}yf(),z();function Vy(e,t,n){let{args:r=[],prepare:i=!0}=n??{},a=Tp(t,{strict:!1}),o=e.filter(e=>a?e.type===`function`||e.type===`error`?Hy(e)===I(t,0,4):e.type===`event`&&Wy(e)===t:`name`in e&&e.name===t);if(o.length===0)throw new Ky({name:t});if(o.length===1)return{...o[0],...i?{hash:Wy(o[0])}:{}};let s;for(let e of o)if(`inputs`in e){if(!r||r.length===0){if(!e.inputs||e.inputs.length===0)return{...e,...i?{hash:Wy(e)}:{}};continue}if(e.inputs&&e.inputs.length!==0&&e.inputs.length===r.length&&r.every((t,n)=>{let r=`inputs`in e&&e.inputs[n];return r?zy(t,r):!1})){if(s&&`inputs`in s&&s.inputs){let t=By(e.inputs,s.inputs,r);if(t)throw new Gy({abiItem:e,type:t[0]},{abiItem:s,type:t[1]})}s=e}}let c=(()=>{if(s)return s;let[e,...t]=o;return{...e,overloads:t}})();if(!c)throw new Ky({name:t});return{...c,...i?{hash:Wy(c)}:{}}}function Hy(...e){return I(Wy((()=>{if(Array.isArray(e[0])){let[t,n]=e;return Vy(t,n)}return e[0]})()),0,4)}function Uy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Vy(t,n)}return e[0]})();return Ry(typeof t==`string`?t:zg(t))}function Wy(...e){let t=(()=>{if(Array.isArray(e[0])){let[t,n]=e;return Vy(t,n)}return e[0]})();return typeof t!=`string`&&`hash`in t&&t.hash?t.hash:y_(gp(Uy(t)))}var Gy=class extends N{constructor(e,t){super(`Found ambiguous types in overloaded ABI Items.`,{metaMessages:[`\\`${e.type}\\` in \\`${Ry(zg(e.abiItem))}\\`, and`,`\\`${t.type}\\` in \\`${Ry(zg(t.abiItem))}\\``,``,`These types encode differently and cannot be distinguished at runtime.`,`Remove one of the ambiguous items in the ABI.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.AmbiguityError`})}},Ky=class extends N{constructor({name:e,data:t,type:n=`item`}){let r=e?` with name \"${e}\"`:t?` with data \"${t}\"`:``;super(`ABI ${n}${r} not found.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AbiItem.NotFoundError`})}};function qy(e){return Hy(e)}yf(),z();function Jy(e){if(I(e,-32)!==`0x6492649264926492649264926492649264926492649264926492649264926492`)throw new Zy(e)}function Yy(e){let{data:t,signature:n,to:r}=e;return P(bv(Sv(`address, bytes, bytes`),[r,t,n]),`0x6492649264926492649264926492649264926492649264926492649264926492`)}function Xy(e){try{return Jy(e),!0}catch{return!1}}var Zy=class extends N{constructor(e){super(`Value \\`${e}\\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureErc6492.InvalidWrappedSignatureError`})}};Du(),Rn(),er();function Qy({r:e,s:t,to:n=`hex`,v:r,yParity:i}){let a=(()=>{if(i===0||i===1)return i;if(r&&(r===27n||r===28n||r>=35n))return+(r%2n==0n);throw Error(\"Invalid `v` or `yParity` value\")})(),o=`0x${new fu.Signature(Fn(e),Fn(t)).toCompactHex()}${a===0?`1b`:`1c`}`;return n===`hex`?o:Yn(o)}Gp(),Zp(),Ko(),om(),ba(),ji(),rf(),zi(),Lt(),Rn(),Gn(),Jm();async function $y(e,t){let{address:n,chain:r=e.chain,hash:i,erc6492VerifierAddress:a=t.universalSignatureVerifierAddress??r?.contracts?.erc6492Verifier?.address,multicallAddress:o=t.multicallAddress??r?.contracts?.multicall3?.address,mode:s=`auto`}=t;if(r?.verifyHash)return await r.verifyHash(e,t);let c=(()=>{let e=t.signature;return O(e)?e:typeof e==`object`&&`r`in e&&`s`in e?Qy(e):Vn(e)})();try{if(s===`eoa`)try{if(nf(ki(n),await Au({hash:i,signature:c})))return!0}catch{}return yy(c)?await eb(e,{...t,multicallAddress:o,signature:c}):await tb(e,{...t,verifierAddress:a,signature:c})}catch(e){if(s!==`eoa`)try{if(nf(ki(n),await Au({hash:i,signature:c})))return!0}catch{}if(e instanceof rb)return!1;throw e}}async function eb(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,multicallAddress:s,requireCanonical:c}=t,{authorization:l,data:u,signature:d,to:f}=vy(t.signature);if(await Mh(e,{address:n,blockHash:r,blockNumber:i,blockTag:a,requireCanonical:c})===Ri([`0xef0100`,l.address]))return await nb(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 qh({address:n,authorization:p}))throw new rb;let m=await D(e,Ym,`readContract`)({...s?{address:s}:{code:Xp},authorizationList:[p],abi:zp,blockHash:r,blockNumber:i,blockTag:`pending`,functionName:`aggregate3`,requireCanonical:c,args:[[...u?[{allowFailure:!0,target:f??n,callData:u}]:[],{allowFailure:!0,target:n,callData:ya({abi:Hp,functionName:`isValidSignature`,args:[o,d]})}]]});if((m[m.length-1]?.returnData)?.startsWith(`0x1626ba7e`))return!0;throw new rb}async function tb(e,t){let{address:n,factory:r,factoryData:i,hash:a,signature:o,verifierAddress:s,...c}=t,l=await(async()=>!r&&!i||Xy(o)?o:Yy({data:i,signature:o,to:r}))(),u=s?{to:s,data:ya({abi:Up,functionName:`isValidSig`,args:[n,a,l]}),...c}:{data:im({abi:Up,args:[n,a,l],bytecode:Yp}),...c},{data:d}=await D(e,Lm,`call`)(u).catch(e=>{throw e instanceof Bo?new rb:e});if(In(d??`0x0`))return!0;throw new rb}async function nb(e,t){let{address:n,blockHash:r,blockNumber:i,blockTag:a,hash:o,requireCanonical:s,signature:c}=t;if((await D(e,Ym,`readContract`)({address:n,abi:Hp,args:[o,c],blockHash:r,blockNumber:i,blockTag:a,functionName:`isValidSignature`,requireCanonical:s}).catch(e=>{throw e instanceof Vo?new rb:e})).startsWith(`0x1626ba7e`))return!0;throw new rb}var rb=class extends Error{};Rn(),$a();function ib(e,{emitOnBegin:t=!1,emitMissed:n=!1,onBlockNumber:r,onError:i,poll:a,pollingInterval:o=e.pollingInterval}){let s=a===void 0?e.transport.type!==`webSocket`&&e.transport.type!==`ipc`&&(e.transport.type!==`fallback`||e.transport.transports[0].config.type!==`webSocket`&&e.transport.transports[0].config.type!==`ipc`):a,c;return s?eh(Qa([`watchBlockNumber`,e.uid,t,n,o]),{onBlockNumber:r,onError:i},r=>nh(async()=>{try{let t=await D(e,ch,`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})):eh(Qa([`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=Fn(e.result?.number);t.onBlockNumber(r,c),c=r},onError(e){t.onError?.(e)}});r=i,n||r()}catch(e){i?.(e)}})(),()=>r()})}Po(),fm(),$a();async function ab(e,t){let{checkReplacement:n=e.chain?.supportsTransactionReplacementDetection??!0,confirmations:r=1,hash:i,onReplaced:a,retryCount:o=6,retryDelay:s=({count:e})=>~~(1<<e)*200,timeout:c=18e4}=t,l=t.pollingInterval?t.pollingInterval:e.chain?.experimental_preconfirmationTime?e.chain.experimental_preconfirmationTime:e.pollingInterval,u=Qa([`waitForTransactionReceipt`,e.uid,i,{checkReplacement:n,confirmations:r,pollingInterval:l,retryCount:o,timeout:c}]),d,f,p,m=!1,h,g,{promise:_,resolve:v,reject:y}=dm(),b=c?setTimeout(()=>{g?.(),h?.(),y(new No({hash:i}))},c):void 0;return h=eh(u,{onReplaced:a,resolve:v,reject:y},async t=>{if(p=await D(e,Fy,`getTransactionReceipt`)({hash:i}).catch(()=>void 0),p&&r<=1){clearTimeout(b),t.resolve(p),h?.();return}g=D(e,ib,`watchBlockNumber`)({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:l,async onBlockNumber(a){let c=e=>{clearTimeout(b),g?.(),e(),h?.()},l=a;if(!m)try{if(p){if(r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p));return}if(n&&!d&&(m=!0,await _h(async()=>{d=await D(e,Py,`getTransaction`)({hash:i}),d.blockNumber&&(l=d.blockNumber)},{delay:s,retryCount:o}),m=!1),p=await D(e,Fy,`getTransactionReceipt`)({hash:i}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r))return;c(()=>t.resolve(p))}catch(n){if(n instanceof Ao||n instanceof jo){if(!d){m=!1;return}try{f=d,m=!0;let n=await _h(()=>D(e,Dd,`getBlock`)({blockNumber:l,includeTransactions:!0}),{delay:s,retryCount:o,shouldRetry:({error:e})=>e instanceof xd});m=!1;let i=n.transactions.find(({from:e,nonce:t})=>e===f.from&&t===f.nonce);if(!i||(p=await D(e,Fy,`getTransactionReceipt`)({hash:i.hash}),r>1&&(!p.blockNumber||l-p.blockNumber+1n<r)))return;let a=`replaced`;i.to===f.to&&i.value===f.value&&i.input===f.input?a=`repriced`:i.from===i.to&&i.value===0n&&(a=`cancelled`),c(()=>{t.onReplaced?.({reason:a,replacedTransaction:f,transaction:i,transactionReceipt:p}),t.resolve(p)})}catch(e){c(()=>t.reject(e))}}else c(()=>t.reject(n))}}})}),_}let ob=/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})$/;function sb(e){return ob.test(e)?!Number.isNaN(new Date(e).getTime()):!1}function cb(e){return sb(e)?new Date(e):new Date(NaN)}function lb(e){let{scheme:t,statement:n,...r}=e.match(ub)?.groups??{},{chainId:i,expirationTime:a,issuedAt:o,notBefore:s,requestId:c,resources:l,...u}=e.match(db)?.groups??{},d=l?.split(`\n- `).slice(1);return{...r,...u,...i?{chainId:Number(i)}:{},...a?{expirationTime:cb(a)}:{},...o?{issuedAt:cb(o)}:{},...s?{notBefore:cb(s)}:{},...c?{requestId:c}:{},...d?{resources:d}:{},...t?{scheme:t}:{},...n?{statement:n}:{}}}let ub=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+\\-.]*):\\/\\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\\n)(?<address>0x[a-fA-F0-9]{40})\\n\\n(?:(?<statement>.*)\\n\\n)?/,db=/(?:URI: (?<uri>.+))\\n(?:Version: (?<version>.+))\\n(?:Chain ID: (?<chainId>\\d+))\\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\\n(?:Issued At: (?<issuedAt>.+))(?:\\nExpiration Time: (?<expirationTime>.+))?(?:\\nNot Before: (?<notBefore>.+))?(?:\\nRequest ID: (?<requestId>.*))?(?:\\nResources:(?<resources>(?:\\n- .+)*))?/;Fi(),rf(),ba();function fb(e,t){return{amount:e,decimals:t,formatted:My(e,t)}}function pb(e,t){if(typeof e==`bigint`)return e;let n=e.decimals??t;return Ny(e.formatted,mb(n))}function mb(e){if(e===void 0)throw Error(\"Token decimals are required. Pass `amount.decimals` or select a declared token.\");return e}function hb(e,t){return typeof e==`bigint`?t:e.decimals??t}function gb(e,t){let{decimals:n,token:r}=t,i=_b(e,r);if(i)return{address:i.address,decimals:n??i.decimals};if(Mi(r,{strict:!1}))return{address:r,decimals:n??bb(e,r)};throw Error(`Token \"${r}\" is not a declared ERC-20 token on the client's \\`tokens\\` array (with an address for the client's chain), and is not a valid address.`)}function _b(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;let i=yb(n,t);if(i)return vb(i,r);if(Mi(t,{strict:!1}))for(let e of n){let n=vb(e,r);if(n&&nf(n.address,t))return n}}function vb(e,t){let n=e.addresses[t];if(n)return{address:n,currency:e.currency,decimals:e.decimals,name:e.name,popular:e.popular,symbol:e.symbol}}function yb(e,t){let n=t.toLowerCase();for(let t of e)if(t.symbol?.toLowerCase()===n)return t}function bb(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=vb(e,r);if(n&&nf(n.address,t))return n.decimals}}function xb(e){let{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}=e;return{account:t,chain:n,gas:r,maxFeePerGas:i,maxPriorityFeePerGas:a,nonce:o}}function Sb(e){return{...e,data:ya(e),to:e.address}}Gp();async function Cb(e,t){return Cb.inner(hh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return Sb(wb(e,t))}e.call=n;async function r(t,n){return tf(t,{...xb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Xm(t,{...xb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=lf({abi:Wp,logs:e,eventName:`Approval`,strict:!0});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(Cb||={});function wb(e,t){let{amount:n,spender:r,token:i}=t,{address:a,decimals:o}=gb(e,{token:i});return{abi:Wp,address:a,args:[r,pb(n,o)],functionName:`approve`}}Po();async function Tb(e,{serializedTransaction:t,throwOnReceiptRevert:n,timeout:r}){let i=await e.request({method:`eth_sendRawTransactionSync`,params:r?[t,r]:[t]},{retryCount:0}),a=(e.chain?.formatters?.transactionReceipt?.format||yh)(i);if(a.status===`reverted`&&n)throw new Mo({receipt:a});return a}ha(),A(),Po(),zi(),nd(),ld(),Di(),_d();let Eb=new Ei(128);async function Db(e,t){let{account:n=e.account,assertChainId:r=!0,chain:i=e.chain,accessList:a,authorizationList:o,blobs:s,data:c,dataSuffix:l=typeof e.dataSuffix==`string`?e.dataSuffix:e.dataSuffix?.value,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,pollingInterval:g,throwOnReceiptRevert:_,type:v,value:y,...b}=t,x=t.timeout??Math.max((i?.blockTime??0)*3,5e3);if(n===void 0)throw new lh({docsPath:`/docs/actions/wallet/sendTransactionSync`});let S=n?M(n):null,C;try{gd(t);let n=await(async()=>{if(t.to)return t.to;if(t.to!==null&&o&&o.length>0)return await Lu({authorization:o[0]}).catch(()=>{throw new k(\"`to` is required. Could not infer from `authorizationList`.\")})})();if(S?.type===`json-rpc`||S===null){let t;i!==null&&(t=await D(e,Jd,`getChainId`)({}),r&&dh({currentChainId:t,chain:i}));let C=e.chain?.formatters?.transactionRequest?.format,w=(C||ad)({...td(b,{format:C}),accessList:a,account:S,authorizationList:o,blobs:s,chainId:t,data:l?Ii([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,to:n,type:v,value:y},`sendTransaction`),T=Eb.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=>(Eb.set(e.uid,!0),t)).catch(t=>{let r=t;throw r.name===`MethodNotFoundRpcError`||r.name===`MethodNotSupportedRpcError`?(Eb.set(e.uid,!1),n):r});throw n}})(),ne=await D(e,ab,`waitForTransactionReceipt`)({checkReplacement:!1,hash:te,pollingInterval:g,timeout:x});if(_&&ne.status===`reverted`)throw new Mo({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 D(e,$d,`prepareTransactionRequest`)({account:S,accessList:a,authorizationList:o,blobs:s,chain:i,data:l?Ii([c??`0x`,l]):c,gas:u,gasPrice:d,maxFeePerBlobGas:f,maxFeePerGas:p,maxPriorityFeePerGas:m,nonce:h,nonceManager:r,parameters:[...Xd,`sidecars`],type:v,value:y,...b,to:n}),x=i?.serializers?.transaction,w=await S.signTransaction(g,{serializer:x}),T=(i??e.chain)?.serializers?.transactionEnvelope,ee=T?await T({serializedTransaction:w,transaction:g}):w;return await D(e,Tb,`sendRawTransactionSync`)({serializedTransaction:ee,throwOnReceiptRevert:_,timeout:t.timeout})}throw S?.type===`smart`?new uh({metaMessages:[\"Consider using the `sendUserOperation` Action instead.\"],docsPath:`/docs/actions/bundler/sendUserOperation`,type:`smart`}):new uh({docsPath:`/docs/actions/wallet/sendTransactionSync`,type:S?.type})}catch(e){throw e instanceof uh?e:(C&&!(e instanceof Mo)&&S?.nonceManager?.reset(C),qd(e,{...t,account:S,chain:t.chain||void 0}))}}async function Ob(e,t){return hh.internal(e,Db,`sendTransactionSync`,t)}async function kb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=gb(e,{token:r}),o=hb(n,a),s=await Cb.inner(Ob,e,{...t,throwOnReceiptRevert:i}),{args:c}=Cb.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:My(c.value,o)},receipt:s}}Gp();async function Ab(e,t){return Ab.inner(hh,e,t)}(function(e){async function t(t,n,r){return await t(n,{...r,...e.call(n,r)})}e.inner=t;function n(e,t){return Sb(jb(e,t))}e.call=n;async function r(t,n){return tf(t,{...xb(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Xm(t,{...xb(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=lf({abi:Wp,logs:e,eventName:`Transfer`,strict:!0});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(Ab||={});function jb(e,t){let{amount:n,from:r,to:i,token:a}=t,{address:o,decimals:s}=gb(e,{token:a}),c=pb(n,s);return r?{abi:Wp,address:o,args:[r,i,c],functionName:`transferFrom`}:{abi:Wp,address:o,args:[i,c],functionName:`transfer`}}async function Mb(e,t){let{amount:n,token:r,throwOnReceiptRevert:i=!0}=t,{decimals:a}=gb(e,{token:r}),o=hb(n,a),s=await Ab.inner(Ob,e,{...t,throwOnReceiptRevert:i}),{args:c}=Ab.extractEvent(s.logs);return{...c,...o===void 0?{}:{decimals:o,formatted:My(c.value,o)},receipt:s}}Gn();async function Nb(e,{chain:t}){let{id:n,name:r,nativeCurrency:i,rpcUrls:a,blockExplorers:o}=t;await e.request({method:`wallet_addEthereumChain`,params:[{chainId: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})}om();function Pb(e,t){let{abi:n,args:r,bytecode:i,...a}=t,o=im({abi:n,args:r,bytecode:i});return mh(e,{...a,...a.authorizationList?{to:null}:{},data:o})}ji();async function Fb(e){return e.account?.type===`local`?[e.account.address]:(await e.request({method:`eth_accounts`},{dedupe:!0})).map(e=>Oi(e))}ha(),Gn();async function Ib(e,t={}){let{account:n=e.account,chainId:r}=t,i=n?M(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 Lb(e){return await e.request({method:`wallet_getPermissions`},{dedupe:!0})}ha(),rf();async function Rb(e,t){let{account:n=e.account,chainId:r,nonce:i}=t;if(!n)throw new lh({docsPath:`/docs/eip7702/prepareAuthorization`});let a=M(n),o=(()=>{if(t.executor)return t.executor===`self`?t.executor:M(t.executor)})(),s={address:t.contractAddress??t.address,chainId:r,nonce:i};return s.chainId===void 0&&(s.chainId=e.chain?.id??await D(e,Jd,`getChainId`)({})),s.nonce===void 0&&(s.nonce=await D(e,Nd,`getTransactionCount`)({address:a.address,blockTag:`pending`}),(o===`self`||o?.address&&nf(o.address,a.address))&&(s.nonce+=1)),s}ji();async function zb(e){return(await e.request({method:`eth_requestAccounts`},{dedupe:!0,retryCount:0})).map(e=>ki(e))}async function Bb(e,t){return e.request({method:`wallet_requestPermissions`,params:[t]},{retryCount:0})}async function Vb(e,t){let{chain:n=e.chain}=t,r=t.timeout??Math.max((n?.blockTime??0)*3,5e3),i=await D(e,Sh,`sendCalls`)(t);return await D(e,wh,`waitForCallsStatus`)({...t,id:i.id,timeout:r})}async function Hb(e,t){let{id:n}=t;await e.request({method:`wallet_showCallsStatus`,params:[n]})}ha();async function Ub(e,t){let{account:n=e.account}=t;if(!n)throw new lh({docsPath:`/docs/eip7702/signAuthorization`});let r=M(n);if(!r.signAuthorization)throw new uh({docsPath:`/docs/eip7702/signAuthorization`,metaMessages:[\"The `signAuthorization` Action does not support JSON-RPC Accounts.\"],type:r.type});let i=await Rb(e,t);return r.signAuthorization(i)}ha(),Gn();async function Wb(e,{account:t=e.account,message:n}){if(!t)throw new lh({docsPath:`/docs/actions/wallet/signMessage`});let r=M(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})}ha(),Gn(),ld(),_d();async function Gb(e,t){let{account:n=e.account,chain:r=e.chain,...i}=t;if(!n)throw new lh({docsPath:`/docs/actions/wallet/signTransaction`});let a=M(n);gd({account:a,...t});let o=await D(e,Jd,`getChainId`)({});r!==null&&dh({currentChainId:o,chain:r});let s=(r?.formatters||e.chain?.formatters)?.transactionRequest?.format||ad;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})}ha();async function Kb(e,t){let{account:n=e.account,domain:r,message:i,primaryType:a}=t;if(!n)throw new lh({docsPath:`/docs/actions/wallet/signTypedData`});let o=M(n),s={EIP712Domain:xg({domain:r}),...t.types};if(bg({domain:r,message:i,primaryType:a,types:s}),o.signTypedData)return o.signTypedData({domain:r,message:i,primaryType:a,types:s});let c=yg({domain:r,message:i,primaryType:a,types:s});return e.request({method:`eth_signTypedData_v4`,params:[o.address,c]},{retryCount:0})}Gn();async function qb(e,{id:t}){await e.request({method:`wallet_switchEthereumChain`,params:[{chainId:j(t)}]},{retryCount:0})}async function Jb(e,t){return await e.request({method:`wallet_watchAsset`,params:t},{retryCount:0})}function Yb(e){return{addChain:t=>Nb(e,t),deployContract:t=>Pb(e,t),fillTransaction:t=>Yd(e,t),getAddresses:()=>Fb(e),getCallsStatus:t=>Ch(e,t),getCapabilities:t=>Ib(e,t),getChainId:()=>Jd(e),getPermissions:()=>Lb(e),prepareAuthorization:t=>Rb(e,t),prepareTransactionRequest:t=>$d(e,t),requestAddresses:()=>zb(e),requestPermissions:t=>Bb(e,t),sendCalls:t=>Sh(e,t),sendCallsSync:t=>Vb(e,t),sendRawTransaction:t=>fh(e,t),sendRawTransactionSync:t=>Tb(e,t),sendTransaction:t=>mh(e,t),sendTransactionSync:t=>Db(e,t),showCallsStatus:t=>Hb(e,t),signAuthorization:t=>Ub(e,t),signMessage:t=>Wb(e,t),signTransaction:t=>Gb(e,t),signTypedData:t=>Kb(e,t),switchChain:t=>qb(e,t),waitForCallsStatus:t=>wh(e,t),watchAsset:t=>Jb(e,t),writeContract:t=>hh(e,t),writeContractSync:t=>Ob(e,t),token:{approve:jh(e,Cb),approveSync:jh(e,kb),transfer:jh(e,Ab),transferSync:jh(e,Mb)}}}function Xb(e){let{key:t=`wallet`,name:n=`Wallet Client`,transport:r}=e;return kh({...e,key:t,name:n,transport:r,type:`walletClient`}).extend(Yb)}function Zb({key:e,methods:t,name:n,request:r,retryCount:i=3,retryDelay:a=150,timeout:o,type:s},c){let l=Oh();return{config:{key:e,methods:t,name:n,request:r,retryCount:i,retryDelay:a,timeout:o,type:s},request:Xh(r,{methods:t,retryCount:i,retryDelay:a,uid:l}),value:c}}function Qb(e,t={}){let{key:n=`custom`,methods:r,name:i=`Custom Provider`,retryDelay:a}=t;return({retryCount:o})=>Zb({key:n,methods:r,name:i,request:e.request.bind(e),retryCount:t.retryCount??o,retryDelay:a,type:`custom`})}A();var $b=class extends k{constructor(){super(`No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.`,{docsPath:`/docs/clients/intro`,name:`UrlRequiredError`})}};Zo(),hm();let ex=0,tx=new WeakMap;function nx(e){if(!e)return`default`;let t=tx.get(e);if(t!==void 0)return t;let n=ex++;return tx.set(e,n),n}function rx(e,t={}){let{batch:n,fetchFn:r,fetchOptions:i,key:a=`http`,maxResponseBodySize:o,methods:s,name:c=`HTTP JSON-RPC`,onFetchRequest:l,onFetchResponse:u,retryDelay:d,raw:f}=t;return({chain:p,retryCount:m,timeout:h})=>{let{batchSize:g=1e3,wait:_=0}=typeof n==`object`?n:{},v=t.retryCount??m,y=h??t.timeout??1e4,b=e||p?.rpcUrls.default.http[0];if(!b)throw new $b;let x=ug(b,{fetchFn:r,fetchOptions:i,maxResponseBodySize:o,onRequest:l,onResponse:u,timeout:y});return Zb({key:a,methods:s,name:c,async request({method:e,params:t},r){let i={method:e,params:t},a=r?.signal?{signal:r.signal}:void 0,{schedule:o}=pm({id:`${b}.${nx(r?.signal)}`,wait:_,shouldSplitBatch(e){return e.length>g},fn:e=>x.request({body:e,fetchOptions:a}),sort:(e,t)=>e.id-t.id}),[{error:s,result:c}]=await(async e=>n?o(e):[await x.request({body:e,fetchOptions:a})])(i);if(f)return{error:s,result:c};if(s)throw new Yo({body:i,error:s,url:b});return c},retryCount:v,retryDelay:d,timeout:y,type:`http`},{fetchOptions:i,url:b})}}yf(),z();function ix(e){let t=[];for(let n=0;n<e.length;n++){let[r,i]=e[n];r&&F_(r,{strict:!1}),t.push({address:r,storageKeys:i.map(e=>S_(e)?e:xp(e))})}return t}function ax(e){if(!e||e.length===0)return[];let t=[];for(let{address:n,storageKeys:r}of e){for(let e=0;e<r.length;e++)if(L(r[e])!==32)throw new ox({storageKey:r[e]});n&&F_(n,{strict:!1}),t.push([n,r])}return t}var ox=class extends N{constructor({storageKey:e}){super(`Size for storage key \"${e}\" is invalid. Expected 32 bytes. Got ${L(e)} bytes.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`AccessList.InvalidStorageKeySizeError`})}};dp();let sx=new TextEncoder,cx=new TextDecoder,lx=Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[t,e.charCodeAt(0)])),ux={...Object.fromEntries(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`).map((e,t)=>[e.charCodeAt(0),t])),61:0,45:62,95:63};function dx(e,t={}){let{pad:n=!0,url:r=!1}=t,i=new Uint8Array(Math.ceil(e.length/3)*4);for(let t=0,n=0;n<e.length;t+=4,n+=3){let r=(e[n]<<16)+(e[n+1]<<8)+(e[n+2]|0);i[t]=lx[r>>18],i[t+1]=lx[r>>12&63],i[t+2]=lx[r>>6&63],i[t+3]=lx[r&63]}let a=e.length%3,o=Math.floor(e.length/3)*4+(a&&a+1),s=cx.decode(new Uint8Array(i.buffer,0,o));return n&&a===1&&(s+=`==`),n&&a===2&&(s+=`=`),r&&(s=s.replaceAll(`+`,`-`).replaceAll(`/`,`_`)),s}function fx(e,t={}){return dx(Uf(e),t)}function px(e,t={}){return dx(Wf(e),t)}function mx(e){let t=e.replace(/=+$/,``),n=t.length,r=new Uint8Array(n+3);sx.encodeInto(t+`===`,r);for(let e=0,n=0;e<t.length;e+=4,n+=3){let t=(ux[r[e]]<<18)+(ux[r[e+1]]<<12)+(ux[r[e+2]]<<6)+ux[r[e+3]];r[n]=t>>16,r[n+1]=t>>8&255,r[n+2]=t&255}let i=(n>>2)*3+(n%4&&n%4-1);return new Uint8Array(r.buffer,0,i)}function hx(e){return ep(mx(e))}let gx={legacy:`0x0`,eip2930:`0x1`,eip1559:`0x2`,eip4844:`0x3`,eip7702:`0x4`},_x={\"0x0\":`legacy`,\"0x1\":`eip2930`,\"0x2\":`eip1559`,\"0x3\":`eip4844`,\"0x4\":`eip7702`};function vx(e,t={}){if(!e)return null;let n=Wv(e),r={...e,...n};return r.blockNumber=e.blockNumber?BigInt(e.blockNumber):null,`blockTimestamp`in e&&(r.blockTimestamp=e.blockTimestamp?BigInt(e.blockTimestamp):e.blockTimestamp===null?null:void 0),r.data=e.input,r.gas=BigInt(e.gas??0n),r.nonce=BigInt(e.nonce??0n),r.transactionIndex=e.transactionIndex?Number(e.transactionIndex):null,r.value=BigInt(e.value??0n),e.authorizationList&&(r.authorizationList=cy(e.authorizationList)),e.chainId&&(r.chainId=Number(e.chainId)),e.gasPrice&&(r.gasPrice=BigInt(e.gasPrice)),e.maxFeePerBlobGas&&(r.maxFeePerBlobGas=BigInt(e.maxFeePerBlobGas)),e.maxFeePerGas&&(r.maxFeePerGas=BigInt(e.maxFeePerGas)),e.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=BigInt(e.maxPriorityFeePerGas)),e.type&&(r.type=_x[e.type]??e.type),n&&(r.v=$v(n.yParity)),r}dp(),yf(),z();function yx(e,t={}){let{as:n=`Hex`}=t,r=Nx(e),i=hv(new Uint8Array(r.length));return r.encode(i),n===`Hex`?hp(i.bytes):i.bytes}var bx=class extends N{constructor({majorType:e}){super(`Invalid CBOR major type: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidMajorTypeError`})}},xx=class extends N{constructor({additionalInfo:e}){super(`Invalid CBOR additional info: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidAdditionalInfoError`})}},Sx=class extends N{constructor(){super(`64-bit integers are not supported in CBOR decoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.Unsupported64BitIntegerError`})}},Cx=class extends N{constructor({tag:e}){super(`CBOR tagged data (tag ${e}) is not yet supported.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedTagError`})}},wx=class extends N{constructor({type:e}){super(`Invalid chunk type in indefinite-length ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidIndefiniteLengthChunkError`})}},Tx=class extends N{constructor({value:e}){super(`Invalid CBOR simple value: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.InvalidSimpleValueError`})}},Ex=class extends N{constructor(){super(`BigInt values are not supported in CBOR encoding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnsupportedBigIntError`})}},Dx=class extends N{constructor({token:e}){super(`Unexpected token: ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.UnexpectedTokenError`})}},Ox=class extends N{constructor({number:e}){super(`Number exceeds maximum safe integer (${2**53-1}): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.NumberTooLargeError`})}},kx=class extends N{constructor({size:e}){super(`String length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.StringTooLargeError`})}},Ax=class extends N{constructor({size:e}){super(`Array length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ArrayTooLargeError`})}},jx=class extends N{constructor({size:e}){super(`Object size exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ObjectTooLargeError`})}},Mx=class extends N{constructor({size:e}){super(`Byte string length exceeds maximum (4294967295): ${e}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Cbor.ByteStringTooLargeError`})}};function Nx(e){if(e===void 0)return{length:1,encode:e=>e.pushUint8(247)};if(e===null)return{length:1,encode:e=>e.pushUint8(246)};if(typeof e==`boolean`)return{length:1,encode:t=>t.pushUint8(e?245:244)};if(typeof e==`number`)return Nx.number(e);if(typeof e==`bigint`)throw new Ex;if(typeof e==`string`)return Nx.string(e);if(Array.isArray(e))return Nx.array(e);if(e instanceof Uint8Array)return Nx.byteString(e);if(e instanceof ArrayBuffer)return Nx.byteString(new Uint8Array(e));if(ArrayBuffer.isView(e))return Nx.byteString(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof Map)return Nx.map(e);if(typeof e==`object`)return Nx.object(e);throw new Dx({token:String(e)})}(function(e){function t(e){if(!Number.isSafeInteger(e)){let t=Math.fround(e);return Number.isNaN(e)||e===t?{length:5,encode(t){t.pushUint8(250),t.dataView.setFloat32(t.position,e,!1),t.position+=4}}:{length:9,encode(t){t.pushUint8(251),t.dataView.setFloat64(t.position,e,!1),t.position+=8}}}if(e>=0){if(e<=23)return{length:1,encode:t=>t.pushUint8(e)};if(e<=255)return{length:2,encode:t=>{t.pushUint8(24),t.pushUint8(e)}};if(e<=65535)return{length:3,encode:t=>{t.pushUint8(25),t.pushUint16(e)}};if(e<=4294967295)return{length:5,encode:t=>{t.pushUint8(26),t.pushUint32(e)}};throw new Ox({number:e.toString(10)})}let t=-1-e;if(e>=-24)return{length:1,encode:e=>e.pushUint8(32+t)};if(t<=255)return{length:2,encode:e=>{e.pushUint8(56),e.pushUint8(t)}};if(t<=65535)return{length:3,encode:e=>{e.pushUint8(57),e.pushUint16(t)}};if(t<=4294967295)return{length:5,encode:e=>{e.pushUint8(58),e.pushUint32(t)}};throw new Ox({number:e.toString(10)})}e.number=t;function n(e){let t=Wf(e),n=t.length;if(n<=23)return{length:1+n,encode(e){e.pushUint8(96+n),n>0&&e.pushBytes(t)}};if(n<=255)return{length:2+n,encode(e){e.pushUint8(120),e.pushUint8(n),e.pushBytes(t)}};if(n<=65535)return{length:3+n,encode(e){e.pushUint8(121),e.pushUint16(n),e.pushBytes(t)}};if(n<=4294967295)return{length:5+n,encode(e){e.pushUint8(122),e.pushUint32(n),e.pushBytes(t)}};throw new kx({size:n})}e.string=n;function r(t){let n=t.map(t=>e(t)),r=n.reduce((e,t)=>e+t.length,0),i=t.length;if(i<=23)return{length:1+r,encode(e){e.pushUint8(128+i);for(let t of n)t.encode(e)}};if(i<=255)return{length:2+r,encode(e){e.pushUint8(152),e.pushUint8(i);for(let t of n)t.encode(e)}};if(i<=65535)return{length:3+r,encode(e){e.pushUint8(153),e.pushUint16(i);for(let t of n)t.encode(e)}};if(i<=4294967295)return{length:5+r,encode(e){e.pushUint8(154),e.pushUint32(i);for(let t of n)t.encode(e)}};throw new Ax({size:i})}e.array=r;function i(e){let t=e.byteLength;if(t<=23)return{length:1+t,encode(n){n.pushUint8(64+t),n.pushBytes(e)}};if(t<=255)return{length:2+t,encode(n){n.pushUint8(88),n.pushUint8(t),n.pushBytes(e)}};if(t<=65535)return{length:3+t,encode(n){n.pushUint8(89),n.pushUint16(t),n.pushBytes(e)}};if(t<=4294967295)return{length:5+t,encode(n){n.pushUint8(90),n.pushUint32(t),n.pushBytes(e)}};throw new Mx({size:t})}e.byteString=i;function a(t){let n=Object.keys(t),r=n.map(n=>({key:e(n),value:e(t[n])})),i=r.reduce((e,t)=>e+t.key.length+t.value.length,0),a=n.length;if(a<=23)return{length:1+i,encode(e){e.pushUint8(160+a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=255)return{length:2+i,encode(e){e.pushUint8(184),e.pushUint8(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=65535)return{length:3+i,encode(e){e.pushUint8(185),e.pushUint16(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};if(a<=4294967295)return{length:5+i,encode(e){e.pushUint8(186),e.pushUint32(a);for(let t of r)t.key.encode(e),t.value.encode(e)}};throw new jx({size:a})}e.object=a;function o(t){let n=[];for(let[r,i]of t)n.push({key:e(r),value:e(i)});let r=n.reduce((e,t)=>e+t.key.length+t.value.length,0),i=t.size;if(i<=23)return{length:1+r,encode(e){e.pushUint8(160+i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=255)return{length:2+r,encode(e){e.pushUint8(184),e.pushUint8(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=65535)return{length:3+r,encode(e){e.pushUint8(185),e.pushUint16(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};if(i<=4294967295)return{length:5+r,encode(e){e.pushUint8(186),e.pushUint32(i);for(let t of n)t.key.encode(e),t.value.encode(e)}};throw new jx({size:i})}e.map=o})(Nx||={});function Px(e){let t=e.readUint8(),n=t>>5,r=t&31;switch(n){case 0:return Px.readUnsignedInteger(e,r);case 1:return Px.readNegativeInteger(e,r);case 2:return Px.readByteString(e,r);case 3:return Px.readTextString(e,r);case 4:return Px.readArray(e,r);case 5:return Px.readMap(e,r);case 6:throw new Cx({tag:r});case 7:return Px.readSimpleOrFloat(e,r);default:throw new bx({majorType:n})}}(function(e){function t(e,t){if(t<24)return t;if(t===24)return e.readUint8();if(t===25)return e.readUint16();if(t===26)return e.readUint32();throw t===27?new Sx:new xx({additionalInfo:t})}function n(e,n){return t(e,n)}e.readUnsignedInteger=n;function r(e,n){return-1-t(e,n)}e.readNegativeInteger=r;function i(n,r){if(r===31){let t=[],r=0;for(;;){if(n.inspectUint8()===255){n.readUint8();break}let i=e(n);if(!(i instanceof Uint8Array))throw new wx({type:`byte string`});t.push(i),r+=i.length}let i=new Uint8Array(r),a=0;for(let e of t)i.set(e,a),a+=e.length;return i}let i=t(n,r);return n.readBytes(i)}e.readByteString=i;function a(n,r){if(r===31){let t=[];for(;;){if(n.inspectUint8()===255){n.readUint8();break}let r=e(n);if(typeof r!=`string`)throw new wx({type:`text string`});t.push(r)}return t.join(``)}let i=t(n,r);return ep(n.readBytes(i))}e.readTextString=a;function o(n,r){if(r===31){let t=[];for(;;){if(n.inspectUint8()===255){n.readUint8();break}t.push(e(n))}return t}let i=t(n,r),a=[];for(let t=0;t<i;t++)a.push(e(n));return a}e.readArray=o;function s(n,r){if(r===31){let t={};for(;;){if(n.inspectUint8()===255){n.readUint8();break}let r=e(n),i=typeof r==`string`?r:String(r);t[i]=e(n)}return t}let i=t(n,r),a={};for(let t=0;t<i;t++){let t=e(n),r=typeof t==`string`?t:String(t);a[r]=e(n)}return a}e.readMap=s;function c(e,t){if(t===20)return!1;if(t===21)return!0;if(t===22)return null;if(t!==23){if(t===25)return l(e.readUint16());if(t===26){let t=e.dataView.getFloat32(e.position,!1);return e.position+=4,t}if(t===27){let t=e.dataView.getFloat64(e.position,!1);return e.position+=8,t}if(t===24){let t=e.readUint8();if(t<32)throw new Tx({value:t});return}throw new xx({additionalInfo:t})}}e.readSimpleOrFloat=c;function l(e){let t=e>>15&1,n=e>>10&31,r=e&1023;if(n===0){if(r===0)return t?-0:0;let e=2**-14*(r/1024);return t?-e:e}if(n===31)return r===0?t?-1/0:1/0:NaN;let i=2**(n-15)*(1+r/1024);return t?-i:i}})(Px||={}),dp(),z();function Fx(e){let t=Uf(L_(e.from)),n=Kf(rp(e.salt)?e.salt:Uf(e.salt),32),r=`bytecodeHash`in e?rp(e.bytecodeHash)?e.bytecodeHash:Uf(e.bytecodeHash):y_(e.bytecode,{as:`Bytes`});return L_(I(y_(Bf(Uf(`0xff`),t,n,r),{as:`Hex`}),12))}yf();function Ix(e){let t=D_(e),n=t.slice(1,33),r=t.slice(33,65);return yx(new Map([[1,2],[3,-7],[-1,1],[-2,n],[-3,r]]))}Qs(),zl(),al();\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Lx=qc(BigInt(`0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff`)),Rx=Rl({a:Lx.create(BigInt(`-3`)),b:BigInt(`0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b`),Fp:Lx,n:BigInt(`0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551`),Gx:BigInt(`0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296`),Gy:BigInt(`0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5`),h:BigInt(1),lowS:!1},Ys),zx=qc(BigInt(`0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff`));Rl({a:zx.create(BigInt(`-3`)),b:BigInt(`0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef`),Fp:zx,n:BigInt(`0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973`),Gx:BigInt(`0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7`),Gy:BigInt(`0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f`),h:BigInt(1),lowS:!1},Zs);let Bx=qc(BigInt(`0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`));Rl({a:Bx.create(BigInt(`-3`)),b:BigInt(`0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00`),Fp:Bx,n:BigInt(`0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409`),Gx:BigInt(`0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66`),Gy:BigInt(`0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650`),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},Xs);\n/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nlet Vx=Rx,Hx=Rx;dp(),yf(),z();function Ux(e){let{privateKey:t}=e;return w_(Hx.ProjectivePoint.fromPrivateKey(typeof t==`string`?t.slice(2):hp(t).slice(2)))}function Wx(e){let{extraEntropy:t=!1,hash:n,payload:r,privateKey:i}=e,{r:a,s:o,recovery:s}=Hx.sign(r instanceof Uint8Array?r:Uf(r),i instanceof Uint8Array?i:Uf(i),{extraEntropy:typeof t==`boolean`?t:pp(t).slice(2),lowS:!0,...n?{prehash:!0}:{}});return{r:a,s:o,yParity:s}}function Gx(e){let{hash:t,payload:n,publicKey:r,signature:i}=e;return Hx.verify(i,n instanceof Uint8Array?n:Uf(n),O_(r).substring(2),{lowS:!0,...t?{prehash:!0}:{}})}Wf(`ox.p256.fromSeed.v1`);var Kx=u(s(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1);function qx(e,t={}){let{raw:n=!1}=t,r=e;if(n)return e;if(r.error)throw Jx(r.error);return r.result}function Jx(e){let t=e;if(t instanceof Error&&!(`code`in t))return new oS({cause:t,data:t,message:t.message,stack:t.stack});let{code:n}=t;return n===oS.code?new oS(t):n===Xx.code?new Xx(t):n===aS.code?new aS(t):n===rS.code?new rS(t):n===tS.code?new tS(t):n===iS.code?new iS(t):n===eS.code?new eS(t):n===sS.code?new sS(t):n===Zx.code?new Zx(t):n===Qx.code?new Qx(t):n===$x.code?new $x(t):n===nS.code?new nS(t):new oS({cause:t instanceof Error?t:void 0,data:t,message:t.message,stack:t instanceof Error?t.stack:void 0})}var Yx=class extends Error{constructor(e){let{cause:t,code:n,message:r,data:i,stack:a}=e;super(r,{cause:t}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.BaseError`}),Object.defineProperty(this,\"cause\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"stack\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"data\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.cause=t,this.code=n,this.data=i,this.stack=a??``}},Xx=class e extends Yx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Missing or invalid parameters.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidInputError`})}};Object.defineProperty(Xx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var Zx=class e extends Yx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Requested resource not found.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ResourceNotFoundError`})}};Object.defineProperty(Zx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var Qx=class e extends Yx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Requested resource not available.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ResourceUnavailableError`})}};Object.defineProperty(Qx,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var $x=class e extends Yx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Transaction creation failed.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.TransactionRejectedError`})}};Object.defineProperty($x,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var eS=class e extends Yx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Method is not implemented.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.MethodNotSupportedError`})}};Object.defineProperty(eS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var tS=class e extends Yx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Rate limit exceeded.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.LimitExceededError`})}};Object.defineProperty(tS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var nS=class e extends Yx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`JSON-RPC version not supported.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.VersionNotSupportedError`})}};Object.defineProperty(nS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var rS=class e extends Yx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Input is not a valid JSON-RPC request.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidRequestError`})}};Object.defineProperty(rS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var iS=class e extends Yx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Method does not exist.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.MethodNotFoundError`})}};Object.defineProperty(iS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var aS=class e extends Yx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Invalid method parameters.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InvalidParamsError`})}};Object.defineProperty(aS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var oS=class e extends Yx{constructor(t={}){super({cause:t.cause,code:e.code,data:t.data,message:t.message??`Internal JSON-RPC error.`,stack:t.stack}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.InternalError`})}};Object.defineProperty(oS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var sS=class e extends Yx{constructor(t={}){super({code:e.code,data:t.data,message:t.message??`Failed to parse JSON-RPC response.`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`RpcResponse.ParseError`})}};Object.defineProperty(sS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:-32700}),yf();var cS=class extends Error{constructor(e,t){super(t),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ProviderRpcError`}),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"details\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=e,this.details=t}},lS=class extends cS{constructor({message:e=`The user rejected the request.`}={}){super(4001,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UserRejectedRequestError`})}};Object.defineProperty(lS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4001});var uS=class extends cS{constructor({message:e=`The requested method and/or account has not been authorized by the user.`}={}){super(4100,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnauthorizedError`})}};Object.defineProperty(uS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4100});var dS=class extends cS{constructor({message:e=`The provider does not support the requested method.`}={}){super(4200,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedMethodError`})}};Object.defineProperty(dS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4200});var fS=class extends cS{constructor({message:e=`The provider is disconnected from all chains.`}={}){super(4900,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.DisconnectedError`})}};Object.defineProperty(fS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4900});var pS=class extends cS{constructor({message:e=`The provider is not connected to the requested chain.`}={}){super(4901,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.ChainDisconnectedError`})}};Object.defineProperty(pS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4901});var mS=class extends cS{constructor({message:e=`An error occurred when attempting to switch chain.`}={}){super(4902,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.SwitchChainError`})}};Object.defineProperty(mS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:4902});var hS=class extends cS{constructor({message:e=`This Wallet does not support a capability that was not marked as optional.`}={}){super(5700,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedNonOptionalCapabilityError`})}};Object.defineProperty(hS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5700});var gS=class extends cS{constructor({message:e=`This Wallet does not support the requested chain ID.`}={}){super(5710,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnsupportedChainIdError`})}};Object.defineProperty(gS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5710});var _S=class extends cS{constructor({message:e=`There is already a bundle submitted with this ID.`}={}){super(5720,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.DuplicateIdError`})}};Object.defineProperty(_S,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5720});var vS=class extends cS{constructor({message:e=`This bundle id is unknown / has not been submitted.`}={}){super(5730,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.UnknownBundleIdError`})}};Object.defineProperty(vS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5730});var yS=class extends cS{constructor({message:e=`The call bundle is too large for the Wallet to process.`}={}){super(5740,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.BundleTooLargeError`})}};Object.defineProperty(yS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5740});var bS=class extends cS{constructor({message:e=`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`}={}){super(5750,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.AtomicReadyWalletRejectedUpgradeError`})}};Object.defineProperty(bS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5750});var xS=class extends cS{constructor({message:e=`The wallet does not support atomic execution but the request requires it.`}={}){super(5760,e),Object.defineProperty(this,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.AtomicityNotSupportedError`})}};Object.defineProperty(xS,\"code\",{enumerable:!0,configurable:!0,writable:!0,value:5760});function SS(){let e=new Kx.default;return{get eventNames(){return e.eventNames.bind(e)},get listenerCount(){return e.listenerCount.bind(e)},get listeners(){return e.listeners.bind(e)},addListener:e.addListener.bind(e),emit:e.emit.bind(e),off:e.off.bind(e),on:e.on.bind(e),once:e.once.bind(e),removeAllListeners:e.removeAllListeners.bind(e),removeListener:e.removeListener.bind(e)}}function CS(e,t={}){if(!e)throw new TS;return{...e,async request(t){try{let n=await e.request(t);return n&&typeof n==`object`&&`jsonrpc`in n?qx(n):n}catch(e){throw wS(e)}}}}function wS(e){let t=Jx(e);if(t instanceof oS){if(!t.data)return t;let{code:e}=t.data;if(e===fS.code)return new fS(t);if(e===pS.code)return new pS(t);if(e===lS.code)return new lS(t);if(e===uS.code)return new uS(t);if(e===dS.code)return new dS(t);if(e===mS.code)return new mS(t);if(e===bS.code)return new bS(t);if(e===xS.code)return new xS(t);if(e===yS.code)return new yS(t);if(e===vS.code)return new vS(t);if(e===_S.code)return new _S(t);if(e===gS.code)return new gS(t);if(e===hS.code)return new hS(t)}return t}var TS=class extends N{constructor(){super(\"`provider` is undefined.\"),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Provider.IsUndefinedError`})}};function ES(e={}){let t=e.id??0;return{prepare(e){return DS({id:t++,...e})},get id(){return t}}}function DS(e){return{...e,jsonrpc:`2.0`}}function OS(){return null}z();function kS(e){let t={};return e.accessList!==void 0&&(t.accessList=e.accessList),e.authorizationList!==void 0&&(t.authorizationList=uy(e.authorizationList)),e.blobVersionedHashes!==void 0&&(t.blobVersionedHashes=e.blobVersionedHashes),e.blobs!==void 0&&(t.blobs=e.blobs),e.chainId!==void 0&&(t.chainId=F(e.chainId)),e.data===void 0?e.input!==void 0&&(t.data=e.input,t.input=e.input):(t.data=e.data,t.input=e.data),e.from!==void 0&&(t.from=e.from),e.gas!==void 0&&(t.gas=F(e.gas)),e.gasPrice!==void 0&&(t.gasPrice=F(e.gasPrice)),e.maxFeePerBlobGas!==void 0&&(t.maxFeePerBlobGas=F(e.maxFeePerBlobGas)),e.maxFeePerGas!==void 0&&(t.maxFeePerGas=F(e.maxFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=F(e.maxPriorityFeePerGas)),e.maxPriorityFeePerGas!==void 0&&(t.maxPriorityFeePerGas=F(e.maxPriorityFeePerGas)),e.nonce!==void 0&&(t.nonce=F(e.nonce)),e.to!==void 0&&(t.to=e.to),e.type!==void 0&&(t.type=gx[e.type]||e.type),e.value!==void 0&&(t.value=F(e.value)),t}yf();let AS={wei:0,gwei:9,szabo:12,finney:15,ether:18};function jS(e,t=0){let n=e.toString(),r=n.startsWith(`-`);r&&(n=n.slice(1)),n=n.padStart(t,`0`);let[i,a]=[n.slice(0,n.length-t),n.slice(n.length-t)];return a=a.replace(/(0+)$/,``),`${r?`-`:``}${i||`0`}${a?`.${a}`:``}`}function MS(e,t=`wei`){return jS(e,AS.gwei-AS[t])}yf();var NS=class extends N{constructor({feeCap:e}={}){super(`The fee cap (\\`maxFeePerGas\\`/\\`maxPriorityFeePerGas\\`${e?` = ${MS(e)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.FeeCapTooHighError`})}},PS=class extends N{constructor({chainId:e}){super(e===void 0?`Chain ID is invalid.`:`Chain ID \"${e}\" is invalid.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidChainIdError`})}},FS=class extends N{constructor({attributes:e,serialized:t,type:n}){let r=Object.entries(e).map(([e,t])=>t===void 0?e:void 0).filter(Boolean);super(`Invalid serialized transaction of type \"${n}\" was provided.`,{metaMessages:[`Serialized Transaction: \"${t}\"`,r.length>0?`Missing Attributes: ${r.join(`, `)}`:``].filter(Boolean)}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.InvalidSerializedError`})}},IS=class extends N{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\\`maxPriorityFeePerGas\\`${e?` = ${MS(e)} gwei`:``}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${t?` = ${MS(t)} gwei`:``}).`].join(`\n`)),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TransactionEnvelope.TipAboveFeeCapError`})}};function LS(e){let t=Vx.Signature.fromDER(e).normalizeS();return{r:t.r,s:t.s}}z();function RS(e={}){let{credential:t,flag:n=5,rpId:r=window.location.hostname,signCount:i=0}=e,a=P(x_(gp(r)),F(n,{size:1}),F(i,{size:4}));if(!t)return a;let o=hp(new Uint8Array(16)),s=hp(t.id);return P(a,o,F(t.id.length,{size:2}),s,Ix(t.publicKey))}function zS(e){let{challenge:t,crossOrigin:n=!1,extraClientData:r,origin:i=window.location.origin,type:a=`webauthn.get`}=e;return JSON.stringify({type:a,challenge:fx(t,{url:!0,pad:!1}),origin:i,crossOrigin:n,...r})}dp(),yf(),z();function BS(e){let{credentialId:t,challenge:n,extensions:r,rpId:i=window.location.hostname,userVerification:a=`required`}=e;return{publicKey:{...t?{allowCredentials:Array.isArray(t)?t.map(e=>({id:mx(e),type:`public-key`})):[{id:mx(t),type:`public-key`}]}:{},challenge:Uf(n),...r&&{extensions:r},rpId:i,userVerification:a}}}function VS(e){let{challenge:t,crossOrigin:n,extraClientData:r,flag:i,origin:a,rpId:o,signCount:s,userVerification:c=`required`}=e,l=RS({flag:i,rpId:o,signCount:s}),u=zS({challenge:t,crossOrigin:n,extraClientData:r,origin:a}),d=x_(gp(u));return{metadata:{authenticatorData:l,clientDataJSON:u,challengeIndex:u.indexOf(`\"challenge\"`),typeIndex:u.indexOf(`\"type\"`),userVerificationRequired:c===`required`},payload:P(l,d)}}async function HS(e){let{getFn:t=e=>window.navigator.credentials.get(e),...n}=e,r=`publicKey`in n?n:BS(n);try{let e=await t(r);if(!e)throw new US;let n=e.response,i=new Uint8Array(n.clientDataJSON),a=new Uint8Array(n.authenticatorData),o=new Uint8Array(n.signature),s=e.id,c=String.fromCharCode(...i),l=c.indexOf(`\"challenge\"`),u=c.indexOf(`\"type\"`),d=LS(o);return{id:s,metadata:{authenticatorData:hp(a),clientDataJSON:c,challengeIndex:l,typeIndex:u,userVerificationRequired:r.publicKey.userVerification===`required`},signature:d,raw:e}}catch(e){throw new US({cause:e})}}var US=class extends N{constructor({cause:e}={}){super(`Failed to request credential.`,{cause:e}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`Authentication.SignFailedError`})}};function WS(e){let{challenge:t,metadata:n,origin:r,publicKey:i,rpId:a,signature:o}=e,{authenticatorData:s,clientDataJSON:c,userVerificationRequired:l}=n,u=Uf(s);if(u.length<37||a!==void 0&&!Gf(u.slice(0,32),x_(gp(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||hp(mx(f.challenge))!==t||r!==void 0&&!(Array.isArray(r)?r:[r]).includes(f.origin)?!1:Gx({hash:!0,payload:Bf(u,x_(Wf(c),{as:`Bytes`})),publicKey:i,signature:o})}let GS=VS;async function KS(e){return HS(e)}function qS(e){return WS(e)}dp();async function JS(e={}){let{extractable:t=!1}=e,n=await globalThis.crypto.subtle.generateKey({name:`ECDSA`,namedCurve:`P-256`},t,[`sign`,`verify`]),r=await globalThis.crypto.subtle.exportKey(`raw`,n.publicKey),i=w_(new Uint8Array(r));return{privateKey:n.privateKey,publicKey:i}}async function YS(e){let{payload:t,privateKey:n}=e,r=await globalThis.crypto.subtle.sign({name:`ECDSA`,hash:`SHA-256`},n,Vf(t)),i=Hf(new Uint8Array(r)),a=Zf(Xf(i,0,32)),o=Zf(Xf(i,32,64));return o>Vx.CURVE.n/2n&&(o=Vx.CURVE.n-o),{r:a,s:o}}yf(),z();let XS=2n**64n-1n,ZS=`0x${`00`.repeat(32)}`;function QS(e){let{owners:t,salt:n,threshold:r,version:i=0n}=e;if(n!==void 0&&L(n)!==32)throw new aC({reason:`salt must be 32 bytes`});if(oC(i),t.length===0)throw new aC({reason:`owners cannot be empty`});if(t.length>48)throw new aC({reason:`too many owners`});if(!Number.isInteger(Number(r)))throw new aC({reason:`threshold must be an integer`});if(Number(r)<1)throw new aC({reason:`threshold cannot be zero`});if(Number(r)>8)throw new aC({reason:`threshold exceeds max threshold`});let a=0,o=[],s;for(let e of t){if(!B_(e.owner)||R(e.owner)===0n)throw new aC({reason:`owner cannot be zero`});if(!Number.isInteger(Number(e.weight)))throw new aC({reason:`owner weight must be an integer`});if(Number(e.weight)<1)throw new aC({reason:`owner weight cannot be zero`});let t=R(e.owner);if(s!==void 0&&s>=t)throw new aC({reason:`owners must be strictly ascending`});s=t;let n=Number(e.weight);a+=n,o.push(n)}if(a>255)throw new aC({reason:`total owner weight exceeds u8 max`});if(Number(r)>a)throw new aC({reason:`threshold exceeds total owner weight`});let c=o.sort((e,t)=>t-e).slice(0,8).reduce((e,t)=>e+t,0);if(Number(r)>c)throw new aC({reason:`threshold exceeds weight reachable by 8 owner signatures`})}function $S(e){let t=e.version??0n;oC(t);let n={owners:[...e.owners].sort((e,t)=>R(e.owner)<R(t.owner)?-1:1),salt:e.salt?vp(e.salt,32):ZS,threshold:e.threshold,version:BigInt(t)};return QS(n),n}function eC(e){return $S({...e,version:R(e.version)})}function tC(e){let[t,n,r,i]=e;if(e.length!==4||typeof t!=`string`||L(t)!==32||typeof n!=`string`||L(n)>8||n.startsWith(`0x00`)||typeof r!=`string`||L(r)>1||r.startsWith(`0x00`)||!Array.isArray(i)||i.some(e=>!Array.isArray(e)||e.length!==2||typeof e[0]!=`string`||!B_(e[0])||typeof e[1]!=`string`||L(e[1])>1||e[1].startsWith(`0x00`)))throw new aC({reason:`invalid config RLP tuple`});let a={salt:t&&t!==`0x`?vp(t,32):ZS,version:n===`0x`?0n:R(n),threshold:r===`0x`?0:Cp(r),owners:i.map(e=>{let[t,n]=e;return{owner:t,weight:!n||n===`0x`?0:Cp(n)}})};return QS(a),a}function nC(e,t){if(F_(t.factory),QS(e),BigInt(e.version??0)!==0n)throw new aC({reason:`account address requires version zero`});let n=y_(P(gp(`tempo:multisig:account`),vp(e.salt??ZS,32),F(e.threshold,{size:1}),F(e.owners.length,{size:1}),...e.owners.flatMap(e=>[e.owner,F(e.weight,{size:1})]))),r=Fx({bytecodeHash:`0x583cc63a2e37f645b43eac911b1a6d6de08b83abdc308c61364edda8cfc3bd37`,from:t.factory,salt:n});if(R(r)===0n)throw new aC({reason:`derived account cannot be zero`});if(e.owners.some(e=>z_(e.owner,r)))throw new aC({reason:`derived account cannot be an owner`});return r}function rC(e){let{account:t,config:n,payload:r}=e;if(oC(n.version),F_(t),L(pp(r))!==32)throw new aC({reason:`payload must be 32 bytes`});return y_(P(gp(`tempo:multisig:signature`),pp(r),t,F(n.version??0n,{size:8})))}function iC(e){QS(e);let t=e.owners.map(e=>[e.owner,F(e.weight)]),n=e.salt?vp(e.salt,32):ZS,r=BigInt(e.version??0);return[n,r===0n?`0x`:F(r),F(e.threshold),t]}var aC=class extends N{constructor({reason:e}){super(`Invalid native multisig config: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigConfig.InvalidConfigError`})}};function oC(e){if(typeof e!=`bigint`&&typeof e!=`number`||typeof e==`number`&&!Number.isSafeInteger(e)||BigInt(e)<0n||BigInt(e)>XS)throw new aC({reason:`version must be an unsigned 64-bit integer`})}yf(),z(),Rf();let sC=`0x01`,cC=`0x02`,lC=`0x03`,uC=`0x04`,dC=`0x05`,fC=`0x7777777777777777777777777777777777777777777777777777777777777777`;function pC(e){let t=SC(e);if(t===`secp256k1`){Vv(e.signature);return}if(t===`p256`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),typeof t.prehash!=`boolean`&&n.push(`prehash`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new OC({envelope:e,missing:n,type:`p256`});return}if(t===`webAuthn`){let t=e,n=[];if(typeof t.signature?.r!=`bigint`&&n.push(`signature.r`),typeof t.signature?.s!=`bigint`&&n.push(`signature.s`),t.metadata?(t.metadata.authenticatorData||n.push(`metadata.authenticatorData`),t.metadata.clientDataJSON||n.push(`metadata.clientDataJSON`)):n.push(`metadata`),t.publicKey?(typeof t.publicKey.x!=`bigint`&&n.push(`publicKey.x`),typeof t.publicKey.y!=`bigint`&&n.push(`publicKey.y`)):n.push(`publicKey`),n.length>0)throw new OC({envelope:e,missing:n,type:`webAuthn`});return}if(t===`keychain`){let t=e;mC(t),pC(t.inner);return}if(t===`multisig`){hC(e);return}}function mC(e){if(e.version!==`v1`)return;let t=e.inner;for(;SC(t)===`keychain`;)t=t.inner;if(SC(t)===`multisig`)throw new AC({reason:`multisig access keys require keychain V2`})}function hC(e){let t=[];if(e.account||t.push(`account`),e.config||t.push(`config`),Array.isArray(e.signatures)||t.push(`signatures`),t.length>0)throw new OC({envelope:e,missing:t,type:`multisig`});if(!B_(e.account))throw new AC({reason:`multisig account is invalid`});if(R(e.account)===0n)throw new AC({reason:`multisig account cannot be zero`});if(e.signatures.length===0)throw new AC({reason:`multisig signatures cannot be empty`});if(e.signatures.length>8)throw new AC({reason:`multisig signatures exceed 8`});if(QS(e.config),(e.config.version??0n)===0n&&e.config.owners.some(t=>z_(t.owner,e.account)))throw new AC({reason:`initial account cannot be an owner`});for(let t of e.signatures){let e=SC(t);if(e===`keychain`||e===`multisig`)throw new AC({reason:`owner approvals must be primitive signatures`});if(pC(t),L(CC(t))>2049)throw new AC({reason:`multisig owner signature exceeds 2049 bytes`})}}function gC(e){let{signature:t,root:n}=e;return t.type===`keychain`?n?t.userAddress:gC({...e,signature:t.inner}):t.type===`multisig`?t.account:R_(_C(e))}function _C(e){let{payload:t,signature:n}=e;switch(n.type){case`secp256k1`:return py({payload:t,signature:n.signature});case`p256`:case`webAuthn`:return n.publicKey;case`keychain`:return _C({payload:t,signature:n.inner});case`multisig`:throw new DC({envelope:n})}}function vC(e){return yC(e)}function yC(e){let t=e.endsWith(`7777777777777777777777777777777777777777777777777777777777777777`)?I(e,0,-L(fC)):e;if(L(t)===65){let e=Uv(t);return Vv(e),{signature:e,type:`secp256k1`}}let n=I(t,0,1),r=I(t,1),i=L(r);if(n===sC){if(i!==129)throw new kC({reason:`Invalid P256 signature envelope size: expected 129 bytes, got ${i} bytes`,serialized:t});return{publicKey:{prefix:4,x:R(I(r,64,96)),y:R(I(r,96,128))},prehash:Cp(I(r,128,129))!==0,signature:{r:R(I(r,0,32)),s:R(I(r,32,64))},type:`p256`}}if(n===cC){if(i<128)throw new kC({reason:`Invalid WebAuthn signature envelope size: expected at least 128 bytes, got ${i} bytes`,serialized:t});let e=i-128,n=I(r,0,e),a,o;for(let t=37;t<e;t++){let e=wp(I(n,t));if(e.startsWith(`{`)&&e.endsWith(`}`))try{JSON.parse(e),a=I(n,0,t),o=e;break}catch{}}if(!a||!o)throw new kC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{publicKey:{prefix:4,x:R(I(r,e+64,e+96)),y:R(I(r,e+96,e+128))},metadata:{authenticatorData:a,clientDataJSON:o},signature:{r:R(I(r,e,e+32)),s:R(I(r,e+32,e+64))},type:`webAuthn`}}if(n===lC||n===uC){let e={userAddress:I(r,0,20),inner:yC(I(r,20)),type:`keychain`,version:n===uC?`v2`:`v1`};return pC(e),e}if(n===dC){let e=Av(r);if(!Array.isArray(e)||e.length!==3)throw new kC({reason:`invalid multisig wire shape: expected exactly three fields`,serialized:t});let[n,i,a]=e;if(typeof n!=`string`||!B_(n))throw new kC({reason:`invalid multisig account`,serialized:t});if(!Array.isArray(i))throw new kC({reason:`invalid multisig config`,serialized:t});if(!Array.isArray(a)||a.length===0||a.length>8)throw new kC({reason:`invalid multisig signatures list`,serialized:t});let o={type:`multisig`,account:n,config:tC(i),signatures:a.map(e=>{if(!Tp(e)||L(e)>2049)throw new kC({reason:`invalid multisig owner signature`,serialized:t});if(L(e)!==65&&![`0x01`,`0x02`].includes(I(e,0,1)))throw new kC({reason:`owner approvals must be primitive signatures`,serialized:t});return vC(e)})};return hC(o),o}throw new kC({reason:`Unknown signature type identifier: ${n}. Expected ${sC} (P256), ${cC} (WebAuthn), ${lC} (Keychain V1), ${uC} (Keychain V2), or ${dC} (Multisig)`,serialized:t})}function bC(e,t){if(typeof e==`string`)return vC(e);if(typeof e==`object`&&e&&`r`in e&&`s`in e&&`yParity`in e)return{signature:e,type:`secp256k1`};let n=SC(e);if(n===`multisig`){let t=e;return{...t,config:$S(t.config),signatures:t.signatures.map(e=>bC(e)),type:n}}return{...e,...n===`p256`?{prehash:e.prehash}:{},...n===`keychain`?{...typeof e==`object`&&e&&`version`in e&&e.version?{}:{version:`v2`},...typeof e==`object`&&`keyId`in e&&e.keyId?{}:(()=>{let n=e.inner;return n.type===`p256`||n.type===`webAuthn`?{keyId:R_(n.publicKey)}:n.type===`secp256k1`&&t?.payload?{keyId:R_(py({payload:t.payload,signature:n.signature}))}:{}})()}:{},type:n}}function xC(e){if(typeof e==`string`){let t=vC(P(dC,e));if(t.type!==`multisig`)throw new DC({envelope:e});return t}if(e.type===`secp256k1`)return{signature:qv(e),type:`secp256k1`};if(e.type===`p256`)return{prehash:e.preHash,publicKey:{prefix:4,x:R(e.pubKeyX),y:R(e.pubKeyY)},signature:{r:R(e.r),s:R(e.s)},type:`p256`};if(e.type===`webAuthn`){let t=e.webauthnData,n=L(t),r,i;for(let e=37;e<n;e++){let n=wp(I(t,e));if(n.startsWith(`{`)&&n.endsWith(`}`))try{JSON.parse(n),r=I(t,0,e),i=n;break}catch{}}if(!r||!i)throw new kC({reason:`Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON`,serialized:t});return{metadata:{authenticatorData:r,clientDataJSON:i},publicKey:{prefix:4,x:R(e.pubKeyX),y:R(e.pubKeyY)},signature:{r:R(e.r),s:R(e.s)},type:`webAuthn`}}if(e.type===`keychain`||`userAddress`in e&&`signature`in e){let t=e,n={type:`keychain`,userAddress:t.userAddress,inner:xC(t.signature),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}};return pC(n),n}throw new DC({envelope:e})}function SC(e){if(typeof e!=`object`||!e)throw new DC({envelope:e});if(`type`in e&&e.type)return e.type;if(`signature`in e&&!(`publicKey`in e)&&typeof e.signature==`object`&&e.signature!==null&&`r`in e.signature&&`s`in e.signature&&`yParity`in e.signature||`r`in e&&`s`in e&&`yParity`in e)return`secp256k1`;if(`signature`in e&&`prehash`in e&&`publicKey`in e&&typeof e.prehash==`boolean`)return`p256`;if(`signature`in e&&`metadata`in e&&`publicKey`in e)return`webAuthn`;if(`userAddress`in e&&`inner`in e)return`keychain`;if(`account`in e&&`config`in e&&`signatures`in e)return`multisig`;throw new DC({envelope:e})}function CC(e,t={}){let n=SC(e);if(n===`secp256k1`)return P(Yv(e.signature),t.magic?fC:`0x`);if(n===`p256`){let n=e;return P(sC,F(n.signature.r,{size:32}),F(n.signature.s,{size:32}),F(n.publicKey.x,{size:32}),F(n.publicKey.y,{size:32}),F(+!!n.prehash,{size:1}),t.magic?fC:`0x`)}if(n===`webAuthn`){let n=e,r=P(n.metadata.authenticatorData,gp(n.metadata.clientDataJSON));return P(cC,r,F(n.signature.r,{size:32}),F(n.signature.s,{size:32}),F(n.publicKey.x,{size:32}),F(n.publicKey.y,{size:32}),t.magic?fC:`0x`)}if(n===`keychain`){let n=e;return pC(n),P(n.version===`v1`?lC:uC,n.userAddress,CC(n.inner),t.magic?fC:`0x`)}if(n===`multisig`){let n=e;return pC(n),P(dC,Iv([n.account,iC(n.config),n.signatures.map(e=>CC(e))]),t.magic?fC:`0x`)}throw new DC({envelope:e})}function wC(e){let{signatures:t}=e,n=rC(e);return t.map(e=>({key:R(gC({payload:n,signature:e})),signature:e})).sort((e,t)=>e.key<t.key?-1:+(e.key>t.key)).map(e=>e.signature)}function TC(e){let t=SC(e);if(t===`secp256k1`)return{...Xv(e.signature),type:`secp256k1`};if(t===`p256`){let t=e;return{preHash:t.prehash,pubKeyX:F(t.publicKey.x,{size:32}),pubKeyY:F(t.publicKey.y,{size:32}),r:F(t.signature.r,{size:32}),s:F(t.signature.s,{size:32}),type:`p256`}}if(t===`webAuthn`){let t=e,n=P(t.metadata.authenticatorData,gp(t.metadata.clientDataJSON));return{pubKeyX:F(t.publicKey.x,{size:32}),pubKeyY:F(t.publicKey.y,{size:32}),r:F(t.signature.r,{size:32}),s:F(t.signature.s,{size:32}),type:`webAuthn`,webauthnData:n}}if(t===`keychain`){let t=e;return mC(t),{type:`keychain`,userAddress:t.userAddress,signature:TC(t.inner),...t.keyId?{keyId:t.keyId}:{},...t.version?{version:t.version}:{}}}if(t===`multisig`)return I(CC(e),1);throw new DC({envelope:e})}function EC(e,t){let{payload:n}=t,r=(()=>{if(t.address)return t.address;if(t.publicKey)return R_(t.publicKey)})();if(!r)return!1;let i=bC(e);if(i.type===`secp256k1`)return r?hy({address:r,payload:n,signature:i.signature}):!1;if(i.type===`p256`)return z_(R_(i.publicKey),r)?Gx({hash:i.prehash,publicKey:i.publicKey,payload:n,signature:i.signature}):!1;if(i.type===`webAuthn`)return z_(R_(i.publicKey),r)?qS({challenge:pp(n),metadata:i.metadata,publicKey:i.publicKey,signature:i.signature}):!1;throw new jC(`Unable to verify signature envelope of type \"${i.type}\".`)}var DC=class extends N{constructor({envelope:e}){super(`Unable to coerce value (\\`${If(e)}\\`) to a valid signature envelope.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.CoercionError`})}},OC=class extends N{constructor({envelope:e,missing:t,type:n}){super(`Signature envelope of type \"${n}\" is missing required properties: ${t.map(e=>`\\`${e}\\``).join(`, `)}.\\n\\nProvided: ${If(e)}`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.MissingPropertiesError`})}},kC=class extends N{constructor({reason:e,serialized:t}){super(`Unable to deserialize signature envelope: ${e}`,{metaMessages:[`Serialized: ${t}`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidSerializedError`})}},AC=class extends N{constructor({reason:e}){super(`Invalid native multisig owner approval: ${e}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.InvalidMultisigApprovalError`})}},jC=class extends N{constructor(){super(...arguments),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`SignatureEnvelope.VerificationError`})}};yf(),z();function MC(e){return e.startsWith(`tempo`)?NC(e).address:e}function NC(e){if(!e.startsWith(`tempox`))throw new PC({address:e});let t=e.slice(6);return fp(t,{strict:!0}),{address:I_(t)}}var PC=class extends N{constructor({address:e}){super(`Tempo address \"${e}\" has an invalid prefix. Expected \"tempox\".`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TempoAddress.InvalidPrefixError`})}};z();function FC(e,t={}){if(typeof e.chainId==`string`)return IC(e);let n={...e,address:MC(e.address)};return t.signature?{...n,signature:t.signature}:n}function IC(e){let{address:t,chainId:n,nonce:r}=e,i=xC(e.signature);return{address:t,chainId:Number(n),nonce:BigInt(r),signature:i}}function LC(e){return e.map(e=>IC(e))}function RC(e){let[t,n,r,i]=e,a={address:n,chainId:t===`0x`?0:Number(t),nonce:r===`0x`?0n:BigInt(r)};return i&&(a.signature=vC(i)),FC(a)}function zC(e){let t=[];for(let n of e)t.push(RC(n));return t}function BC(e){let{address:t,chainId:n,nonce:r,signature:i}=e;return{address:t,chainId:F(n),nonce:F(r),signature:TC(i)}}function VC(e){return e.map(e=>BC(e))}function HC(e){let{address:t,chainId:n,nonce:r}=e,i=e.signature?CC(e.signature):void 0;return[n?F(n):`0x`,t,r?F(r):`0x`,...i?[i]:[]]}function UC(e){if(!e||e.length===0)return[];let t=[];for(let n of e)t.push(HC(n));return t}z();let WC=`0x20c0`;function GC(e){let t=MC(e);if(!t.toLowerCase().startsWith(WC))throw Error(`invalid tip20 address.`);return R(I(t,6))}function KC(e){if(typeof e==`string`){let t=MC(e);return F_(t),t}let t=F(e,{size:18});return P(WC,t)}z();let qC=Sv(`address, address, address, address, bytes32, address, bytes32, address, uint256`),JC=Sv(`bytes32, bytes32, bytes32, uint256, address`),YC=Sv(`bytes32, bytes32, uint96`),XC=y_(gp(`EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)`)),ZC=y_(gp(`TIP20 Channel Reserve`)),QC=y_(gp(`1`)),$C=`0x0000000000000000000000000000000000000000`,ew=`0x4d50500000000000000000000000000000000000`,tw=y_(gp(`Voucher(bytes32 channelId,uint96 cumulativeAmount)`));function nw(e){let{authorizedSigner:t=$C,expiringNonceHash:n,operator:r=$C,payee:i,payer:a,salt:o,token:s}=e;return{authorizedSigner:ow(t),expiringNonceHash:n,operator:ow(r),payee:ow(i),payer:ow(a),salt:o,token:typeof s==`string`?ow(s):KC(s)}}function rw(e,t){let n=nw(e);return y_(bv(qC,[n.payer,n.payee,n.operator,n.token,n.salt,n.authorizedSigner,n.expiringNonceHash,ew,BigInt(t.chainId)]))}function iw(e){return y_(bv(JC,[XC,ZC,QC,BigInt(e.chainId),ew]))}function aw(e){let t=y_(bv(YC,[tw,e.channelId,e.cumulativeAmount]));return y_(P(`0x1901`,iw({chainId:e.chainId}),t))}function ow(e){return L_(e)}z();function sw(e,t={}){if(`keyId`in e)return cw(e);Sw(e.type,e.account);let n=e;n.witness!==void 0&&Cw(n.witness),n.signature&&ww(n.signature);let r={...n,...n.account===void 0?{}:{account:MC(n.account)},address:MC(n.address),...n.limits?{limits:n.limits.map(e=>({...e,token:MC(e.token)}))}:{},...n.scopes?{scopes:n.scopes.map(e=>({...e,address:MC(e.address),selector:xw(e.selector),...e.recipients?{recipients:e.recipients.map(e=>MC(e))}:{}}))}:{}};if(t.signature){let e=bC(t.signature);return ww(e),{...r,signature:e}}return r}function cw(e){let{allowedCalls:t,chainId:n,keyId:r,expiry:i,limits:a,keyType:o}=e,s=e.witness??void 0,c=e.isAdmin??void 0,l=e.account??void 0;Sw(o,l);let u=xC(e.signature);ww(u),s!==void 0&&Cw(s);let d=t?t.flatMap(e=>!e.selectorRules||e.selectorRules.length===0?[{address:e.target}]:e.selectorRules.map(t=>({address:e.target,selector:bw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}}))):void 0;return{address:r,chainId:n===`0x`?0n:R(n),...i==null?{}:{expiry:Number(i)},limits:a?.map(e=>({token:e.token,limit:BigInt(e.limit),...e.period&&yw(e.period)>0?{period:yw(e.period)}:{}})),...d?{scopes:d}:{},signature:u,...o===`multisig`?{account:l,type:o}:{type:o},...s===void 0?{}:{witness:s},...l===void 0?{}:{account:l},...c?{isAdmin:!0}:{}}}function lw(e){let[t,n]=e,[r,i,a,...o]=t,s=(()=>{switch(i){case`0x`:case`0x00`:return`secp256k1`;case`0x01`:return`p256`;case`0x02`:return`webAuthn`;case`0x03`:return`multisig`;default:throw Error(`Invalid key type: ${i}`)}})(),[c,l,u,d,f,p]=o,m=Tw(c)?void 0:yw(c)||void 0,h=Array.isArray(l)&&l.length>0?l.map(e=>{let[t,n,r]=e;return{token:t,limit:vw(n),...r===void 0?{}:{period:yw(r)}}}):void 0,g=Array.isArray(u)?u.flatMap(e=>{let[t,n]=e;return!Array.isArray(n)||n.length===0?[{address:t}]:n.map(e=>{let[n,r]=e;return{address:t,selector:n,...Array.isArray(r)&&r.length>0?{recipients:r}:{}}})}):void 0,_=Tw(d)?void 0:d;_!==void 0&&Cw(_);let v=(()=>{if(!Tw(f)){if(f!==`0x01`)throw new Dw(f);return!0}})(),y=Tw(p)?void 0:p;Sw(s,y);let b={address:a,chainId:r===`0x`?0n:R(r),...s===`multisig`?{account:y,type:s}:{type:s},...m===void 0?{}:{expiry:m},...h===void 0?{}:{limits:h},...g===void 0?{}:{scopes:g},..._===void 0?{}:{witness:_},...y===void 0?{}:{account:y},...v?{isAdmin:!0}:{}};if(n){let e=vC(n);ww(e),b.signature=e}return sw(b)}function uw(e){return fw(e)}function dw(e){return lw(Av(e))}function fw(e){let[t]=hw(e);return y_(Iv(t))}function pw(e){return Iv(hw(e))}function mw(e){Sw(e.type,e.account);let{address:t,scopes:n,chainId:r,expiry:i,limits:a,type:o,signature:s,witness:c,isAdmin:l,account:u}=e;ww(s),c!==void 0&&Cw(c);let d=(()=>{if(!n)return;let e=new Map;for(let t of n){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push({selector:xw(t.selector),...t.recipients&&t.recipients.length>0?{recipients:t.recipients}:{}})}return[...e.entries()].map(([e,t])=>({target:e,...t.length>0?{selectorRules:t}:{}}))})();return{chainId:r===0n?`0x`:F(r),expiry:typeof i==`number`?F(i):null,keyId:MC(t),...o===`multisig`?{account:u,keyType:o}:{keyType:o},limits:a?.map(({token:e,limit:t,period:n})=>({token:e,limit:F(t),...n?{period:_w(n)}:{}})),signature:TC(s),...d?{allowedCalls:d}:{},...c===void 0?{}:{witness:c},...l?{isAdmin:!0}:{},...u===void 0?{}:{account:u}}}function hw(e){Sw(e.type,e.account);let{address:t,chainId:n,scopes:r,expiry:i,limits:a,witness:o,isAdmin:s,account:c}=e;o!==void 0&&Cw(o);let l=(()=>{if(e.signature)return ww(e.signature),CC(e.signature)})(),u=e.type,d=(()=>{switch(u){case`secp256k1`:return`0x`;case`p256`:return`0x01`;case`webAuthn`:return`0x02`;case`multisig`:return`0x03`;default:throw Error(`Invalid key type: ${u}`)}})(),f=a?.map(e=>{let t=[e.token,gw(e.limit)];return e.period&&e.period>0&&t.push(_w(e.period)),t}),p=(()=>{if(!r)return;let e=new Map;for(let t of r){let n=t.address;e.has(n)||e.set(n,[]),t.selector&&e.get(n).push([xw(t.selector),t.recipients??[]])}return[...e.entries()].map(([e,t])=>[e,t.map(([e,t])=>[e,t])])})(),m=o!==void 0||s||c!==void 0,h=[{value:i!=null&&i!==0?_w(i):void 0,placeholder:`0x`},{value:f,placeholder:m?`0x`:[]},{value:p,placeholder:`0x`},{value:o,placeholder:`0x`},{value:s?`0x01`:void 0,placeholder:`0x`},{value:c,placeholder:`0x`}],g=-1;for(let e=h.length-1;e>=0;e--)if(h[e].value!==void 0){g=e;break}let _=h.slice(0,g+1).map(({value:e,placeholder:t})=>e??t);return[[gw(n),d,t,..._],...l?[l]:[]]}function gw(e){return e===0n?`0x`:F(e)}function _w(e){return e===0?`0x`:F(e)}function vw(e){return e===`0x`?0n:BigInt(e)}function yw(e){return e===`0x`?0:Cp(e)}function bw(e){return typeof e==`string`?e:Array.isArray(e)?hp(new Uint8Array(e)):e}function xw(e){if(e)return e.startsWith(`0x`)?e:Hy(e)}function Sw(e,t){if(e===`multisig`&&t==null)throw new kw}function Cw(e){if(L(e)!==32)throw new Ew(e)}function ww(e){if(e.type===`keychain`)throw new Ow(e.type)}function Tw(e){return e===void 0||e===`0x`}var Ew=class extends Error{constructor(e){super(`Witness \\`${e}\\` must be exactly 32 bytes (got ${L(e)} bytes).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidWitnessSizeError`})}},Dw=class extends Error{constructor(e){super(`Admin marker \\`${e}\\` is invalid; expected \\`0x01\\` (TIP-1049).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidAdminMarkerError`})}},Ow=class extends Error{constructor(e){super(`Signature type \\`${e}\\` is invalid for key authorizations; expected \\`secp256k1\\`, \\`p256\\`, \\`webAuthn\\`, or \\`multisig\\`.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.InvalidSignatureTypeError`})}},kw=class extends Error{constructor(){super(`Multisig key grants require a parent account binding.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`KeyAuthorization.MissingAccountError`})}};yf(),z();let Aw=`0x78`,jw=`tempo`;function Mw(e){let{calls:t,chainId:n,maxFeePerGas:r,maxPriorityFeePerGas:i,validBefore:a,validAfter:o}=e;if(!t||t.length===0)throw new Bw;if(typeof a==`number`&&typeof o==`number`&&a<=o)throw new Vw({validBefore:a,validAfter:o});if(t)for(let e of t)e.to&&F_(e.to,{strict:!1});if(n<=0)throw new PS({chainId:n});if(r&&BigInt(r)>2n**256n-1n)throw new NS({feeCap:r});if(i&&r&&i>r)throw new IS({maxFeePerGas:r,maxPriorityFeePerGas:i})}function Nw(e){let t=Av(I(e,1)),[n,r,i,a,o,s,c,l,u,d,f,p,m,h,g]=t,_=Array.isArray(h)?h:void 0,v=_?g:h;if(t.length!==13&&t.length!==14&&t.length!==15)throw new FS({attributes:{authorizationList:m,chainId:n,maxPriorityFeePerGas:r,maxFeePerGas:i,gas:a,calls:o,accessList:s,keyAuthorization:_,nonceKey:c,nonce:l,validBefore:u,validAfter:d,feeToken:f,feePayerSignatureOrSender:p,...t.length>12?{signature:v}:{}},serialized:e,type:jw});let y={chainId:Number(n),type:jw};Tp(a)&&a!==`0x`&&(y.gas=BigInt(a)),Tp(l)&&(y.nonce=l===`0x`?0n:BigInt(l)),Tp(i)&&i!==`0x`&&(y.maxFeePerGas=BigInt(i)),Tp(r)&&r!==`0x`&&(y.maxPriorityFeePerGas=BigInt(r)),Tp(c)&&(y.nonceKey=c===`0x`?0n:BigInt(c)),Tp(u)&&u!==`0x`&&(y.validBefore=Number(u)),Tp(d)&&d!==`0x`&&(y.validAfter=Number(d)),Tp(f)&&f!==`0x`&&(y.feeToken=f),o&&o!==`0x`&&(y.calls=o.map(e=>{let[t,n,r]=e,i={};return t&&t!==`0x`&&(i.to=t),n&&n!==`0x`&&(i.value=BigInt(n)),r&&r!==`0x`&&(i.data=r),i})),s?.length!==0&&s!==`0x`&&(y.accessList=ix(s)),m?.length!==0&&m!==`0x`&&(y.authorizationList=zC(m)),p!==`0x`&&p!==void 0&&(p===`0x00`||B_(p)?(y.feePayerSignature=null,B_(p)&&(y.from=p)):y.feePayerSignature=Jv(p)),_&&(y.keyAuthorization=lw(_));let b=v?vC(v):void 0;if(b&&(y={...y,signature:b}),!y.from&&b)try{y.from=gC({payload:Lw(Pw(y)),signature:b,root:!0})}catch{}return Mw(y),y}function Pw(e,t={}){let{feePayerSignature:n,signature:r}=t,i=typeof e==`string`?Nw(e):e;return i.from&&=MC(i.from),i.calls&&=i.calls.map(e=>({...e,...e.to?{to:MC(e.to)}:{}})),Mw(i),{...i,...r?{signature:bC(r)}:{},...n?{feePayerSignature:Gv(n)}:{},type:`tempo`}}function Fw(e,t={}){let{accessList:n,authorizationList:r,calls:i,chainId:a,feeToken:o,gas:s,keyAuthorization:c,nonce:l,nonceKey:u,maxFeePerGas:d,maxPriorityFeePerGas:f,validBefore:p,validAfter:m}=e;Mw(e);let h=ax(n),g=t.signature||e.signature,_=UC(r),v=i.map(e=>[e.to?MC(e.to):`0x`,e.value?F(e.value):`0x`,e.data??`0x`]),y=!1,b=(()=>{if(t.sender)return t.sender;if(t.format===`feePayer`&&g){let t=bC(g);if(t.type===`keychain`)return t.userAddress;if(t.type===`p256`||t.type===`webAuthn`)return R_(t.publicKey);if(t.type===`secp256k1`)return fy({payload:Lw(Pw(e)),signature:t.signature})}let n=t.feePayerSignature===void 0?e.feePayerSignature:t.feePayerSignature;return n===null?(y=!0,`0x00`):n?Zv(n):`0x`})(),x=[F(a),f?F(f):`0x`,d?F(d):`0x`,s?F(s):`0x`,v,h,u?F(u):`0x`,l?F(l):`0x`,typeof p==`number`?F(p):`0x`,typeof m==`number`?F(m):`0x`,!y&&(typeof o==`bigint`||typeof o==`string`)?KC(o):`0x`,b,_,...c?[hw(c)]:[],...g?[CC(bC(g))]:[]];return P(t.format===`feePayer`?Aw:`0x76`,Iv(x))}function Iw(e){return Fw({...e,signature:void 0,...e.feePayerSignature===void 0?{}:{feePayerSignature:null}})}function Lw(e,t={}){let n=Rw(e,{presign:!0});return t.from?y_(P(`0x04`,n,MC(t.from))):n}function Rw(e,t={}){return y_(t.presign?Iw(e):Fw(e))}function zw(e,t){let n=MC(t.sender);return y_(Fw({...e,signature:void 0},{sender:n,format:`feePayer`}))}var Bw=class extends N{constructor(){super(`Calls list cannot be empty.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.CallsEmptyError`})}},Vw=class extends N{constructor({validBefore:e,validAfter:t}){super(`validBefore (${e}) must be greater than validAfter (${t}).`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`TxEnvelopeTempo.InvalidValidityWindowError`})}};yf(),z();function Hw(e){let{account:t,config:n}=e;return rC({account:t,config:n,payload:e.type===`transaction`?Lw(Nw(e.transaction)):uw(dw(e.keyAuthorization))})}async function Uw(e){let{account:t,approvals:n,hash:r}=e;if(!B_(t)||R(t)===0n)throw new aT({reason:`account is invalid`});if(!S_(r))throw new aT({reason:`hash is invalid`});return qw({account:t,approvals:n,config:$S(e.config),hash:r})}function Ww(e,t){let n=dw(e);if(n.signature)throw new B({reason:`keyAuthorization must not contain a signature`});if(pw(n).toLowerCase()!==e.toLowerCase())throw new B({reason:`keyAuthorization is not canonically serialized`});let r=$S(t.config),i=wC({account:t.account,config:r,payload:uw(n),signatures:t.approvals.map(e=>$w(t.account,e,r))});return pw(sw(n,{signature:bC({account:t.account,config:r,signatures:i})}))}function Gw(e){try{let t=$S(e.config);if(typeof t.threshold!=`number`||t.owners.some(e=>typeof e.weight!=`number`))throw new B({reason:`config threshold and owner weights must be numbers`});let n={...e,config:t};if(Xw(n,t),n.type===`transaction`)Zw(n);else if(n.type===`keyAuthorization`)Qw(n,t);else throw new B({reason:`unknown operation type`});return n}catch(e){throw e instanceof B?e:new B({cause:e})}}function Kw(e){try{let t=e.config?.version;if(typeof t!=`string`||!Tp(t))throw new B({reason:`config.version must be a hexadecimal quantity`});if(F(R(t))!==t)throw new B({reason:`config.version must use canonical quantity encoding`});return Gw({...e,config:eC(e.config)})}catch(e){throw e instanceof B?e:new B({cause:e})}}async function qw(e){let t=new Map(e.config.owners.map(e=>[e.owner.toLowerCase(),{address:e.owner,weight:Number(e.weight)}])),n=new Map;for(let r of e.approvals){let i=bC(r);if(i.type===`keychain`||i.type===`multisig`)throw new aT({reason:`only primitive signatures can approve a multisig operation`});let a=gC({payload:e.hash,signature:i}),o=t.get(a.toLowerCase());if(!o)throw new aT({reason:`signature is from non-owner ${a}`});let s=a.toLowerCase(),c=n.get(s);c?c.signatures.push(i):n.set(s,{address:o.address,signatures:[i],weight:o.weight})}let r=[],i=[];for(let t of n.values()){let n=t.signatures.map(n=>{if(!EC(n,{address:t.address,payload:e.hash}))throw new aT({reason:`signature from owner ${t.address} is invalid`});return CC(n)}).sort(Yw)[0];r.push({address:t.address,signature:n,weight:t.weight}),i.push({address:t.address,signature:n})}let a=r.sort((e,t)=>t.weight-e.weight||Jw(e,t)),o=[],s=0;for(let t of a.slice(0,8)){if(s>=Number(e.config.threshold))break;o.push(t),s+=t.weight}return o.sort(Jw),{approvals:i.sort(Jw).map(e=>e.signature),selectedApprovals:o.map(e=>e.signature),signatureCount:o.length,threshold:Number(e.config.threshold),weight:s}}function Jw(e,t){let n=R(e.address),r=R(t.address);return n<r?-1:+(n>r)}function Yw(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n<r?-1:+(n>r)}function Xw(e,t){if(!B_(e.account))throw new B({reason:`account is invalid`});if(R(e.account)===0n)throw new B({reason:`account cannot be zero`});if(!S_(e.hash))throw new B({reason:`hash is invalid`});if(rT(e.createdAt,`createdAt`),rT(e.updatedAt,`updatedAt`),e.updatedAt<e.createdAt)throw new B({reason:`updatedAt cannot precede createdAt`});if(rT(e.signatureCount,`signatureCount`),rT(e.threshold,`threshold`),rT(e.weight,`weight`),e.threshold!==Number(t.threshold))throw new B({reason:`threshold must equal config.threshold`});if(e.weight>255)throw new B({reason:`weight exceeds u8 max`});if(e.signatureCount>8)throw new B({reason:`too many selected signatures`});if(!Array.isArray(e.approvals))throw new B({reason:`approvals must be an array`});if(e.approvals.length>t.owners.length)throw new B({reason:`too many retained approvals`});if(e.signatureCount>e.approvals.length)throw new B({reason:`signatureCount exceeds retained approvals`});if(e.signatureCount===0!=(e.weight===0))throw new B({reason:`signatureCount and weight must both be zero or nonzero`});let n=new Map(t.owners.map(e=>[e.owner.toLowerCase(),Number(e.weight)])),r=[],i=new Set;for(let a of e.approvals){if(typeof a!=`string`||!Tp(a,{strict:!0}))throw new B({reason:`approval is invalid`});let o=$w(e.account,a,t),s=gC({payload:e.hash,signature:o}).toLowerCase(),c=n.get(s);if(c===void 0)throw new B({reason:`approval is from a non-owner`});if(i.has(s))throw new B({reason:e.type===`keyAuthorization`?`key authorization contains duplicate owner approvals`:`duplicate owner approval`});i.add(s),r.push(c)}if(!tT(r,e.signatureCount,e.weight))throw new B({reason:`weight is not reachable by signatureCount retained owner approvals`})}function Zw(e){if(`keyAuthorization`in e&&e.keyAuthorization!==void 0)throw new B({reason:`transaction operations cannot contain keyAuthorization`});let t=e.expiresAt,n=e.submissionId,r=e.transactionHash;if(e.status===`pending`){if(t!==void 0||n!==void 0||r!==void 0)throw new B({reason:`pending transactions cannot contain submission fields`})}else if(e.status===`submitting`){if(rT(t,`expiresAt`),!S_(n??``))throw new B({reason:`submissionId is invalid`});if(n.toLowerCase()===e.hash.toLowerCase())throw new B({reason:`submissionId must differ from the operation hash`});if(r!==void 0)throw new B({reason:`submitting transactions cannot contain transactionHash`})}else if(e.status===`success`){if(!S_(r??``))throw new B({reason:`transactionHash is invalid`});if(t!==void 0||n!==void 0)throw new B({reason:`successful transactions cannot contain submission fields`})}else throw new B({reason:`invalid transaction status`});if(e.status!==`pending`&&(e.weight<e.threshold||e.signatureCount===0))throw new B({reason:`submitted transactions must have quorum`});if(typeof e.transaction!=`string`)throw new B({reason:`transaction is invalid`});let i=Nw(e.transaction);if(i.signature)throw new B({reason:`transaction must not contain an outer sender signature`});if(i.from&&i.from.toLowerCase()!==e.account.toLowerCase())throw new B({reason:`transaction sender does not match the operation account`});if(nT(e,Lw(i)),Fw(i,e.transaction.startsWith(Aw)?i.from?{format:`feePayer`,sender:i.from}:{format:`feePayer`}:{}).toLowerCase()!==e.transaction.toLowerCase())throw new B({reason:`transaction is not canonically serialized`})}function Qw(e,t){let n=e;if(n.expiresAt!==void 0||n.submissionId!==void 0||n.transaction!==void 0||n.transactionHash!==void 0)throw new B({reason:`key authorization operations cannot contain transaction fields`});if(e.status!==`pending`&&e.status!==`success`)throw new B({reason:`invalid key authorization status`});if(e.status===`success`&&(e.weight<e.threshold||e.signatureCount===0))throw new B({reason:`successful key authorizations must have quorum`});if(e.status===`pending`&&e.weight>=e.threshold)throw new B({reason:`pending key authorizations cannot have quorum`});if(typeof e.keyAuthorization!=`string`)throw new B({reason:`keyAuthorization is invalid`});let r=dw(e.keyAuthorization);if(!r.account||r.account.toLowerCase()!==e.account.toLowerCase())throw new B({reason:`key authorization account does not match the operation account`});let i=r.signature;if(e.status===`pending`&&i)throw new B({reason:`pending key authorizations must be unsigned`});if(e.status===`success`){if(i?.type!==`multisig`)throw new B({reason:`successful key authorizations require a multisig signature`});if(i.account.toLowerCase()!==e.account.toLowerCase())throw new B({reason:`key authorization signature account does not match`});if(i.signatures.length!==e.signatureCount)throw new B({reason:`key authorization signatureCount does not match its signature`});if(eT(e,i.signatures,r),!iT(i.config,t))throw new B({reason:`key authorization config does not match`})}if(nT(e,uw(r)),pw(r).toLowerCase()!==e.keyAuthorization.toLowerCase())throw new B({reason:`keyAuthorization is not canonically serialized`})}function $w(e,t,n){let r=vC(t);if(r.type===`keychain`||r.type===`multisig`)throw new B({reason:`only primitive owner approvals are allowed`});if(pC({account:e,config:n,signatures:[r],type:`multisig`}),CC(r).toLowerCase()!==t.toLowerCase())throw new B({reason:`approval is not canonical`});return r}function eT(e,t,n){let r=e.approvals.map(e=>vC(e));for(let e of t){let t=r.findIndex(t=>CC(t).toLowerCase()===CC(e).toLowerCase());if(t===-1)throw new B({reason:`key authorization signature is not a retained approval`});r.splice(t,1)}let i=rC({account:e.account,config:e.config,payload:uw(n)}),a=t.map(e=>gC({payload:i,signature:e}));for(let e=1;e<a.length;e++){let t=R(a[e-1]),n=R(a[e]);if(t===n)throw new B({reason:`key authorization contains duplicate owner approvals`});if(t>n)throw new B({reason:`key authorization approvals are not canonically ordered`})}}function tT(e,t,n){let r=Array.from({length:t+1},()=>new Set);r[0].add(0);for(let n of e)for(let e=t;e>0;e--)for(let t of r[e-1])r[e].add(t+n);return r[t].has(n)}function nT(e,t){if(rC({account:e.account,config:e.config,payload:t}).toLowerCase()!==e.hash.toLowerCase())throw new B({reason:`hash does not match the operation payload`})}function rT(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<0)throw new B({reason:`${t} must be a nonnegative safe integer`})}function iT(e,t){let n=$S(e),r=$S(t);return _p(n.salt??ZS,r.salt??ZS)&&n.threshold===r.threshold&&n.version===r.version&&n.owners.length===r.owners.length&&n.owners.every((e,t)=>{let n=r.owners[t];return z_(e.owner,n.owner)&&e.weight===n.weight})}var aT=class extends N{constructor(e={}){super(e.reason?`Invalid multisig approval: ${e.reason}.`:`Invalid multisig approval.`,{cause:e.cause}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigOperation.InvalidApprovalError`})}},B=class extends N{constructor(e={}){super(e.reason?`Invalid multisig operation: ${e.reason}.`:`Invalid multisig operation.`,{cause:e.cause}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigOperation.InvalidOperationError`})}};yf(),z();function oT(e){let{approvals:t,config:n}=e;return sT(t),{approvals:t.map(({keyData:e,keyType:t,owner:n})=>({...e===void 0?{}:{keyData:lT(e)},...t===void 0?{}:{keyType:t},owner:n})),config:cT(n)}}function sT(e){if(e.some(e=>typeof e!=`object`||!e||`spec`in e||`type`in e))throw new uT({reason:`only untagged primitive owner approvals are allowed`});if(e.length>8)throw new uT({reason:`approval count exceeds 8`})}function cT(e){return Iv(iC(e))}function lT(e){let t=L(e);return t<=4?e:F(t,{size:2})}var uT=class extends N{constructor(e){super(`Invalid multisig simulation: ${e.reason}.`),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`MultisigSimulation.InvalidSimulationError`})}};z();let dT={defaultAdmin:`DEFAULT_ADMIN_ROLE`,pause:`PAUSE_ROLE`,unpause:`UNPAUSE_ROLE`,issuer:`ISSUER_ROLE`,burnBlocked:`BURN_BLOCKED_ROLE`};function fT(e){return e===`defaultAdmin`?`0x0000000000000000000000000000000000000000000000000000000000000000`:y_(gp(dT[e]??e))}let pT={...gx,tempo:`0x76`},mT={..._x,\"0x76\":`tempo`};function hT(e,t={}){if(!e)return null;let n=vx(e);return n.type=mT[e.type],e.aaAuthorizationList&&(n.authorizationList=LC(e.aaAuthorizationList),delete n.aaAuthorizationList),e.calls&&(n.calls=e.calls.map(e=>({to:e.to,value:e.value&&e.value!==`0x`?BigInt(e.value):void 0,data:e.input||e.data||`0x`}))),e.feeToken&&(n.feeToken=e.feeToken),e.nonceKey&&(n.nonceKey=BigInt(e.nonceKey)),e.signature&&(n.signature=xC(e.signature)),e.validAfter&&(n.validAfter=Number(e.validAfter)),e.validBefore&&(n.validBefore=Number(e.validBefore)),e.keyAuthorization&&(n.keyAuthorization=cw(e.keyAuthorization)),e.feePayerSignature&&(n.feePayerSignature=qv(e.feePayerSignature),n.feePayerSignature.v=$v(n.feePayerSignature.yParity)),n}z();function gT(e){let t=kS({...e,authorizationList:void 0});e.authorizationList&&(t.authorizationList=VC(e.authorizationList)),e.calls?t.calls=e.calls.map(e=>({to:e.to?MC(e.to):e.to,value:e.value?F(e.value):`0x`,data:e.data??`0x`})):(e.to||e.data||e.value)&&(t.calls=[{to:e.to?MC(e.to):void 0,value:e.value?F(e.value):`0x`,data:e.data??`0x`}]),e.feeToken!==void 0&&(t.feeToken=KC(e.feeToken)),e.keyAuthorization&&(t.keyAuthorization=mw(e.keyAuthorization)),e.keyAuthorizationSimulation&&(t.keyAuthorizationSimulation=oT(e.keyAuthorizationSimulation)),e.multisigSimulation&&(t.multisigSimulation=oT(e.multisigSimulation)),e.validBefore!==void 0&&(t.validBefore=F(e.validBefore)),e.validAfter!==void 0&&(t.validAfter=F(e.validAfter));let n=(()=>{if(e.nonceKey===`random`)return bp(6);if(typeof e.nonceKey==`bigint`)return F(e.nonceKey)})();return n&&(t.nonceKey=n),(e.calls!==void 0||e.feePayer!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.multisigSimulation!==void 0||e.nonceKey!==void 0||e.validBefore!==void 0||e.validAfter!==void 0||e.type===`tempo`)&&(t.type=pT.tempo,delete t.data,delete t.input,delete t.to,delete t.value),t}yf();let _T={4217:{base:4217e5,range:100261e4},42431:{base:142431e4,range:723173648}},vT=4217;_T[vT].base;function yT(e,t=vT){let{base:n,range:r}=xT(t);return n+e%r}var bT=class extends N{constructor({sourceId:e}){super(`Source chain ID \"${e}\" is not supported.`,{metaMessages:[`Supported source chain IDs: 4217, 42431.`]}),Object.defineProperty(this,\"name\",{enumerable:!0,configurable:!0,writable:!0,value:`ZoneId.UnsupportedSourceIdError`})}};function xT(e){if(e===4217||e===42431)return _T[e];throw new bT({sourceId:e})}let ST=[{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]}],outputs:[]},{name:`authorizeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`tuple`,name:`config`,components:[{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`tuple[]`,name:`limits`,components:[{type:`address`,name:`token`},{type:`uint256`,name:`amount`},{type:`uint64`,name:`period`}]},{type:`bool`,name:`allowAnyCalls`},{type:`tuple[]`,name:`allowedCalls`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`authorizeAdminKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`uint8`,name:`signatureType`},{type:`bytes32`,name:`witness`}],outputs:[]},{name:`burnKeyAuthorizationWitness`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`witness`}],outputs:[]},{name:`revokeKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`}],outputs:[]},{name:`updateSpendingLimit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`token`},{type:`uint256`,name:`newLimit`}],outputs:[]},{name:`setAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}],outputs:[]},{name:`removeAllowedCalls`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`keyId`},{type:`address`,name:`target`}],outputs:[]},{name:`getKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`tuple`,components:[{type:`uint8`,name:`signatureType`},{type:`address`,name:`keyId`},{type:`uint64`,name:`expiry`},{type:`bool`,name:`enforceLimits`},{type:`bool`,name:`isRevoked`}]}]},{name:`getRemainingLimit`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`}]},{name:`getRemainingLimitWithPeriod`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`},{type:`address`,name:`token`}],outputs:[{type:`uint256`,name:`remaining`},{type:`uint64`,name:`periodEnd`}]},{name:`getAllowedCalls`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`,name:`isScoped`},{type:`tuple[]`,name:`scopes`,components:[{type:`address`,name:`target`},{type:`tuple[]`,name:`selectorRules`,components:[{type:`bytes4`,name:`selector`},{type:`address[]`,name:`recipients`}]}]}]},{name:`isKeyAuthorizationWitnessBurned`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`witness`}],outputs:[{type:`bool`}]},{name:`isAdminKey`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`address`,name:`keyId`}],outputs:[{type:`bool`}]},{name:`getTransactionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`KeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`uint8`,name:`signatureType`},{type:`uint64`,name:`expiry`}]},{name:`AdminKeyAuthorized`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`KeyRevoked`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0}]},{name:`SpendingLimitUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`newLimit`}]},{name:`AccessKeySpend`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`publicKey`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint256`,name:`remainingLimit`}]},{name:`KeyAuthorizationWitness`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`KeyAuthorizationWitnessBurned`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`witness`,indexed:!0}]},{name:`UnauthorizedCaller`,type:`error`,inputs:[]},{name:`KeyAlreadyExists`,type:`error`,inputs:[]},{name:`KeyNotFound`,type:`error`,inputs:[]},{name:`KeyExpired`,type:`error`,inputs:[]},{name:`SpendingLimitExceeded`,type:`error`,inputs:[]},{name:`InvalidSpendingLimit`,type:`error`,inputs:[]},{name:`InvalidSignatureType`,type:`error`,inputs:[]},{name:`ZeroPublicKey`,type:`error`,inputs:[]},{name:`ExpiryInPast`,type:`error`,inputs:[]},{name:`KeyAlreadyRevoked`,type:`error`,inputs:[]},{name:`SignatureTypeMismatch`,type:`error`,inputs:[{type:`uint8`,name:`expected`},{type:`uint8`,name:`actual`}]},{name:`CallNotAllowed`,type:`error`,inputs:[]},{name:`InvalidCallScope`,type:`error`,inputs:[]},{name:`InvalidKeyId`,type:`error`,inputs:[]},{name:`InvalidKeyAuthorizationWitness`,type:`error`,inputs:[]},{name:`KeyAuthorizationWitnessAlreadyBurned`,type:`error`,inputs:[]},{name:`LegacyAuthorizeKeySelectorChanged`,type:`error`,inputs:[{type:`bytes4`,name:`newSelector`}]}],CT=[{name:`registerVirtualMaster`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`salt`}],outputs:[{type:`bytes4`,name:`masterId`}]},{name:`getMaster`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes4`,name:`masterId`}],outputs:[{type:`address`}]},{name:`resolveRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`to`}],outputs:[{type:`address`,name:`effectiveRecipient`}]},{name:`resolveVirtualAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`virtualAddr`}],outputs:[{type:`address`,name:`master`}]},{name:`isVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`decodeVirtualAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`,name:`isVirtual`},{type:`bytes4`,name:`masterId`},{type:`bytes6`,name:`userTag`}]},{name:`isImplicitlyApproved`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`addr`}],outputs:[{type:`bool`}]},{name:`MasterRegistered`,type:`event`,inputs:[{type:`bytes4`,name:`masterId`,indexed:!0},{type:`address`,name:`masterAddress`,indexed:!0}]},{name:`MasterIdCollision`,type:`error`,inputs:[{type:`address`,name:`master`}]},{name:`InvalidMasterAddress`,type:`error`,inputs:[]},{name:`ProofOfWorkFailed`,type:`error`,inputs:[]},{name:`VirtualAddressUnregistered`,type:`error`,inputs:[]}],wT=[{name:`deriveAccount`,type:`function`,stateMutability:`pure`,inputs:[{type:`bytes32`,name:`salt`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}],outputs:[{type:`address`,name:`account`}]},{name:`getConfigCommitment`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bytes32`,name:`commitment`}]},{name:`updateConfig`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`current`,components:[{type:`bytes32`,name:`salt`},{type:`uint64`,name:`version`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}]},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}],outputs:[]},{name:`MultisigConfigUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`bytes32`,name:`salt`},{type:`uint64`,name:`version`},{type:`uint8`,name:`threshold`},{type:`tuple[]`,name:`owners`,components:[{type:`address`,name:`owner`},{type:`uint8`,name:`weight`}]}]},{name:`InvalidAccount`,type:`error`,inputs:[]},{name:`InvalidConfig`,type:`error`,inputs:[]},{name:`InvalidThreshold`,type:`error`,inputs:[]},{name:`InvalidMultisigOwner`,type:`error`,inputs:[]},{name:`InvalidWeight`,type:`error`,inputs:[]},{name:`TooManyOwners`,type:`error`,inputs:[]},{name:`DuplicateOwner`,type:`error`,inputs:[]},{name:`InvalidOwnerOrder`,type:`error`,inputs:[]},{name:`UnauthorizedMultisigCaller`,type:`error`,inputs:[]}],TT=[{name:`getCommitteeMembers`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`,name:`epoch`},{type:`bytes32[]`,name:`publicKeys`}]},{name:`setCommitteeMembers`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`},{type:`bytes32[]`,name:`publicKeys`}],outputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]}],ET=[{name:`getNonce`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint256`,name:`nonceKey`}],outputs:[{type:`uint64`,name:`nonce`}]},{name:`NonceIncremented`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint256`,name:`nonceKey`,indexed:!0},{type:`uint64`,name:`newNonce`}]},{name:`ProtocolNonceNotSupported`,type:`error`,inputs:[]},{name:`InvalidNonceKey`,type:`error`,inputs:[]},{name:`NonceOverflow`,type:`error`,inputs:[]},{name:`ExpiringNonceReplay`,type:`error`,inputs:[]},{name:`ExpiringNonceSetFull`,type:`error`,inputs:[]},{name:`InvalidExpiringNonceExpiry`,type:`error`,inputs:[]}],DT=[{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[{type:`uint256`,name:`amount`}]},{name:`claim`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`bytes`,name:`receipt`}],outputs:[]},{name:`burnBlockedReceipt`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes`,name:`receipt`}],outputs:[]},{name:`TransferBlocked`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint256`,name:`amount`},{type:`uint8`,name:`receiptVersion`},{type:`bytes`,name:`receipt`}]},{name:`ReceiptClaimed`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}]},{name:`ReceiptBurned`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`address`,name:`receiver`,indexed:!0},{type:`uint64`,name:`blockedNonce`,indexed:!0},{type:`uint64`,name:`blockedAt`},{type:`uint8`,name:`receiptVersion`},{type:`address`,name:`originator`},{type:`address`,name:`recipient`},{type:`address`,name:`recoveryAuthority`},{type:`address`,name:`caller`},{type:`uint256`,name:`amount`}]},{name:`InvalidReceipt`,type:`error`,inputs:[]},{name:`InvalidClaimAddress`,type:`error`,inputs:[]},{name:`UnauthorizedClaimer`,type:`error`,inputs:[]},{name:`AddressReserved`,type:`error`,inputs:[]}],OT=[{name:`recover`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`address`,name:`signer`}]},{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`signer`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychain`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`verifyKeychainAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`hash`},{type:`bytes`,name:`signature`}],outputs:[{type:`bool`}]},{name:`InvalidFormat`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]}],kT=[{name:`createPair`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`base`}],outputs:[{type:`bytes32`,name:`key`}]},{name:`place`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`placeFlip`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}],outputs:[{type:`uint128`,name:`orderId`}]},{name:`cancel`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`cancelStaleOrder`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[]},{name:`swapExactAmountIn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`},{type:`uint128`,name:`minAmountOut`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`swapExactAmountOut`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`},{type:`uint128`,name:`maxAmountIn`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`quoteSwapExactAmountIn`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountIn`}],outputs:[{type:`uint128`,name:`amountOut`}]},{name:`quoteSwapExactAmountOut`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`tokenIn`},{type:`address`,name:`tokenOut`},{type:`uint128`,name:`amountOut`}],outputs:[{type:`uint128`,name:`amountIn`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`},{type:`address`,name:`token`}],outputs:[{type:`uint128`}]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`}],outputs:[]},{name:`getOrder`,type:`function`,stateMutability:`view`,inputs:[{type:`uint128`,name:`orderId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`orderId`},{type:`address`,name:`maker`},{type:`bytes32`,name:`bookKey`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`remaining`},{type:`uint128`,name:`prev`},{type:`uint128`,name:`next`},{type:`bool`,name:`isFlip`},{type:`int16`,name:`flipTick`}]}]},{name:`getTickLevel`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`base`},{type:`int16`,name:`tick`},{type:`bool`,name:`isBid`}],outputs:[{type:`uint128`,name:`head`},{type:`uint128`,name:`tail`},{type:`uint128`,name:`totalLiquidity`}]},{name:`pairKey`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`tokenA`},{type:`address`,name:`tokenB`}],outputs:[{type:`bytes32`}]},{name:`nextOrderId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`books`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`pairKey`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`base`},{type:`address`,name:`quote`},{type:`int16`,name:`bestBidTick`},{type:`int16`,name:`bestAskTick`}]}]},{name:`bookIndexForKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`bookKey`}],outputs:[{type:`bool`,name:`set`},{type:`uint32`,name:`index`}]},{name:`bookKeyForIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`index`}],outputs:[{type:`bytes32`,name:`bookKey`}]},{name:`setBookIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`index`}],outputs:[]},{name:`storageCredits`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`uint64`,name:`credits`}]},{name:`MIN_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`MAX_TICK`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`TICK_SPACING`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`int16`}]},{name:`PRICE_SCALE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MIN_ORDER_AMOUNT`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint128`}]},{name:`MIN_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`MAX_PRICE`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint32`}]},{name:`tickToPrice`,type:`function`,stateMutability:`pure`,inputs:[{type:`int16`,name:`tick`}],outputs:[{type:`uint32`,name:`price`}]},{name:`priceToTick`,type:`function`,stateMutability:`pure`,inputs:[{type:`uint32`,name:`price`}],outputs:[{type:`int16`,name:`tick`}]},{name:`PairCreated`,type:`event`,inputs:[{type:`bytes32`,name:`key`,indexed:!0},{type:`address`,name:`base`,indexed:!0},{type:`address`,name:`quote`,indexed:!0}]},{name:`OrderPlaced`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`bool`,name:`isFlipOrder`},{type:`int16`,name:`flipTick`}]},{name:`OrderFilled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`taker`,indexed:!0},{type:`uint128`,name:`amountFilled`},{type:`bool`,name:`partialFill`}]},{name:`OrderFlipped`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`},{type:`bool`,name:`isBid`},{type:`int16`,name:`tick`},{type:`int16`,name:`flipTick`}]},{name:`FlipFailed`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0},{type:`address`,name:`maker`,indexed:!0},{type:`bytes4`,name:`reason`}]},{name:`OrderCancelled`,type:`event`,inputs:[{type:`uint128`,name:`orderId`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PairDoesNotExist`,type:`error`,inputs:[]},{name:`PairAlreadyExists`,type:`error`,inputs:[]},{name:`OrderDoesNotExist`,type:`error`,inputs:[]},{name:`IdenticalTokens`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TickOutOfBounds`,type:`error`,inputs:[{type:`int16`,name:`tick`}]},{name:`InvalidTick`,type:`error`,inputs:[]},{name:`InvalidFlipTick`,type:`error`,inputs:[]},{name:`InsufficientBalance`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientOutput`,type:`error`,inputs:[]},{name:`MaxInputExceeded`,type:`error`,inputs:[]},{name:`BelowMinimumOrderSize`,type:`error`,inputs:[{type:`uint128`,name:`amount`}]},{name:`InvalidBaseToken`,type:`error`,inputs:[]},{name:`OrderNotStale`,type:`error`,inputs:[]},{name:`IndexAlreadySet`,type:`error`,inputs:[]}],AT=[{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint64`}]},{name:`modeOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint8`}]},{name:`budgetOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint64`}]},{name:`setMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint8`,name:`newMode`}],outputs:[]},{name:`setBudget`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`credits`}],outputs:[]},{name:`InvalidMode`,type:`error`,inputs:[]},{name:`OnlyDirectCall`,type:`error`,inputs:[]}],jT=[{name:`userTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`user`}],outputs:[{type:`address`}]},{name:`validatorTokens`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`address`}]},{name:`setUserToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setValidatorToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`distributeFees`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[]},{name:`collectedFees`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`},{type:`address`,name:`token`}],outputs:[{type:`uint256`}]},{name:`UserTokenSet`,type:`event`,inputs:[{type:`address`,name:`user`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`ValidatorTokenSet`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0}]},{name:`FeesDistributed`,type:`event`,inputs:[{type:`address`,name:`validator`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientFeeTokenBalance`,type:`error`,inputs:[]},{name:`CannotChangeWithinBlock`,type:`error`,inputs:[]}],MT=[{name:`M`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`N`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`SCALE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MIN_LIQUIDITY`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPoolId`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`bytes32`}]},{name:`getPool`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`pools`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`tuple`,components:[{type:`uint128`,name:`reserveUserToken`},{type:`uint128`,name:`reserveValidatorToken`}]}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`liquidity`}]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`}],outputs:[{type:`uint256`}]},{name:`liquidityBalances`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`poolId`},{type:`address`,name:`user`}],outputs:[{type:`uint256`}]},{name:`rebalanceSwap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`userToken`},{type:`address`,name:`validatorToken`},{type:`uint256`,name:`amountOut`},{type:`address`,name:`to`}],outputs:[{type:`uint256`,name:`amountIn`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`sender`},{type:`address`,name:`to`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`uint256`,name:`amountUserToken`},{type:`uint256`,name:`amountValidatorToken`},{type:`uint256`,name:`liquidity`},{type:`address`,name:`to`}]},{name:`RebalanceSwap`,type:`event`,inputs:[{type:`address`,name:`userToken`,indexed:!0},{type:`address`,name:`validatorToken`,indexed:!0},{type:`address`,name:`swapper`,indexed:!0},{type:`uint256`,name:`amountIn`},{type:`uint256`,name:`amountOut`}]},{name:`IdenticalAddresses`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`InsufficientLiquidity`,type:`error`,inputs:[]},{name:`InsufficientReserves`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`DivisionByZero`,type:`error`,inputs:[]},{name:`InvalidSwapCalculation`,type:`error`,inputs:[]}],NT=[{name:`CLOSE_GRACE_PERIOD`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`VOUCHER_TYPEHASH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`open`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`uint96`,name:`deposit`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`}],outputs:[{type:`bytes32`,name:`channelId`}]},{name:`settle`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`topUp`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`additionalDeposit`}],outputs:[]},{name:`close`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`captureAmount`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`requestClose`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`withdraw`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[]},{name:`getChannel`,type:`function`,stateMutability:`view`,inputs:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]}],outputs:[{type:`tuple`,components:[{type:`tuple`,name:`descriptor`,components:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}]},{type:`tuple`,name:`state`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]}]},{name:`getChannelState`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`}],outputs:[{type:`tuple`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`getChannelStatesBatch`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32[]`,name:`channelIds`}],outputs:[{type:`tuple[]`,components:[{type:`uint96`,name:`settled`},{type:`uint96`,name:`deposit`},{type:`uint32`,name:`closeRequestedAt`}]}]},{name:`computeChannelId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`},{type:`address`,name:`payee`},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`bytes32`,name:`salt`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`expiringNonceHash`}],outputs:[{type:`bytes32`}]},{name:`getVoucherDigest`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`channelId`},{type:`uint96`,name:`cumulativeAmount`}],outputs:[{type:`bytes32`}]},{name:`domainSeparator`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`storageCredits`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`payer`}],outputs:[{type:`uint64`,name:`credits`}]},{name:`ChannelOpened`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`address`,name:`operator`},{type:`address`,name:`token`},{type:`address`,name:`authorizedSigner`},{type:`bytes32`,name:`salt`},{type:`bytes32`,name:`expiringNonceHash`},{type:`uint96`,name:`deposit`}]},{name:`Settled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`cumulativeAmount`},{type:`uint96`,name:`deltaPaid`},{type:`uint96`,name:`newSettled`}]},{name:`TopUp`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`additionalDeposit`},{type:`uint96`,name:`newDeposit`}]},{name:`CloseRequested`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint256`,name:`closeGraceEnd`}]},{name:`ChannelClosed`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0},{type:`uint96`,name:`settledToPayee`},{type:`uint96`,name:`refundedToPayer`}]},{name:`CloseRequestCancelled`,type:`event`,inputs:[{type:`bytes32`,name:`channelId`,indexed:!0},{type:`address`,name:`payer`,indexed:!0},{type:`address`,name:`payee`,indexed:!0}]},{name:`ChannelAlreadyExists`,type:`error`,inputs:[]},{name:`ChannelNotFound`,type:`error`,inputs:[]},{name:`NotPayer`,type:`error`,inputs:[]},{name:`NotPayeeOrOperator`,type:`error`,inputs:[]},{name:`InvalidPayee`,type:`error`,inputs:[]},{name:`ZeroDeposit`,type:`error`,inputs:[]},{name:`ExpiringNonceHashNotSet`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`AmountExceedsDeposit`,type:`error`,inputs:[]},{name:`AmountNotIncreasing`,type:`error`,inputs:[]},{name:`CaptureAmountInvalid`,type:`error`,inputs:[]},{name:`CloseNotReady`,type:`error`,inputs:[]},{name:`DepositOverflow`,type:`error`,inputs:[]}],PT=[{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`createToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`},{type:`string`,name:`logoURI`}],outputs:[{type:`address`}]},{name:`isTIP20`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`getTokenAddress`,type:`function`,stateMutability:`pure`,inputs:[{type:`address`,name:`sender`},{type:`bytes32`,name:`salt`}],outputs:[{type:`address`}]},{name:`TokenCreated`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`},{type:`address`,name:`quoteToken`},{type:`address`,name:`admin`},{type:`bytes32`,name:`salt`}]},{name:`AddressReserved`,type:`error`,inputs:[]},{name:`AddressNotReserved`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`TokenAlreadyExists`,type:`error`,inputs:[{type:`address`,name:`token`}]}],V=[{name:`name`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`symbol`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`decimals`,type:`function`,stateMutability:`pure`,inputs:[],outputs:[{type:`uint8`}]},{name:`totalSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`quoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`nextQuoteToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`balanceOf`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint256`}]},{name:`transfer`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`approve`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`spender`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`allowance`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`}],outputs:[{type:`uint256`}]},{name:`transferFrom`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[{type:`bool`}]},{name:`mint`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`burn`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`currency`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`supplyCap`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`transferPolicyId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`logoURI`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setLogoURI`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`newLogoURI`}],outputs:[]},{name:`burnBlocked`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`uint256`,name:`amount`}],outputs:[]},{name:`mintWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`burnWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[]},{name:`transferFromWithMemo`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`from`},{type:`address`,name:`to`},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`}],outputs:[{type:`bool`}]},{name:`changeTransferPolicyId`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newPolicyId`}],outputs:[]},{name:`setSupplyCap`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`newSupplyCap`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`unpause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`setNextQuoteToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newQuoteToken`}],outputs:[]},{name:`completeQuoteTokenUpdate`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`PAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`UNPAUSE_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`ISSUER_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`BURN_BLOCKED_ROLE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`permit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`owner`},{type:`address`,name:`spender`},{type:`uint256`,name:`value`},{type:`uint256`,name:`deadline`},{type:`uint8`,name:`v`},{type:`bytes32`,name:`r`},{type:`bytes32`,name:`s`}],outputs:[]},{name:`nonces`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`owner`}],outputs:[{type:`uint256`}]},{name:`DOMAIN_SEPARATOR`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`distributeReward`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`amount`}],outputs:[]},{name:`setRewardRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`recipient`}],outputs:[]},{name:`claimRewards`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[{type:`uint256`}]},{name:`optedInSupply`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`globalRewardPerToken`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`userRewardInfo`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`tuple`,components:[{type:`address`,name:`rewardRecipient`},{type:`uint256`,name:`rewardPerToken`},{type:`uint256`,name:`rewardBalance`}]}]},{name:`getPendingRewards`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`uint128`}]},{name:`Transfer`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Approval`,type:`event`,inputs:[{type:`address`,name:`owner`,indexed:!0},{type:`address`,name:`spender`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Mint`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`Burn`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`BurnBlocked`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`TransferWithMemo`,type:`event`,inputs:[{type:`address`,name:`from`,indexed:!0},{type:`address`,name:`to`,indexed:!0},{type:`uint256`,name:`amount`},{type:`bytes32`,name:`memo`,indexed:!0}]},{name:`TransferPolicyUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint64`,name:`newPolicyId`,indexed:!0}]},{name:`SupplyCapUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`uint256`,name:`newSupplyCap`,indexed:!0}]},{name:`PauseStateUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`bool`,name:`isPaused`}]},{name:`NextQuoteTokenSet`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`nextQuoteToken`,indexed:!0}]},{name:`QuoteTokenUpdate`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`newQuoteToken`,indexed:!0}]},{name:`RewardDistributed`,type:`event`,inputs:[{type:`address`,name:`funder`,indexed:!0},{type:`uint256`,name:`amount`}]},{name:`RewardRecipientSet`,type:`event`,inputs:[{type:`address`,name:`holder`,indexed:!0},{type:`address`,name:`recipient`,indexed:!0}]},{name:`LogoURIUpdated`,type:`event`,inputs:[{type:`address`,name:`updater`,indexed:!0},{type:`string`,name:`newLogoURI`}]},{name:`InsufficientBalance`,type:`error`,inputs:[{type:`uint256`,name:`available`},{type:`uint256`,name:`required`},{type:`address`,name:`token`}]},{name:`InsufficientAllowance`,type:`error`,inputs:[]},{name:`SupplyCapExceeded`,type:`error`,inputs:[]},{name:`InvalidSupplyCap`,type:`error`,inputs:[]},{name:`InvalidPayload`,type:`error`,inputs:[]},{name:`PolicyForbids`,type:`error`,inputs:[]},{name:`InvalidRecipient`,type:`error`,inputs:[]},{name:`ContractPaused`,type:`error`,inputs:[]},{name:`InvalidCurrency`,type:`error`,inputs:[]},{name:`InvalidQuoteToken`,type:`error`,inputs:[]},{name:`InvalidAmount`,type:`error`,inputs:[]},{name:`NoOptedInSupply`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ProtectedAddress`,type:`error`,inputs:[]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`Uninitialized`,type:`error`,inputs:[]},{name:`InvalidTransferPolicyId`,type:`error`,inputs:[]},{name:`PermitExpired`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`LogoURITooLong`,type:`error`,inputs:[]},{name:`InvalidLogoURI`,type:`error`,inputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`bytes32`,name:`role`}],outputs:[{type:`bool`}]},{name:`getRoleAdmin`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`role`}],outputs:[{type:`bytes32`}]},{name:`grantRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`revokeRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`address`,name:`account`}],outputs:[]},{name:`renounceRole`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`}],outputs:[]},{name:`setRoleAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`role`},{type:`bytes32`,name:`adminRole`}],outputs:[]},{name:`RoleMembershipUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`bool`,name:`hasRole`}]},{name:`RoleAdminUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`role`,indexed:!0},{type:`bytes32`,name:`newAdminRole`,indexed:!0},{type:`address`,name:`sender`,indexed:!0}]},{name:`Unauthorized`,type:`error`,inputs:[]}],FT=[{name:`policyIdCounter`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`policyExists`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`bool`}]},{name:`tokenTransferPolicyId`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`,name:`isSet`},{type:`uint64`,name:`policyId`}]},{name:`policyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint8`,name:`policyType`},{type:`address`,name:`admin`}]},{name:`isAuthorized`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedSender`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`isAuthorizedMintRecipient`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`user`}],outputs:[{type:`bool`}]},{name:`compoundPolicyData`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`policyId`}],outputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`receivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`,name:`hasReceivePolicy`},{type:`uint64`,name:`senderPolicyId`},{type:`uint8`,name:`senderPolicyType`},{type:`uint64`,name:`tokenFilterId`},{type:`uint8`,name:`tokenFilterType`},{type:`address`,name:`recoveryAuthority`}]},{name:`validateReceivePolicy`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`sender`},{type:`address`,name:`receiver`}],outputs:[{type:`bool`,name:`authorized`},{type:`uint8`,name:`blockedReason`}]},{name:`createPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`}],outputs:[{type:`uint64`}]},{name:`createPolicyWithAccounts`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`admin`},{type:`uint8`,name:`policyType`},{type:`address[]`,name:`accounts`}],outputs:[{type:`uint64`}]},{name:`setPolicyAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`admin`}],outputs:[]},{name:`modifyPolicyWhitelist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`modifyPolicyBlacklist`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`policyId`},{type:`address`,name:`account`},{type:`bool`,name:`restricted`}],outputs:[]},{name:`createCompoundPolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}],outputs:[{type:`uint64`}]},{name:`setReceivePolicy`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}],outputs:[]},{name:`migrateTransferPolicyIds`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address[]`,name:`tokens`}],outputs:[{type:`uint256`,name:`migrated`}]},{name:`PolicyAdminUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`admin`,indexed:!0}]},{name:`PolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`uint8`,name:`policyType`}]},{name:`WhitelistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`allowed`}]},{name:`BlacklistUpdated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`updater`,indexed:!0},{type:`address`,name:`account`,indexed:!0},{type:`bool`,name:`restricted`}]},{name:`CompoundPolicyCreated`,type:`event`,inputs:[{type:`uint64`,name:`policyId`,indexed:!0},{type:`address`,name:`creator`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`recipientPolicyId`},{type:`uint64`,name:`mintRecipientPolicyId`}]},{name:`ReceivePolicyUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint64`,name:`senderPolicyId`},{type:`uint64`,name:`tokenFilterId`},{type:`address`,name:`recoveryAuthority`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`PolicyNotFound`,type:`error`,inputs:[]},{name:`PolicyNotSimple`,type:`error`,inputs:[]},{name:`InvalidPolicyType`,type:`error`,inputs:[]},{name:`IncompatiblePolicyType`,type:`error`,inputs:[]},{name:`VirtualAddressNotAllowed`,type:`error`,inputs:[]},{name:`InvalidReceivePolicyType`,type:`error`,inputs:[]},{name:`InvalidRecoveryAuthority`,type:`error`,inputs:[]}],IT=[{name:`getActiveValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getInitializedAtHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`validatorByIndex`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`index`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByAddress`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validatorAddress`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`validatorByPublicKey`,type:`function`,stateMutability:`view`,inputs:[{type:`bytes32`,name:`publicKey`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`uint64`,name:`index`},{type:`uint64`,name:`addedAtHeight`},{type:`uint64`,name:`deactivatedAtHeight`}]}]},{name:`getNextNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`isInitialized`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`},{type:`bytes`,name:`signature`}],outputs:[{type:`uint64`,name:`index`}]},{name:`deactivateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`rotateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`bytes`,name:`signature`}],outputs:[]},{name:`setFeeRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`feeRecipient`}],outputs:[]},{name:`setIpAddresses`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`}],outputs:[]},{name:`transferValidatorOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`},{type:`address`,name:`newAddress`}],outputs:[]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`setNetworkIdentityRotationEpoch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`migrateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`idx`}],outputs:[]},{name:`initializeIfMigrated`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`ValidatorAdded`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`feeRecipient`}]},{name:`ValidatorDeactivated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0}]},{name:`ValidatorRotated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`uint64`,name:`deactivatedIndex`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`oldPublicKey`},{type:`bytes32`,name:`newPublicKey`},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`FeeRecipientUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`feeRecipient`},{type:`address`,name:`caller`}]},{name:`IpAddressesUpdated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`string`,name:`ingress`},{type:`string`,name:`egress`},{type:`address`,name:`caller`}]},{name:`ValidatorOwnershipTransferred`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`oldAddress`,indexed:!0},{type:`address`,name:`newAddress`,indexed:!0},{type:`address`,name:`caller`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`oldOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ValidatorMigrated`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`NetworkIdentityRotationEpochSet`,type:`event`,inputs:[{type:`uint64`,name:`previousEpoch`,indexed:!0},{type:`uint64`,name:`nextEpoch`,indexed:!0}]},{name:`Initialized`,type:`event`,inputs:[{type:`uint64`,name:`height`}]},{name:`SkippedValidatorMigration`,type:`event`,inputs:[{type:`uint64`,name:`index`,indexed:!0},{type:`address`,name:`validatorAddress`,indexed:!0},{type:`bytes32`,name:`publicKey`}]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`IngressAlreadyExists`,type:`error`,inputs:[{type:`string`,name:`ingress`}]},{name:`EmptyV1ValidatorSet`,type:`error`,inputs:[]},{name:`InvalidMigrationIndex`,type:`error`,inputs:[]},{name:`InvalidOwner`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`InvalidSignature`,type:`error`,inputs:[]},{name:`InvalidSignatureFormat`,type:`error`,inputs:[]},{name:`InvalidValidatorAddress`,type:`error`,inputs:[]},{name:`MigrationNotComplete`,type:`error`,inputs:[]},{name:`NotInitialized`,type:`error`,inputs:[]},{name:`NotIp`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`PublicKeyAlreadyExists`,type:`error`,inputs:[]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`AddressAlreadyHasValidator`,type:`error`,inputs:[]},{name:`ValidatorAlreadyDeactivated`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]}],LT=[{name:`getValidators`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,name:`validators`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`addValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`updateValidator`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newValidatorAddress`},{type:`bytes32`,name:`publicKey`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}],outputs:[]},{name:`changeValidatorStatus`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`validator`},{type:`bool`,name:`active`}],outputs:[]},{name:`changeValidatorStatusByIndex`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`index`},{type:`bool`,name:`active`}],outputs:[]},{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`changeOwner`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`getNextFullDkgCeremony`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setNextFullDkgCeremony`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`epoch`}],outputs:[]},{name:`validatorsArray`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`validators`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`validator`}],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`publicKey`},{type:`bool`,name:`active`},{type:`uint64`,name:`index`},{type:`address`,name:`validatorAddress`},{type:`string`,name:`inboundAddress`},{type:`string`,name:`outboundAddress`}]}]},{name:`validatorCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`Unauthorized`,type:`error`,inputs:[]},{name:`ValidatorAlreadyExists`,type:`error`,inputs:[]},{name:`ValidatorNotFound`,type:`error`,inputs:[]},{name:`InvalidPublicKey`,type:`error`,inputs:[]},{name:`NotHostPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]},{name:`NotIpPort`,type:`error`,inputs:[{type:`string`,name:`field`},{type:`string`,name:`input`},{type:`string`,name:`backtrace`}]}],RT=[{name:`owner`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`transferOwnership`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newOwner`}],outputs:[]},{name:`createZone`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`params`,components:[{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address[]`,name:`allowedAccounts`},{type:`address[]`,name:`zoneGateways`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`string`,name:`rpcUrl`}]}],outputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`}]},{name:`nextZoneId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`zones`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`id`}],outputs:[{type:`tuple`,name:`info`,components:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`},{type:`string`,name:`rpcUrl`}]}]},{name:`isZonePortal`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`portal`}],outputs:[{type:`bool`}]},{name:`OwnershipTransferred`,type:`event`,inputs:[{type:`address`,name:`previousOwner`,indexed:!0},{type:`address`,name:`newOwner`,indexed:!0}]},{name:`ZoneCreated`,type:`event`,inputs:[{type:`uint32`,name:`zoneId`,indexed:!0},{type:`address`,name:`portal`,indexed:!0},{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address`,name:`admin`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`}]},{name:`InvalidToken`,type:`error`,inputs:[]},{name:`TokenTransferPolicyNotSet`,type:`error`,inputs:[]},{name:`InvalidClosedLoopConfig`,type:`error`,inputs:[]},{name:`NotOwner`,type:`error`,inputs:[]},{name:`InvalidAdmin`,type:`error`,inputs:[]},{name:`InvalidSequencerSet`,type:`error`,inputs:[]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`TokenMetadataTooLong`,type:`error`,inputs:[]},{name:`DuplicateAllowedAccount`,type:`error`,inputs:[]},{name:`DuplicateZoneGateway`,type:`error`,inputs:[]},{name:`ZoneCreated`,type:`event`,inputs:[{type:`uint32`,name:`zoneId`,indexed:!0},{type:`address`,name:`portal`,indexed:!0},{type:`address`,name:`messenger`,indexed:!0},{type:`address`,name:`initialToken`},{type:`address`,name:`admin`},{type:`address`,name:`sequencer`},{type:`address`,name:`verifier`},{type:`bytes32`,name:`genesisBlockHash`},{type:`bytes32`,name:`genesisTempoBlockHash`},{type:`uint64`,name:`genesisTempoBlockNumber`}]},{name:`createZone`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple`,name:`params`,components:[{type:`address`,name:`initialToken`},{type:`address`,name:`admin`},{type:`address`,name:`sequencer`},{type:`address`,name:`verifier`},{type:`tuple`,name:`zoneParams`,components:[{type:`bytes32`,name:`genesisBlockHash`},{type:`bytes32`,name:`genesisTempoBlockHash`},{type:`uint64`,name:`genesisTempoBlockNumber`}]},{type:`string`,name:`rpcUrl`}]}],outputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`portal`}]},{name:`verifier`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]}],zT=[{name:`SequencerSetUpdated`,type:`event`,inputs:[{type:`uint64`,name:`nonce`,indexed:!0},{type:`uint8`,name:`threshold`},{type:`address[]`,name:`sequencers`}]},{name:`TokenEnabled`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0},{type:`string`,name:`name`},{type:`string`,name:`symbol`},{type:`string`,name:`currency`}]},{name:`RoleUpdated`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0},{type:`uint8`,name:`prev`},{type:`uint8`,name:`next`}]},{name:`EnforcementModesUpdated`,type:`event`,inputs:[{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`}]},{name:`LeaderUpdated`,type:`event`,inputs:[{type:`address`,name:`previousLeader`,indexed:!0},{type:`address`,name:`newLeader`,indexed:!0},{type:`uint64`,name:`leaderEpoch`,indexed:!0},{type:`uint64`,name:`leaderActivationTempoBlock`}]},{name:`zoneId`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`admin`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`messenger`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`isAccessEnforced`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`setAccessMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bool`,name:`enforced`}],outputs:[]},{name:`isGatewayOpen`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`setGatewayMode`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bool`,name:`enforced`}],outputs:[]},{name:`hasRole`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`},{type:`uint8`,name:`role`}],outputs:[{type:`bool`}]},{name:`setAllowedAccount`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setGateway`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setPauseGuardian`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`account`},{type:`bool`,name:`allowed`}],outputs:[]},{name:`setSequencerSet`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address[]`,name:`newSequencers`},{type:`uint8`,name:`newThreshold`}],outputs:[]},{name:`verifier`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`sequencerSetVersion`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`sequencerThreshold`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint8`}]},{name:`zoneHeight`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`isSequencer`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`account`}],outputs:[{type:`bool`}]},{name:`sequencerCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`sequencerAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`leader`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`leaderEpoch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`leaderActivationTempoBlock`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`setLeader`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newLeader`},{type:`uint64`,name:`expectedEpoch`}],outputs:[]},{name:`withdrawalBatchIndex`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`blockHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`currentDepositQueueHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`lastSyncedTempoBlockNumber`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`withdrawalQueueHead`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`withdrawalQueueTail`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`withdrawalQueueSlot`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`queueIndex`}],outputs:[{type:`bytes32`}]},{name:`calculateDepositFee`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`,name:`fee`}]},{name:`calculateBouncebackFee`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`,name:`fee`}]},{name:`depositCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`lastProcessedDepositNumber`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`FIXED_DEPOSIT_GAS`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_GAS_FEE_RATE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_TOKEN_METADATA_BYTES`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`areDepositsActive`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`tokenConfig`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`tuple`,components:[{type:`bool`,name:`enabled`},{type:`bool`,name:`depositsActive`}]}]},{name:`initialize`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`initialToken`},{type:`bool`,name:`accessMode`},{type:`bool`,name:`gatewayMode`},{type:`address[]`,name:`allowedAccounts`},{type:`address[]`,name:`zoneGateways`},{type:`address`,name:`admin`},{type:`address`,name:`messenger`},{type:`address[]`,name:`sequencers`},{type:`uint8`,name:`threshold`},{type:`address`,name:`verifier`},{type:`string`,name:`rpcUrl`}],outputs:[]},{name:`deliverWithdrawal`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`to`},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`bytes`,name:`callbackData`}],outputs:[]},{name:`MAX_DEPOSITS_PER_TEMPO_BLOCK`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`MAX_WITHDRAWAL_GAS_LIMIT`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`paused`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bool`}]},{name:`pauseExpiry`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`abdicationEffectiveAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint8`,name:`capability`}],outputs:[{type:`uint64`}]},{name:`processWithdrawals`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`tuple[]`,name:`withdrawals`,components:[{type:`address`,name:`token`},{type:`bytes32`,name:`senderTag`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`callbackData`},{type:`bytes`,name:`encryptedSender`}]},{type:`bytes32`,name:`remainingQueue`}],outputs:[]},{name:`pause`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`resume`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`abdicate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint8`,name:`capability`}],outputs:[]},{name:`submitBatch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`recentTempoBlockNumber`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`},{type:`uint256`,name:`nextZoneHeight`},{type:`bytes[]`,name:`signatures`}],outputs:[]},{name:`enableToken`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`pauseDeposits`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`resumeDeposits`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[]},{name:`setZoneGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`newZoneGasRate`}],outputs:[]},{name:`setMaxTempoGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`newMaxTempoGasRate`}],outputs:[]},{name:`setBouncebackGas`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`newBouncebackGas`}],outputs:[]},{name:`transferAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`newAdmin`}],outputs:[]},{name:`acceptAdmin`,type:`function`,stateMutability:`nonpayable`,inputs:[],outputs:[]},{name:`rpcUrl`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`string`}]},{name:`setRpcUrl`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`string`,name:`rpcUrl`}],outputs:[]},{name:`deposit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint256`,name:`keyIndex`},{type:`tuple`,name:`encrypted`,components:[{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`}]},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`}]},{name:`depositEncrypted`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint256`,name:`keyIndex`},{type:`tuple`,name:`encrypted`,components:[{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`}]},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`}]},{name:`setSequencerEncryptionKey`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint8`,name:`popV`},{type:`bytes32`,name:`popR`},{type:`bytes32`,name:`popS`}],outputs:[]},{name:`isTokenEnabled`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`bool`}]},{name:`enabledTokenCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`enabledTokenAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`address`}]},{name:`tokenEnablementHash`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`}]},{name:`zoneGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`maxTempoGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`bouncebackGas`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`pendingAdmin`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`address`}]},{name:`refunds`,type:`function`,stateMutability:`view`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`owner`}],outputs:[{type:`uint128`}]},{name:`sequencerEncryptionKey`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`address`,name:`pubkey`}]},{name:`encryptionKeyCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`encryptionKeyAt`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`index`}],outputs:[{type:`tuple`,name:`entry`,components:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint64`,name:`activationBlock`}]}]},{name:`isEncryptionKeyValid`,type:`function`,stateMutability:`view`,inputs:[{type:`uint256`,name:`keyIndex`}],outputs:[{type:`bool`,name:`valid`},{type:`uint64`,name:`expiresAtBlock`}]},{name:`encryptionKeyAtBlock`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`tempoBlockNumber`}],outputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`uint256`,name:`keyIndex`}]},{name:`claimRefund`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`}],outputs:[{type:`uint128`,name:`amount`}]},{name:`DepositMade`,type:`event`,inputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`netAmount`},{type:`uint128`,name:`fee`},{type:`uint256`,name:`keyIndex`},{type:`bytes32`,name:`ephemeralPubkeyX`},{type:`uint8`,name:`ephemeralPubkeyYParity`},{type:`bytes`,name:`ciphertext`},{type:`bytes12`,name:`nonce`},{type:`bytes16`,name:`tag`},{type:`address`,name:`tempoRefundRecipient`},{type:`uint64`,name:`depositNumber`}]},{name:`DepositsPaused`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0}]},{name:`DepositsResumed`,type:`event`,inputs:[{type:`address`,name:`token`,indexed:!0}]},{name:`PortalPaused`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0}]},{name:`PortalResumed`,type:`event`,inputs:[{type:`address`,name:`account`,indexed:!0}]},{name:`AbdicationScheduled`,type:`event`,inputs:[{type:`uint8`,name:`capability`,indexed:!0},{type:`uint64`,name:`effectiveAt`}]},{name:`RpcUrlUpdated`,type:`event`,inputs:[{type:`string`,name:`rpcUrl`}]},{name:`SequencerEncryptionKeyUpdated`,type:`event`,inputs:[{type:`bytes32`,name:`x`},{type:`uint8`,name:`yParity`},{type:`address`,name:`pubkey`},{type:`uint256`,name:`keyIndex`},{type:`uint64`,name:`activationBlock`}]},{name:`BatchSubmitted`,type:`event`,inputs:[{type:`uint64`,name:`withdrawalBatchIndex`,indexed:!0},{type:`uint256`,name:`withdrawalQueueIndex`,indexed:!0},{type:`bytes32`,name:`nextProcessedDepositQueueHash`},{type:`bytes32`,name:`nextBlockHash`},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`uint64`,name:`lastProcessedDepositNumber`}]},{name:`WithdrawalProcessed`,type:`event`,inputs:[{type:`address`,name:`to`,indexed:!0},{type:`bytes32`,name:`senderTag`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`bool`,name:`callbackSuccess`}]},{name:`WithdrawalBounceBack`,type:`event`,inputs:[{type:`bytes32`,name:`newCurrentDepositQueueHash`,indexed:!0},{type:`uint64`,name:`fallbackNonce`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint64`,name:`depositNumber`}]},{name:`DepositBounceBack`,type:`event`,inputs:[{type:`address`,name:`tempoRefundRecipient`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`bouncebackFee`}]},{name:`DepositBounceBackPending`,type:`event`,inputs:[{type:`address`,name:`tempoRefundRecipient`,indexed:!0},{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`bouncebackFee`}]},{name:`RefundClaimed`,type:`event`,inputs:[{type:`address`,name:`recipient`,indexed:!0},{type:`address`,name:`token`,indexed:!0},{type:`uint128`,name:`amount`}]},{name:`ZoneGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`zoneGasRate`}]},{name:`MaxTempoGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`maxTempoGasRate`}]},{name:`BouncebackGasUpdated`,type:`event`,inputs:[{type:`uint64`,name:`bouncebackGas`}]},{name:`AdminTransferStarted`,type:`event`,inputs:[{type:`address`,name:`currentAdmin`,indexed:!0},{type:`address`,name:`pendingAdmin`,indexed:!0}]},{name:`AdminTransferred`,type:`event`,inputs:[{type:`address`,name:`previousAdmin`,indexed:!0},{type:`address`,name:`newAdmin`,indexed:!0}]},{name:`NotSequencer`,type:`error`,inputs:[]},{name:`NotAdmin`,type:`error`,inputs:[]},{name:`NotPauseAuthority`,type:`error`,inputs:[]},{name:`CapabilityAbdicated`,type:`error`,inputs:[{type:`uint8`,name:`capability`}]},{name:`AbdicationAlreadyScheduled`,type:`error`,inputs:[{type:`uint8`,name:`capability`}]},{name:`PortalIsPaused`,type:`error`,inputs:[]},{name:`NotPendingAdmin`,type:`error`,inputs:[]},{name:`InvalidProof`,type:`error`,inputs:[]},{name:`InvalidTempoBlockNumber`,type:`error`,inputs:[]},{name:`NotFactory`,type:`error`,inputs:[]},{name:`NotSelf`,type:`error`,inputs:[]},{name:`AlreadyInitialized`,type:`error`,inputs:[]},{name:`MustDelegateCall`,type:`error`,inputs:[]},{name:`CallbackRejected`,type:`error`,inputs:[]},{name:`TransferFailed`,type:`error`,inputs:[]},{name:`ReentrantWithdrawal`,type:`error`,inputs:[]},{name:`EncryptionKeyExpired`,type:`error`,inputs:[{type:`uint256`,name:`keyIndex`},{type:`uint64`,name:`activationBlock`},{type:`uint64`,name:`supersededAtBlock`}]},{name:`InvalidEncryptionKeyIndex`,type:`error`,inputs:[{type:`uint256`,name:`keyIndex`}]},{name:`NoEncryptionKeySet`,type:`error`,inputs:[]},{name:`NoEncryptionKeyAtBlock`,type:`error`,inputs:[{type:`uint64`,name:`blockNumber`}]},{name:`InvalidEphemeralPubkey`,type:`error`,inputs:[]},{name:`InvalidCiphertextLength`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidProofOfPossession`,type:`error`,inputs:[]},{name:`DepositTooSmall`,type:`error`,inputs:[]},{name:`TokenEnablementBlockCapacityExceeded`,type:`error`,inputs:[{type:`uint64`,name:`maximum`}]},{name:`TokenMetadataTooLong`,type:`error`,inputs:[]},{name:`GasFeeRateTooHigh`,type:`error`,inputs:[]},{name:`DepositsNotActive`,type:`error`,inputs:[]},{name:`TokenAlreadyEnabled`,type:`error`,inputs:[]},{name:`TokenTransferPolicyNotSet`,type:`error`,inputs:[]},{name:`InvalidDepositTransition`,type:`error`,inputs:[]},{name:`InvalidSequencerSet`,type:`error`,inputs:[]},{name:`SequencerConfigurationUnchanged`,type:`error`,inputs:[]},{name:`InvalidQuorumCertificate`,type:`error`,inputs:[]},{name:`CallbackDidNotReturnToZone`,type:`error`,inputs:[]},{name:`InvalidBouncebackRecipient`,type:`error`,inputs:[]},{name:`TokenNotEnabled`,type:`error`,inputs:[]},{name:`DepositBlockCapacityExceeded`,type:`error`,inputs:[{type:`uint64`,name:`maximum`}]},{name:`InvalidCallbackTarget`,type:`error`,inputs:[]},{name:`AccountNotAllowed`,type:`error`,inputs:[{type:`address`,name:`account`}]},{name:`InvalidLeader`,type:`error`,inputs:[]},{name:`ActiveLeaderRemoved`,type:`error`,inputs:[]},{name:`LeaderAlreadyUpdatedThisBlock`,type:`error`,inputs:[]},{name:`StaleLeadershipEpoch`,type:`error`,inputs:[{type:`uint64`,name:`expected`},{type:`uint64`,name:`actual`}]},{name:`deposit`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`_token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`address`,name:`tempoRefundRecipient`}],outputs:[{type:`bytes32`}]}],BT=[{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`zoneId`},{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`anchorBlockNumber`},{type:`bytes32`,name:`anchorBlockHash`},{type:`uint64`,name:`expectedWithdrawalBatchIndex`},{type:`uint256`,name:`nextZoneHeight`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`tuple`,name:`tokenEnablementTransition`,components:[{type:`uint64`,name:`prevProcessedTokenCount`},{type:`uint64`,name:`nextProcessedTokenCount`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`}],outputs:[{type:`bool`}]},{name:`verify`,type:`function`,stateMutability:`view`,inputs:[{type:`uint32`,name:`zoneId`},{type:`uint64`,name:`tempoBlockNumber`},{type:`uint64`,name:`anchorBlockNumber`},{type:`bytes32`,name:`anchorBlockHash`},{type:`uint64`,name:`expectedWithdrawalBatchIndex`},{type:`tuple`,name:`blockTransition`,components:[{type:`bytes32`,name:`prevBlockHash`},{type:`bytes32`,name:`nextBlockHash`}]},{type:`tuple`,name:`depositQueueTransition`,components:[{type:`bytes32`,name:`prevProcessedHash`},{type:`bytes32`,name:`nextProcessedHash`},{type:`uint64`,name:`prevDepositNumber`},{type:`uint64`,name:`nextDepositNumber`}]},{type:`bytes32`,name:`withdrawalQueueHash`},{type:`bytes`,name:`verifierConfig`},{type:`bytes`,name:`proof`}],outputs:[{type:`bool`}]}],VT=[{type:`constructor`,inputs:[{name:`earnVault_`,type:`address`},{name:`owner_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`active`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`executeFunding`,inputs:[{name:`funder`,type:`address`},{name:`requestedAssets`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`fundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`fund`,inputs:[{name:`funder`,type:`address`},{name:`requestedAssets`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`fundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`fundBatchExact`,inputs:[{name:`funders`,type:`address[]`},{name:`requestedAssets`,type:`uint256[]`},{name:`maxEarnShareSupply`,type:`uint256`}],outputs:[{name:`totalFundedAssets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setActive`,inputs:[{name:`active_`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`ActiveSet`,inputs:[{name:`active`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Funded`,inputs:[{name:`funder`,type:`address`,indexed:!0},{name:`requestedAssets`,type:`uint256`,indexed:!1},{name:`fundedAssets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`error`,name:`EarnShareSupplyOutOfBounds`,inputs:[{name:`earnShareSupply`,type:`uint256`},{name:`maxEarnShareSupply`,type:`uint256`}]},{type:`error`,name:`Inactive`,inputs:[]},{type:`error`,name:`InvalidArrayLengths`,inputs:[]},{type:`error`,name:`NotSelf`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],HT=[{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:`scale`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`}],UT=[{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`requestRedeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`requestData`,type:`bytes`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`}],WT=[{type:`function`,name:`depositInKind`,inputs:[{name:`venueShares`,type:`uint256`},{name:`from`,type:`address`}],outputs:[{name:`engineSharesReceived`,type:`uint256`}],stateMutability:`nonpayable`}],GT=[{type:`constructor`,inputs:[{name:`tip20Factory_`,type:`address`},{name:`earnVaultImplementation_`,type:`address`},{name:`earnFeesImplementation_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`DEFAULT_ADMIN_ROLE`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`EARN_SHARE_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`FEES_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`computeEarnShareSalt`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`deploy`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:`earnShare`,type:`address`},{name:`earnVault`,type:`address`},{name:`earnFees`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`earnFeesImplementation`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVaultImplementation`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictEarnFees`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictEarnShare`,inputs:[{name:`params`,type:`tuple`,components:[{name:`deploymentId`,type:`bytes32`},{name:`engine`,type:`address`},{name:`owner`,type:`address`},{name:`controls`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorConfig`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]},{name:`fees`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]},{name:`transferPolicyId`,type:`uint64`}]}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`tip20Factory`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`EarnStackDeployed`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`earnShare`,type:`address`,indexed:!0},{name:`earnFees`,type:`address`,indexed:!0},{name:`engine`,type:`address`,indexed:!1},{name:`asset`,type:`address`,indexed:!1},{name:`owner`,type:`address`,indexed:!1},{name:`deploymentId`,type:`bytes32`,indexed:!1},{name:`emergencyGuardian`,type:`address`,indexed:!1},{name:`asyncJanitor`,type:`address`,indexed:!1},{name:`maxManagedAssets`,type:`uint256`,indexed:!1},{name:`migrationMode`,type:`uint8`,indexed:!1},{name:`transferPolicyId`,type:`uint64`,indexed:!1},{name:`earnShareSalt`,type:`bytes32`,indexed:!1},{name:`controlConfigHash`,type:`bytes32`,indexed:!1},{name:`feeConfigHash`,type:`bytes32`,indexed:!1},{name:`earnFeesSalt`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`AdminRelinquishmentFailed`,inputs:[]},{type:`error`,name:`EarnShareAlreadyExists`,inputs:[{name:`earnShare`,type:`address`}]},{type:`error`,name:`EarnShareSupplyNotZero`,inputs:[]},{type:`error`,name:`EmptyDeploymentId`,inputs:[]},{type:`error`,name:`EmptyEarnShareMetadata`,inputs:[]},{type:`error`,name:`EngineAlreadyBound`,inputs:[{name:`earnVault`,type:`address`}]},{type:`error`,name:`FactoryCannotBeFinalOwner`,inputs:[]},{type:`error`,name:`FailedDeployment`,inputs:[]},{type:`error`,name:`InsufficientBalance`,inputs:[{name:`balance`,type:`uint256`},{name:`needed`,type:`uint256`}]},{type:`error`,name:`InvalidDistributorConfig`,inputs:[]},{type:`error`,name:`InvalidEarnFeesImplementation`,inputs:[]},{type:`error`,name:`InvalidEarnVaultImplementation`,inputs:[]},{type:`error`,name:`InvalidEngine`,inputs:[]},{type:`error`,name:`InvalidTransferPolicy`,inputs:[{name:`policyId`,type:`uint64`}]},{type:`error`,name:`IssuerGrantFailed`,inputs:[]},{type:`error`,name:`TransferPolicyMismatch`,inputs:[{name:`expected`,type:`uint64`},{name:`actual`,type:`uint64`}]},{type:`error`,name:`UnsupportedTransferPolicy`,inputs:[{name:`policyId`,type:`uint64`},{name:`policyType`,type:`uint8`}]},{type:`error`,name:`ZeroAddress`,inputs:[]}],KT=[{type:`constructor`,inputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accrueFees`,inputs:[],outputs:[{name:`result`,type:`tuple`,components:[{name:`activeAssets`,type:`uint256`},{name:`positiveAccrualAssets`,type:`uint256`},{name:`fixedFeeAssets`,type:`uint256`},{name:`excessFeeAssets`,type:`uint256`},{name:`totalFeeAssets`,type:`uint256`},{name:`totalFeeEarnShares`,type:`uint256`},{name:`preFeeValuePerEarnShare`,type:`uint256`},{name:`postFeeValuePerEarnShare`,type:`uint256`},{name:`targetValuePerEarnShare`,type:`uint256`},{name:`allocationCount`,type:`uint8`},{name:`allocations`,type:`tuple[5]`,components:[{name:`account`,type:`address`},{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}]}]}],stateMutability:`nonpayable`},{type:`function`,name:`claim`,inputs:[{name:`to`,type:`address`},{name:`earnShares`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`claimableEarnShares`,inputs:[{name:`recipient`,type:`address`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`closeRedeemRequest`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`currentFeeConfigId`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`disableFees`,inputs:[{name:`operator`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnShareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`feeBaselinesPending`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`feeConfig`,inputs:[{name:`configId`,type:`uint64`}],outputs:[{name:``,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],stateMutability:`view`},{type:`function`,name:`feeRemainder`,inputs:[{name:`configId`,type:`uint64`},{name:`slot`,type:`uint8`}],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`feesActive`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`feesDisabled`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`highWaterMark`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`initialize`,inputs:[{name:`earnVault_`,type:`address`},{name:`earnShare_`,type:`address`},{name:`initialConfig`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeBaselines`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`pendingFeeSnapshot`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`tuple`,components:[{name:`burnedEarnShares`,type:`uint256`},{name:`requestValue`,type:`uint256`},{name:`highWaterValue`,type:`uint256`},{name:`targetValue`,type:`uint256`},{name:`feeConfigId`,type:`uint64`},{name:`requestedAt`,type:`uint40`},{name:`open`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`previewAccruedFees`,inputs:[],outputs:[{name:`result`,type:`tuple`,components:[{name:`activeAssets`,type:`uint256`},{name:`positiveAccrualAssets`,type:`uint256`},{name:`fixedFeeAssets`,type:`uint256`},{name:`excessFeeAssets`,type:`uint256`},{name:`totalFeeAssets`,type:`uint256`},{name:`totalFeeEarnShares`,type:`uint256`},{name:`preFeeValuePerEarnShare`,type:`uint256`},{name:`postFeeValuePerEarnShare`,type:`uint256`},{name:`targetValuePerEarnShare`,type:`uint256`},{name:`allocationCount`,type:`uint8`},{name:`allocations`,type:`tuple[5]`,components:[{name:`account`,type:`address`},{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}]}]}],stateMutability:`view`},{type:`function`,name:`recordRedeemRequest`,inputs:[{name:`requestId`,type:`bytes32`},{name:`burnedEarnShares`,type:`uint256`},{name:`requestValue`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[{name:`configId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`settleCancelledRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`returnedValue`,type:`uint256`},{name:`activeSupply`,type:`uint256`},{name:`activeAssets`,type:`uint256`},{name:`totalReentryEarnShares`,type:`uint256`}],outputs:[{name:`feeEarnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`shouldChargeRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`targetBase`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`targetStartedAt`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`totalClaimableEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`validateFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[],stateMutability:`view`},{type:`event`,name:`FeeBaselinesInitialized`,inputs:[{name:`highWaterMark`,type:`uint256`,indexed:!1},{name:`targetBase`,type:`uint256`,indexed:!1},{name:`targetStartedAt`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeConfigurationSet`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`configHash`,type:`bytes32`,indexed:!0},{name:`reactivated`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeDustWaived`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`slot`,type:`uint8`,indexed:!0},{name:`remainder`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeEarnSharesAllocated`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`recipient`,type:`address`,indexed:!0},{name:`feeAssets`,type:`uint256`,indexed:!1},{name:`feeEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeeEarnSharesClaimed`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`to`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeesAccrued`,inputs:[{name:`configId`,type:`uint64`,indexed:!0},{name:`activeAssets`,type:`uint256`,indexed:!1},{name:`positiveAccrualAssets`,type:`uint256`,indexed:!1},{name:`feeAssets`,type:`uint256`,indexed:!1},{name:`feeEarnShares`,type:`uint256`,indexed:!1},{name:`highWaterMark`,type:`uint256`,indexed:!1},{name:`targetValuePerEarnShare`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FeesDisabled`,inputs:[{name:`operator`,type:`address`,indexed:!0}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`InsufficientClaimableEarnShares`,inputs:[]},{type:`error`,name:`InvalidFeeClaimReceiver`,inputs:[]},{type:`error`,name:`InvalidFeeConfiguration`,inputs:[]},{type:`error`,name:`NotEarnVault`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],qT=[{type:`constructor`,inputs:[{name:`earnVault_`,type:`address`},{name:`treasury_`,type:`address`},{name:`campaignId_`,type:`bytes32`},{name:`claimDeadline_`,type:`uint40`},{name:`owner_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`campaignId`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`claim`,inputs:[{name:`recipient`,type:`address`},{name:`cumulativeAmount`,type:`uint256`},{name:`proof`,type:`bytes32[]`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`claimDeadline`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`consumedSettlements`,inputs:[{name:`settlementId`,type:`bytes32`}],outputs:[{name:`consumed`,type:`bool`}],stateMutability:`view`},{type:`function`,name:`cumulativePaid`,inputs:[{name:`recipient`,type:`address`}],outputs:[{name:`cumulativeAmount`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`fundAndPublishRoot`,inputs:[{name:`settlementId`,type:`bytes32`},{name:`expectedRootVersion`,type:`uint64`},{name:`funder`,type:`address`},{name:`assets`,type:`uint256`},{name:`minEarnShares`,type:`uint256`},{name:`root`,type:`bytes32`},{name:`totalEntitlement`,type:`uint256`},{name:`statementHash_`,type:`bytes32`}],outputs:[{name:`earnShares`,type:`uint256`},{name:`version`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`leaf`,inputs:[{name:`recipient`,type:`address`},{name:`cumulativeAmount`,type:`uint256`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`merkleRoot`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`paused`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`publishRoot`,inputs:[{name:`expectedRootVersion`,type:`uint64`},{name:`root`,type:`bytes32`},{name:`totalEntitlement`,type:`uint256`},{name:`statementHash_`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`pushBatch`,inputs:[{name:`expectedRootVersion`,type:`uint64`},{name:`recipients`,type:`address[]`},{name:`cumulativeAmounts`,type:`uint256[]`},{name:`multiproof`,type:`bytes32[]`},{name:`proofFlags`,type:`bool[]`}],outputs:[{name:`paidCount`,type:`uint256`},{name:`paidEarnShares`,type:`uint256`},{name:`skippedCount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`pure`},{type:`function`,name:`returnUnspent`,inputs:[],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`rootTotalEntitlement`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`rootVersion`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`setPaused`,inputs:[{name:`paused_`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`statementHash`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`totalPaid`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`treasury`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`AssetsFunded`,inputs:[{name:`funder`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`BatchPushed`,inputs:[{name:`version`,type:`uint64`,indexed:!0},{name:`batchHash`,type:`bytes32`,indexed:!0},{name:`attemptedCount`,type:`uint256`,indexed:!1},{name:`paidCount`,type:`uint256`,indexed:!1},{name:`paidEarnShares`,type:`uint256`,indexed:!1},{name:`skippedCount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`PausedSet`,inputs:[{name:`paused`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`PayoutSkipped`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`cumulativeAmount`,type:`uint256`,indexed:!1},{name:`reason`,type:`uint8`,indexed:!1}],anonymous:!1},{type:`event`,name:`RewardClaimed`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`cumulativeAmount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RootPublished`,inputs:[{name:`version`,type:`uint64`,indexed:!0},{name:`root`,type:`bytes32`,indexed:!0},{name:`statementHash`,type:`bytes32`,indexed:!0},{name:`totalEntitlement`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`UnspentReturned`,inputs:[{name:`treasury`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`ClaimsExpired`,inputs:[]},{type:`error`,name:`ClaimsNotExpired`,inputs:[]},{type:`error`,name:`DepositsPaused`,inputs:[]},{type:`error`,name:`InsufficientFunding`,inputs:[{name:`requiredBalance`,type:`uint256`},{name:`actualBalance`,type:`uint256`}]},{type:`error`,name:`InvalidArrayLengths`,inputs:[]},{type:`error`,name:`InvalidEarnVault`,inputs:[]},{type:`error`,name:`InvalidMultiproof`,inputs:[]},{type:`error`,name:`MerkleProofInvalidMultiproof`,inputs:[]},{type:`error`,name:`NothingOwed`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`OwnershipRenunciationDisabled`,inputs:[]},{type:`error`,name:`Paused`,inputs:[]},{type:`error`,name:`PausedLiabilityIncrease`,inputs:[]},{type:`error`,name:`ReentrancyGuardReentrantCall`,inputs:[]},{type:`error`,name:`RootTotalDecreased`,inputs:[{name:`previousTotal`,type:`uint256`},{name:`nextTotal`,type:`uint256`}]},{type:`error`,name:`RootTotalExceeded`,inputs:[{name:`requestedAmount`,type:`uint256`},{name:`remainingEntitlement`,type:`uint256`}]},{type:`error`,name:`SettlementAlreadyConsumed`,inputs:[{name:`settlementId`,type:`bytes32`}]},{type:`error`,name:`StaleRootVersion`,inputs:[{name:`expected`,type:`uint64`},{name:`actual`,type:`uint64`}]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`UnexpectedEarnShares`,inputs:[{name:`reported`,type:`uint256`},{name:`measured`,type:`uint256`}]},{type:`error`,name:`UnexpectedRetainedAssets`,inputs:[{name:`beforeBalance`,type:`uint256`},{name:`afterBalance`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]},{type:`error`,name:`ZeroCampaignId`,inputs:[]},{type:`error`,name:`ZeroDeadline`,inputs:[]},{type:`error`,name:`ZeroMinimumEarnShares`,inputs:[]},{type:`error`,name:`ZeroRoot`,inputs:[]},{type:`error`,name:`ZeroSettlementId`,inputs:[]},{type:`error`,name:`ZeroStatementHash`,inputs:[]}],JT=[{type:`function`,name:`campaignId`,inputs:[{name:`earnVault`,type:`address`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`install`,inputs:[{name:`earnVault`,type:`address`},{name:`owner`,type:`address`},{name:`treasury`,type:`address`},{name:`claimDeadline`,type:`uint40`},{name:`targetYield`,type:`bool`},{name:`boostRewards`,type:`bool`}],outputs:[{name:`result`,type:`tuple`,components:[{name:`contributionController`,type:`address`},{name:`merkleDistributor`,type:`address`}]}],stateMutability:`nonpayable`},{type:`function`,name:`predictContributionController`,inputs:[{name:`earnVault`,type:`address`},{name:`owner`,type:`address`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`predictMerkleDistributor`,inputs:[{name:`earnVault`,type:`address`},{name:`owner`,type:`address`},{name:`treasury`,type:`address`},{name:`claimDeadline`,type:`uint40`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`ContributionControllerInstalled`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`contributionController`,type:`address`,indexed:!1}],anonymous:!1},{type:`event`,name:`MerkleDistributorInstalled`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`treasury`,type:`address`,indexed:!0},{name:`merkleDistributor`,type:`address`,indexed:!1},{name:`campaignId`,type:`bytes32`,indexed:!1},{name:`claimDeadline`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`error`,name:`EmptyInstallation`,inputs:[]},{type:`error`,name:`InvalidExistingDeployment`,inputs:[{name:`component`,type:`address`}]},{type:`error`,name:`InvalidRewardConfiguration`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]}],YT=[{type:`constructor`,inputs:[{name:`allowedZoneId_`,type:`uint32`},{name:`earnVault_`,type:`address`},{name:`privateAsset_`,type:`address`},{name:`tokenAuthority_`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`allowedZoneId`,inputs:[],outputs:[{name:``,type:`uint32`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`onWithdrawalReceived`,inputs:[{name:`sourceZoneId`,type:`uint32`},{name:`sourcePortal`,type:`address`},{name:``,type:`bytes32`},{name:`token`,type:`address`},{name:`amount`,type:`uint128`},{name:`callbackData`,type:`bytes`}],outputs:[{name:``,type:`bytes4`}],stateMutability:`nonpayable`},{type:`function`,name:`privateAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`reserveToken`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`supportsFlow`,inputs:[{name:`flow`,type:`uint8`}],outputs:[{name:``,type:`bool`}],stateMutability:`pure`},{type:`function`,name:`tokenAuthority`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`transactionLimit`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vaultAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`EarnDeposit`,inputs:[{name:`actionId`,type:`bytes32`,indexed:!0},{name:`earnVault`,type:`address`,indexed:!0},{name:`inputToken`,type:`address`,indexed:!0},{name:`inputAmount`,type:`uint256`,indexed:!1},{name:`vaultAssets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`zoneDepositHash`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnRedeem`,inputs:[{name:`actionId`,type:`bytes32`,indexed:!0},{name:`earnVault`,type:`address`,indexed:!0},{name:`outputToken`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`vaultAssets`,type:`uint256`,indexed:!1},{name:`outputAmount`,type:`uint256`,indexed:!1},{name:`zoneDepositHash`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`AmountExceedsLimit`,inputs:[]},{type:`error`,name:`AmountOverflow`,inputs:[]},{type:`error`,name:`BadFlow`,inputs:[]},{type:`error`,name:`InsufficientOutput`,inputs:[]},{type:`error`,name:`InvalidAuthority`,inputs:[]},{type:`error`,name:`InvalidEarnVault`,inputs:[]},{type:`error`,name:`InvalidPrivateAsset`,inputs:[]},{type:`error`,name:`InvalidReturnToken`,inputs:[]},{type:`error`,name:`InvalidRoutePair`,inputs:[]},{type:`error`,name:`InvalidSourcePortal`,inputs:[]},{type:`error`,name:`InvalidTransactionLimit`,inputs:[]},{type:`error`,name:`NotZoneMessenger`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`ResidualBalance`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`WrongInputToken`,inputs:[]},{type:`error`,name:`WrongSourceZone`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]}],XT=[{type:`constructor`,inputs:[],stateMutability:`nonpayable`},{type:`function`,name:`MAX_REWARD_RATE_MULTIPLIER`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`absorbEngineShareSurplus`,inputs:[{name:`engineShares_`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`acceptDistributor`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`acceptOperator`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accrueFees`,inputs:[],outputs:[{name:`feeAssets`,type:`uint256`},{name:`feeEarnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`anchorEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`anchorEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`asyncJanitor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`cancelDistributorFeeUpdate`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelDistributorTransfer`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelOperatorTransfer`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`minReceiverEarnShares`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`contribute`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`receivedEngineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`convertEngineSharesToEarnShares`,inputs:[{name:`engineShares_`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`convertToEngineShares`,inputs:[{name:`earnShares`,type:`uint256`}],outputs:[{name:`engineShares_`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minEarnShares`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositVenueShares`,inputs:[{name:`venueShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minEarnShares`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositsPaused`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`disableFees`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`distributor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`distributorFee`,inputs:[],outputs:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`}],stateMutability:`view`},{type:`function`,name:`distributorUpdateDelay`,inputs:[],outputs:[{name:``,type:`uint40`}],stateMutability:`view`},{type:`function`,name:`earnFees`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`earnShare`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`emergencyGuardian`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`engine`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`engineMigrationMode`,inputs:[],outputs:[{name:``,type:`uint8`}],stateMutability:`view`},{type:`function`,name:`engineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`executeDistributorFeeUpdate`,inputs:[],outputs:[{name:`feeConfigId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`finalizeRedeem`,inputs:[{name:`requestId`,type:`bytes32`},{name:`asset_`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initialize`,inputs:[{name:`engine_`,type:`address`},{name:`earnShare_`,type:`address`},{name:`earnFees_`,type:`address`},{name:`operator_`,type:`address`},{name:`controlInit_`,type:`tuple`,components:[{name:`emergencyGuardian`,type:`address`},{name:`asyncJanitor`,type:`address`},{name:`maxManagedAssets`,type:`uint256`},{name:`migrationMode`,type:`uint8`}]},{name:`distributorInit_`,type:`tuple`,components:[{name:`distributor`,type:`address`},{name:`updateDelay`,type:`uint40`}]}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`isAccountingAligned`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`maxManagedAssets`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`migrateEngine`,inputs:[{name:`newEngine`,type:`address`},{name:`minNewEngineShares`,type:`uint256`},{name:`minAssetsRetained`,type:`uint256`}],outputs:[{name:`newEngineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`normalizedRewardRate`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`openRedeemRequestCount`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`operator`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingDistributor`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingDistributorFeeUpdate`,inputs:[],outputs:[{name:``,type:`tuple`,components:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`},{name:`executableAt`,type:`uint40`},{name:`pending`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`pendingOperator`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`tuple`,components:[{name:`receiver`,type:`address`},{name:`requester`,type:`address`},{name:`burnedEarnShares`,type:`uint256`},{name:`engineShares`,type:`uint256`},{name:`open`,type:`bool`}]}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`earnShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`earnShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`rawEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`earnShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`remainingDepositCapacity`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`requestRedeem`,inputs:[{name:`earnShares`,type:`uint256`},{name:`engineData`,type:`bytes`},{name:`receiver`,type:`address`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`rewardRateBaseline`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`scheduleDistributorFeeUpdate`,inputs:[{name:`recipient`,type:`address`},{name:`rateBps`,type:`uint16`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setDepositsPaused`,inputs:[{name:`paused`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setEmergencyRoles`,inputs:[{name:`newGuardian`,type:`address`},{name:`newJanitor`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setFeeConfig`,inputs:[{name:`config`,type:`tuple`,components:[{name:`fixedFeeCount`,type:`uint8`},{name:`fixedFees`,type:`tuple[4]`,components:[{name:`account`,type:`address`},{name:`rateBps`,type:`uint16`}]},{name:`excess`,type:`tuple`,components:[{name:`enabled`,type:`bool`},{name:`account`,type:`address`},{name:`annualTargetRateBps`,type:`uint16`},{name:`excessFeeRateBps`,type:`uint16`}]}]}],outputs:[{name:`configId`,type:`uint64`}],stateMutability:`nonpayable`},{type:`function`,name:`setMaxManagedAssets`,inputs:[{name:`newMaxManagedAssets`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`surplusEngineShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalEarnShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferDistributor`,inputs:[{name:`newDistributor`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`transferOperator`,inputs:[{name:`newOperator`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdrawExact`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`},{name:`maxEarnShares`,type:`uint256`}],outputs:[{name:`earnSharesBurned`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`Contributed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DepositPauseChanged`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`paused`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Deposited`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdateCancelled`,inputs:[{name:`distributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdateScheduled`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`recipient`,type:`address`,indexed:!0},{name:`rateBps`,type:`uint16`,indexed:!1},{name:`executableAt`,type:`uint40`,indexed:!1}],anonymous:!1},{type:`event`,name:`DistributorFeeUpdated`,inputs:[{name:`recipient`,type:`address`,indexed:!0},{name:`rateBps`,type:`uint16`,indexed:!1},{name:`feeConfigId`,type:`uint64`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferCancelled`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`pendingDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferStarted`,inputs:[{name:`distributor`,type:`address`,indexed:!0},{name:`pendingDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`DistributorTransferred`,inputs:[{name:`previousDistributor`,type:`address`,indexed:!0},{name:`newDistributor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`earnShare`,type:`address`,indexed:!0},{name:`earnFees`,type:`address`,indexed:!0},{name:`operator`,type:`address`,indexed:!1},{name:`emergencyGuardian`,type:`address`,indexed:!1},{name:`asyncJanitor`,type:`address`,indexed:!1},{name:`maxManagedAssets`,type:`uint256`,indexed:!1},{name:`migrationMode`,type:`uint8`,indexed:!1},{name:`distributor`,type:`address`,indexed:!1},{name:`distributorUpdateDelay`,type:`uint40`,indexed:!1},{name:`distributorFeeRecipient`,type:`address`,indexed:!1},{name:`distributorFeeRateBps`,type:`uint16`,indexed:!1}],anonymous:!1},{type:`event`,name:`EmergencyRolesChanged`,inputs:[{name:`emergencyGuardian`,type:`address`,indexed:!0},{name:`asyncJanitor`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`EngineMigrated`,inputs:[{name:`oldEngine`,type:`address`,indexed:!0},{name:`newEngine`,type:`address`,indexed:!0},{name:`oldEngineShares`,type:`uint256`,indexed:!1},{name:`assetsMoved`,type:`uint256`,indexed:!1},{name:`newEngineShares`,type:`uint256`,indexed:!1},{name:`totalEarnShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EngineShareShortfallReconciled`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`previousManagedEngineShares`,type:`uint256`,indexed:!1},{name:`observedRawEngineShares`,type:`uint256`,indexed:!1},{name:`shortfallEngineShares`,type:`uint256`,indexed:!1},{name:`totalEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EngineShareSurplusAbsorbed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`anchorEngineShares`,type:`uint256`,indexed:!1},{name:`anchorEarnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`MaxManagedAssetsChanged`,inputs:[{name:`previousMaxManagedAssets`,type:`uint256`,indexed:!1},{name:`newMaxManagedAssets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`OperatorTransferCancelled`,inputs:[{name:`operator`,type:`address`,indexed:!0},{name:`pendingOperator`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OperatorTransferStarted`,inputs:[{name:`operator`,type:`address`,indexed:!0},{name:`pendingOperator`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OperatorTransferred`,inputs:[{name:`previousOperator`,type:`address`,indexed:!0},{name:`newOperator`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`RedeemCancelled`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemFinalized`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`asset`,type:`address`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemRequested`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`requester`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`earnShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VenueSharesDeposited`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`requestedVenueShares`,type:`uint256`,indexed:!1},{name:`receivedEngineShares`,type:`uint256`,indexed:!1},{name:`earnShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`caller`,type:`address`,indexed:!0},{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`earnSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`ActiveSupplyWithoutBacking`,inputs:[]},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`DepositsPaused`,inputs:[]},{type:`error`,name:`DistributorFeeUpdateNotPending`,inputs:[]},{type:`error`,name:`DistributorFeeUpdateNotReady`,inputs:[{name:`executableAt`,type:`uint40`}]},{type:`error`,name:`DistributorTransferNotPending`,inputs:[]},{type:`error`,name:`DuplicateRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`EngineAssetMismatch`,inputs:[]},{type:`error`,name:`EngineCapabilityUnsupported`,inputs:[{name:`interfaceId`,type:`bytes4`}]},{type:`error`,name:`EngineEarnVaultMismatch`,inputs:[]},{type:`error`,name:`EngineExitUnsupported`,inputs:[]},{type:`error`,name:`ExceedsMaxEarnShares`,inputs:[]},{type:`error`,name:`ExcessiveConversionLoss`,inputs:[{name:`inputShares`,type:`uint256`},{name:`representedShares`,type:`uint256`}]},{type:`error`,name:`ExcessiveMigrationClassificationError`,inputs:[{name:`expectedManagedAssets`,type:`uint256`},{name:`actualManagedAssets`,type:`uint256`}]},{type:`error`,name:`FeeValuationStale`,inputs:[]},{type:`error`,name:`FinalizedAssetMismatch`,inputs:[{name:`finalizedAsset`,type:`address`}]},{type:`error`,name:`GlobalFeeDisableUnavailable`,inputs:[]},{type:`error`,name:`InitialEarnShareSupplyNotZero`,inputs:[]},{type:`error`,name:`InsufficientEngineShareSurplus`,inputs:[{name:`available`,type:`uint256`},{name:`requested`,type:`uint256`}]},{type:`error`,name:`InsufficientOutput`,inputs:[]},{type:`error`,name:`InvalidDistributorConfiguration`,inputs:[]},{type:`error`,name:`InvalidDistributorFeeConfiguration`,inputs:[]},{type:`error`,name:`InvalidEarnDecimals`,inputs:[]},{type:`error`,name:`InvalidEngineShareScale`,inputs:[]},{type:`error`,name:`MaxManagedAssetsExceeded`,inputs:[{name:`maximum`,type:`uint256`},{name:`actual`,type:`uint256`}]},{type:`error`,name:`MinimumAssetsNotMet`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`MinimumEarnSharesNotMet`,inputs:[{name:`minimumEarnShares`,type:`uint256`},{name:`actualEarnShares`,type:`uint256`}]},{type:`error`,name:`MinimumEngineSharesNotMet`,inputs:[{name:`minimumEngineShares`,type:`uint256`},{name:`actualEngineShares`,type:`uint256`}]},{type:`error`,name:`NoEarnShares`,inputs:[]},{type:`error`,name:`NotDistributor`,inputs:[]},{type:`error`,name:`NotEmergencyGuardianOrOperator`,inputs:[]},{type:`error`,name:`NotEngine`,inputs:[]},{type:`error`,name:`NotOperator`,inputs:[]},{type:`error`,name:`NotPendingDistributor`,inputs:[]},{type:`error`,name:`NotPendingOperator`,inputs:[]},{type:`error`,name:`NotRequesterOrJanitor`,inputs:[]},{type:`error`,name:`OperatorMigrationDisabled`,inputs:[]},{type:`error`,name:`OperatorTransferNotPending`,inputs:[]},{type:`error`,name:`PendingRedeemsOpen`,inputs:[]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`RequestNotOpen`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`ResidualBacking`,inputs:[]},{type:`error`,name:`RewardRateLimitExceeded`,inputs:[{name:`normalizedRate`,type:`uint256`},{name:`baselineRate`,type:`uint256`}]},{type:`error`,name:`SameEngine`,inputs:[]},{type:`error`,name:`TokenCallFailed`,inputs:[]},{type:`error`,name:`TokenCallFalse`,inputs:[]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroAmount`,inputs:[]},{type:`error`,name:`ZeroMinimumAssets`,inputs:[]},{type:`error`,name:`ZeroMinimumEarnShares`,inputs:[]},{type:`error`,name:`ZeroMinimumEngineShares`,inputs:[]}],ZT=[{type:`constructor`,inputs:[{name:`vault_`,type:`address`},{name:`owner_`,type:`address`},{name:`nameOverride_`,type:`string`},{name:`symbolOverride_`,type:`string`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`baseAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`depositInKind`,inputs:[{name:`venueShares`,type:`uint256`},{name:`from`,type:`address`}],outputs:[{name:`engineSharesReceived`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`},{name:`finalOwner_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`pure`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`Deposited`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`earnVault`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VenueSharesDeposited`,inputs:[{name:`from`,type:`address`,indexed:!0},{name:`requestedVenueShares`,type:`uint256`,indexed:!1},{name:`receivedEngineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`EarnVaultNotSet`,inputs:[]},{type:`error`,name:`EmptyMetadata`,inputs:[]},{type:`error`,name:`InsufficientAssetsReceived`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`InvalidVenueShareDecimals`,inputs:[]},{type:`error`,name:`NoVenueSharesReceived`,inputs:[]},{type:`error`,name:`NotEarnVault`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`TransferFailed`,inputs:[]},{type:`error`,name:`UnexpectedAssetsReceived`,inputs:[{name:`expectedAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesBurned`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]}],QT=[{type:`function`,name:`ENGINE_SALT_DOMAIN`,inputs:[],outputs:[{name:``,type:`bytes32`}],stateMutability:`view`},{type:`function`,name:`computeEngineSalt`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:``,type:`bytes32`}],stateMutability:`pure`},{type:`function`,name:`deploy`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:`engine`,type:`address`}],stateMutability:`nonpayable`},{type:`function`,name:`predictEngine`,inputs:[{name:`deploymentId`,type:`bytes32`},{name:`vault`,type:`address`},{name:`owner`,type:`address`},{name:`nameOverride`,type:`string`},{name:`symbolOverride`,type:`string`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`event`,name:`ERC4626EngineDeployed`,inputs:[{name:`engine`,type:`address`,indexed:!0},{name:`vault`,type:`address`,indexed:!0},{name:`owner`,type:`address`,indexed:!0},{name:`asset`,type:`address`,indexed:!1},{name:`deploymentId`,type:`bytes32`,indexed:!1},{name:`engineSalt`,type:`bytes32`,indexed:!1}],anonymous:!1},{type:`error`,name:`EmptyDeploymentId`,inputs:[]},{type:`error`,name:`EngineAlreadyExists`,inputs:[{name:`engine`,type:`address`}]},{type:`error`,name:`FactoryCannotBeFinalOwner`,inputs:[]}],$T=[{type:`constructor`,inputs:[{name:`peripheryRegistry_`,type:`address`},{name:`owner_`,type:`address`},{name:`maxRateAge_`,type:`uint64`},{name:`name_`,type:`string`},{name:`symbol_`,type:`string`}],stateMutability:`nonpayable`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`accountant`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`accountantRateUpdatedAt`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`asset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`authorizedForwarder`,inputs:[{name:`forwarder`,type:`address`}],outputs:[{name:`authorized`,type:`bool`}],stateMutability:`view`},{type:`function`,name:`baseAsset`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`cancelRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`claimQueue`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`claimRedeem`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`deposit`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`earnVault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`finalizeOneExternal`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`forwardSolved`,inputs:[{name:`requestIds`,type:`bytes32[]`},{name:`asset_`,type:`address`},{name:`delta`,type:`uint256`}],outputs:[{name:`claimed`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`getClaim`,inputs:[{name:`requestId`,type:`bytes32`}],outputs:[{name:`status`,type:`uint8`},{name:`request`,type:`tuple`,components:[{name:`nonce`,type:`uint96`},{name:`user`,type:`address`},{name:`assetOut`,type:`address`},{name:`amountOfShares`,type:`uint128`},{name:`amountOfAssets`,type:`uint128`},{name:`creationTime`,type:`uint40`},{name:`secondsToMaturity`,type:`uint24`},{name:`secondsToDeadline`,type:`uint24`}]}],stateMutability:`view`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`},{name:`finalOwner_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`initializeEarnVault`,inputs:[{name:`earnVault_`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`isFeeValuationFresh`,inputs:[],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`maxRateAge`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`name`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`openClaimsByQueue`,inputs:[{name:`requestQueue`,type:`address`}],outputs:[{name:`count`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`peripheryRegistry`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`peripheryVersion`,inputs:[],outputs:[{name:``,type:`uint64`}],stateMutability:`view`},{type:`function`,name:`previewRedeem`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`previewWithdraw`,inputs:[{name:`assets`,type:`uint256`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`queue`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`rate`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`recoverExternalSettlement`,inputs:[{name:`requestIds`,type:`bytes32[]`}],outputs:[{name:`claimed`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`redeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`receiver`,type:`address`},{name:`minAssets`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`renounceOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`requestRedeem`,inputs:[{name:`engineShares`,type:`uint256`},{name:`requestData`,type:`bytes`}],outputs:[{name:`requestId`,type:`bytes32`}],stateMutability:`nonpayable`},{type:`function`,name:`setAuthorizedForwarder`,inputs:[{name:`account`,type:`address`},{name:`authorized`,type:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxRateAge`,inputs:[{name:`newMaxRateAge`,type:`uint64`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`settled`,inputs:[{name:`asset`,type:`address`}],outputs:[{name:`amount`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`shareScale`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`supportsInterface`,inputs:[{name:`interfaceId`,type:`bytes4`}],outputs:[{name:``,type:`bool`}],stateMutability:`view`},{type:`function`,name:`sweepDust`,inputs:[{name:`token`,type:`address`},{name:`to`,type:`address`},{name:`amount`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`symbol`,inputs:[],outputs:[{name:``,type:`string`}],stateMutability:`view`},{type:`function`,name:`syncVedaPeriphery`,inputs:[{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`teller`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`totalAssets`,inputs:[],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`totalShares`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`unresolvedClaimCount`,inputs:[],outputs:[{name:``,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`valueOf`,inputs:[{name:`engineShares`,type:`uint256`}],outputs:[{name:`assets`,type:`uint256`}],stateMutability:`view`},{type:`function`,name:`vault`,inputs:[],outputs:[{name:``,type:`address`}],stateMutability:`view`},{type:`function`,name:`withdraw`,inputs:[{name:`assets`,type:`uint256`},{name:`receiver`,type:`address`}],outputs:[{name:`engineShares`,type:`uint256`}],stateMutability:`nonpayable`},{type:`event`,name:`AuthorizedForwarderChanged`,inputs:[{name:`account`,type:`address`,indexed:!0},{name:`authorized`,type:`bool`,indexed:!1}],anonymous:!1},{type:`event`,name:`Deposited`,inputs:[{name:`earnVault`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineShares`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`DustSwept`,inputs:[{name:`token`,type:`address`,indexed:!0},{name:`to`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`EarnVaultInitialized`,inputs:[{name:`earnVault`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`ExternalSettlementRecovered`,inputs:[{name:`requestCount`,type:`uint256`,indexed:!1},{name:`recoveredAssets`,type:`uint256`,indexed:!1},{name:`claimed`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`FinalizeFailed`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Finalized`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`MaxRateAgeUpdated`,inputs:[{name:`oldMaxRateAge`,type:`uint64`,indexed:!1},{name:`newMaxRateAge`,type:`uint64`,indexed:!1}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`previousOwner`,type:`address`,indexed:!0},{name:`newOwner`,type:`address`,indexed:!0}],anonymous:!1},{type:`event`,name:`RedeemCancelledOnQueue`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`engineShares`,type:`uint128`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemClaimed`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`RedeemRequested`,inputs:[{name:`requestId`,type:`bytes32`,indexed:!0},{name:`assetOut`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint128`,indexed:!1}],anonymous:!1},{type:`event`,name:`Redeemed`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`engineShares`,type:`uint256`,indexed:!1},{name:`assets`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Settled`,inputs:[{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`newTotal`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`Unearmarked`,inputs:[{name:`asset`,type:`address`,indexed:!0},{name:`amount`,type:`uint256`,indexed:!1},{name:`newTotal`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`VedaEngineInitialized`,inputs:[{name:`teller`,type:`address`,indexed:!0},{name:`queue`,type:`address`,indexed:!0},{name:`accountant`,type:`address`,indexed:!0},{name:`peripheryVersion`,type:`uint64`,indexed:!1},{name:`maxRateAge`,type:`uint64`,indexed:!1}],anonymous:!1},{type:`event`,name:`VedaPeripheryUpdated`,inputs:[{name:`registryVersion`,type:`uint64`,indexed:!0},{name:`oldTeller`,type:`address`,indexed:!0},{name:`oldQueue`,type:`address`,indexed:!0},{name:`oldAccountant`,type:`address`,indexed:!1},{name:`newTeller`,type:`address`,indexed:!1},{name:`newQueue`,type:`address`,indexed:!1},{name:`newAccountant`,type:`address`,indexed:!1},{name:`validatedRate`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`event`,name:`WithdrewExact`,inputs:[{name:`receiver`,type:`address`,indexed:!0},{name:`assets`,type:`uint256`,indexed:!1},{name:`engineSharesBurned`,type:`uint256`,indexed:!1}],anonymous:!1},{type:`error`,name:`AlreadyInitialized`,inputs:[]},{type:`error`,name:`AssetsNotArrived`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`BaseAssetSweepBlocked`,inputs:[{name:`unresolvedClaims`,type:`uint256`}]},{type:`error`,name:`CannotSweepEngineBacking`,inputs:[]},{type:`error`,name:`ClaimNotClaimable`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`ClaimNotOpen`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`CreditExceedsBalance`,inputs:[{name:`asset`,type:`address`},{name:`have`,type:`uint256`},{name:`wantTotal`,type:`uint256`}]},{type:`error`,name:`DepositsNotPaused`,inputs:[]},{type:`error`,name:`DuplicateRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`EarnVaultNotSet`,inputs:[]},{type:`error`,name:`EmptyMetadata`,inputs:[]},{type:`error`,name:`EngineSharesTooLarge`,inputs:[{name:`engineShares`,type:`uint256`}]},{type:`error`,name:`InsufficientAssetsReceived`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`InvalidAsset`,inputs:[{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`InvalidMaxRateAge`,inputs:[]},{type:`error`,name:`InvalidRateTimestamp`,inputs:[{name:`updatedAt`,type:`uint256`},{name:`currentTime`,type:`uint256`}]},{type:`error`,name:`InvalidTrackedRequest`,inputs:[{name:`requestId`,type:`bytes32`}]},{type:`error`,name:`InvalidVedaPeriphery`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`InvalidVedaPeripheryWiring`,inputs:[{name:`component`,type:`address`},{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`InvalidVedaRateBounds`,inputs:[{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}]},{type:`error`,name:`InvalidVenueShareDecimals`,inputs:[]},{type:`error`,name:`NoPublishedVedaPeriphery`,inputs:[]},{type:`error`,name:`NoRecoverableClaims`,inputs:[]},{type:`error`,name:`NoVenueSharesReceived`,inputs:[]},{type:`error`,name:`NotAuthorizedForwarder`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`NotEarnVault`,inputs:[{name:`caller`,type:`address`}]},{type:`error`,name:`NotSelf`,inputs:[]},{type:`error`,name:`OwnableInvalidOwner`,inputs:[{name:`owner`,type:`address`}]},{type:`error`,name:`OwnableUnauthorizedAccount`,inputs:[{name:`account`,type:`address`}]},{type:`error`,name:`QueueTrackingDisabled`,inputs:[{name:`queue`,type:`address`}]},{type:`error`,name:`QueueUnavailable`,inputs:[]},{type:`error`,name:`QueuedAssetsBelowMinimum`,inputs:[{name:`minimumAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`RateChangedWithinTransaction`,inputs:[{name:`expected`,type:`uint256`},{name:`actual`,type:`uint256`}]},{type:`error`,name:`ReentrantCall`,inputs:[]},{type:`error`,name:`RegistryEngineMismatch`,inputs:[{name:`expected`,type:`address`},{name:`actual`,type:`address`}]},{type:`error`,name:`SolveUnderfunded`,inputs:[{name:`asset`,type:`address`},{name:`delivered`,type:`uint256`},{name:`required`,type:`uint256`}]},{type:`error`,name:`StaleAccountantRate`,inputs:[{name:`updatedAt`,type:`uint256`},{name:`currentTime`,type:`uint256`},{name:`maxAge`,type:`uint256`}]},{type:`error`,name:`SweepExceedsAvailableBalance`,inputs:[{name:`token`,type:`address`},{name:`available`,type:`uint256`},{name:`requested`,type:`uint256`}]},{type:`error`,name:`TransferFailed`,inputs:[]},{type:`error`,name:`UnexpectedAssetsReceived`,inputs:[{name:`expectedAssets`,type:`uint256`},{name:`actualAssets`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesBurned`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`UnexpectedVenueSharesQueued`,inputs:[{name:`expectedShares`,type:`uint256`},{name:`actualShares`,type:`uint256`}]},{type:`error`,name:`UnsupportedAccountantFreshness`,inputs:[{name:`accountant`,type:`address`}]},{type:`error`,name:`VedaRateOutOfBounds`,inputs:[{name:`rate`,type:`uint256`},{name:`minRate`,type:`uint256`},{name:`maxRate`,type:`uint256`}]},{type:`error`,name:`ZeroAddress`,inputs:[]},{type:`error`,name:`ZeroMinimumQueuedAssets`,inputs:[]}],eE=[{name:`tempoGasRate`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint128`}]},{name:`maxWithdrawalsPerBlock`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint32`}]},{name:`lastBatch`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple`,components:[{type:`bytes32`,name:`withdrawalQueueHash`},{type:`uint64`,name:`withdrawalBatchIndex`}]}]},{name:`lastFinalizedTimestamp`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`nextWithdrawalIndex`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`lastFallbackNonce`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`pendingWithdrawalsCount`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`getPendingWithdrawals`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`tuple[]`,components:[{type:`address`,name:`token`},{type:`address`,name:`sender`},{type:`bytes32`,name:`txHash`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`callbackData`},{type:`bytes`,name:`revealTo`}]}]},{name:`consumeFallbackRecipient`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint64`,name:`fallbackNonce`}],outputs:[{type:`address`,name:`recipient`}]},{name:`calculateWithdrawalFee`,type:`function`,stateMutability:`view`,inputs:[{type:`uint64`,name:`gasLimit`}],outputs:[{type:`uint128`,name:`fee`}]},{name:`MAX_CALLBACK_DATA_SIZE`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`MAX_WITHDRAWAL_GAS_LIMIT`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`WITHDRAWAL_BASE_GAS`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint64`}]},{name:`REVEAL_TO_KEY_LENGTH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH`,type:`function`,stateMutability:`view`,inputs:[],outputs:[{type:`uint256`}]},{name:`setTempoGasRate`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint128`,name:`_tempoGasRate`}],outputs:[]},{name:`setMaxWithdrawalsPerBlock`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`_maxWithdrawalsPerBlock`}],outputs:[]},{name:`requestWithdrawal`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`address`,name:`zoneFallbackRecipient`},{type:`bytes`,name:`data`},{type:`bytes`,name:`revealTo`}],outputs:[]},{name:`enqueueDepositBounceBack`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`address`,name:`token`},{type:`uint128`,name:`amount`},{type:`address`,name:`tempoRefundRecipient`}],outputs:[]},{name:`finalizeWithdrawalBatch`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint256`,name:`count`},{type:`uint64`,name:`blockNumber`},{type:`bytes[]`,name:`encryptedSenders`}],outputs:[{type:`bytes32`,name:`withdrawalQueueHash`}]},{name:`WithdrawalRequested`,type:`event`,inputs:[{type:`uint64`,name:`withdrawalIndex`,indexed:!0},{type:`address`,name:`sender`,indexed:!0},{type:`address`,name:`token`},{type:`address`,name:`to`},{type:`uint128`,name:`amount`},{type:`uint128`,name:`fee`},{type:`bytes32`,name:`memo`},{type:`uint64`,name:`gasLimit`},{type:`uint64`,name:`fallbackNonce`},{type:`bytes`,name:`data`},{type:`bytes`,name:`revealTo`}]},{name:`BatchFinalized`,type:`event`,inputs:[{type:`bytes32`,name:`withdrawalQueueHash`,indexed:!0},{type:`uint64`,name:`withdrawalBatchIndex`}]},{name:`TempoGasRateUpdated`,type:`event`,inputs:[{type:`uint128`,name:`tempoGasRate`}]},{name:`MaxWithdrawalsPerBlockUpdated`,type:`event`,inputs:[{type:`uint32`,name:`maxWithdrawalsPerBlock`}]},{name:`OnlySequencer`,type:`error`,inputs:[]},{name:`GasLimitTooHigh`,type:`error`,inputs:[]},{name:`OnlyZoneInbox`,type:`error`,inputs:[]},{name:`InvalidWithdrawalCount`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidEncryptedSenderCount`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidEncryptedSenderLength`,type:`error`,inputs:[{type:`uint256`,name:`actual`},{type:`uint256`,name:`expected`}]},{name:`InvalidFallbackRecipient`,type:`error`,inputs:[]},{name:`CallbackDataTooLarge`,type:`error`,inputs:[]},{name:`GasFeeRateTooHigh`,type:`error`,inputs:[]},{name:`TransferFailed`,type:`error`,inputs:[]},{name:`InvalidBlockNumber`,type:`error`,inputs:[]},{name:`TooManyWithdrawalsThisBlock`,type:`error`,inputs:[]},{name:`InvalidRevealTo`,type:`error`,inputs:[]},{name:`InvalidCurrentTxHash`,type:`error`,inputs:[]},{name:`ZeroAmountWithdrawal`,type:`error`,inputs:[]},{name:`StaticCallNotAllowed`,type:`error`,inputs:[]}],tE=[{name:`relayMessage`,type:`function`,stateMutability:`nonpayable`,inputs:[{type:`uint32`,name:`zoneId`},{type:`address`,name:`token`},{type:`bytes32`,name:`senderTag`},{type:`address`,name:`target`},{type:`uint128`,name:`amount`},{type:`uint64`,name:`gasLimit`},{type:`bytes`,name:`data`}],outputs:[]}],nE=[{type:`constructor`,inputs:[{name:`baseToken_`,type:`address`,internalType:`contract ITIP20`},{name:`quoteToken_`,type:`address`,internalType:`contract ITIP20`},{name:`oracle_`,type:`address`,internalType:`contract IPriceOracle`},{name:`addressRegistry_`,type:`address`,internalType:`contract IAddressRegistry`},{name:`owner_`,type:`address`,internalType:`address`},{name:`guardian_`,type:`address`,internalType:`address`},{name:`maxOracleAge_`,type:`uint256`,internalType:`uint256`},{name:`maxPriceDeviationBps_`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`BPS`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`acceptOwnership`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`addressRegistry`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IAddressRegistry`}],stateMutability:`view`},{type:`function`,name:`baseDecimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`baseToQuotePriceAnchor`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`baseToken`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract ITIP20`}],stateMutability:`view`},{type:`function`,name:`fund`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`amount`,type:`uint256`,internalType:`uint256`},{name:`memo`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`guardian`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`maxOracleAge`,inputs:[],outputs:[{name:``,type:`uint80`,internalType:`uint80`}],stateMutability:`view`},{type:`function`,name:`maxPriceDeviationBps`,inputs:[],outputs:[{name:``,type:`uint16`,internalType:`uint16`}],stateMutability:`view`},{type:`function`,name:`oracle`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract IPriceOracle`}],stateMutability:`view`},{type:`function`,name:`oracleDecimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`owner`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`pause`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`paused`,inputs:[],outputs:[{name:``,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`pendingOwner`,inputs:[],outputs:[{name:``,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`priceAnchor`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`}],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`priceScale`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteDecimals`,inputs:[],outputs:[{name:``,type:`uint8`,internalType:`uint8`}],stateMutability:`view`},{type:`function`,name:`quoteExactInput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountIn`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountOut`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteExactInputFor`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountIn`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountOut`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`creditAfter`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteExactOutput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountOut`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountIn`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteExactOutputFor`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountOut`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountIn`,type:`uint256`,internalType:`uint256`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`creditAfter`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteToBasePriceAnchor`,inputs:[],outputs:[{name:``,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`quoteToken`,inputs:[],outputs:[{name:``,type:`address`,internalType:`contract ITIP20`}],stateMutability:`view`},{type:`function`,name:`recipientAllowed`,inputs:[{name:`recipient`,type:`address`,internalType:`address`}],outputs:[{name:`allowed`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`resetPriceAnchor`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`resolveRecipient`,inputs:[{name:`recipient`,type:`address`,internalType:`address`}],outputs:[{name:`resolved`,type:`address`,internalType:`address`}],stateMutability:`view`},{type:`function`,name:`roundingCredit`,inputs:[{name:`routeKey`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:`credit`,type:`uint256`,internalType:`uint256`}],stateMutability:`view`},{type:`function`,name:`roundingRouteKey`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`}],outputs:[{name:``,type:`bytes32`,internalType:`bytes32`}],stateMutability:`view`},{type:`function`,name:`setGuardian`,inputs:[{name:`newGuardian`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxOracleAge`,inputs:[{name:`newMaxOracleAge`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setMaxPriceDeviationBps`,inputs:[{name:`newMaxPriceDeviationBps`,type:`uint256`,internalType:`uint256`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setOracle`,inputs:[{name:`newOracle`,type:`address`,internalType:`contract IPriceOracle`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setRecipientAllowed`,inputs:[{name:`recipient`,type:`address`,internalType:`address`},{name:`allowed`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`setTakerAllowed`,inputs:[{name:`taker`,type:`address`,internalType:`address`},{name:`allowed`,type:`bool`,internalType:`bool`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`swapExactInput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountIn`,type:`uint256`,internalType:`uint256`},{name:`minAmountOut`,type:`uint256`,internalType:`uint256`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`tradeId`,type:`bytes32`,internalType:`bytes32`},{name:`deadline`,type:`uint256`,internalType:`uint256`},{name:`expectedOraclePrice`,type:`uint256`,internalType:`uint256`},{name:`oraclePriceToleranceBps`,type:`uint256`,internalType:`uint256`},{name:`minimumOracleUpdatedAt`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountOut`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`swapExactOutput`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`amountOut`,type:`uint256`,internalType:`uint256`},{name:`maxAmountIn`,type:`uint256`,internalType:`uint256`},{name:`recipient`,type:`address`,internalType:`address`},{name:`customerId`,type:`bytes32`,internalType:`bytes32`},{name:`tradeId`,type:`bytes32`,internalType:`bytes32`},{name:`deadline`,type:`uint256`,internalType:`uint256`},{name:`expectedOraclePrice`,type:`uint256`,internalType:`uint256`},{name:`oraclePriceToleranceBps`,type:`uint256`,internalType:`uint256`},{name:`minimumOracleUpdatedAt`,type:`uint256`,internalType:`uint256`}],outputs:[{name:`amountIn`,type:`uint256`,internalType:`uint256`}],stateMutability:`nonpayable`},{type:`function`,name:`takerAllowed`,inputs:[{name:`taker`,type:`address`,internalType:`address`}],outputs:[{name:`allowed`,type:`bool`,internalType:`bool`}],stateMutability:`view`},{type:`function`,name:`transferOwnership`,inputs:[{name:`newOwner`,type:`address`,internalType:`address`}],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`unpause`,inputs:[],outputs:[],stateMutability:`nonpayable`},{type:`function`,name:`withdraw`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`recipient`,type:`address`,internalType:`address`},{name:`amount`,type:`uint256`,internalType:`uint256`},{name:`memo`,type:`bytes32`,internalType:`bytes32`}],outputs:[],stateMutability:`nonpayable`},{type:`event`,name:`Funded`,inputs:[{name:`token`,type:`address`,indexed:!0,internalType:`address`},{name:`amount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`memo`,type:`bytes32`,indexed:!0,internalType:`bytes32`}],anonymous:!1},{type:`event`,name:`GuardianUpdated`,inputs:[{name:`oldGuardian`,type:`address`,indexed:!0,internalType:`address`},{name:`newGuardian`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`MaxOracleAgeUpdated`,inputs:[{name:`oldMaxAge`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newMaxAge`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`MaxPriceDeviationBpsUpdated`,inputs:[{name:`oldMaxPriceDeviationBps`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newMaxPriceDeviationBps`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`OracleUpdated`,inputs:[{name:`oldOracle`,type:`address`,indexed:!0,internalType:`address`},{name:`newOracle`,type:`address`,indexed:!0,internalType:`address`},{name:`decimals`,type:`uint8`,indexed:!1,internalType:`uint8`}],anonymous:!1},{type:`event`,name:`OwnershipTransferStarted`,inputs:[{name:`oldOwner`,type:`address`,indexed:!0,internalType:`address`},{name:`pendingOwner`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`OwnershipTransferred`,inputs:[{name:`oldOwner`,type:`address`,indexed:!0,internalType:`address`},{name:`newOwner`,type:`address`,indexed:!0,internalType:`address`}],anonymous:!1},{type:`event`,name:`PausedStateChanged`,inputs:[{name:`paused`,type:`bool`,indexed:!1,internalType:`bool`}],anonymous:!1},{type:`event`,name:`PriceAnchorUpdated`,inputs:[{name:`baseToQuote`,type:`bool`,indexed:!0,internalType:`bool`},{name:`oldAnchor`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newAnchor`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`RecipientPermissionUpdated`,inputs:[{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`allowed`,type:`bool`,indexed:!1,internalType:`bool`}],anonymous:!1},{type:`event`,name:`RoundingCreditUpdated`,inputs:[{name:`routeKey`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`previousCredit`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`newCredit`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`TakerPermissionUpdated`,inputs:[{name:`taker`,type:`address`,indexed:!0,internalType:`address`},{name:`allowed`,type:`bool`,indexed:!1,internalType:`bool`}],anonymous:!1},{type:`event`,name:`TradeExecuted`,inputs:[{name:`taker`,type:`address`,indexed:!0,internalType:`address`},{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`customerId`,type:`bytes32`,indexed:!0,internalType:`bytes32`},{name:`tradeId`,type:`bytes32`,indexed:!1,internalType:`bytes32`},{name:`tokenIn`,type:`address`,indexed:!1,internalType:`address`},{name:`tokenOut`,type:`address`,indexed:!1,internalType:`address`},{name:`amountIn`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`amountOut`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`oraclePrice`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`oracleUpdatedAt`,type:`uint256`,indexed:!1,internalType:`uint256`}],anonymous:!1},{type:`event`,name:`Withdrawn`,inputs:[{name:`token`,type:`address`,indexed:!0,internalType:`address`},{name:`recipient`,type:`address`,indexed:!0,internalType:`address`},{name:`amount`,type:`uint256`,indexed:!1,internalType:`uint256`},{name:`memo`,type:`bytes32`,indexed:!1,internalType:`bytes32`}],anonymous:!1},{type:`error`,name:`AmountIsZero`,inputs:[]},{type:`error`,name:`CustomerIdIsZero`,inputs:[]},{type:`error`,name:`DeadlineExpired`,inputs:[{name:`deadline`,type:`uint256`,internalType:`uint256`},{name:`currentTimestamp`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`ExactBalanceDeltaFailed`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`expected`,type:`uint256`,internalType:`uint256`},{name:`actual`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`FutureOracleTimestamp`,inputs:[{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`currentTime`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InsufficientInventory`,inputs:[{name:`token`,type:`address`,internalType:`address`},{name:`available`,type:`uint256`,internalType:`uint256`},{name:`required`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidAddress`,inputs:[]},{type:`error`,name:`InvalidMaxOracleAge`,inputs:[]},{type:`error`,name:`InvalidMaxPriceDeviationBps`,inputs:[{name:`supplied`,type:`uint256`,internalType:`uint256`},{name:`maximum`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidOraclePriceToleranceBps`,inputs:[{name:`supplied`,type:`uint256`,internalType:`uint256`},{name:`maximum`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`InvalidPrice`,inputs:[]},{type:`error`,name:`NotGuardianOrOwner`,inputs:[]},{type:`error`,name:`NotOwner`,inputs:[]},{type:`error`,name:`NotPaused`,inputs:[]},{type:`error`,name:`NotPendingOwner`,inputs:[]},{type:`error`,name:`OracleDecimalsChanged`,inputs:[{name:`currentDecimals`,type:`uint8`,internalType:`uint8`},{name:`proposedDecimals`,type:`uint8`,internalType:`uint8`}]},{type:`error`,name:`OraclePriceToleranceExceeded`,inputs:[{name:`expectedPrice`,type:`uint256`,internalType:`uint256`},{name:`actualPrice`,type:`uint256`,internalType:`uint256`},{name:`toleranceBps`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`OracleTimestampTooOld`,inputs:[{name:`minimumUpdatedAt`,type:`uint256`,internalType:`uint256`},{name:`actualUpdatedAt`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`Paused`,inputs:[]},{type:`error`,name:`PriceAnchorNotInitialized`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`}]},{type:`error`,name:`PriceDeviationExceeded`,inputs:[{name:`baseToQuote`,type:`bool`,internalType:`bool`},{name:`price`,type:`uint256`,internalType:`uint256`},{name:`anchor`,type:`uint256`,internalType:`uint256`},{name:`maxDeviationBps`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`RecipientNotAllowed`,inputs:[{name:`recipient`,type:`address`,internalType:`address`}]},{type:`error`,name:`ReentrancyGuardReentrantCall`,inputs:[]},{type:`error`,name:`SameToken`,inputs:[]},{type:`error`,name:`SlippageExceeded`,inputs:[{name:`limit`,type:`uint256`,internalType:`uint256`},{name:`actual`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`StaleOraclePrice`,inputs:[{name:`updatedAt`,type:`uint256`,internalType:`uint256`},{name:`maxAge`,type:`uint256`,internalType:`uint256`}]},{type:`error`,name:`TakerNotAllowed`,inputs:[{name:`taker`,type:`address`,internalType:`address`}]},{type:`error`,name:`TokenTransferFailed`,inputs:[{name:`token`,type:`address`,internalType:`address`}]},{type:`error`,name:`UnsupportedDecimals`,inputs:[{name:`baseDecimals`,type:`uint8`,internalType:`uint8`},{name:`quoteDecimals`,type:`uint8`,internalType:`uint8`},{name:`oracleDecimals`,type:`uint8`,internalType:`uint8`}]},{type:`error`,name:`UnsupportedToken`,inputs:[{name:`token`,type:`address`,internalType:`address`}]}],rE=[...ST,...CT,...TT,...MT,...jT,...wT,...ET,...DT,...OT,...kT,...AT,...V,...NT,...PT,...FT,...LT,...IT,...RT,...zT,...BT],iE=[...VT,...HT,...UT,...WT,...GT,...KT,...qT,...JT,...YT,...XT,...ZT,...QT,...$T],aE=[...tE,...eE],oE=[...nE];[...rE,...iE,...aE,...oE],yT(0),yT(0,42431);let sE=`0xaAAAaaAA00000000000000000000000000000000`,cE=`0xfeec000000000000000000000000000000000000`,lE=`0xAACC000000000000000000000000000000000000`,uE=`0xdec0000000000000000000000000000000000000`;function dE(e){let t=bC(e);if(t.type===`multisig`||t.type===`keychain`)throw Error(`Multisig owners must use primitive signatures.`);return t}z();function fE(e){let t=e.account;return t?.keyType&&t.keyType!==`secp256k1`||t?.source===`accessKey`||t?.source===`multisig`||e.calls!==void 0||e.feePayer!==void 0||e.feePayerSignature!==void 0||e.feeToken!==void 0||e.keyAuthorization!==void 0||e.multisigSimulation!==void 0||e.nonceKey!==void 0||e.owner!==void 0||e.signature!==void 0||e.signatures!==void 0||e.validBefore!==void 0||e.validAfter!==void 0?`tempo`:e.type?e.type:Kd(e)}function pE(e){try{return fE(e)===`tempo`}catch{return!1}}function mE(e){let t=I(e,0,1);return t===`0x76`||t===`0x78`?gE(e):Sy(e)}async function hE(e,t){if(!pE(e)){if(t&&`type`in t&&t.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+t.type+\"`.\");if(t&&`type`in t){let{r:n,s:r,yParity:i}=t?.signature;return zh(e,{r:F(n,{size:32}),s:F(r,{size:32}),yParity:i})}return zh(e,t)}if(fE(e)===`tempo`)return _E(e,t);throw Error(`Unsupported transaction type`)}function gE(e){let{feePayerSignature:t,nonce:n,...r}=Nw(e);return{...r,nonce:Number(n??0n),feePayerSignature:t&&{r:F(t.r,{size:32}),s:F(t.s,{size:32}),yParity:t.yParity}}}async function _E(e,t){let n=(()=>{if(e.signature)return e.signature;if(t&&`type`in t)return t;if(t)return bC({r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)})})(),{chainId:r,feePayer:i,multisigSimulation:a,nonce:o,owner:s,...c}=e,l=(()=>{let t=e.feePayerSignature;if(t)return{r:BigInt(t.r),s:BigInt(t.s),yParity:Number(t.yParity)};if(t===null||i)return null})(),u=e.feePayerSignature!==void 0&&e.feePayerSignature!==null,d=n!==void 0||!!(a&&e.signatures),f=i===!0&&(!d||!l)||typeof i==`object`&&!d||!d&&u,p={...c,calls:c.calls?.length?c.calls:[{to:c.to||(!c.data||c.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:c.value,data:c.data}],chainId:Number(r),feePayerSignature:l,type:`tempo`,...o?{nonce:BigInt(o)}:{}},m={...p};f&&delete m.feeToken;let h=(()=>{if(n)return n;if(!a||!e.signatures)return;let t=Lw(Pw(m)),r=e.signatures.map(e=>dE(e)),i=$S(a.config),o=e.from;if(!o)throw Error(`A multisig sender is required for signing.`);return bC({account:o,config:i,signatures:wC({account:o,config:i,payload:t,signatures:r})})})();if(h&&typeof e.feePayer==`object`){let t=Pw(p,{signature:h}),n=zw(t,{sender:e.from??gC({payload:Lw(t),root:!0,signature:h})});return Fw(t,{feePayerSignature:Gv(await e.feePayer.sign({hash:n}))})}return i===!0||!h&&u?h&&l?Fw(m,{signature:h}):h?Fw(m,{format:`feePayer`,sender:e.from,signature:h}):Fw(m,{feePayerSignature:null}):Fw(m,{feePayerSignature:void 0,signature:h})}z(),ha(),fi();function vE(e){let{access:t}=e;return t?PE(e):NE(e)}function yE(e,t){let{access:n,keyAuthorizationManager:r,rpId:i,origin:a,internal_version:o}=t,s=Ux({privateKey:e});return vE({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:o,keyType:`webAuthn`,publicKey:s,async sign({hash:n}){let{metadata:r,payload:o}=GS({...t,challenge:n,rpId:i,origin:a});return CC({metadata:r,signature:Wx({payload:o,privateKey:e,hash:!0}),publicKey:s,type:`webAuthn`})}})}function bE(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=Ux({privateKey:e});return vE({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:t}){return CC({signature:Wx({payload:t,privateKey:e}),publicKey:a,type:`p256`})}})}function xE(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,a=dy({privateKey:e});return vE({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`secp256k1`,publicKey:a,async sign(t){let{hash:n}=t;return Yv(my({payload:n,privateKey:e}))}})}function SE(e){let t=(()=>{if(typeof e==`string`)return;let{address:t,...n}=e;return n})(),n=(()=>{if(!t)return;let e=t.owners.map(e=>typeof e==`string`||`address`in e?{owner:e,weight:1}:e);return $S({...t,owners:e.map(({owner:e,weight:t})=>({owner:typeof e==`string`?e:e.address,weight:t})),threshold:t.threshold??1})})();if(typeof e!=`string`){if((e.address===void 0||e.address===`infer`)&&n.version!==0n)throw Error(`An initial multisig config must have version zero.`);if(e.address!==void 0&&e.address!==`infer`&&n.version===0n)throw Error(`A current multisig config must have a version.`)}let r=I_(typeof e==`string`?e:e.address===void 0||e.address===`infer`?nC(n,{factory:`0x7171717171717171717171717171717171717171`}):e.address),i=t?t.owners.flatMap(e=>{let t=typeof e==`string`||`address`in e?e:e.owner;return typeof t==`string`?[]:[M(t)]}):[];if(i.some(e=>e.source===`multisig`||kE(e)))throw Error(`Multisig owners must use primitive signatures.`);let a=n?.owners.flatMap(({owner:e})=>{let t=i.find(t=>z_(t.address,e));return t?[t]:[]})??[],o={address:r,config:n,owners:a,publicKey:`0x`,source:`multisig`,type:`local`,async sign({hash:e}){return CC(await wE(o,{payload:e}))},async signMessage(){throw Error(\"`signMessage` is not supported for multisig accounts.\")},async signTransaction(e,t){let{serializer:n=hE}=t??{},i=e;if(i.owner){let e=M(i.owner);if(e.type!==`local`)throw Error(`A local owner account is required to approve a multisig transaction.`);if(e.source!==`root`)throw Error(`A Tempo owner account is required to approve a multisig transaction.`);let{owner:n,...r}=i;return await e.signTransaction(r,t)}if(a.length===0)return await n(e);let s=di(await n({...i,signatures:void 0,...i.feePayerSignature===void 0?{}:{feePayerSignature:null}})),c=i.multisigSimulation;if(i.from&&!z_(i.from,r))throw Error(`Multisig account does not match the transaction sender.`);return await n(e,await wE(o,{config:c?.config,payload:s,signatures:i.signatures?.map(e=>dE(e))}))},async signTypedData(){throw Error(\"`signTypedData` is not supported for multisig accounts.\")}};return o}function CE(e){return e.source===`multisig`}async function wE(e,t){let{config:n,payload:r,signatures:i=[]}=t,a=n??e.config;if(!a)throw Error(`A current multisig config is required for local signing.`);let o=rC({account:e.address,config:a,payload:r}),s=[...i],c=new Set,l=0;for(let e of i){let t=gC({payload:o,signature:e}).toLowerCase(),n=a.owners.find(e=>z_(e.owner,t));!n||c.has(t)||(c.add(t),l+=Number(n.weight))}let u=[...a.owners].sort((e,t)=>Number(t.weight)-Number(e.weight)||e.owner.toLowerCase().localeCompare(t.owner.toLowerCase()));for(let t of u){if(l>=Number(a.threshold))break;let n=t.owner.toLowerCase();if(c.has(n))continue;let r=e.owners.find(e=>z_(e.address,t.owner));if(r){if(!r.sign)throw Error(`Multisig owner account cannot sign.`);if(s.push(dE(await r.sign({hash:o}))),c.add(n),l+=Number(t.weight),l>=Number(a.threshold))break}}if(l<Number(a.threshold))throw Error(`Local multisig owners do not meet the threshold.`);return bC({account:e.address,config:a,signatures:wC({account:e.address,config:a,payload:r,signatures:s})})}function TE(e,t={}){let{id:n}=e,r=E_(e.publicKey);return vE({keyType:`webAuthn`,publicKey:r,async sign({hash:e}){let{metadata:i,signature:a}=await KS({...t,challenge:e,credentialId:n});return CC({publicKey:r,metadata:i,signature:a,type:`webAuthn`})}})}function EE(e,t={}){let{access:n,keyAuthorizationManager:r,internal_version:i}=t,{publicKey:a,privateKey:o}=e;return vE({...n?{access:n,keyAuthorizationManager:r}:{},internal_version:i,keyType:`p256`,publicKey:a,async sign({hash:e}){return CC({signature:await YS({payload:e,privateKey:o}),prehash:!0,publicKey:a,type:`p256`})}})}async function DE(e,t){let n=OE(t);return kE(e)?e.sign({hash:n,raw:!0}):e.sign({hash:n})}function OE(e){let{chainId:t,channel:n,cumulativeAmount:r}=e;return aw({chainId:t,channelId:typeof n==`string`?n:rw(n,{chainId:t}),cumulativeAmount:r})}function kE(e){return e.source===`accessKey`&&`accessKeyAddress`in e}function AE(e,t){let{admin:n,chainId:r,expiry:i,key:a,limits:o,scopes:s,witness:c}=t,{accessKeyAddress:l,keyType:u}=FE(a),d=kE(e)||CE(e)?{account:e.address}:{},f=n?{}:{expiry:i,limits:o,scopes:s};return uw({address:l,chainId:r,type:u,witness:c,...n?{isAdmin:!0}:{},...d,...f})}async function jE(e,t){let{admin:n,chainId:r,expiry:i,key:a,limits:o,multisig:s,scopes:c,signatures:l,witness:u}=t,{accessKeyAddress:d,keyType:f}=FE(a),p=kE(e),m=CE(e),h=p||m?{account:e.address}:{},g=n?{}:{expiry:i,limits:o,scopes:c},_=AE(e,t);return sw({address:d,chainId:r,signature:bC(await(async()=>{if(p)return e.sign({hash:_,raw:!0});if(m){if(!s)throw Error(`Multisig state is required to sign a key authorization.`);return CC(await wE(e,{config:s.config,payload:_,signatures:l?.map(e=>dE(e))}))}return e.sign({hash:_})})()),type:f,...u?{witness:u}:{},...n?{isAdmin:!0}:{},...h,...g})}function ME(e){let{keyType:t=`secp256k1`,parentAddress:n,source:r=`privateKey`,internal_version:i=`v2`}=e,a=n??R_(e.publicKey),o=O_(e.publicKey,{includePrefix:!1});async function s({hash:t,raw:r}){if(r)return await e.sign({hash:t});let a=n&&i===`v2`?di(P(`0x04`,t,n)):t,o=await e.sign({hash:a});return n?CC(bC({userAddress:n,inner:bC(o),type:`keychain`,version:i})):o}return{address:I_(a),keyType:t,sign:s,async signAuthorization(e){let{chainId:t,nonce:n}=e,r=e.contractAddress??e.address,i=bC(await s({hash:Iu({address:r,chainId:t,nonce:n})}));if(i.type!==`secp256k1`)throw Error(\"Unsupported signature type. Expected `secp256k1` but got `\"+i.type+\"`.\");let{r:a,s:o,yParity:c}=i.signature;return{address:r,chainId:t,nonce:n,r:F(a,{size:32}),s:F(o,{size:32}),yParity:c}},async signMessage(e){let{message:t}=e;return await s({hash:mg(t)})},async signTransaction(e,t){let{serializer:n=hE}=t??{},r=di(await n(`feePayerSignature`in e&&e.feePayerSignature?{...e,feePayerSignature:null}:e)),{multisigSimulation:i,from:a}=e;if(i){if(!a)throw Error(`A multisig sender is required for signing.`);return await s({hash:rC({account:a,config:$S(i.config),payload:r}),raw:!0})}return await n(e,bC(await s({hash:r})))},async signTypedData(e){return await s({hash:Cg(e)})},async signVoucher(e){let t=OE(e);return n?await s({hash:t,raw:!0}):await s({hash:t})},publicKey:o,source:r,type:`local`}}function NE(e){let t=ME(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}=FE(e),d=c?{}:{expiry:i,limits:a,scopes:o};return sw({address:l,chainId:r,signature:bC(await t.sign({hash:uw({address:l,chainId:r,type:u,witness:s,...c?{isAdmin:!0}:{},...d})})),type:u,...s?{witness:s}:{},...c?{isAdmin:!0}:{},...d})}}}function PE(e){let{access:t,keyAuthorizationManager:n}=e,{address:r}=M(t);return{...ME({...e,parentAddress:r}),accessKeyAddress:R_(e.publicKey),keyAuthorizationManager:n,source:`accessKey`}}function FE(e){return`accessKeyAddress`in e?{accessKeyAddress:e.accessKeyAddress,keyType:e.keyType}:`publicKey`in e&&e.publicKey?{accessKeyAddress:R_(E_(e.publicKey)),keyType:e.type}:{accessKeyAddress:e.address,keyType:e.type}}let IE=[`genesis`,`t0`,`t1`,`t1a`,`t1b`,`t1c`,`t2`,`t3`,`t4`,`t5`,`t6`];function LE(e,t){return IE.indexOf(e)<IE.indexOf(t)}rf(),ba();function RE(e,t){let{decimals:n,token:r}=t;if(e&&typeof r==`string`){let t=BE(e,r);if(t)return{address:t.address,decimals:n??t.decimals}}let i=KC(r);return{address:i,decimals:n??(e?HE(e,i):void 0)}}function zE(e,t){let n=e.tokens,r=e.chain?.id;if(!n||r===void 0)return;if(typeof t==`string`){let n=BE(e,t);if(n)return n}let i=KC(t);for(let e of n){let t=VE(e,r);if(t&&nf(t.address,i))return t}}function BE(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 VE(e,r)}function VE(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 HE(e,t){let n=e.tokens,r=e.chain?.id;if(n&&r!==void 0)for(let e of n){let n=VE(e,r);if(n&&nf(n.address,t))return n.decimals}}async function UE(e,t){let{address:n,decimals:r}=RE(e,t);return r===void 0?{address:n,decimals:await Ym(e,{abi:V,address:n,functionName:`decimals`})}:{address:n,decimals:r}}function WE(e){let{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,owner:d,validAfter:f,validBefore:p}=e;return{account:t,chain:n,feePayer:r,feeToken:i,gas:a,keyAuthorization:o,maxFeePerGas:s,maxPriorityFeePerGas:c,nonce:l,nonceKey:u,owner:d,validAfter:f,validBefore:p}}function GE(e){return e.length===2?e:[void 0,e[0]]}function H(e){return{...e,data:ya(e),to:e.address}}async function KE(e,t){let n=await e.request({method:`multisig_getConfig`,params:[{address:t.address}]});return n?eC(n):null}async function qE(e,t){let{account:n,...r}=t;return Ym(e,{...r,...qE.call({account:n})})}(function(e){function t(e){return H({address:lE,abi:wT,args:[e.account],functionName:`getConfigCommitment`})}e.call=t})(qE||={});async function JE(e,t){return JE.inner(hh,e,t)}(function(e){async function t(t,n,r){let{account:i,currentConfig:a,nextConfig:o,...s}=r,c=i??n.account,l=(()=>{if(typeof c==`object`&&c.source===`multisig`)return c})(),u=(()=>{if(a)return a;if(l?.config)return l.config})(),d=(()=>{if(l)return l.address;if(typeof c==`string`)return c;if(c)return c.address})(),f=await(async()=>{if(u)return $S(u);if(!d)throw Error(`A multisig account address or current config is required.`);let e=await KE(n,{address:d});if(!e)throw Error(`No current multisig config is cached for account ${d}. Provide the current config.`);return e})(),p=(()=>{if(l)return{...l,config:f};if(typeof c==`object`)return c;if(d)return SE({address:d,...f})})();return await t(n,{...s,...p?{account:p}:{},...e.call({currentConfig:f,nextConfig:o})})}e.inner=t;function n(e){let t=$S(e.currentConfig),n=$S({owners:e.nextConfig.owners,salt:t.salt,threshold:e.nextConfig.threshold,version:t.version+1n});return H({address:lE,abi:wT,args:[t,n.threshold,n.owners],functionName:`updateConfig`})}e.call=n;function r(e){let[t]=lf({abi:wT,logs:e,eventName:`MultisigConfigUpdated`,strict:!0});if(!t)throw Error(\"`MultisigConfigUpdated` event not found.\");return t}e.extractEvent=r})(JE||={}),ha(),rf();let YE={0:`secp256k1`,1:`p256`,2:`webAuthn`},XE={true:`limited`,false:`unlimited`};async function ZE(e,t){return ZE.inner(mh,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 aD(t,{account:d,accessKey:r,chainId:a,admin:i,expiry:o,limits:s,scopes:c,witness:l});return await e(t,{...u,keyAuthorization:f})}e.inner=t;function n(e){let[t]=lf({abi:ST,logs:e,eventName:`KeyAuthorized`,strict:!0});if(!t)throw Error(\"`KeyAuthorized` event not found.\");return t}e.extractEvent=n})(ZE||={});async function QE(e,t){return QE.inner(hh,e,t)}(function(e){async function t(t,n,r){let{witness:i,...a}=r,o=e.call({witness:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{witness:t}=e;return H({address:sE,abi:ST,functionName:`burnKeyAuthorizationWitness`,args:[t]})}e.call=n;function r(e){let[t]=lf({abi:ST,logs:e,eventName:`KeyAuthorizationWitnessBurned`,strict:!0});if(!t)throw Error(\"`KeyAuthorizationWitnessBurned` event not found.\");return t}e.extractEvent=r})(QE||={});async function $E(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n),o=await Ym(e,{...i,account:null,...$E.call({account:a.address,accessKey:r})});return{address:o.keyId,keyType:YE[o.signatureType]??`secp256k1`,expiry:o.expiry,spendPolicy:XE[`${o.enforceLimits}`],isRevoked:o.isRevoked}}(function(e){function t(e){let{account:t,accessKey:n}=e;return H({address:sE,abi:ST,functionName:`getKey`,args:[t,cD(n)]})}e.call=t})($E||={});async function eD(e,t){let{account:n=e.account,accessKey:r,token:i,...a}=t;if(!n)throw Error(`account is required.`);let o=M(n),s=e.chain?.hardfork;if(s&&LE(s,`t3`))return{remaining:await Ym(e,{...a,...eD.call({account:o.address,accessKey:r,token:i})}),periodEnd:void 0};let[c,l]=await Ym(e,{...a,...eD.callWithPeriod({account:o.address,accessKey:r,token:i})});return{remaining:c,periodEnd:l}}(function(e){function t(e){let{account:t,accessKey:n,token:r}=e;return H({address:sE,abi:ST,functionName:`getRemainingLimit`,args:[t,cD(n),r]})}e.call=t;function n(e){let{account:t,accessKey:n,token:r}=e;return H({address:sE,abi:ST,functionName:`getRemainingLimitWithPeriod`,args:[t,cD(n),r]})}e.callWithPeriod=n})(eD||={});async function tD(e,t){let{account:n=e.account,accessKey:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n);return Ym(e,{...i,account:null,...tD.call({account:a.address,accessKey:r})})}(function(e){function t(e){let{account:t,accessKey:n}=e;return H({address:sE,abi:ST,functionName:`isAdminKey`,args:[t,cD(n)]})}e.call=t})(tD||={});async function nD(e,t){let{account:n=e.account,witness:r,...i}=t;if(!n)throw Error(`account is required.`);let a=M(n);return Ym(e,{...i,account:null,...nD.call({account:a.address,witness:r})})}(function(e){function t(e){let{account:t,witness:n}=e;return H({address:sE,abi:ST,functionName:`isKeyAuthorizationWitnessBurned`,args:[t,n]})}e.call=t})(nD||={});async function rD(e,t){return rD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,...a}=r,o=e.call({accessKey:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{accessKey:t}=e;return H({address:sE,abi:ST,functionName:`revokeKey`,args:[cD(t)]})}e.call=n;function r(e){let[t]=lf({abi:ST,logs:e,eventName:`KeyRevoked`,strict:!0});if(!t)throw Error(\"`KeyRevoked` event not found.\");return t}e.extractEvent=r})(rD||={});async function iD(e,t){let{chainId:n=e.chain?.id}=t,r=t.account??e.account;if(!r)throw Error(`account is required.`);if(!n)throw Error(`chainId is required.`);let i=M(r),a=await(async()=>{if(`multisig`in t)return t.multisig;if(i.source!==`multisig`)return;let e=i;if(!e.config)throw Error(`A multisig config is required to prepare a key authorization.`);return{config:e.config}})(),o=AE(i,{...t,chainId:BigInt(n),key:t.accessKey}),s=i.source===`multisig`&&a?rC({account:i.address,config:a.config,payload:o}):o;return{...t,account:i,chainId:n,multisig:a,signPayload:s}}async function aD(e,t){if(`hash`in t&&t.hash||`owner`in t&&t.owner){let n=t,r=n.owner;if(!r||typeof r==`string`)throw Error(`A local owner account is required to approve a multisig key authorization.`);let i=M(r).sign;if(!i)throw Error(`A local owner account is required to approve a multisig key authorization.`);let a=await(async()=>{if(`hash`in n&&n.hash){let e=CC(bC(await i({hash:n.hash})));return{hash:n.hash,signature:e}}let{account:t,owner:r,...a}=n,o=typeof t==`string`?t:t.address,s=await(async()=>{if(typeof t!=`string`&&t.config)return t.config;let n=await KE(e,{address:o});if(n)return n;throw Error(`No current multisig config is cached for account ${o}. Provide the current config.`)})(),c=(()=>{if(s.version!==0n)return SE({address:o,...s});let{version:e,...t}=s;return SE({address:`infer`,...t})})();if(!nf(c.address,o))throw Error(`Initial multisig config does not match the account.`);let l=await iD(e,{...a,account:c}),u=CC(bC(await i({hash:l.signPayload}))),{accessKey:d,admin:f,chainId:p,expiry:m,limits:h,scopes:g,witness:_}=l,{accessKeyAddress:v,keyType:y}=FE(d);return{keyAuthorization:mw(sw({account:c.address,address:v,chainId:BigInt(p),signature:bC({account:c.address,config:s,signatures:[dE(u)]}),type:y,..._?{witness:_}:{},...f?{isAdmin:!0}:{expiry:m,limits:h,scopes:g}}))}})(),o=Kw(await e.request({method:`multisig_approveKeyAuthorization`,params:[a]})),s=dw(await(async()=>{if(o.status===`success`)return o.keyAuthorization;let e=await Uw({account:o.account,approvals:o.approvals,config:o.config,hash:o.hash});return Ww(o.keyAuthorization,{account:o.account,approvals:e.selectedApprovals.length>0?e.selectedApprovals:e.approvals.slice(0,1),config:o.config})})());if(!s.signature)throw Error(`Expected a signed multisig key authorization.`);return{...s,hash:o.hash,multisig:o,status:o.status}}let{accessKey:n,account:r,chainId:i,multisig:a,signPayload:o,...s}=`signPayload`in t?t:await iD(e,t);return jE(r,{chainId:BigInt(i),key:n,multisig:a,...s})}async function oD(e,t){return oD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{accessKey:i,token:a,limit:o,...s}=r,c=e.call({accessKey:i,token:a,limit:o});return await t(n,{...s,...c})}e.inner=t;function n(e){let{accessKey:t,token:n,limit:r}=e;return H({address:sE,abi:ST,functionName:`updateSpendingLimit`,args:[cD(t),n,r]})}e.call=n;function r(e){let[t]=lf({abi:ST,logs:e,eventName:`SpendingLimitUpdated`,strict:!0});if(!t)throw Error(\"`SpendingLimitUpdated` event not found.\");return t}e.extractEvent=r})(oD||={});async function sD(e,t){let{account:n,admin:r,hash:i,signature:a,...o}=t;return Ym(e,{...o,...sD.call({account:n,admin:r,hash:i,signature:a})})}(function(e){function t(e){let{account:t,admin:n=!0,hash:r,signature:i}=e;return H({address:`0x5165300000000000000000000000000000000000`,abi:OT,functionName:n?`verifyKeychainAdmin`:`verifyKeychain`,args:[t,r,i]})}e.call=t})(sD||={});function cD(e){return typeof e==`string`?e:e.accessKeyAddress}z(),ha();async function lD(e,t){return lD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountOut:o,maxAmountIn:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountOut:r,maxAmountIn:i}=e;return H({address:uE,abi:kT,functionName:`swapExactAmountOut`,args:[t,n,r,i]})}e.call=n})(lD||={});async function uD(e,t){return uD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return H({address:uE,abi:kT,functionName:`cancel`,args:[t]})}e.call=n;function r(e){let[t]=lf({abi:kT,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(uD||={});async function dD(e,t){return dD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{orderId:i,...a}=r,o=e.call({orderId:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{orderId:t}=e;return H({address:uE,abi:kT,functionName:`cancelStaleOrder`,args:[t]})}e.call=n;function r(e){let[t]=lf({abi:kT,logs:e,eventName:`OrderCancelled`,strict:!0});if(!t)throw Error(\"`OrderCancelled` event not found.\");return t}e.extractEvent=r})(dD||={});async function fD(e,t){return fD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{base:i,...a}=r,o=e.call({base:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{base:t}=e;return H({address:uE,abi:kT,functionName:`createPair`,args:[t]})}e.call=n;function r(e){let[t]=lf({abi:kT,logs:e,eventName:`PairCreated`,strict:!0});if(!t)throw Error(\"`PairCreated` event not found.\");return t}e.extractEvent=r})(fD||={});async function pD(e,t){let{account:n=e.account,token:r,...i}=t,a=n?M(n).address:void 0;if(!a)throw Error(`account is required.`);return Ym(e,{...i,...pD.call({account:a,token:r})})}(function(e){function t(e){let{account:t,token:n}=e;return H({address:uE,abi:kT,args:[t,n],functionName:`balanceOf`})}e.call=t})(pD||={});async function mD(e,t){let{tokenIn:n,tokenOut:r,amountOut:i,...a}=t;return Ym(e,{...a,...mD.call({tokenIn:n,tokenOut:r,amountOut:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountOut:r}=e;return H({address:uE,abi:kT,args:[t,n,r],functionName:`quoteSwapExactAmountOut`})}e.call=t})(mD||={});async function hD(e,t){let{orderId:n,...r}=t;return Ym(e,{...r,...hD.call({orderId:n})})}(function(e){function t(e){let{orderId:t}=e;return H({address:uE,abi:kT,args:[t],functionName:`getOrder`})}e.call=t})(hD||={});async function gD(e,t){let{base:n,quote:r,...i}=t;return Ym(e,{...i,...gD.call({base:n,quote:r})})}(function(e){function t(e){let{base:t,quote:n}=e,r=CD(t,n);return H({address:uE,abi:kT,args:[r],functionName:`books`})}e.call=t})(gD||={});async function _D(e,t){let{base:n,tick:r,isBid:i,...a}=t,[o,s,c]=await Ym(e,{...a,..._D.call({base:n,tick:r,isBid:i})});return{head:o,tail:s,totalLiquidity:c}}(function(e){function t(e){let{base:t,tick:n,isBid:r}=e;return H({address:uE,abi:kT,args:[t,n,r],functionName:`getTickLevel`})}e.call=t})(_D||={});async function vD(e,t){let{tokenIn:n,tokenOut:r,amountIn:i,...a}=t;return Ym(e,{...a,...vD.call({tokenIn:n,tokenOut:r,amountIn:i})})}(function(e){function t(e){let{tokenIn:t,tokenOut:n,amountIn:r}=e;return H({address:uE,abi:kT,args:[t,n,r],functionName:`quoteSwapExactAmountIn`})}e.call=t})(vD||={});async function yD(e,t){return yD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{amount:i,token:a,type:o,tick:s,...c}=r,l=e.call({amount:i,token:a,type:o,tick:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i}=e;return H({address:uE,abi:kT,functionName:`place`,args:[t,n,r===`buy`,i]})}e.call=n;function r(e){let[t]=lf({abi:kT,logs:e,eventName:`OrderPlaced`,strict:!0});if(!t)throw Error(\"`OrderPlaced` event not found.\");return t}e.extractEvent=r})(yD||={});async function bD(e,t){return bD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{amount:i,flipTick:a,tick:o,token:s,type:c,...l}=r,u=e.call({amount:i,flipTick:a,tick:o,token:s,type:c});return await t(n,{...l,...u})}e.inner=t;function n(e){let{token:t,amount:n,type:r,tick:i,flipTick:a}=e;return H({address:uE,abi:kT,functionName:`placeFlip`,args:[t,n,r===`buy`,i,a]})}e.call=n;function r(e){let t=lf({abi:kT,logs:e,eventName:`OrderPlaced`,strict:!0}).find(e=>e.args.isFlipOrder);if(!t)throw Error(\"`OrderPlaced` event (flip order) not found.\");return t}e.extractEvent=r})(bD||={});async function xD(e,t){return xD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s,...c}=r,l=e.call({tokenIn:i,tokenOut:a,amountIn:o,minAmountOut:s});return await t(n,{...c,...l})}e.inner=t;function n(e){let{tokenIn:t,tokenOut:n,amountIn:r,minAmountOut:i}=e;return H({address:uE,abi:kT,functionName:`swapExactAmountIn`,args:[t,n,r,i]})}e.call=n})(xD||={});async function SD(e,t){return SD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{token:i,amount:a,...o}=r,s=e.call({token:i,amount:a});return await t(n,{...o,...s})}e.inner=t;function n(e){let{token:t,amount:n}=e;return H({address:uE,abi:kT,functionName:`withdraw`,args:[t,n]})}e.call=n})(SD||={});function CD(e,t){return y_(P(e,t))}z(),ha(),ba();async function wD(e,t){return wD.inner(hh,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]=GE(e),{amount:r,spender:i,token:a}=n,{address:o,decimals:s}=RE(t,{token:a});return H({address:o,abi:V,functionName:`approve`,args:[i,pb(r,s)]})}e.call=n;async function r(t,n){return tf(t,{...WE(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Xm(t,{...WE(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=lf({abi:V,logs:e,eventName:`Approval`});if(!t)throw Error(\"`Approval` event not found.\");return t}e.extractEvent=a})(wD||={});async function TD(e,t){return TD.inner(hh,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]=GE(e),{from:r,amount:i,token:a}=n,{address:o,decimals:s}=RE(t,{token:a});return H({address:o,abi:V,functionName:`burnBlocked`,args:[r,pb(i,s)]})}e.call=n;function r(e){let[t]=lf({abi:V,logs:e,eventName:`BurnBlocked`});if(!t)throw Error(\"`BurnBlocked` event not found.\");return t}e.extractEvent=r})(TD||={});async function ED(e,t){return ED.inner(hh,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]=GE(e),{amount:r,memo:i,token:a}=n,{address:o,decimals:s}=RE(t,{token:a}),c=pb(r,s),l=i?{functionName:`burnWithMemo`,args:[c,vp(i,32)]}:{functionName:`burn`,args:[c]};return H({address:o,abi:V,...l})}e.call=n;function r(e){let[t]=lf({abi:V,logs:e,eventName:`Burn`});if(!t)throw Error(\"`Burn` event not found.\");return t}e.extractEvent=r})(ED||={});async function DD(e,t){return DD.inner(hh,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]=GE(e),{token:r,policyId:i}=n;return H({address:RE(t,{token:r}).address,abi:V,functionName:`changeTransferPolicyId`,args:[i]})}e.call=n;function r(e){let[t]=lf({abi:V,logs:e,eventName:`TransferPolicyUpdate`});if(!t)throw Error(\"`TransferPolicyUpdate` event not found.\");return t}e.extractEvent=r})(DD||={});async function OD(e,t){return OD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{account:i=n.account,admin:a=n.account,chain:o=n.chain,...s}=r,c=a?M(a):void 0;if(!c)throw Error(`admin is required.`);let l=e.call(n,{...s,admin:c.address});return await t(n,{...r,account:i,chain:o,...l})}e.inner=t;function n(...e){let[t,n]=GE(e),{name:r,symbol:i,currency:a,logoURI:o,quoteToken:s=`0x20c0000000000000000000000000000000000000`,admin:c,salt:l=bp(32)}=n;return H({address:`0x20fc000000000000000000000000000000000000`,abi:PT,args:typeof o==`string`?[r,i,a,RE(t,{token:s}).address,c,l,o]:[r,i,a,RE(t,{token:s}).address,c,l],functionName:`createToken`})}e.call=n;function r(e){let[t]=lf({abi:PT,logs:e,eventName:`TokenCreated`,strict:!0});if(!t)throw Error(\"`TokenCreated` event not found.\");return t}e.extractEvent=r})(OD||={});async function kD(e,t){let{account:n,decimals:r,spender:i,token:a,...o}=t,[s,{decimals:c}]=await Promise.all([Ym(e,{...o,...kD.call(e,{account:n,spender:i,token:a})}),UE(e,{decimals:r,token:a})]);return fb(s,c)}(function(e){function t(...e){let[t,n]=GE(e);return H({address:RE(t,n).address,abi:V,functionName:`allowance`,args:[n.account,n.spender]})}e.call=t})(kD||={});async function AD(e,t){let{account:n=e.account,decimals:r,token:i,...a}=t;if(!n)throw new lh;let o=M(n).address,[s,{decimals:c}]=await Promise.all([Ym(e,{...a,...AD.call(e,{account:o,token:i})}),UE(e,{decimals:r,token:i})]);return fb(s,c)}(function(e){function t(...e){let[t,n]=GE(e),r=n.account??t?.account;if(!r)throw new lh;let i=M(r).address;return H({address:RE(t,n).address,abi:V,functionName:`balanceOf`,args:[i]})}e.call=t})(AD||={});async function jD(e,t){let{token:n,...r}=t,{address:i}=RE(e,{token:n}),a=V,o=zE(e,n),s={...o?.decimals==null?{}:{decimals:o.decimals},...o?.name==null?{}:{name:o.name},...o?.symbol==null?{}:{symbol:o.symbol}};return GC(i)===GC(`0x20c0000000000000000000000000000000000000`)?MD(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:ND(r),symbol:ND(i),currency:ND(e),decimals:ND(t),logoURI:ND(n,``),totalSupply:ND(a),...s})):MD(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:ND(i),symbol:ND(c),currency:ND(e),decimals:ND(t),logoURI:ND(n,``),quoteToken:ND(r),totalSupply:ND(l),paused:ND(a),supplyCap:ND(o),transferPolicyId:ND(u),...s}))}async function MD(e,t){if(e.batch?.multicall===void 0)return Iy(e,{...t,allowFailure:!0,deployless:!0});let{contracts:n,...r}=t;return(await Promise.allSettled(n.map(t=>Ym(e,{...r,...t})))).map(e=>e.status===`fulfilled`?{result:e.value,status:`success`}:{error:e.reason,status:`failure`})}function ND(e,...t){if(e.status===`failure`){if(t.length>0)return t[0];throw e.error}return e.result}async function PD(e,t){let{decimals:n,token:r,...i}=t,[a,{decimals:o}]=await Promise.all([Ym(e,{...i,...PD.call(e,{token:r})}),UE(e,{decimals:n,token:r})]);return fb(a,o)}(function(e){function t(...e){let[t,n]=GE(e);return H({address:RE(t,n).address,abi:V,args:[],functionName:`totalSupply`})}e.call=t})(PD||={});async function FD(e,t){return Ym(e,{...t,...FD.call(e,t)})}(function(e){function t(...e){let[t,n]=GE(e),{role:r,token:i}=n;return H({address:RE(t,{token:i}).address,abi:V,functionName:`getRoleAdmin`,args:[fT(r)]})}e.call=t})(FD||={});async function ID(e,t){let{account:n=e.account}=t,r=n?M(n).address:void 0;if(!r)throw Error(`account is required.`);return Ym(e,{...t,...ID.call(e,{...t,account:r})})}(function(e){function t(...e){let[t,n]=GE(e),{account:r,role:i,token:a}=n;return H({address:RE(t,{token:a}).address,abi:V,functionName:`hasRole`,args:[r,fT(i)]})}e.call=t})(ID||={});async function LD(e,t){return LD.inner(mh,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:ya(i)}})})}e.inner=t;function n(...e){let[t,n]=GE(e),{token:r,to:i,role:a}=n,o=fT(a);return H({address:RE(t,{token:r}).address,abi:V,functionName:`grantRole`,args:[o,i]})}e.call=n;function r(e){let t=lf({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(LD||={});async function RD(e,t){return RD.inner(hh,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]=GE(e),{to:r,amount:i,memo:a,token:o}=n,{address:s,decimals:c}=RE(t,{token:o}),l=pb(i,c),u=a?{functionName:`mintWithMemo`,args:[r,l,vp(a,32)]}:{functionName:`mint`,args:[r,l]};return H({address:s,abi:V,...u})}e.call=n;function r(e){let[t]=lf({abi:V,logs:e,eventName:`Mint`});if(!t)throw Error(\"`Mint` event not found.\");return t}e.extractEvent=r})(RD||={});async function zD(e,t){return zD.inner(hh,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]=GE(e),{token:r}=n;return H({address:RE(t,{token:r}).address,abi:V,functionName:`pause`,args:[]})}e.call=n;function r(e){let[t]=lf({abi:V,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(zD||={});async function BD(e,t){return BD.inner(mh,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:ya(i)}})})}e.inner=t;function n(...e){let[t,n]=GE(e),{token:r,role:i}=n,a=fT(i);return H({address:RE(t,{token:r}).address,abi:V,functionName:`renounceRole`,args:[a]})}e.call=n;function r(e){let t=lf({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(BD||={});async function VD(e,t){return VD.inner(mh,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:ya(i)}})})}e.inner=t;function n(...e){let[t,n]=GE(e),{token:r,from:i,role:a}=n,o=fT(a);return H({address:RE(t,{token:r}).address,abi:V,functionName:`revokeRole`,args:[o,i]})}e.call=n;function r(e){let t=lf({abi:V,logs:e,eventName:`RoleMembershipUpdated`});if(t.length===0)throw Error(\"`RoleMembershipUpdated` events not found.\");return t}e.extractEvents=r})(VD||={});async function HD(e,t){return HD.inner(hh,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]=GE(e),{token:r,supplyCap:i}=n;return H({address:RE(t,{token:r}).address,abi:V,functionName:`setSupplyCap`,args:[i]})}e.call=n;function r(e){let[t]=lf({abi:V,logs:e,eventName:`SupplyCapUpdate`});if(!t)throw Error(\"`SupplyCapUpdate` event not found.\");return t}e.extractEvent=r})(HD||={});async function UD(e,t){return UD.inner(hh,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]=GE(e),{token:r,role:i,adminRole:a}=n,o=fT(i),s=fT(a);return H({address:RE(t,{token:r}).address,abi:V,functionName:`setRoleAdmin`,args:[o,s]})}e.call=n;function r(e){let[t]=lf({abi:V,logs:e,eventName:`RoleAdminUpdated`});if(!t)throw Error(\"`RoleAdminUpdated` event not found.\");return t}e.extractEvent=r})(UD||={});async function WD(e,t){return WD.inner(hh,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]=GE(e),{from:r,memo:i,to:a,token:o}=n,{address:s,decimals:c}=RE(t,{token:o}),l=pb(n.amount,c),u=i&&r?{functionName:`transferFromWithMemo`,args:[r,a,l,vp(i,32)]}:i?{functionName:`transferWithMemo`,args:[a,l,vp(i,32)]}:r?{functionName:`transferFrom`,args:[r,a,l]}:{functionName:`transfer`,args:[a,l]};return H({address:s,abi:V,...u})}e.call=n;async function r(t,n){return tf(t,{...WE(n),...e.call(t,n)})}e.estimateGas=r;async function i(t,n){return Xm(t,{...WE(n),...e.call(t,n)})}e.simulate=i;function a(e){let[t]=lf({abi:V,logs:e,eventName:`Transfer`});if(!t)throw Error(\"`Transfer` event not found.\");return t}e.extractEvent=a})(WD||={});async function GD(e,t){return GD.inner(hh,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]=GE(e),{token:r}=n;return H({address:RE(t,{token:r}).address,abi:V,functionName:`unpause`,args:[]})}e.call=n;function r(e){let[t]=lf({abi:V,logs:e,eventName:`PauseStateUpdate`});if(!t)throw Error(\"`PauseStateUpdate` event not found.\");return t}e.extractEvent=r})(GD||={});async function KD(e,t){return KD.inner(hh,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]=GE(e),{token:r,quoteToken:i}=n;return H({address:RE(t,{token:r}).address,abi:V,functionName:`setNextQuoteToken`,args:[RE(t,{token:i}).address]})}e.call=n;function r(e){let[t]=lf({abi:V,logs:e,eventName:`NextQuoteTokenSet`});if(!t)throw Error(\"`NextQuoteTokenSet` event not found.\");return t}e.extractEvent=r})(KD||={});async function qD(e,t){return qD.inner(hh,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]=GE(e),{token:r}=n;return H({address:RE(t,{token:r}).address,abi:V,functionName:`completeQuoteTokenUpdate`,args:[]})}e.call=n;function r(e){let[t]=lf({abi:V,logs:e,eventName:`QuoteTokenUpdate`});if(!t)throw Error(\"`QuoteTokenUpdateCompleted` event not found.\");return t}e.extractEvent=r})(qD||={}),ha();async function JD(e,...t){let{account:n=e.account,...r}=t[0]??{};if(!n)throw Error(`account is required.`);let i=M(n),a=await Ym(e,{...r,...JD.call({account:i.address})});return a===`0x0000000000000000000000000000000000000000`?null:{address:a,id:GC(a)}}(function(e){function t(e){let{account:t}=e;return H({address:cE,abi:jT,args:[t],functionName:`userTokens`})}e.call=t})(JD||={});async function YD(e,t){return YD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return H({address:cE,abi:jT,functionName:`setUserToken`,args:[KC(t)]})}e.call=n;function r(e){let[t]=lf({abi:jT,logs:e,eventName:`UserTokenSet`,strict:!0});if(!t)throw Error(\"`UserTokenSet` event not found.\");return t}e.extractEvent=r})(YD||={});async function XD(e,t){let{validator:n,...r}=t,i=await Ym(e,{...r,...XD.call({validator:n})});return i===`0x0000000000000000000000000000000000000000`?null:{address:i,id:GC(i)}}(function(e){function t(e){let{validator:t}=e;return H({address:cE,abi:jT,args:[t],functionName:`validatorTokens`})}e.call=t})(XD||={});async function ZD(e,t){return ZD.inner(hh,e,t)}(function(e){async function t(t,n,r){let{token:i,...a}=r,o=e.call({token:i});return await t(n,{...a,...o})}e.inner=t;function n(e){let{token:t}=e;return H({address:cE,abi:jT,functionName:`setValidatorToken`,args:[KC(t)]})}e.call=n;function r(e){let[t]=lf({abi:jT,logs:e,eventName:`ValidatorTokenSet`,strict:!0});if(!t)throw Error(\"`ValidatorTokenSet` event not found.\");return t}e.extractEvent=r})(ZD||={}),z(),ha(),ld();function QD(e){if(!pE(e))return Cd(e);let t=e.blockTimestamp==null?void 0:BigInt(e.blockTimestamp),n=e.multisig,{feePayerSignature:r,gasPrice:i,nonce:a,...o}=hT(e);return{...o,accessList:o.accessList,...t!==void 0&&{blockTimestamp:t},feePayerSignature:r?{r:F(r.r,{size:32}),s:F(r.s,{size:32}),v:BigInt(r.v??27),yParity:r.yParity}:void 0,multisig:eO(n),nonce:Number(a),typeHex:pT[o.type],type:o.type}}function $D(e){return{...yh(e),multisig:eO(e.multisig),...e.status===`pending`?{status:`pending`,type:`tempo`}:{}}}function eO(e){if(!e)return;let t=Kw(e);if(t.type!==`transaction`)throw Error(`Expected a multisig transaction operation.`);return t}function tO(e,t){let n=e,r=n.account?M(n.account):void 0,i=n.owner?M(n.owner):void 0;if(i?.type===`json-rpc`)throw Error(`A local owner account is required to approve a multisig transaction.`);if(!pE(n))return ad(e,t);t&&(n.calls=n.calls??[{to:e.to||(!e.data||e.data===`0x`?`0x0000000000000000000000000000000000000000`:void 0),value:e.value,data:e.data}]),n.feePayer===!0&&!n.feePayerSignature&&delete n.feeToken;let{owner:a,signatures:o,...s}=n,c=gT({...s,type:`tempo`});t===`estimateGas`&&(c.maxFeePerGas=void 0,c.maxPriorityFeePerGas=void 0),c.to=void 0,c.data=void 0,c.value=void 0;let l=i??r,[u,d]=(()=>{let e=l&&`keyType`in l?l.keyType:l?.source;return e?e===`webAuthn`?[`webAuthn`,`0x0578`]:[`p256`,`secp256k1`].includes(e)?[e,void 0]:[n.keyType,nO(n.keyData)]:[n.keyType,nO(n.keyData)]})(),f=l&&`accessKeyAddress`in l?l.accessKeyAddress:n.keyId;return r&&(c.from=r.address),{...c,...n.capabilities?{capabilities:n.capabilities}:{},...d?{keyData:d}:{},...f?{keyId:f}:{},...u?{keyType:u}:{},...n.owner?{owner:void 0}:{},...n.feePayer===void 0?{}:{feePayer:typeof n.feePayer==`object`?M(n.feePayer):n.feePayer},...`feePayerSignature`in n&&n.feePayerSignature!==void 0?{feePayerSignature:n.feePayerSignature}:{}}}function nO(e){if(!e)return e;let t=(e.length-2)/2;return t<=4?e:F(t,{size:2})}let rO=new Map;async function iO(e){rO.set(e,(rO.get(e)??0)+1),await Promise.resolve();let t=(rO.get(e)??0)>1;return queueMicrotask(()=>{let t=rO.get(e)??0;t<=1?rO.delete(e):rO.set(e,t-1)}),t}z(),hd(),rf(),ld(),fi();let aO=((e,t)=>hE(e,t)),oO={blockTime:1e3,extendSchema:eg(),formatters:{transaction:wd({exclude:[`aaAuthorizationList`],format:QD}),transactionReceipt:bh({format:$D}),transactionRequest:cd({format:tO})},prepareTransactionRequest:[async(e,{client:t,phase:n})=>{let r=e;if(r.hash){if(!r.account||typeof r.account==`string`||r.account.source!==`multisig`)throw Error(`A local multisig account is required to approve a stored multisig transaction.`);if(!r.owner||typeof r.owner==`string`)throw Error(`A local owner account is required to approve a stored multisig transaction.`);if(r.owner.source!==`root`)throw Error(`A Tempo owner account is required to approve a stored multisig transaction.`);let e=await D(t,Py,`getTransaction`)({hash:r.hash}),n=`multisig`in e?e.multisig:void 0;if(!n)throw Error(`Expected a multisig operation transaction.`);if(!nf(n.account,r.account.address))throw Error(`Multisig operation account does not match the requested account.`);let i=mE(n.transaction);if(Hw({account:n.account,config:n.config,transaction:n.transaction,type:`transaction`}).toLowerCase()!==r.hash.toLowerCase())throw Error(`Multisig operation hash does not match transaction.`);return{...i,gas:i.gas??0n,maxFeePerGas:i.maxFeePerGas??0n,maxPriorityFeePerGas:i.maxPriorityFeePerGas??0n,account:r.account,from:n.account,multisigSimulation:sO({config:n.config,local:r.account}),owner:r.owner}}if(n===`afterFillParameters`)return r.gas!==void 0&&r.feePayer&&!r.feePayerSignature&&(r.keyAuthorization?.signature.type===`webAuthn`?r.gas=(r.gas??0n)+20000n:r.account?.source===`accessKey`&&(r.gas=(r.gas??0n)+10000n)),r;let i=(()=>{if(r.account?.source===`multisig`)return{account:r.account.address,config:r.account.config,local:r.account}})();if(r.owner&&!i)throw Error(`A multisig account is required when an owner is provided.`);if(r.owner&&typeof r.owner==`string`)throw Error(`A local owner account is required to approve a multisig transaction.`);if(r.owner&&r.owner.source!==`root`)throw Error(`A Tempo owner account is required to approve a multisig transaction.`);let a=!!i&&!!r.owner&&t.transport.multisig===!0;if(i){let{account:e,local:n}=i;if(!e)throw Error(`A multisig account address is required with a current config.`);let o=await(async()=>{if(i.config)return i.config;if(!a)return;let n=await D(t,KE,`getConfig`)({address:e});if(!n)throw Error(`No current multisig config is cached for account ${e}. Provide the current config.`);return n})();if(!o)throw Error(`A multisig config is required to prepare a transaction.`);r.from=e,r.multisigSimulation=sO({config:o,local:n})}let o=await(async()=>{if(r.nonceKey===`expiring`||r.nonceKey===md)return!0;if(r.nonceKey!==void 0||i)return!1;if(r.feePayer&&r.nonceKey===void 0)return!0;let e=r.account,t=typeof e==`string`?e:e?.address;return t&&r.nonceKey===void 0?await iO(t.toLowerCase()):!1})();if(a&&r.nonceKey===void 0?(r.nonceKey=R(bp(31))+1n,r.nonce=0):o?(r.nonceKey=md,r.nonce=0,r.validAfter===void 0&&(r.validAfter=lO()),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 D(t,$E,`getMetadata`)({account:i,accessKey:a});nf(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:aO,async transactionEnvelope({serializedTransaction:e,transaction:t}){let n=t;if(!n.multisigSimulation)return e;try{vC(e)}catch{if(mE(e).signature?.type===`multisig`)return e;throw Error(`A Tempo owner account is required to approve a multisig transaction.`)}return await aO({...n,signatures:[...n.signatures??[],e]})}},async verifyHash(e,t){let{address:n,hash:r,signature:i,mode:a}=t,o=(()=>{if(typeof i==`string`)try{return vC(i)}catch{return}})();if(o){if(o?.type===`keychain`&&a===`allowAccessKey`){let i=o.version===`v2`?di(P(`0x04`,r,n)):r,a=(()=>{try{return gC({payload:i,signature:o.inner})}catch{return}})();if(!a)return!1;let s=await $E(e,{account:n,accessKey:a,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});return s.isRevoked||s.expiry<=BigInt(Math.floor(Date.now()/1e3))?!1:EC(o.inner,{address:a,payload:i})}if(o.type===`p256`||o.type===`webAuthn`){let i=await Mh(e,{address:n,blockHash:t.blockHash,blockNumber:t.blockNumber,blockTag:t.blockTag,requireCanonical:t.requireCanonical});if(!i||i===`0xef01007702c00000000000000000000000000000000000`)return EC(o,{address:n,payload:r})}}return await D(e,$y,`verifyHash`)({...t,chain:null})}};function sO(e){let{config:t,local:n}=e;return{approvals:uO(t).map(e=>{let t=n?.owners.find(t=>nf(t.address,e.owner));return{...cO(t),owner:e.owner}}),config:t}}function cO(e){let t=(()=>{if(e&&typeof e==`object`&&`keyType`in e&&typeof e.keyType==`string`)return e.keyType})();return!t||t===`webAuthn`?{keyData:`0x0578`,keyType:`webAuthn`}:t===`p256`||t===`secp256k1`?{keyType:t}:{keyData:`0x0578`,keyType:`webAuthn`}}function lO(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(bp(8))%e)}function uO(e){let t=[...e.owners].sort((e,t)=>Number(t.weight)-Number(e.weight)||e.owner.toLowerCase().localeCompare(t.owner.toLowerCase())),n=[],r=0;for(let i of t.slice(0,8)){if(r>=Number(e.threshold))break;n.push(i),r+=Number(i.weight)}return n.sort((e,t)=>e.owner.toLowerCase().localeCompare(t.owner.toLowerCase()))}let dO=$h({...oO,id:4217,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.tempo.xyz`}},contracts:{earnFactory:{address:`0xb5889A96114014d4C032ebD76772c10bF3b97137`},erc4626EngineFactory:{address:`0xd43D00981222a8db444A528E69f19E3cE5A7D2Ff`}},name:`Tempo Mainnet`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.tempo.xyz`],webSocket:[`wss://rpc.tempo.xyz`]}}}),fO=$h({...oO,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}),pO=$h({...oO,id:1337,name:`Tempo`,hardfork:`t3`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`http://localhost:8545`]}}}),mO=$h({...oO,id:42431,hardfork:`t5`,blockExplorers:{default:{name:`Tempo Explorer`,url:`https://explore.testnet.tempo.xyz`}},contracts:{earnFactory:{address:`0xb5889A96114014d4C032ebD76772c10bF3b97137`},erc4626EngineFactory:{address:`0xd43D00981222a8db444A528E69f19E3cE5A7D2Ff`}},name:`Tempo Testnet (Moderato)`,nativeCurrency:{name:`USD`,symbol:`USD`,decimals:6},rpcUrls:{default:{http:[`https://rpc.moderato.tempo.xyz`],webSocket:[`wss://rpc.moderato.tempo.xyz`]}},testnet:!0});function hO(e){let{addresses:t,currency:n,decimals:r,name:i,popular:a,symbol:o}=e;function s(e){let s=t[e];if(!s)throw Error(`Token has no address for chain id \"${e}\".`);return{address:s,currency:n,decimals:r,name:i,popular:a,symbol:o}}return Object.defineProperties(s,{addresses:{enumerable:!0,value:t},currency:{enumerable:!0,value:n},decimals:{enumerable:!0,value:r},name:{enumerable:!0,value:i},popular:{enumerable:!0,value:a},symbol:{enumerable:!0,value:o}})}let gO=hO({addresses:{1:`0x9f6F3991D525015a6F8CaF062C83b62fD3AC4436`,4217:`0x20c0000000000000000000006a37DA5C996874BE`,8453:`0xB2000000000000000000002fEb517dFeC7415344`},currency:`USD`,decimals:6,name:`OpenUSD`,symbol:`OUSD`}),_O=hO({addresses:{4217:`0x20c0000000000000000000000000000000000000`,42431:`0x20c0000000000000000000000000000000000000`},currency:`USD`,decimals:6,name:`PathUSD`,symbol:`pathUSD`}),vO=hO({addresses:{4217:`0x20c000000000000000000000b9537d11c60e8b50`,42431:`0x20c0000000000000000000009e8d7eb59b783726`},currency:`USD`,decimals:6,name:`Bridged USDC (Stargate)`,symbol:`USDC.e`});function yO(e){return e.source}function bO(e,t,n){let{policy:r=`sign-only`}=n??{};return n=>{let i=e(n),a=t(n);return Zb({key:bO.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(mE(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:bO.type})}}Za();let xO={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 SO(e,t){return t?e.replace(/\\{(\\d+)\\}/g,(e,n)=>{let r=t[Number(n)];return r===void 0?`{${n}}`:String(r)}):e}function CO(e){let t=e.details??e.shortMessage??e.message,n=wO(e);if(n)try{let e=Xa({abi:void 0,data:n}),r=xO[e.errorName];return{...e,data:n,message:r?SO(r,e.args):t.replace(/^execution reverted:\\s*/i,``)}}catch{}let r=/:\\s*(\\w+)\\(\\w+/.exec(t)?.[1];return r&&r in xO?{errorName:`unknown`,message:xO[r]}:{errorName:`unknown`,message:t.replace(/^execution reverted:\\s*/i,``)}}function wO(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 wO(t.cause);if(t.error)return wO(t.error);if(typeof t.walk==`function`){let e=t.walk(e=>typeof e.data==`string`);if(e)return wO(e)}return null}function TO(e={}){let{extractable:t=!1}=e;return{requiresStructuredClone:!t,async createKey(){if(!globalThis.crypto?.subtle)throw Error(\"`webCryptoP256` keystore requires WebCrypto (`crypto.subtle`) support.\");let e=await JS({extractable:t}),n=O_(e.publicKey);return t?{handle:{jwk:await globalThis.crypto.subtle.exportKey(`jwk`,e.privateKey),kind:`webcrypto-p256`},publicKey:n}:{handle:{keyPair:e,kind:`webcrypto-p256`},publicKey:n}},async toAccount(e,t){let n=e.handle;if(n?.kind!==`webcrypto-p256`)throw Error(\"Unrecognized `webCryptoP256` keystore handle.\");let r={access:t.access,keyAuthorizationManager:t.keyAuthorizationManager};if(n.keyPair){if(!EO(n.keyPair.privateKey))throw new DO(\"`webCryptoP256` key material did not survive storage.\");return EE(n.keyPair,r)}if(n.jwk)return EE({privateKey:await globalThis.crypto.subtle.importKey(`jwk`,n.jwk,{name:`ECDSA`,namedCurve:`P-256`},!1,[`sign`]).catch(e=>{throw new DO(\"`webCryptoP256` keystore handle holds unusable key material.\",{cause:e})}),publicKey:E_(e.publicKey)},r);throw Error(\"Unrecognized `webCryptoP256` keystore handle.\")}}}function EO(e){return typeof CryptoKey<`u`&&e instanceof CryptoKey||!!e&&typeof e==`object`&&`algorithm`in e&&e.type===`private`}var DO=class extends Error{constructor(e,t){super(e??`Keystore key material is permanently unavailable.`,t),this.name=`Keystore.KeyUnavailableError`}};function OO(e){return e instanceof DO||e instanceof Error&&e.name===`Keystore.KeyUnavailableError`}let kO={p256:TO()};var AO;function U(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,\"_zod\",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,\"name\",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,\"init\",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,\"name\",{value:e}),o}var jO=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},MO=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(AO=globalThis).__zod_globalConfig??(AO.__zod_globalConfig={});let NO=globalThis.__zod_globalConfig;function PO(e){return e&&Object.assign(NO,e),NO}function FO(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 IO(e,t){return typeof t==`bigint`?t.toString():t}function LO(e){return{get value(){{let t=e();return Object.defineProperty(this,\"value\",{value:t}),t}}}}function RO(e){return e==null}function zO(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}let BO=Symbol(`evaluating`);function VO(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==BO)return r===void 0&&(r=BO,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function HO(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function UO(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}let WO=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function GO(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function KO(e){if(GO(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return GO(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}let qO=new Set([`string`,`number`,`symbol`]),JO=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function YO(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,`\\\\$&`)}function XO(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function ZO(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 QO(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}-Number.MAX_VALUE,Number.MAX_VALUE;function $O(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 XO(e,UO(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 HO(this,`shape`,r),r},checks:[]}))}function ek(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 tk(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 nk(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function rk(e){return typeof e==`string`?e:e?.message}function ik(e,t,n){let r=e.message?e.message:rk(e.inst?._zod.def?.error?.(e))??rk(t?.error?.(e))??rk(n.customError?.(e))??rk(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 ak(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function ok(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}let sk=(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,IO,2),Object.defineProperty(e,\"toString\",{value:()=>e.message,enumerable:!1})},ck=U(`$ZodError`,sk),lk=U(`$ZodError`,sk,{Parent:Error}),uk=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 jO;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>ik(e,a,PO())));throw WO(t,i?.callee),t}return o.value},dk=uk(lk),fk=(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=>ik(e,a,PO())));throw WO(t,i?.callee),t}return o.value})(lk),pk=(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 jO;return a.issues.length?{success:!1,error:new(e??ck)(a.issues.map(e=>ik(e,i,PO())))}:{success:!0,data:a.value}})(lk),mk=(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=>ik(e,i,PO())))}:{success:!0,data:a.value}})(lk),hk=(e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return uk(e)(t,n,i)})(lk),gk=e=>{let t=e?`[\\\\s\\\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\\\s\\\\S]*`;return RegExp(`^${t}$`)},_k=/^-?\\d+n?$/,vk=/^-?\\d+(?:\\.\\d+)?$/,yk=/^(?:true|false)$/i,bk=/^null$/i,xk=/^undefined$/i,Sk=U(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Ck={number:`number`,bigint:`bigint`,object:`date`},wk=U(`$ZodCheckLessThan`,(e,t)=>{Sk.init(e,t);let n=Ck[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})}}),Tk=U(`$ZodCheckGreaterThan`,(e,t)=>{Sk.init(e,t);let n=Ck[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})}}),Ek=U(`$ZodCheckMaxLength`,(e,t)=>{var n;Sk.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!RO(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=ak(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Dk=U(`$ZodCheckMinLength`,(e,t)=>{var n;Sk.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!RO(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=ak(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ok=U(`$ZodCheckStringFormat`,(e,t)=>{var n,r;Sk.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=()=>{})}),kk=U(`$ZodCheckRegex`,(e,t)=>{Ok.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})}}),Ak={major:4,minor:4,patch:3},jk=U(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Ak;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=ek(e),i;for(let a of t){if(a._zod.def.when){if(tk(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 jO;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=ek(e,t))});else{if(e.issues.length===t)continue;r||=ek(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(ek(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new jO;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 jO;return o.then(e=>t(e,r,a))}return t(o,r,a)}}VO(e,`~standard`,()=>({validate:t=>{try{let n=pk(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return mk(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),Mk=U(`$ZodString`,(e,t)=>{jk.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??gk(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}}),Nk=U(`$ZodNumber`,(e,t)=>{jk.init(e,t),e._zod.pattern=e._zod.bag.pattern??vk,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}}),Pk=U(`$ZodBoolean`,(e,t)=>{jk.init(e,t),e._zod.pattern=yk,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}}),Fk=U(`$ZodBigInt`,(e,t)=>{jk.init(e,t),e._zod.pattern=_k,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}}),Ik=U(`$ZodUndefined`,(e,t)=>{jk.init(e,t),e._zod.pattern=xk,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}}),Lk=U(`$ZodNull`,(e,t)=>{jk.init(e,t),e._zod.pattern=bk,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}}),Rk=U(`$ZodUnknown`,(e,t)=>{jk.init(e,t),e._zod.parse=e=>e}),zk=U(`$ZodNever`,(e,t)=>{jk.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Bk(e,t,n){e.issues.length&&t.issues.push(...nk(n,e.issues)),t.value[n]=e.value}let Vk=U(`$ZodArray`,(e,t)=>{jk.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=>Bk(t,n,e))):Bk(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function Hk(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...nk(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 Uk(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=QO(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Wk(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=>Hk(e,n,i,t,u,d))):Hk(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 Gk=U(`$ZodObject`,(e,t)=>{if(jk.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=LO(()=>Uk(t));VO(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=GO,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=>Hk(n,t,e,s,r,i))):Hk(a,t,e,s,r,i)}return i?Wk(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}});function Kk(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=>!ek(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=>ik(e,r,PO())))}),t)}let qk=U(`$ZodUnion`,(e,t)=>{jk.init(e,t),VO(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),VO(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),VO(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),VO(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=>zO(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=>Kk(t,r,e,i)):Kk(o,r,e,i)}}),Jk=U(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,qk.init(e,t);let n=e._zod.parse;VO(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=LO(()=>{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(!GO(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)}}),Yk=U(`$ZodTuple`,(e,t)=>{jk.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=Xk(n,`optin`),c=Xk(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=>Zk(t,r,e))):Zk(a,r,e)}}return o.length?Promise.all(o).then(()=>Qk(l,r,n,a,c)):Qk(l,r,n,a,c)}});function Xk(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function Zk(e,t,n){e.issues.length&&t.issues.push(...nk(n,e.issues)),t.value[n]=e.value}function Qk(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(...nk(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 $k=U(`$ZodRecord`,(e,t)=>{jk.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!KO(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=>ik(e,r,PO())),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(...nk(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...nk(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`&&vk.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=>ik(e,r,PO())),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(...nk(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...nk(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),eA=U(`$ZodEnum`,(e,t)=>{jk.init(e,t);let n=FO(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>qO.has(typeof e)).map(e=>typeof e==`string`?YO(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}}),tA=U(`$ZodLiteral`,(e,t)=>{if(jk.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`?YO(e):e?YO(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}}),nA=U(`$ZodTransform`,(e,t)=>{jk.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new MO(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 jO;return n.value=i,n.fallback=!0,n}});function rA(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}let iA=U(`$ZodOptional`,(e,t)=>{jk.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,VO(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),VO(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${zO(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=>rA(e,r)):rA(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),aA=U(`$ZodNullable`,(e,t)=>{jk.init(e,t),VO(e._zod,`optin`,()=>t.innerType._zod.optin),VO(e._zod,`optout`,()=>t.innerType._zod.optout),VO(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${zO(e.source)}|null)$`):void 0}),VO(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)}),oA=U(`$ZodPipe`,(e,t)=>{jk.init(e,t),VO(e._zod,`values`,()=>t.in._zod.values),VO(e._zod,`optin`,()=>t.in._zod.optin),VO(e._zod,`optout`,()=>t.out._zod.optout),VO(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=>sA(e,t.in,n)):sA(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>sA(e,t.out,n)):sA(r,t.out,n)}});function sA(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 cA=U(`$ZodCodec`,(e,t)=>{jk.init(e,t),VO(e._zod,`values`,()=>t.in._zod.values),VO(e._zod,`optin`,()=>t.in._zod.optin),VO(e._zod,`optout`,()=>t.out._zod.optout),VO(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=>lA(e,t,n)):lA(r,t,n)}{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>lA(e,t,n)):lA(r,t,n)}}});function lA(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=>uA(e,r,t.out,n)):uA(e,r,t.out,n)}{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>uA(e,r,t.in,n)):uA(e,r,t.in,n)}}function uA(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}let dA=U(`$ZodReadonly`,(e,t)=>{jk.init(e,t),VO(e._zod,`propValues`,()=>t.innerType._zod.propValues),VO(e._zod,`values`,()=>t.innerType._zod.values),VO(e._zod,`optin`,()=>t.innerType?._zod?.optin),VO(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(fA):fA(r)}});function fA(e){return e.value=Object.freeze(e.value),e}let pA=U(`$ZodTemplateLiteral`,(e,t)=>{jk.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||JO.has(typeof e))n.push(YO(`${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)}),mA=U(`$ZodCustom`,(e,t)=>{Sk.init(e,t),jk.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=>hA(t,n,r,e));hA(i,n,r,e)}});function hA(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(ok(e))}}function gA(e,t){return new e({type:`string`,...ZO(t)})}function _A(e,t){return new e({type:`number`,checks:[],...ZO(t)})}function vA(e,t){return new e({type:`boolean`,...ZO(t)})}function yA(e,t){return new e({type:`bigint`,...ZO(t)})}function bA(e,t){return new e({type:`undefined`,...ZO(t)})}function xA(e,t){return new e({type:`null`,...ZO(t)})}function SA(e){return new e({type:`unknown`})}function CA(e,t){return new e({type:`never`,...ZO(t)})}function wA(e,t){return new wk({check:`less_than`,...ZO(t),value:e,inclusive:!0})}function TA(e,t){return new Tk({check:`greater_than`,...ZO(t),value:e,inclusive:!0})}function EA(e,t){return new Ek({check:`max_length`,...ZO(t),maximum:e})}function DA(e,t){return new Dk({check:`min_length`,...ZO(t),minimum:e})}function OA(e,t){return new kk({check:`string_format`,format:`regex`,...ZO(t),pattern:e})}function kA(e,t,n){let r=ZO(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function AA(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...ZO(n)})}let jA=U(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);jk.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>dk(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>pk(e,t,n),e.parseAsync=async(t,n)=>fk(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>mk(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)=>XO(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),MA=U(`ZodMiniString`,(e,t)=>{Mk.init(e,t),jA.init(e,t)});function W(e){return gA(MA,e)}let NA=U(`ZodMiniNumber`,(e,t)=>{Nk.init(e,t),jA.init(e,t)});function PA(e){return _A(NA,e)}let FA=U(`ZodMiniBoolean`,(e,t)=>{Pk.init(e,t),jA.init(e,t)});function IA(e){return vA(FA,e)}let LA=U(`ZodMiniBigInt`,(e,t)=>{Fk.init(e,t),jA.init(e,t)});function RA(e){return yA(LA,e)}let zA=U(`ZodMiniUndefined`,(e,t)=>{Ik.init(e,t),jA.init(e,t)});function BA(e){return bA(zA,e)}let VA=U(`ZodMiniNull`,(e,t)=>{Lk.init(e,t),jA.init(e,t)});function HA(e){return xA(VA,e)}let UA=U(`ZodMiniUnknown`,(e,t)=>{Rk.init(e,t),jA.init(e,t)});function WA(){return SA(UA)}let GA=U(`ZodMiniNever`,(e,t)=>{zk.init(e,t),jA.init(e,t)});function KA(e){return CA(GA,e)}let qA=U(`ZodMiniArray`,(e,t)=>{Vk.init(e,t),jA.init(e,t)});function G(e,t){return new qA({type:`array`,element:e,...ZO(t)})}let JA=U(`ZodMiniObject`,(e,t)=>{Gk.init(e,t),jA.init(e,t),VO(e,`shape`,()=>t.shape)});function K(e,t){let n={type:`object`,shape:e??{},...ZO(t)};return new JA(n)}function YA(e,t){return new JA({type:`object`,shape:e,catchall:WA(),...ZO(t)})}function XA(e,t){return $O(e,t)}let ZA=U(`ZodMiniUnion`,(e,t)=>{qk.init(e,t),jA.init(e,t)});function QA(e,t){return new ZA({type:`union`,options:e,...ZO(t)})}let $A=U(`ZodMiniDiscriminatedUnion`,(e,t)=>{Jk.init(e,t),jA.init(e,t)});function ej(e,t,n){return new $A({type:`union`,options:t,discriminator:e,...ZO(n)})}let tj=U(`ZodMiniTuple`,(e,t)=>{Yk.init(e,t),jA.init(e,t)});function nj(e,t,n){let r=t instanceof jk;return new tj({type:`tuple`,items:e,rest:r?t:null,...ZO(r?n:t)})}let rj=U(`ZodMiniRecord`,(e,t)=>{$k.init(e,t),jA.init(e,t)});function ij(e,t,n){return!t||!t._zod?new rj({type:`record`,keyType:W(),valueType:e,...ZO(t)}):new rj({type:`record`,keyType:e,valueType:t,...ZO(n)})}let aj=U(`ZodMiniEnum`,(e,t)=>{eA.init(e,t),jA.init(e,t),e.options=Object.values(t.entries)});function oj(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new aj({type:`enum`,entries:n,...ZO(t)})}let sj=U(`ZodMiniLiteral`,(e,t)=>{tA.init(e,t),jA.init(e,t)});function q(e,t){return new sj({type:`literal`,values:Array.isArray(e)?e:[e],...ZO(t)})}let cj=U(`ZodMiniTransform`,(e,t)=>{nA.init(e,t),jA.init(e,t)});function lj(e){return new cj({type:`transform`,transform:e})}let uj=U(`ZodMiniOptional`,(e,t)=>{iA.init(e,t),jA.init(e,t)});function J(e){return new uj({type:`optional`,innerType:e})}let dj=U(`ZodMiniNullable`,(e,t)=>{aA.init(e,t),jA.init(e,t)});function fj(e){return new dj({type:`nullable`,innerType:e})}let pj=U(`ZodMiniPipe`,(e,t)=>{oA.init(e,t),jA.init(e,t)});function mj(e,t){return new pj({type:`pipe`,in:e,out:t})}let hj=U(`ZodMiniCodec`,(e,t)=>{pj.init(e,t),cA.init(e,t)});function gj(e,t,n){return new hj({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}let _j=U(`ZodMiniReadonly`,(e,t)=>{dA.init(e,t),jA.init(e,t)});function Y(e){return new _j({type:`readonly`,innerType:e})}let vj=U(`ZodMiniTemplateLiteral`,(e,t)=>{pA.init(e,t),jA.init(e,t)});function yj(e,t){return new vj({type:`template_literal`,parts:e,...ZO(t)})}let bj=U(`ZodMiniCustom`,(e,t)=>{mA.init(e,t),jA.init(e,t)});function xj(e,t){return kA(bj,e??(()=>!0),t)}function Sj(e,t={}){return AA(bj,e,t)}function Cj(e){return e}function wj(e){return e}z();let X=()=>yj([`0x`,W().check(OA(/^[0-9a-fA-F]{40}$/))],`Expected address`),Tj=()=>gj(QA([Z(),RA()]),RA(),{decode:e=>typeof e==`bigint`?e:e===`0x`?0n:R(e),encode:e=>F(e)}),Z=()=>yj([`0x`,W()],`Expected hex value`),Ej=()=>gj(QA([Z(),PA()]),PA(),{decode:e=>typeof e==`number`?e:e===`0x`?0:Cp(e),encode:e=>F(e)});z();let Dj=K({address:X(),blockHash:Z(),blockNumber:Tj(),data:Z(),logIndex:Ej(),removed:IA(),topics:Y(G(Z())),transactionHash:Z(),transactionIndex:Ej()}),Oj=K({blobGasPrice:J(Tj()),blobGasUsed:J(Tj()),blockHash:Z(),blockNumber:Tj(),contractAddress:fj(X()),cumulativeGasUsed:Tj(),effectiveGasPrice:Tj(),feePayer:J(X()),feeToken:J(X()),from:X(),gasUsed:Tj(),logs:G(Dj),logsBloom:Z(),root:J(Z()),status:gj(Z(),oj([`success`,`reverted`]),{decode:e=>e===`0x1`?`success`:`reverted`,encode:e=>e===`success`?`0x1`:`0x0`}),to:fj(X()),transactionHash:Z(),transactionIndex:Ej(),type:Z()}),kj=xj(),Aj=QA([q(`secp256k1`),q(`p256`),q(`webAuthn`)]),jj=gj(K({allowedCalls:J(Y(G(K({target:X(),selectorRules:J(Y(G(K({selector:Z(),recipients:J(Y(G(X())))}))))})))),address:J(X()),chainId:Tj(),expiry:QA([Ej(),HA(),BA()]),keyId:X(),keyType:Aj,limits:J(Y(G(K({token:X(),limit:Tj(),period:J(Ej())})))),signature:kj}),xj(),{decode(e){return cw({chainId:F(e.chainId),expiry:e.expiry==null?null:F(e.expiry),keyId:e.keyId,keyType:e.keyType,limits:e.limits?.map(({limit:e,period:t,token:n})=>({token:n,limit:F(e),...typeof t==`number`?{period:F(t)}:{}})),signature:e.signature,...e.allowedCalls?{allowedCalls:e.allowedCalls.map(({selectorRules:e,target:t})=>({target:t,...e?{selectorRules:e.map(({recipients:e,selector:t})=>({selector:t,...e?{recipients:e}:{}}))}:{}}))}:{}})},encode(e){let t=mw(e);return{chainId:t.chainId===`0x`?0n:R(t.chainId),expiry:t.expiry==null?null:Cp(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:Cp(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}:{}}))}:{}}))}:{}}}}),Mj=K({data:J(Z()),to:J(X()),value:J(Tj())}),Nj=K({accessList:J(G(K({address:X(),storageKeys:G(Z())}))),calls:J(Y(G(Mj))),chainId:J(Ej()),data:J(Z()),feePayer:J(QA([IA(),W()])),feePayerSignature:J(ij(W(),WA())),feeToken:J(X()),from:J(X()),gas:J(Tj()),keyAuthorization:J(jj),keyData:J(Z()),keyId:J(X()),keyType:J(Aj),maxFeePerGas:J(Tj()),maxPriorityFeePerGas:J(Tj()),nonce:J(Ej()),nonceKey:J(Tj()),to:J(X()),validAfter:J(Ej()),validBefore:J(Ej()),value:J(Tj())});var Pj;(function(e){e.schema=Cj({method:q(`eth_accounts`),params:void 0,returns:Y(G(X()))})})(Pj||={});var Fj;(function(e){e.schema=Cj({method:q(`eth_chainId`),params:void 0,returns:Z()})})(Fj||={});var Ij;(function(e){e.schema=Cj({method:q(`eth_requestAccounts`),params:void 0,returns:Y(G(X()))})})(Ij||={});var Lj;(function(e){e.schema=Cj({method:q(`eth_sendTransaction`),params:Y(nj([Nj])),returns:Z()})})(Lj||={});var Rj;(function(e){let t=K({address:X(),decimals:PA(),direction:oj([`incoming`,`outgoing`]),formatted:W(),name:W(),recipients:Y(G(X())),symbol:W(),value:Z()}),n=K({decimals:PA(),formatted:W(),name:W(),symbol:W(),token:X(),value:Z()});e.schema=Cj({method:q(`eth_fillTransaction`),params:Y(nj([Nj])),returns:K({capabilities:K({balanceDiffs:J(ij(X(),Y(G(t)))),error:J(K({abiItem:J(ij(W(),WA())),data:J(Z()),errorName:W(),message:W()})),fee:J(K({amount:Z(),decimals:PA(),formatted:W(),symbol:W()})),requireFunds:J(K({amount:Z(),decimals:PA(),formatted:W(),token:X(),symbol:W()})),autoSwap:J(K({maxIn:n,minOut:n,slippage:PA()})),sponsor:J(K({address:X(),name:J(W()),url:J(W())})),sponsored:IA()}),tx:ij(W(),WA())})})})(Rj||={});var zj;(function(e){e.schema=Cj({method:q(`eth_signTransaction`),params:Y(nj([Nj])),returns:Z()})})(zj||={});var Bj;(function(e){e.schema=Cj({method:q(`eth_sendTransactionSync`),params:Y(nj([Nj])),returns:Oj})})(Bj||={});var Vj;(function(e){e.schema=Cj({method:q(`eth_signTypedData_v4`),params:Y(nj([X(),W()])),returns:Z()})})(Vj||={});var Hj;(function(e){e.schema=Cj({method:q(`personal_sign`),params:Y(nj([Z(),X()])),returns:Z()})})(Hj||={});let Uj=J(K({feePayer:J(QA([IA(),W()])),sync:J(IA())}));var Wj;(function(e){e.schema=Cj({method:q(`wallet_sendCalls`),params:J(Y(nj([K({atomicRequired:J(IA()),calls:Y(G(Mj)),capabilities:Uj,chainId:J(Ej()),from:J(X()),version:J(W())})]))),returns:K({atomic:J(IA()),capabilities:Uj,chainId:J(Ej()),id:W(),receipts:J(G(Oj)),status:J(PA()),version:J(W())})})})(Wj||={});var Gj;(function(e){e.schema=Cj({method:q(`wallet_getBalances`),params:J(Y(nj([K({account:J(X()),chainId:J(Ej()),tokens:J(Y(G(X())))})]))),returns:Y(G(K({address:X(),balance:Tj(),decimals:PA(),display:W(),name:W(),symbol:W()})))})})(Gj||={});var Kj;(function(e){e.schema=Cj({method:q(`wallet_getCapabilities`),params:J(Y(QA([nj([X()]),nj([X(),Y(G(Z()))])]))),returns:ij(Z(),K({accessKeys:J(K({status:QA([q(`supported`),q(`unsupported`)])})),atomic:K({status:QA([q(`supported`),q(`ready`),q(`unsupported`)])}),feePayer:J(K({status:QA([q(`supported`),q(`unsupported`)])}))}))})})(Kj||={});var qj;(function(e){e.showDeposit=J(QA([IA(),K({amount:J(W()),displayName:J(W()),token:J(QA([X(),W()]))})])),e.parameters=K({address:J(X()),chainId:J(Tj()),expiry:PA(),keyType:J(Aj),limits:J(Y(G(K({token:X(),limit:Tj(),period:J(PA())})))),publicKey:J(Z()),scopes:J(Y(G(K({address:X(),selector:J(QA([Z(),W()])),recipients:J(Y(G(X())))})))),showDeposit:e.showDeposit}),e.returns=K({keyAuthorization:jj,rootAddress:X()}),e.schema=Cj({method:q(`wallet_authorizeAccessKey`),params:Y(nj([e.parameters])),returns:e.returns})})(qj||={});var Jj;(function(e){e.parameters=K({address:J(X()),expiry:PA(),keyType:J(Aj),limits:Y(G(K({token:X(),limit:Tj(),period:J(PA())})).check(DA(1))),publicKey:J(Z()),scopes:Y(G(K({address:X(),selector:J(QA([Z(),W()])),recipients:J(Y(G(X())))})).check(DA(1))),showDeposit:qj.showDeposit})})(Jj||={});var Yj;(function(e){e.schema=Cj({method:q(`wallet_revokeAccessKey`),params:Y(nj([K({address:X(),accessKeyAddress:X()})])),returns:void 0})})(Yj||={});var Xj;(function(e){e.parameters=K({address:X(),accessKeyAddress:X(),chainId:J(Tj()),limits:Y(G(K({token:X(),limit:Tj()})).check(DA(1)))}),e.schema=Cj({method:q(`wallet_updateAccessKey`),params:Y(nj([e.parameters])),returns:void 0})})(Xj||={});var Zj;(function(e){e.authorizeAccessKey=J(XA(qj.parameters,{showDeposit:!0})),e.showDeposit=J(QA([IA(),K({amount:J(W()),displayName:J(W()),on:J(QA([q(`login`),q(`register`)])),token:J(QA([X(),W()]))})])),e.auth=J(QA([W(),K({url:J(W()),challenge:J(W()),verify:J(W()),logout:J(W()),resources:J(Y(G(W()))),returnToken:J(IA())})])),e.personalSign=J(K({message:W()})),e.identity=J(K({email:J(QA([IA(),W(),K({address:J(W()),domains:J(G(W())),nonce:J(W())})]))})),e.capabilities={request:J(QA([K({digest:J(Z()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:q(`register`),name:J(W()),personalSign:e.personalSign,showDeposit:e.showDeposit,userId:J(W())}),K({digest:J(Z()),credentialId:J(W()),authorizeAccessKey:e.authorizeAccessKey,auth:e.auth,identity:e.identity,method:J(q(`login`)),personalSign:e.personalSign,selectAccount:J(IA()),showDeposit:e.showDeposit})])),result:K({identity:J(K({email:J(fj(W())),idToken:J(W())})),keyAuthorization:J(jj),personalSign:J(K({message:W(),keyAuthorization:J(Z())})),signature:J(Z()),username:J(fj(W())),auth:J(YA({token:J(W())}))})},e.schema=Cj({method:q(`wallet_connect`),params:J(Y(nj([K({capabilities:e.capabilities.request,chainId:J(Ej()),version:J(W())})]))),returns:K({accounts:Y(G(K({address:X(),capabilities:e.capabilities.result})))})})})(Zj||={});var Qj;(function(e){let t=J(XA(Jj.parameters,{showDeposit:!0})),n=Zj.auth,r=Zj.identity,i=Zj.personalSign,a=Zj.showDeposit;e.parameters=K({capabilities:J(QA([K({digest:J(Z()),authorizeAccessKey:t,auth:n,identity:r,method:q(`register`),name:J(W()),personalSign:i,showDeposit:a,userId:J(W())}),K({digest:J(Z()),credentialId:J(W()),authorizeAccessKey:t,auth:n,identity:r,method:J(q(`login`)),personalSign:i,selectAccount:J(IA()),showDeposit:a})])),chainId:J(Ej()),version:J(W())})})(Qj||={});var $j;(function(e){e.schema=Cj({method:q(`wallet_disconnect`),params:void 0,returns:void 0})})($j||={});var eM;(function(e){e.schema=Cj({method:q(`wallet_getCallsStatus`),params:J(Y(nj([W()]))),returns:K({atomic:IA(),chainId:Ej(),id:W(),receipts:J(G(Oj)),status:PA(),version:W()})})})(eM||={});var tM;(function(e){e.parameters=ej(`editable`,[K({amount:W(),chainId:J(Ej()),editable:J(q(!1)),feePayer:J(QA([IA(),W()])),from:J(X()),memo:J(W()),to:X(),token:QA([X(),W()])}),K({amount:J(W()),chainId:J(Ej()),editable:q(!0),feePayer:J(QA([IA(),W()])),memo:J(W()),to:J(X()),token:J(QA([X(),W()]))})]),e.schema=Cj({method:q(`wallet_transfer`),params:J(Y(nj([e.parameters]))),returns:K({chainId:Ej(),receipt:Oj})})})(tM||={});let nM=K({amount:J(W()),pairToken:J(X()),slippage:J(PA().check(TA(0),wA(1))),token:J(X()),type:J(QA([q(`buy`),q(`sell`)]))});var rM;(function(e){e.schema=Cj({method:q(`wallet_swap`),params:J(Y(nj([nM]))),returns:K({receipt:Oj})})})(rM||={});var iM;(function(e){e.schema=Cj({method:q(`wallet_switchEthereumChain`),params:Y(nj([K({chainId:Ej()})])),returns:void 0})})(iM||={});var aM;(function(e){e.schema=Cj({method:q(`wallet_deposit`),params:J(Y(nj([K({address:J(X()),amount:J(W()),chainId:J(Ej()),displayName:J(W()),intent:J(QA([q(`applePay`),q(`credits`),q(`crypto`),q(`faucet`),q(`referralCode`),q(`x`)])),token:J(QA([X(),W()]))})]))),returns:J(K({receipts:J(Y(G(Oj)))}))})})(aM||={});var oM;(function(e){e.parameters=K({amount:J(W()),feePayer:J(QA([IA(),W()])),token:J(X()),zoneId:J(Ej())}),e.schema=Cj({method:q(`wallet_depositZone`),params:J(Y(nj([e.parameters]))),returns:K({receipt:Oj})})})(oM||={});var sM;(function(e){e.parameters=K({amount:J(W()),token:J(X()),zoneId:J(Ej())}),e.schema=Cj({method:q(`wallet_withdrawZone`),params:J(Y(nj([e.parameters]))),returns:K({receipt:Oj})})})(sM||={}),Jj.parameters,Qj.parameters;let cM=wj([Pj.schema,Fj.schema,Rj.schema,Ij.schema,Lj.schema,Bj.schema,zj.schema,Vj.schema,Hj.schema,qj.schema,Zj.schema,aM.schema,oM.schema,$j.schema,Gj.schema,eM.schema,Kj.schema,Yj.schema,Xj.schema,tM.schema,Wj.schema,rM.schema,iM.schema,sM.schema]),lM=OS();function uM(e){return e.params?K({method:e.method,params:e.params}):K({method:e.method})}let dM=ej(`method`,cM.map(uM));function fM(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`},pM={payment:`Payment`},mM={evm:`evm`,stripe:`stripe`,tempo:`tempo`},hM={charge:`charge`,session:`session`,subscription:`subscription`},gM={sessionProtocol:`sessionProtocol`,sessionSnapshot:`sessionSnapshot`},_M={v1:`v1`,v2:`v2`};function vM(e,t){if(!(!e||typeof e!=`object`))return e[t]}var yM=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}}}},bM=class extends yM{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 yM{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})}},xM=class extends yM{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 SM(e,t){if(!e)throw new bM({...t&&{id:t},reason:`missing required expires field`});if(Number.isNaN(new Date(e).getTime()))throw new bM({...t&&{id:t},reason:`malformed expires timestamp`});if(new Date(e)<new Date)throw new xM({expires:e})}Rf();function CM(e){let t=hx(e);return JSON.parse(t)}function wM(e){return px(Pf(e),{pad:!1,url:!0})}function TM(){return W().check(OA(/^\\d+(\\.\\d+)?$/,`Invalid amount`))}function EM(){return W().check(OA(/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/,`Invalid ISO 8601 datetime`))}function DM(e=`Invalid ISO 8601 datetime`){return mj(QA([EM(),xj(e=>e instanceof Date)]),lj(OM)).check(Sj(e=>Number.isFinite(e.getTime()),e))}function OM(e){return e instanceof Date?e:new Date(e)}function kM(e){return e instanceof Date?Number.isFinite(e.getTime())?e.toISOString():`Invalid Date`:e}function AM(){return W().check(OA(/^0x[0-9a-fA-F]{40}$/,`Invalid address`))}function jM(){return W().check(OA(/^0x[0-9a-fA-F]{64}$/,`Invalid hash`))}function MM(){return W().check(OA(/^0x[0-9a-fA-F]+$/,`Invalid signature`))}dp();let NM=K({description:J(W()),digest:J(W().check(OA(/^sha-256=/,`Invalid digest format`))),expires:J(EM()),header:J(W().check(OA(/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,`Invalid HTTP header name`))),id:W().check(DA(1)),intent:W(),method:W(),meta:J(ij(W(),W())),opaque:J(W()),realm:W(),request:ij(W(),WA())});function PM(e,t){let{description:n,digest:r,meta:i,method:a,header:o,intent:s,realm:c,request:l,secretKey:u}=e,d=YM(o)?void 0:o,f=e.expires?kM(e.expires):void 0,p=e.opaque??(i===void 0?void 0:wM(i)),m=u?XM({...e,expires:f,...i!==void 0&&{meta:i},opaque:p},{secretKey:u}):e.id;return NM.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 FM(e){let t=[IM(`id`,e.id),IM(`realm`,e.realm),IM(`method`,e.method),IM(`intent`,e.intent),IM(`request`,wM(e.request))];e.description!==void 0&&t.push(IM(`description`,e.description)),e.digest!==void 0&&t.push(IM(`digest`,e.digest)),e.expires!==void 0&&t.push(IM(`expires`,e.expires));let n=e.header;return n!==void 0&&!YM(n)&&t.push(IM(`header`,n)),e.opaque===void 0?e.meta!==void 0&&t.push(IM(`opaque`,wM(e.meta))):t.push(IM(`opaque`,e.opaque)),`${pM.payment} ${t.join(`, `)}`}function IM(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 LM(e,t){let n=RM(e);if(!n)throw Error(`Missing Payment scheme.`);let{request:r,opaque:i,...a}=zM(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 PM({...a,request:CM(r),...i&&{opaque:i}},t)}function RM(e){let t=pM.payment,[n]=UM(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 zM(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]=BM(e,n);if(n=o,i in t)throw Error(`Duplicate parameter: ${i}`);t[i]=a}return t}function BM(e,t){if(e[t]===`\"`)return VM(e,t+1);let n=t;for(;n<e.length&&e[n]!==`,`;)n++;return[e.slice(t,n).trim(),n]}function VM(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 HM(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 UM(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(!HM(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 WM(e,t){if(e.status!==402)throw Error(`Response status is not 402.`);return GM(e.headers,t)}function GM(e,t){let n=e.get(Q.wwwAuthenticate);if(!n)throw Error(`Missing ${Q.wwwAuthenticate} header.`);return KM(n,t)}function KM(e,t){let n=UM(e,pM.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 LM(e.slice(r,a).replace(/,\\s*$/,``),t)})}function qM(e){let t=[e.realm,e.method,e.intent,wM(e.request),e.expires??``,e.digest??``],n=e.header;return n!==void 0&&!YM(n)&&t.push(n),t.push(e.opaque??(e.meta?wM(e.meta):``)),t.join(`|`)}function JM(e){return e.header??Q.authorization}function YM(e){return e?.toLowerCase()===Q.authorization.toLowerCase()}function XM(e,t){let n=qM(e);return dx(b_(Wf(t.secretKey),Wf(n),{as:`Bytes`}),{url:!0,pad:!1})}let ZM=Symbol.for(`mppx.x402.challenge`);function QM(e){return Object.defineProperty(e,ZM,{value:!0}),e}function $M(e){return!!e?.[ZM]}function eN(e){let t={};for(let n of e){let e=t[n.name]??={};e[n.intent]=aN(n)}return t}function tN(e,t){let n=eN(e),r=fN(e,n,t),i=e.map((e,t)=>({intent:e.intent,method:e.name,q:r[aN(e)]??1,index:t}));return{definition:r,entries:i,header:rN(i),keys:n}}function nN(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)=>uN(e,t))}function rN(e){return e.map(({method:e,intent:t,q:n})=>{let r=`${e}/${t}`;return n===1?r:`${r};q=${gN(n)}`}).join(`, `)}function iN(e,t,n){let r=new Map;for(let e of t){let t=aN(e),n=r.get(t);n?n.push(e):r.set(t,[e])}return e.flatMap((e,t)=>{let i=r.get(aN(e));if(!i)return[];let a=oN(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)=>lN(e.challenge)-lN(t.challenge)||t.match.q-e.match.q||e.index-t.index).map(e=>{let{match:t,...n}=e;return n})}function aN(e){let t=e.method??e.name;if(!t)throw Error(`Missing payment method name.`);return`${t}/${e.intent}`}function oN(e,t){let n;for(let r of t){if(!sN(e,r))continue;let t={...r,specificity:cN(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 sN(e,t){return(t.method===`*`||t.method===e.method)&&(t.intent===`*`||t.intent===e.intent)}function cN(e){return Number(e.method!==`*`)+Number(e.intent!==`*`)}function lN(e){return+!!$M(e)}function uN(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}`);_N(r,`method`),_N(i,`intent`);let a=1;for(let t of dN(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=mN(i,`Accept-Payment entry \"${e}\"`))}return{intent:i,method:r,q:a,index:t}}function dN(e){return e?e.split(/\\s*;\\s*/).filter(Boolean):[]}function fN(e,t,n){if(!n)return{};let r=typeof n==`function`?n(t):n,i=new Set(e.map(e=>aN(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]=pN(t,`payment preference \"${e}\"`)}return a}function pN(e,t){if(typeof e!=`number`||Number.isNaN(e)||!Number.isFinite(e))throw Error(`Invalid q-value for ${t}. Expected a finite number.`);return hN(e,t)}function mN(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 hN(Number(e),t)}function hN(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 gN(e){return e.toFixed(3).replace(/\\.0+$/,``).replace(/(\\.\\d*?)0+$/,`$1`)}function _N(e,t){if(e!==`*`&&!/^[a-z0-9-]+$/.test(e))throw Error(`Invalid Accept-Payment ${t}: ${e}`)}var vN=class extends Error{name=`MissingPaymentSchemeError`;constructor(){super(`Missing Payment scheme.`)}},yN=class extends Error{name=`InvalidCredentialEncodingError`;constructor(){super(`Invalid base64url or JSON.`)}};function bN(e){let t=e.match(RegExp(`^${pM.payment}\\\\s+(.+)$`,`i`));if(!t?.[1])throw new vN;try{let e=hx(t[1]),n=JSON.parse(e),{opaque:r,request:i,meta:a,...o}=n.challenge,{meta:s,opaque:c}=xN(r);return{challenge:NM.parse({...o,...s!==void 0&&{meta:s},...c!==void 0&&{opaque:c},request:CM(i)}),payload:n.payload,...n.source&&{source:n.source}}}catch{throw new yN}}function xN(e){if(e===void 0)return{};if(typeof e==`string`)return{opaque:e};if(!SN(e))throw Error(`Invalid opaque.`);return{meta:e,opaque:wM(e)}}function SN(e){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.values(e).every(e=>typeof e==`string`)}function CN(e){let{meta:t,opaque:n,request:r,...i}=e.challenge,a=n??(t===void 0?void 0:wM(t)),o={challenge:{...i,...a!==void 0&&{opaque:a},request:wM(r)},payload:e.payload,...e.source&&{source:e.source}},s=px(JSON.stringify(o),{pad:!1,url:!0});return`${pM.payment} ${s}`}var wN=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 TN(e){}function EN(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=TN,onError:n=TN,onRetry:r=TN,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 wN(`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(DN(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 ON(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(DN(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(ON(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 wN(`Invalid \\`retry\\` value: \"${t}\"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new wN(`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 DN(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 ON(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 kN=[`exact`],AN=`PAYMENT-REQUIRED`,jN=`PAYMENT-SIGNATURE`,MN=W().check(DA(1)),NN=PA().check(Sj(e=>e>0,`Must be positive`)),PN=W().check(OA(/^\\d+$/,`Invalid atomic amount`)),FN=AM(),IN=W().check(OA(RegExp(`^eip155:\\\\d+$`),`Invalid EVM CAIP-2 network`)),LN=K({description:J(W()),iconUrl:J(W()),mimeType:J(W()),serviceName:J(W()),tags:J(G(W())),url:MN}),RN=K({amount:PN,asset:MN,extra:J(ij(W(),WA())),maxTimeoutSeconds:NN,network:IN,payTo:MN,scheme:oj(kN)}),zN=ij(W(),K({info:ij(W(),WA()),schema:ij(W(),WA())})),BN=K({accepts:G(RN).check(DA(1)),error:J(W()),extensions:J(zN),resource:LN,x402Version:q(2)}),VN=QA([K({authorization:K({from:FN,nonce:jM(),to:FN,validAfter:PN,validBefore:PN,value:PN}),signature:MM()}),K({permit2Authorization:K({deadline:PN,from:FN,nonce:PN,permitted:K({amount:PN,token:FN}),spender:FN,witness:K({to:FN,validAfter:PN})}),signature:MM()})]),HN=K({accepted:RN,extensions:J(zN),payload:VN,resource:J(LN),x402Version:q(2)}),UN=K({amount:J(PN),errorMessage:J(W()),errorReason:J(W()),extensions:J(zN),extra:J(ij(W(),WA())),network:MN,payer:J(W()),success:IA(),transaction:W()}),WN=[Q.authorization,AN,`PAYMENT-RESPONSE`,jN];function GN(e,t,n){let r=new Headers(e.headers);for(let e of WN)e===Q.authorization&&!r.get(e)?.startsWith(`Payment `)||r.delete(e);return r.set(t,n),{...e,headers:r}}function KN(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 qN=new WeakMap;function JN(e){let t=KN(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 YN(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 XN(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=NM.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 ZN(e){if(e)return`error`in e?e.error?.code!==-32042&&e.error?.code!==-32043?void 0:XN(e.error.data):XN(e.result?._meta?.[`org.paymentauth/payment-required`])}function QN(e,t){return!e||e.id!==t?[]:ZN(e)?.challenges??[]}async function $N(e){let t=e.clone().body?.getReader();if(!t)return;let n=new TextDecoder,r=!1,i,a=EN({onEvent(e){if(!(r||!e.data)&&(r=!0,!(e.event&&e.event!==`message`)))try{i=YN(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 eP(e){let t=qN.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(YN).catch(()=>void 0);if(t.includes(`text/event-stream`))return $N(e)})();return qN.set(e,n),n}function tP(){return{getChallenges(e,t){let n=JN(t);return e.status===402||n===void 0?[]:eP(e).then(e=>QN(e,n))},setCredential(e,t){let n=JSON.parse(e.body),r=bN(t);return{...e,body:JSON.stringify({...n,params:{...n.params,_meta:{...n.params?._meta,\"org.paymentauth/credential\":r}}})}}}}function nP(){return{getChallenges(e){return e.status!==402||!e.headers.has(Q.wwwAuthenticate)?[]:WM(e)},setCredential(e,t,n){return GN(e,n?.challenge?JM(n.challenge):Q.authorization,t)}}}function rP(e){return{encode(t){return px(JSON.stringify(e.parse(t)))},decode(t){try{return e.parse(JSON.parse(hx(t)))}catch{throw new iP}}}}var iP=class extends Error{name=`InvalidJsonHeaderError`;constructor(){super(`Invalid base64 JSON header.`)}};let aP=rP(BN),oP=rP(HN),sP=rP(UN);aP.encode,aP.decode;function cP(e){try{let t=JSON.parse(hx(e));return lP(t)}catch{throw new iP}}oP.encode,oP.decode,sP.encode,sP.decode;let lP=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw new iP;let t=e;if(t.x402Version!==2||!Array.isArray(t.accepts))throw new iP;let n=LN.parse(t.resource),r=t.extensions===void 0?void 0:zN.safeParse(t.extensions).data;return{accepts:t.accepts,...r?{extensions:r}:{},resource:n,x402Version:2}};function uP(){return{getChallenges(e){if(e.status!==402)return[];let t=e.headers.get(AN);if(!t)return[];let n=cP(t);return n.accepts.flatMap((e,t)=>{let r=RN.safeParse(e);if(!r.success)return[];let i=r.data;return QM(PM({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 GN(e,jN,t)}}}function dP(e){return e}function fP(){let e=[nP(),uP(),tP()],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 dP({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 pP=new WeakMap;function mP(e,t){return pP.set(e,t),e}function hP(e){return pP.has(e)}function gP(e,t){return Promise.resolve(pP.get(e)?.(t))}let _P=new WeakMap,vP=new WeakMap;function yP(e,t){return _P.set(e,t),e}function bP(e){_P.delete(e)}function xP(e,t,n){_P.has(e)&&vP.set(t,n)}function SP(e){return vP.get(e)}function CP(e,t){return Promise.resolve(_P.get(e)?.(t)??t.response)}let wP=Symbol.for(`mppx.fetch.wrapper`),TP,EP=new WeakMap;async function DP(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 OP(e){let{acceptPayment:t,acceptPaymentPolicy:n=`always`,fetch:r=globalThis.fetch,maxPaymentRetries:i=3,methods:a,onChallenge:o,orderChallenges:s,transport:c=fP()}=e,l=e.eventDispatcher??jP(),u=t??tN(a),d=QP(r),f=async(e,t,r)=>{let p=ZP(e,t?.headers),m=p.has(Q.acceptPayment),h=rF(p,u),g=YP(e,t,p),_=JP(e,t,p,h.header,m,n),v=await d($P(_.input),_.init),y=XP(_.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 iF(iN(T,a,h.entries),S??s))[0];if(!i){if(await DP(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&&SM(w.expires,w.id);let p=lF(v,_.input,_.input),m=te,g=FM(u),x=m?.method===i.method&&m?.key===g,ne=!1;if(m){let e=await DP(m,{challenges:T,response:v,status:x?`pending`:`rejected`});ne=x&&!e}te=ne?m:void 0;let re=IP(async e=>{if(e===void 0&&ne&&m)return m.promise;ne&&m&&(await DP(m,{status:`rejected`}),te=void 0);let t=e??b;if(!hP(i.method))return nF(u,i.method,t);let n={prepare:()=>gP(i.method,{challenge:u,context:t,fetch:d,input:p})},r=n.prepare().then(()=>nF(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`,LP({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 DP(ae,{status:`rejected`}),te=void 0),tF(ie),await l.emit(`credential.created`,RP({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 E=await c.isPaymentRequired(v,y);if(E||(await DP(ae,{response:v,status:v.ok?`accepted`:`rejected`}),te=void 0),v.ok&&MP(l,`payment.response`)&&await l.emit(`payment.response`,zP({challenge:u,credential:ie,init:t,input:e,method:i.method,response:v})),!E)return v.ok?CP(i.method,{challenge:u,credential:ie,fetch:d,headers:_.headers,input:p,...r?{refetch:()=>f($P(_.input),t,!1)}:{},response:v,signal:eF(e,t)}):v}T=void 0;try{T=await c.getChallenges(v,y)}catch{}return await DP(te,{challenges:T,response:v,status:`rejected`}),v}catch(n){throw await DP(te,{challenges:T,response:v,status:`rejected`}),await l.emit(`payment.failed`,BP({challenge:w,challenges:T,error:n,init:t,input:e,method:ee,response:v})),n}},p=(e,t)=>f(e,t,!0);return p[wP]=d,p}function kP(e){let t=Object.getOwnPropertyDescriptor(globalThis,`fetch`);if(!t||!t.writable&&!t.set)throw Error(`globalThis.fetch is not writable`);TP||=globalThis.fetch,globalThis.fetch=OP({...e,acceptPaymentPolicy:e.acceptPaymentPolicy??(sF()?`same-origin`:`always`),fetch:globalThis.fetch})}function AP(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 jP(){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 NP(t,n);if(typeof e==`string`&&e.length>0){r=e;break}}return await FP(e[`*`],t,n),r}case`credential.created`:await PP(e[`credential.created`],n),await FP(e[`*`],t,n);return;case`payment.failed`:await PP(e[`payment.failed`],n),await FP(e[`*`],t,n);return;case`payment.response`:await PP(e[`payment.response`],n),await FP(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 EP.set(t,t=>e[t].size>0||e[`*`].size>0),t}function MP(e,t){return EP.get(e)?.(t)??!0}async function NP(e,t){try{return await e(t)}catch{return}}async function PP(e,t){for(let n of e)try{await n(t)}catch{}}async function FP(e,t,n){await PP(e,Object.freeze({name:t,payload:n}))}function IP(e){let t;return n=>(t??=e(n),t)}function LP(e){return Object.freeze({challenge:GP(e.challenge),challenges:e.challenges.map(e=>GP(e)),createCredential:e.createCredential,init:VP(e.init),input:HP(e.input),method:UP(e.method),response:WP(e.response)})}function RP(e){return Object.freeze({challenge:GP(e.challenge),credential:e.credential,init:VP(e.init),input:HP(e.input),method:UP(e.method),...e.response===void 0?{}:{response:WP(e.response)}})}function zP(e){return Object.freeze({challenge:GP(e.challenge),credential:e.credential,init:VP(e.init),input:HP(e.input),method:UP(e.method),response:WP(e.response)})}function BP(e){return Object.freeze({...e.challenge?{challenge:GP(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>GP(e))}:{},error:e.error,init:VP(e.init),input:HP(e.input),...e.method?{method:UP(e.method)}:{},...e.response===void 0?{}:{response:WP(e.response)}})}function VP(e){if(e)return qP({...e,...e.headers?{headers:new Headers(e.headers)}:{}})}function HP(e){if(e instanceof Request)try{return e.clone()}catch{return e}return e instanceof URL?new URL(e):e}function UP(e){return qP(Object.assign({},e))}function WP(e){return e instanceof Response?e.clone():GP(e)}function GP(e){try{return KP(structuredClone(e))}catch{return qP(e)}}function KP(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))KP(t);return e}function qP(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function JP(e,t,n,r,i,a){let o=!!r&&!i&&aF(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 YP(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 XP(e,t){return t===void 0?e:{...e,body:t}}function ZP(e,t){return t?new Headers(t):new Headers(e instanceof Request?e.headers:void 0)}function QP(e){let t=e;for(;t[wP];)t=t[wP];return t}function $P(e){if(!(e instanceof Request)||!e.body||e.bodyUsed)return e;try{return e.clone()}catch{return e}}function eF(e,t){return t?.signal??(e instanceof Request?e.signal:void 0)}function tF(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 nF(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&&xP(t,a,r),t.createCredential(a)}function rF(e,t){let n=e.get(Q.acceptPayment);if(!n)return t;try{return{...t,entries:nN(n),header:n}}catch{return t}}async function iF(e,t){return t?t(e):e}function aF(e,t){if(t===`always`)return!0;if(t===`never`)return!1;let n=cF(e);return t===`same-origin`?!sF()||n.origin===globalThis.location.origin:t.origins.some(e=>oF(n,e))}function oF(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 sF(){return globalThis.location!==void 0}function cF(e){return e instanceof URL?e:e instanceof Request?new URL(e.url):new URL(e,sF()?globalThis.location.href:void 0)}function lF(e,t,n){if(!e.url)return t;let r=new URL(e.url),i=cF(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 uF(e){return e}function dF(e,t){let{canHandleChallenge:n,context:r,createCredential:i}=t;return{...e,canHandleChallenge:n,context:r,createCredential:i}}function fF(e={}){let{account:t}=e;return(e,{account:n}={})=>{let r=n??t;if(!r){if(!e.account)throw Error(\"No `account` provided. Pass `account` to parameters or context.\");return e.account}return M(r)}}function pF(e){return Object.fromEntries(Object.entries(e.headers??{}).filter(([e])=>e.toLowerCase()!==`content-type`))}let mF={[dO.id]:dO,[mO.id]:mO};function hF(e,t={}){return rx(e.url,{fetchFn:e.fetch,fetchOptions:{headers:pF(e)},...t})}function gF(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=bO(Qb({request:t=>e(t)},{retryCount:0}),hF(r,{retryCount:i.transport.retryCount}))({account:i.account,chain:i.chain,pollingInterval:i.pollingInterval,retryCount:0}),n=Zb({...t.config,retryCount:0},t.value);a=Object.assign({},i,{request:n.request,transport:{...n.config,...n.value}})}return!t?.serializers||a.chain?.serializers?.transaction?a:Object.assign({},a,{chain:{...t,...e.chainId===void 0?{}:{id:e.chainId},...a.chain,formatters:a.chain?.formatters??t.formatters,prepareTransactionRequest:a.chain?.prepareTransactionRequest??t.prepareTransactionRequest,serializers:a.chain?.serializers?.transaction?a.chain.serializers:t.serializers}})}:({chainId:e})=>{if(!i)throw Error(\"No `rpcUrl` provided.\");let n=e||Number(Object.keys(i)[0]),a=i[n];if(!a)throw Error(`No \\`rpcUrl\\` configured for \\`chainId\\` (${n}).`);let o=r?bO(rx(a),hF(r)):rx(a);return kh({chain:mF[n]??{...t,id:n},transport:o})}}function _F(e,t){if(t!==void 0&&e.chain?.id!==void 0&&e.chain.id!==t)throw Error(`Chain ID mismatch: expected ${t}, got ${e.chain.id}.`)}function vF(e,t){if(e!==void 0&&(t===void 0||!e.includes(t)))throw Error(`Chain ID not allowed: ${t??`unknown`}.`)}ji();let yF={mainnet:4217,testnet:42431},bF={ousd:gO(yF.mainnet).address,usdc:ki(vO(yF.mainnet).address),pathUsd:_O(yF.mainnet).address},xF={[yF.mainnet]:bF.usdc,[yF.testnet]:bF.pathUsd},SF=Object.freeze({[yF.mainnet]:Object.freeze({swap:`0xF72E5107c32C655ffA7539a3C8e97B7C3cE16A3F`,token:`0x20c000000000000000000000f37de3740ADec032`}),[yF.testnet]:Object.freeze({swap:`0xd05f8EdFBB54Da0d765C9fE9b2B3f7d2E3a8C466`,token:`0x20c000000000000000000000f37de3740ADec032`})}),CF={[yF.mainnet]:`0x33b901018174DDabE4841042ab76ba85D4e24f25`,[yF.testnet]:`0xe1c4d3dce17bc111181ddf716f75bae49e61a336`},wF={[yF.mainnet]:`https://rpc.tempo.xyz`,[yF.testnet]:`https://rpc.moderato.tempo.xyz`},TF=[`push`,`pull`],EF=K({amount:TM(),memo:J(jM()),recipient:mj(W(),lj(e=>e))}),DF=(1n<<64n)-1n,OF={dev_second:1n,day:86400n,week:604800n},kF=mj(AM(),lj(e=>e.toLowerCase())),AF=K({accessKeyAddress:kF,keyType:oj([`p256`,`secp256k1`,`webAuthn`])}),jF=K({accessKey:J(AF),chainId:J(PA())}),MF=DM(`subscriptionExpires must be a valid date`).check(Sj(e=>e.getTime()%1e3==0,`subscriptionExpires must be representable as whole seconds`)),NF=oj([`dev_second`,`day`,`week`]),PF=mj(QA([W(),RA(),xj(e=>typeof e==`number`&&Number.isSafeInteger(e))]),lj(e=>e.toString())).check(OA(/^[1-9]\\d*$/,`Invalid periodCount`),Sj(e=>{try{return BigInt(e)<=DF}catch{return!1}},`periodCount exceeds uint64`));function FF(e){return Sj(e=>{let{amount:t,decimals:n}=e;return Ny(t,n)>0n},e)}function IF(e){let{periodCount:t,periodUnit:n}=e;try{let e=OF[n];return e!==void 0&&BigInt(t)*e<=DF}catch{return!1}}let LF=uF({name:`tempo`,intent:`charge`,schema:{credential:{payload:ej(`type`,[K({hash:jM(),type:q(`hash`)}),K({signature:MM(),type:q(`transaction`)}),K({signature:MM(),type:q(`proof`)})])},request:mj(K({machineTokenEnabled:J(IA()),amount:TM(),chainId:J(PA()),currency:W(),decimals:PA(),description:J(W()),externalId:J(W()),feePayer:J(mj(QA([IA(),xj()]),lj(e=>typeof e==`object`||e))),memo:J(KA()),recipient:J(W()),splits:J(G(EF).check(DA(1),EA(10))),supportedModes:J(G(oj(TF)).check(DA(1)))}).check(Sj(({amount:e,decimals:t,splits:n})=>{if(!n)return!0;let r=Ny(e,t),i=n.reduce((e,n)=>e+Ny(n.amount,t),0n);return n.every(e=>Ny(e.amount,t)>0n)&&i<r},`Invalid splits`)),lj(({machineTokenEnabled:e,amount:t,chainId:n,decimals:r,feePayer:i,memo:a,splits:o,supportedModes:s,...c})=>({...c,amount:Ny(t,r).toString(),...e!==void 0||n!==void 0||i!==void 0||o!==void 0||s!==void 0?{methodDetails:{...e!==void 0&&{machineTokenEnabled:e},...n!==void 0&&{chainId:n},...i!==void 0&&{feePayer:i},...o!==void 0&&{splits:o.map(e=>({...e,amount:Ny(e.amount,r).toString()}))},...s!==void 0&&{supportedModes:s}}}:{}})))}}),RF=uF({name:`tempo`,intent:`session`,schema:{credential:{payload:ej(`action`,[K({action:q(`open`),authorizedSigner:J(W()),channelId:jM(),cumulativeAmount:TM(),descriptor:J(xj()),signature:MM(),transaction:MM(),type:q(`transaction`)}),K({action:q(`topUp`),additionalDeposit:TM(),channelId:jM(),descriptor:J(xj()),transaction:MM(),type:q(`transaction`)}),K({action:q(`voucher`),channelId:jM(),cumulativeAmount:TM(),descriptor:J(xj()),signature:MM()}),K({action:q(`close`),channelId:jM(),cumulativeAmount:TM(),descriptor:J(xj()),signature:MM()})])},request:mj(K({amount:TM(),chainId:J(PA()),channelId:J(jM()),currency:W(),decimals:PA(),escrowContract:J(W()),feePayer:J(mj(QA([IA(),xj()]),lj(e=>typeof e==`object`||e))),feeToken:J(AM()),minVoucherDelta:J(TM()),operator:J(AM()),recipient:J(W()),sessionProtocol:J(oj([_M.v2,_M.v1])),sessionSnapshot:J(xj()),suggestedDeposit:J(TM()),unitType:W()}).check(Sj(({amount:e,decimals:t})=>Ny(e,t)>0n,`Session amount must be greater than 0`)),lj(({amount:e,chainId:t,channelId:n,decimals:r,escrowContract:i,feePayer:a,feeToken:o,minVoucherDelta:s,operator:c,sessionProtocol:l,sessionSnapshot:u,suggestedDeposit:d,...f})=>({...f,amount:Ny(e,r).toString(),...d?{suggestedDeposit:Ny(d,r).toString()}:{},methodDetails:{escrowContract:i,...n!==void 0&&{channelId:n},...s!==void 0&&{minVoucherDelta:Ny(s,r).toString()},...t!==void 0&&{chainId:t},...a!==void 0&&{feePayer:a},...o!==void 0&&{feeToken:o},...c!==void 0&&{operator:c},...l!==void 0&&{[gM.sessionProtocol]:l},...u!==void 0&&{[gM.sessionSnapshot]:u}}})))}}),zF=uF({name:`tempo`,intent:`subscription`,schema:{credential:{payload:K({signature:MM(),type:q(`keyAuthorization`)})},request:mj(K({amount:TM(),accessKey:J(AF),chainId:J(PA()),currency:kF,decimals:PA(),description:J(W()),externalId:J(W()),methodDetails:J(jF),periodCount:PF,periodUnit:NF,recipient:kF,subscriptionExpires:MF}).check(FF(`Subscription amount must be greater than 0`),Sj(IF,`Subscription period exceeds uint64`)),lj(({accessKey:e,amount:t,chainId:n,decimals:r,methodDetails:i,subscriptionExpires:a,...o})=>{let s={...i,...e!==void 0&&{accessKey:e},...n!==void 0&&{chainId:n}};return{...o,amount:Ny(t,r).toString(),subscriptionExpires:a.toISOString(),...Object.keys(s).length>0?{methodDetails:s}:{}}}))}});z(),Fi(),rf();let BF=(1n<<64n)-1n,VF={dev_second:1n,day:86400n,week:604800n};function HF(e){return e instanceof Date?e:new Date(e)}function UF(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 WF(e){if(!/^[1-9]\\d*$/.test(e.periodCount))throw new $({reason:`periodCount is invalid`});let t=VF[e.periodUnit];if(t===void 0)throw new $({reason:`periodUnit is invalid`});let n=BigInt(e.periodCount)*t;if(n>BF)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 GF(e){let{challengeExpires:t,request:n}=e;WF(n);let r=UF(HF(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 KF(e){return[{address:aI(e.currency,`currency`),selector:`0x95777d59`,recipients:[aI(e.recipient,`recipient`)]}]}function qF(e){try{let t=hp(mx(e));if(L(t)!==32)throw Error(`invalid challenge id size`);return t}catch{throw new $({reason:`challenge id must encode 32 bytes`})}}async function JF(e){let{accessKey:t,account:n,challengeId:r,chainId:i,request:a}=e;if(typeof n.sign!=`function`)return;let o=XF({accessKey:t,challengeId:r,chainId:i,request:a}),s=await n.sign({hash:uw(o)}),c=bC(s);if(c.type===`keychain`||c.type===`multisig`)throw new $({reason:`keyAuthorization must use a primitive signature`});return sw(o,{signature:s})}function YF(e){let{accessKey:t,challengeId:n,chainId:r,payload:i,request:a}=e;if(i.type!==`keyAuthorization`)throw new $({reason:`invalid keyAuthorization payload`});let o=ZF(i.signature),s=QF(o);if($F({accessKey:t,authorization:o,chainId:r}),o.witness?.toLowerCase()!==qF(n))throw new $({reason:`keyAuthorization challenge mismatch`});return eI(o,a),nI(tI(o),a),rI(o.scopes,a),{authorization:o,source:{address:iI(o,s),chainId:r}}}function XF(e){let{accessKey:t,challengeId:n,chainId:r,request:i}=e;return sw({address:aI(t.accessKeyAddress,`accessKeyAddress`),chainId:BigInt(r),expiry:UF(HF(i.subscriptionExpires)),limits:[{token:aI(i.currency,`currency`),limit:BigInt(i.amount),period:WF(i)}],scopes:KF(i),type:t.keyType,witness:qF(n)})}function ZF(e){try{return dw(e)}catch(e){throw e instanceof Ow?new $({reason:`keyAuthorization must use a primitive signature`}):new $({reason:`invalid keyAuthorization payload`})}}function QF(e){let t=e.signature;if(!t)throw new $({reason:`keyAuthorization must use a primitive signature`});return t}function $F(e){let{accessKey:t,authorization:n,chainId:r}=e;if(n.chainId!==BigInt(r))throw new $({reason:`keyAuthorization chainId mismatch`});if(t){if(!nf(n.address,aI(t.accessKeyAddress,`accessKeyAddress`)))throw new $({reason:`keyAuthorization access key mismatch`});if(n.type!==t.keyType)throw new $({reason:`keyAuthorization key type mismatch`})}}function eI(e,t){if(GF({request:t}),e.expiry!==UF(HF(t.subscriptionExpires)))throw new $({reason:`keyAuthorization expiry mismatch`})}function tI(e){let[t]=e.limits??[];if(!t||e.limits?.length!==1)throw new $({reason:`keyAuthorization must contain exactly one token limit`});return t}function nI(e,t){if(!nf(e.token,aI(t.currency,`currency`)))throw new $({reason:`keyAuthorization currency mismatch`});if(e.limit!==BigInt(t.amount))throw new $({reason:`keyAuthorization amount mismatch`});if(e.period!==WF(t))throw new $({reason:`keyAuthorization period mismatch`})}function rI(e,t){if(!e||e.length!==1)throw new $({reason:`keyAuthorization must contain a recipient-scoped transferWithMemo call`});let n=aI(t.currency,`currency`),r=aI(t.recipient,`recipient`),i=new Set;for(let t of e){if(!nf(t.address,n))throw new $({reason:`keyAuthorization call target mismatch`});let e=oI(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||!nf(t.recipients[0],r))throw new $({reason:`keyAuthorization recipient mismatch`})}if(!i.has(`0x95777d59`))throw new $({reason:`keyAuthorization must allow transferWithMemo`})}function iI(e,t){let n=uw(e);try{let e=gC({payload:n,signature:t});if(!EC(t,{address:e,payload:n}))throw new $({reason:`keyAuthorization signature is invalid`});return e}catch(e){throw e instanceof $?e:new $({reason:`keyAuthorization signature is invalid`})}}function aI(e,t){if(!Mi(e))throw new $({reason:`${t} must be an address`});return e.toLowerCase()}function oI(e){return typeof e==`string`?e.toLowerCase():``}z(),rf();let sI=K({accessKey:J(xj()),account:J(xj())});function cI(e={}){let t=gF({chain:dO,getClient:e.getClient,rpcUrl:wF}),n=fF({account:e.account});return dF(zF,{context:sI,async createCredential({challenge:r,context:i}){let a=r.request.methodDetails?.chainId??yF.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.\");uI(r.request),await e.validateRequest?.(r.request);let l=await lI(o,{accessKey:c,account:s,challengeId:r.id,chainId:a,request:r.request});if(!nf(YF({accessKey:c,challengeId:r.id,chainId:a,payload:{signature:pw(l),type:`keyAuthorization`},request:r.request}).source.address,s.address))throw Error(`keyAuthorization signer does not match the selected account`);return CN({challenge:r,payload:{signature:pw(l),type:`keyAuthorization`},source:`did:pkh:eip155:${a}:${s.address.toLowerCase()}`})}})}async function lI(e,t){let{accessKey:n,account:r,challengeId:i,chainId:a,request:o}=t;return await JF({accessKey:n,account:r,challengeId:i,chainId:a,request:o})||cw((await e.request({method:`wallet_authorizeAccessKey`,params:[{address:n.accessKeyAddress,expiry:UF(HF(o.subscriptionExpires)),keyType:n.keyType,limits:[{token:o.currency,limit:F(BigInt(o.amount)),period:WF(o)}],scopes:KF(o),witness:qF(i)}]})).keyAuthorization)}function uI(e){WF(e),UF(HF(e.subscriptionExpires))}dp(),z();let dI=I(y_(Wf(`mpp`),{as:`Hex`}),0,4);function fI(e){return Sp(I(y_(Wf(e),{as:`Hex`}),0,10))}function pI(e){let{serverId:t,clientId:n,challengeId:r}=e,i=new Uint8Array(32);return i.set(Sp(dI),0),i[4]=1,i.set(fI(t),5),n&&i.set(fI(n),15),i.set(mI(r),25),hp(i)}function mI(e){return Sp(I(y_(Wf(e),{as:`Hex`}),0,7))}function hI(e,t){return MC(e).toLowerCase()===MC(t).toLowerCase()}let gI=[bF.pathUsd,bF.usdc];async function _I(e,t){let{account:n,amountOut:r,tokenOut:i,tokenIn:a,slippage:o}=t,s=a.filter(e=>!hI(e,i)),c=await Promise.allSettled([Ym(e,AD.call(e,{account:n,token:i})),...s.map(t=>Ym(e,AD.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 mD(e,{tokenIn:l,tokenOut:i,amountOut:r});if(a>=t){let n=t+t*BigInt(Math.round(o*100))/10000n;return[wD.call(e,{amount:n,spender:uE,token:l}),lD.call({tokenIn:l,tokenOut:i,amountOut:r,maxAmountIn:n})]}}catch{}}throw new yI({currency:i})}}function vI(e,t){return e?e===!0?{tokenIn:t,slippage:1}:{tokenIn:e.tokenIn?[...e.tokenIn,...t.filter(t=>!e.tokenIn.some(e=>hI(e,t)))]:t,slippage:e.slippage??1}:!1}var yI=class extends Error{name=`InsufficientFundsError`;constructor({currency:e}){super(`Insufficient funds: no balance in ${e} and no viable swap route from fallback currencies.`)}};function bI(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 xI(e,t,n){t&&(n&&!n.some(e=>hI(e,t))||e.some(e=>hI(e,t))||e.push(t))}async function SI(e,t,n){try{return(await AD(e,{account:t,token:n})).amount>0n}catch{return!1}}function CI(e){let t=e.chain?.feeToken;if(t)return KC(t);let n=e.chain?.id;return n?xF[n]:void 0}function wI(e){let t=[];return xI(t,bF.pathUsd),xI(t,xF[e]),t}async function TI(e){let{account:t,allowedTokens:n,candidateTokens:r,client:i,prioritizeCandidates:a}=e,o=[];if(a)for(let e of r??[])xI(o,e,n);if(xI(o,await JD(i,{account:t}).then(e=>e?.address).catch(()=>void 0),n),xI(o,CI(i),n),!a)for(let e of r??[])xI(o,e,n);for(let e of o)if(await SI(i,t,e))return e;return o[0]}ba(),Fi(),rf(),jt(),Jm();let EI=At([`function swapTo(address inputToken,uint256 amount,address targetToken,address recipient,bytes32 memo)`]);function DI(e){if(e!==void 0)return SF[e]}function OI(e){let t=DI(e.chainId);return!!t&&Mi(e.currency,{strict:!1})&&nf(e.currency,t.token)}function kI(e){let t=DI(e.chainId),n=e.transfers.length===1?e.transfers[0]:void 0;if(!t||!n?.memo)return;let r=BigInt(n.amount),i=n.memo;return{calls:[{data:ya({abi:V,functionName:`approve`,args:[t.swap,r]}),to:t.token},{data:ya({abi:EI,functionName:`swapTo`,args:[t.token,r,e.currency,n.recipient,i]}),to:t.swap}],settlementSender:t.swap,transfers:[{amount:r,memo:i,recipient:n.recipient}]}}async function AI(e,t){let n=kI(t);if(n)try{return await Ym(e,AD.call(e,{account:t.account,token:n.calls[0].to}))<n.transfers[0].amount?void 0:(await Lm(e,{account:t.account,calls:n.calls}),n)}catch{return}}let jI={Proof:[{name:`account`,type:`address`},{name:`challengeId`,type:`string`},{name:`realm`,type:`string`}]};function MI(e){return{name:`MPP`,version:`3`,chainId:e}}function NI(e){let{account:t,challengeId:n,realm:r}=e;return{account:t,challengeId:n,realm:r}}function PI(e){let{account:t,chainId:n,challengeId:r,realm:i}=e;return{domain:MI(n),types:jI,primaryType:`Proof`,message:NI({account:t,challengeId:r,realm:i})}}function FI(e){return`did:pkh:eip155:${e.chainId}:${e.address}`}let II=K({account:J(xj()),autoSwap:J(xj()),mode:J(oj(TF))});function LI(e={}){let{clientId:t}=e,n=gF({chain:dO,getClient:e.getClient,rpcUrl:wF}),r=fF({account:e.account});return dF(LF,{context:II,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}.`);(o!==void 0||e.allowedChainIds?.length===0)&&vF(e.allowedChainIds,o);let s=o??e.expectedChainId??(e.allowedChainIds?.length===1?e.allowedChainIds[0]:void 0),c=await n({chainId:s});_F(c,s);let l=s??c.chain?.id;if(vF(e.allowedChainIds,l),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(e.expectedRecipients){let t=new Set(e.expectedRecipients.map(e=>e.toLowerCase()));if(!u.recipient||!t.has(u.recipient.toLowerCase()))throw Error(`Unexpected primary recipient: ${u.recipient}`);let n=f?.splits;if(n){for(let e of n)if(!t.has(e.recipient.toLowerCase()))throw Error(`Unexpected split recipient: ${e.recipient}`)}}if(BigInt(d)===0n)return CN({challenge:i,payload:{signature:await Kb(c,{account:m,...PI({account:m.address,chainId:l,challengeId:i.id,realm:i.realm})}),type:`proof`},source:FI({address:m.address,chainId:l})});let h=u.currency,g=OI({chainId:l,currency:h}),_=pI({challengeId:i.id,clientId:t,serverId:i.realm}),v=bI({amount:d,methodDetails:{...f,memo:_},recipient:u.recipient}),y=v.map(e=>WD.call(c,{amount:BigInt(e.amount),...e.memo&&{memo:e.memo},to:e.recipient,token:h})),b=vI(a?.autoSwap??e.autoSwap,gI),x=f?.machineTokenEnabled===!0,S=async t=>await e.resolveAccount?.({account:m,chainId:l,operation:{kind:`executeCalls`,...t?{calls:t}:{}}})??m,C=x?kI({chainId:l,currency:h,transfers:v}):void 0,w=m,T;if(C){let e=await(async()=>{try{return await S(C.calls)}catch{return}})();e&&(T=await AI(c,{account:e.address,chainId:l,currency:h,transfers:v}),T&&(w=e))}let ee;T||(w=await S(b?void 0:y),ee=b?await _I(c,{account:w.address,amountOut:BigInt(d),tokenOut:h,tokenIn:b.tokenIn,slippage:b.slippage}):void 0);let te=T?.calls??[...ee??[],...y],ne=wI(l),re=T||g?await TI({account:w.address,allowedTokens:ne,candidateTokens:ne,client:c,prioritizeCandidates:!0}):void 0,ie=(()=>{let t=a?.mode??e.mode;if(t){if(!p.includes(t))throw Error(`Challenge does not support ${t} mode.`);return t}let n=w.type===`json-rpc`?`push`:`pull`;return p.includes(n)?n:p[0]})(),ae=(()=>{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(ie===`push`){let{receipts:e}=w.type===`local`?{receipts:[await Db(c,{account:w,calls:te,...re?{feeToken:re}:{},nonceKey:`expiring`,validBefore:ae})]}:await Vb(c,{account:w,...re?{capabilities:{feeToken:re}}:{},calls:te,experimental_fallback:te.length===1,forceAtomic:te.length>1}),t=e?.[0]?.transactionHash;if(!t)throw Error(`No transaction receipt returned.`);return CN({challenge:i,payload:{hash:t,type:`hash`},source:FI({address:w.address,chainId:l})})}let E=await $d(c,{account:w,calls:te,...re?{feeToken:re}:{},nonceKey:`expiring`,validBefore:ae});if(E.gas=(E.gas??0n)+5000n,f?.feePayer){let e=E;delete e.feePayerSignature,delete e.feeToken,e.feePayer=!0}return CN({challenge:i,payload:{signature:await Gb(c,E),type:`transaction`},source:FI({address:w.address,chainId:l})})}})}function RI(e){return`accessKeyAddress`in e}function zI(e){return RI(e)?e.accessKeyAddress:e.address}function BI(e,t){return{name:`Tempo Stream Channel`,version:`1`,chainId:t,verifyingContract:e}}let VI={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint128`}]};function HI(e){return{channelId:e.channelId,cumulativeAmount:e.cumulativeAmount}}function UI(e,t,n){return Cg({domain:BI(e,t),types:VI,primaryType:`Voucher`,message:HI(n)})}async function WI(e,t,n,r,i){return Kb(e,{account:t,domain:BI(r,i),types:VI,primaryType:`Voucher`,message:HI(n)})}function GI(e){let t=bC(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 Yv(t.inner.signature)}return CC(t)}function KI(e){return e.type!==`keychain`&&e.type===`secp256k1`}function qI(e){if(!KI(e))throw Error(`Session vouchers only support secp256k1 signatures until TIP-1020 voucher verification is enabled.`)}async function JI(e,t,n,r,i,a){let o=a??t,s=zI(o),c=UI(r,i,n),l=GI(RI(o)?await o.sign({hash:c,raw:!0}):await WI(e,o,n,r,i)),u=bC(l);if(qI(u),!EC(u,{address:s,payload:c}))throw Error(`voucher signature does not match voucher signer`);return l}function YI(e){return y_(bv(Sv([`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 XI=[{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:[]}];ma(),ua();async function ZI(e,t,n){return Ym(e,{address:t,abi:XI,functionName:`getChannel`,args:[n]})}da({abi:XI,name:`open`}),da({abi:XI,name:`topUp`}),z(),ba();function QI(e,t){return t??e}function $I(e,t,n,r=!1){let i=e.request.methodDetails?.escrowContract,a=n??CF[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 eL(e,t,n,r){return CN({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}async function tL(e,t,n,r,i,a,o){let s=QI(t,o),c=await JI(e,t,{channelId:n,cumulativeAmount:r},i,a,s);return{action:`voucher`,channelId:n,cumulativeAmount:r.toString(),signature:c}}async function nL(e,t,n){let{escrowContract:r,payee:i,currency:a,deposit:o,initialAmount:s,chainId:c,feePayer:l}=n,u=QI(t,n.voucherSigner),d=zI(u),f=bp(32),p=YI({authorizedSigner:d,chainId:c,escrowContract:r,payee:i,payer:t.address,salt:f,token:a}),m=ya({abi:V,functionName:`approve`,args:[r,o]}),h=ya({abi:XI,functionName:`open`,args:[i,a,o,f,d]}),g=Math.floor(Date.now()/1e3)+25,_=await $d(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 Gb(e,_),y=await JI(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 rL(e,t,n,r){try{let i=await ZI(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 iL=K({account:J(xj()),action:J(oj([`open`,`topUp`,`voucher`,`close`])),channelId:J(W()),cumulativeAmount:J(TM()),cumulativeAmountRaw:J(W()),transaction:J(W()),additionalDeposit:J(TM()),additionalDepositRaw:J(W()),depositRaw:J(W())});function aL(e={}){let{allowCustomEscrow:t=!1,decimals:n=6}=e,r=gF({chain:dO,getClient:e.getClient,rpcUrl:wF}),i=fF({account:e.account}),a=e.maxDeposit===void 0?void 0:Ny(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 $I(n,r,e)}return $I(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 Ny(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 rL(h,g,e,m);if(t){let e=f?.cumulativeAmountRaw?BigInt(f.cumulativeAmountRaw):f?.cumulativeAmount?Ny(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()!==zI(C).toLowerCase()&&(T=void 0);let ee;if(T?.opened)T.cumulativeAmount+=y,ee=await tL(h,i,T.channelId,T.cumulativeAmount,g,m,C),l(T);else{let e=await nL(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 eL(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?Ny(a.cumulativeAmount,n):void 0,y=a.additionalDepositRaw?BigInt(a.additionalDepositRaw):a.additionalDeposit?Ny(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 JI(f,i,{channelId:_,cumulativeAmount:v},b,u,g);x={action:`open`,type:`transaction`,channelId:_,transaction:h,authorizedSigner:zI(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 tL(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 JI(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 eL(t,x,u,i)}return dF(RF,{canHandleChallenge({challenge:e}){let t=vM(e.request.methodDetails,gM.sessionProtocol);return t===void 0||t===_M.v1},context:iL,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 oL=(1n<<96n)-1n;function sL(e){return e>=0n&&e<=oL}function cL(e){if(!/^\\d{1,29}$/.test(e))return;let t=BigInt(e);return sL(t)?t:void 0}function lL(e){return uL(e),e}function uL(e){if(!sL(e))throw Error(`Value ${e} is outside uint96 bounds.`)}let dL=new Set([`open`,`topUp`,`voucher`,`close`]);function fL(e){return typeof e==`object`&&!!e}function pL(e){return typeof e==`string`&&dL.has(e)}function mL(e){if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.channelId!=`string`||t.action!==void 0&&!pL(t.action))}function hL(e,t=`No session credential context available.`){if(!mL(e))throw Error(t);return e}function gL(e){let t=e.request.amount;if(typeof t!=`string`)throw Error(`Session challenge is missing amount.`);return BigInt(t)}function _L(e){return fL(e)?typeof e.channelId==`string`&&typeof e.requiredCumulative==`string`&&typeof e.acceptedCumulative==`string`&&typeof e.deposit==`string`:!1}function vL(e){return fL(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 yL(e){let t=hx(e),n=JSON.parse(t);if(!vL(n))throw Error(`Invalid session receipt.`);return n}function bL(e){return e.headers.get(`content-type`)?.toLowerCase().startsWith(`text/event-stream`)??!1}function xL(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=SL(r);return _L(e)?{type:`payment-need-voucher`,data:e}:null}case`payment-receipt`:{let e=SL(r);return vL(e)?{type:`payment-receipt`,data:e}:null}default:return{type:`message`,data:r}}}function SL(e){try{return JSON.parse(e)}catch{return null}}function CL(e){return JSON.stringify({mpp:`authorization`,authorization:e})}function wL(){return JSON.stringify({mpp:`payment-close-request`})}function TL(e){let t=EL(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`&&vL(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`&&_L(t.data)?{mpp:`payment-need-voucher`,data:t.data}:t.mpp===`payment-receipt`&&vL(t.data)?{mpp:`payment-receipt`,data:t.data}:null:null}function EL(e){try{let t=JSON.parse(e);return typeof t!=`object`||!t?null:t}catch{return null}}let DL=`0x4d50500000000000000000000000000000000000`,OL={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function kL(e){let t=e.allowCustomEscrow??!1,n=e.fetch??globalThis.fetch,r=e.webSocket??globalThis.WebSocket,i=e.maxDeposit===void 0?null:Ny(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=aL({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=OP({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?yL(t):null;return x(n),Object.assign(e,{receipt:n,challenge:o,channelId:a?.channelId??null,cumulative:a?.cumulativeAmount??0n})}async function E(e,t){return s=e,ae(await b(e,t))}function oe(e){let t=new Map,n=!1,r=[],i=e.readyState,a=(e,n,i)=>{let a=t.get(e);if(a||(a=new Set,t.set(e,a)),a.add({once:typeof i==`object`&&i.once===!0,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=OL.CLOSED,r=null}if(e===`open`&&(i=OL.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:E,async sse(e,t){let{onReceipt:r,signal:i,...s}=t??{},c=await E(e,{...s,headers:{...AP(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=xL(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 AL(iN(WM(S),[y],tN([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=bN(re);d=ae.payload.channelId;let E=new r(g,l);f=E;let se=oe(E),ce=e=>{te(Error(e)),ne(Error(e)),(E.readyState===OL.CONNECTING||E.readyState===OL.OPEN)&&E.close(3008,e)},le=e=>e.challengeId===w.id&&e.channelId===d,ue=new Promise((e,t)=>{let n=()=>{E.removeEventListener(`error`,r),se.emit(`open`,{type:`open`}),e()},r=()=>{E.removeEventListener(`open`,n),t(Error(`WebSocket connection to ${g} failed to open.`))};E.addEventListener(`open`,n,{once:!0}),E.addEventListener(`error`,r,{once:!0})});return E.addEventListener(`close`,e=>{f===E&&(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.`)),se.emit(`close`,{code:e.code??1e3,reason:e.reason??``,type:`close`,wasClean:!0})}),E.addEventListener(`error`,()=>{se.emit(`error`,{type:`error`})}),E.addEventListener(`message`,async e=>{let t=typeof e.data==`string`?e.data:void 0;if(!t)return;let n=TL(t);if(!n){se.emit(`message`,{data:t,type:`message`});return}switch(n.mpp){case`authorization`:break;case`message`:_+=1n,se.emit(`message`,{data:n.data,type:`message`});break;case`payment-close-ready`:if(!le(n.data)){ce(`received mismatched payment-close-ready frame`);break}if(BigInt(n.data.spent)>(a?.cumulativeAmount??0n)){ce(`received payment-close-ready beyond local voucher state`);break}x(n.data),c?.(n.data),ee(n.data),se.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){ce(`received mismatched payment-need-voucher frame`);break}let e=BigInt(n.data.requiredCumulative);try{ie(e)}catch(e){ce(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()}});E.send(CL(r));break}case`payment-receipt`:if(!le(n.data)){ce(`received mismatched payment-receipt frame`);break}if(h!==null&&n.data.txHash&&(n.data.acceptedCumulative!==h||n.data.spent!==h)){ce(`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.`)),E.close()},{once:!0}),await ue,E.send(CL(re)),await C(),se.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===OL.OPEN){let n=p??await(async()=>(f.send(wL()),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(CL(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?yL(c):void 0}}}async function AL(e,t){let n=t;return n?n(e):e}z();function jL(e){return BigInt(e.authorizedSigner)===0n?e.payer:e.authorizedSigner}function ML(e){return y_(bv(Sv([`address payer`,`address payee`,`address operator`,`address token`,`bytes32 salt`,`address authorizedSigner`,`bytes32 expiringNonceHash`,`address escrow`,`uint256 chainId`]),[e.payer,e.payee,e.operator,e.token,e.salt,e.authorizedSigner,e.expiringNonceHash,e.escrow??`0x4d50500000000000000000000000000000000000`,BigInt(e.chainId)]))}function NL(e){return Iw(e)}function PL(e){let{feePayer:t,transaction:n}=e;return t?{...n,feePayerSignature:null}:n}function FL(e,t){return y_(P(NL(e),t.sender))}let IL=[{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`}],LL=[{name:`settled`,type:`uint96`},{name:`deposit`,type:`uint96`},{name:`closeRequestedAt`,type:`uint32`}],RL={name:`descriptor`,type:`tuple`,components:IL},zL=[{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:[RL,{name:`cumulativeAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`topUp`,stateMutability:`nonpayable`,inputs:[RL,{name:`additionalDeposit`,type:`uint96`}],outputs:[]},{type:`function`,name:`close`,stateMutability:`nonpayable`,inputs:[RL,{name:`cumulativeAmount`,type:`uint96`},{name:`captureAmount`,type:`uint96`},{name:`signature`,type:`bytes`}],outputs:[]},{type:`function`,name:`requestClose`,stateMutability:`nonpayable`,inputs:[RL],outputs:[]},{type:`function`,name:`withdraw`,stateMutability:`nonpayable`,inputs:[RL],outputs:[]},{type:`function`,name:`getChannel`,stateMutability:`view`,inputs:[RL],outputs:[{type:`tuple`,components:[{name:`descriptor`,type:`tuple`,components:IL},{name:`state`,type:`tuple`,components:LL}]}]},{type:`function`,name:`getChannelState`,stateMutability:`view`,inputs:[{name:`channelId`,type:`bytes32`}],outputs:[{type:`tuple`,components:LL}]},{type:`function`,name:`getChannelStatesBatch`,stateMutability:`view`,inputs:[{name:`channelIds`,type:`bytes32[]`}],outputs:[{type:`tuple[]`,components:LL}]},{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 BL(e,t){return{name:`TIP20 Channel Reserve`,version:`1`,chainId:t,verifyingContract:e}}let VL={Voucher:[{name:`channelId`,type:`bytes32`},{name:`cumulativeAmount`,type:`uint96`}]};function HL(e,t){return aw({chainId:e,channelId:t.channelId,cumulativeAmount:t.cumulativeAmount})}function UL(e,t,n){return e.toLowerCase()===`0x4d50500000000000000000000000000000000000`?HL(t,n):Cg({domain:BL(e,t),types:VL,primaryType:`Voucher`,message:{channelId:n.channelId,cumulativeAmount:n.cumulativeAmount}})}function WL(e){return e===`secp256k1`||e===`p256`||e===`webAuthn`}function GL(e,t){return DE(e,{chainId:t.chainId,channel:t.channelId,cumulativeAmount:t.cumulativeAmount})}async function KL(e,t,n,r,i){let a=bC(await(async()=>{if(r.toLowerCase()===`0x4d50500000000000000000000000000000000000`)try{return await GL(t,{chainId:i,channelId:n.channelId,cumulativeAmount:n.cumulativeAmount})}catch{}return Kb(e,{account:t,domain:BL(r,i),types:VL,primaryType:`Voucher`,message:n})})());if(!WL(a.type))throw Error(`TIP-1034 vouchers require a TIP-1020 primitive signature; received \"${a.type}\".`);return CC(a)}function qL(e,t,n,r){try{let i=bC(n.signature);if(!WL(i.type)||CC(i).toLowerCase()!==n.signature.toLowerCase())return!1;let a=UL(e,t,n),o=gC({payload:a,signature:i});return EC(i,{address:o,payload:a})&&hI(o,r)}catch{return!1}}z(),ba(),Fi();function JL(e){return typeof e==`object`&&!!e}function YL(e){return typeof e==`string`&&Mi(e,{strict:!1})?e:void 0}function XL(e){return YL(e.accessKeyAddress)}function ZL(){let e=BigInt(Math.floor(Date.now()/1e3))-60n;return e<=0n?0:Number(BigInt(bp(8))%e)}function QL(e){return XL(e)??e.address}async function $L(e,t){let{account:n,calls:r,feePayer:i,feeToken:a,validAfter:o}=t;return $d(e,{account:n,calls:r,nonceKey:`expiring`,...i?{feePayer:!0}:{},feeToken:a,...o===void 0?{}:{validAfter:o}})}async function eR(e,t){return await Gb(e,t)}function tR(e,t,n=!1){let r=e.request.methodDetails,i=JL(r)?YL(r.escrowContract)??YL(r.escrow):void 0,a=t??`0x4d50500000000000000000000000000000000000`;if(i&&!rR(i,a)&&(!n||t!==void 0))throw Error(`Tempo session escrow ${i} does not match client escrow ${a}.`);return i&&!rR(i,a)?i:a}function nR(e,t,n,r){return CN({challenge:e,payload:t,source:`did:pkh:eip155:${n}:${r.address}`})}function rR(e,t){return e.toLowerCase()===t.toLowerCase()}async function iR(e,t,n,r,i,a=DL){let o=ML({...n,chainId:i,escrow:a}),s=lL(r),c=await KL(e,t,{channelId:o,cumulativeAmount:s},a,i);return{action:`voucher`,channelId:o,descriptor:n,cumulativeAmount:s.toString(),signature:c}}async function aR(e,t,n,r,i,a=DL){let o=await iR(e,t,n,r,i,a);return{action:`close`,channelId:o.channelId,descriptor:n,cumulativeAmount:o.cumulativeAmount,signature:o.signature}}async function oR(e,t,n){let r=QL(t),i=n.escrow??`0x4d50500000000000000000000000000000000000`,a=n.operator??`0x0000000000000000000000000000000000000000`,o=bp(32),s=lL(n.deposit),c=lL(n.initialAmount),l=ya({abi:zL,functionName:`open`,args:[n.payee,a,n.token,s,o,r]}),u=await eR(e,await $L(e,{account:t,calls:[...n.prefixCalls??[],{to:i,data:l}],feePayer:n.feePayer,feeToken:n.feeToken??n.token})),d=mE(u),f={authorizedSigner:r,expiringNonceHash:FL(PL({...n.feePayer?{feePayer:!0}:{},transaction:d}),{sender:t.address}),operator:a,payee:n.payee,payer:t.address,salt:o,token:n.token},p=ML({...f,chainId:n.chainId,escrow:i});return{action:`open`,type:`transaction`,channelId:p,transaction:u,signature:await KL(e,t,{channelId:p,cumulativeAmount:c},i,n.chainId),descriptor:f,cumulativeAmount:c.toString(),authorizedSigner:f.authorizedSigner}}async function sR(e,t,n,r,i,a,o=DL,s=[],c=n.token){let l=ML({...n,chainId:i,escrow:o}),u=lL(r);return{action:`topUp`,type:`transaction`,channelId:l,transaction:await eR(e,await $L(e,{account:t,calls:[...s,{to:o,data:ya({abi:zL,functionName:`topUp`,args:[n,u]})}],feePayer:a,feeToken:c,validAfter:ZL()})),descriptor:n,additionalDeposit:u.toString()}}function cR(e){let{payee:t,token:n,escrow:r,chainId:i}=e;return`${t.toLowerCase()}:${n.toLowerCase()}:${r.toLowerCase()}:${i}`}function lR(e){return cR({payee:e.descriptor.payee,token:e.descriptor.token,escrow:e.escrow,chainId:e.chainId})}function uR(){let e=new Map;return{get:t=>e.get(t),set(t){e.set(lR(t),t)},delete(t){e.delete(t)}}}let dR=2n**96n-1n;function fR(e){if(e<0n||e>dR)throw new $({reason:`amount exceeds uint96 range`})}async function pR(e,t,n=DL,r){return mR(await Ym(e,{address:n,abi:zL,functionName:`getChannelState`,args:[t],...r===void 0?{}:{blockNumber:r}}))}function mR(e){return fR(e.settled),fR(e.deposit),{settled:e.settled,deposit:e.deposit,closeRequestedAt:e.closeRequestedAt}}Fi();let hR=xj(e=>typeof e==`string`&&Mi(e,{strict:!1})),gR=xj(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e)),_R=rP(K({acceptedCumulative:W(),chainId:PA(),channelId:gR,closeRequestedAt:J(W()),deposit:W(),descriptor:K({authorizedSigner:hR,expiringNonceHash:gR,operator:hR,payee:hR,payer:hR,salt:gR,token:hR}),escrow:hR,highestVoucher:J(K({channelId:gR,cumulativeAmount:W(),signature:xj(e=>typeof e==`string`&&/^0x[0-9a-fA-F]+$/.test(e))})),requiredCumulative:W(),settled:W(),spent:W(),units:J(PA())}));function vR(e){return _R.encode(e)}function yR(e){return _R.decode(e)}let bR={status:`idle`};function xR(e){return{status:`active`,...e}}function SR(e,t){switch(t.type){case`challengeReceived`:return e.status===`closing`||e.status===`closed`?DR(e,t):{state:{status:`challenged`,challengeId:t.challengeId},effects:[]};case`challenge`:return e.status!==`idle`&&e.status!==`active`?DR(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:TR(e.challengeId,t.snapshot),effects:[]}:DR(e,t);case`activated`:return e.status===`closing`||e.status===`closed`?DR(e,t):{state:zR({challengeId:t.challengeId,entry:t.entry,spent:t.spent,units:t.units??0}),effects:[]};case`opened`:return e.status===`opening`?{state:ER(e.challengeId,t.receipt,t.descriptor,t.deposit),effects:[]}:DR(e,t);case`receiptAccepted`:return e.status===`closing`||e.status===`closed`?DR(e,t):{state:HR(t.receipt,t.entry),effects:[]};case`needVoucher`:return e.status===`active`?wR({challengeId:e.challengeId,descriptor:t.descriptor,event:t.event}):DR(e,t);case`topUpStarted`:return e.status===`voucherNeeded`?{state:{status:`toppingUp`,challengeId:e.challengeId,channelId:e.channelId,descriptor:e.descriptor,deposit:e.deposit},effects:[]}:DR(e,t);case`voucherAccepted`:return e.status!==`voucherNeeded`&&e.status!==`toppingUp`?DR(e,t):{state:ER(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}]}:DR(e,t);case`settled`:return e.status===`settling`?{state:ER(t.receipt.challengeId,t.receipt,e.descriptor,t.deposit??e.deposit),effects:[]}:DR(e,t);case`closeRequested`:return e.status===`active`?{state:{status:`closeRequested`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`requestClose`,channelId:e.channelId}]}:DR(e,t);case`withdrawable`:return e.status===`closeRequested`?{state:{status:`withdrawable`,channelId:e.channelId,descriptor:e.descriptor},effects:[{type:`withdraw`,channelId:e.channelId}]}:DR(e,t);case`closeStarted`:return e.status!==`active`&&e.status!==`withdrawable`&&e.status!==`closeRequested`?DR(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`?DR(e,t):{state:{status:`closed`,channelId:e.channelId,descriptor:e.descriptor},effects:[]}}}function CR(e,t){let n=SR(e.state,t);return e.state=n.state,n}function wR(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 TR(e,t){return xR({challengeId:e,channelId:t.channelId,descriptor:t.descriptor,acceptedCumulative:t.acceptedCumulative,deposit:t.deposit,spent:t.spent,units:t.units??0})}function ER(e,t,n,r){return xR({challengeId:e,channelId:t.channelId,descriptor:n,acceptedCumulative:t.acceptedCumulative,deposit:r,spent:t.spent,units:t.units??0})}function DR(e,t){throw Error(`Invalid session transition: ${e.status} + ${t.type}`)}function OR(e){let{cumulativeAmount:t,maxVoucherCumulative:n}=e;if(n!==null&&!(t<=n))throw Error(`requested voucher amount ${t} exceeds local maxDeposit ${n}`)}function kR(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`);OR({cumulativeAmount:i,maxVoucherCumulative:n}),OR({cumulativeAmount:a,maxVoucherCumulative:n})}function AR(e){let{channel:t,maxVoucherCumulative:n,receipt:r,spent:i}=e;if(!r||r.channelId!==t?.channelId)return i;kR({channel:t,maxVoucherCumulative:n,receipt:r});let a=BigInt(r.spent);return i>a?i:a}function jR(e,t){return typeof e==`bigint`?e:Ny(e,t)}function MR(e){let{contextDepositRaw:t,maxDeposit:n,requestAmount:r,suggestedDepositRaw:i}=e;if(PR(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 NR(e){let{deposit:t,maxDeposit:n,requiredCumulative:r,suggestedDeposit:i,topUpAmount:a}=e;if(r<=t)return 0n;OR({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 PR(e,t){OR({cumulativeAmount:e,maxVoucherCumulative:t??null})}function FR(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 IR(e){let{cumulativeAmount:t,spent:n}=e;return t>n?t:n}function LR(e){let{cumulativeAmount:t,readySpent:n,spent:r}=e;if(!sL(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>IR({cumulativeAmount:t,spent:r}))throw Error(`close-ready spent exceeds local voucher state`)}function RR(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:i=0n,receipt:a}=e,o=cL(r),s=cL(a.spent);return o===void 0||s===void 0||!sL(i)?!1:!!a.txHash&&a.challengeId===t&&a.channelId===n&&a.acceptedCumulative===r&&s>=i&&s<=o}function zR(e){return xR({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 BR(){return{channel:null,lastChallenge:null,lastUrl:null,spent:0n,socketSession:null,state:bR}}function VR(e){let{maxVoucherCumulative:t,receipt:n,runtime:r}=e;r.spent=AR({channel:r.channel,maxVoucherCumulative:t,receipt:n,spent:r.spent}),n&&r.channel?.channelId===n.channelId&&CR(r,{type:`receiptAccepted`,receipt:n,entry:r.channel})}function HR(e,t){return xR({challengeId:e.challengeId,channelId:e.channelId,descriptor:t.descriptor,acceptedCumulative:e.acceptedCumulative,deposit:t.deposit.toString(),spent:e.spent,units:e.units??0})}function UR(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=cL(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 WR(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 SR(o,{type:`activated`,challengeId:r,entry:t,spent:a.toString(),units:o.status===`active`?o.units:0}).state}function GR(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 KR(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 qR(e){let{activeSocket:t,currentSocket:n,target:r}=e,i=n.closeReadyReceipt??await(async()=>(t.send(wL()),e.waitForCloseReady()))(),a=BigInt(i.spent);LR({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=>RR({challengeId:r.challenge.id,channelId:r.channelId,expectedCloseAmount:s,minimumSpent:a,receipt:e}));t.send(CL(o));let c=await i;return t.close(),n.closeReadyReceipt=null,c}finally{n.expectedCloseAmount=null}}Fi();function JR(e){return`cumulativeAmount`in e}function YR(e){if(JR(e))return BigInt(e.cumulativeAmount)}async function XR(e,t){t.opened?await e.store.set(t):await e.store.delete(lR(t)),e.notifyUpdate(t)}async function ZR(e,t,n){let r=YR(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 XR(e,i))}let QR=xj(e=>typeof e==`string`&&/^0x[0-9a-fA-F]*$/.test(e)),$R=K({account:J(xj()),autoSwap:J(xj()),action:J(oj([`open`,`topUp`,`voucher`,`close`])),channelId:J(xj(e=>typeof e==`string`&&/^0x[0-9a-fA-F]{64}$/.test(e))),cumulativeAmount:J(TM()),cumulativeAmountRaw:J(W()),transaction:J(QR),descriptor:J(xj()),additionalDeposit:J(TM()),additionalDepositRaw:J(W()),depositRaw:J(W())});function ez(e){return e?.action!==void 0}function tz(e){return ez(e)&&e.descriptor!==void 0}function nz(e,t,n){let r=n===`additionalDeposit`?e.additionalDepositRaw:e.cumulativeAmountRaw,i=n===`additionalDeposit`?e.additionalDeposit:e.cumulativeAmount;if(r)return BigInt(r);if(i)return Ny(i,t)}function rz(e,t,n,r){let i=nz(e,t,n);if(i===void 0)throw Error(`${n} required for ${r} action`);return i}function iz(e){return typeof e==`object`&&!!e}function az(e){return typeof e==`string`&&Mi(e,{strict:!1})?e:void 0}function oz(e){let t=e.request.methodDetails;return iz(t)?{chainId:typeof t.chainId==`number`?t.chainId:void 0,escrowContract:az(t.escrowContract),escrow:az(t.escrow),feePayer:typeof t.feePayer==`boolean`?t.feePayer:void 0,feeToken:az(t.feeToken),operator:az(t.operator),sessionSnapshot:vM(t,gM.sessionSnapshot)}:{}}function sz(e,t){if(typeof e==`string`&&Mi(e,{strict:!1}))return e;throw Error(`tempo session challenge missing ${t}`)}function cz(e){if(typeof e==`string`)return BigInt(e);throw Error(`tempo session challenge missing amount`)}function lz(e){return typeof e==`string`?e:void 0}async function uz(e){let{allowCustomEscrow:t,challenge:n,escrowOverride:r,allowedChainIds:i,getClient:a}=e,o=oz(n);(o.chainId!==void 0||i?.length===0)&&vF(i,o.chainId);let s=o.chainId??(i?.length===1?i[0]:void 0),c=await a({chainId:s});_F(c,s);let l=s??c.chain?.id;if(vF(i,l),!l)throw Error(`No chainId configured for TIP-1034 session challenge.`);let u=tR(n,r,t),d=sz(n.request.recipient,`recipient`),f=sz(n.request.currency,`currency`);return{amount:cz(n.request.amount),challenge:n,chainId:l,client:c,escrow:u,feePayer:o.feePayer,feeToken:o.feeToken,key:cR({payee:d,token:f,escrow:u,chainId:l}),operator:o.operator,payee:d,snapshot:o.sessionSnapshot,suggestedDepositRaw:lz(n.request.suggestedDeposit),token:f}}async function dz(e){let{channelId:t,client:n,descriptor:r,expected:i,readChannelState:a=pR}=e,o=ML({...r,chainId:i.chainId,escrow:i.escrow});fz({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 fz(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(!rR(r.payee,a))throw Error(`context descriptor payee does not match challenge`);if(!rR(r.token,s))throw Error(`context descriptor token does not match challenge`);if(!rR(r.payer,o))throw Error(`context descriptor payer does not match account`);if(!rR(jL(r),t))throw Error(`context descriptor authorizedSigner does not match account`)}function pz(e){let{context:t,snapshot:n}=e,r=t?.descriptor??n?.descriptor;if(r)return{...t,channelId:t?.channelId??n?.channelId,descriptor:r}}function mz(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=nz(t,n,`cumulativeAmount`);return o===void 0?a+r:o+r}async function hz(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(!qL(i.escrow,i.chainId,{channelId:a.channelId,cumulativeAmount:s,signature:a.signature},jL(i.descriptor)))throw Error(`session snapshot highest voucher signature is invalid`);let f=await dz({channelId:i.channelId,client:n,descriptor:i.descriptor,expected:{chainId:i.chainId,escrow:i.escrow,payee:i.descriptor.payee,payer:t.address,authorizedSigner:QL(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 gz(e,t){return rR(e.address,t.payer)?rR(QL(e),jL(t)):!1}function _z(e){let{account:t,entry:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e;if(ez(r)){if(!tz(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=pz({context:r,snapshot:o.snapshot});return!n&&s&&gz(t,s.descriptor)?{type:`recover`,account:t,context:s,decimals:i,maxDeposit:a,resolved:o}:n?.opened&&gz(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 vz(e,t,n=!1){switch(e.type){case`open`:return bz(e,t,n);case`recover`:return xz(e,t);case`voucher`:return Sz(e,t);case`manual`:return Cz(e,t,n)}}async function yz(e,t){if(e)return await _I(t.client,{account:t.account,amountOut:t.amountOut,tokenOut:t.tokenOut,tokenIn:e.tokenIn,slippage:e.slippage})}async function bz(e,t,n){let{account:r,resolved:i}=e,a=MR({contextDepositRaw:e.context?.depositRaw,maxDeposit:e.maxDeposit,requestAmount:i.amount,suggestedDepositRaw:i.suggestedDepositRaw}),o=await oR(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 yz(n,{account:r.address,amountOut:a,client:i.client,tokenOut:i.token}),token:i.token});return await XR(t,{channelId:o.channelId,cumulativeAmount:i.amount,deposit:a,descriptor:o.descriptor,escrow:i.escrow,chainId:i.chainId,opened:!0}),o}async function xz(e,t){let{account:n,context:r,decimals:i,maxDeposit:a,resolved:o}=e,{descriptor:s}=r,c=await dz({channelId:r.channelId,client:o.client,descriptor:s,expected:{chainId:o.chainId,escrow:o.escrow,payee:o.payee,payer:n.address,authorizedSigner:QL(n),token:o.token}}),l=mz({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`);PR(l,a);let u=await iR(o.client,n,s,l,o.chainId,o.escrow);return await XR(t,{channelId:c.channelId,cumulativeAmount:l,deposit:c.state.deposit,descriptor:s,escrow:o.escrow,chainId:o.chainId,opened:!0}),u}async function Sz(e,t){let{account:n,entry:r,resolved:i}=e,a=r.cumulativeAmount+i.amount;PR(a,e.maxDeposit);let o=await iR(i.client,n,r.descriptor,a,i.chainId,i.escrow);return r.cumulativeAmount=a,await XR(t,r),o}async function Cz(e,t,n){let{account:r,context:i,decimals:a,resolved:o}=e,{descriptor:s}=i,c=ML({...s,chainId:o.chainId,escrow:o.escrow});fz({channelId:i.channelId,descriptor:s,expectedChannelId:c,payee:o.payee,payer:r.address,authorizedSigner:QL(r),token:o.token});let l=await wz({account:r,channelId:c,context:i,decimals:a,descriptor:s,resolved:o},n);return await ZR(t,o.key,l),l}async function wz(e,t){switch(e.context.action){case`open`:return Tz(e);case`topUp`:return Ez(e,t);case`voucher`:return Dz(e);case`close`:return Oz(e)}}async function Tz(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=rz(r,i,`cumulativeAmount`,`open`),c=await iR(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 Ez(e,t){let{account:n,channelId:r,context:i,decimals:a,descriptor:o,resolved:s}=e,c=rz(i,a,`additionalDeposit`,`topUp`);return i.transaction?{action:`topUp`,type:`transaction`,channelId:r,transaction:i.transaction,descriptor:o,additionalDeposit:c.toString()}:sR(s.client,n,o,c,s.chainId,s.feePayer,s.escrow,await yz(t,{account:n.address,amountOut:c,client:s.client,tokenOut:s.token}),s.feeToken)}function Dz(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return iR(a.client,t,i,rz(n,r,`cumulativeAmount`,`voucher`),a.chainId,a.escrow)}function Oz(e){let{account:t,context:n,decimals:r,descriptor:i,resolved:a}=e;return aR(a.client,t,i,rz(n,r,`cumulativeAmount`,`close`),a.chainId,a.escrow)}z();let kz={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};function Az(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=kz.CLOSED,r=null}if(a.type===`open`&&(i=kz.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 jz(e){return{acceptedCumulative:BigInt(e.acceptedCumulative),deposit:BigInt(e.deposit),requiredCumulative:BigInt(e.requiredCumulative)}}function Mz(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=jR(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 Nz(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:HR(s,u)}:i?{channel:u,state:zR({challengeId:i,entry:u,spent:c.toString(),units:a.status===`active`?a.units:0})}:{channel:u}}async function Pz(e){if(e.event.channelId!==e.expectedChannelId)return{status:`ignored`,reason:`channel-mismatch`};let t=jz(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:lL(t.requiredCumulative);return{status:`ready`,context:{action:`voucher`,channelId:e.expectedChannelId,descriptor:n.descriptor,cumulativeAmountRaw:r.toString()}}}function Fz(e){return e.method===mM.tempo&&e.intent===hM.session}function Iz(e){return Fz(e)&&vM(e.request.methodDetails,gM.sessionProtocol)===_M.v2}function Lz(e){return vM(e.request.methodDetails,gM.sessionSnapshot)}function Rz(e,t,n){let r=e instanceof Request?e.headers:void 0;return{...t,headers:{...AP(r),...AP(t?.headers),[Q.authorization]:n}}}function zz(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 Bz(e){let t=new URL(e.toString());return t.protocol===`ws:`&&(t.protocol=`http:`),t.protocol===`wss:`&&(t.protocol=`https:`),t}async function Vz(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 Hz(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 Uz({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?yL(i):void 0}async function Uz(e){let t=async t=>e.fetch(zz(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=WM(n).find(Iz);return r?t(r):n}async function Wz(e){let t=Gz({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,Rz(e.input,e.init,t))}catch(e){throw await l(),e}return!u.ok&&!u.headers.get(Q.paymentReceipt)&&await l(),u}function Gz(e){let t=WM(e.response).find(Iz);if(!t)return;let n=Lz(t);if(!n)return;let{channel:r}=e;if(!(!r?.descriptor||r.channelId!==n.channelId))return{channel:r,challenge:t,snapshot:n}}async function Kz(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=WM(i).find(Iz);t&&(e.setChallenge?.(t),i=await r(t,!0))}if(!i.ok){let e=await Vz(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=yL(a);if(!o.txHash||!Tp(o.txHash,{strict:!0})||L(o.txHash)!==32||!RR({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 qz(e,t,n){let{onReceipt:r,signal:i,...a}=t??{},o={...a,headers:{...AP(a.headers),Accept:`text/event-stream`},...i?{signal:i}:{}},s=await n.doFetch(e,o);return!bL(s)&&n.getChannel()?.opened&&(s=await n.doFetch(e,o)),Jz(e,s,{onReceipt:r,signal:i},n)}function Jz(e,t,n,r){if(!bL(t))throw Error(`SSE response is not an event stream.`);if(!t.body)throw Error(`Response has no body.`);let i=r.getChallenge();return Yz({onNeedVoucher:t=>eB({challenge:i,driver:r,input:e},t),onReceipt(e){r.acceptReceipt(e),n?.onReceipt?.(e)},response:t,signal:n?.signal})}async function*Yz(e){for await(let t of Xz(e))t.data!==void 0&&(yield t.data)}async function*Xz(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=Zz(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=xL(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 Zz(e,t){for(let n=0;n<e.length;n++){let r=Qz(e,n,t);if(!r)continue;let i=Qz(e,n+r,t);if(i)return{index:n,length:r+i};n+=r-1}}function Qz(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 $z(e){let t=new AbortController,n=()=>t.abort(e.signal?.reason);e.signal?.addEventListener(`abort`,n,{once:!0}),e.signal?.aborted&&n();let r=Xz({...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 eB(e,t){let n=e.driver.getChannel();if(!n||!e.challenge)return;let r=await Pz({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 Uz({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 tB(e){let t=new URL(e.input.toString()),n=Bz(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=WM(r).find(Iz);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 nB(e){let t=await tB(e);return{...t,credential:await e.createSessionCredential(t.challenge,{})}}function rB(e){let{challenge:t,credential:n,socket:r}=e;return{challenge:t,channelId:bN(n).payload.channelId,closeReadyReceipt:null,deliveredChunks:0n,expectedCloseAmount:null,socket:r,tickCost:gL(t)}}function iB(e){let{challengeId:t,channelId:n,receipt:r}=e;return r.challengeId===t&&r.channelId===n}function aB(e){if(!iB(e))return`received mismatched payment-close-ready frame`;let t=cL(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 oB(e){let{challengeId:t,channelId:n,expectedCloseAmount:r,receipt:i}=e;if(!iB(e))return`received mismatched payment-receipt frame`;if(r!==null&&i.txHash&&!RR({challengeId:t,channelId:n,expectedCloseAmount:r,minimumSpent:BigInt(r),receipt:i}))return`received mismatched payment-close receipt frame`}async function sB(e){let{challenge:t,credential:n,options:r,WebSocket:i,wsUrl:a}=e,o=new i(a,r?.protocols),s=rB({challenge:t,credential:n,socket:o});e.setSocketSession(s);let c=Az(o),l=t=>{e.rejectReceipt(Error(t)),e.rejectCloseReady(Error(t)),(o.readyState===kz.CONNECTING||o.readyState===kz.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 lB({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 cB(o,c.emit,a),o.send(CL(n)),await e.waitForReceipt(),c.socket}function cB(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 lB(e){let t=TL(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`:uB(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 dB(e,t.data);return;case`payment-receipt`:fB(e,t.data);return}}function uB(e,t){let n=e.driver.getChannel()?.cumulativeAmount??0n,r=aB({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 dB(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 Pz({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(CL(i))}catch(t){e.failSocketFlow(t instanceof Error?t.message:`failed to create websocket voucher`)}}function fB(e,t){let n=oB({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 pB=new WeakMap;async function mB(e,t){let n=pB.get(e)??new Map;pB.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 hB(e,t){try{return t?.channelId.toLowerCase()===e.channelId.toLowerCase()&&BigInt(t.acceptedCumulative)===e.cumulativeAmount}catch{return!1}}function gB(e,t,n){try{let r=e.response?.headers.get(Q.paymentReceipt);if(r){let e=yL(r);if(e.challengeId===t.id&&hB(n,e))return!0}}catch{}return e.challenges?.some(e=>Iz(e)?hB(n,Lz(e)):!1)??!1}function _B(e={}){let{account:t,allowCustomEscrow:n=!1,autoSwap:r,channelStore:i,decimals:a=6,escrow:o,allowedChainIds:s,getClient:c,maxDeposit:l,topUpAmount:u,onChannelUpdate:d,resolveAccount:f}=e,p=gF({chain:dO,getClient:c,rpcUrl:wF}),m=fF({account:t}),h=l===void 0?void 0:Ny(l,a),g=u===void 0?void 0:Ny(u,a),_=i??uR(),v={store:_,notifyUpdate:e=>d?.(e)},y=async(e,t,n)=>{let r=m(e.client,t),i=t?.action?t.descriptor:n?.descriptor??pz({context:t,snapshot:e.snapshot})?.descriptor;return await f?.({account:r,chainId:e.chainId,operation:{kind:`authorizePaymentChannel`,...i?{authority:jL(i)}:{}}})??r},b=async(e,t,n)=>_z({account:await y(e,t,n),entry:n,context:t,decimals:a,maxDeposit:h,resolved:e}),x=dF(RF,{canHandleChallenge:({challenge:e})=>Iz(e),context:$R,async createCredential(e){let{challenge:t,context:i}=e,a=await uz({allowCustomEscrow:n,challenge:t,escrowOverride:o,allowedChainIds:s,getClient:p}),c=SP(e),l=()=>{};try{let e=!ez(i)&&i?.descriptor===void 0;e&&(l=await mB(_,a.key),c&&(await _.get(a.key))?.opened&&await c.prepare());let n=await _.get(a.key),o=await b(a,i,n);if(!e&&c&&o.type===`open`){l=await mB(_,a.key);let e=await _.get(a.key);e?.channelId!==n?.channelId&&(n=e,n?.opened&&(await c.prepare(),n=await _.get(a.key)),o=await b(a,i,n))}let s,u=c&&o.type===`open`?{store:{get:e=>_.get(e),async set(e){s=e},delete:e=>_.delete(e)},notifyUpdate(){}}:v,d=await nR(t,await vz(o,u,vI(i?.autoSwap??r,gI)),a.chainId,o.account);if(c&&s){let e=s;c.settle=async n=>{let r=n.status===`accepted`||gB(n,t,e);if(!r&&n.status===`pending`)return!1;try{if(r){let t=await _.get(a.key);(!t?.opened||t.channelId.toLowerCase()!==e.channelId.toLowerCase())&&(await _.set(e),v.notifyUpdate(e))}return!0}finally{l()}}}else l();return d}catch(e){throw l(),e}}}),S=async({challenge:e,channel:t,deposit:n,fetch:r,input:i,requiredCumulative:a})=>{let o=t.deposit>n?t.deposit:n,s=NR({deposit:o,maxDeposit:h,requiredCumulative:a,suggestedDeposit:e.request.suggestedDeposit===void 0?void 0:BigInt(e.request.suggestedDeposit),topUpAmount:g});s>0n&&await Hz({additionalDeposit:s,challenge:e,channel:t,channelId:t.channelId,createSessionCredential:(e,t)=>x.createCredential({challenge:e,context:t}),fetch:r,input:i});let c=o+s;if(c===t.deposit)return;let l=await _.get(lR(t)),u=l?.channelId.toLowerCase()===t.channelId.toLowerCase()?l:t,d={...u,deposit:u.deposit>c?u.deposit:c};await _.set(d),v.notifyUpdate(d)};return mP(x,async({challenge:e,context:t,fetch:r,input:i})=>{if(!Iz(e))return;let a=t===void 0?void 0:$R.parse(t);if(ez(a))return;let c=await uz({allowCustomEscrow:n,challenge:e,escrowOverride:o,allowedChainIds:s,getClient:p}),l=await _.get(c.key);if(!l?.opened)return;let u=c.snapshot?.channelId.toLowerCase()===l.channelId.toLowerCase()?c.snapshot:void 0,d=l.cumulativeAmount+gL(e),f=u?BigInt(u.requiredCumulative):d,m=f>d?f:d,h=u?BigInt(u.deposit):l.deposit,g=h>l.deposit?h:l.deposit;m<=g&&g===l.deposit||!gz(await y(c,a,l),l.descriptor)||await S({challenge:e,channel:l,deposit:g,fetch:r,input:i,requiredCumulative:m})}),yP(x,async({challenge:e,credential:t,fetch:r,headers:i,input:a,refetch:c,response:l,signal:u})=>{if(!Iz(e))return l;if(!bL(l))return hL(bN(t).payload).action===`open`&&i.get(`accept`)?.toLowerCase().includes(`text/event-stream`)?await c?.()??l:l;let d=(await uz({allowCustomEscrow:n,challenge:e,escrowOverride:o,allowedChainIds:s,getClient:p})).key,f=await _.get(d),m={assertVoucherWithinLocalLimit:e=>PR(e,h),createSessionCredential:(e,t)=>x.createCredential({challenge:e,context:t}),fetch:r,getChannel:()=>f??null,async topUpIfNeeded({deposit:t,requiredCumulative:n}){f&&await S({challenge:e,channel:f,deposit:f.deposit>t?f.deposit:t,fetch:r,input:a,requiredCumulative:n})}};return $z({onNeedVoucher:t=>eB({challenge:e,driver:m,input:a},t),onReceipt(){},response:l,signal:u})})}let vB=new WeakMap;function yB(e,t){vB.set(e,t)}function bB(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 xB(e){let t=bB(`close-ready`),n=bB(`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 SB(e){return e.method===mM.tempo&&e.intent===hM.charge}function CB(e){if(!SB(e)||typeof e.request.amount!=`string`)return!1;try{return BigInt(e.request.amount)===0n}catch{return!1}}function wB(e,t,n){if(!n)return t;let r={...AP(e instanceof Request?e.headers:void 0),...AP(t?.headers)};return Object.keys(r).some(e=>e.toLowerCase()===Q.paymentSession.toLowerCase())?t:{...t,headers:{...r,[Q.paymentSession]:n}}}function TB(e,t){return e===void 0?t:{...$R.parse(e),...t}}function EB(e){let t=e.decimals??6,n=e.webSocket??globalThis.WebSocket;return{decimals:t,fetch:e.fetch??globalThis.fetch.bind(globalThis),maxVoucherCumulative:e.maxDeposit===void 0?null:Ny(e.maxDeposit,t),topUpAmount:e.topUpAmount===void 0?null:Ny(e.topUpAmount,t),WebSocket:n}}function DB(e){let t=e.client?.chain?.id;(t!==void 0||e.allowedChainIds?.length===0)&&vF(e.allowedChainIds,t);let n=e.allowCustomEscrow??!1,r=EB(e),i=gF({chain:dO,getClient:e.client?()=>e.client:e.getClient,rpcUrl:wF}),a=fF({account:e.account}),o=BR(),s=e.credentialContext===void 0?void 0:TB(e.credentialContext,{}),c=xB({getSocketSession:()=>o.socketSession}),l=e.channelStore??uR(),u=new Set,d;async function f(e){let t=await l.get(e);if(t?.opened&&!u.has(t.channelId))return t}let p={async get(e){let t=await f(e);return t&&d&&(d.seenExisting.add(e),!d.committed&&!d.created.has(e)&&(d.resumed??=t)),t},async set(e){let t=lR(e);e.opened&&u.delete(e.channelId),d?.trackCreates&&!d.seenExisting.has(t)&&d.created.set(t,e),await l.set(e)},delete:e=>l.delete(e)};async function m(e){let t=lR(e);u.add(e.channelId),d?.seenExisting.delete(t),d?.resumed===e&&(d.resumed=void 0),await Promise.resolve(l.delete(t)).catch(()=>void 0)}async function h(){let e=d;if(e?.created.size){for(let[t,n]of e.created)u.add(n.channelId),await Promise.resolve(l.delete(t)).catch(()=>void 0);e.created.clear(),await le(e.committed??e.previous)}}function g(e){let t=vM(e.request.methodDetails,gM.sessionSnapshot);if(typeof t?.channelId!=`string`)return!1;let n=d;if(!n?.created.size||!o.channel)return!1;for(let[e,r]of n.created)if(r.channelId.toLowerCase()===t.channelId.toLowerCase()&&o.channel.channelId.toLowerCase()===t.channelId.toLowerCase())return n.created.delete(e),n.committed=GR({channel:o.channel,spent:o.spent,state:o.state}),!0;return!1}function _(e){return CR(o,e)}function v(){let e=o.state.status===`active`?o.state:d?.committed?.state??d?.previous.state;return e?.status===`active`?e.units:0}function y(e){let t=d,n=t?.committed?.channel?.entry??t?.resumed;!t||n?.channelId.toLowerCase()!==e.channelId.toLowerCase()||e.deposit<=n.deposit||(t.resumed=void 0,t.committed=GR({channel:o.channel,spent:o.spent,state:o.state}))}let b=_B({account:e.account,allowCustomEscrow:n,autoSwap:e.autoSwap,getClient:e.client?()=>e.client:e.getClient,resolveAccount:e.resolveAccount,escrow:e.escrow,allowedChainIds:e.allowedChainIds,decimals:r.decimals,maxDeposit:e.maxDeposit,topUpAmount:e.topUpAmount,channelStore:p,onChannelUpdate(e){e.channelId!==o.channel?.channelId&&(o.spent=0n),o.channel=e,o.lastChallenge&&_({type:`activated`,challengeId:o.lastChallenge.id,entry:e,spent:o.spent.toString(),units:v()}),y(e)}});bP(b);let x=LI({allowedChainIds:e.allowedChainIds,account:e.account,getClient:e.client?()=>e.client:e.getClient}),S=OP({fetch:r.fetch,methods:[b],onChallenge:async(e,t)=>{if(!Fz(e))return;let n=d,r=n&&n.challengesReceived>0&&e.id===o.lastChallenge?.id,i=r&&FM(e)===FM(o.lastChallenge);n&&n.challengesReceived++,!i&&(g(e)||(n?.created.size?await h():r&&await le(n.committed??n.previous)),o.lastChallenge=e,_({type:`challengeReceived`,challengeId:e.id}))}});function C(e,t){return b.createCredential({challenge:e,context:TB(s,t)})}function w(e){VR({maxVoucherCumulative:r.maxVoucherCumulative,receipt:e,runtime:o})}function T(e=o.state.status===`active`?o.state.units:0){!o.channel||!o.lastChallenge||o.state.status!==`active`&&o.state.status!==`withdrawable`&&o.state.status!==`closeRequested`&&_({type:`activated`,challengeId:o.lastChallenge.id,entry:o.channel,spent:o.spent.toString(),units:e})}async function ee(t){let n=t.headers.get(Q.paymentSessionSnapshot);if(!n)return;let r=yR(n);vF(e.allowedChainIds,r.chainId);let s=await i({chainId:r.chainId});_F(s,r.chainId);let c=a(s),{entry:l,spent:u}=await hz({account:await e.resolveAccount?.({account:c,chainId:r.chainId,operation:{authority:jL(r.descriptor),kind:`authorizePaymentChannel`}})??c,client:s,snapshot:r});return E(l.cumulativeAmount),await Promise.resolve(p.set(l)).catch(()=>void 0),o.channel=l,o.spent=u,l}async function te(t,n){if(!e.bootstrap||o.channel?.opened)return;let i=t instanceof Request?t.headers:void 0,{body:a,method:s,...c}=n??{},l=t instanceof Request?t.url:t,u={...c,method:`HEAD`,headers:{...AP(i),...AP(n?.headers),[Q.acceptPayment]:`${mM.tempo}/${hM.charge}`}};try{let e=await r.fetch(l,u);if(e.status!==402)return await ee(e);let t=WM(e).find(SB);if(!t||!CB(t))return;let n=await x.createCredential({challenge:t,context:{}}),i=await r.fetch(l,{...u,headers:{...AP(u.headers),[Q.authorization]:n}});return i.ok?await ee(i):void 0}catch{return}}function ne(e,t){let n=o.socketSession;return UR({challengeId:e.id,channelId:t,closeReadyReceipt:n?.closeReadyReceipt,cumulativeAmount:o.channel?.channelId===t?o.channel.cumulativeAmount:0n,deliveredChunks:n?.deliveredChunks,socketChallengeId:n?.challenge.id,socketChannelId:n?.channelId,spent:o.spent,tickCost:n?.tickCost})}function re(e,t){let n=Lz(t);if(!n)return;if(ML({...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 ie(e,t){let n=re(e.channel,t);if(!n)return;let{acceptedCumulative:r,spent:i}=n;if(o.spent>r)throw Error(`close snapshot accepted cumulative is below locally confirmed spend`);return i>o.spent&&(o.spent=i),n}function ae(e,t=e.challenge,n=!1){let r=(n?ie(e,t):re(e.channel,t))?.acceptedCumulative??ne(t,e.channelId);if(r>e.channel.cumulativeAmount)throw Error(`fallback close amount exceeds local voucher state`);return E(r),r.toString()}function E(e){OR({cumulativeAmount:e,maxVoucherCumulative:r.maxVoucherCumulative})}async function oe(e){let{knownDeposit:t,...n}=e,i=await Hz({...n,channel:o.channel,createSessionCredential:C,fetch:r.fetch});w(i);let a=Nz({additionalDeposit:e.additionalDeposit,channel:o.channel,channelId:e.channelId,challengeId:o.lastChallenge?.id,currentState:o.state,knownDeposit:t,receipt:i,spent:o.spent});return a?.channel&&o.lastChallenge&&(await p.set(a.channel),_({type:`activated`,challengeId:o.lastChallenge.id,entry:a.channel,spent:o.spent.toString(),units:v()}),y(a.channel)),i}async function se(e){let t=o.channel?.channelId===e.channelId?o.channel.deposit:0n,n=t>e.deposit?t:e.deposit,i=NR({deposit:n,maxDeposit:r.maxVoucherCumulative,requiredCumulative:e.requiredCumulative,suggestedDeposit:e.challenge.request.suggestedDeposit===void 0?void 0:BigInt(e.challenge.request.suggestedDeposit),topUpAmount:r.topUpAmount});i!==0n&&await oe({challenge:e.challenge,input:e.input,channelId:e.channelId,additionalDeposit:i,knownDeposit:n})}async function ce(e,t){let n=WR({channel:o.channel,channelId:e,challengeId:o.lastChallenge?.id,cumulativeAmount:t,spent:o.spent,state:o.state});n&&o.channel&&(_({type:`activated`,challengeId:n.challengeId,entry:o.channel,spent:n.spent,units:n.units}),await l.set(o.channel))}async function le(e){let t=KR(e,o.channel);o.channel=t.channel,o.spent=t.spent,o.state=t.state,o.channel?.opened&&await l.set(o.channel)}function ue(e){let t=e.headers.get(Q.paymentReceipt),n=t?yL(t):null;return w(n),Object.assign(e,{receipt:n,challenge:o.lastChallenge,channelId:o.channel?.channelId??null,cumulative:o.channel?.cumulativeAmount??0n})}async function de(e,t){if(d)throw Error(`SessionManager: a request is already in flight; concurrent requests on one manager are not supported`);o.lastUrl=e;let n=GR({channel:o.channel,spent:o.spent,state:o.state}),i={challengesReceived:0,committed:void 0,created:new Map,previous:n,seenExisting:new Set,resumed:void 0,trackCreates:!1};d=i;try{await te(e,t),i.trackCreates=!0;let a=wB(e,t,o.channel?.opened?o.channel.channelId:void 0);s&&(a={...a,context:s});let c=!n.channel?.opened;async function l(){let n=i.resumed;return!c||!n?!1:(c=!1,await m(n),a=wB(e,t,void 0),!0)}for(;;){let t;try{t=await S(e,a)}catch(e){if(i.created.size?await h():await le(i.committed??n),await l())continue;throw e}let s=ue(t),c=!1;if(s.status===402){let t=await Wz({input:e,init:a,response:s,createSessionCredential:C,fetch:r.fetch,getChannel:()=>o.channel,restoreCumulative:ce,setChallenge(e){o.lastChallenge=e},topUpIfNeeded:se});t&&(c=!0,s=ue(t))}if(!c&&!s.ok&&!s.receipt){if(i.created.size?await h():await le(i.committed??n),await l())continue;return s}return s}}finally{d=void 0}}async function fe(e){let t=await Kz({createSessionCredential:C,fetch:r.fetch,getMinimumSpent:()=>o.spent,lastUrl:o.lastUrl,resolveSignedCloseAmount:t=>ae(e,t,!0),signedCloseAmount:ae(e),setChallenge(e){o.lastChallenge=e},target:e});return t&&(T(),_({type:`closeStarted`}),_({type:`closed`,receipt:t})),t}let pe={createSessionCredential:C,doFetch:de,fetch:r.fetch,getChannel:()=>o.channel,getChallenge:()=>o.lastChallenge,assertVoucherWithinLocalLimit:E,acceptReceipt(e){w(e)},topUpIfNeeded:se},me={get channelId(){return o.channel?.channelId},get cumulative(){return o.channel?.cumulativeAmount??0n},get opened(){return o.channel?.opened??!1},get state(){return o.state},fetch:de,async topUp(e){let t=Mz({amount:e,assertVoucherWithinLocalLimit:E,channel:o.channel,decimals:r.decimals,lastChallenge:o.lastChallenge,lastUrl:o.lastUrl});return oe({additionalDeposit:t.additionalDeposit,challenge:t.challenge,channelId:t.channelId,input:t.input})},async sse(e,t){return qz(e,t,pe)},async ws(e,t){if(!r.WebSocket)throw Error(\"No WebSocket implementation available. Pass `webSocket` to sessionManager() in this runtime.\");let n=Bz(e),i=t?.signal?{signal:t.signal}:void 0;await te(n,i);let a=o.channel?.opened?o.channel.channelId:void 0,{challenge:s,credential:l,httpUrl:u,wsUrl:d}=await nB({async createSessionCredential(e,t){return o.lastChallenge=e,await gP(b,{challenge:e,context:t,fetch:r.fetch,input:n}),C(e,t)},fetch:r.fetch,input:e,onProbeUrl(e){o.lastUrl=e.toString()},probeInit:wB(n,i,a),signal:t?.signal});return o.lastChallenge=s,sB({challenge:s,credential:l,httpUrl:u,WebSocket:r.WebSocket,wsUrl:d,options:t,createSessionCredential:C,getChannel:()=>o.channel,setSocketSession(e){o.socketSession=e},async refreshChallenge(){let e=await tB({fetch:r.fetch,input:u,probeInit:wB(u,i,o.channel?.opened?o.channel.channelId:void 0),signal:t?.signal});return o.lastChallenge=e.challenge,e.challenge},assertVoucherWithinLocalLimit:E,acceptReceipt:w,rejectCloseReady:c.rejectCloseReady,rejectReceipt:c.rejectReceipt,settleCloseReady:c.settleCloseReady,settleReceipt:c.settleReceipt,topUpIfNeeded:se,waitForReceipt:c.waitForReceipt})},async close(){let e=o.socketSession,t=FR({channel:o.channel,currentSocket:e,lastChallenge:o.lastChallenge});if(!t)return;let n=e?.socket;if(e&&n?.readyState===kz.OPEN){let r=await qR({activeSocket:n,createSessionCredential:C,currentSocket:e,spent:o.spent,target:t,waitForCloseReady:c.waitForCloseReady,waitForReceipt:c.waitForReceipt});return T(),_({type:`closeStarted`}),_({type:`closed`,receipt:r}),r}return fe(t)}};return yB(me,{consumeSseResponse(e,t,n){return Jz(e,t,n,pe)},rehydrate({channel:e,challenge:t,input:n,spent:r}){if(!e.opened)throw Error(`Cannot restore a closed session channel.`);if(!Fz(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.`);E(e.cumulativeAmount);let i=re(e,t),a=i&&i.spent>r?i.spent:r;o.lastUrl=n,o.lastChallenge=t,o.channel=e,o.spent=a,_({type:`challengeReceived`,challengeId:t.id}),_({type:`activated`,challengeId:t.id,entry:e,spent:a.toString(),units:0})}}),me}(function(e){e.serializeSnapshot=vR,e.deserializeSnapshot=yR})(DB||={});let OB=Object.assign(_B,{manager:DB}),kB=Object.assign(kL,{method:aL});function AB(e={}){return[LI(e),OB(e)]}(function(e){e.charge=LI,e.common=AB,e.session=OB,e.sessionLegacy=kB,e.subscription=cI})(AB||={});function jB(){let e=new Uint8Array(64);return crypto.getRandomValues(e),Object.freeze({created:Math.floor(Date.now()/1e3),nonce:dx(e,{pad:!1,url:!0})})}function MB(...e){return{protocol:`composed`,async sign(t,n=jB()){for(let r of e)t=await r.sign(t,n);return t}}}function NB(e,t){return async(n,r)=>e(await t.sign(new Request(n,r)))}let PB=new WeakMap;function FB(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=fP()}=e,c=QP(e.fetch??globalThis.fetch),l=t?IB(t):void 0,u=l?NB(c,l):c,d=e.methods.flat(),f=tN(d,e.paymentPreferences),p=jP(),m=r,h={acceptPayment:f,acceptPaymentPolicy:o,...(e.fetch||t)&&{fetch:u},eventDispatcher:p,...n!==void 0&&{maxPaymentRetries:n},...m&&{onChallenge:m},...i&&{orderChallenges:i},methods:d,transport:s},g=OP(h);a&&kP(h);function _(e){return p.on(`challenge.received`,e)}function v(e){return p.on(`credential.created`,e)}function y(e){return p.on(`payment.failed`,e)}function b(e){return p.on(`payment.response`,e)}async function x(e,t){let n=XB(e),r=await s.getChallenges(e,t?.request),a=Object.freeze(r.map(e=>ZB(e))),o=eV(f.entries,t?.acceptPayment),c,l;try{let e=(await tV(iN(r,d,o),t?.orderChallenges??i))[0];if(!e)throw Error(`No method found for challenges: ${r.map(e=>`${e.method}.${e.intent}`).join(`, `)}. Available: ${d.map(e=>`${e.name}.${e.intent}`).join(`, `)}`);let u=e.challenge;c=a[e.index],l=e.method,c.expires&&SM(c.expires,c.id);let f=c,m=l,h=GB(async e=>{try{f.expires&&SM(f.expires,f.id);let t=GB(t=>nV(f,m,t??e)),i=await p.emit(`challenge.received`,KB({challenge:f,challenges:r,createCredential:t,method:m,response:n}))??await t();return tF(i),await p.emit(`credential.created`,qB({challenge:f,credential:i,method:m,response:n})),i}catch(e){throw await p.emit(`payment.failed`,JB({challenge:f,challenges:r,error:e,method:m,response:n})),e}}),g=Object.freeze({challenge:f,challenges:a,createCredential:h,method:YB(m),setCredential(e,t){return tF(t),s.setCredential(e,t,{challenge:u})}});return PB.set(g,m),g}catch(e){throw await p.emit(`payment.failed`,JB({challenge:c,challenges:r,error:e,method:l,response:n})),e}}async function S(e,t,n){let{maxRedirects:r=20,requirePayment:i=!1,...a}=n??{},d=await BB({acceptPayment:f.header,acceptPaymentPolicy:o,fetch:c,init:t,input:e,maxRedirects:r,signer:l}),p=VB(d.replayRequest,d.body);if(!await s.isPaymentRequired(d.response,p)){if(i)throw Error(`Response does not require payment.`);return Object.freeze({payment:void 0,request:d.request,response:d.response,redirects:d.redirects})}let m=await x(d.response,{...a,request:p}),h=PB.get(m)??m.method,g=GB(async e=>(hP(h)&&await gP(h,{challenge:m.challenge,context:e,fetch:u,input:d.replayRequest}),m.createCredential(e))),_=Object.freeze({...m,createCredential:g,async pay(e){let t=await g(e),n=m.setCredential(VB(d.replayRequest,d.body),t);return u(d.replayRequest.url,{...n,redirect:`manual`})}});return Object.freeze({payment:_,request:d.request,response:d.response,redirects:d.redirects})}return{fetch:g,rawFetch:c,methods:d,transport:s,on:p.on,onChallengeReceived:_,onCredentialCreated:v,onPaymentFailed:y,onPaymentResponse:b,preparePayment:x,prepareRequest:S,async createCredential(e,t,n){return(await x(e,n)).createCredential(t)}}}function IB(e){let t=Object.values(e);if(t.length===0)throw TypeError(`Mppx client attestation must configure at least one signer.`);return MB(...t)}let LB=new Set([301,302,303,307,308]),RB=[`content-encoding`,`content-language`,`content-length`,`content-location`,`content-type`,`transfer-encoding`],zB=[`authorization`,`cookie`,`cookie2`,`host`,`payment-authorization`,`payment-signature`,`proxy-authorization`,`x-payment`];async function BB(e){let{acceptPayment:t,acceptPaymentPolicy:n,fetch:r,init:i,input:a,maxRedirects:o,signer:s}=e;if(!Number.isInteger(o)||o<0)throw TypeError(`maxRedirects must be a non-negative integer.`);let c=new Request(a,{...i,redirect:`manual`}),l=c.headers.has(Q.acceptPayment),u=await HB(c,i?.body),d=[];for(;;){c=UB(c,t,l,n);let e=s?await s.sign(c.clone()):c.clone(),i=await r(e);if(i.type===`opaqueredirect`||i.status===0)throw Error(`prepareRequest requires a runtime that exposes manual redirect responses.`);if(!LB.has(i.status))return{body:u,replayRequest:c,request:e,response:i,redirects:Object.freeze(d)};let a=i.headers.get(`location`);if(!a)return{body:u,replayRequest:c,request:e,response:i,redirects:Object.freeze(d)};if(d.length>=o)throw await i.body?.cancel(),Error(`Payment request exceeded ${o} redirects.`);let f=new URL(c.url),p=new URL(a,f);if(f.protocol===`https:`&&p.protocol!==`https:`)throw await i.body?.cancel(),Error(`Payment request refused HTTPS downgrade redirect to ${p.href}`);let m=new Headers(c.headers),h=c.method;if((i.status===301||i.status===302)&&h===`POST`||i.status===303&&h!==`GET`&&h!==`HEAD`){h=`GET`,u=void 0;for(let e of RB)m.delete(e)}if(f.origin!==p.origin)for(let e of[...m.keys()]){let t=m.get(e)??``;(zB.includes(e)||t.startsWith(`Payment `))&&m.delete(e)}d.push(Object.freeze({from:f.href,status:i.status,to:p.href})),await i.body?.cancel(),c=new Request(p,WB(c,m,h,u))}}function VB(e,t){return WB(e,new Headers(e.headers),e.method,t)}async function HB(e,t){if(typeof t==`string`)return t;if(!e.body)return;let n=e.headers.get(`accept`)?.toLowerCase()??``;return e.headers.has(`mcp-method`)||n.includes(`application/json`)&&n.includes(`text/event-stream`)?e.clone().text():e.clone().arrayBuffer()}function UB(e,t,n,r){if(n)return e;let i=new Headers(e.headers);return i.delete(Q.acceptPayment),t&&aF(e,r)&&i.set(Q.acceptPayment,t),new Request(e,{headers:i})}function WB(e,t,n,r){return{...r?{body:r}:{},cache:e.cache,credentials:e.credentials,headers:t,integrity:e.integrity,keepalive:e.keepalive,method:n,mode:e.mode,redirect:`manual`,referrer:e.referrer,referrerPolicy:e.referrerPolicy,signal:e.signal}}function GB(e){let t;return n=>(t??=e(n),t)}function KB(e){return Object.freeze({challenge:ZB(e.challenge),challenges:e.challenges.map(e=>ZB(e)),createCredential:e.createCredential,method:YB(e.method),response:XB(e.response)})}function qB(e){return Object.freeze({challenge:ZB(e.challenge),credential:e.credential,method:YB(e.method),response:XB(e.response)})}function JB(e){return Object.freeze({...e.challenge?{challenge:ZB(e.challenge)}:{},...e.challenges?{challenges:e.challenges.map(e=>ZB(e))}:{},error:e.error,...e.method?{method:YB(e.method)}:{},response:XB(e.response)})}function YB(e){return $B(Object.assign({},e))}function XB(e){if(e instanceof Response)try{return e.clone()}catch{return new Response(null,{headers:e.headers,status:e.status,statusText:e.statusText})}return ZB(e)}function ZB(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 QB(t)}catch{return $B(e)}}function QB(e){if(!e||typeof e!=`object`||Object.isFrozen(e))return e;Object.freeze(e);for(let t of Object.values(e))QB(t);return e}function $B(e){return!e||typeof e!=`object`||Object.isFrozen(e)||Object.freeze(e),e}function eV(e,t){return t?typeof t==`string`?nN(t):t:e}async function tV(e,t){return t?t(e):e}async function nV(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})}A();let rV={missing:`missing`,pending:`pending`,published:`published`,expired:`expired`},iV=new Set([`KeyAlreadyRevoked`,`KeyNotFound`]);function aV(e){return{add:t=>mV({...t,store:e}),authorize:t=>sV({...t,store:e}),clear:()=>vV({store:e}),get:t=>fV({...t,store:e}),prepareAuthorization:t=>oV({...t,keystores:e.keystores}),getStatus:t=>uV({...t,store:e}),list:t=>PV({...t,store:e}),remove:t=>_V({...t,store:e}),select:t=>dV({...t,store:e}),updateAuthorization:t=>gV({...t,store:e})}}async function oV(e){let{address:t,chainId:n,expiry:r,keystores:i,keyType:a,limits:o,privateKey:s,publicKey:c,scopes:l,witness:u}=e;if(s){let e=a??`secp256k1`;return{keyAuthorization:sw({address:(()=>{switch(e){case`secp256k1`:return xE(s);case`p256`:return bE(s);case`webAuthn`:throw new aS({message:'`privateKey` cannot be used with `keyType: \"webAuthn\"`.'})}})().address,chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:e,...u?{witness:u}:{}}),privateKey:s}}if(t||c)return{keyAuthorization:sw({address:t??R_(w_(c)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:a??`secp256k1`,...u?{witness:u}:{}})};let d=i??kO,f=a??`p256`,p=f===`webAuthn`?void 0:d[f];if(!p)throw new aS({message:`\\`keyType: \"${f}\"\\` requires externally generated key material; provide \\`publicKey\\` or \\`address\\`.`});let m=await p.createKey(),h=sw({address:R_(E_(m.publicKey)),chainId:BigInt(n),expiry:r,limits:o,scopes:l,type:f,...u?{witness:u}:{}});return{key:{handle:m.handle,publicKey:m.publicKey},keyAuthorization:h}}async function sV(e){let{account:t,chainId:n,parameters:r}=e,{store:i}=e,a=await oV({...r,chainId:r.chainId??n,keystores:i.keystores}),o=uw(a.keyAuthorization),s=await t.sign({hash:o}),c=sw(a.keyAuthorization,{signature:bC(s)});return mV({account:t.address,authorization:c,...a.key?{handle:a.key.handle,publicKey:a.key.publicKey}:{},...a.privateKey?{privateKey:a.privateKey}:{},store:i}),mw(c)}async function cV(e){let{account:t,calls:n,chainId:r,parameters:i,store:a}=e,o=e.now??Date.now()/1e3,s=PV({account:t,chainId:r,store:a});for(let e of s)if(!MV(e.expiry,o)&&SV(e,i)&&!(n&&!bV(e,{calls:n}))&&await jV(e,a))return!0;return!1}function lV(e){return xV(e.parameters.scopes,{calls:e.calls})}async function uV(e){let{accessKey:t,account:n,calls:r,chainId:i,client:a}=e,{store:o}=e,s=e.now??Date.now()/1e3,c=PV({account:n,accessKey:t,chainId:i,store:o}).find(e=>bV(e,{calls:r}));if(c){if(MV(c.expiry,s))return rV.expired;if(c.keyAuthorization){let e=await NV(a,{accessKey:c.address,account:n,now:s});return e===rV.published&&hV({accessKey:c.address,account:n,chainId:i,store:o}),e===rV.published?rV.published:rV.pending}return await NV(a,{accessKey:c.address,account:n,now:s})}return t?await NV(a,{accessKey:t,account:n,now:s}):rV.missing}async function dV(e){let{account:t,calls:n,chainId:r,store:i}=e,a=e.now??Date.now()/1e3,o=PV({account:t,chainId:r,store:i});for(let e of o){if(!bV(e,{calls:n}))continue;if(MV(e.expiry,a)){await _V({accessKey:e.address,account:e.access,chainId:e.chainId,store:i});continue}let t=await jV(e,i);if(t)return t}}async function fV(e){let{accessKey:t,account:n,calls:r,chainId:i}=e,{store:a}=e,o=e.now??Date.now()/1e3,s=PV({account:n,accessKey:t,chainId:i,store:a})[0];if(s&&!(`calls`in e&&!bV(s,{calls:r}))){if(MV(s.expiry,o)){await _V({accessKey:s.address,account:s.access,chainId:s.chainId,store:a});return}return await jV(s,a)}}function pV(e){return yO({source:{get(t){return PV({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})[0]?.keyAuthorization},remove(t){hV({account:t.address,accessKey:t.accessKey,chainId:t.chainId,store:e})},set(t,n){gV({account:t.address,accessKey:t.accessKey,authorization:n,chainId:t.chainId,store:e})}}})}function mV(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=>!IV(e,{account:u.access,accessKey:u.address,chainId:u.chainId}))]})),u}function hV(e){let{store:t,...n}=e;FV({...n,patch:{keyAuthorization:void 0},store:t})}function gV(e){let{authorization:t,store:n,...r}=e;FV({...r,patch:{expiry:t.expiry??void 0,keyAuthorization:t,limits:t.limits,scopes:t.scopes},store:n})}function _V(e){let{store:t,...n}=e;t.state.setState(e=>({accessKeys:e.accessKeys.filter(e=>!IV(e,n))}))}function vV(e){let{store:t}=e;t.state.setState({accessKeys:[]})}function yV(e){return e instanceof k&&e.walk(e=>{let t=e.data?.errorName;return!!t&&iV.has(t)})?!0:e instanceof Error&&iV.has(CO(e).errorName)}function bV(e,t){return xV(e.scopes,t)}function xV(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(!kV(e)||e.address.toLowerCase()!==n)return!1;let i=e.selector;if(!i)return!e.recipients||e.recipients.length===0;let a=EV(i);if(!a||r!==a)return!1;if(!e.recipients||e.recipients.length===0)return!0;if(!t.data||t.data.length<74)return!1;let o=`0x${t.data.slice(34,74)}`;return B_(o)?e.recipients.some(e=>e.toLowerCase()===o.toLowerCase()):!1})})}function SV(e,t){return!(!CV(e.scopes,t.scopes)||typeof t.reuse?.minExpiry==`number`&&e.expiry&&e.expiry<t.reuse.minExpiry||!OV(e.limits,t.reuse?.minLimits))}function CV(e,t){return!t||!e||t.every(t=>e.some(e=>wV(e,t)))}function wV(e,t){return!kV(e)||!kV(t)||e.address.toLowerCase()!==t.address.toLowerCase()||!TV(e.selector,t.selector)?!1:DV(e.recipients,t.recipients)}function TV(e,t){if(!e)return!0;if(!t)return!1;let n=EV(e),r=EV(t);return!!n&&n===r}function EV(e){try{return(e.startsWith(`0x`)&&e.length===10?e:qy(e)).toLowerCase()}catch{return}}function DV(e,t){return!e||e.length===0?!0:!t||t.length===0?!1:t.every(t=>e.some(e=>e.toLowerCase()===t.toLowerCase()))}function OV(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 kV(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.address!=`string`||!B_(t.address)||t.selector!==void 0&&typeof t.selector!=`string`||t.recipients!==void 0&&(!Array.isArray(t.recipients)||t.recipients.some(e=>typeof e!=`string`)||t.recipients.some(e=>!B_(e))))}let AV=new WeakMap;async function jV(e,t){let n=pV(t);if(`keyPair`in e&&e.keyPair)return EE(e.keyPair,{access:e.access,keyAuthorizationManager:n});if(`privateKey`in e&&e.privateKey)switch(e.keyType){case`secp256k1`:return xE(e.privateKey,{access:e.access,keyAuthorizationManager:n});case`p256`:return bE(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=AV.get(e);i||(i=(async()=>await r.toAccount({handle:e.handle,keyType:e.keyType,publicKey:e.publicKey},{access:e.access,keyAuthorizationManager:n}))(),AV.set(e,i));try{return await i}catch(n){AV.delete(e),OO(n)&&_V({accessKey:e.address,account:e.access,chainId:e.chainId,store:t});return}}}function MV(e,t){return typeof e==`number`&&e<t}async function NV(e,t){let{accessKey:n,account:r,now:i}=t;try{let t=await $E(e,{account:r,accessKey:n});return t.address.toLowerCase()!==n.toLowerCase()||t.isRevoked?rV.missing:t.expiry>0n&&t.expiry<BigInt(Math.floor(i))?rV.expired:rV.published}catch(e){if(yV(e))return rV.missing;throw e}}function PV(e){let{store:t,...n}=e;return t.state.getState().accessKeys.filter(e=>IV(e,n))}function FV(e){let{patch:t,store:n,...r}=e;n.state.setState(e=>({accessKeys:e.accessKeys.map(e=>{if(!IV(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 IV(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 LV(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 RV(e){let{address:t,signable:n=!1,store:r}=e,{accounts:i,activeAccount:a}=r.getState(),o=i[a]?.address,s=t?i.find(e=>e.address.toLowerCase()===t.toLowerCase()):i.find(e=>o&&e.address.toLowerCase()===o.toLowerCase());if(!s)throw t?new uS({message:`Account \"${t}\" not found.`}):new fS({message:`No active account.`});return zV(s,{signable:n})}function zV(e,t={}){let{signable:n=!1}=t;if(!n)return{address:e.address,type:`json-rpc`,...e.keyType?{keyType:e.keyType}:{}};if(`sign`in e&&typeof e.sign==`function`)return e;if(!e.keyType)throw new uS({message:`Account \"${e.address}\" cannot sign.`});switch(e.keyType){case`secp256k1`:return xE(e.privateKey);case`p256`:return bE(e.privateKey);case`webCrypto`:return EE(e.keyPair);case`webAuthn`:return TE(e.credential,{rpId:e.credential.rpId});case`webAuthn_headless`:return yE(e.privateKey,{rpId:e.rpId,origin:e.origin});default:throw new uS({message:`Unknown key type.`})}}let BV=new Map;function VV(e,t){let n=WV(e),r=Symbol();n.attachments.add(r);let i=t.dialog({host:t.host,onReject:t=>KV(e,t),onResponse:t=>qV(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 JV(e),()=>{n.attachments.delete(r),GV(e)}}function HV(e,t){let n=WV(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}),JV(e)})}function UV(e){return new URL(e).host}function WV(e){let t=UV(e),n=BV.get(t);if(n)return n;let r={attachments:new Set,dialog:void 0,ids:ES(),requestQueue:[],synced:!1};return BV.set(t,r),r}function GV(e){let t=WV(e);t.attachments.size>0||t.requestQueue.length>0||(t.dialog?.destroy(),t.dialog=void 0,t.synced=!1)}function KV(e,t){if(t.length===0)return;let n=WV(e),r=new Set(t),i=n.requestQueue.filter(e=>r.has(e.request.id));if(i.length!==0){n.requestQueue=n.requestQueue.filter(e=>!r.has(e.request.id));for(let e of i)e.reject(new lS);JV(e,{force:!0})}}function qV(e,t){let n=WV(e),r=n.requestQueue.find(e=>e.request.id===t.id);r&&(n.requestQueue=n.requestQueue.filter(e=>e.request.id!==t.id),t.error?r.reject(wS(t.error)):r.resolve(t.result),JV(e,{force:!0}))}function JV(e,t={}){let n=WV(e),r=n.dialog;if(!r)return;let i=n.requestQueue;if(i.length===0){n.synced&&r.close(),n.synced=!1,GV(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:[YV(a)]}))}function YV(e){return{request:e.request,status:e.status}}z();function XV(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=VV(n,{dialog:t,host:n,store:r,theme:o});function a(){let{accounts:e,activeAccount:t}=r.getState(),n=e[t];if(n)return{address:n.address}}let s=CS({async request(e){return e.method===`eth_chainId`?F(r.getState().chainId):HV(n,{account:a(),chainId:r.getState().chainId,request:e})}},{schema:lM});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:[hk(tM.parameters,e)]})},async swap(e,t){return await s.request(t)},async depositZone(e,t){return await s.request({...t,params:[hk(oM.parameters,e)]})},async withdrawZone(e,t){return await s.request({...t,params:[hk(sM.parameters,e)]})},async disconnect(){r.disconnect()}},getAccount(t={}){return{account:{address:e({address:t.address,signable:!1}).address,type:`json-rpc`},transport:Qb(s)}}}})}let ZV=new Map,QV=new WeakMap;function $V(e,t){let{chains:n,feePayer:r,provider:i,store:a,transports:o}=t,s=(()=>{if(r!==!1){if(typeof r==`string`)return nH(r);if(r?.url)return nH(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 ZV;let e=QV.get(d);return e||(e=new Map,QV.set(d,e)),e})(),p=f.get(u);if(!p){let t=n.find(e=>e.id===l)??n[0],r=o?.[l]??rx(),a=i?eH(i,r,e===void 0?void 0:t.id):r;p=kh({chain:t,transport:s?rH(a,s,c):a,pollingInterval:1e3}),f.set(u,p)}return p}function eH(e,t,n){return r=>{let i=t(r);return{...i,async request({method:t,params:r}){if(n!==void 0&&!tH(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 tH(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 nH(e){return e.startsWith(`http://`)||e.startsWith(`https://`)?e:typeof window<`u`?new URL(e,window.location.origin).href:e}function rH(e,t,n){return r=>{let i=e(r),a=rx(t)(r);return{...i,async request({method:e,params:t}){let r=t;if(n===`fee-payer-first`&&e===`eth_fillTransaction`){let t=r?.[0];if(t&&typeof t==`object`&&`feePayer`in t&&(t.feePayer===!0||typeof t.feePayer==`string`))return a.request({method:e,params:[{...t,feePayer:!0}]})}if(e===`eth_sendRawTransaction`||e===`eth_sendRawTransactionSync`){let t=r?.[0];if(typeof t==`string`&&(t.startsWith(`0x76`)||t.startsWith(`0x78`))){let n=mE(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 iH=new Set([`InvalidSignature`,`InvalidSignatureFormat`,`InvalidSignatureType`,`KeyAlreadyRevoked`,`KeyExpired`,`KeyNotFound`,`SignatureTypeMismatch`]);async function aH(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 oH({account:o,address:t,chainId:r,client:i,store:a})}function oH(e){let{account:t,address:n,chainId:r,client:i,store:a}=e;return{async fill(e){try{let n=await $d(i,{account:t,...e,parameters:[],type:`tempo`});return await cH(i,n)}catch(e){throw lH(e,{account:t,address:n,chainId:r,store:a}),e}},async prepare(e){try{let o=await $d(i,{account:t,...e,type:`tempo`});return sH({account:t,address:n,chainId:r,client:i,request:o,store:a})}catch(e){throw lH(e,{account:t,address:n,chainId:r,store:a}),e}}}}function sH(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 lH(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 lH(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 lH(e,{account:t,address:n,chainId:r,store:o}),e}}}}async function cH(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 lH(e,t){uH(e)&&t.store.accessKeys.remove({accessKey:t.account.accessKeyAddress,account:t.address,chainId:t.chainId})}function uH(e){if(!(e instanceof Error))return!1;let t=CO(e);if(iH.has(t.errorName))return!0;let n=dH(e);return[...iH].some(e=>n.includes(e))}function dH(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:``,dH(r)].join(`\n`)}rf();function fH(e){if(typeof e==`string`&&B_(e))return e}function pH(e,t){return nf(e,t)}function mH(e){return nf(e,`0x0000000000000000000000000000000000000000`)}function hH(e,{enabled:t=!0,id:n}){if(!t||!n)return e();if(hH.cache.get(n))return hH.cache.get(n);let r=e().finally(()=>hH.cache.delete(n));return hH.cache.set(n,r),r}hH.cache=new Map;function gH(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function _H(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=gH(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 vH;function yH(){return vH||=_H(`keyval-store`,`keyval`),vH}function bH(e,t=yH()){return t(`readonly`,t=>gH(t.get(e)))}function xH(e,t,n=yH()){return n(`readwrite`,n=>(n.put(t,e),gH(n.transaction)))}function SH(e,t=yH()){return t(`readwrite`,t=>(t.delete(e),gH(t.transaction)))}let CH=Symbol.for(`accounts.storage.supportsStructuredClone`);function wH(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 TH(e)?EH(r):r}function TH(e){return e[CH]===!0}function EH(e){return Object.assign(e,{[CH]:!0})}function DH(e={}){let t=typeof indexedDB<`u`?_H(`tempo`,`store`):void 0;return EH(wH({async getItem(e){let n=await bH(e,t);return n===null?null:n},async setItem(e,n){await xH(e,n,t)},async removeItem(e){await SH(e,t)}},e))}function OH(e={}){let t=new Map;return EH(wH({getItem(e){return t.get(e)??null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)}},e))}let kH=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 AH(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 jH=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return jH(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return jH(t)(e)}}}},MH=(e,t)=>(n,r,i)=>{let a={storage:AH(()=>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 jH(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},NH=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},PH=(e=>e?NH(e):NH),FH=Symbol.for(`accounts.storage.supportsStructuredClone`);function IH(e){let{chainId:t,keystores:n=kO,maxAccounts:r,persistCredentials:i=!0,schema:a,storage:o=typeof window<`u`?DH({key:`tempo`}):OH({key:`tempo`})}=e,s=PH(kH(MH(()=>({accessKeys:[],accounts:[],activeAccount:0,chainId:t}),{merge:(e,t)=>RH(e,t,{schema:a}),name:`store`,partialize:e=>LH(e,{keystores:n,maxAccounts:r,persistCredentials:i,structuredClone:UH(o)}),storage:o,version:0}))),c=s;return c.accessKeys=aV({keystores:n,state:s}),c.disconnect=()=>s.setState({accessKeys:[],accounts:[],activeAccount:0,auth:void 0}),c}function LH(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=>VH(e,{keystores:n,structuredClone:a}))}:{},...e.auth?{auth:e.auth}:{},chainId:e.chainId}}function RH(e,t,n={}){let r=e&&typeof e==`object`?e:{},i=(Array.isArray(r.accounts)?r.accounts.filter(BH):void 0)?.map(e=>t.accounts.find(t=>t.address.toLowerCase()===e.address.toLowerCase())??e)??t.accounts,a=n.schema?i.filter(e=>pk(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:zH(r.accessKeys)??t.accessKeys,chainId:r.chainId??t.chainId}}function zH(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 BH(e){return!e||typeof e!=`object`?!1:typeof e.address==`string`}function VH(e,t){if(t.structuredClone)return e;let{keyPair:n,...r}=e;if(`handle`in r&&HH(t.keystores,r.keyType)){let{handle:e,...t}=r;return t}return r}function HH(e,t){return t!==`p256`&&t!==`secp256k1`?!1:e?.[t]?.requiresStructuredClone===!0}function UH(e){return e[FH]===!0}async function WH(e){e.persist.hasHydrated()||await new Promise(t=>{e.persist.onFinishHydration(()=>t()),setTimeout(()=>t(),100)})}let GH=new Map;async function KH(e){let{chainId:t,baseUrl:n=`https://tokenlist.tempo.xyz`}=e,r=`${n}|${t}`,i=GH.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 GH.set(r,a),a.then(e=>{e.length===0&&GH.delete(r)}),a}async function qH(e){let{symbol:t,...n}=e,r=await KH(n),i=t.toLowerCase();return r.find(e=>e.symbol.toLowerCase()===i)}function JH(e,t){let n=pk(e,t);if(n.error){let e=n.error.issues.at(0);throw e?.code===`invalid_union`&&e.note===`No matching discriminator`?new dS({message:`Unsupported method \"${t?.method}\".`}):new cS(-32602,`Invalid params: ${YH(n.error.issues)}`)}return{...t,_decoded:n.data}}function YH(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?YH([t]):t.message}`)):[`${e.path.join(`.`)}: ${e.message}`]).join(`, `)}z(),Rf();let XH=new Set;function ZH(){return typeof document<`u`&&!!globalThis.crypto?.subtle}function QH(e={}){let{adapter:t=XV(),chains:n=[dO,mO,fO],maxAccounts:r,persistCredentials:i,relay:a,testnet:o,storage:s=typeof window<`u`?DH():OH()}=e,c=e.accessKey?.authorize??e.authorizeAccessKey,l={},u=(()=>{if(!(!a&&!e.transports))return{...a?Object.fromEntries(n.map(e=>[e.id,rx(`${a.replace(/\\/$/,``)}/${e.id}`)])):{},...e.transports}})(),d=(()=>{if(e.feePayer)return typeof e.feePayer==`string`?{precedence:`fee-payer-first`,url:e.feePayer}:{precedence:e.feePayer.precedence??`fee-payer-first`,url:e.feePayer.url}})(),f=IH({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={})=>RV({...e,store:f}),m;function h(e={}){let{chainId:t,feePayer:r}=e;return $V(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??kO);let y=SS();f.subscribe(e=>e.accounts.map(e=>e.address).join(),()=>y.emit(`accountsChanged`,f.getState().accounts.map(e=>e.address))),f.subscribe(e=>e.chainId,e=>y.emit(`chainChanged`,F(e))),f.subscribe(e=>e.accounts.length>0,e=>{e?y.emit(`connect`,{chainId:F(f.getState().chainId)}):y.emit(`disconnect`,new fS)});function b(){if(f.getState().accounts.length===0)throw new fS({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 dS({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 Xb({account:e.account,chain:t.chain,transport:e.transport??Qb({request:t.request})})}function T(e,t){return t.type===`json-rpc`&&e!==void 0?{feePayer:e}:e?{feePayer:!0}:{}}async function 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 $d(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 aH({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 Gb(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 aH({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 mh(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 aH({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:[hk(Nj,a)]});let o=await Db(i,{account:r.account,...a});return hk(Oj,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:mg({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:Cg(t)})}async function E(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 oe(e,Number(n)),i=await w({account:t.account,chainId:Number(n),transport:t.transport}).request({method:`wallet_authorizeAccessKey`,params:[hk(qj.parameters,r.parameters)]});return await ce({account:i.rootAddress,accessKey:r,keyAuthorization:i.keyAuthorization}),i}async function oe(e,t){let n=e.chainId??t??h().chain.id;if(e.privateKey||e.address||e.publicKey){let t=await oV({...e,chainId:n});return{parameters:se(e,t.keyAuthorization),...t.privateKey?{privateKey:t.privateKey}:{}}}if(!v&&!ZH())return{parameters:e};let{key:r,keyAuthorization:i}=await oV({...e,chainId:n,keystores:l});if(!r)throw new oS({message:`Keystore did not produce access-key material.`});return{key:r,parameters:{...se(e,i),publicKey:r.publicKey}}}function se(e,t){let n={...e};return delete n.privateKey,{...n,address:t.address,chainId:t.chainId,keyType:t.type}}async function ce(e){let{accessKey:t,account:n,keyAuthorization:r}=e;if(!n||!r||!t)return;let{key:i,privateKey:a}=t,o=i?{handle:i.handle,publicKey:i.publicKey}:a?{privateKey:a}:void 0;o&&f.accessKeys.add({account:n,authorization:cw(r),...o})}async function le(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 rD(h(),{account:t.account,accessKey:e.accessKeyAddress})}catch(e){if(!yV(e))throw e}f.accessKeys.remove({accessKey:e.accessKeyAddress,account:e.address,chainId:f.getState().chainId})}async function ue(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:[hk(Xj.parameters,e)]});return}let r=e.limits.map(t=>oD.call({accessKey:e.accessKeyAddress,limit:t.limit,token:t.token}));await Db(h({chainId:n}),{account:t.account,calls:r})}async function de(e,t){if(_.signTransaction)return await _.signTransaction(e,t);if(g.getAccount)return await te(e);S(`signTransaction`)}async function fe(e,t){if(_.sendTransaction)return await _.sendTransaction(e,t);if(g.getAccount)return await ne(e);S(`sendTransaction`)}async function pe(e,t){if(_.sendTransactionSync)return await _.sendTransactionSync(e,t);if(g.getAccount)return await re(e);S(`sendTransactionSync`)}async function me(e,t){if(_.signPersonalMessage)return await _.signPersonalMessage(e,t);if(g.getAccount)return await ie(e);S(`signPersonalMessage`)}async function he(e,t){if(_.signTypedData)return await _.signTypedData(e,t);if(g.getAccount)return await ae(e);S(`signTypedData`)}async function ge(e,t){if(_.authorizeAccessKey)return await _.authorizeAccessKey(e,t);if(g.getAccount)return await E(e);S(`authorizeAccessKey`)}async function _e(e,t){if(_.revokeAccessKey)return await _.revokeAccessKey(e,t);if(g.getAccount)return await le(e);S(`revokeAccessKey`)}async function ve(e,t){if(_.updateAccessKey)return await _.updateAccessKey(e,t);if(g.getAccount)return await ue(e);S(`updateAccessKey`)}function ye(e){if(!g.persistAccounts)return e;let t=[...e];for(let e of f.getState().accounts)t.some(t=>pH(t.address,e.address))||t.push(e);return t}function be(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 xe(e){let{reuse:t,...n}=e;return n}function Se(){return typeof c==`function`?c():c}async function Ce(e){let t=Se();if(!t)return;let n=we(e.capabilities);if(!(n&&await cV({account:n,chainId:Number(t.chainId??e.chainId),parameters:t,store:{keystores:l,state:f}})))return xe(t)}function we(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 Te(e){let t=Se();if(!t||await f.accessKeys.select({account:e.address,...e.calls?{calls:e.calls}:{},chainId:Number(t.chainId??e.chainId)})||!lV({parameters:t,calls:e.calls}))return;let n=xe(t);await ge(n,{method:`wallet_authorizeAccessKey`,params:[hk(qj.parameters,n)]})}function Ee(e){let{accounts:t}=f.getState();if(t.length===0)throw new fS({message:`No accounts connected.`});if(!t.some(t=>pH(t.address,e)))throw new uS({message:`Account \"${e}\" not found.`})}async function De(e,t={}){let n=fH(e.account.address);if(!n)return;if(Ee(n),t.accessKey){let r=e.operation.kind===`authorizePaymentChannel`?fH(e.operation.authority):void 0;if(r&&!pH(r,t.accessKey))throw new uS({message:`Access key \"${t.accessKey}\" cannot satisfy channel authority \"${r}\".`});let i={account:n,accessKey:t.accessKey,chainId:e.chainId};if(e.operation.kind===`executeCalls`&&!e.operation.calls){let e=await f.accessKeys.get(i),n=f.accessKeys.list(i)[0];if(e&&n?.scopes)throw new uS({message:`Access key \"${t.accessKey}\" cannot be selected for executeCalls without transaction call details.`});if(e)return e}let a=await f.accessKeys.get({...i,...e.operation.kind===`executeCalls`?{calls:e.operation.calls}:{}});if(!a)throw new uS({message:`Access key \"${t.accessKey}\" cannot sign for account \"${n}\".`});return a}if(e.operation.kind===`executeCalls`)return await f.accessKeys.select({account:n,...e.operation.calls?{calls:e.operation.calls}:{},chainId:e.chainId});let r=fH(e.operation.authority);if(!r)return await f.accessKeys.select({account:n,chainId:e.chainId});if(!(mH(r)||pH(r,n)))return await f.accessKeys.get({account:n,accessKey:r,chainId:e.chainId})}function Oe(e={}){let t=(()=>{if(!e.accessKey)return;let t=fH(e.accessKey);if(!t)throw new aS({message:`Invalid access key address \"${e.accessKey}\".`});return t})();return{getClient({chainId:e}){if(e!==void 0&&!n.some(t=>t.id===e))throw new gS({message:`Chain ${e} not configured.`});let t=ke.getClient({chainId:e}),r=f.getState().accounts[f.getState().activeAccount];if(!r)throw new fS({message:`No active account.`});return Object.assign(Object.create(Object.getPrototypeOf(t)),t,{account:{address:r.address,type:`json-rpc`}})},resolveAccount:e=>De(e,{accessKey:t})}}let ke=Object.assign(CS({...y,async request({method:t,params:r}){return await WH(f),hH(async()=>{let i;try{i=JH(dM,{method:t,params:r})}catch(e){if(!(e instanceof dS))throw e;return await $V(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 F(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:ye(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 Te({address:c,...a?{calls:a}:{},chainId:s}),await fe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:be(e.feePayer)},i)}case`eth_fillTransaction`:{let[e]=i._decoded.params,t={...e},n=be(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??LV(a.accounts.find(e=>pH(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 aH({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 de({...r,chainId:e.chainId??o.chainId,from:e.from??o.accounts[o.activeAccount]?.address,...a?{calls:a}:{},feePayer:be(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 Te({address:c,...a?{calls:a}:{},chainId:s}),await pe({...r,chainId:s,from:c,...a?{calls:a}:{},feePayer:be(e.feePayer)},i)}case`eth_signTypedData_v4`:{b();let[e,t]=i._decoded.params;return await he({address:e,data:t},i)}case`personal_sign`:{b();let[e,t]=i._decoded.params;return await me({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=be(t?.feePayer??(d?!0:void 0)),s=f.getState(),c=r??s.accounts[s.activeAccount]?.address;c&&await Te({address:c,calls:e,chainId:n??s.chainId});let l={calls:e,chainId:n,from:c,...o?{feePayer:o}:{}};if(!a){let e=P(await fe(l,{method:`eth_sendTransaction`,params:[hk(Nj,l)]}),vp(F(f.getState().chainId),32),eU);return{capabilities:{sync:a},id:e}}let u=await pe(l,{method:`eth_sendTransactionSync`,params:[hk(Nj,l)]}),p=u.transactionHash,m=F(f.getState().chainId),h=P(p,vp(m,32),eU);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 tU(e)}case`wallet_getBalances`:{let e=i._decoded.params?.[0],{accounts:t,activeAccount:r}=f.getState(),a=e?.account??t[r]?.address;if(!a)throw new fS({message:`No accounts connected.`});let o=e?.tokens;if(!o||o.length===0)throw new aS({message:\"`tokens` is required.\"});let s=$V(e?.chainId,{chains:n,store:f,transports:u});return await Promise.all(o.map(async e=>{let[t,n]=await Promise.all([AD(s,{account:a,token:e}),jD(s,{token:e})]),r=Number(t.amount)/10**n.decimals,i=new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(r);return{address:e,balance:F(t.amount),decimals:n.decimals,display:i,name:n.name,symbol:n.symbol}}))}case`wallet_getCallsStatus`:{let[e]=i._decoded.params??[];if(!e)throw Error(\"`id` not found\");if(!e.endsWith(eU.slice(2)))throw Error(\"`id` not supported\");fp(e);let t=I(e,0,32),r=F(Number(I(e,32,64))),a=await $V(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=>pH(e.address,t)))throw new uS({message:`Address ${t} is not connected.`})}let a=r?n.filter(e=>r.includes(F(e.id))):n,o={};for(let e of a)o[F(e.id)]={accessKeys:{status:`supported`},atomic:{status:`supported`},...d?{feePayer:{status:`supported`}}:{}};return o}case`wallet_connect`:{let t=i._decoded.params?.[0]?.chainId;t&&f.setState(e=>({...e,chainId:t}));let n=i._decoded.params?.[0]?.capabilities,r=n?.authorizeAccessKey??await Ce({capabilities:n,chainId:t??f.getState().chainId}),a=n?.auth??e.auth,o=a?aU(a):void 0;if(o&&typeof o==`object`&&!o.challenge)throw new aS({message:\"`auth` capability must include either `url` or an explicit `challenge` endpoint.\"});if(o&&n?.personalSign)throw new aS({message:\"`auth` and `personalSign` cannot both be set on `wallet_connect`.\"});let s=t??f.getState().chainId??0,c=r?await oe(r,t):void 0;(o||c)&&(i={...i,params:[{...i.params?.[0],capabilities:{...i.params?.[0]?.capabilities,...o?{auth:o}:{},...c?{authorizeAccessKey:hk(Zj.authorizeAccessKey,c.parameters)}:{}}}]});let l=o&&!g.forwardsAuth?await uU(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??bp(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:ye(d),activeAccount:0,auth:o&&typeof o==`object`?o:void 0});let x=d[0]?.address;await ce({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?dU(l.message):void 0);return await fU(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&&lU(o,{chainId:s,message:w});let T=o&&C&&w&&y&&x?await pU(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=aU(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 ge(e,i);return{keyAuthorization:{...t.keyAuthorization,address:t.keyAuthorization.keyId},rootAddress:t.rootAddress}}case`wallet_revokeAccessKey`:{b();let[e]=i._decoded.params;await _e({...e},i);return}case`wallet_updateAccessKey`:{b();let[e]=i._decoded.params;await ve({...e},i);return}case`wallet_deposit`:if(!_.deposit)throw new dS({message:\"`deposit` not supported by adapter.\"});return await _.deposit(i._decoded.params?.[0]??{},i);case`wallet_transfer`:{b();let e=i._decoded.params?.[0]??{editable:!0};if(e.editable===!0){if(!_.transfer)throw new dS({message:\"`transfer` not supported by adapter.\"});let t={...e,...e.feePayer===void 0?{}:{feePayer:be(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=be(n),d=h({chainId:l,feePayer:typeof u==`string`?u:void 0}),{address:p,decimals:m}=await(async()=>{if(B_(s)){let e=await jD(d,{token:s});return{address:s,decimals:e.decimals}}let e=await qH({chainId:d.chain.id,symbol:s});if(!e)throw new cS(-32602,`Unknown token symbol \"${s}\".`);return{address:e.address,decimals:e.decimals}})(),g=Ny(t,m),v=c.accounts[c.activeAccount]?.address,y=r&&v&&r.toLowerCase()!==v.toLowerCase()?r:void 0,x={calls:[WD.call({amount:g,...y?{from:y}:{},memo:a?gp(a):void 0,to:o,token:p})],chainId:l,from:v,...u===void 0?{}:{feePayer:u}},S=await pe(x,{method:`eth_sendTransactionSync`,params:[hk(Nj,x)]});return{chainId:F(l),receipt:S}}case`wallet_swap`:if(b(),!_.swap)throw new dS({message:\"`swap` not supported by adapter.\"});return await _.swap(i._decoded.params?.[0]??{},i);case`wallet_depositZone`:{if(b(),!_.depositZone)throw new dS({message:\"`depositZone` not supported by adapter.\"});let e=i._decoded.params?.[0]??{},t={...e,...e.feePayer===void 0?{}:{feePayer:be(e.feePayer)}};return await _.depositZone(t,i)}case`wallet_withdrawZone`:if(b(),!_.withdrawZone)throw new dS({message:\"`withdrawZone` not supported by adapter.\"});return await _.withdrawZone(i._decoded.params?.[0]??{},i);case`wallet_switchEthereumChain`:{let{chainId:e}=i._decoded.params[0];if(!n.some(t=>t.id===e))throw new gS({message:`Chain ${e} not configured.`});await _.switchChain?.({chainId:e}),f.setState({chainId:e});return}}})()},{enabled:[`eth_accounts`,`eth_chainId`,`eth_requestAccounts`,`wallet_connect`,`wallet_getBalances`,`wallet_getCapabilities`].includes(t),id:If({method:t,params:r})})}},{schema:lM}),{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:ke.getClient({chainId:r})})},getClient(e={}){let{chainId:t,feePayer:r}=e;return $V(t,{chains:n,feePayer:r,provider:m,store:f,transports:u})},getMppxParameters:Oe,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,``)}`;XH.has(e)||(XH.add(e),fM({info:{icon:t.icon??$H,name:t.name??`Injected Wallet`,rdns:e,uuid:crypto.randomUUID()},provider:ke}))}let Ae=(()=>{if(e.mpp!==!1)return typeof e.mpp==`object`?e.mpp:{}})();if(Ae){let{mode:e=`push`,polyfill:t,...n}=Ae,r=t??nU(),i=ke.getMppxParameters(),a={...n,...i,mode:e};FB({methods:[AB(a),AB.subscription(i)],polyfill:r})}return m=ke,ke}let $H=`data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"1\"><rect width=\"1\" height=\"1\"/></svg>`,eU=y_(gp(`TEMPO_5792`));function tU(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 nU(){try{let e=globalThis.fetch;return globalThis.fetch=e,!0}catch{return!1}}function rU(){return typeof document<`u`&&typeof document.cookie==`string`}function iU(e,t){let n=(()=>{if(typeof e==`string`){let n=e.endsWith(`/`)?e.slice(0,-1):e;return t===`verify`?n:`${n}/${t}`}let n=e[t];if(n)return n;if(e.url){let n=e.url.endsWith(`/`)?e.url.slice(0,-1):e.url;return t===`verify`?n:`${n}/${t}`}throw new aS({message:`\\`auth\\` capability must include either \\`url\\` or an explicit \\`${t}\\` endpoint.`})})();return n.startsWith(`http://`)||n.startsWith(`https://`)?n:typeof window<`u`?new URL(n,window.location.origin).href:n}function aU(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:iU(e,`challenge`)}:{},...r?{verify:iU(e,`verify`)}:{},...i?{logout:iU(e,`logout`)}:{},...typeof e==`object`&&e.resources!==void 0?{resources:e.resources}:{},...typeof e==`object`&&e.returnToken?{returnToken:!0}:{}};return oU(a),a}function oU(e){if(typeof e!=`object`)return;let t=[e.challenge,e.verify,e.logout].filter(e=>typeof e==`string`).map(e=>{try{return new URL(e).origin}catch{throw new aS({message:`\\`auth\\` endpoint is not a valid URL: ${e}`})}}),n=t[0];if(t.some(e=>e!==n))throw new aS({message:\"`auth` endpoints (`challenge`, `verify`, `logout`) must share the same origin.\"})}let sU=' 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 cU(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function lU(e,t){let{chainId:n,message:r}=t,i=t.url??(typeof e==`object`?e.challenge:iU(e,`challenge`)),a=typeof e==`object`?e.resources:void 0,o=lb(r),s=new URL(i);if(o.version!==`1`)throw new aS({message:`Server Authentication challenge endpoint \\`${i}\\` returned a non-SIWE-v1 message.`});if(!o.nonce)throw new aS({message:`Server Authentication challenge endpoint \\`${i}\\` response is missing a \\`nonce\\`.`});if(o.domain!==s.host)throw new aS({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message bound to \\`${o.domain}\\` (expected \\`${s.host}\\`).${sU}`});if(o.uri!==s.origin)throw new aS({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message with \\`uri\\` \\`${o.uri}\\` (expected \\`${s.origin}\\`).${sU}`});if(o.chainId!==n)throw new aS({message:`Server Authentication challenge endpoint \\`${i}\\` returned a message bound to chainId \\`${o.chainId}\\` (expected \\`${n}\\`).`});if(a!==void 0&&!cU(o.resources??[],a))throw new aS({message:`Server Authentication challenge endpoint \\`${i}\\` did not echo the requested SIWE resources.`})}async function uU(e,t){let n=typeof e==`object`?e.challenge:iU(e,`challenge`),r=typeof e==`object`?e.resources:void 0,i=await fetch(n,{method:`POST`,headers:{\"content-type\":`application/json`},body:JSON.stringify({chainId:t,...r===void 0?{}:{resources:r}})});if(!i.ok)throw new aS({message:`Server Authentication challenge endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));if(!a.message)throw new aS({message:`Server Authentication challenge endpoint \\`${n}\\` response missing \\`message\\`.`});return lU(e,{chainId:t,message:a.message,url:n}),{message:a.message}}function dU(e){return e.match(/^Nonce: (.+)$/m)?.[1]}async function fU(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 pU(e,t){let n=typeof e==`object`?e.verify:iU(e,`verify`),r=typeof e==`object`&&e.returnToken===!0||!rU(),i=await fetch(n,{method:`POST`,credentials:`include`,headers:{\"content-type\":`application/json`},body:JSON.stringify({...t,...r?{returnToken:!0}:{}})});if(!i.ok)throw new oS({message:`Server Authentication verify endpoint \\`${n}\\` returned ${i.status}.`});let a=await i.json().catch(()=>({}));return!a||typeof a!=`object`||Array.isArray(a)?{}:a}let mU={data:`__MPPX_DATA__`,error:`root_error`,root:`root`},hU={serviceWorker:`__mppx_worker`,tab:`__mppx_tab`},gU={challengeId:`data-mppx-challenge-id`,remaining:`data-remaining`};var _U=class{name;constructor(e){this.name=`--mppx-${e}`}toString(){return`var(${this.name})`}};let vU={accent:new _U(`accent`),background:new _U(`background`),border:new _U(`border`),foreground:new _U(`foreground`),muted:new _U(`muted`),negative:new _U(`negative`),positive:new _U(`positive`),surface:new _U(`surface`),fontFamily:new _U(`font-family`),fontSizeBase:new _U(`font-size-base`),radius:new _U(`radius`),spacingUnit:new _U(`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: ${vU.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 yU(e,t=`Authorization`){let n=new URL(location.href);n.searchParams.set(hU.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()}Rf();function bU(e){let t=document.getElementById(mU.data),n=Ff(t.textContent),r=t.getAttribute(gU.remaining);!r||Number(r)<=1?t.remove():t.setAttribute(gU.remaining,String(Number(r)-1));let i=document.currentScript,a=i?.getAttribute(gU.challengeId),o=a?(i.removeAttribute(gU.challengeId),n[a]):Object.values(n).find(t=>t.challenge.method===e);return{...o,error(e){if(!e){document.getElementById(mU.error)?.remove();return}let t=document.getElementById(mU.error);if(t){t.textContent=e;return}let n=document.createElement(`p`);n.id=mU.error,n.className=`mppx-error`,n.role=`alert`,n.textContent=e,document.getElementById(o.rootId)?.after(n)},root:document.getElementById(o.rootId),submit:e=>yU(e,o.challenge.header),vars:vU}}let xU=bU(`tempo`),SU=String.raw,CU=document.createElement(`style`);CU.textContent=SU`\n form {\n display: flex;\n flex-direction: column;\n gap: calc(${xU.vars.spacingUnit} * 8);\n }\n button {\n background: ${xU.vars.accent};\n border-radius: ${xU.vars.radius};\n color: ${xU.vars.background};\n cursor: pointer;\n font-weight: 500;\n padding: calc(${xU.vars.spacingUnit} * 4) calc(${xU.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`,xU.root.append(CU);let wU=QH({testnet:xU.challenge.request.methodDetails?.chainId===mO.id||xU.challenge.request.methodDetails?.chainId===pO.id}),TU=document.createElement(`button`);TU.innerHTML=`${xU.text.pay===`Pay`?`Continue with`:xU.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>`,TU.onclick=async()=>{try{xU.error(),TU.disabled=!0;let e=await(async()=>{let e=await wU.request({method:`eth_accounts`});return e.length>0?e.at(0):(await wU.request({method:`wallet_connect`})).accounts[0]?.address})(),t=await AB({account:e,getClient:e=>{let t=e.chainId??xU.challenge.request.methodDetails?.chainId;return kh({chain:[...wU?.chains??[],mO,pO].find(e=>e.id===t),transport:Qb(wU)})}})[0].createCredential({challenge:xU.challenge,context:{}});await xU.submit(t)}catch(e){let t=e instanceof Error&&`shortMessage`in e?e.shortMessage:void 0;xU.error(t??(e instanceof Error?e.message:`Payment failed`))}finally{TU.disabled=!1}},xU.root.appendChild(TU)})();</script>";
3
3
  //# sourceMappingURL=html.gen.js.map